diff --git a/assets/9-tiles.workspace-2f8a5fa8.meta b/assets/9-tiles.workspace-0e244211.meta similarity index 99% rename from assets/9-tiles.workspace-2f8a5fa8.meta rename to assets/9-tiles.workspace-0e244211.meta index aa1f8c59..93295f8e 100644 --- a/assets/9-tiles.workspace-2f8a5fa8.meta +++ b/assets/9-tiles.workspace-0e244211.meta @@ -1 +1 @@ -{"id":"rUYmGfAx-i9gvMViHO4LB","name":"9 Tiles","description":"This example uses A* to drive the decisions of an AI that plays the 9 tiles game.","author":"github:path-visualiser","screenshots":["data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAEAAQAMBEQACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AP45vgN8A/jD+0/8V/C3wO+AfgLWfid8WfGw1w+FfA/h82S6vrQ8NeHNX8Xa6bQ6jd2NmP7N8N6DrGrT+ddRf6NYTCPfLsjfvbSV27I5z9Gv+HCP/BYL/ow34x/9/vBX/wA1lT7SH8yHZ9n9zKOpf8EJP+CumkWj3+pfsLfF+0s45LaJ55ZfBmxZLu5hs7ZDs8VM2Zrm4hhXAxukXOBkg9pD+ZBZ9n9xe/4cI/8ABYL/AKMN+Mf/AH+8Ff8AzWUe0h/Mgs+z+5jJP+CCv/BX+KN5ZP2D/jEscaNI7GbwXhUQFmY/8VX0Cgk0e0h/Mgs+z+5lfT/+CEH/AAV31SwstT0/9hX4wXVhqNpbX9jcxzeDPLubO8hS4tp493ipW2TQyJIu5Q21hkA8Ue0h/Mgs+z+5lv8A4cI/8Fgv+jDfjH/3+8Ff/NZR7SH8yCz7P7mflz8Rvh740+EnxA8bfCz4j+H73wl8Qfhx4s8QeBvHHhbUjAdR8OeLfCuq3WieIdDvjazXFsbzStVsrqyuTbzzQ+dA/lyyJhja11WzEftb/wAGzX/Kbb9i7/rn+0d/6yd8dayrfB80VD4l8/yZ/o/f8FJfjL+078DfgzoHjf8AZ2T4caNpdr8RvhVYfFXx540uLzVfEugeGPFPxt+E3gCPw58OvAX/AAj99oGv694zs/GeuwX3ijxRr+mad4F0zR5bmx0HxRrWsac2h80Um7O/lb0e7/r/AD0k2lp959l/Fn/kRdR/7CvhP/1L9CqRvb5r80eRftSW3xUfw74e1Twj+0L4e/Zb+FPha48S+Lv2gvjLcaf4Gv8Axx4f8AeH/C2pXdhB4Hn+LPhHxv8ACLw7DJr5tNR8Z+KvHvhrWYNK8LaVeWmj6eNS1RdW0hq3a70std7+TT8tAd+9vM5T9iD4l/Fn4v8A7JvhX4hfGUXd34l12++Ky+GvFGp+ET8Pdb+I/wAI9K+JHjTR/gf8WfEPgDyrdPBHiH4rfB+w8E/ELWvDUFtYW2nX/iOdbbSNAgePQdMJJJ6eXydldfJ3QJ3SZ2XirSfi1rn7Nng/S/gv47034Y+MLrw18MPtvj278JDx3qvhnwVAugXPj698F+EZ7DVdL1z4hzeD4dYsfAdvr+j654et/FN1pl/rXh/xFYWk2haiK19Vddr29Ne19wd7aafieG/8E5fj/wCOfjv4D+Otv498WeKfGVz8If2j/GXwr8I658U/h7p3wc+P2pfD7TvCHgHxL4f1T49/BnT/AAx4CHw28c6hqPifxA2g2M/w5+Hcnin4ZQ+AvH3/AAhujnxW0TOStbzV9HdbtaPW+333XQUXe++/XRn+U9/wVf8A+UoP/BRP/s9z9qL/ANXT40rsh8Ef8MfyRk936v8AM+zv+DbHWdH8P/8ABaX9jbV9e1XTdE0m0j/aJ+1anq99a6bp9t5/7KvxwtoPtF7eyw20PnXM0NvF5kq+ZPLHEmZHVTFb4H6ocPiXz/Jn+nZ+0VYfAP8AaP8AhLrXwi8TfG3wdoGj634h+HXiKfVNC8b+DG1OG5+HHxJ8I/EvTIIhqF5dWvkX+qeELPT77fC0gsLq5Nu0VwIpU5U7O5q1dWOr+Knxf+E03gi/jh+KPw6lkbVfChWOPxt4adyF8W6GzEKupliFVWZsDhQSeAaQPb5r80fNH7Z/wd+Fv7YNp8ItNf8AbF0v4U6L8KPH3/CyZvDGg3fwQ8deD/iJ4o020ji8Fy/ETwj8TNM8U+HvE+neAdTNx4o8M6NqWn3Gk2/jBdG8Uz2U2t+F/Dl7ptRdr6Xurea9Aav1t+J9EfD3xx4X8FfDdPDnxA/an8J/GfxVaQa2998QPEWp/CTwjq+rx3dxeXNlbT6D8Prbw54WtV0u0lh0yB7DSLeW5htUuL157ySaZ0/JW8gV+rueb+KZfhb8ZP2fPh94PsP2nR8HPEulab8KvGHhnx/8M/ib4O0vxN4d8UeCxomu6Yt9pmtSav4Z8WeGdQns20jxd4H8YaHrHhzxNoF7qGmX1jHO9rfWYnZ7J+T/AKTDfr80Sfs7eEvgr8CLn4r+K9Y/aV0L4ufFj46+NdN8efFj4m+L/Ffwx0W813UvD/g7w98PvCmiaJ4Y8GQ6B4Z8L+E/CXg7wvpOkaLpVlYXF/NN/aOsa9rOt61qt7qEo3e3RLZfO/3gla/mf5Mv/BVS8tNQ/wCCmv8AwUI1Cwura+sL/wDbT/abvbG+s54rqzvbO6+MnjGe1u7S5gZ4bi2uYJEmgnhd4pYnWSNmVgT2w+CP+GP5Ixe79X+Z90f8GzX/ACm2/Yu/65/tHf8ArJ3x1qK3wfNDh8S+f5M/0Pv26v27fFf7Ofxv+E/wV8EeKvgZ4GPib4M/Fr42fEPxx8cPCnxb8baR4Z8PeB/GHws8H+F7a00P4PXMGs6dY60/i/xzrXiLxl4haDwp4X0vwKx1O9tDqUUg54xum9d0la3W/f0X3mjlZpXS73Tfpsfb2ta1P4k+BfhvxFc634T8TXOvaP8AC/WrjxJ4CuJLrwN4gn1TVvCt9Lrfgy6lvdSlufCeqyTtf+HbiTUb+SbR57OR726ZjPJD/q4PZbbx9N1+B86fty/tkt+zDe/A7wHoeu/Cnwl43+PHiPxjaab42+Nd1rreAPBXhP4d+HYNb8Va6/hXwndaf4v+JXiu/wBW1nwb4O8I/Dvwzquh6hrGpeK21ibWrXT/AA9eW19UY3u9dLbd3t6eoN2t59Xtp/Wh7d+zV8Wtf+Of7OXhD4p+Jm+Glxq/ijSfE5l1X4OeNYviD8L/ABJaaPr+vaBpfi3wT4kVY7r+xfFumaXZ+JI/D+soviLwbcapceDvEjS67oOoTSJ6Pr89xrVdPlseTftG/tDa7+y1+xRpHxn8P6L4e1S80PSfgN4evNX8a3upad8PPh5ofxA8W+AvAPiH4u/Ey90W3utZt/hr8ItE8S3/AMRvHT6XFHc/8I14b1FZNR0OzN1r2mOK5nb1/BN29XsDdlct/sIftR63+1X8PPib4m1a7+GPi6y+HHxs8UfCXw38aPgbqGpal8Dvj5onh/wz4L8QP8SvhVcarqOuXSaHYa34r1n4ZeILaDxP4w0q28ffDvxfDo/izWtOSCWMkrPrtez3Xk/z9GKLvfydtNn6H+Td/wAFYP8AlKD/AMFE/wDs9z9qL/1dPjOuyHwR/wAMfyRk936v8z7g/wCDZr/lNt+xd/1z/aO/9ZO+OtRW+D5ocPiXz/Jn+mv8efAv7XOpeNrPxT+zn8Uvg7pfh7VPhzq/gLxJ8O/jb8Pb/X9C0fxFd6r/AGho3xc8M6/4NudH8W6tqWm2c93o3iH4X+ItWTwf4rsoNFuNN1nwRqlprF/4g5Va2qfk0/wfS3nv69NXfpb5j/AHwN0P9mT9j34Pfs6+GtX1LxBoHwN+HnwV+FOk69rCQxarrll4EuPCHhuHWL+C2P2W1utTGn/bZbKzC2Vk05tLNEtYYkUbu2+7b+8WyS7OP5oyf2oP2dfHPxL+In7OXx++DmteAtL+NX7MviH4i3XhXTvilo+san4D8WeEfi74Ik8D+P8AwzqF/wCG7iHxH4Q1iSK38P65oPi/SLbWmsrjQbjRNQ8P6lpXiG9ktGnZNO9nbby2G1ezW6v6anQ/ss/ALVv2cvgbq3gnxN4n0vxd408V/EL46fGvx/rHh3RLjwz4QHjz49fFLxr8YfF2leCfDl3qWr3ejeDtB1vxnd6L4egv9TvtUvNPsI9W1q5m1nUdQkZN3fyS+5JfoCVl+pwfx1/Z5139o/8AZo+Cfh7wn4j8O+HvGPw48Vfs8/HLwfH440C68VfDnxJ4k+EWoaD4s03wp8RfDlhqOlX+o+Ftae1eIXen30eo+Gdfi0Lxjp9vqN74dg0y9E7P1TXnqraf1qtAavt0d/uOj/ZS/Z88efCHX/2ivif8Utd8C3XxF/aX+KmjfE3xP4U+E+kavo3ww8Ft4b+Gngr4X6ZaaKdfuJdb8UeJta0zwVba5428danZ6FceIdTu7ayi0DT7HQrN7lt3sleyVlff/huwJWvfd9tv67n+Sn/wVf8A+UoP/BRP/s9z9qL/ANXT40rsh8Ef8MfyRi936v8AM+zv+DbHRtH8Qf8ABaX9jbSNe0rTdb0q7j/aJ+1aZq9ja6lp9z5H7KvxwuYPtFleRTW03k3EMNxF5kbeXNFHKmHRWEVXaGndDj8S+f5H+kv+3N8bv2Xv2EfgD4l+OXj34J+FvGVxp0V5D4T+HHhDwL4Tl8X+O9W07SNS8S6vaaSk+lmCz0zwz4Q0PxF438Ya9dg2Xh3wf4b1vVpkuZre2sbznjzSaXM16s0fKley+5HeftafCr4X6b+zf8YNQ074b+ArC/svB93c2d9ZeD/D1rd2lxDcWrxXFtcwadHNBPE4DxyxOkiMAysCAa+k4Kp08RxjwlQr04V6FfibIaNajWjGpSrUqmaYWFSlVpzUoVKdSEnCcJpxnFuMk02jx+I5SpcP55VpSlTq08nzKdOpTbhOnOGDrSjOE42lGcZJOMotNNJppn4XfZLX/n2t/wDvzH/8TX+l3+p3CP8A0S3Dn/hkyz/5lP4//t/Pf+h1m3/hxxn/AMuKt9aWv2K8/wBGt/8Aj1uP+WMf/PJ/9moqcH8Jezn/AMYtw58Ev+ZJlnZ/9QpUM+z3mj/wtZt8S/5mOM7r/p8fu9qHgvSvB/wG8Ca/8Mv2VvAfxr8X/wDCMeBoV8F26/DPwHcXVpdaJZ/b9UbxH4v09NJX7CAsr20j/absyYhywav8r031k195/azS6RT+5HAfsa/EXwJ+1h4T+I/i7Vv2QPCfwg0zwH8VvFnwm0u+1Ffhb480P4g6r4BuRofjjWvBev8AhPT2sdT8O+GvGtvrfgS41ZQbK/8AEvhnxBDpdxe2dit3M5XVvebuk+vXb8NQVne8Uvu/yP8AKQ/4KpWVnpv/AAU1/wCChOnadaWthp9j+2p+05aWVjZQRWtnZ2lv8ZfGUNva2ttAkcNvbwRIkUMMKJHFGqoiqqgDrh8Mf8K/JGT3fqz7q/4Nmv8AlNt+xd/1z/aO/wDWTvjrUVvg+aHD4l8/yZ/oFf8ABTj/AIJ/fG/9qfwv8dPGnwY+OusaX438SfsneNf2fPA/wZ1Xwf8ADfU/B9yPFl3f6z4rj0jxj4ttf7S8B6j8VLyDwbpPjXxDY3UVy+l+AvCcMVzbQafLHNzwkotXW0r36/1v95pKN/Xov66/cfaX7SWl67on7HPxG0fxR4nm8a+JNL+F0en694wuNJ0zQZ/FGr2kNjBqGvzaJo0cOkaRLq10kt6+naZFHYWbTG3tUWGNAPp+Bf8Akt+Dv+yq4e/9W+DPF4m/5JvP/wDsS5p/6hVz8G6/1OP4rKt9/wAeV5/163H/AKKeoqfw6n+CX/pLKh8cf8UfzR+/fxIh+L9z+xV40tP2fLe2ufjve/sza1Y/BmO91Oz0WyX4pX3wyntPAVxeatfyRWen2lp4om0y7ubq4kSOKCF2LDg1/kWrXV9r6+h/dr2dt7aHp3wF+D3hb9nz4J/Cf4G+Cbdbfwr8Jfh94T+H+i4XE11aeF9Fs9JOpXshJkudT1aa2l1TVr64eS61DU7y7vruaa6uJpXG7tt9QSsrH+PR/wAFX/8AlKD/AMFE/wDs9z9qL/1dPjSu2HwR/wAMfyRi936v8z5i+AP7QPxj/Za+LXhT47fADx5qvwz+Lfgca6PCnjfRINNuNT0UeJvDWseD9dFtDq9jqWnP/aXhrX9Y0mb7RZTbbe/leLy51ilRtJqzV0I/SX/h/wD/APBYr/o+34qf+CT4b/8AzEVPs4fyod33f3sw/Ev/AAXa/wCCtnjHQdU8L+KP22viZrXh/W7V7HVtKu9F+Hgtr60kKs8Exg8GRShGKqT5ciNxwwrpwdetl+LwuPwc3QxeCxNDF4WvBJyo4nDVY1qFWKkpRcqdWEZpSi43SumtDHEUaeKoVsNiI+1oYilUoVqcm+WpSqwdOpB2adpQk4uzTs9GmeJf8PTf+CgP/Rzfjf8A8F3hD/5m6/RP+Iw+JX/RW5h/4KwP/wAynyn+oHB//Qiwv/gzE/8Ay8a//BUr9v8AkRkf9pnxuyOrIynTvCOCrAhgf+Kb6EEik/GDxKaafFuYNNWf7rBbP/uVBcA8HpprIsLdO69/E9P+457/AKf/AMF8P+Cv2lWFjpen/tzfFK1sNNs7awsbZNF+HJS3s7OFLe2gQv4JZykMMaRqXZmIUbmJya/M/Zw/lR9jd9397Ln/AA//AP8AgsV/0fb8VP8AwSfDf/5iKPZw/lQXfd/ez8rfiV8R/Gvxh+Ifjj4r/EnX7rxX8Q/iV4s8QeOvHPie9itIL3xF4t8Vapda34h1y8isLe0so7vVdWvbu+uVtbW3txNO/kwxR7UWkkkktlsI/wD/2Q=="],"size":260080,"lastModified":1707968779995} \ No newline at end of file +{"id":"rUYmGfAx-i9gvMViHO4LB","name":"9 Tiles","description":"This example uses A* to drive the decisions of an AI that plays the 9 tiles game.","author":"github:ShortestPathLab","screenshots":["data:image/jpeg;base64,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"],"size":260080,"lastModified":1707968779995} \ No newline at end of file diff --git a/assets/9-tiles.workspace-59d4551f.js b/assets/9-tiles.workspace-59d4551f.js new file mode 100644 index 00000000..9e545829 --- /dev/null +++ b/assets/9-tiles.workspace-59d4551f.js @@ -0,0 +1 @@ +const e=""+new URL("9-tiles.workspace-0e244211.meta",import.meta.url).href;export{e as default}; diff --git a/assets/9-tiles.workspace-621e8328.js b/assets/9-tiles.workspace-621e8328.js deleted file mode 100644 index 26709026..00000000 --- a/assets/9-tiles.workspace-621e8328.js +++ /dev/null @@ -1 +0,0 @@ -const e=""+new URL("9-tiles.workspace-2f8a5fa8.meta",import.meta.url).href;export{e as default}; diff --git a/assets/a-star-grid-search-heat-map.workspace-3224cf75.js b/assets/a-star-grid-search-heat-map.workspace-3224cf75.js new file mode 100644 index 00000000..65f76ab8 --- /dev/null +++ b/assets/a-star-grid-search-heat-map.workspace-3224cf75.js @@ -0,0 +1 @@ +const a=""+new URL("a-star-grid-search-heat-map.workspace-bba3dbdf.meta",import.meta.url).href;export{a as default}; diff --git a/assets/a-star-grid-search-heat-map.workspace-e8e55d89.meta b/assets/a-star-grid-search-heat-map.workspace-bba3dbdf.meta similarity index 99% rename from assets/a-star-grid-search-heat-map.workspace-e8e55d89.meta rename to assets/a-star-grid-search-heat-map.workspace-bba3dbdf.meta index 1ca1a32e..d02221c7 100644 --- a/assets/a-star-grid-search-heat-map.workspace-e8e55d89.meta +++ b/assets/a-star-grid-search-heat-map.workspace-bba3dbdf.meta @@ -1 +1 @@ -{"id":"JJhIU3mikrE3M-ObJbAC7","name":"A* Grid Search - Heat Map","description":"This example demonstrates one way you could create a heat map for your search.","author":"github:path-visualiser","screenshots":["data:image/jpeg;base64,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"],"size":296738,"lastModified":1714557059850} \ No newline at end of file +{"id":"JJhIU3mikrE3M-ObJbAC7","name":"A* Grid Search - Heat Map","description":"This example demonstrates one way you could create a heat map for your search.","author":"github:ShortestPathLab","screenshots":["data:image/jpeg;base64,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"],"size":296738,"lastModified":1714557059850} \ No newline at end of file diff --git a/assets/a-star-grid-search-heat-map.workspace-ec8039bd.js b/assets/a-star-grid-search-heat-map.workspace-ec8039bd.js deleted file mode 100644 index 67cc64dd..00000000 --- a/assets/a-star-grid-search-heat-map.workspace-ec8039bd.js +++ /dev/null @@ -1 +0,0 @@ -const a=""+new URL("a-star-grid-search-heat-map.workspace-e8e55d89.meta",import.meta.url).href;export{a as default}; diff --git a/assets/a-star-grid-search.workspace-8079d31e.js b/assets/a-star-grid-search.workspace-8079d31e.js deleted file mode 100644 index b2397695..00000000 --- a/assets/a-star-grid-search.workspace-8079d31e.js +++ /dev/null @@ -1 +0,0 @@ -const a=""+new URL("a-star-grid-search.workspace-e3f64c40.meta",import.meta.url).href;export{a as default}; diff --git a/assets/a-star-grid-search.workspace-e3f64c40.meta b/assets/a-star-grid-search.workspace-8a911244.meta similarity index 99% rename from assets/a-star-grid-search.workspace-e3f64c40.meta rename to assets/a-star-grid-search.workspace-8a911244.meta index 2de446ec..e10ca934 100644 --- a/assets/a-star-grid-search.workspace-e3f64c40.meta +++ b/assets/a-star-grid-search.workspace-8a911244.meta @@ -1 +1 @@ -{"id":"tMUNbPbofD_pDyNMqGg98","name":"A* Grid Search","description":"This example features A* on a small grid maze.","author":"github:path-visualiser","screenshots":["data:image/jpeg;base64,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"],"size":213020,"lastModified":1708267643889} \ No newline at end of file +{"id":"tMUNbPbofD_pDyNMqGg98","name":"A* Grid Search","description":"This example features A* on a small grid maze.","author":"github:ShortestPathLab","screenshots":["data:image/jpeg;base64,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"],"size":213020,"lastModified":1708267643889} \ No newline at end of file diff --git a/assets/a-star-grid-search.workspace-f767f34b.js b/assets/a-star-grid-search.workspace-f767f34b.js new file mode 100644 index 00000000..57353a90 --- /dev/null +++ b/assets/a-star-grid-search.workspace-f767f34b.js @@ -0,0 +1 @@ +const a=""+new URL("a-star-grid-search.workspace-8a911244.meta",import.meta.url).href;export{a as default}; diff --git a/assets/index-e6a23fb5.js b/assets/index-91b98186.js similarity index 96% rename from assets/index-e6a23fb5.js rename to assets/index-91b98186.js index d6693c83..65e09fa6 100644 --- a/assets/index-e6a23fb5.js +++ b/assets/index-91b98186.js @@ -405,12 +405,13 @@ PERFORMANCE OF THIS SOFTWARE. * * Copyright © 2012-2016 Faisal Salman * Dual licensed under GPLv2 or MIT -*/(function(Ut,Gt){var Wt="0.7.18",qt="",Yt="?",Xt="function",Zt="undefined",Qt="object",en="string",tn="major",nn="model",rn="name",an="type",sn="vendor",ln="version",un="architecture",pn="console",mn="mobile",dn="tablet",hn="smarttv",vn="wearable",En="embedded",_n={extend:function(Sn,kn){var zn={};for(var In in Sn)kn[In]&&kn[In].length%2===0?zn[In]=kn[In].concat(Sn[In]):zn[In]=Sn[In];return zn},has:function(Sn,kn){return typeof Sn=="string"?kn.toLowerCase().indexOf(Sn.toLowerCase())!==-1:!1},lowerize:function(Sn){return Sn.toLowerCase()},major:function(Sn){return typeof Sn===en?Sn.replace(/[^\d\.]/g,"").split(".")[0]:Gt},trim:function(Sn){return Sn.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},Cn={rgx:function(Sn,kn){for(var zn=0,In,Rn,Kn,Jn,ar,$n;zn0?Jn.length==2?typeof Jn[1]==Xt?this[Jn[0]]=Jn[1].call(this,$n):this[Jn[0]]=Jn[1]:Jn.length==3?typeof Jn[1]===Xt&&!(Jn[1].exec&&Jn[1].test)?this[Jn[0]]=$n?Jn[1].call(this,$n,Jn[2]):Gt:this[Jn[0]]=$n?$n.replace(Jn[1],Jn[2]):Gt:Jn.length==4&&(this[Jn[0]]=$n?Jn[3].call(this,$n.replace(Jn[1],Jn[2])):Gt):this[Jn]=$n||Gt;zn+=2}},str:function(Sn,kn){for(var zn in kn)if(typeof kn[zn]===Qt&&kn[zn].length>0){for(var In=0;In1&&!window.MSStream)};Pt.exports={checkType:qt,broPayload:Yt,mobilePayload:Xt,stvPayload:Zt,consolePayload:Qt,wearPayload:en,getNavigatorInstance:tn,isIOS13Check:nn}}])})(dist$6);var distExports$1=dist$6.exports;function ViewControls({onSplitHorizontal:_e,onClose:Pt,onSplitVertical:Dt,closeDisabled:Nt,splitHorizontalDisabled:jt,splitVerticalDisabled:Ut,onPopOut:Gt,onMaximise:Wt,popOutDisabled:qt}){return jsxRuntimeExports.jsx(PopupState,{variant:"popover",children:Yt=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Stack$1,{sx:{m:1},children:jsxRuntimeExports.jsx(Tooltip$1,{title:"Panel Options",children:jsxRuntimeExports.jsx(IconButton$1,{size:"small",...bindTrigger(Yt),children:jsxRuntimeExports.jsx(MoreVertOutlined,{fontSize:"small",sx:{color:"text.secondary"}})})})}),jsxRuntimeExports.jsxs(Menu$1,{TransitionProps:{mountOnEnter:!0,unmountOnExit:!0},...bindMenu(Yt),transformOrigin:{horizontal:"right",vertical:"top"},anchorOrigin:{horizontal:"right",vertical:"top"},children:[jsxRuntimeExports.jsxs(MenuItem$1,{onClick:()=>{Dt==null||Dt(),Yt.close()},disabled:Ut,children:[jsxRuntimeExports.jsx(ListItemIcon$1,{children:jsxRuntimeExports.jsx(SplitIcon,{fontSize:"small"})}),jsxRuntimeExports.jsx(ListItemText$1,{children:"Split vertical"})]}),jsxRuntimeExports.jsxs(MenuItem$1,{onClick:()=>{_e==null||_e(),Yt.close()},disabled:jt,children:[jsxRuntimeExports.jsx(ListItemIcon$1,{children:jsxRuntimeExports.jsx(SplitIcon,{fontSize:"small",sx:{transform:"rotate(90deg)"}})}),jsxRuntimeExports.jsx(ListItemText$1,{children:"Split horizontal"})]}),jsxRuntimeExports.jsx(Divider$1,{}),!qt&&jsxRuntimeExports.jsxs(Box$1,{children:[jsxRuntimeExports.jsxs(MenuItem$1,{disabled:Nt||qt||distExports$1.isMobile,onClick:()=>{Gt==null||Gt(),Pt==null||Pt(),Yt.close()},children:[jsxRuntimeExports.jsx(ListItemIcon$1,{children:jsxRuntimeExports.jsx(OpenInNewOutlined,{fontSize:"small"})}),jsxRuntimeExports.jsx(ListItemText$1,{children:"Move to new window"})]}),jsxRuntimeExports.jsxs(MenuItem$1,{disabled:qt||distExports$1.isMobile,onClick:()=>{Gt==null||Gt(),Yt.close()},children:[jsxRuntimeExports.jsx(ListItemIcon$1,{}),jsxRuntimeExports.jsx(ListItemText$1,{children:"Duplicate to new window"})]}),jsxRuntimeExports.jsx(Divider$1,{})]}),jsxRuntimeExports.jsxs(MenuItem$1,{onClick:()=>{Wt==null||Wt(),Yt.close()},children:[jsxRuntimeExports.jsx(ListItemIcon$1,{children:jsxRuntimeExports.jsx(FullscreenOutlined,{})}),jsxRuntimeExports.jsx(ListItemText$1,{children:"Maximise"})]}),jsxRuntimeExports.jsx(Divider$1,{}),jsxRuntimeExports.jsxs(MenuItem$1,{onClick:()=>{Pt==null||Pt(),Yt.close()},disabled:Nt,children:[jsxRuntimeExports.jsx(ListItemIcon$1,{children:jsxRuntimeExports.jsx(CloseOutlined,{fontSize:"small"})}),jsxRuntimeExports.jsx(ListItemText$1,{children:"Close"})]})]})]})})}function findInTree(_e,Pt){const Dt=Nt=>{var jt;return"children"in Nt&&((jt=Nt.children)!=null&&jt.length)?lodashExports$1.flatMap(Nt.children,Dt):[Nt]};return lodashExports$1.find(Dt(_e),Pt)}const ViewTreeContext=reactExports.createContext({});function useViewTreeContext(){return reactExports.useContext(ViewTreeContext)}function handleSwap(_e,Pt,Dt){const Nt=findInTree(_e,Ut=>Ut.key===Pt),jt=findInTree(_e,Ut=>Ut.key===Dt);if((Nt==null?void 0:Nt.type)==="leaf"&&(jt==null?void 0:jt.type)==="leaf"){const Ut=lodashExports$1.pick(Nt,"content","key"),Gt=lodashExports$1.pick(jt,"content","key");Object.assign(Nt,Gt),Object.assign(jt,Ut)}return _e}function ViewTree(_e){const{onChange:Pt,root:Dt}=_e;return jsxRuntimeExports.jsx(DndProvider,{backend:HTML5Backend,children:jsxRuntimeExports.jsx(ViewBranch,{..._e,onSwap:(Nt,jt)=>{Dt&&(Pt==null||Pt(produce(Dt,Ut=>handleSwap(Ut,Nt,jt))))}})})}function ViewLeaf({root:_e={type:"leaf",key:""},renderLeaf:Pt,onChange:Dt,onClose:Nt,onPopOut:jt,onMaximise:Ut,canPopOut:Gt,depth:Wt=0,onSwap:qt,onDrop:Yt}){const[{isOver:Xt},Zt]=useDrop(()=>({accept:["panel"],collect:nn=>({isOver:nn.isOver()&&nn.getItem().key!==_e.key&&!!_e.acceptDrop}),drop:nn=>{Yt==null||Yt(nn,_e),qt==null||qt(nn.key,_e.key)}})),[{isDragging:Qt},en]=useDrag(()=>({type:"panel",item:_e,collect:nn=>({isDragging:nn.isDragging()})})),tn=reactExports.useMemo(()=>{const nn=rn=>Dt==null?void 0:Dt(transaction(_e,an=>({key:nanoid$1(),type:"branch",orientation:rn,children:[{...structuredClone(an),size:50,key:nanoid$1()},{...structuredClone(an),size:50,key:nanoid$1()}]})));return _e.type==="leaf"?{isViewTree:!0,state:_e.content,controls:jsxRuntimeExports.jsx(ViewControls,{onClose:Nt,closeDisabled:!Wt,onSplitHorizontal:()=>nn("horizontal"),onSplitVertical:()=>nn("vertical"),onPopOut:()=>{jt==null||jt(_e)},onMaximise:()=>{Ut==null||Ut(_e)},popOutDisabled:!(Gt!=null&&Gt(_e))}),dragHandle:jsxRuntimeExports.jsx(Box$1,{ref:en,sx:{display:"flex",alignItems:"center"},children:jsxRuntimeExports.jsx(DragIndicatorOutlined,{fontSize:"small",color:"disabled",sx:{mr:.5,cursor:"grab"}})}),onChange:rn=>Dt==null?void 0:Dt(produce(_e,an=>{an.content={...an.content,...rn}}))}:{}},[Dt,Nt,Wt,_e,en]);return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx(Flex,{ref:Zt,sx:{overflow:"hidden","::before":{pointerEvents:"none",content:'""',position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:1,boxShadow:nn=>Xt?`inset 0 0 0 2px ${nn.palette.primary.main}`:"none",transition:nn=>nn.transitions.create("box-shadow")},transition:nn=>nn.transitions.create("opacity"),opacity:nn=>Qt?nn.palette.action.disabledOpacity:1},children:jsxRuntimeExports.jsx(ViewTreeContext.Provider,{value:tn,children:Pt==null?void 0:Pt(_e)})})})}function ViewBranch(_e){const{root:Pt={type:"leaf",key:""},onChange:Dt,depth:Nt=0}=_e,{palette:jt,spacing:Ut,transitions:Gt}=useTheme(),Wt=Pt.type==="branch"&&Pt.locked,qt=useCss$1({...Wt&&{display:"none"},"div&":{background:jt.text.secondary,opacity:.5,transition:Gt.create("opacity"),"&.Horizontal":{width:"3px"},"&.Vertical":{height:"3px"}}}),Yt=useCss$1({...Wt&&{pointerEvents:"none"},"div&":{background:jt.mode==="dark"?jt.background.default:jt.divider,boxShadow:`inset 0 0 0 1px ${jt.background.paper}`,"&:hover":{background:jt.primary.main,boxShadow:"none"},"&.Horizontal":{padding:0,width:"3px"},"&.Vertical":{padding:0}}}),Xt=Qt=>Number(Ut(Qt).slice(0,-2));function Zt(Qt,en=[]){const tn=lodashExports$1.chain(en).map(nn=>lodashExports$1.isUndefined(nn.size)||isNaN(nn.size)?0:nn.size).sum().value();return lodashExports$1.isUndefined(Qt)?100-tn:Qt}return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:Pt.type==="leaf"?jsxRuntimeExports.jsx(ViewLeaf,{..._e}):jsxRuntimeExports.jsx(m$7,{gutterClassName:Yt,draggerClassName:qt,onResizeFinished:(Qt,en)=>Dt==null?void 0:Dt(produce(Pt,tn=>{lodashExports$1.forEach(en,(nn,rn)=>{tn.children[rn].size=nn})})),minHeights:lodashExports$1.map(Pt.children,()=>Xt(6)-8),minWidths:lodashExports$1.map(Pt.children,()=>Xt(32)),initialSizes:lodashExports$1.map(Pt.children,(Qt,en,tn)=>Zt(Qt.size,tn)),direction:{vertical:z$5.Vertical,horizontal:z$5.Horizontal}[Pt.orientation],children:lodashExports$1.map(Pt.children,(Qt,en)=>Qt.hidden?jsxRuntimeExports.jsx(Box$1,{},"placeholder"):reactExports.createElement(ViewBranch,{..._e,key:Qt.key,depth:Nt+1,root:Qt,onChange:tn=>Dt==null?void 0:Dt(produce(Pt,nn=>nn.children[en]=tn)),onClose:()=>Dt==null?void 0:Dt(transaction(Pt,tn=>(tn.children.splice(en,1),tn.children.length===1?tn.children[0].type==="leaf"?{type:"leaf",key:nanoid$1(),content:tn.children[0].content}:tn.children[0]:(lodashExports$1.forEach(tn.children,(nn,rn,an)=>nn.size=100/an.length),tn))))}))})})}function useSmallDisplay(){const _e=useTheme();return useMediaQuery(_e.breakpoints.down("sm"))}function Select({trigger:_e,items:Pt,value:Dt,onChange:Nt,showTooltip:jt,placeholder:Ut="Select Option"}){return useSmallDisplay(),lodashExports$1.max([lodashExports$1.findIndex(Pt,{value:Dt}),0]),jsxRuntimeExports.jsx(PopupState,{variant:"popover",children:Gt=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Tooltip$1,{title:Ut,children:jsxRuntimeExports.jsx("span",{children:_e==null?void 0:_e(bindTrigger(Gt))})}),jsxRuntimeExports.jsx(Menu$1,{...bindMenu(Gt),anchorOrigin:{horizontal:"left",vertical:"bottom"},transformOrigin:{vertical:"top",horizontal:"left"},children:lodashExports$1.map(Pt,({value:Wt,label:qt,disabled:Yt,icon:Xt})=>jsxRuntimeExports.jsx(Tooltip$1,{title:jt&&Wt,placement:"right",children:jsxRuntimeExports.jsxs(MenuItem$1,{disabled:Yt,value:Wt,selected:Wt===Dt,onClick:()=>{Gt.close(),Nt==null||Nt(Wt)},children:[Xt&&jsxRuntimeExports.jsx(ListItemIcon$1,{sx:{transform:"scale(0.8)"},children:Xt}),qt]},Wt)},Wt))})]})})}function SelectField(_e){const{placeholder:Pt,value:Dt,items:Nt=[],onChange:jt}=_e;return jsxRuntimeExports.jsx(TextField$1,{sx:{minWidth:120},select:!0,label:Pt,defaultValue:Dt,variant:"filled",..._e,onChange:Ut=>jt==null?void 0:jt(Ut.target.value),children:lodashExports$1.map(Nt,Ut=>jsxRuntimeExports.jsx(MenuItem$1,{value:Ut.value,children:Ut.label},Ut.value))})}const defaultRemotes=[{url:"internal://basic-maps",transport:"native",key:"default-internal"},{url:"https://cdn.jsdelivr.net/gh/path-visualiser/app@adapter-warthog-wasm-dist/warthog-wasm.mjs",transport:"ipc",key:"default-ipc"}],defaultRenderers=[{url:"internal://d2-renderer/",key:"d2-renderer",transport:"native"}],defaultPlaybackRate=1,defaults$4={renderer:defaultRenderers,remote:defaultRemotes,"playback/playbackRate":defaultPlaybackRate,"appearance/theme":"dark","appearance/acrylic":!0,"appearance/accentColor":"blue","behaviour/showOnStart":"explore"},[useSettings,SettingsProvider]=createSlice({},withLocalStorage("settings",defaults$4)),{common:common$1,...accentColors}=colors,shadow=` +*/(function(Ut,Gt){var Wt="0.7.18",qt="",Yt="?",Xt="function",Zt="undefined",Qt="object",en="string",tn="major",nn="model",rn="name",an="type",sn="vendor",ln="version",un="architecture",pn="console",mn="mobile",dn="tablet",hn="smarttv",vn="wearable",En="embedded",_n={extend:function(Sn,kn){var zn={};for(var In in Sn)kn[In]&&kn[In].length%2===0?zn[In]=kn[In].concat(Sn[In]):zn[In]=Sn[In];return zn},has:function(Sn,kn){return typeof Sn=="string"?kn.toLowerCase().indexOf(Sn.toLowerCase())!==-1:!1},lowerize:function(Sn){return Sn.toLowerCase()},major:function(Sn){return typeof Sn===en?Sn.replace(/[^\d\.]/g,"").split(".")[0]:Gt},trim:function(Sn){return Sn.replace(/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,"")}},Cn={rgx:function(Sn,kn){for(var zn=0,In,Rn,Kn,Jn,ar,$n;zn0?Jn.length==2?typeof Jn[1]==Xt?this[Jn[0]]=Jn[1].call(this,$n):this[Jn[0]]=Jn[1]:Jn.length==3?typeof Jn[1]===Xt&&!(Jn[1].exec&&Jn[1].test)?this[Jn[0]]=$n?Jn[1].call(this,$n,Jn[2]):Gt:this[Jn[0]]=$n?$n.replace(Jn[1],Jn[2]):Gt:Jn.length==4&&(this[Jn[0]]=$n?Jn[3].call(this,$n.replace(Jn[1],Jn[2])):Gt):this[Jn]=$n||Gt;zn+=2}},str:function(Sn,kn){for(var zn in kn)if(typeof kn[zn]===Qt&&kn[zn].length>0){for(var In=0;In1&&!window.MSStream)};Pt.exports={checkType:qt,broPayload:Yt,mobilePayload:Xt,stvPayload:Zt,consolePayload:Qt,wearPayload:en,getNavigatorInstance:tn,isIOS13Check:nn}}])})(dist$6);var distExports$1=dist$6.exports;function ViewControls({onSplitHorizontal:_e,onClose:Pt,onSplitVertical:Dt,closeDisabled:Nt,splitHorizontalDisabled:jt,splitVerticalDisabled:Ut,onPopOut:Gt,onMaximise:Wt,popOutDisabled:qt}){return jsxRuntimeExports.jsx(PopupState,{variant:"popover",children:Yt=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Stack$1,{sx:{m:1},children:jsxRuntimeExports.jsx(Tooltip$1,{title:"Panel Options",children:jsxRuntimeExports.jsx(IconButton$1,{size:"small",...bindTrigger(Yt),children:jsxRuntimeExports.jsx(MoreVertOutlined,{fontSize:"small",sx:{color:"text.secondary"}})})})}),jsxRuntimeExports.jsxs(Menu$1,{TransitionProps:{mountOnEnter:!0,unmountOnExit:!0},...bindMenu(Yt),transformOrigin:{horizontal:"right",vertical:"top"},anchorOrigin:{horizontal:"right",vertical:"top"},children:[jsxRuntimeExports.jsxs(MenuItem$1,{onClick:()=>{Dt==null||Dt(),Yt.close()},disabled:Ut,children:[jsxRuntimeExports.jsx(ListItemIcon$1,{children:jsxRuntimeExports.jsx(SplitIcon,{fontSize:"small"})}),jsxRuntimeExports.jsx(ListItemText$1,{children:"Split vertical"})]}),jsxRuntimeExports.jsxs(MenuItem$1,{onClick:()=>{_e==null||_e(),Yt.close()},disabled:jt,children:[jsxRuntimeExports.jsx(ListItemIcon$1,{children:jsxRuntimeExports.jsx(SplitIcon,{fontSize:"small",sx:{transform:"rotate(90deg)"}})}),jsxRuntimeExports.jsx(ListItemText$1,{children:"Split horizontal"})]}),jsxRuntimeExports.jsx(Divider$1,{}),!qt&&jsxRuntimeExports.jsxs(Box$1,{children:[jsxRuntimeExports.jsxs(MenuItem$1,{disabled:Nt||qt||distExports$1.isMobile,onClick:()=>{Gt==null||Gt(),Pt==null||Pt(),Yt.close()},children:[jsxRuntimeExports.jsx(ListItemIcon$1,{children:jsxRuntimeExports.jsx(OpenInNewOutlined,{fontSize:"small"})}),jsxRuntimeExports.jsx(ListItemText$1,{children:"Move to new window"})]}),jsxRuntimeExports.jsxs(MenuItem$1,{disabled:qt||distExports$1.isMobile,onClick:()=>{Gt==null||Gt(),Yt.close()},children:[jsxRuntimeExports.jsx(ListItemIcon$1,{}),jsxRuntimeExports.jsx(ListItemText$1,{children:"Duplicate to new window"})]}),jsxRuntimeExports.jsx(Divider$1,{})]}),jsxRuntimeExports.jsxs(MenuItem$1,{onClick:()=>{Wt==null||Wt(),Yt.close()},children:[jsxRuntimeExports.jsx(ListItemIcon$1,{children:jsxRuntimeExports.jsx(FullscreenOutlined,{})}),jsxRuntimeExports.jsx(ListItemText$1,{children:"Maximise"})]}),jsxRuntimeExports.jsx(Divider$1,{}),jsxRuntimeExports.jsxs(MenuItem$1,{onClick:()=>{Pt==null||Pt(),Yt.close()},disabled:Nt,children:[jsxRuntimeExports.jsx(ListItemIcon$1,{children:jsxRuntimeExports.jsx(CloseOutlined,{fontSize:"small"})}),jsxRuntimeExports.jsx(ListItemText$1,{children:"Close"})]})]})]})})}function findInTree(_e,Pt){const Dt=Nt=>{var jt;return"children"in Nt&&((jt=Nt.children)!=null&&jt.length)?lodashExports$1.flatMap(Nt.children,Dt):[Nt]};return lodashExports$1.find(Dt(_e),Pt)}const ViewTreeContext=reactExports.createContext({});function useViewTreeContext(){return reactExports.useContext(ViewTreeContext)}function handleSwap(_e,Pt,Dt){const Nt=findInTree(_e,Ut=>Ut.key===Pt),jt=findInTree(_e,Ut=>Ut.key===Dt);if((Nt==null?void 0:Nt.type)==="leaf"&&(jt==null?void 0:jt.type)==="leaf"){const Ut=lodashExports$1.pick(Nt,"content","key"),Gt=lodashExports$1.pick(jt,"content","key");Object.assign(Nt,Gt),Object.assign(jt,Ut)}return _e}function ViewTree(_e){const{onChange:Pt,root:Dt}=_e;return jsxRuntimeExports.jsx(DndProvider,{backend:HTML5Backend,children:jsxRuntimeExports.jsx(ViewBranch,{..._e,onSwap:(Nt,jt)=>{Dt&&(Pt==null||Pt(produce(Dt,Ut=>handleSwap(Ut,Nt,jt))))}})})}function ViewLeaf({root:_e={type:"leaf",key:""},renderLeaf:Pt,onChange:Dt,onClose:Nt,onPopOut:jt,onMaximise:Ut,canPopOut:Gt,depth:Wt=0,onSwap:qt,onDrop:Yt}){const[{isOver:Xt},Zt]=useDrop(()=>({accept:["panel"],collect:nn=>({isOver:nn.isOver()&&nn.getItem().key!==_e.key&&!!_e.acceptDrop}),drop:nn=>{Yt==null||Yt(nn,_e),qt==null||qt(nn.key,_e.key)}})),[{isDragging:Qt},en]=useDrag(()=>({type:"panel",item:_e,collect:nn=>({isDragging:nn.isDragging()})})),tn=reactExports.useMemo(()=>{const nn=rn=>Dt==null?void 0:Dt(transaction(_e,an=>({key:nanoid$1(),type:"branch",orientation:rn,children:[{...structuredClone(an),size:50,key:nanoid$1()},{...structuredClone(an),size:50,key:nanoid$1()}]})));return _e.type==="leaf"?{isViewTree:!0,state:_e.content,controls:jsxRuntimeExports.jsx(ViewControls,{onClose:Nt,closeDisabled:!Wt,onSplitHorizontal:()=>nn("horizontal"),onSplitVertical:()=>nn("vertical"),onPopOut:()=>{jt==null||jt(_e)},onMaximise:()=>{Ut==null||Ut(_e)},popOutDisabled:!(Gt!=null&&Gt(_e))}),dragHandle:jsxRuntimeExports.jsx(Box$1,{ref:en,sx:{display:"flex",alignItems:"center"},children:jsxRuntimeExports.jsx(DragIndicatorOutlined,{fontSize:"small",color:"disabled",sx:{mr:.5,cursor:"grab"}})}),onChange:rn=>Dt==null?void 0:Dt(produce(_e,an=>{an.content={...an.content,...rn}}))}:{}},[Dt,Nt,Wt,_e,en]);return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx(Flex,{ref:Zt,sx:{overflow:"hidden","::before":{pointerEvents:"none",content:'""',position:"absolute",top:0,left:0,right:0,bottom:0,zIndex:1,boxShadow:nn=>Xt?`inset 0 0 0 2px ${nn.palette.primary.main}`:"none",transition:nn=>nn.transitions.create("box-shadow")},transition:nn=>nn.transitions.create("opacity"),opacity:nn=>Qt?nn.palette.action.disabledOpacity:1},children:jsxRuntimeExports.jsx(ViewTreeContext.Provider,{value:tn,children:Pt==null?void 0:Pt(_e)})})})}function ViewBranch(_e){const{root:Pt={type:"leaf",key:""},onChange:Dt,depth:Nt=0}=_e,{palette:jt,spacing:Ut,transitions:Gt}=useTheme(),Wt=Pt.type==="branch"&&Pt.locked,qt=useCss$1({...Wt&&{display:"none"},"div&":{background:jt.text.secondary,opacity:.5,transition:Gt.create("opacity"),"&.Horizontal":{width:"3px"},"&.Vertical":{height:"3px"}}}),Yt=useCss$1({...Wt&&{pointerEvents:"none"},"div&":{background:jt.mode==="dark"?jt.background.default:jt.divider,boxShadow:`inset 0 0 0 1px ${jt.background.paper}`,"&:hover":{background:jt.primary.main,boxShadow:"none"},"&.Horizontal":{padding:0,width:"3px"},"&.Vertical":{padding:0}}}),Xt=Qt=>Number(Ut(Qt).slice(0,-2));function Zt(Qt,en=[]){const tn=lodashExports$1.chain(en).map(nn=>lodashExports$1.isUndefined(nn.size)||isNaN(nn.size)?0:nn.size).sum().value();return lodashExports$1.isUndefined(Qt)?100-tn:Qt}return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:Pt.type==="leaf"?jsxRuntimeExports.jsx(ViewLeaf,{..._e}):jsxRuntimeExports.jsx(m$7,{gutterClassName:Yt,draggerClassName:qt,onResizeFinished:(Qt,en)=>Dt==null?void 0:Dt(produce(Pt,tn=>{lodashExports$1.forEach(en,(nn,rn)=>{tn.children[rn].size=nn})})),minHeights:lodashExports$1.map(Pt.children,()=>Xt(6)-8),minWidths:lodashExports$1.map(Pt.children,()=>Xt(32)),initialSizes:lodashExports$1.map(Pt.children,(Qt,en,tn)=>Zt(Qt.size,tn)),direction:{vertical:z$5.Vertical,horizontal:z$5.Horizontal}[Pt.orientation],children:lodashExports$1.map(Pt.children,(Qt,en)=>Qt.hidden?jsxRuntimeExports.jsx(Box$1,{},"placeholder"):reactExports.createElement(ViewBranch,{..._e,key:Qt.key,depth:Nt+1,root:Qt,onChange:tn=>Dt==null?void 0:Dt(produce(Pt,nn=>nn.children[en]=tn)),onClose:()=>Dt==null?void 0:Dt(transaction(Pt,tn=>(tn.children.splice(en,1),tn.children.length===1?tn.children[0].type==="leaf"?{type:"leaf",key:nanoid$1(),content:tn.children[0].content}:tn.children[0]:(lodashExports$1.forEach(tn.children,(nn,rn,an)=>nn.size=100/an.length),tn))))}))})})}function useSmallDisplay(){const _e=useTheme();return useMediaQuery(_e.breakpoints.down("sm"))}function Select({trigger:_e,items:Pt,value:Dt,onChange:Nt,showTooltip:jt,placeholder:Ut="Select Option"}){return useSmallDisplay(),lodashExports$1.max([lodashExports$1.findIndex(Pt,{value:Dt}),0]),jsxRuntimeExports.jsx(PopupState,{variant:"popover",children:Gt=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Tooltip$1,{title:Ut,children:jsxRuntimeExports.jsx("span",{children:_e==null?void 0:_e(bindTrigger(Gt))})}),jsxRuntimeExports.jsx(Menu$1,{...bindMenu(Gt),anchorOrigin:{horizontal:"left",vertical:"bottom"},transformOrigin:{vertical:"top",horizontal:"left"},children:lodashExports$1.map(Pt,({value:Wt,label:qt,disabled:Yt,icon:Xt})=>jsxRuntimeExports.jsx(Tooltip$1,{title:jt&&Wt,placement:"right",children:jsxRuntimeExports.jsxs(MenuItem$1,{disabled:Yt,value:Wt,selected:Wt===Dt,onClick:()=>{Gt.close(),Nt==null||Nt(Wt)},children:[Xt&&jsxRuntimeExports.jsx(ListItemIcon$1,{sx:{transform:"scale(0.8)"},children:Xt}),qt]},Wt)},Wt))})]})})}function SelectField(_e){const{placeholder:Pt,value:Dt,items:Nt=[],onChange:jt}=_e;return jsxRuntimeExports.jsx(TextField$1,{sx:{minWidth:120},select:!0,label:Pt,defaultValue:Dt,variant:"filled",..._e,onChange:Ut=>jt==null?void 0:jt(Ut.target.value),children:lodashExports$1.map(Nt,Ut=>jsxRuntimeExports.jsx(MenuItem$1,{value:Ut.value,children:Ut.label},Ut.value))})}const defaultRemotes=[{url:"internal://basic-maps",transport:"native",key:"default-internal"},{url:"https://cdn.jsdelivr.net/gh/ShortestPathLab/posthoc-app@adapter-warthog-wasm-dist/warthog-wasm.mjs",transport:"ipc",key:"default-ipc"}],defaultRenderers=[{url:"internal://d2-renderer/",key:"d2-renderer",transport:"native"}],defaultPlaybackRate=1,defaults$4={renderer:defaultRenderers,remote:defaultRemotes,"playback/playbackRate":defaultPlaybackRate,"appearance/theme":"dark","appearance/acrylic":!0,"appearance/accentColor":"blue","behaviour/showOnStart":"explore"},[useSettings,SettingsProvider]=createSlice({},withLocalStorage("settings",defaults$4)),{common:common$1,...accentColors}=colors,shadow=` 0px 4px 9px -1px rgb(0 0 0 / 4%), 0px 5px 24px 0px rgb(0 0 0 / 4%), 0px 10px 48px 0px rgb(0 0 0 / 4%) `,getShade=(_e="blue",Pt="light",Dt="A700",Nt="A100")=>colors[_e][Pt==="dark"?Nt:Dt],fontFamily=`"Inter", "Oxygen", "Ubuntu", "Cantarell", "Fira Sans", - "Droid Sans", "Helvetica Neue", "Arial", sans-serif`,makeTheme=(_e,Pt)=>createTheme({palette:{primary:{main:getShade(Pt,_e)},mode:_e,background:_e==="dark"?{default:"#0a0c10",paper:"#111317"}:{default:"#ebecef",paper:"#ffffff"}},typography:{allVariants:{fontFamily},button:{textTransform:"none",fontWeight:400,letterSpacing:0,backgroundColor:"background.paper"},subtitle2:{marginTop:6,fontWeight:400}},components:{MuiPopover:{styleOverrides:{paper:{backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.06))"}}},MuiTooltip:{styleOverrides:{tooltip:{backgroundImage:"linear-gradient(#1c2128, #1c2128)",fontFamily}}},MuiTypography:{styleOverrides:{body1:{fontWeight:400,fontSize:"0.875rem"},overline:{fontWeight:400,textTransform:"none",letterSpacing:0,fontSize:"0.875rem"},h4:{marginBottom:12},h6:{fontWeight:500,letterSpacing:-.4}}}},shadows:["",...lodashExports$1.times(24,lodashExports$1.constant(shadow))]});function useAcrylic(_e){const[{"appearance/acrylic":Pt}]=useSettings();return Pt?{backdropFilter:"blur(16px)",background:({palette:Dt})=>alpha(_e??Dt.background.paper,.75)}:{backdropFilter:"blur(0px)",background:({palette:Dt})=>_e??Dt.background.paper}}function usePaper(){return(_e=1)=>({borderRadius:1,transition:({transitions:Pt})=>Pt.create(["background-color","box-shadow"]),boxShadow:({shadows:Pt,palette:Dt})=>Dt.mode==="dark"?Pt[1]:Pt[Math.max(lodashExports$1.floor(_e)-1,0)],backgroundColor:({palette:Pt})=>Pt.mode==="dark"?alpha(Pt.action.disabledBackground,_e*.02):Pt.background.paper,border:({palette:Pt})=>Pt.mode==="dark"?`1px solid ${alpha(Pt.text.primary,_e*.08)}`:`1px solid ${alpha(Pt.text.primary,_e*.16)}`})}const textFieldProps={variant:"filled"};function FeaturePickerButton({children:_e,icon:Pt,arrow:Dt,...Nt}){return jsxRuntimeExports.jsx(MuiButton,{...Nt,sx:{minWidth:0,...Nt.sx},startIcon:Pt,endIcon:Dt&&jsxRuntimeExports.jsx(KeyboardArrowDownOutlined,{sx:{ml:-.5,color:"text.secondary",opacity:jt=>Nt.disabled?jt.palette.action.disabledOpacity:1}}),children:jsxRuntimeExports.jsx(Box$1,{sx:{color:"text.primary",opacity:jt=>Nt.disabled?jt.palette.action.disabledOpacity:1},children:_e})})}function FeaturePicker({label:_e,value:Pt,onChange:Dt,items:Nt,icon:jt,arrow:Ut,disabled:Gt,ButtonProps:Wt,showTooltip:qt,itemOrientation:Yt="horizontal",ellipsis:Xt=1/0,paper:Zt}){const Qt=usePaper(),{palette:en}=useTheme(),tn=(rn,an)=>rn&&reactExports.cloneElement(rn,{sx:{color:an?getShade(an,en.mode):"primary.main"}}),nn=lodashExports$1.find(Nt,{id:Pt});return jsxRuntimeExports.jsx(Select,{showTooltip:qt,placeholder:lodashExports$1.startCase(_e),trigger:rn=>{var an;return jsxRuntimeExports.jsx(FeaturePickerButton,{...rn,...Wt,sx:Zt?{...Qt(1),my:.5,px:1.25,py:.5}:{},disabled:!((an=lodashExports$1.filter(Nt,sn=>!sn.hidden))!=null&&an.length)||Gt,icon:nn!=null&&nn.icon?tn(nn.icon,nn.color):jt,arrow:Ut,children:lodashExports$1.truncate((nn==null?void 0:nn.name)??_e,{length:Xt})})},items:lodashExports$1.map(Nt,({id:rn,name:an,description:sn,hidden:ln,icon:un,color:pn})=>({value:rn,label:jsxRuntimeExports.jsxs(Flex,{vertical:Yt==="vertical",children:[jsxRuntimeExports.jsxs(Type$2,{children:[an,jsxRuntimeExports.jsx(Space,{})]}),jsxRuntimeExports.jsx(Type$2,{variant:"body2",color:"text.secondary",children:sn})]}),icon:tn(un,pn),disabled:ln})),value:nn==null?void 0:nn.id,onChange:Dt})}function _defineProperty$4(_e,Pt,Dt){return Pt in _e?Object.defineProperty(_e,Pt,{value:Dt,enumerable:!0,configurable:!0,writable:!0}):_e[Pt]=Dt,_e}function ownKeys$3(_e,Pt){var Dt=Object.keys(_e);if(Object.getOwnPropertySymbols){var Nt=Object.getOwnPropertySymbols(_e);Pt&&(Nt=Nt.filter(function(jt){return Object.getOwnPropertyDescriptor(_e,jt).enumerable})),Dt.push.apply(Dt,Nt)}return Dt}function _objectSpread2$3(_e){for(var Pt=1;Pt=0)&&(Dt[jt]=_e[jt]);return Dt}function _objectWithoutProperties(_e,Pt){if(_e==null)return{};var Dt=_objectWithoutPropertiesLoose$1(_e,Pt),Nt,jt;if(Object.getOwnPropertySymbols){var Ut=Object.getOwnPropertySymbols(_e);for(jt=0;jt=0)&&Object.prototype.propertyIsEnumerable.call(_e,Nt)&&(Dt[Nt]=_e[Nt])}return Dt}function _slicedToArray$2(_e,Pt){return _arrayWithHoles$2(_e)||_iterableToArrayLimit$2(_e,Pt)||_unsupportedIterableToArray$3(_e,Pt)||_nonIterableRest$2()}function _arrayWithHoles$2(_e){if(Array.isArray(_e))return _e}function _iterableToArrayLimit$2(_e,Pt){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(_e)))){var Dt=[],Nt=!0,jt=!1,Ut=void 0;try{for(var Gt=_e[Symbol.iterator](),Wt;!(Nt=(Wt=Gt.next()).done)&&(Dt.push(Wt.value),!(Pt&&Dt.length===Pt));Nt=!0);}catch(qt){jt=!0,Ut=qt}finally{try{!Nt&&Gt.return!=null&&Gt.return()}finally{if(jt)throw Ut}}return Dt}}function _unsupportedIterableToArray$3(_e,Pt){if(_e){if(typeof _e=="string")return _arrayLikeToArray$3(_e,Pt);var Dt=Object.prototype.toString.call(_e).slice(8,-1);if(Dt==="Object"&&_e.constructor&&(Dt=_e.constructor.name),Dt==="Map"||Dt==="Set")return Array.from(_e);if(Dt==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Dt))return _arrayLikeToArray$3(_e,Pt)}}function _arrayLikeToArray$3(_e,Pt){(Pt==null||Pt>_e.length)&&(Pt=_e.length);for(var Dt=0,Nt=new Array(Pt);DtcreateTheme({palette:{primary:{main:getShade(Pt,_e)},mode:_e,background:_e==="dark"?{default:"#0a0c10",paper:"#111317"}:{default:"#ebecef",paper:"#ffffff"}},typography:{allVariants:{fontFamily},h1:{fontFamily:headingFamily},h2:{fontFamily:headingFamily},h3:{fontFamily:headingFamily},h4:{fontFamily:headingFamily},h5:{fontFamily:headingFamily},h6:{fontFamily:headingFamily},button:{textTransform:"none",fontWeight:400,letterSpacing:0,backgroundColor:"background.paper"},subtitle2:{marginTop:6,fontWeight:400}},components:{MuiPopover:{styleOverrides:{paper:{backgroundImage:"linear-gradient(rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.06))"}}},MuiTooltip:{styleOverrides:{tooltip:{backgroundImage:"linear-gradient(#1c2128, #1c2128)",fontFamily}}},MuiTypography:{styleOverrides:{body1:{fontWeight:400,fontSize:"0.875rem"},overline:{fontWeight:400,textTransform:"none",letterSpacing:0,fontSize:"0.875rem"},h4:{marginBottom:12},h6:{fontWeight:500}}}},shadows:["",...lodashExports$1.times(24,lodashExports$1.constant(shadow))]});function useAcrylic(_e){const[{"appearance/acrylic":Pt}]=useSettings();return Pt?{backdropFilter:"blur(16px)",background:({palette:Dt})=>alpha(_e??Dt.background.paper,.75)}:{backdropFilter:"blur(0px)",background:({palette:Dt})=>_e??Dt.background.paper}}function usePaper(){return(_e=1)=>({borderRadius:1,transition:({transitions:Pt})=>Pt.create(["background-color","box-shadow"]),boxShadow:({shadows:Pt,palette:Dt})=>Dt.mode==="dark"?Pt[1]:Pt[Math.max(lodashExports$1.floor(_e)-1,0)],backgroundColor:({palette:Pt})=>Pt.mode==="dark"?alpha(Pt.action.disabledBackground,_e*.02):Pt.background.paper,border:({palette:Pt})=>Pt.mode==="dark"?`1px solid ${alpha(Pt.text.primary,_e*.08)}`:`1px solid ${alpha(Pt.text.primary,_e*.16)}`})}const textFieldProps={variant:"filled"};function FeaturePickerButton({children:_e,icon:Pt,arrow:Dt,...Nt}){return jsxRuntimeExports.jsx(MuiButton,{...Nt,sx:{minWidth:0,...Nt.sx},startIcon:Pt,endIcon:Dt&&jsxRuntimeExports.jsx(KeyboardArrowDownOutlined,{sx:{ml:-.5,color:"text.secondary",opacity:jt=>Nt.disabled?jt.palette.action.disabledOpacity:1}}),children:jsxRuntimeExports.jsx(Box$1,{sx:{color:"text.primary",opacity:jt=>Nt.disabled?jt.palette.action.disabledOpacity:1},children:_e})})}function FeaturePicker({label:_e,value:Pt,onChange:Dt,items:Nt,icon:jt,arrow:Ut,disabled:Gt,ButtonProps:Wt,showTooltip:qt,itemOrientation:Yt="horizontal",ellipsis:Xt=1/0,paper:Zt}){const Qt=usePaper(),{palette:en}=useTheme(),tn=(rn,an)=>rn&&reactExports.cloneElement(rn,{sx:{color:an?getShade(an,en.mode):"primary.main"}}),nn=lodashExports$1.find(Nt,{id:Pt});return jsxRuntimeExports.jsx(Select,{showTooltip:qt,placeholder:lodashExports$1.startCase(_e),trigger:rn=>{var an;return jsxRuntimeExports.jsx(FeaturePickerButton,{...rn,...Wt,sx:Zt?{...Qt(1),my:.5,px:1.25,py:.5}:{},disabled:!((an=lodashExports$1.filter(Nt,sn=>!sn.hidden))!=null&&an.length)||Gt,icon:nn!=null&&nn.icon?tn(nn.icon,nn.color):jt,arrow:Ut,children:lodashExports$1.truncate((nn==null?void 0:nn.name)??_e,{length:Xt})})},items:lodashExports$1.map(Nt,({id:rn,name:an,description:sn,hidden:ln,icon:un,color:pn})=>({value:rn,label:jsxRuntimeExports.jsxs(Flex,{vertical:Yt==="vertical",children:[jsxRuntimeExports.jsxs(Type$2,{children:[an,jsxRuntimeExports.jsx(Space,{})]}),jsxRuntimeExports.jsx(Type$2,{variant:"body2",color:"text.secondary",children:sn})]}),icon:tn(un,pn),disabled:ln})),value:nn==null?void 0:nn.id,onChange:Dt})}function _defineProperty$4(_e,Pt,Dt){return Pt in _e?Object.defineProperty(_e,Pt,{value:Dt,enumerable:!0,configurable:!0,writable:!0}):_e[Pt]=Dt,_e}function ownKeys$3(_e,Pt){var Dt=Object.keys(_e);if(Object.getOwnPropertySymbols){var Nt=Object.getOwnPropertySymbols(_e);Pt&&(Nt=Nt.filter(function(jt){return Object.getOwnPropertyDescriptor(_e,jt).enumerable})),Dt.push.apply(Dt,Nt)}return Dt}function _objectSpread2$3(_e){for(var Pt=1;Pt=0)&&(Dt[jt]=_e[jt]);return Dt}function _objectWithoutProperties(_e,Pt){if(_e==null)return{};var Dt=_objectWithoutPropertiesLoose$1(_e,Pt),Nt,jt;if(Object.getOwnPropertySymbols){var Ut=Object.getOwnPropertySymbols(_e);for(jt=0;jt=0)&&Object.prototype.propertyIsEnumerable.call(_e,Nt)&&(Dt[Nt]=_e[Nt])}return Dt}function _slicedToArray$2(_e,Pt){return _arrayWithHoles$2(_e)||_iterableToArrayLimit$2(_e,Pt)||_unsupportedIterableToArray$3(_e,Pt)||_nonIterableRest$2()}function _arrayWithHoles$2(_e){if(Array.isArray(_e))return _e}function _iterableToArrayLimit$2(_e,Pt){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(_e)))){var Dt=[],Nt=!0,jt=!1,Ut=void 0;try{for(var Gt=_e[Symbol.iterator](),Wt;!(Nt=(Wt=Gt.next()).done)&&(Dt.push(Wt.value),!(Pt&&Dt.length===Pt));Nt=!0);}catch(qt){jt=!0,Ut=qt}finally{try{!Nt&&Gt.return!=null&&Gt.return()}finally{if(jt)throw Ut}}return Dt}}function _unsupportedIterableToArray$3(_e,Pt){if(_e){if(typeof _e=="string")return _arrayLikeToArray$3(_e,Pt);var Dt=Object.prototype.toString.call(_e).slice(8,-1);if(Dt==="Object"&&_e.constructor&&(Dt=_e.constructor.name),Dt==="Map"||Dt==="Set")return Array.from(_e);if(Dt==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Dt))return _arrayLikeToArray$3(_e,Pt)}}function _arrayLikeToArray$3(_e,Pt){(Pt==null||Pt>_e.length)&&(Pt=_e.length);for(var Dt=0,Nt=new Array(Pt);Dt=_e.length?_e.apply(this,jt):function(){for(var Gt=arguments.length,Wt=new Array(Gt),qt=0;qt1&&arguments[1]!==void 0?arguments[1]:{};validators$1.initial(_e),validators$1.handler(Pt);var Dt={current:_e},Nt=curry$1(didStateUpdate)(Dt,Pt),jt=curry$1(updateState)(Dt),Ut=curry$1(validators$1.changes)(_e),Gt=curry$1(extractChanges)(Dt);function Wt(){var Yt=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(Xt){return Xt};return validators$1.selector(Yt),Yt(Dt.current)}function qt(Yt){compose$2(Nt,jt,Ut,Gt)(Yt)}return[Wt,qt]}function extractChanges(_e,Pt){return isFunction$5(Pt)?Pt(_e.current):Pt}function updateState(_e,Pt){return _e.current=_objectSpread2$2(_objectSpread2$2({},_e.current),Pt),Pt}function didStateUpdate(_e,Pt,Dt){return isFunction$5(Pt)?Pt(_e.current):Object.keys(Dt).forEach(function(Nt){var jt;return(jt=Pt[Nt])===null||jt===void 0?void 0:jt.call(Pt,_e.current[Nt])}),Dt}var index$1={create:create$4},config$2={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.43.0/min/vs"}};function curry(_e){return function Pt(){for(var Dt=this,Nt=arguments.length,jt=new Array(Nt),Ut=0;Ut=_e.length?_e.apply(this,jt):function(){for(var Gt=arguments.length,Wt=new Array(Gt),qt=0;qt{if(jt){let qt=!1,Yt=lodashExports$1.noop,Xt=Date.now();const Zt=()=>{if(!qt){const Qt=Date.now(),en=lodashExports$1.ceil(Wt*(Qt-Xt)/FRAME_TIME_MS);Dt{Yt(),qt=!0}}},[Gt,jt,Nt,Dt,Ut,Wt]),jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:_e})}const centered={horizontal:"center",vertical:"center"};function Playback({layer:_e}){const Pt=usePaper(),{playing:Dt,canPause:Nt,canPlay:jt,canStepBackward:Ut,canStepForward:Gt,canStop:Wt,pause:qt,play:Yt,stepBackward:Xt,stepForward:Zt,findBreakpoint:Qt,step:en,stepTo:tn}=usePlaybackState(_e==null?void 0:_e.key),[nn,rn]=reactExports.useState(""),an=parseInt(nn),sn=!isNaN(an);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(IconButtonWithTooltip,{label:"previous-breakpoint",icon:jsxRuntimeExports.jsx(StopIcon,{}),onClick:()=>{tn(Qt(-1))},disabled:!Wt}),jsxRuntimeExports.jsx(IconButtonWithTooltip,{label:"step-backward",icon:jsxRuntimeExports.jsx(PreviousIcon,{}),onClick:Xt,disabled:!Ut}),jsxRuntimeExports.jsx(IconButtonWithTooltip,{...Dt?{label:"pause",icon:jsxRuntimeExports.jsx(PauseIcon,{}),onClick:()=>qt(),disabled:!Nt}:{label:"play",icon:jsxRuntimeExports.jsx(PlayIcon,{}),onClick:()=>Yt(),disabled:!jt,color:"primary"}}),jsxRuntimeExports.jsx(IconButtonWithTooltip,{label:"step-forward",icon:jsxRuntimeExports.jsx(NextIcon,{}),onClick:Zt,disabled:!Gt}),jsxRuntimeExports.jsx(IconButtonWithTooltip,{label:"next-breakpoint",icon:jsxRuntimeExports.jsx(SkipIcon,{}),onClick:()=>{tn(Qt())},disabled:!Gt}),divider$5,jsxRuntimeExports.jsx(PopupState,{variant:"popover",children:ln=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(MuiButton,{sx:{minWidth:0},...bindTrigger(ln),children:jsxRuntimeExports.jsx(Type$2,{component:"div",variant:"body2",color:"text.secondary",sx:{px:.25,py:.25,textAlign:"center",...Pt(0),borderRadius:1},children:en})}),jsxRuntimeExports.jsx(Popover$1,{...bindPopover(ln),anchorOrigin:centered,transformOrigin:centered,children:jsxRuntimeExports.jsx(TextField$1,{autoFocus:!0,onChange:un=>rn(un.target.value),defaultValue:en,placeholder:"0",InputProps:{sx:{fontSize:"0.875rem"},startAdornment:jsxRuntimeExports.jsx(InputAdornment$1,{position:"start",children:"Step"}),endAdornment:jsxRuntimeExports.jsx(InputAdornment$1,{position:"end",children:jsxRuntimeExports.jsx(IconButtonWithTooltip,{icon:jsxRuntimeExports.jsx(ArrowForwardOutlined,{}),label:"Go",size:"small",color:"inherit",disabled:!sn||an===en,onClick:()=>{tn(an),ln.close()}})})},sx:{width:180,border:"none"}})})]})})]})}function MinimisedPlaybackControls({layer:_e}){return jsxRuntimeExports.jsx(PopupState,{variant:"popover",children:Pt=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Collapse$1,{in:Pt.isOpen,orientation:"horizontal",children:jsxRuntimeExports.jsxs(Stack$1,{direction:"row",sx:{minWidth:"max-content"},children:[jsxRuntimeExports.jsx(Playback,{layer:_e}),divider$5]})}),jsxRuntimeExports.jsx(IconButtonWithTooltip,{size:"small",onClick:Pt.toggle,label:Pt.isOpen?"Hide Playback Controls":"Show Playback Controls",sx:{mx:-1,color:Dt=>Dt.palette.text.secondary,transform:Pt.isOpen?"rotate(180deg)":void 0,transition:Dt=>Dt.transitions.create("transform")},icon:jsxRuntimeExports.jsx(NavigateNextOutlined,{})})]})})}var ResizeSensor={exports:{}};(function(_e,Pt){(function(Dt,Nt){_e.exports=Nt()})(typeof window<"u"?window:commonjsGlobal,function(){if(typeof window>"u")return null;var Dt=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")(),Nt=Dt.requestAnimationFrame||Dt.mozRequestAnimationFrame||Dt.webkitRequestAnimationFrame||function(Xt){return Dt.setTimeout(Xt,20)},jt=Dt.cancelAnimationFrame||Dt.mozCancelAnimationFrame||Dt.webkitCancelAnimationFrame||function(Xt){Dt.clearTimeout(Xt)};function Ut(Xt,Zt){var Qt=Object.prototype.toString.call(Xt),en=Qt==="[object Array]"||Qt==="[object NodeList]"||Qt==="[object HTMLCollection]"||Qt==="[object Object]"||typeof jQuery<"u"&&Xt instanceof jQuery||typeof Elements<"u"&&Xt instanceof Elements,tn=0,nn=Xt.length;if(en)for(;tn=Cn&&(Nn+=En.value),En.mode==="max"&&Tn<=Cn&&(Nn+=En.value),yn[Fn]||(yn[Fn]=""),Nn&&(" "+yn[Fn]+" ").indexOf(" "+Nn+" ")===-1&&(yn[Fn]+=" "+Nn));for(var Sn in Bn)Bn.hasOwnProperty(Sn)&&(yn[Bn[Sn]]?this.element.setAttribute(Bn[Sn],yn[Bn[Sn]].substr(1)):this.element.removeAttribute(Bn[Sn]))}}function Qt(dn,hn){dn.elementQueriesSetupInformation||(dn.elementQueriesSetupInformation=new Zt(dn,hn)),dn.elementQueriesSensor||(dn.elementQueriesSensor=new Dt(dn,function(){dn.elementQueriesSetupInformation.call()}))}function en(dn,hn,vn,En){if(typeof Gt[dn]>"u"){Gt[dn]=[];var _n=Wt.length;Ut.innerHTML+=` +`);return Dt}var DEFAULT_EDGE_CURVATURE=.25,DEFAULT_EDGE_CURVE_PROGRAM_OPTIONS={arrowHead:null,curvatureAttribute:"curvature",defaultCurvature:DEFAULT_EDGE_CURVATURE},_WebGLRenderingContex=WebGLRenderingContext,UNSIGNED_BYTE=_WebGLRenderingContex.UNSIGNED_BYTE,FLOAT=_WebGLRenderingContex.FLOAT;function createEdgeCurveProgram(_e){var Pt=_objectSpread2(_objectSpread2({},DEFAULT_EDGE_CURVE_PROGRAM_OPTIONS),_e||{}),Dt=Pt.arrowHead,Nt=Pt.curvatureAttribute,jt=["u_matrix","u_sizeRatio","u_dimensions","u_pixelRatio"].concat(_toConsumableArray(Dt?["u_lengthToThicknessRatio","u_widenessToThicknessRatio"]:[]));return function(Ut){_inherits$1(Gt,Ut);function Gt(){var Wt;_classCallCheck$1(this,Gt);for(var qt=arguments.length,Yt=new Array(qt),Xt=0;Xt{if(jt){let qt=!1,Yt=lodashExports$1.noop,Xt=Date.now();const Zt=()=>{if(!qt){const Qt=Date.now(),en=lodashExports$1.ceil(Wt*(Qt-Xt)/FRAME_TIME_MS);Dt{Yt(),qt=!0}}},[Gt,jt,Nt,Dt,Ut,Wt]),jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:_e})}const centered={horizontal:"center",vertical:"center"};function Playback({layer:_e}){const Pt=usePaper(),{playing:Dt,canPause:Nt,canPlay:jt,canStepBackward:Ut,canStepForward:Gt,canStop:Wt,pause:qt,play:Yt,stepBackward:Xt,stepForward:Zt,findBreakpoint:Qt,step:en,stepTo:tn}=usePlaybackState(_e==null?void 0:_e.key),[nn,rn]=reactExports.useState(""),an=parseInt(nn),sn=!isNaN(an);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(IconButtonWithTooltip,{label:"previous-breakpoint",icon:jsxRuntimeExports.jsx(StopIcon,{}),onClick:()=>{tn(Qt(-1))},disabled:!Wt||!Ut}),jsxRuntimeExports.jsx(IconButtonWithTooltip,{label:"step-backward",icon:jsxRuntimeExports.jsx(PreviousIcon,{}),onClick:Xt,disabled:!Ut}),jsxRuntimeExports.jsx(IconButtonWithTooltip,{...Dt?{label:"pause",icon:jsxRuntimeExports.jsx(PauseIcon,{}),onClick:()=>qt(),disabled:!Nt}:{label:"play",icon:jsxRuntimeExports.jsx(PlayIcon,{}),onClick:()=>Yt(),disabled:!jt,color:"primary"}}),jsxRuntimeExports.jsx(IconButtonWithTooltip,{label:"step-forward",icon:jsxRuntimeExports.jsx(NextIcon,{}),onClick:Zt,disabled:!Gt}),jsxRuntimeExports.jsx(IconButtonWithTooltip,{label:"next-breakpoint",icon:jsxRuntimeExports.jsx(SkipIcon,{}),onClick:()=>{tn(Qt())},disabled:!Gt}),divider$5,jsxRuntimeExports.jsx(PopupState,{variant:"popover",children:ln=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(MuiButton,{sx:{minWidth:0},...bindTrigger(ln),children:jsxRuntimeExports.jsx(Type$2,{component:"div",variant:"body2",color:"text.secondary",sx:{px:.25,py:.25,textAlign:"center",...Pt(0),borderRadius:1},children:en})}),jsxRuntimeExports.jsx(Popover$1,{...bindPopover(ln),anchorOrigin:centered,transformOrigin:centered,children:jsxRuntimeExports.jsx(TextField$1,{autoFocus:!0,onChange:un=>rn(un.target.value),defaultValue:en,placeholder:"0",InputProps:{sx:{fontSize:"0.875rem"},startAdornment:jsxRuntimeExports.jsx(InputAdornment$1,{position:"start",children:"Step"}),endAdornment:jsxRuntimeExports.jsx(InputAdornment$1,{position:"end",children:jsxRuntimeExports.jsx(IconButtonWithTooltip,{icon:jsxRuntimeExports.jsx(ArrowForwardOutlined,{}),label:"Go",size:"small",color:"inherit",disabled:!sn||an===en,onClick:()=>{tn(an),ln.close()}})})},sx:{width:180,border:"none"}})})]})})]})}function MinimisedPlaybackControls({layer:_e}){return jsxRuntimeExports.jsx(PopupState,{variant:"popover",children:Pt=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Collapse$1,{in:Pt.isOpen,orientation:"horizontal",children:jsxRuntimeExports.jsxs(Stack$1,{direction:"row",sx:{minWidth:"max-content"},children:[jsxRuntimeExports.jsx(Playback,{layer:_e}),divider$5]})}),jsxRuntimeExports.jsx(IconButtonWithTooltip,{size:"small",onClick:Pt.toggle,label:Pt.isOpen?"Hide Playback Controls":"Show Playback Controls",sx:{mx:-1,color:Dt=>Dt.palette.text.secondary,transform:Pt.isOpen?"rotate(180deg)":void 0,transition:Dt=>Dt.transitions.create("transform")},icon:jsxRuntimeExports.jsx(NavigateNextOutlined,{})})]})})}var ResizeSensor={exports:{}};(function(_e,Pt){(function(Dt,Nt){_e.exports=Nt()})(typeof window<"u"?window:commonjsGlobal,function(){if(typeof window>"u")return null;var Dt=typeof window<"u"&&window.Math==Math?window:typeof self<"u"&&self.Math==Math?self:Function("return this")(),Nt=Dt.requestAnimationFrame||Dt.mozRequestAnimationFrame||Dt.webkitRequestAnimationFrame||function(Xt){return Dt.setTimeout(Xt,20)},jt=Dt.cancelAnimationFrame||Dt.mozCancelAnimationFrame||Dt.webkitCancelAnimationFrame||function(Xt){Dt.clearTimeout(Xt)};function Ut(Xt,Zt){var Qt=Object.prototype.toString.call(Xt),en=Qt==="[object Array]"||Qt==="[object NodeList]"||Qt==="[object HTMLCollection]"||Qt==="[object Object]"||typeof jQuery<"u"&&Xt instanceof jQuery||typeof Elements<"u"&&Xt instanceof Elements,tn=0,nn=Xt.length;if(en)for(;tn=Cn&&(Nn+=En.value),En.mode==="max"&&Tn<=Cn&&(Nn+=En.value),yn[Fn]||(yn[Fn]=""),Nn&&(" "+yn[Fn]+" ").indexOf(" "+Nn+" ")===-1&&(yn[Fn]+=" "+Nn));for(var Sn in Bn)Bn.hasOwnProperty(Sn)&&(yn[Bn[Sn]]?this.element.setAttribute(Bn[Sn],yn[Bn[Sn]].substr(1)):this.element.removeAttribute(Bn[Sn]))}}function Qt(dn,hn){dn.elementQueriesSetupInformation||(dn.elementQueriesSetupInformation=new Zt(dn,hn)),dn.elementQueriesSensor||(dn.elementQueriesSensor=new Dt(dn,function(){dn.elementQueriesSetupInformation.call()}))}function en(dn,hn,vn,En){if(typeof Gt[dn]>"u"){Gt[dn]=[];var _n=Wt.length;Ut.innerHTML+=` `+dn+" {animation: 0.1s element-queries;}",Ut.innerHTML+=` `+dn+" > .resize-sensor {min-width: "+_n+"px;}",Wt.push(dn)}Gt[dn].push({mode:hn,property:vn,value:En})}function tn(dn){var hn;if(document.querySelectorAll&&(hn=dn?dn.querySelectorAll.bind(dn):document.querySelectorAll.bind(document)),!hn&&typeof $$<"u"&&(hn=$$),!hn&&typeof jQuery<"u"&&(hn=jQuery),!hn)throw"No document.querySelectorAll, jQuery or Mootools's $$ found.";return hn}function nn(dn){var hn=tn(dn);for(var vn in Gt)if(Gt.hasOwnProperty(vn))for(var En=hn(vn,dn),_n=0,Cn=En.length;_nvn[zn].minWidth&&(kn=zn);if(kn||(kn=_n),Cn!==kn)if(Tn[kn])hn[Cn].style.display="none",hn[kn].style.display="block",Cn=kn;else{var In=new Image;In.onload=function(){hn[kn].src=En[kn],hn[Cn].style.display="none",hn[kn].style.display="block",Tn[kn]=!0,Cn=kn},In.src=En[kn]}else hn[kn].src=En[kn]}dn.resizeSensorInstance=new Dt(dn,Sn),Sn()}function an(){for(var dn=tn(),hn=dn("[data-responsive-image],[responsive-image]"),vn=0,En=hn.length;vn img, [data-responsive-image] {overflow: hidden; padding: 0; } [responsive-image] > img, [data-responsive-image] > img {width: 100%;}",Ut.innerHTML+=` @keyframes element-queries { 0% { visibility: inherit; } }`,document.getElementsByTagName("head")[0].appendChild(Ut),mn=!0);for(var hn=0,vn=document.styleSheets.length;hn{if(Wt){const Xt=()=>{{const Zt=Wt.scrollTop<=_e;Zt!==Ut&&Gt(Zt)}{const Zt=Wt.scrollTop<=1;Zt!==Nt&&jt(Zt)}Yt.current-Wt.scrollTop&&(Math.abs(Yt.current-Wt.scrollTop)>2&&Yt.current>=0&&Dt(Yt.current>Wt.scrollTop),Yt.current=Wt.scrollTop)};return Wt.addEventListener("scroll",Xt,{passive:!0}),()=>{Wt.removeEventListener("scroll",Xt)}}},[Wt,Ut,Nt,Yt,_e]),[Pt||Ut,Ut,Nt,Wt,qt]}const PanelContext=reactExports.createContext(null);function usePanel(){return reactExports.useContext(PanelContext)}const[useUIState,UIStateProvider]=createSlice({sidebarOpen:!1,busy:{},depth:0,fullscreenModal:void 0,workspaceMeta:{id:nanoid$1(),name:"",description:"",screenshots:[],author:"",size:0}});/*! @@ -1006,7 +1007,7 @@ void main() { const events = $.__internal__?.events; const parent = $.__internal__?.parent; return ${_e}; - `);return Dt=>Pt(new Proxy(normalize$1(Dt),{get(Nt,jt){return typeof(Nt==null?void 0:Nt[jt])=="function"?Nt[jt]({}):Nt==null?void 0:Nt[jt]}}))},openBrace$1=/^\$\{\{\s*/,closeBrace$1=/^\s*\}\}/,neverMatch$1=/\b\B/,parser$2=distExports.parseStringTemplateGenerator({VARIABLE_START:openBrace$1,VARIABLE_END:closeBrace$1,PIPE_START:neverMatch$1,PIPE_PARAMETER_START:neverMatch$1,QUOTED_STRING:neverMatch$1}),parseString$1=memoizee$1(_e=>{const Pt=parser$2(_e);return lodashExports$1.join(Pt.literals,"")?Dt=>distExports.evaluateParsedString(Pt,{},{},Nt=>parseToken$1(Nt)(Dt)):parseToken$1(Pt.variables[0].name)},{primitive:!0});function parseProperty$1(_e){switch(_e==null?void 0:_e.constructor){case Array:{const Pt=lodashExports$1.map(_e,parseProperty$1);return Dt=>lodashExports$1.map(Pt,Nt=>Nt(Dt))}case Object:{const Pt=lodashExports$1.mapValues(_e,parseProperty$1);return Dt=>lodashExports$1.mapValues(Pt,Nt=>Nt(Dt))}case String:return parseString$1(_e);default:return()=>_e}}function commonjsRequire(_e){throw new Error('Could not dynamically require "'+_e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var pluralize$1={exports:{}};(function(_e,Pt){(function(Dt,Nt){typeof commonjsRequire=="function"?_e.exports=Nt():Dt.pluralize=Nt()})(commonjsGlobal,function(){var Dt=[],Nt=[],jt={},Ut={},Gt={};function Wt(nn){return typeof nn=="string"?new RegExp("^"+nn+"$","i"):nn}function qt(nn,rn){return nn===rn?rn:nn===nn.toLowerCase()?rn.toLowerCase():nn===nn.toUpperCase()?rn.toUpperCase():nn[0]===nn[0].toUpperCase()?rn.charAt(0).toUpperCase()+rn.substr(1).toLowerCase():rn.toLowerCase()}function Yt(nn,rn){return nn.replace(/\$(\d{1,2})/g,function(an,sn){return rn[sn]||""})}function Xt(nn,rn){return nn.replace(rn[0],function(an,sn){var ln=Yt(rn[1],arguments);return qt(an===""?nn[sn-1]:an,ln)})}function Zt(nn,rn,an){if(!nn.length||jt.hasOwnProperty(nn))return rn;for(var sn=an.length;sn--;){var ln=an[sn];if(ln[0].test(rn))return Xt(rn,ln)}return rn}function Qt(nn,rn,an){return function(sn){var ln=sn.toLowerCase();return rn.hasOwnProperty(ln)?qt(sn,ln):nn.hasOwnProperty(ln)?qt(sn,nn[ln]):Zt(ln,sn,an)}}function en(nn,rn,an,sn){return function(ln){var un=ln.toLowerCase();return rn.hasOwnProperty(un)?!0:nn.hasOwnProperty(un)?!1:Zt(un,un,an)===un}}function tn(nn,rn,an){var sn=rn===1?tn.singular(nn):tn.plural(nn);return(an?rn+" ":"")+sn}return tn.plural=Qt(Gt,Ut,Dt),tn.isPlural=en(Gt,Ut,Dt),tn.singular=Qt(Ut,Gt,Nt),tn.isSingular=en(Ut,Gt,Nt),tn.addPluralRule=function(nn,rn){Dt.push([Wt(nn),rn])},tn.addSingularRule=function(nn,rn){Nt.push([Wt(nn),rn])},tn.addUncountableRule=function(nn){if(typeof nn=="string"){jt[nn.toLowerCase()]=!0;return}tn.addPluralRule(nn,"$0"),tn.addSingularRule(nn,"$0")},tn.addIrregularRule=function(nn,rn){rn=rn.toLowerCase(),nn=nn.toLowerCase(),Gt[nn]=rn,Ut[rn]=nn},[["I","we"],["me","us"],["he","they"],["she","they"],["them","them"],["myself","ourselves"],["yourself","yourselves"],["itself","themselves"],["herself","themselves"],["himself","themselves"],["themself","themselves"],["is","are"],["was","were"],["has","have"],["this","these"],["that","those"],["echo","echoes"],["dingo","dingoes"],["volcano","volcanoes"],["tornado","tornadoes"],["torpedo","torpedoes"],["genus","genera"],["viscus","viscera"],["stigma","stigmata"],["stoma","stomata"],["dogma","dogmata"],["lemma","lemmata"],["schema","schemata"],["anathema","anathemata"],["ox","oxen"],["axe","axes"],["die","dice"],["yes","yeses"],["foot","feet"],["eave","eaves"],["goose","geese"],["tooth","teeth"],["quiz","quizzes"],["human","humans"],["proof","proofs"],["carve","carves"],["valve","valves"],["looey","looies"],["thief","thieves"],["groove","grooves"],["pickaxe","pickaxes"],["passerby","passersby"]].forEach(function(nn){return tn.addIrregularRule(nn[0],nn[1])}),[[/s?$/i,"s"],[/[^\u0000-\u007F]$/i,"$0"],[/([^aeiou]ese)$/i,"$1"],[/(ax|test)is$/i,"$1es"],[/(alias|[^aou]us|t[lm]as|gas|ris)$/i,"$1es"],[/(e[mn]u)s?$/i,"$1s"],[/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i,"$1"],[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1i"],[/(alumn|alg|vertebr)(?:a|ae)$/i,"$1ae"],[/(seraph|cherub)(?:im)?$/i,"$1im"],[/(her|at|gr)o$/i,"$1oes"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i,"$1a"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i,"$1a"],[/sis$/i,"ses"],[/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i,"$1$2ves"],[/([^aeiouy]|qu)y$/i,"$1ies"],[/([^ch][ieo][ln])ey$/i,"$1ies"],[/(x|ch|ss|sh|zz)$/i,"$1es"],[/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i,"$1ices"],[/\b((?:tit)?m|l)(?:ice|ouse)$/i,"$1ice"],[/(pe)(?:rson|ople)$/i,"$1ople"],[/(child)(?:ren)?$/i,"$1ren"],[/eaux$/i,"$0"],[/m[ae]n$/i,"men"],["thou","you"]].forEach(function(nn){return tn.addPluralRule(nn[0],nn[1])}),[[/s$/i,""],[/(ss)$/i,"$1"],[/(wi|kni|(?:after|half|high|low|mid|non|night|[^\w]|^)li)ves$/i,"$1fe"],[/(ar|(?:wo|[ae])l|[eo][ao])ves$/i,"$1f"],[/ies$/i,"y"],[/\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i,"$1ie"],[/\b(mon|smil)ies$/i,"$1ey"],[/\b((?:tit)?m|l)ice$/i,"$1ouse"],[/(seraph|cherub)im$/i,"$1"],[/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i,"$1"],[/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i,"$1sis"],[/(movie|twelve|abuse|e[mn]u)s$/i,"$1"],[/(test)(?:is|es)$/i,"$1is"],[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1us"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i,"$1um"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i,"$1on"],[/(alumn|alg|vertebr)ae$/i,"$1a"],[/(cod|mur|sil|vert|ind)ices$/i,"$1ex"],[/(matr|append)ices$/i,"$1ix"],[/(pe)(rson|ople)$/i,"$1rson"],[/(child)ren$/i,"$1"],[/(eau)x?$/i,"$1"],[/men$/i,"man"]].forEach(function(nn){return tn.addSingularRule(nn[0],nn[1])}),["adulthood","advice","agenda","aid","aircraft","alcohol","ammo","analytics","anime","athletics","audio","bison","blood","bream","buffalo","butter","carp","cash","chassis","chess","clothing","cod","commerce","cooperation","corps","debris","diabetes","digestion","elk","energy","equipment","excretion","expertise","firmware","flounder","fun","gallows","garbage","graffiti","hardware","headquarters","health","herpes","highjinks","homework","housework","information","jeans","justice","kudos","labour","literature","machinery","mackerel","mail","media","mews","moose","music","mud","manga","news","only","personnel","pike","plankton","pliers","police","pollution","premises","rain","research","rice","salmon","scissors","series","sewage","shambles","shrimp","software","species","staff","swine","tennis","traffic","transportation","trout","tuna","wealth","welfare","whiting","wildebeest","wildlife","you",/pok[eé]mon$/i,/[^aeiou]ese$/i,/deer$/i,/fish$/i,/measles$/i,/o[iu]s$/i,/pox$/i,/sheep$/i].forEach(tn.addUncountableRule),tn})})(pluralize$1);var pluralizeExports=pluralize$1.exports;const pluralize=getDefaultExportFromCjs(pluralizeExports),parseTraceWorkerLegacyUrl=""+new URL("parseTrace.worker-a1ab9f6c.js",import.meta.url).href,parseTraceWorkerUrl=""+new URL("parseTrace.worker-6a8ce322.js",import.meta.url).href;class ParseTraceWorker extends Worker{constructor(){super(parseTraceWorkerUrl,{type:"module"})}}class ParseTraceWorkerLegacy extends Worker{constructor(){super(parseTraceWorkerLegacyUrl,{type:"module"})}}const parseTraceAsync=usingMemoizedWorkerTask(ParseTraceWorker),parseTraceLegacyAsync=usingMemoizedWorkerTask(ParseTraceWorkerLegacy);function useTraceParser(_e){const Pt=useSnackbar(),Dt=useLoadingState("specimen");return reactExports.useCallback(()=>Dt(async()=>{var Nt;if(_e!=null&&_e.trace){Pt("Processing trace...");try{const jt=_e.trace.version==="1.4.0"?await parseTraceAsync(_e):await parseTraceLegacyAsync(_e);return Pt("Trace loaded",pluralize("step",((Nt=jt==null?void 0:jt.stepsPersistent)==null?void 0:Nt.length)??0,!0)),{components:jt,content:_e.trace}}catch(jt){return console.error(jt),Pt("Error parsing",lodashExports$1.get(jt,"message")),{error:lodashExports$1.get(jt,"message")}}}}),[_e])}function mapProperties(_e={},Pt){const Dt={};for(const Nt of Object.keys(_e))Dt[Nt]=Nt==="$"?_e[Nt]:Pt(_e[Nt],Nt,_e);return Object.setPrototypeOf(Dt,_e)}function normalize(_e={}){return mapProperties(_e,Pt=>lodashExports$1.isFunction(Pt)?Pt:parseProperty(Pt))}const parseToken=_e=>{const Pt=Function("$",`return ${_e};`);return Dt=>Pt(new Proxy(normalize(Dt),{get(Nt,jt){return typeof(Nt==null?void 0:Nt[jt])=="function"?Nt[jt]({}):Nt==null?void 0:Nt[jt]}}))},openBrace=/^\{\{\s*/,closeBrace=/^\s*\}\}/,neverMatch=/\b\B/,parser$1=distExports.parseStringTemplateGenerator({VARIABLE_START:openBrace,VARIABLE_END:closeBrace,PIPE_START:neverMatch,PIPE_PARAMETER_START:neverMatch,QUOTED_STRING:neverMatch}),parseString=memoizee$1(_e=>{const Pt=parser$1(_e);return lodashExports$1.join(Pt.literals,"")?Dt=>distExports.evaluateParsedString(Pt,{},{},Nt=>parseToken(Nt)(Dt)):parseToken(Pt.variables[0].name)},{primitive:!0});function parseProperty(_e){switch(_e==null?void 0:_e.constructor){case Array:{const Pt=lodashExports$1.map(_e,parseProperty);return Dt=>lodashExports$1.map(Pt,Nt=>Nt(Dt))}case Object:{const Pt=lodashExports$1.mapValues(_e,parseProperty);return Dt=>lodashExports$1.mapValues(Pt,Nt=>Nt(Dt))}case String:return parseString(_e);default:return()=>_e}}function useTraceContent(_e){const Pt=useSnackbar(),Dt=useLoadingState("specimen"),Nt=useConnectionResolver(),[{traces:jt}]=useFeatures(),Ut=reactExports.useMemo(()=>memoizee$1(async({source:Xt,id:Zt})=>{if(Xt&&Zt){const Qt=Nt({url:Xt});if(Qt){Pt("Fetching trace...");const en=await Qt.transport().call("features/trace",{id:Zt});return en==null?void 0:en.content}}},{normalizer:JSON.stringify}),[Nt,Pt]),{content:Gt,source:Wt,id:qt}=_e??{},{lastModified:Yt}=lodashExports$1.find(jt,{id:qt,source:Wt})??{};return useAsync(()=>Dt(async()=>{if(qt)return{..._e,content:Gt||await Ut({source:Wt,id:qt,lastModified:Yt})}}),[Ut,Gt,Wt,qt,Yt])}const labelScale=1.25,reuseCanvas={canvas:document.createElement("canvas")};function getTextWidth(_e,Pt){const Nt=(reuseCanvas.canvas||(reuseCanvas.canvas=document.createElement("canvas"))).getContext("2d");return Nt.font=Pt,Nt.measureText(_e).width}const isNullish=_e=>_e==null;function makePathIndex(_e){const Pt=[],Dt={},Nt={},jt=lodashExports$1.chain(_e==null?void 0:_e.events).map((Wt,qt)=>({step:qt,id:Wt.id,pId:Wt.pId})).groupBy("id").value();lodashExports$1.forEach(_e==null?void 0:_e.events,({id:Wt,pId:qt},Yt)=>{!isNullish(qt)&&Dt[Wt]!==qt&&(Pt.push({id:Wt,pId:qt,step:Yt,prev:lodashExports$1.last(Pt)}),Dt[Wt]=qt),Nt[Yt]=lodashExports$1.last(Pt)});const Ut=(Wt,qt=(Yt=>(Yt=_e==null?void 0:_e.events)==null?void 0:Yt.length)()??0)=>{let Xt=Nt[qt];for(;Xt;){if(Xt.id===Wt)return Xt.pId;Xt=Xt.prev}};return{getParent:Ut,getPath:Wt=>{const qt=[Wt];let Yt={...(_e.events??[])[Wt],step:Wt};for(;Yt;){const Xt=Ut(Yt.id,Yt.step);if(Xt){const Zt=lodashExports$1.findLast(jt[Xt],Qt=>Qt.step<=Yt.step);if(Zt)qt.push(Zt.step),Yt=Zt;else break}else break}return qt}}}const controller$1={key:"trace",icon:jsxRuntimeExports.jsx(RouteTwoTone,{}),inferName:_e=>{var Pt,Dt;return((Dt=(Pt=_e.source)==null?void 0:Pt.trace)==null?void 0:Dt.name)??"Untitled Trace"},error:_e=>{var Pt,Dt,Nt,jt;return((Dt=(Pt=_e==null?void 0:_e.source)==null?void 0:Pt.trace)==null?void 0:Dt.error)||((jt=(Nt=_e==null?void 0:_e.source)==null?void 0:Nt.parsedTrace)==null?void 0:jt.error)},claimImportedFile:async _e=>isTraceFormat(_e)?{claimed:!0,layer:async Pt=>{Pt("Opening trace...");try{return{trace:{...await readUploadedTrace(_e).read()}}}catch(Dt){return console.error(Dt),Pt(`Error opening, ${lodashExports$1.get(Dt,"message")}`),{trace:{key:nanoid$1(),id:custom$1().id,error:lodashExports$1.get(Dt,"message"),name:lodashExports$1.startCase(name$2(_e.name))}}}}}:{claimed:!1},editor:withProduce(({value:_e,produce:Pt})=>{var Dt,Nt,jt,Ut,Gt,Wt,qt,Yt,Xt,Zt,Qt;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Option,{label:"Trace",content:jsxRuntimeExports.jsx(TracePicker,{onChange:en=>Pt(tn=>lodashExports$1.set(tn,"source.trace",en)),value:(Dt=_e==null?void 0:_e.source)==null?void 0:Dt.trace})}),((jt=(Nt=_e==null?void 0:_e.source)==null?void 0:Nt.trace)==null?void 0:jt.error)&&jsxRuntimeExports.jsx(Type$2,{variant:"body2",color:en=>en.palette.error.main,sx:{whiteSpace:"pre-wrap",mb:1,mt:1},children:jsxRuntimeExports.jsx("code",{children:(Gt=(Ut=_e==null?void 0:_e.source)==null?void 0:Ut.trace)==null?void 0:Gt.error})}),((qt=(Wt=_e==null?void 0:_e.source)==null?void 0:Wt.parsedTrace)==null?void 0:qt.error)&&jsxRuntimeExports.jsx(Type$2,{variant:"body2",color:en=>en.palette.error.main,sx:{whiteSpace:"pre-wrap",mb:1,mt:1},children:jsxRuntimeExports.jsx("code",{children:(Xt=(Yt=_e==null?void 0:_e.source)==null?void 0:Yt.parsedTrace)==null?void 0:Xt.error})}),jsxRuntimeExports.jsx(Heading,{label:"Preview"}),jsxRuntimeExports.jsx(Box$1,{sx:{height:240,mx:-2},children:jsxRuntimeExports.jsx(TracePreview,{trace:(Qt=(Zt=_e==null?void 0:_e.source)==null?void 0:Zt.parsedTrace)==null?void 0:Qt.content})})]})}),service:withProduce(({value:_e,produce:Pt})=>{var Ut;const{palette:Dt}=useTheme(),{result:Nt}=useTraceContent((Ut=_e==null?void 0:_e.source)==null?void 0:Ut.trace),jt=useTraceParser({trace:Nt==null?void 0:Nt.content,context:{theme:{foreground:Dt.text.primary,background:Dt.background.paper,accent:Dt.primary.main},color:{...colorsHex,...lodashExports$1.mapValues(accentColors,(Gt,Wt)=>getShade(Wt,Dt.mode,500,400))},themeAccent:Dt.primary.main,themeTextPrimary:Dt.text.primary,themeBackground:Dt.background.paper},view:"main"});return reactExports.useEffect(()=>{Pt(Gt=>{var Wt,qt;return lodashExports$1.set(Gt,"source.playbackTo",((qt=(Wt=Nt==null?void 0:Nt.content)==null?void 0:Wt.events)==null?void 0:qt.length)??0)})},[Nt==null?void 0:Nt.key,Nt==null?void 0:Nt.lastModified]),useEffectWhen(async()=>{const Gt=await jt();Pt(Wt=>{lodashExports$1.set(Wt,"source.parsedTrace",Gt),lodashExports$1.set(Wt,"viewKey",nanoid$1())})},[jt],[Nt==null?void 0:Nt.key,Dt.mode]),jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx(PlaybackService,{value:_e})})}),renderer:({layer:_e,index:Pt})=>{var qt,Yt,Xt;const Dt=(Yt=(qt=_e==null?void 0:_e.source)==null?void 0:qt.parsedTrace)==null?void 0:Yt.components,Nt=useThrottle$1(((Xt=_e==null?void 0:_e.source)==null?void 0:Xt.step)??0,1e3/60),jt=use2DPath(_e,Pt,Nt),Ut=reactExports.useMemo(()=>lodashExports$1.map(Dt==null?void 0:Dt.stepsPersistent,Zt=>lodashExports$1.map(Zt,Qt=>lodashExports$1.merge(Qt,{meta:{sourceLayer:_e==null?void 0:_e.key,sourceLayerIndex:Pt,sourceLayerAlpha:1-.01*+((_e==null?void 0:_e.transparency)??0),sourceLayerDisplayMode:(_e==null?void 0:_e.displayMode)??"source-over"}}))),[Dt==null?void 0:Dt.stepsPersistent,_e==null?void 0:_e.key,_e==null?void 0:_e.transparency,_e==null?void 0:_e.displayMode,Pt]),Gt=reactExports.useMemo(()=>lodashExports$1.map(Dt==null?void 0:Dt.stepsTransient,Zt=>lodashExports$1.map(Zt,Qt=>lodashExports$1.merge(Qt,{meta:{sourceLayer:_e==null?void 0:_e.key,sourceLayerIndex:Pt,sourceLayerAlpha:1-.01*+((_e==null?void 0:_e.transparency)??0),sourceLayerDisplayMode:(_e==null?void 0:_e.displayMode)??"source-over"}}))),[Dt==null?void 0:Dt.stepsTransient,_e==null?void 0:_e.key,_e==null?void 0:_e.transparency,_e==null?void 0:_e.displayMode,Pt]),Wt=reactExports.useMemo(()=>[Gt[Nt]??[]],[Gt,Nt]);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(LazyNodeList,{end:Nt,nodes:Ut}),jsxRuntimeExports.jsx(NodeList,{nodes:Wt}),jt]})},steps:_e=>{var Pt,Dt,Nt;return((Nt=(Dt=(Pt=_e==null?void 0:_e.source)==null?void 0:Pt.parsedTrace)==null?void 0:Dt.content)==null?void 0:Nt.events)??[]},provideSelectionInfo:({layer:_e,event:Pt,children:Dt})=>{const{layer:Nt,setLayer:jt}=useLayer(_e),Ut=reactExports.useMemo(()=>{var Yt,Xt,Zt,Qt,en;const Gt=((Zt=(Xt=(Yt=Nt==null?void 0:Nt.source)==null?void 0:Yt.parsedTrace)==null?void 0:Xt.content)==null?void 0:Zt.events)??[],Wt=lodashExports$1.chain((Qt=Pt==null?void 0:Pt.info)==null?void 0:Qt.components).filter(tn=>{var nn;return((nn=tn.meta)==null?void 0:nn.sourceLayer)===(Nt==null?void 0:Nt.key)}).map(tn=>{var nn;return(nn=tn.meta)==null?void 0:nn.step}).filter(lodashExports$1.negate(lodashExports$1.isUndefined)).sort((tn,nn)=>tn-nn).value(),qt=lodashExports$1.chain((en=Pt==null?void 0:Pt.info)==null?void 0:en.components).filter(tn=>{var nn;return((nn=tn.meta)==null?void 0:nn.sourceLayer)===(Nt==null?void 0:Nt.key)}).filter(tn=>{var nn;return(nn=tn.meta)==null?void 0:nn.info}).value();if(Wt.length&&Nt){const tn=lodashExports$1.last(Wt),nn=Gt[tn];if(nn)return{...lodashExports$1.keyBy(lodashExports$1.map(qt,(rn,an)=>({key:`${Nt.key}.${an}`,primary:`Selection in ${inferLayerName(Nt)}`,items:{info:{index:-1,primary:jsxRuntimeExports.jsx(PropertyList,{event:rn.meta.info,vertical:!0})}}})),"key"),[Nt.key]:{primary:inferLayerName(Nt),items:{properties:{index:-2,primary:jsxRuntimeExports.jsx(PropertyList,{event:nn,vertical:!0,simple:!0,primitives:!0})},propertiesDetails:{index:-1,extras:jsxRuntimeExports.jsx(PropertyDialog,{event:nn,trigger:rn=>jsxRuntimeExports.jsxs(MenuItem$1,{onClick:rn,children:[jsxRuntimeExports.jsx(ListItemIcon$1,{children:jsxRuntimeExports.jsx(DataObjectOutlined,{})}),jsxRuntimeExports.jsx(ListItemText$1,{sx:{mr:4},children:"See properties"}),jsxRuntimeExports.jsxs(Type$2,{variant:"body2",color:"text.secondary",children:["Step ",tn]})]})})},[`${nn}`]:{primary:`Go to step ${tn}`,secondary:`${lodashExports$1.startCase(nn.type)}`,action:()=>jt(produce(Nt,rn=>{lodashExports$1.set(rn,"source.step",tn)})),icon:jsxRuntimeExports.jsx(ArrowOutwardRounded,{})}}}}}return{}},[Nt,Pt]);return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:Dt==null?void 0:Dt(Ut)})},getSources:_e=>{var Dt;const Pt=(Dt=_e==null?void 0:_e.source)==null?void 0:Dt.trace;return Pt?[{id:"trace",name:`(Source) ${Pt.name}`,language:"yaml",content:dump(Pt.content,{noCompatMode:!0})}]:[]}},labelSize=.8;function use2DPath(_e,Pt=0,Dt=0){var Gt,Wt,qt;const{palette:Nt}=useTheme(),{getPath:jt}=reactExports.useMemo(()=>{var Yt,Xt,Zt;return((Yt=_e==null?void 0:_e.source)==null?void 0:Yt.playback)!=="playing"&&((Zt=(Xt=_e==null?void 0:_e.source)==null?void 0:Xt.parsedTrace)!=null&&Zt.content)?makePathIndex(_e.source.parsedTrace.content):{getParent:lodashExports$1.constant(void 0),getPath:lodashExports$1.constant([])}},[(Wt=(Gt=_e==null?void 0:_e.source)==null?void 0:Gt.parsedTrace)==null?void 0:Wt.content,(qt=_e==null?void 0:_e.source)==null?void 0:qt.playback]);return reactExports.useMemo(()=>{var Zt,Qt,en,tn,nn,rn,an,sn,ln,un,pn,mn;const Yt=interpolate$1([Nt.background.paper,Nt.text.primary])(.05),Xt=(Qt=(Zt=_e==null?void 0:_e.source)==null?void 0:Zt.parsedTrace)==null?void 0:Qt.content;if((en=Xt==null?void 0:Xt.render)!=null&&en.path||Xt!=null&&Xt.pivot){const dn=((nn=(tn=Xt==null?void 0:Xt.render)==null?void 0:tn.path)==null?void 0:nn.pivot)??(Xt==null?void 0:Xt.pivot)??{},hn=(an=(rn=Xt==null?void 0:Xt.render)==null?void 0:rn.path)!=null&&an.scale?Xt.render.path.scale*(1/.3):((sn=Xt==null?void 0:Xt.pivot)==null?void 0:sn.scale)??1,{x:vn,y:En}=dn,_n=(Xt==null?void 0:Xt.version)==="1.4.0"?parseProperty$1:Fn=>Bn=>parseProperty(Fn)({event:Bn}),Cn=vn?_n(vn):Fn=>Fn.x,Tn=En?_n(En):Fn=>Fn.y,yn=lodashExports$1.map(jt(Dt),Fn=>{var Bn;return(Bn=Xt==null?void 0:Xt.events)==null?void 0:Bn[Fn]}),Nn={x:Cn({x:0,y:0,...lodashExports$1.head(yn)}),y:Tn({x:0,y:0,...lodashExports$1.head(yn)})};if(yn.length){const Fn=`${lodashExports$1.startCase((ln=lodashExports$1.head(yn))==null?void 0:ln.type)} ${(un=lodashExports$1.head(yn))==null?void 0:un.id}`,Bn=getTextWidth(Fn,`${labelSize*hn*labelScale}px Inter`),Sn=[{$:"circle",x:Cn({x:0,y:0,...lodashExports$1.last(yn)}),y:Tn({x:0,y:0,...lodashExports$1.last(yn)}),fill:Nt.primary.main,radius:.3*hn},{$:"path",points:yn.map(kn=>({x:Cn({x:0,y:0,...kn}),y:Tn({x:0,y:0,...kn})})),fill:Nt.primary.main,alpha:1,lineWidth:.3*hn},{$:"circle",...Nn,fill:Nt.primary.main,radius:.3*hn},{$:"rect",alpha:.85,fill:Yt,x:Nn.x-.3*hn*labelScale,y:Nn.y-2*hn*labelScale,width:Bn+(.8+.5)*hn*labelScale,height:1.4*hn*labelScale},{$:"path",points:[{x:Nn.x,y:Nn.y},{x:Nn.x+(-.3-.05)*hn*labelScale,y:Nn.y+(-2+1.4)*hn*labelScale}],fill:getColorHex((pn=lodashExports$1.head(yn))==null?void 0:pn.type),alpha:1,lineWidth:.1*hn*labelScale},{$:"rect",x:Nn.x+(-.3-.1)*hn*labelScale,y:Nn.y+-2*hn*labelScale,fill:getColorHex((mn=lodashExports$1.head(yn))==null?void 0:mn.type),height:1.4*hn*labelScale,width:.1*hn*labelScale},{$:"rect",alpha:0,fill:"rgba(255, 255, 255, 0)",x:Nn.x-.3*hn*labelScale,y:Nn.y-2*hn*labelScale,width:Bn*2,height:1*hn*labelScale,label:Fn,"label-size":labelSize*hn*labelScale,"label-x":(.1+.5)*hn*labelScale,"label-y":1*hn*labelScale,"label-color":Nt.text.primary}];return jsxRuntimeExports.jsx(NodeList,{nodes:[lodashExports$1.map(Sn,kn=>({component:kn,meta:{source:"path",sourceLayerIndex:-99999+Pt}}))]})}}return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{})},[_e,Pt,Dt,Nt,jt])}const mapValuesDeep=(_e,Pt)=>lodashExports$1.isArray(_e)?lodashExports$1.map(_e,Dt=>mapValuesDeep(Dt,Pt)):lodashExports$1.isObject(_e)?lodashExports$1.mapValues(_e,Dt=>mapValuesDeep(Dt,Pt)):Pt(_e);async function findConnection(_e,Pt,Dt){for(const Nt of _e){const jt=await Nt.transport().call("features/algorithms"),Ut=await Nt.transport().call("features/formats");if(lodashExports$1.find(jt,{id:Pt})&&lodashExports$1.find(Ut,{id:Dt}))return Nt}}const maxStringPropLength=40,controller={...lodashExports$1.omit(controller$1,"claimImportedFile"),key:"query",icon:jsxRuntimeExports.jsx(RouteTwoTone,{}),editor:withProduce(({value:_e,produce:Pt})=>{var Yt,Xt;const{algorithm:Dt}=(_e==null?void 0:_e.source)??{},{layers:Nt,allLayers:jt,layer:Ut,key:Gt}=useLayer(void 0,Zt=>{var Qt;return((Qt=Zt.source)==null?void 0:Qt.type)==="map"}),[{algorithms:Wt}]=useFeatures(),[qt]=useConnections();return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Option,{label:"Algorithm",content:jsxRuntimeExports.jsx(FeaturePicker,{arrow:!0,paper:!0,icon:jsxRuntimeExports.jsx(CodeOutlined,{}),label:"Algorithm",value:Dt,items:Wt.map(Zt=>{var Qt;return{...Zt,description:(Qt=lodashExports$1.find(qt,{url:Zt.source}))==null?void 0:Qt.name}}),onChange:async Zt=>Pt(Qt=>lodashExports$1.set(Qt,"source.algorithm",Zt))})}),!(Wt!=null&&Wt.length)&&jsxRuntimeExports.jsx(Type$2,{variant:"body2",color:"warning.main",sx:{mb:1},children:"No connected solver has declared support for running algorithms"}),jsxRuntimeExports.jsx(Option,{label:"Map",content:jsxRuntimeExports.jsx(FeaturePicker,{arrow:!0,paper:!0,icon:jsxRuntimeExports.jsx(LayersIcon,{}),label:"Layer",value:Gt,items:jt.map(Zt=>({id:Zt.key,hidden:!lodashExports$1.find(Nt,Qt=>Qt.key===Zt.key),name:inferLayerName(Zt)})),onChange:async Zt=>Pt(Qt=>lodashExports$1.set(Qt,"source.mapLayerKey",Zt))})}),Ut&&jsxRuntimeExports.jsxs(Type$2,{variant:"body2",color:"text.secondary",sx:{mb:1,mt:1},children:["Define source and destination nodes by clicking on valid regions on"," ",inferLayerName(Ut)]}),jsxRuntimeExports.jsx(Heading,{label:"Preview"}),jsxRuntimeExports.jsx(Box$1,{sx:{height:240,mx:-2},children:jsxRuntimeExports.jsx(TracePreview,{trace:(Xt=(Yt=_e==null?void 0:_e.source)==null?void 0:Yt.trace)==null?void 0:Xt.content})})]})}),service:withProduce(({value:_e,produce:Pt,onChange:Dt})=>{var tn;const Nt=controller$1.service,jt=useSnackbar(),{algorithm:Ut,mapLayerKey:Gt,start:Wt,end:qt}=(_e==null?void 0:_e.source)??{},[{layers:Yt}]=useLayers(),[Xt]=useConnections(),[{algorithms:Zt}]=useFeatures(),Qt=reactExports.useMemo(()=>{if(Gt&&Ut)return lodashExports$1.find(Yt,{key:Gt})},[Gt,Ut,Yt]),{result:en}=useMapContent((tn=Qt==null?void 0:Qt.source)==null?void 0:tn.map);return useEffectWhenAsync(async nn=>{var rn;if(Qt&&en&&Ut){const{format:an}=((rn=Qt==null?void 0:Qt.source)==null?void 0:rn.map)??{},{content:sn}=en??{};if(an&&sn){const ln=await findConnection(Xt,Ut,an),un=lodashExports$1.find(Zt,{id:Ut});if(ln){jt(`Executing ${inferLayerName(_e)} using ${ln.name}...`);const pn={format:an,instances:[{start:Wt??0,end:qt??0}],mapURI:`map:${encodeURIComponent(sn)}`,algorithm:Ut},mn=await ln.transport().call("solve/pathfinding",pn);nn.aborted?jt("Canceled"):Pt(dn=>{lodashExports$1.set(dn,"source.trace",{name:`${un==null?void 0:un.name}`,content:mn,key:nanoid$1(),id:nanoid$1()}),lodashExports$1.set(dn,"source.query",pn)})}}}},[Qt,Xt,Ut,Wt,qt,Pt,jt,_e,Zt],[Qt,en,Xt,Ut,Wt,qt]),jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx(Nt,{value:_e,onChange:Dt})})}),inferName:_e=>{var Pt,Dt;return((Dt=(Pt=_e.source)==null?void 0:Pt.trace)==null?void 0:Dt.name)??"Untitled Query"},provideSelectionInfo:({children:_e,event:Pt,layer:Dt})=>{const Nt=controller$1.provideSelectionInfo,{layer:jt,setLayer:Ut,layers:Gt}=useLayer(Dt),Wt=reactExports.useMemo(()=>{const Yt=lodashExports$1.filter(Gt,{source:{type:"map"}});return lodashExports$1.filter(lodashExports$1.map(Yt,Xt=>{var Qt,en,tn,nn;const{parsedMap:Zt}=(Xt==null?void 0:Xt.source)??{};if(Zt&&Pt){const rn=(nn=(tn=getParser((en=(Qt=Xt==null?void 0:Xt.source)==null?void 0:Qt.map)==null?void 0:en.format))==null?void 0:tn.hydrate)==null?void 0:nn.call(tn,Zt);if(rn){const an=(Pt==null?void 0:Pt.world)&&rn.snap(Pt.world);if(an){const sn=(Pt==null?void 0:Pt.world)&&rn.nodeAt(an);return{point:an,node:sn,key:Xt.key,name:inferLayerName(Xt)}}}}}))},[Gt]),qt=reactExports.useMemo(()=>!!jt&&!!Wt.length&&{[jt.key]:{primary:inferLayerName(jt),items:{...lodashExports$1.reduce(Wt,(Yt,Xt)=>({...Yt,[`${Dt}-${Xt==null?void 0:Xt.key}-source`]:{primary:"Set as source",secondary:Xt==null?void 0:Xt.name,action:()=>Ut(produce(jt,Zt=>{lodashExports$1.set(Zt,"source.start",Xt==null?void 0:Xt.node),lodashExports$1.set(Zt,"source.query",void 0),lodashExports$1.set(Zt,"source.mapLayerKey",Xt==null?void 0:Xt.key),lodashExports$1.set(Zt,"source.trace",void 0)})),icon:jsxRuntimeExports.jsx(StartIcon,{sx:{transform:"scale(0.5)"}})},[`${Dt}-${Xt==null?void 0:Xt.key}-destination`]:{primary:"Set as destination",secondary:Xt==null?void 0:Xt.name,action:()=>Ut(produce(jt,Zt=>{lodashExports$1.set(Zt,"source.end",Xt==null?void 0:Xt.node),lodashExports$1.set(Zt,"source.query",void 0),lodashExports$1.set(Zt,"source.mapLayerKey",Xt==null?void 0:Xt.key),lodashExports$1.set(Zt,"source.trace",void 0)})),icon:jsxRuntimeExports.jsx(DestinationIcon,{})}}),{})}}},[Wt,jt,Gt,Ut]);return jsxRuntimeExports.jsx(Nt,{event:Pt,layer:Dt,children:Yt=>_e==null?void 0:_e(lodashExports$1.merge(Yt,qt))})},getSources:_e=>{const{algorithm:Pt=null,start:Dt=0,end:Nt=0,query:jt}=(_e==null?void 0:_e.source)??{};return[{id:"params",name:"Query",language:"yaml",content:dump({algorithm:Pt,instances:[{start:Dt,end:Nt}],mapURI:"(...)",format:"(...)",...mapValuesDeep(jt,Ut=>typeof Ut=="string"&&Ut.length>maxStringPropLength?`${lodashExports$1.truncate(Ut,{length:maxStringPropLength})} (${Ut.length} characters)`:Ut)},{noCompatMode:!0})},...controller$1.getSources(_e)]}};function getLayerHandler(_e){var Pt;return layerHandlers[((Pt=_e==null?void 0:_e.source)==null?void 0:Pt.type)??""]}const layerHandlers={trace:controller$1,map:controller$2,query:controller};function inferLayerName(_e){var Pt,Dt;return _e!=null&&_e.name?_e==null?void 0:_e.name:(Pt=_e==null?void 0:_e.source)!=null&&Pt.type?layerHandlers[(Dt=_e.source)==null?void 0:Dt.type].inferName(_e):"Untitled Layer"}var ReactReduxContext=React.createContext(null);function defaultNoopBatch(_e){_e()}var batch=defaultNoopBatch,setBatch=function(Pt){return batch=Pt},getBatch=function(){return batch};function createListenerCollection(){var _e=getBatch(),Pt=null,Dt=null;return{clear:function(){Pt=null,Dt=null},notify:function(){_e(function(){for(var jt=Pt;jt;)jt.callback(),jt=jt.next})},get:function(){for(var jt=[],Ut=Pt;Ut;)jt.push(Ut),Ut=Ut.next;return jt},subscribe:function(jt){var Ut=!0,Gt=Dt={callback:jt,next:null,prev:Dt};return Gt.prev?Gt.prev.next=Gt:Pt=Gt,function(){!Ut||Pt===null||(Ut=!1,Gt.next?Gt.next.prev=Gt.prev:Dt=Gt.prev,Gt.prev?Gt.prev.next=Gt.next:Pt=Gt.next)}}}}var nullListeners={notify:function(){},get:function(){return[]}};function createSubscription(_e,Pt){var Dt,Nt=nullListeners;function jt(Zt){return qt(),Nt.subscribe(Zt)}function Ut(){Nt.notify()}function Gt(){Xt.onStateChange&&Xt.onStateChange()}function Wt(){return!!Dt}function qt(){Dt||(Dt=Pt?Pt.addNestedSub(Gt):_e.subscribe(Gt),Nt=createListenerCollection())}function Yt(){Dt&&(Dt(),Dt=void 0,Nt.clear(),Nt=nullListeners)}var Xt={addNestedSub:jt,notifyNestedSubs:Ut,handleChangeWrapper:Gt,isSubscribed:Wt,trySubscribe:qt,tryUnsubscribe:Yt,getListeners:function(){return Nt}};return Xt}var useIsomorphicLayoutEffect$4=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?reactExports.useLayoutEffect:reactExports.useEffect;function Provider(_e){var Pt=_e.store,Dt=_e.context,Nt=_e.children,jt=reactExports.useMemo(function(){var Wt=createSubscription(Pt);return{store:Pt,subscription:Wt}},[Pt]),Ut=reactExports.useMemo(function(){return Pt.getState()},[Pt]);useIsomorphicLayoutEffect$4(function(){var Wt=jt.subscription;return Wt.onStateChange=Wt.notifyNestedSubs,Wt.trySubscribe(),Ut!==Pt.getState()&&Wt.notifyNestedSubs(),function(){Wt.tryUnsubscribe(),Wt.onStateChange=null}},[jt,Ut]);var Gt=Dt||ReactReduxContext;return React.createElement(Gt.Provider,{value:jt},Nt)}var _excluded$2=["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"],_excluded2=["reactReduxForwardedRef"],EMPTY_ARRAY=[],NO_SUBSCRIPTION_ARRAY=[null,null];function storeStateUpdatesReducer(_e,Pt){var Dt=_e[1];return[Pt.payload,Dt+1]}function useIsomorphicLayoutEffectWithArgs(_e,Pt,Dt){useIsomorphicLayoutEffect$4(function(){return _e.apply(void 0,Pt)},Dt)}function captureWrapperProps(_e,Pt,Dt,Nt,jt,Ut,Gt){_e.current=Nt,Pt.current=jt,Dt.current=!1,Ut.current&&(Ut.current=null,Gt())}function subscribeUpdates(_e,Pt,Dt,Nt,jt,Ut,Gt,Wt,qt,Yt){if(_e){var Xt=!1,Zt=null,Qt=function(){if(!Xt){var nn=Pt.getState(),rn,an;try{rn=Nt(nn,jt.current)}catch(sn){an=sn,Zt=sn}an||(Zt=null),rn===Ut.current?Gt.current||qt():(Ut.current=rn,Wt.current=rn,Gt.current=!0,Yt({type:"STORE_UPDATED",payload:{error:an}}))}};Dt.onStateChange=Qt,Dt.trySubscribe(),Qt();var en=function(){if(Xt=!0,Dt.tryUnsubscribe(),Dt.onStateChange=null,Zt)throw Zt};return en}}var initStateUpdates=function(){return[null,0]};function connectAdvanced(_e,Pt){Pt===void 0&&(Pt={});var Dt=Pt,Nt=Dt.getDisplayName,jt=Nt===void 0?function(ln){return"ConnectAdvanced("+ln+")"}:Nt,Ut=Dt.methodName,Gt=Ut===void 0?"connectAdvanced":Ut,Wt=Dt.renderCountProp,qt=Wt===void 0?void 0:Wt,Yt=Dt.shouldHandleStateChanges,Xt=Yt===void 0?!0:Yt,Zt=Dt.storeKey,Qt=Zt===void 0?"store":Zt;Dt.withRef;var en=Dt.forwardRef,tn=en===void 0?!1:en,nn=Dt.context,rn=nn===void 0?ReactReduxContext:nn,an=_objectWithoutPropertiesLoose$3(Dt,_excluded$2),sn=rn;return function(un){var pn=un.displayName||un.name||"Component",mn=jt(pn),dn=_extends$2({},an,{getDisplayName:jt,methodName:Gt,renderCountProp:qt,shouldHandleStateChanges:Xt,storeKey:Qt,displayName:mn,wrappedComponentName:pn,WrappedComponent:un}),hn=an.pure;function vn(yn){return _e(yn.dispatch,dn)}var En=hn?reactExports.useMemo:function(yn){return yn()};function _n(yn){var Nn=reactExports.useMemo(function(){var fr=yn.reactReduxForwardedRef,yr=_objectWithoutPropertiesLoose$3(yn,_excluded2);return[yn.context,fr,yr]},[yn]),Fn=Nn[0],Bn=Nn[1],Sn=Nn[2],kn=reactExports.useMemo(function(){return Fn&&Fn.Consumer&&reactIsExports.isContextConsumer(React.createElement(Fn.Consumer,null))?Fn:sn},[Fn,sn]),zn=reactExports.useContext(kn),In=!!yn.store&&!!yn.store.getState&&!!yn.store.dispatch;zn&&zn.store;var Rn=In?yn.store:zn.store,Kn=reactExports.useMemo(function(){return vn(Rn)},[Rn]),Jn=reactExports.useMemo(function(){if(!Xt)return NO_SUBSCRIPTION_ARRAY;var fr=createSubscription(Rn,In?null:zn.subscription),yr=fr.notifyNestedSubs.bind(fr);return[fr,yr]},[Rn,In,zn]),ar=Jn[0],$n=Jn[1],On=reactExports.useMemo(function(){return In?zn:_extends$2({},zn,{subscription:ar})},[In,zn,ar]),Mn=reactExports.useReducer(storeStateUpdatesReducer,EMPTY_ARRAY,initStateUpdates),Vn=Mn[0],gn=Vn[0],bn=Mn[1];if(gn&&gn.error)throw gn.error;var wn=reactExports.useRef(),Gn=reactExports.useRef(Sn),Zn=reactExports.useRef(),Pn=reactExports.useRef(!1),er=En(function(){return Zn.current&&Sn===Gn.current?Zn.current:Kn(Rn.getState(),Sn)},[Rn,gn,Sn]);useIsomorphicLayoutEffectWithArgs(captureWrapperProps,[Gn,wn,Pn,Sn,er,Zn,$n]),useIsomorphicLayoutEffectWithArgs(subscribeUpdates,[Xt,Rn,ar,Kn,Gn,wn,Pn,Zn,$n,bn],[Rn,ar,Kn]);var or=reactExports.useMemo(function(){return React.createElement(un,_extends$2({},er,{ref:Bn}))},[Bn,un,er]),tr=reactExports.useMemo(function(){return Xt?React.createElement(kn.Provider,{value:On},or):or},[kn,or,On]);return tr}var Cn=hn?React.memo(_n):_n;if(Cn.WrappedComponent=un,Cn.displayName=_n.displayName=mn,tn){var Tn=React.forwardRef(function(Nn,Fn){return React.createElement(Cn,_extends$2({},Nn,{reactReduxForwardedRef:Fn}))});return Tn.displayName=mn,Tn.WrappedComponent=un,hoistStatics(Tn,un)}return hoistStatics(Cn,un)}}function is$5(_e,Pt){return _e===Pt?_e!==0||Pt!==0||1/_e===1/Pt:_e!==_e&&Pt!==Pt}function shallowEqual(_e,Pt){if(is$5(_e,Pt))return!0;if(typeof _e!="object"||_e===null||typeof Pt!="object"||Pt===null)return!1;var Dt=Object.keys(_e),Nt=Object.keys(Pt);if(Dt.length!==Nt.length)return!1;for(var jt=0;jt=0;Nt--){var jt=Pt[Nt](_e);if(jt)return jt}return function(Ut,Gt){throw new Error("Invalid value of type "+typeof _e+" for "+Dt+" argument when connecting component "+Gt.wrappedComponentName+".")}}function strictEqual(_e,Pt){return _e===Pt}function createConnect(_e){var Pt=_e===void 0?{}:_e,Dt=Pt.connectHOC,Nt=Dt===void 0?connectAdvanced:Dt,jt=Pt.mapStateToPropsFactories,Ut=jt===void 0?defaultMapStateToPropsFactories:jt,Gt=Pt.mapDispatchToPropsFactories,Wt=Gt===void 0?defaultMapDispatchToPropsFactories:Gt,qt=Pt.mergePropsFactories,Yt=qt===void 0?defaultMergePropsFactories:qt,Xt=Pt.selectorFactory,Zt=Xt===void 0?finalPropsSelectorFactory:Xt;return function(en,tn,nn,rn){rn===void 0&&(rn={});var an=rn,sn=an.pure,ln=sn===void 0?!0:sn,un=an.areStatesEqual,pn=un===void 0?strictEqual:un,mn=an.areOwnPropsEqual,dn=mn===void 0?shallowEqual:mn,hn=an.areStatePropsEqual,vn=hn===void 0?shallowEqual:hn,En=an.areMergedPropsEqual,_n=En===void 0?shallowEqual:En,Cn=_objectWithoutPropertiesLoose$3(an,_excluded),Tn=match(en,Ut,"mapStateToProps"),yn=match(tn,Wt,"mapDispatchToProps"),Nn=match(nn,Yt,"mergeProps");return Nt(Zt,_extends$2({methodName:"connect",getDisplayName:function(Bn){return"Connect("+Bn+")"},shouldHandleStateChanges:!!en,initMapStateToProps:Tn,initMapDispatchToProps:yn,initMergeProps:Nn,pure:ln,areStatesEqual:pn,areOwnPropsEqual:dn,areStatePropsEqual:vn,areMergedPropsEqual:_n},Cn))}}const connect$1=createConnect();setBatch(reactDomExports.unstable_batchedUpdates);function areInputsEqual$1(_e,Pt){if(_e.length!==Pt.length)return!1;for(var Dt=0;Dt<_e.length;Dt++)if(_e[Dt]!==Pt[Dt])return!1;return!0}function useMemoOne(_e,Pt){var Dt=reactExports.useState(function(){return{inputs:Pt,result:_e()}})[0],Nt=reactExports.useRef(!0),jt=reactExports.useRef(Dt),Ut=Nt.current||!!(Pt&&jt.current.inputs&&areInputsEqual$1(Pt,jt.current.inputs)),Gt=Ut?jt.current:{inputs:Pt,result:_e()};return reactExports.useEffect(function(){Nt.current=!1,jt.current=Gt},[Gt]),Gt.result}function useCallbackOne(_e,Pt){return useMemoOne(function(){return _e},Pt)}var useMemo=useMemoOne,useCallback=useCallbackOne,isProduction=!0,prefix$2="Invariant failed";function invariant$1(_e,Pt){if(!_e){if(isProduction)throw new Error(prefix$2);var Dt=typeof Pt=="function"?Pt():Pt,Nt=Dt?"".concat(prefix$2,": ").concat(Dt):prefix$2;throw new Error(Nt)}}var getRect=function(Pt){var Dt=Pt.top,Nt=Pt.right,jt=Pt.bottom,Ut=Pt.left,Gt=Nt-Ut,Wt=jt-Dt,qt={top:Dt,right:Nt,bottom:jt,left:Ut,width:Gt,height:Wt,x:Ut,y:Dt,center:{x:(Nt+Ut)/2,y:(jt+Dt)/2}};return qt},expand=function(Pt,Dt){return{top:Pt.top-Dt.top,left:Pt.left-Dt.left,bottom:Pt.bottom+Dt.bottom,right:Pt.right+Dt.right}},shrink=function(Pt,Dt){return{top:Pt.top+Dt.top,left:Pt.left+Dt.left,bottom:Pt.bottom-Dt.bottom,right:Pt.right-Dt.right}},shift=function(Pt,Dt){return{top:Pt.top+Dt.y,left:Pt.left+Dt.x,bottom:Pt.bottom+Dt.y,right:Pt.right+Dt.x}},noSpacing$1={top:0,right:0,bottom:0,left:0},createBox=function(Pt){var Dt=Pt.borderBox,Nt=Pt.margin,jt=Nt===void 0?noSpacing$1:Nt,Ut=Pt.border,Gt=Ut===void 0?noSpacing$1:Ut,Wt=Pt.padding,qt=Wt===void 0?noSpacing$1:Wt,Yt=getRect(expand(Dt,jt)),Xt=getRect(shrink(Dt,Gt)),Zt=getRect(shrink(Xt,qt));return{marginBox:Yt,borderBox:getRect(Dt),paddingBox:Xt,contentBox:Zt,margin:jt,border:Gt,padding:qt}},parse$6=function(Pt){var Dt=Pt.slice(0,-2),Nt=Pt.slice(-2);if(Nt!=="px")return 0;var jt=Number(Dt);return isNaN(jt)&&invariant$1(!1),jt},getWindowScroll$1=function(){return{x:window.pageXOffset,y:window.pageYOffset}},offset=function(Pt,Dt){var Nt=Pt.borderBox,jt=Pt.border,Ut=Pt.margin,Gt=Pt.padding,Wt=shift(Nt,Dt);return createBox({borderBox:Wt,border:jt,margin:Ut,padding:Gt})},withScroll=function(Pt,Dt){return Dt===void 0&&(Dt=getWindowScroll$1()),offset(Pt,Dt)},calculateBox=function(Pt,Dt){var Nt={top:parse$6(Dt.marginTop),right:parse$6(Dt.marginRight),bottom:parse$6(Dt.marginBottom),left:parse$6(Dt.marginLeft)},jt={top:parse$6(Dt.paddingTop),right:parse$6(Dt.paddingRight),bottom:parse$6(Dt.paddingBottom),left:parse$6(Dt.paddingLeft)},Ut={top:parse$6(Dt.borderTopWidth),right:parse$6(Dt.borderRightWidth),bottom:parse$6(Dt.borderBottomWidth),left:parse$6(Dt.borderLeftWidth)};return createBox({borderBox:Pt,margin:Nt,padding:jt,border:Ut})},getBox=function(Pt){var Dt=Pt.getBoundingClientRect(),Nt=window.getComputedStyle(Pt);return calculateBox(Dt,Nt)},safeIsNaN=Number.isNaN||function(Pt){return typeof Pt=="number"&&Pt!==Pt};function isEqual$2(_e,Pt){return!!(_e===Pt||safeIsNaN(_e)&&safeIsNaN(Pt))}function areInputsEqual(_e,Pt){if(_e.length!==Pt.length)return!1;for(var Dt=0;Dt<_e.length;Dt++)if(!isEqual$2(_e[Dt],Pt[Dt]))return!1;return!0}function memoizeOne(_e,Pt){Pt===void 0&&(Pt=areInputsEqual);var Dt,Nt=[],jt,Ut=!1;function Gt(){for(var Wt=[],qt=0;qt");return Nt.callbacks},Nt.setCallbacks=function(Wt){Nt.callbacks=Wt},Nt}var Dt=Pt.prototype;return Dt.componentDidMount=function(){this.unbind=bindEvents(window,[{eventName:"error",fn:this.onWindowError}])},Dt.componentDidCatch=function(jt){if(jt instanceof RbdInvariant){this.setState({});return}throw jt},Dt.componentWillUnmount=function(){this.unbind()},Dt.render=function(){return this.props.children(this.setCallbacks)},Pt}(React.Component),dragHandleUsageInstructions=` + `);return Dt=>Pt(new Proxy(normalize$1(Dt),{get(Nt,jt){return typeof(Nt==null?void 0:Nt[jt])=="function"?Nt[jt]({}):Nt==null?void 0:Nt[jt]}}))},openBrace$1=/^\$\{\{\s*/,closeBrace$1=/^\s*\}\}/,neverMatch$1=/\b\B/,parser$2=distExports.parseStringTemplateGenerator({VARIABLE_START:openBrace$1,VARIABLE_END:closeBrace$1,PIPE_START:neverMatch$1,PIPE_PARAMETER_START:neverMatch$1,QUOTED_STRING:neverMatch$1}),parseString$1=memoizee$1(_e=>{const Pt=parser$2(_e);return lodashExports$1.join(Pt.literals,"")?Dt=>distExports.evaluateParsedString(Pt,{},{},Nt=>parseToken$1(Nt)(Dt)):parseToken$1(Pt.variables[0].name)},{primitive:!0});function parseProperty$1(_e){switch(_e==null?void 0:_e.constructor){case Array:{const Pt=lodashExports$1.map(_e,parseProperty$1);return Dt=>lodashExports$1.map(Pt,Nt=>Nt(Dt))}case Object:{const Pt=lodashExports$1.mapValues(_e,parseProperty$1);return Dt=>lodashExports$1.mapValues(Pt,Nt=>Nt(Dt))}case String:return parseString$1(_e);default:return()=>_e}}function commonjsRequire(_e){throw new Error('Could not dynamically require "'+_e+'". Please configure the dynamicRequireTargets or/and ignoreDynamicRequires option of @rollup/plugin-commonjs appropriately for this require call to work.')}var pluralize$1={exports:{}};(function(_e,Pt){(function(Dt,Nt){typeof commonjsRequire=="function"?_e.exports=Nt():Dt.pluralize=Nt()})(commonjsGlobal,function(){var Dt=[],Nt=[],jt={},Ut={},Gt={};function Wt(nn){return typeof nn=="string"?new RegExp("^"+nn+"$","i"):nn}function qt(nn,rn){return nn===rn?rn:nn===nn.toLowerCase()?rn.toLowerCase():nn===nn.toUpperCase()?rn.toUpperCase():nn[0]===nn[0].toUpperCase()?rn.charAt(0).toUpperCase()+rn.substr(1).toLowerCase():rn.toLowerCase()}function Yt(nn,rn){return nn.replace(/\$(\d{1,2})/g,function(an,sn){return rn[sn]||""})}function Xt(nn,rn){return nn.replace(rn[0],function(an,sn){var ln=Yt(rn[1],arguments);return qt(an===""?nn[sn-1]:an,ln)})}function Zt(nn,rn,an){if(!nn.length||jt.hasOwnProperty(nn))return rn;for(var sn=an.length;sn--;){var ln=an[sn];if(ln[0].test(rn))return Xt(rn,ln)}return rn}function Qt(nn,rn,an){return function(sn){var ln=sn.toLowerCase();return rn.hasOwnProperty(ln)?qt(sn,ln):nn.hasOwnProperty(ln)?qt(sn,nn[ln]):Zt(ln,sn,an)}}function en(nn,rn,an,sn){return function(ln){var un=ln.toLowerCase();return rn.hasOwnProperty(un)?!0:nn.hasOwnProperty(un)?!1:Zt(un,un,an)===un}}function tn(nn,rn,an){var sn=rn===1?tn.singular(nn):tn.plural(nn);return(an?rn+" ":"")+sn}return tn.plural=Qt(Gt,Ut,Dt),tn.isPlural=en(Gt,Ut,Dt),tn.singular=Qt(Ut,Gt,Nt),tn.isSingular=en(Ut,Gt,Nt),tn.addPluralRule=function(nn,rn){Dt.push([Wt(nn),rn])},tn.addSingularRule=function(nn,rn){Nt.push([Wt(nn),rn])},tn.addUncountableRule=function(nn){if(typeof nn=="string"){jt[nn.toLowerCase()]=!0;return}tn.addPluralRule(nn,"$0"),tn.addSingularRule(nn,"$0")},tn.addIrregularRule=function(nn,rn){rn=rn.toLowerCase(),nn=nn.toLowerCase(),Gt[nn]=rn,Ut[rn]=nn},[["I","we"],["me","us"],["he","they"],["she","they"],["them","them"],["myself","ourselves"],["yourself","yourselves"],["itself","themselves"],["herself","themselves"],["himself","themselves"],["themself","themselves"],["is","are"],["was","were"],["has","have"],["this","these"],["that","those"],["echo","echoes"],["dingo","dingoes"],["volcano","volcanoes"],["tornado","tornadoes"],["torpedo","torpedoes"],["genus","genera"],["viscus","viscera"],["stigma","stigmata"],["stoma","stomata"],["dogma","dogmata"],["lemma","lemmata"],["schema","schemata"],["anathema","anathemata"],["ox","oxen"],["axe","axes"],["die","dice"],["yes","yeses"],["foot","feet"],["eave","eaves"],["goose","geese"],["tooth","teeth"],["quiz","quizzes"],["human","humans"],["proof","proofs"],["carve","carves"],["valve","valves"],["looey","looies"],["thief","thieves"],["groove","grooves"],["pickaxe","pickaxes"],["passerby","passersby"]].forEach(function(nn){return tn.addIrregularRule(nn[0],nn[1])}),[[/s?$/i,"s"],[/[^\u0000-\u007F]$/i,"$0"],[/([^aeiou]ese)$/i,"$1"],[/(ax|test)is$/i,"$1es"],[/(alias|[^aou]us|t[lm]as|gas|ris)$/i,"$1es"],[/(e[mn]u)s?$/i,"$1s"],[/([^l]ias|[aeiou]las|[ejzr]as|[iu]am)$/i,"$1"],[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1i"],[/(alumn|alg|vertebr)(?:a|ae)$/i,"$1ae"],[/(seraph|cherub)(?:im)?$/i,"$1im"],[/(her|at|gr)o$/i,"$1oes"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|automat|quor)(?:a|um)$/i,"$1a"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)(?:a|on)$/i,"$1a"],[/sis$/i,"ses"],[/(?:(kni|wi|li)fe|(ar|l|ea|eo|oa|hoo)f)$/i,"$1$2ves"],[/([^aeiouy]|qu)y$/i,"$1ies"],[/([^ch][ieo][ln])ey$/i,"$1ies"],[/(x|ch|ss|sh|zz)$/i,"$1es"],[/(matr|cod|mur|sil|vert|ind|append)(?:ix|ex)$/i,"$1ices"],[/\b((?:tit)?m|l)(?:ice|ouse)$/i,"$1ice"],[/(pe)(?:rson|ople)$/i,"$1ople"],[/(child)(?:ren)?$/i,"$1ren"],[/eaux$/i,"$0"],[/m[ae]n$/i,"men"],["thou","you"]].forEach(function(nn){return tn.addPluralRule(nn[0],nn[1])}),[[/s$/i,""],[/(ss)$/i,"$1"],[/(wi|kni|(?:after|half|high|low|mid|non|night|[^\w]|^)li)ves$/i,"$1fe"],[/(ar|(?:wo|[ae])l|[eo][ao])ves$/i,"$1f"],[/ies$/i,"y"],[/\b([pl]|zomb|(?:neck|cross)?t|coll|faer|food|gen|goon|group|lass|talk|goal|cut)ies$/i,"$1ie"],[/\b(mon|smil)ies$/i,"$1ey"],[/\b((?:tit)?m|l)ice$/i,"$1ouse"],[/(seraph|cherub)im$/i,"$1"],[/(x|ch|ss|sh|zz|tto|go|cho|alias|[^aou]us|t[lm]as|gas|(?:her|at|gr)o|[aeiou]ris)(?:es)?$/i,"$1"],[/(analy|diagno|parenthe|progno|synop|the|empha|cri|ne)(?:sis|ses)$/i,"$1sis"],[/(movie|twelve|abuse|e[mn]u)s$/i,"$1"],[/(test)(?:is|es)$/i,"$1is"],[/(alumn|syllab|vir|radi|nucle|fung|cact|stimul|termin|bacill|foc|uter|loc|strat)(?:us|i)$/i,"$1us"],[/(agend|addend|millenni|dat|extrem|bacteri|desiderat|strat|candelabr|errat|ov|symposi|curricul|quor)a$/i,"$1um"],[/(apheli|hyperbat|periheli|asyndet|noumen|phenomen|criteri|organ|prolegomen|hedr|automat)a$/i,"$1on"],[/(alumn|alg|vertebr)ae$/i,"$1a"],[/(cod|mur|sil|vert|ind)ices$/i,"$1ex"],[/(matr|append)ices$/i,"$1ix"],[/(pe)(rson|ople)$/i,"$1rson"],[/(child)ren$/i,"$1"],[/(eau)x?$/i,"$1"],[/men$/i,"man"]].forEach(function(nn){return tn.addSingularRule(nn[0],nn[1])}),["adulthood","advice","agenda","aid","aircraft","alcohol","ammo","analytics","anime","athletics","audio","bison","blood","bream","buffalo","butter","carp","cash","chassis","chess","clothing","cod","commerce","cooperation","corps","debris","diabetes","digestion","elk","energy","equipment","excretion","expertise","firmware","flounder","fun","gallows","garbage","graffiti","hardware","headquarters","health","herpes","highjinks","homework","housework","information","jeans","justice","kudos","labour","literature","machinery","mackerel","mail","media","mews","moose","music","mud","manga","news","only","personnel","pike","plankton","pliers","police","pollution","premises","rain","research","rice","salmon","scissors","series","sewage","shambles","shrimp","software","species","staff","swine","tennis","traffic","transportation","trout","tuna","wealth","welfare","whiting","wildebeest","wildlife","you",/pok[eé]mon$/i,/[^aeiou]ese$/i,/deer$/i,/fish$/i,/measles$/i,/o[iu]s$/i,/pox$/i,/sheep$/i].forEach(tn.addUncountableRule),tn})})(pluralize$1);var pluralizeExports=pluralize$1.exports;const pluralize=getDefaultExportFromCjs(pluralizeExports),parseTraceWorkerLegacyUrl=""+new URL("parseTrace.worker-d00400fc.js",import.meta.url).href,parseTraceWorkerUrl=""+new URL("parseTrace.worker-6a8ce322.js",import.meta.url).href;class ParseTraceWorker extends Worker{constructor(){super(parseTraceWorkerUrl,{type:"module"})}}class ParseTraceWorkerLegacy extends Worker{constructor(){super(parseTraceWorkerLegacyUrl,{type:"module"})}}const parseTraceAsync=usingMemoizedWorkerTask(ParseTraceWorker),parseTraceLegacyAsync=usingMemoizedWorkerTask(ParseTraceWorkerLegacy);function useTraceParser(_e){const Pt=useSnackbar(),Dt=useLoadingState("specimen");return reactExports.useCallback(()=>Dt(async()=>{var Nt;if(_e!=null&&_e.trace){Pt("Processing trace...");try{const jt=_e.trace.version==="1.4.0"?await parseTraceAsync(_e):await parseTraceLegacyAsync(_e);return Pt("Trace loaded",pluralize("step",((Nt=jt==null?void 0:jt.stepsPersistent)==null?void 0:Nt.length)??0,!0)),{components:jt,content:_e.trace}}catch(jt){return console.error(jt),Pt("Error parsing",lodashExports$1.get(jt,"message")),{error:lodashExports$1.get(jt,"message")}}}}),[_e])}function mapProperties(_e={},Pt){const Dt={};for(const Nt of Object.keys(_e))Dt[Nt]=Nt==="$"?_e[Nt]:Pt(_e[Nt],Nt,_e);return Object.setPrototypeOf(Dt,_e)}function normalize(_e={}){return mapProperties(_e,Pt=>lodashExports$1.isFunction(Pt)?Pt:parseProperty(Pt))}const parseToken=_e=>{const Pt=Function("$",`return ${_e};`);return Dt=>Pt(new Proxy(normalize(Dt),{get(Nt,jt){return typeof(Nt==null?void 0:Nt[jt])=="function"?Nt[jt]({}):Nt==null?void 0:Nt[jt]}}))},openBrace=/^\{\{\s*/,closeBrace=/^\s*\}\}/,neverMatch=/\b\B/,parser$1=distExports.parseStringTemplateGenerator({VARIABLE_START:openBrace,VARIABLE_END:closeBrace,PIPE_START:neverMatch,PIPE_PARAMETER_START:neverMatch,QUOTED_STRING:neverMatch}),parseString=memoizee$1(_e=>{const Pt=parser$1(_e);return lodashExports$1.join(Pt.literals,"")?Dt=>distExports.evaluateParsedString(Pt,{},{},Nt=>parseToken(Nt)(Dt)):parseToken(Pt.variables[0].name)},{primitive:!0});function parseProperty(_e){switch(_e==null?void 0:_e.constructor){case Array:{const Pt=lodashExports$1.map(_e,parseProperty);return Dt=>lodashExports$1.map(Pt,Nt=>Nt(Dt))}case Object:{const Pt=lodashExports$1.mapValues(_e,parseProperty);return Dt=>lodashExports$1.mapValues(Pt,Nt=>Nt(Dt))}case String:return parseString(_e);default:return()=>_e}}function useTraceContent(_e){const Pt=useSnackbar(),Dt=useLoadingState("specimen"),Nt=useConnectionResolver(),[{traces:jt}]=useFeatures(),Ut=reactExports.useMemo(()=>memoizee$1(async({source:Xt,id:Zt})=>{if(Xt&&Zt){const Qt=Nt({url:Xt});if(Qt){Pt("Fetching trace...");const en=await Qt.transport().call("features/trace",{id:Zt});return en==null?void 0:en.content}}},{normalizer:JSON.stringify}),[Nt,Pt]),{content:Gt,source:Wt,id:qt}=_e??{},{lastModified:Yt}=lodashExports$1.find(jt,{id:qt,source:Wt})??{};return useAsync(()=>Dt(async()=>{if(qt)return{..._e,content:Gt||await Ut({source:Wt,id:qt,lastModified:Yt})}}),[Ut,Gt,Wt,qt,Yt])}const labelScale=1.25,reuseCanvas={canvas:document.createElement("canvas")};function getTextWidth(_e,Pt){const Nt=(reuseCanvas.canvas||(reuseCanvas.canvas=document.createElement("canvas"))).getContext("2d");return Nt.font=Pt,Nt.measureText(_e).width}const isNullish=_e=>_e==null;function makePathIndex(_e){const Pt=[],Dt={},Nt={},jt=lodashExports$1.chain(_e==null?void 0:_e.events).map((Wt,qt)=>({step:qt,id:Wt.id,pId:Wt.pId})).groupBy("id").value();lodashExports$1.forEach(_e==null?void 0:_e.events,({id:Wt,pId:qt},Yt)=>{!isNullish(qt)&&Dt[Wt]!==qt&&(Pt.push({id:Wt,pId:qt,step:Yt,prev:lodashExports$1.last(Pt)}),Dt[Wt]=qt),Nt[Yt]=lodashExports$1.last(Pt)});const Ut=(Wt,qt=(Yt=>(Yt=_e==null?void 0:_e.events)==null?void 0:Yt.length)()??0)=>{let Xt=Nt[qt];for(;Xt;){if(Xt.id===Wt)return Xt.pId;Xt=Xt.prev}};return{getParent:Ut,getPath:Wt=>{const qt=[Wt];let Yt={...(_e.events??[])[Wt],step:Wt};for(;Yt;){const Xt=Ut(Yt.id,Yt.step);if(Xt){const Zt=lodashExports$1.findLast(jt[Xt],Qt=>Qt.step<=Yt.step);if(Zt)qt.push(Zt.step),Yt=Zt;else break}else break}return qt}}}const controller$1={key:"trace",icon:jsxRuntimeExports.jsx(RouteTwoTone,{}),inferName:_e=>{var Pt,Dt;return((Dt=(Pt=_e.source)==null?void 0:Pt.trace)==null?void 0:Dt.name)??"Untitled Trace"},error:_e=>{var Pt,Dt,Nt,jt;return((Dt=(Pt=_e==null?void 0:_e.source)==null?void 0:Pt.trace)==null?void 0:Dt.error)||((jt=(Nt=_e==null?void 0:_e.source)==null?void 0:Nt.parsedTrace)==null?void 0:jt.error)},claimImportedFile:async _e=>isTraceFormat(_e)?{claimed:!0,layer:async Pt=>{Pt("Opening trace...");try{return{trace:{...await readUploadedTrace(_e).read()}}}catch(Dt){return console.error(Dt),Pt(`Error opening, ${lodashExports$1.get(Dt,"message")}`),{trace:{key:nanoid$1(),id:custom$1().id,error:lodashExports$1.get(Dt,"message"),name:lodashExports$1.startCase(name$2(_e.name))}}}}}:{claimed:!1},editor:withProduce(({value:_e,produce:Pt})=>{var Dt,Nt,jt,Ut,Gt,Wt,qt,Yt,Xt,Zt,Qt;return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Option,{label:"Trace",content:jsxRuntimeExports.jsx(TracePicker,{onChange:en=>Pt(tn=>lodashExports$1.set(tn,"source.trace",en)),value:(Dt=_e==null?void 0:_e.source)==null?void 0:Dt.trace})}),((jt=(Nt=_e==null?void 0:_e.source)==null?void 0:Nt.trace)==null?void 0:jt.error)&&jsxRuntimeExports.jsx(Type$2,{variant:"body2",color:en=>en.palette.error.main,sx:{whiteSpace:"pre-wrap",mb:1,mt:1},children:jsxRuntimeExports.jsx("code",{children:(Gt=(Ut=_e==null?void 0:_e.source)==null?void 0:Ut.trace)==null?void 0:Gt.error})}),((qt=(Wt=_e==null?void 0:_e.source)==null?void 0:Wt.parsedTrace)==null?void 0:qt.error)&&jsxRuntimeExports.jsx(Type$2,{variant:"body2",color:en=>en.palette.error.main,sx:{whiteSpace:"pre-wrap",mb:1,mt:1},children:jsxRuntimeExports.jsx("code",{children:(Xt=(Yt=_e==null?void 0:_e.source)==null?void 0:Yt.parsedTrace)==null?void 0:Xt.error})}),jsxRuntimeExports.jsx(Heading,{label:"Preview"}),jsxRuntimeExports.jsx(Box$1,{sx:{height:240,mx:-2},children:jsxRuntimeExports.jsx(TracePreview,{trace:(Qt=(Zt=_e==null?void 0:_e.source)==null?void 0:Zt.parsedTrace)==null?void 0:Qt.content})})]})}),service:withProduce(({value:_e,produce:Pt})=>{var Ut;const{palette:Dt}=useTheme(),{result:Nt}=useTraceContent((Ut=_e==null?void 0:_e.source)==null?void 0:Ut.trace),jt=useTraceParser({trace:Nt==null?void 0:Nt.content,context:{theme:{foreground:Dt.text.primary,background:Dt.background.paper,accent:Dt.primary.main},color:{...colorsHex,...lodashExports$1.mapValues(accentColors,(Gt,Wt)=>getShade(Wt,Dt.mode,500,400))},themeAccent:Dt.primary.main,themeTextPrimary:Dt.text.primary,themeBackground:Dt.background.paper},view:"main"});return reactExports.useEffect(()=>{Pt(Gt=>{var Wt,qt;return lodashExports$1.set(Gt,"source.playbackTo",((qt=(Wt=Nt==null?void 0:Nt.content)==null?void 0:Wt.events)==null?void 0:qt.length)??0)})},[Nt==null?void 0:Nt.key,Nt==null?void 0:Nt.lastModified]),useEffectWhen(async()=>{const Gt=await jt();Pt(Wt=>{lodashExports$1.set(Wt,"source.parsedTrace",Gt),lodashExports$1.set(Wt,"viewKey",nanoid$1())})},[jt],[Nt==null?void 0:Nt.key,Dt.mode]),jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx(PlaybackService,{value:_e})})}),renderer:({layer:_e,index:Pt})=>{var qt,Yt,Xt;const Dt=(Yt=(qt=_e==null?void 0:_e.source)==null?void 0:qt.parsedTrace)==null?void 0:Yt.components,Nt=useThrottle$1(((Xt=_e==null?void 0:_e.source)==null?void 0:Xt.step)??0,1e3/60),jt=use2DPath(_e,Pt,Nt),Ut=reactExports.useMemo(()=>lodashExports$1.map(Dt==null?void 0:Dt.stepsPersistent,Zt=>lodashExports$1.map(Zt,Qt=>lodashExports$1.merge(Qt,{meta:{sourceLayer:_e==null?void 0:_e.key,sourceLayerIndex:Pt,sourceLayerAlpha:1-.01*+((_e==null?void 0:_e.transparency)??0),sourceLayerDisplayMode:(_e==null?void 0:_e.displayMode)??"source-over"}}))),[Dt==null?void 0:Dt.stepsPersistent,_e==null?void 0:_e.key,_e==null?void 0:_e.transparency,_e==null?void 0:_e.displayMode,Pt]),Gt=reactExports.useMemo(()=>lodashExports$1.map(Dt==null?void 0:Dt.stepsTransient,Zt=>lodashExports$1.map(Zt,Qt=>lodashExports$1.merge(Qt,{meta:{sourceLayer:_e==null?void 0:_e.key,sourceLayerIndex:Pt,sourceLayerAlpha:1-.01*+((_e==null?void 0:_e.transparency)??0),sourceLayerDisplayMode:(_e==null?void 0:_e.displayMode)??"source-over"}}))),[Dt==null?void 0:Dt.stepsTransient,_e==null?void 0:_e.key,_e==null?void 0:_e.transparency,_e==null?void 0:_e.displayMode,Pt]),Wt=reactExports.useMemo(()=>[Gt[Nt]??[]],[Gt,Nt]);return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(LazyNodeList,{end:Nt,nodes:Ut}),jsxRuntimeExports.jsx(NodeList,{nodes:Wt}),jt]})},steps:_e=>{var Pt,Dt,Nt;return((Nt=(Dt=(Pt=_e==null?void 0:_e.source)==null?void 0:Pt.parsedTrace)==null?void 0:Dt.content)==null?void 0:Nt.events)??[]},provideSelectionInfo:({layer:_e,event:Pt,children:Dt})=>{const{layer:Nt,setLayer:jt}=useLayer(_e),Ut=reactExports.useMemo(()=>{var Yt,Xt,Zt,Qt,en;const Gt=((Zt=(Xt=(Yt=Nt==null?void 0:Nt.source)==null?void 0:Yt.parsedTrace)==null?void 0:Xt.content)==null?void 0:Zt.events)??[],Wt=lodashExports$1.chain((Qt=Pt==null?void 0:Pt.info)==null?void 0:Qt.components).filter(tn=>{var nn;return((nn=tn.meta)==null?void 0:nn.sourceLayer)===(Nt==null?void 0:Nt.key)}).map(tn=>{var nn;return(nn=tn.meta)==null?void 0:nn.step}).filter(lodashExports$1.negate(lodashExports$1.isUndefined)).sort((tn,nn)=>tn-nn).value(),qt=lodashExports$1.chain((en=Pt==null?void 0:Pt.info)==null?void 0:en.components).filter(tn=>{var nn;return((nn=tn.meta)==null?void 0:nn.sourceLayer)===(Nt==null?void 0:Nt.key)}).filter(tn=>{var nn;return(nn=tn.meta)==null?void 0:nn.info}).value();if(Wt.length&&Nt){const tn=lodashExports$1.last(Wt),nn=Gt[tn];if(nn)return{...lodashExports$1.keyBy(lodashExports$1.map(qt,(rn,an)=>({key:`${Nt.key}.${an}`,primary:`Selection in ${inferLayerName(Nt)}`,items:{info:{index:-1,primary:jsxRuntimeExports.jsx(PropertyList,{event:rn.meta.info,vertical:!0})}}})),"key"),[Nt.key]:{primary:inferLayerName(Nt),items:{properties:{index:-2,primary:jsxRuntimeExports.jsx(PropertyList,{event:nn,vertical:!0,simple:!0,primitives:!0})},propertiesDetails:{index:-1,extras:jsxRuntimeExports.jsx(PropertyDialog,{event:nn,trigger:rn=>jsxRuntimeExports.jsxs(MenuItem$1,{onClick:rn,children:[jsxRuntimeExports.jsx(ListItemIcon$1,{children:jsxRuntimeExports.jsx(DataObjectOutlined,{})}),jsxRuntimeExports.jsx(ListItemText$1,{sx:{mr:4},children:"See properties"}),jsxRuntimeExports.jsxs(Type$2,{variant:"body2",color:"text.secondary",children:["Step ",tn]})]})})},[`${nn}`]:{primary:`Go to step ${tn}`,secondary:`${lodashExports$1.startCase(nn.type)}`,action:()=>jt(produce(Nt,rn=>{lodashExports$1.set(rn,"source.step",tn)})),icon:jsxRuntimeExports.jsx(ArrowOutwardRounded,{})}}}}}return{}},[Nt,Pt]);return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:Dt==null?void 0:Dt(Ut)})},getSources:_e=>{var Dt;const Pt=(Dt=_e==null?void 0:_e.source)==null?void 0:Dt.trace;return Pt?[{id:"trace",name:`(Source) ${Pt.name}`,language:"yaml",content:dump(Pt.content,{noCompatMode:!0})}]:[]}},labelSize=.8;function use2DPath(_e,Pt=0,Dt=0){var Gt,Wt,qt;const{palette:Nt}=useTheme(),{getPath:jt}=reactExports.useMemo(()=>{var Yt,Xt,Zt;return((Yt=_e==null?void 0:_e.source)==null?void 0:Yt.playback)!=="playing"&&((Zt=(Xt=_e==null?void 0:_e.source)==null?void 0:Xt.parsedTrace)!=null&&Zt.content)?makePathIndex(_e.source.parsedTrace.content):{getParent:lodashExports$1.constant(void 0),getPath:lodashExports$1.constant([])}},[(Wt=(Gt=_e==null?void 0:_e.source)==null?void 0:Gt.parsedTrace)==null?void 0:Wt.content,(qt=_e==null?void 0:_e.source)==null?void 0:qt.playback]);return reactExports.useMemo(()=>{var Zt,Qt,en,tn,nn,rn,an,sn,ln,un,pn,mn;const Yt=interpolate$1([Nt.background.paper,Nt.text.primary])(.05),Xt=(Qt=(Zt=_e==null?void 0:_e.source)==null?void 0:Zt.parsedTrace)==null?void 0:Qt.content;if((en=Xt==null?void 0:Xt.render)!=null&&en.path||Xt!=null&&Xt.pivot){const dn=((nn=(tn=Xt==null?void 0:Xt.render)==null?void 0:tn.path)==null?void 0:nn.pivot)??(Xt==null?void 0:Xt.pivot)??{},hn=(an=(rn=Xt==null?void 0:Xt.render)==null?void 0:rn.path)!=null&&an.scale?Xt.render.path.scale*(1/.3):((sn=Xt==null?void 0:Xt.pivot)==null?void 0:sn.scale)??1,{x:vn,y:En}=dn,_n=(Xt==null?void 0:Xt.version)==="1.4.0"?parseProperty$1:Fn=>Bn=>parseProperty(Fn)({event:Bn}),Cn=vn?_n(vn):Fn=>Fn.x,Tn=En?_n(En):Fn=>Fn.y,yn=lodashExports$1.map(jt(Dt),Fn=>{var Bn;return(Bn=Xt==null?void 0:Xt.events)==null?void 0:Bn[Fn]}),Nn={x:Cn({x:0,y:0,...lodashExports$1.head(yn)}),y:Tn({x:0,y:0,...lodashExports$1.head(yn)})};if(yn.length){const Fn=`${lodashExports$1.startCase((ln=lodashExports$1.head(yn))==null?void 0:ln.type)} ${(un=lodashExports$1.head(yn))==null?void 0:un.id}`,Bn=getTextWidth(Fn,`${labelSize*hn*labelScale}px Inter`),Sn=[{$:"circle",x:Cn({x:0,y:0,...lodashExports$1.last(yn)}),y:Tn({x:0,y:0,...lodashExports$1.last(yn)}),fill:Nt.primary.main,radius:.3*hn},{$:"path",points:yn.map(kn=>({x:Cn({x:0,y:0,...kn}),y:Tn({x:0,y:0,...kn})})),fill:Nt.primary.main,alpha:1,lineWidth:.3*hn},{$:"circle",...Nn,fill:Nt.primary.main,radius:.3*hn},{$:"rect",alpha:.85,fill:Yt,x:Nn.x-.3*hn*labelScale,y:Nn.y-2*hn*labelScale,width:Bn+(.8+.5)*hn*labelScale,height:1.4*hn*labelScale},{$:"path",points:[{x:Nn.x,y:Nn.y},{x:Nn.x+(-.3-.05)*hn*labelScale,y:Nn.y+(-2+1.4)*hn*labelScale}],fill:getColorHex((pn=lodashExports$1.head(yn))==null?void 0:pn.type),alpha:1,lineWidth:.1*hn*labelScale},{$:"rect",x:Nn.x+(-.3-.1)*hn*labelScale,y:Nn.y+-2*hn*labelScale,fill:getColorHex((mn=lodashExports$1.head(yn))==null?void 0:mn.type),height:1.4*hn*labelScale,width:.1*hn*labelScale},{$:"rect",alpha:0,fill:"rgba(255, 255, 255, 0)",x:Nn.x-.3*hn*labelScale,y:Nn.y-2*hn*labelScale,width:Bn*2,height:1*hn*labelScale,label:Fn,"label-size":labelSize*hn*labelScale,"label-x":(.1+.5)*hn*labelScale,"label-y":1*hn*labelScale,"label-color":Nt.text.primary}];return jsxRuntimeExports.jsx(NodeList,{nodes:[lodashExports$1.map(Sn,kn=>({component:kn,meta:{source:"path",sourceLayerIndex:-99999+Pt}}))]})}}return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{})},[_e,Pt,Dt,Nt,jt])}const mapValuesDeep=(_e,Pt)=>lodashExports$1.isArray(_e)?lodashExports$1.map(_e,Dt=>mapValuesDeep(Dt,Pt)):lodashExports$1.isObject(_e)?lodashExports$1.mapValues(_e,Dt=>mapValuesDeep(Dt,Pt)):Pt(_e);async function findConnection(_e,Pt,Dt){for(const Nt of _e){const jt=await Nt.transport().call("features/algorithms"),Ut=await Nt.transport().call("features/formats");if(lodashExports$1.find(jt,{id:Pt})&&lodashExports$1.find(Ut,{id:Dt}))return Nt}}const maxStringPropLength=40,controller={...lodashExports$1.omit(controller$1,"claimImportedFile"),key:"query",icon:jsxRuntimeExports.jsx(RouteTwoTone,{}),editor:withProduce(({value:_e,produce:Pt})=>{var Yt,Xt;const{algorithm:Dt}=(_e==null?void 0:_e.source)??{},{layers:Nt,allLayers:jt,layer:Ut,key:Gt}=useLayer(void 0,Zt=>{var Qt;return((Qt=Zt.source)==null?void 0:Qt.type)==="map"}),[{algorithms:Wt}]=useFeatures(),[qt]=useConnections();return jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Option,{label:"Algorithm",content:jsxRuntimeExports.jsx(FeaturePicker,{arrow:!0,paper:!0,icon:jsxRuntimeExports.jsx(CodeOutlined,{}),label:"Algorithm",value:Dt,items:Wt.map(Zt=>{var Qt;return{...Zt,description:(Qt=lodashExports$1.find(qt,{url:Zt.source}))==null?void 0:Qt.name}}),onChange:async Zt=>Pt(Qt=>lodashExports$1.set(Qt,"source.algorithm",Zt))})}),!(Wt!=null&&Wt.length)&&jsxRuntimeExports.jsx(Type$2,{variant:"body2",color:"warning.main",sx:{mb:1},children:"No connected solver has declared support for running algorithms"}),jsxRuntimeExports.jsx(Option,{label:"Map",content:jsxRuntimeExports.jsx(FeaturePicker,{arrow:!0,paper:!0,icon:jsxRuntimeExports.jsx(LayersIcon,{}),label:"Layer",value:Gt,items:jt.map(Zt=>({id:Zt.key,hidden:!lodashExports$1.find(Nt,Qt=>Qt.key===Zt.key),name:inferLayerName(Zt)})),onChange:async Zt=>Pt(Qt=>lodashExports$1.set(Qt,"source.mapLayerKey",Zt))})}),Ut&&jsxRuntimeExports.jsxs(Type$2,{variant:"body2",color:"text.secondary",sx:{mb:1,mt:1},children:["Define source and destination nodes by clicking on valid regions on"," ",inferLayerName(Ut)]}),jsxRuntimeExports.jsx(Heading,{label:"Preview"}),jsxRuntimeExports.jsx(Box$1,{sx:{height:240,mx:-2},children:jsxRuntimeExports.jsx(TracePreview,{trace:(Xt=(Yt=_e==null?void 0:_e.source)==null?void 0:Yt.trace)==null?void 0:Xt.content})})]})}),service:withProduce(({value:_e,produce:Pt,onChange:Dt})=>{var tn;const Nt=controller$1.service,jt=useSnackbar(),{algorithm:Ut,mapLayerKey:Gt,start:Wt,end:qt}=(_e==null?void 0:_e.source)??{},[{layers:Yt}]=useLayers(),[Xt]=useConnections(),[{algorithms:Zt}]=useFeatures(),Qt=reactExports.useMemo(()=>{if(Gt&&Ut)return lodashExports$1.find(Yt,{key:Gt})},[Gt,Ut,Yt]),{result:en}=useMapContent((tn=Qt==null?void 0:Qt.source)==null?void 0:tn.map);return useEffectWhenAsync(async nn=>{var rn;if(Qt&&en&&Ut){const{format:an}=((rn=Qt==null?void 0:Qt.source)==null?void 0:rn.map)??{},{content:sn}=en??{};if(an&&sn){const ln=await findConnection(Xt,Ut,an),un=lodashExports$1.find(Zt,{id:Ut});if(ln){jt(`Executing ${inferLayerName(_e)} using ${ln.name}...`);const pn={format:an,instances:[{start:Wt??0,end:qt??0}],mapURI:`map:${encodeURIComponent(sn)}`,algorithm:Ut},mn=await ln.transport().call("solve/pathfinding",pn);nn.aborted?jt("Canceled"):Pt(dn=>{lodashExports$1.set(dn,"source.trace",{name:`${un==null?void 0:un.name}`,content:mn,key:nanoid$1(),id:nanoid$1()}),lodashExports$1.set(dn,"source.query",pn)})}}}},[Qt,Xt,Ut,Wt,qt,Pt,jt,_e,Zt],[Qt,en,Xt,Ut,Wt,qt]),jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx(Nt,{value:_e,onChange:Dt})})}),inferName:_e=>{var Pt,Dt;return((Dt=(Pt=_e.source)==null?void 0:Pt.trace)==null?void 0:Dt.name)??"Untitled Query"},provideSelectionInfo:({children:_e,event:Pt,layer:Dt})=>{const Nt=controller$1.provideSelectionInfo,{layer:jt,setLayer:Ut,layers:Gt}=useLayer(Dt),Wt=reactExports.useMemo(()=>{const Yt=lodashExports$1.filter(Gt,{source:{type:"map"}});return lodashExports$1.filter(lodashExports$1.map(Yt,Xt=>{var Qt,en,tn,nn;const{parsedMap:Zt}=(Xt==null?void 0:Xt.source)??{};if(Zt&&Pt){const rn=(nn=(tn=getParser((en=(Qt=Xt==null?void 0:Xt.source)==null?void 0:Qt.map)==null?void 0:en.format))==null?void 0:tn.hydrate)==null?void 0:nn.call(tn,Zt);if(rn){const an=(Pt==null?void 0:Pt.world)&&rn.snap(Pt.world);if(an){const sn=(Pt==null?void 0:Pt.world)&&rn.nodeAt(an);return{point:an,node:sn,key:Xt.key,name:inferLayerName(Xt)}}}}}))},[Gt]),qt=reactExports.useMemo(()=>!!jt&&!!Wt.length&&{[jt.key]:{primary:inferLayerName(jt),items:{...lodashExports$1.reduce(Wt,(Yt,Xt)=>({...Yt,[`${Dt}-${Xt==null?void 0:Xt.key}-source`]:{primary:"Set as source",secondary:Xt==null?void 0:Xt.name,action:()=>Ut(produce(jt,Zt=>{lodashExports$1.set(Zt,"source.start",Xt==null?void 0:Xt.node),lodashExports$1.set(Zt,"source.query",void 0),lodashExports$1.set(Zt,"source.mapLayerKey",Xt==null?void 0:Xt.key),lodashExports$1.set(Zt,"source.trace",void 0)})),icon:jsxRuntimeExports.jsx(StartIcon,{sx:{transform:"scale(0.5)"}})},[`${Dt}-${Xt==null?void 0:Xt.key}-destination`]:{primary:"Set as destination",secondary:Xt==null?void 0:Xt.name,action:()=>Ut(produce(jt,Zt=>{lodashExports$1.set(Zt,"source.end",Xt==null?void 0:Xt.node),lodashExports$1.set(Zt,"source.query",void 0),lodashExports$1.set(Zt,"source.mapLayerKey",Xt==null?void 0:Xt.key),lodashExports$1.set(Zt,"source.trace",void 0)})),icon:jsxRuntimeExports.jsx(DestinationIcon,{})}}),{})}}},[Wt,jt,Gt,Ut]);return jsxRuntimeExports.jsx(Nt,{event:Pt,layer:Dt,children:Yt=>_e==null?void 0:_e(lodashExports$1.merge(Yt,qt))})},getSources:_e=>{const{algorithm:Pt=null,start:Dt=0,end:Nt=0,query:jt}=(_e==null?void 0:_e.source)??{};return[{id:"params",name:"Query",language:"yaml",content:dump({algorithm:Pt,instances:[{start:Dt,end:Nt}],mapURI:"(...)",format:"(...)",...mapValuesDeep(jt,Ut=>typeof Ut=="string"&&Ut.length>maxStringPropLength?`${lodashExports$1.truncate(Ut,{length:maxStringPropLength})} (${Ut.length} characters)`:Ut)},{noCompatMode:!0})},...controller$1.getSources(_e)]}};function getLayerHandler(_e){var Pt;return layerHandlers[((Pt=_e==null?void 0:_e.source)==null?void 0:Pt.type)??""]}const layerHandlers={trace:controller$1,map:controller$2,query:controller};function inferLayerName(_e){var Pt,Dt;return _e!=null&&_e.name?_e==null?void 0:_e.name:(Pt=_e==null?void 0:_e.source)!=null&&Pt.type?layerHandlers[(Dt=_e.source)==null?void 0:Dt.type].inferName(_e):"Untitled Layer"}var ReactReduxContext=React.createContext(null);function defaultNoopBatch(_e){_e()}var batch=defaultNoopBatch,setBatch=function(Pt){return batch=Pt},getBatch=function(){return batch};function createListenerCollection(){var _e=getBatch(),Pt=null,Dt=null;return{clear:function(){Pt=null,Dt=null},notify:function(){_e(function(){for(var jt=Pt;jt;)jt.callback(),jt=jt.next})},get:function(){for(var jt=[],Ut=Pt;Ut;)jt.push(Ut),Ut=Ut.next;return jt},subscribe:function(jt){var Ut=!0,Gt=Dt={callback:jt,next:null,prev:Dt};return Gt.prev?Gt.prev.next=Gt:Pt=Gt,function(){!Ut||Pt===null||(Ut=!1,Gt.next?Gt.next.prev=Gt.prev:Dt=Gt.prev,Gt.prev?Gt.prev.next=Gt.next:Pt=Gt.next)}}}}var nullListeners={notify:function(){},get:function(){return[]}};function createSubscription(_e,Pt){var Dt,Nt=nullListeners;function jt(Zt){return qt(),Nt.subscribe(Zt)}function Ut(){Nt.notify()}function Gt(){Xt.onStateChange&&Xt.onStateChange()}function Wt(){return!!Dt}function qt(){Dt||(Dt=Pt?Pt.addNestedSub(Gt):_e.subscribe(Gt),Nt=createListenerCollection())}function Yt(){Dt&&(Dt(),Dt=void 0,Nt.clear(),Nt=nullListeners)}var Xt={addNestedSub:jt,notifyNestedSubs:Ut,handleChangeWrapper:Gt,isSubscribed:Wt,trySubscribe:qt,tryUnsubscribe:Yt,getListeners:function(){return Nt}};return Xt}var useIsomorphicLayoutEffect$4=typeof window<"u"&&typeof window.document<"u"&&typeof window.document.createElement<"u"?reactExports.useLayoutEffect:reactExports.useEffect;function Provider(_e){var Pt=_e.store,Dt=_e.context,Nt=_e.children,jt=reactExports.useMemo(function(){var Wt=createSubscription(Pt);return{store:Pt,subscription:Wt}},[Pt]),Ut=reactExports.useMemo(function(){return Pt.getState()},[Pt]);useIsomorphicLayoutEffect$4(function(){var Wt=jt.subscription;return Wt.onStateChange=Wt.notifyNestedSubs,Wt.trySubscribe(),Ut!==Pt.getState()&&Wt.notifyNestedSubs(),function(){Wt.tryUnsubscribe(),Wt.onStateChange=null}},[jt,Ut]);var Gt=Dt||ReactReduxContext;return React.createElement(Gt.Provider,{value:jt},Nt)}var _excluded$2=["getDisplayName","methodName","renderCountProp","shouldHandleStateChanges","storeKey","withRef","forwardRef","context"],_excluded2=["reactReduxForwardedRef"],EMPTY_ARRAY=[],NO_SUBSCRIPTION_ARRAY=[null,null];function storeStateUpdatesReducer(_e,Pt){var Dt=_e[1];return[Pt.payload,Dt+1]}function useIsomorphicLayoutEffectWithArgs(_e,Pt,Dt){useIsomorphicLayoutEffect$4(function(){return _e.apply(void 0,Pt)},Dt)}function captureWrapperProps(_e,Pt,Dt,Nt,jt,Ut,Gt){_e.current=Nt,Pt.current=jt,Dt.current=!1,Ut.current&&(Ut.current=null,Gt())}function subscribeUpdates(_e,Pt,Dt,Nt,jt,Ut,Gt,Wt,qt,Yt){if(_e){var Xt=!1,Zt=null,Qt=function(){if(!Xt){var nn=Pt.getState(),rn,an;try{rn=Nt(nn,jt.current)}catch(sn){an=sn,Zt=sn}an||(Zt=null),rn===Ut.current?Gt.current||qt():(Ut.current=rn,Wt.current=rn,Gt.current=!0,Yt({type:"STORE_UPDATED",payload:{error:an}}))}};Dt.onStateChange=Qt,Dt.trySubscribe(),Qt();var en=function(){if(Xt=!0,Dt.tryUnsubscribe(),Dt.onStateChange=null,Zt)throw Zt};return en}}var initStateUpdates=function(){return[null,0]};function connectAdvanced(_e,Pt){Pt===void 0&&(Pt={});var Dt=Pt,Nt=Dt.getDisplayName,jt=Nt===void 0?function(ln){return"ConnectAdvanced("+ln+")"}:Nt,Ut=Dt.methodName,Gt=Ut===void 0?"connectAdvanced":Ut,Wt=Dt.renderCountProp,qt=Wt===void 0?void 0:Wt,Yt=Dt.shouldHandleStateChanges,Xt=Yt===void 0?!0:Yt,Zt=Dt.storeKey,Qt=Zt===void 0?"store":Zt;Dt.withRef;var en=Dt.forwardRef,tn=en===void 0?!1:en,nn=Dt.context,rn=nn===void 0?ReactReduxContext:nn,an=_objectWithoutPropertiesLoose$3(Dt,_excluded$2),sn=rn;return function(un){var pn=un.displayName||un.name||"Component",mn=jt(pn),dn=_extends$2({},an,{getDisplayName:jt,methodName:Gt,renderCountProp:qt,shouldHandleStateChanges:Xt,storeKey:Qt,displayName:mn,wrappedComponentName:pn,WrappedComponent:un}),hn=an.pure;function vn(yn){return _e(yn.dispatch,dn)}var En=hn?reactExports.useMemo:function(yn){return yn()};function _n(yn){var Nn=reactExports.useMemo(function(){var fr=yn.reactReduxForwardedRef,yr=_objectWithoutPropertiesLoose$3(yn,_excluded2);return[yn.context,fr,yr]},[yn]),Fn=Nn[0],Bn=Nn[1],Sn=Nn[2],kn=reactExports.useMemo(function(){return Fn&&Fn.Consumer&&reactIsExports.isContextConsumer(React.createElement(Fn.Consumer,null))?Fn:sn},[Fn,sn]),zn=reactExports.useContext(kn),In=!!yn.store&&!!yn.store.getState&&!!yn.store.dispatch;zn&&zn.store;var Rn=In?yn.store:zn.store,Kn=reactExports.useMemo(function(){return vn(Rn)},[Rn]),Jn=reactExports.useMemo(function(){if(!Xt)return NO_SUBSCRIPTION_ARRAY;var fr=createSubscription(Rn,In?null:zn.subscription),yr=fr.notifyNestedSubs.bind(fr);return[fr,yr]},[Rn,In,zn]),ar=Jn[0],$n=Jn[1],On=reactExports.useMemo(function(){return In?zn:_extends$2({},zn,{subscription:ar})},[In,zn,ar]),Mn=reactExports.useReducer(storeStateUpdatesReducer,EMPTY_ARRAY,initStateUpdates),Vn=Mn[0],gn=Vn[0],bn=Mn[1];if(gn&&gn.error)throw gn.error;var wn=reactExports.useRef(),Gn=reactExports.useRef(Sn),Zn=reactExports.useRef(),Pn=reactExports.useRef(!1),er=En(function(){return Zn.current&&Sn===Gn.current?Zn.current:Kn(Rn.getState(),Sn)},[Rn,gn,Sn]);useIsomorphicLayoutEffectWithArgs(captureWrapperProps,[Gn,wn,Pn,Sn,er,Zn,$n]),useIsomorphicLayoutEffectWithArgs(subscribeUpdates,[Xt,Rn,ar,Kn,Gn,wn,Pn,Zn,$n,bn],[Rn,ar,Kn]);var or=reactExports.useMemo(function(){return React.createElement(un,_extends$2({},er,{ref:Bn}))},[Bn,un,er]),tr=reactExports.useMemo(function(){return Xt?React.createElement(kn.Provider,{value:On},or):or},[kn,or,On]);return tr}var Cn=hn?React.memo(_n):_n;if(Cn.WrappedComponent=un,Cn.displayName=_n.displayName=mn,tn){var Tn=React.forwardRef(function(Nn,Fn){return React.createElement(Cn,_extends$2({},Nn,{reactReduxForwardedRef:Fn}))});return Tn.displayName=mn,Tn.WrappedComponent=un,hoistStatics(Tn,un)}return hoistStatics(Cn,un)}}function is$5(_e,Pt){return _e===Pt?_e!==0||Pt!==0||1/_e===1/Pt:_e!==_e&&Pt!==Pt}function shallowEqual(_e,Pt){if(is$5(_e,Pt))return!0;if(typeof _e!="object"||_e===null||typeof Pt!="object"||Pt===null)return!1;var Dt=Object.keys(_e),Nt=Object.keys(Pt);if(Dt.length!==Nt.length)return!1;for(var jt=0;jt=0;Nt--){var jt=Pt[Nt](_e);if(jt)return jt}return function(Ut,Gt){throw new Error("Invalid value of type "+typeof _e+" for "+Dt+" argument when connecting component "+Gt.wrappedComponentName+".")}}function strictEqual(_e,Pt){return _e===Pt}function createConnect(_e){var Pt=_e===void 0?{}:_e,Dt=Pt.connectHOC,Nt=Dt===void 0?connectAdvanced:Dt,jt=Pt.mapStateToPropsFactories,Ut=jt===void 0?defaultMapStateToPropsFactories:jt,Gt=Pt.mapDispatchToPropsFactories,Wt=Gt===void 0?defaultMapDispatchToPropsFactories:Gt,qt=Pt.mergePropsFactories,Yt=qt===void 0?defaultMergePropsFactories:qt,Xt=Pt.selectorFactory,Zt=Xt===void 0?finalPropsSelectorFactory:Xt;return function(en,tn,nn,rn){rn===void 0&&(rn={});var an=rn,sn=an.pure,ln=sn===void 0?!0:sn,un=an.areStatesEqual,pn=un===void 0?strictEqual:un,mn=an.areOwnPropsEqual,dn=mn===void 0?shallowEqual:mn,hn=an.areStatePropsEqual,vn=hn===void 0?shallowEqual:hn,En=an.areMergedPropsEqual,_n=En===void 0?shallowEqual:En,Cn=_objectWithoutPropertiesLoose$3(an,_excluded),Tn=match(en,Ut,"mapStateToProps"),yn=match(tn,Wt,"mapDispatchToProps"),Nn=match(nn,Yt,"mergeProps");return Nt(Zt,_extends$2({methodName:"connect",getDisplayName:function(Bn){return"Connect("+Bn+")"},shouldHandleStateChanges:!!en,initMapStateToProps:Tn,initMapDispatchToProps:yn,initMergeProps:Nn,pure:ln,areStatesEqual:pn,areOwnPropsEqual:dn,areStatePropsEqual:vn,areMergedPropsEqual:_n},Cn))}}const connect$1=createConnect();setBatch(reactDomExports.unstable_batchedUpdates);function areInputsEqual$1(_e,Pt){if(_e.length!==Pt.length)return!1;for(var Dt=0;Dt<_e.length;Dt++)if(_e[Dt]!==Pt[Dt])return!1;return!0}function useMemoOne(_e,Pt){var Dt=reactExports.useState(function(){return{inputs:Pt,result:_e()}})[0],Nt=reactExports.useRef(!0),jt=reactExports.useRef(Dt),Ut=Nt.current||!!(Pt&&jt.current.inputs&&areInputsEqual$1(Pt,jt.current.inputs)),Gt=Ut?jt.current:{inputs:Pt,result:_e()};return reactExports.useEffect(function(){Nt.current=!1,jt.current=Gt},[Gt]),Gt.result}function useCallbackOne(_e,Pt){return useMemoOne(function(){return _e},Pt)}var useMemo=useMemoOne,useCallback=useCallbackOne,isProduction=!0,prefix$2="Invariant failed";function invariant$1(_e,Pt){if(!_e){if(isProduction)throw new Error(prefix$2);var Dt=typeof Pt=="function"?Pt():Pt,Nt=Dt?"".concat(prefix$2,": ").concat(Dt):prefix$2;throw new Error(Nt)}}var getRect=function(Pt){var Dt=Pt.top,Nt=Pt.right,jt=Pt.bottom,Ut=Pt.left,Gt=Nt-Ut,Wt=jt-Dt,qt={top:Dt,right:Nt,bottom:jt,left:Ut,width:Gt,height:Wt,x:Ut,y:Dt,center:{x:(Nt+Ut)/2,y:(jt+Dt)/2}};return qt},expand=function(Pt,Dt){return{top:Pt.top-Dt.top,left:Pt.left-Dt.left,bottom:Pt.bottom+Dt.bottom,right:Pt.right+Dt.right}},shrink=function(Pt,Dt){return{top:Pt.top+Dt.top,left:Pt.left+Dt.left,bottom:Pt.bottom-Dt.bottom,right:Pt.right-Dt.right}},shift=function(Pt,Dt){return{top:Pt.top+Dt.y,left:Pt.left+Dt.x,bottom:Pt.bottom+Dt.y,right:Pt.right+Dt.x}},noSpacing$1={top:0,right:0,bottom:0,left:0},createBox=function(Pt){var Dt=Pt.borderBox,Nt=Pt.margin,jt=Nt===void 0?noSpacing$1:Nt,Ut=Pt.border,Gt=Ut===void 0?noSpacing$1:Ut,Wt=Pt.padding,qt=Wt===void 0?noSpacing$1:Wt,Yt=getRect(expand(Dt,jt)),Xt=getRect(shrink(Dt,Gt)),Zt=getRect(shrink(Xt,qt));return{marginBox:Yt,borderBox:getRect(Dt),paddingBox:Xt,contentBox:Zt,margin:jt,border:Gt,padding:qt}},parse$6=function(Pt){var Dt=Pt.slice(0,-2),Nt=Pt.slice(-2);if(Nt!=="px")return 0;var jt=Number(Dt);return isNaN(jt)&&invariant$1(!1),jt},getWindowScroll$1=function(){return{x:window.pageXOffset,y:window.pageYOffset}},offset=function(Pt,Dt){var Nt=Pt.borderBox,jt=Pt.border,Ut=Pt.margin,Gt=Pt.padding,Wt=shift(Nt,Dt);return createBox({borderBox:Wt,border:jt,margin:Ut,padding:Gt})},withScroll=function(Pt,Dt){return Dt===void 0&&(Dt=getWindowScroll$1()),offset(Pt,Dt)},calculateBox=function(Pt,Dt){var Nt={top:parse$6(Dt.marginTop),right:parse$6(Dt.marginRight),bottom:parse$6(Dt.marginBottom),left:parse$6(Dt.marginLeft)},jt={top:parse$6(Dt.paddingTop),right:parse$6(Dt.paddingRight),bottom:parse$6(Dt.paddingBottom),left:parse$6(Dt.paddingLeft)},Ut={top:parse$6(Dt.borderTopWidth),right:parse$6(Dt.borderRightWidth),bottom:parse$6(Dt.borderBottomWidth),left:parse$6(Dt.borderLeftWidth)};return createBox({borderBox:Pt,margin:Nt,padding:jt,border:Ut})},getBox=function(Pt){var Dt=Pt.getBoundingClientRect(),Nt=window.getComputedStyle(Pt);return calculateBox(Dt,Nt)},safeIsNaN=Number.isNaN||function(Pt){return typeof Pt=="number"&&Pt!==Pt};function isEqual$2(_e,Pt){return!!(_e===Pt||safeIsNaN(_e)&&safeIsNaN(Pt))}function areInputsEqual(_e,Pt){if(_e.length!==Pt.length)return!1;for(var Dt=0;Dt<_e.length;Dt++)if(!isEqual$2(_e[Dt],Pt[Dt]))return!1;return!0}function memoizeOne(_e,Pt){Pt===void 0&&(Pt=areInputsEqual);var Dt,Nt=[],jt,Ut=!1;function Gt(){for(var Wt=[],qt=0;qt");return Nt.callbacks},Nt.setCallbacks=function(Wt){Nt.callbacks=Wt},Nt}var Dt=Pt.prototype;return Dt.componentDidMount=function(){this.unbind=bindEvents(window,[{eventName:"error",fn:this.onWindowError}])},Dt.componentDidCatch=function(jt){if(jt instanceof RbdInvariant){this.setState({});return}throw jt},Dt.componentWillUnmount=function(){this.unbind()},Dt.render=function(){return this.props.children(this.setCallbacks)},Pt}(React.Component),dragHandleUsageInstructions=` Press space bar to start a drag. When dragging you can use the arrow keys to move the item around and escape to cancel. Some screen readers may require you to be in focus mode or to use your pass through key @@ -1066,7 +1067,7 @@ Use Save As... to download, then click back to return to this page.`)&&(location * * @author Feross Aboukhadijeh * @license MIT - */(function(_e){const Pt=base64Js,Dt=ieee754,Nt=typeof Symbol=="function"&&typeof Symbol.for=="function"?Symbol.for("nodejs.util.inspect.custom"):null;_e.Buffer=Wt,_e.SlowBuffer=sn,_e.INSPECT_MAX_BYTES=50;const jt=2147483647;_e.kMaxLength=jt,Wt.TYPED_ARRAY_SUPPORT=Ut(),!Wt.TYPED_ARRAY_SUPPORT&&typeof console<"u"&&typeof console.error=="function"&&console.error("This browser lacks typed array (Uint8Array) support which is required by `buffer` v5.x. Use `buffer` v4.x if you require old browser support.");function Ut(){try{const qn=new Uint8Array(1),Dn={foo:function(){return 42}};return Object.setPrototypeOf(Dn,Uint8Array.prototype),Object.setPrototypeOf(qn,Dn),qn.foo()===42}catch{return!1}}Object.defineProperty(Wt.prototype,"parent",{enumerable:!0,get:function(){if(Wt.isBuffer(this))return this.buffer}}),Object.defineProperty(Wt.prototype,"offset",{enumerable:!0,get:function(){if(Wt.isBuffer(this))return this.byteOffset}});function Gt(qn){if(qn>jt)throw new RangeError('The value "'+qn+'" is invalid for option "size"');const Dn=new Uint8Array(qn);return Object.setPrototypeOf(Dn,Wt.prototype),Dn}function Wt(qn,Dn,An){if(typeof qn=="number"){if(typeof Dn=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return Zt(qn)}return qt(qn,Dn,An)}Wt.poolSize=8192;function qt(qn,Dn,An){if(typeof qn=="string")return Qt(qn,Dn);if(ArrayBuffer.isView(qn))return tn(qn);if(qn==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof qn);if(Ir(qn,ArrayBuffer)||qn&&Ir(qn.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Ir(qn,SharedArrayBuffer)||qn&&Ir(qn.buffer,SharedArrayBuffer)))return nn(qn,Dn,An);if(typeof qn=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const Qn=qn.valueOf&&qn.valueOf();if(Qn!=null&&Qn!==qn)return Wt.from(Qn,Dn,An);const hr=rn(qn);if(hr)return hr;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof qn[Symbol.toPrimitive]=="function")return Wt.from(qn[Symbol.toPrimitive]("string"),Dn,An);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof qn)}Wt.from=function(qn,Dn,An){return qt(qn,Dn,An)},Object.setPrototypeOf(Wt.prototype,Uint8Array.prototype),Object.setPrototypeOf(Wt,Uint8Array);function Yt(qn){if(typeof qn!="number")throw new TypeError('"size" argument must be of type number');if(qn<0)throw new RangeError('The value "'+qn+'" is invalid for option "size"')}function Xt(qn,Dn,An){return Yt(qn),qn<=0?Gt(qn):Dn!==void 0?typeof An=="string"?Gt(qn).fill(Dn,An):Gt(qn).fill(Dn):Gt(qn)}Wt.alloc=function(qn,Dn,An){return Xt(qn,Dn,An)};function Zt(qn){return Yt(qn),Gt(qn<0?0:an(qn)|0)}Wt.allocUnsafe=function(qn){return Zt(qn)},Wt.allocUnsafeSlow=function(qn){return Zt(qn)};function Qt(qn,Dn){if((typeof Dn!="string"||Dn==="")&&(Dn="utf8"),!Wt.isEncoding(Dn))throw new TypeError("Unknown encoding: "+Dn);const An=ln(qn,Dn)|0;let Qn=Gt(An);const hr=Qn.write(qn,Dn);return hr!==An&&(Qn=Qn.slice(0,hr)),Qn}function en(qn){const Dn=qn.length<0?0:an(qn.length)|0,An=Gt(Dn);for(let Qn=0;Qn=jt)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+jt.toString(16)+" bytes");return qn|0}function sn(qn){return+qn!=qn&&(qn=0),Wt.alloc(+qn)}Wt.isBuffer=function(Dn){return Dn!=null&&Dn._isBuffer===!0&&Dn!==Wt.prototype},Wt.compare=function(Dn,An){if(Ir(Dn,Uint8Array)&&(Dn=Wt.from(Dn,Dn.offset,Dn.byteLength)),Ir(An,Uint8Array)&&(An=Wt.from(An,An.offset,An.byteLength)),!Wt.isBuffer(Dn)||!Wt.isBuffer(An))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(Dn===An)return 0;let Qn=Dn.length,hr=An.length;for(let wr=0,_r=Math.min(Qn,hr);wr<_r;++wr)if(Dn[wr]!==An[wr]){Qn=Dn[wr],hr=An[wr];break}return Qnhr.length?(Wt.isBuffer(_r)||(_r=Wt.from(_r)),_r.copy(hr,wr)):Uint8Array.prototype.set.call(hr,_r,wr);else if(Wt.isBuffer(_r))_r.copy(hr,wr);else throw new TypeError('"list" argument must be an Array of Buffers');wr+=_r.length}return hr};function ln(qn,Dn){if(Wt.isBuffer(qn))return qn.length;if(ArrayBuffer.isView(qn)||Ir(qn,ArrayBuffer))return qn.byteLength;if(typeof qn!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof qn);const An=qn.length,Qn=arguments.length>2&&arguments[2]===!0;if(!Qn&&An===0)return 0;let hr=!1;for(;;)switch(Dn){case"ascii":case"latin1":case"binary":return An;case"utf8":case"utf-8":return or(qn).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return An*2;case"hex":return An>>>1;case"base64":return yr(qn).length;default:if(hr)return Qn?-1:or(qn).length;Dn=(""+Dn).toLowerCase(),hr=!0}}Wt.byteLength=ln;function un(qn,Dn,An){let Qn=!1;if((Dn===void 0||Dn<0)&&(Dn=0),Dn>this.length||((An===void 0||An>this.length)&&(An=this.length),An<=0)||(An>>>=0,Dn>>>=0,An<=Dn))return"";for(qn||(qn="utf8");;)switch(qn){case"hex":return kn(this,Dn,An);case"utf8":case"utf-8":return yn(this,Dn,An);case"ascii":return Bn(this,Dn,An);case"latin1":case"binary":return Sn(this,Dn,An);case"base64":return Tn(this,Dn,An);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return zn(this,Dn,An);default:if(Qn)throw new TypeError("Unknown encoding: "+qn);qn=(qn+"").toLowerCase(),Qn=!0}}Wt.prototype._isBuffer=!0;function pn(qn,Dn,An){const Qn=qn[Dn];qn[Dn]=qn[An],qn[An]=Qn}Wt.prototype.swap16=function(){const Dn=this.length;if(Dn%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let An=0;AnAn&&(Dn+=" ... "),""},Nt&&(Wt.prototype[Nt]=Wt.prototype.inspect),Wt.prototype.compare=function(Dn,An,Qn,hr,wr){if(Ir(Dn,Uint8Array)&&(Dn=Wt.from(Dn,Dn.offset,Dn.byteLength)),!Wt.isBuffer(Dn))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof Dn);if(An===void 0&&(An=0),Qn===void 0&&(Qn=Dn?Dn.length:0),hr===void 0&&(hr=0),wr===void 0&&(wr=this.length),An<0||Qn>Dn.length||hr<0||wr>this.length)throw new RangeError("out of range index");if(hr>=wr&&An>=Qn)return 0;if(hr>=wr)return-1;if(An>=Qn)return 1;if(An>>>=0,Qn>>>=0,hr>>>=0,wr>>>=0,this===Dn)return 0;let _r=wr-hr,Wn=Qn-An;const br=Math.min(_r,Wn),Xn=this.slice(hr,wr),ur=Dn.slice(An,Qn);for(let zr=0;zr2147483647?An=2147483647:An<-2147483648&&(An=-2147483648),An=+An,sr(An)&&(An=hr?0:qn.length-1),An<0&&(An=qn.length+An),An>=qn.length){if(hr)return-1;An=qn.length-1}else if(An<0)if(hr)An=0;else return-1;if(typeof Dn=="string"&&(Dn=Wt.from(Dn,Qn)),Wt.isBuffer(Dn))return Dn.length===0?-1:dn(qn,Dn,An,Qn,hr);if(typeof Dn=="number")return Dn=Dn&255,typeof Uint8Array.prototype.indexOf=="function"?hr?Uint8Array.prototype.indexOf.call(qn,Dn,An):Uint8Array.prototype.lastIndexOf.call(qn,Dn,An):dn(qn,[Dn],An,Qn,hr);throw new TypeError("val must be string, number or Buffer")}function dn(qn,Dn,An,Qn,hr){let wr=1,_r=qn.length,Wn=Dn.length;if(Qn!==void 0&&(Qn=String(Qn).toLowerCase(),Qn==="ucs2"||Qn==="ucs-2"||Qn==="utf16le"||Qn==="utf-16le")){if(qn.length<2||Dn.length<2)return-1;wr=2,_r/=2,Wn/=2,An/=2}function br(ur,zr){return wr===1?ur[zr]:ur.readUInt16BE(zr*wr)}let Xn;if(hr){let ur=-1;for(Xn=An;Xn<_r;Xn++)if(br(qn,Xn)===br(Dn,ur===-1?0:Xn-ur)){if(ur===-1&&(ur=Xn),Xn-ur+1===Wn)return ur*wr}else ur!==-1&&(Xn-=Xn-ur),ur=-1}else for(An+Wn>_r&&(An=_r-Wn),Xn=An;Xn>=0;Xn--){let ur=!0;for(let zr=0;zrhr&&(Qn=hr)):Qn=hr;const wr=Dn.length;Qn>wr/2&&(Qn=wr/2);let _r;for(_r=0;_r>>0,isFinite(Qn)?(Qn=Qn>>>0,hr===void 0&&(hr="utf8")):(hr=Qn,Qn=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const wr=this.length-An;if((Qn===void 0||Qn>wr)&&(Qn=wr),Dn.length>0&&(Qn<0||An<0)||An>this.length)throw new RangeError("Attempt to write outside buffer bounds");hr||(hr="utf8");let _r=!1;for(;;)switch(hr){case"hex":return hn(this,Dn,An,Qn);case"utf8":case"utf-8":return vn(this,Dn,An,Qn);case"ascii":case"latin1":case"binary":return En(this,Dn,An,Qn);case"base64":return _n(this,Dn,An,Qn);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Cn(this,Dn,An,Qn);default:if(_r)throw new TypeError("Unknown encoding: "+hr);hr=(""+hr).toLowerCase(),_r=!0}},Wt.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Tn(qn,Dn,An){return Dn===0&&An===qn.length?Pt.fromByteArray(qn):Pt.fromByteArray(qn.slice(Dn,An))}function yn(qn,Dn,An){An=Math.min(qn.length,An);const Qn=[];let hr=Dn;for(;hr239?4:wr>223?3:wr>191?2:1;if(hr+Wn<=An){let br,Xn,ur,zr;switch(Wn){case 1:wr<128&&(_r=wr);break;case 2:br=qn[hr+1],(br&192)===128&&(zr=(wr&31)<<6|br&63,zr>127&&(_r=zr));break;case 3:br=qn[hr+1],Xn=qn[hr+2],(br&192)===128&&(Xn&192)===128&&(zr=(wr&15)<<12|(br&63)<<6|Xn&63,zr>2047&&(zr<55296||zr>57343)&&(_r=zr));break;case 4:br=qn[hr+1],Xn=qn[hr+2],ur=qn[hr+3],(br&192)===128&&(Xn&192)===128&&(ur&192)===128&&(zr=(wr&15)<<18|(br&63)<<12|(Xn&63)<<6|ur&63,zr>65535&&zr<1114112&&(_r=zr))}}_r===null?(_r=65533,Wn=1):_r>65535&&(_r-=65536,Qn.push(_r>>>10&1023|55296),_r=56320|_r&1023),Qn.push(_r),hr+=Wn}return Fn(Qn)}const Nn=4096;function Fn(qn){const Dn=qn.length;if(Dn<=Nn)return String.fromCharCode.apply(String,qn);let An="",Qn=0;for(;QnQn)&&(An=Qn);let hr="";for(let wr=Dn;wrQn&&(Dn=Qn),An<0?(An+=Qn,An<0&&(An=0)):An>Qn&&(An=Qn),AnAn)throw new RangeError("Trying to access beyond buffer length")}Wt.prototype.readUintLE=Wt.prototype.readUIntLE=function(Dn,An,Qn){Dn=Dn>>>0,An=An>>>0,Qn||In(Dn,An,this.length);let hr=this[Dn],wr=1,_r=0;for(;++_r>>0,An=An>>>0,Qn||In(Dn,An,this.length);let hr=this[Dn+--An],wr=1;for(;An>0&&(wr*=256);)hr+=this[Dn+--An]*wr;return hr},Wt.prototype.readUint8=Wt.prototype.readUInt8=function(Dn,An){return Dn=Dn>>>0,An||In(Dn,1,this.length),this[Dn]},Wt.prototype.readUint16LE=Wt.prototype.readUInt16LE=function(Dn,An){return Dn=Dn>>>0,An||In(Dn,2,this.length),this[Dn]|this[Dn+1]<<8},Wt.prototype.readUint16BE=Wt.prototype.readUInt16BE=function(Dn,An){return Dn=Dn>>>0,An||In(Dn,2,this.length),this[Dn]<<8|this[Dn+1]},Wt.prototype.readUint32LE=Wt.prototype.readUInt32LE=function(Dn,An){return Dn=Dn>>>0,An||In(Dn,4,this.length),(this[Dn]|this[Dn+1]<<8|this[Dn+2]<<16)+this[Dn+3]*16777216},Wt.prototype.readUint32BE=Wt.prototype.readUInt32BE=function(Dn,An){return Dn=Dn>>>0,An||In(Dn,4,this.length),this[Dn]*16777216+(this[Dn+1]<<16|this[Dn+2]<<8|this[Dn+3])},Wt.prototype.readBigUInt64LE=Tr(function(Dn){Dn=Dn>>>0,Gn(Dn,"offset");const An=this[Dn],Qn=this[Dn+7];(An===void 0||Qn===void 0)&&Zn(Dn,this.length-8);const hr=An+this[++Dn]*2**8+this[++Dn]*2**16+this[++Dn]*2**24,wr=this[++Dn]+this[++Dn]*2**8+this[++Dn]*2**16+Qn*2**24;return BigInt(hr)+(BigInt(wr)<>>0,Gn(Dn,"offset");const An=this[Dn],Qn=this[Dn+7];(An===void 0||Qn===void 0)&&Zn(Dn,this.length-8);const hr=An*2**24+this[++Dn]*2**16+this[++Dn]*2**8+this[++Dn],wr=this[++Dn]*2**24+this[++Dn]*2**16+this[++Dn]*2**8+Qn;return(BigInt(hr)<>>0,An=An>>>0,Qn||In(Dn,An,this.length);let hr=this[Dn],wr=1,_r=0;for(;++_r=wr&&(hr-=Math.pow(2,8*An)),hr},Wt.prototype.readIntBE=function(Dn,An,Qn){Dn=Dn>>>0,An=An>>>0,Qn||In(Dn,An,this.length);let hr=An,wr=1,_r=this[Dn+--hr];for(;hr>0&&(wr*=256);)_r+=this[Dn+--hr]*wr;return wr*=128,_r>=wr&&(_r-=Math.pow(2,8*An)),_r},Wt.prototype.readInt8=function(Dn,An){return Dn=Dn>>>0,An||In(Dn,1,this.length),this[Dn]&128?(255-this[Dn]+1)*-1:this[Dn]},Wt.prototype.readInt16LE=function(Dn,An){Dn=Dn>>>0,An||In(Dn,2,this.length);const Qn=this[Dn]|this[Dn+1]<<8;return Qn&32768?Qn|4294901760:Qn},Wt.prototype.readInt16BE=function(Dn,An){Dn=Dn>>>0,An||In(Dn,2,this.length);const Qn=this[Dn+1]|this[Dn]<<8;return Qn&32768?Qn|4294901760:Qn},Wt.prototype.readInt32LE=function(Dn,An){return Dn=Dn>>>0,An||In(Dn,4,this.length),this[Dn]|this[Dn+1]<<8|this[Dn+2]<<16|this[Dn+3]<<24},Wt.prototype.readInt32BE=function(Dn,An){return Dn=Dn>>>0,An||In(Dn,4,this.length),this[Dn]<<24|this[Dn+1]<<16|this[Dn+2]<<8|this[Dn+3]},Wt.prototype.readBigInt64LE=Tr(function(Dn){Dn=Dn>>>0,Gn(Dn,"offset");const An=this[Dn],Qn=this[Dn+7];(An===void 0||Qn===void 0)&&Zn(Dn,this.length-8);const hr=this[Dn+4]+this[Dn+5]*2**8+this[Dn+6]*2**16+(Qn<<24);return(BigInt(hr)<>>0,Gn(Dn,"offset");const An=this[Dn],Qn=this[Dn+7];(An===void 0||Qn===void 0)&&Zn(Dn,this.length-8);const hr=(An<<24)+this[++Dn]*2**16+this[++Dn]*2**8+this[++Dn];return(BigInt(hr)<>>0,An||In(Dn,4,this.length),Dt.read(this,Dn,!0,23,4)},Wt.prototype.readFloatBE=function(Dn,An){return Dn=Dn>>>0,An||In(Dn,4,this.length),Dt.read(this,Dn,!1,23,4)},Wt.prototype.readDoubleLE=function(Dn,An){return Dn=Dn>>>0,An||In(Dn,8,this.length),Dt.read(this,Dn,!0,52,8)},Wt.prototype.readDoubleBE=function(Dn,An){return Dn=Dn>>>0,An||In(Dn,8,this.length),Dt.read(this,Dn,!1,52,8)};function Rn(qn,Dn,An,Qn,hr,wr){if(!Wt.isBuffer(qn))throw new TypeError('"buffer" argument must be a Buffer instance');if(Dn>hr||Dnqn.length)throw new RangeError("Index out of range")}Wt.prototype.writeUintLE=Wt.prototype.writeUIntLE=function(Dn,An,Qn,hr){if(Dn=+Dn,An=An>>>0,Qn=Qn>>>0,!hr){const Wn=Math.pow(2,8*Qn)-1;Rn(this,Dn,An,Qn,Wn,0)}let wr=1,_r=0;for(this[An]=Dn&255;++_r>>0,Qn=Qn>>>0,!hr){const Wn=Math.pow(2,8*Qn)-1;Rn(this,Dn,An,Qn,Wn,0)}let wr=Qn-1,_r=1;for(this[An+wr]=Dn&255;--wr>=0&&(_r*=256);)this[An+wr]=Dn/_r&255;return An+Qn},Wt.prototype.writeUint8=Wt.prototype.writeUInt8=function(Dn,An,Qn){return Dn=+Dn,An=An>>>0,Qn||Rn(this,Dn,An,1,255,0),this[An]=Dn&255,An+1},Wt.prototype.writeUint16LE=Wt.prototype.writeUInt16LE=function(Dn,An,Qn){return Dn=+Dn,An=An>>>0,Qn||Rn(this,Dn,An,2,65535,0),this[An]=Dn&255,this[An+1]=Dn>>>8,An+2},Wt.prototype.writeUint16BE=Wt.prototype.writeUInt16BE=function(Dn,An,Qn){return Dn=+Dn,An=An>>>0,Qn||Rn(this,Dn,An,2,65535,0),this[An]=Dn>>>8,this[An+1]=Dn&255,An+2},Wt.prototype.writeUint32LE=Wt.prototype.writeUInt32LE=function(Dn,An,Qn){return Dn=+Dn,An=An>>>0,Qn||Rn(this,Dn,An,4,4294967295,0),this[An+3]=Dn>>>24,this[An+2]=Dn>>>16,this[An+1]=Dn>>>8,this[An]=Dn&255,An+4},Wt.prototype.writeUint32BE=Wt.prototype.writeUInt32BE=function(Dn,An,Qn){return Dn=+Dn,An=An>>>0,Qn||Rn(this,Dn,An,4,4294967295,0),this[An]=Dn>>>24,this[An+1]=Dn>>>16,this[An+2]=Dn>>>8,this[An+3]=Dn&255,An+4};function Kn(qn,Dn,An,Qn,hr){wn(Dn,Qn,hr,qn,An,7);let wr=Number(Dn&BigInt(4294967295));qn[An++]=wr,wr=wr>>8,qn[An++]=wr,wr=wr>>8,qn[An++]=wr,wr=wr>>8,qn[An++]=wr;let _r=Number(Dn>>BigInt(32)&BigInt(4294967295));return qn[An++]=_r,_r=_r>>8,qn[An++]=_r,_r=_r>>8,qn[An++]=_r,_r=_r>>8,qn[An++]=_r,An}function Jn(qn,Dn,An,Qn,hr){wn(Dn,Qn,hr,qn,An,7);let wr=Number(Dn&BigInt(4294967295));qn[An+7]=wr,wr=wr>>8,qn[An+6]=wr,wr=wr>>8,qn[An+5]=wr,wr=wr>>8,qn[An+4]=wr;let _r=Number(Dn>>BigInt(32)&BigInt(4294967295));return qn[An+3]=_r,_r=_r>>8,qn[An+2]=_r,_r=_r>>8,qn[An+1]=_r,_r=_r>>8,qn[An]=_r,An+8}Wt.prototype.writeBigUInt64LE=Tr(function(Dn,An=0){return Kn(this,Dn,An,BigInt(0),BigInt("0xffffffffffffffff"))}),Wt.prototype.writeBigUInt64BE=Tr(function(Dn,An=0){return Jn(this,Dn,An,BigInt(0),BigInt("0xffffffffffffffff"))}),Wt.prototype.writeIntLE=function(Dn,An,Qn,hr){if(Dn=+Dn,An=An>>>0,!hr){const br=Math.pow(2,8*Qn-1);Rn(this,Dn,An,Qn,br-1,-br)}let wr=0,_r=1,Wn=0;for(this[An]=Dn&255;++wr>0)-Wn&255;return An+Qn},Wt.prototype.writeIntBE=function(Dn,An,Qn,hr){if(Dn=+Dn,An=An>>>0,!hr){const br=Math.pow(2,8*Qn-1);Rn(this,Dn,An,Qn,br-1,-br)}let wr=Qn-1,_r=1,Wn=0;for(this[An+wr]=Dn&255;--wr>=0&&(_r*=256);)Dn<0&&Wn===0&&this[An+wr+1]!==0&&(Wn=1),this[An+wr]=(Dn/_r>>0)-Wn&255;return An+Qn},Wt.prototype.writeInt8=function(Dn,An,Qn){return Dn=+Dn,An=An>>>0,Qn||Rn(this,Dn,An,1,127,-128),Dn<0&&(Dn=255+Dn+1),this[An]=Dn&255,An+1},Wt.prototype.writeInt16LE=function(Dn,An,Qn){return Dn=+Dn,An=An>>>0,Qn||Rn(this,Dn,An,2,32767,-32768),this[An]=Dn&255,this[An+1]=Dn>>>8,An+2},Wt.prototype.writeInt16BE=function(Dn,An,Qn){return Dn=+Dn,An=An>>>0,Qn||Rn(this,Dn,An,2,32767,-32768),this[An]=Dn>>>8,this[An+1]=Dn&255,An+2},Wt.prototype.writeInt32LE=function(Dn,An,Qn){return Dn=+Dn,An=An>>>0,Qn||Rn(this,Dn,An,4,2147483647,-2147483648),this[An]=Dn&255,this[An+1]=Dn>>>8,this[An+2]=Dn>>>16,this[An+3]=Dn>>>24,An+4},Wt.prototype.writeInt32BE=function(Dn,An,Qn){return Dn=+Dn,An=An>>>0,Qn||Rn(this,Dn,An,4,2147483647,-2147483648),Dn<0&&(Dn=4294967295+Dn+1),this[An]=Dn>>>24,this[An+1]=Dn>>>16,this[An+2]=Dn>>>8,this[An+3]=Dn&255,An+4},Wt.prototype.writeBigInt64LE=Tr(function(Dn,An=0){return Kn(this,Dn,An,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),Wt.prototype.writeBigInt64BE=Tr(function(Dn,An=0){return Jn(this,Dn,An,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ar(qn,Dn,An,Qn,hr,wr){if(An+Qn>qn.length)throw new RangeError("Index out of range");if(An<0)throw new RangeError("Index out of range")}function $n(qn,Dn,An,Qn,hr){return Dn=+Dn,An=An>>>0,hr||ar(qn,Dn,An,4),Dt.write(qn,Dn,An,Qn,23,4),An+4}Wt.prototype.writeFloatLE=function(Dn,An,Qn){return $n(this,Dn,An,!0,Qn)},Wt.prototype.writeFloatBE=function(Dn,An,Qn){return $n(this,Dn,An,!1,Qn)};function On(qn,Dn,An,Qn,hr){return Dn=+Dn,An=An>>>0,hr||ar(qn,Dn,An,8),Dt.write(qn,Dn,An,Qn,52,8),An+8}Wt.prototype.writeDoubleLE=function(Dn,An,Qn){return On(this,Dn,An,!0,Qn)},Wt.prototype.writeDoubleBE=function(Dn,An,Qn){return On(this,Dn,An,!1,Qn)},Wt.prototype.copy=function(Dn,An,Qn,hr){if(!Wt.isBuffer(Dn))throw new TypeError("argument should be a Buffer");if(Qn||(Qn=0),!hr&&hr!==0&&(hr=this.length),An>=Dn.length&&(An=Dn.length),An||(An=0),hr>0&&hr=this.length)throw new RangeError("Index out of range");if(hr<0)throw new RangeError("sourceEnd out of bounds");hr>this.length&&(hr=this.length),Dn.length-An>>0,Qn=Qn===void 0?this.length:Qn>>>0,Dn||(Dn=0);let wr;if(typeof Dn=="number")for(wr=An;wr2**32?hr=gn(String(An)):typeof An=="bigint"&&(hr=String(An),(An>BigInt(2)**BigInt(32)||An<-(BigInt(2)**BigInt(32)))&&(hr=gn(hr)),hr+="n"),Qn+=` It must be ${Dn}. Received ${hr}`,Qn},RangeError);function gn(qn){let Dn="",An=qn.length;const Qn=qn[0]==="-"?1:0;for(;An>=Qn+4;An-=3)Dn=`_${qn.slice(An-3,An)}${Dn}`;return`${qn.slice(0,An)}${Dn}`}function bn(qn,Dn,An){Gn(Dn,"offset"),(qn[Dn]===void 0||qn[Dn+An]===void 0)&&Zn(Dn,qn.length-(An+1))}function wn(qn,Dn,An,Qn,hr,wr){if(qn>An||qn3?Dn===0||Dn===BigInt(0)?Wn=`>= 0${_r} and < 2${_r} ** ${(wr+1)*8}${_r}`:Wn=`>= -(2${_r} ** ${(wr+1)*8-1}${_r}) and < 2 ** ${(wr+1)*8-1}${_r}`:Wn=`>= ${Dn}${_r} and <= ${An}${_r}`,new Mn.ERR_OUT_OF_RANGE("value",Wn,qn)}bn(Qn,hr,wr)}function Gn(qn,Dn){if(typeof qn!="number")throw new Mn.ERR_INVALID_ARG_TYPE(Dn,"number",qn)}function Zn(qn,Dn,An){throw Math.floor(qn)!==qn?(Gn(qn,An),new Mn.ERR_OUT_OF_RANGE(An||"offset","an integer",qn)):Dn<0?new Mn.ERR_BUFFER_OUT_OF_BOUNDS:new Mn.ERR_OUT_OF_RANGE(An||"offset",`>= ${An?1:0} and <= ${Dn}`,qn)}const Pn=/[^+/0-9A-Za-z-_]/g;function er(qn){if(qn=qn.split("=")[0],qn=qn.trim().replace(Pn,""),qn.length<2)return"";for(;qn.length%4!==0;)qn=qn+"=";return qn}function or(qn,Dn){Dn=Dn||1/0;let An;const Qn=qn.length;let hr=null;const wr=[];for(let _r=0;_r55295&&An<57344){if(!hr){if(An>56319){(Dn-=3)>-1&&wr.push(239,191,189);continue}else if(_r+1===Qn){(Dn-=3)>-1&&wr.push(239,191,189);continue}hr=An;continue}if(An<56320){(Dn-=3)>-1&&wr.push(239,191,189),hr=An;continue}An=(hr-55296<<10|An-56320)+65536}else hr&&(Dn-=3)>-1&&wr.push(239,191,189);if(hr=null,An<128){if((Dn-=1)<0)break;wr.push(An)}else if(An<2048){if((Dn-=2)<0)break;wr.push(An>>6|192,An&63|128)}else if(An<65536){if((Dn-=3)<0)break;wr.push(An>>12|224,An>>6&63|128,An&63|128)}else if(An<1114112){if((Dn-=4)<0)break;wr.push(An>>18|240,An>>12&63|128,An>>6&63|128,An&63|128)}else throw new Error("Invalid code point")}return wr}function tr(qn){const Dn=[];for(let An=0;An>8,hr=An%256,wr.push(hr),wr.push(Qn);return wr}function yr(qn){return Pt.toByteArray(er(qn))}function dr(qn,Dn,An,Qn){let hr;for(hr=0;hr=Dn.length||hr>=qn.length);++hr)Dn[hr+An]=qn[hr];return hr}function Ir(qn,Dn){return qn instanceof Dn||qn!=null&&qn.constructor!=null&&qn.constructor.name!=null&&qn.constructor.name===Dn.name}function sr(qn){return qn!==qn}const mr=function(){const qn="0123456789abcdef",Dn=new Array(256);for(let An=0;An<16;++An){const Qn=An*16;for(let hr=0;hr<16;++hr)Dn[Qn+hr]=qn[An]+qn[hr]}return Dn}();function Tr(qn){return typeof BigInt>"u"?Pr:qn}function Pr(){throw new Error("BigInt not supported")}})(buffer);const ECMA_SIZES=byte_size,Buffer$2=buffer.Buffer;function preciseStringSizeNode(_e){return 12+4*Math.ceil(_e.length/4)}function isNodeEnvironment(){return!(typeof window<"u"&&typeof document<"u")}function getSizeOfTypedArray(_e){return _e.BYTES_PER_ELEMENT?_e.length*_e.BYTES_PER_ELEMENT:-1}function objectSizeComplex(_e){let Pt=0;const Dt=-1;try{let Nt=_e;if(_e instanceof Map?Nt=Object.fromEntries(_e):_e instanceof Set&&(Nt=Array.from(_e)),ArrayBuffer.isView(_e))return getSizeOfTypedArray(_e);const jt=JSON.stringify(Nt,(Ut,Gt)=>typeof Gt=="bigint"||typeof Gt=="function"?Gt.toString():typeof Gt>"u"?"undefined":typeof Gt=="symbol"||Gt instanceof RegExp?Gt.toString():Gt);Pt=Buffer$2.byteLength(jt,"utf8")}catch(Nt){return console.error("Error detected, returning "+Dt,Nt),Dt}return Pt}function objectSizeSimple(_e){const Pt=[],Dt=[_e];let Nt=0;for(;Dt.length;){const jt=Dt.pop();if(typeof jt=="boolean")Nt+=ECMA_SIZES.BYTES;else if(typeof jt=="string")isNodeEnvironment()?Nt+=preciseStringSizeNode(jt):Nt+=jt.length*ECMA_SIZES.STRING;else if(typeof jt=="number")Nt+=ECMA_SIZES.NUMBER;else if(typeof jt=="symbol")Symbol.keyFor&&Symbol.keyFor(_e)?Nt+=Symbol.keyFor(_e).length*ECMA_SIZES.STRING:Nt+=(_e.toString().length-8)*ECMA_SIZES.STRING;else if(typeof jt=="bigint")Nt+=Buffer$2.from(jt.toString()).byteLength;else if(typeof jt=="function")Nt+=jt.toString().length;else if(typeof jt=="object"&&Pt.indexOf(jt)===-1){Pt.push(jt);for(const Ut in jt)Dt.push(jt[Ut])}}return Nt}var indexv2=function(_e){let Pt=0;return _e!==null&&typeof _e=="object"?Pt=objectSizeComplex(_e):Pt=objectSizeSimple(_e),Pt};const sizeOf=getDefaultExportFromCjs(indexv2);var dist$4={},data={},adjectives={};Object.defineProperty(adjectives,"__esModule",{value:!0});adjectives.default=["other","new","good","old","little","great","small","young","long","black","high","only","big","white","political","right","large","real","sure","different","important","public","possible","full","whole","certain","human","major","military","bad","social","dead","true","economic","open","early","free","national","strong","hard","special","clear","local","private","wrong","late","short","poor","recent","dark","fine","foreign","ready","red","cold","low","heavy","serious","single","personal","difficult","left","blue","federal","necessary","general","easy","likely","beautiful","happy","past","hot","close","common","afraid","simple","natural","main","various","available","nice","present","final","sorry","entire","current","similar","deep","huge","rich","nuclear","empty","strange","quiet","front","wide","modern","concerned","green","very","alone","particular","bright","supposed","basic","medical","aware","total","financial","legal","original","international","soft","alive","interested","tall","warm","popular","tiny","top","normal","powerful","silent","religious","impossible","quick","safe","thin","familiar","gray","fresh","physical","individual","willing","crazy","sick","angry","perfect","tired","wild","moral","brown","dangerous","famous","married","terrible","successful","fair","professional","official","obvious","glad","central","chief","effective","light","complete","interesting","thick","proper","involved","responsible","narrow","civil","industrial","dry","yellow","specific","sharp","sudden","direct","following","growing","significant","traditional","slow","previous","vast","surprised","busy","usual","clean","funny","regular","scientific","ordinary","ancient","senior","sweet","future","annual","secret","equal","independent","wonderful","tough","broad","additional","careful","domestic","brief","enormous","commercial","grand","average","sexual","nervous","pale","immediate","critical","proud","like","complex","separate","considerable","still","extra","expensive","guilty","active","mad","asleep","wooden","cool","presidential","apparent","weak","essential","living","pretty","cultural","useful","actual","unusual","daily","potential","wet","solid","lovely","comfortable","formal","outside","massive","sad","corporate","distant","loose","rare","stupid","visible","liberal","flat","pleased","pure","curious","practical","upper","technical","male","appropriate","fat","just","due","mere","handsome","mental","conservative","positive","leading","naked","false","drunk","dirty","friendly","constant","well","used","emotional","internal","odd","historical","female","ill","broken","capable","southern","pleasant","bare","minor","eager","lucky","urban","steady","fiscal","rough","primary","reasonable","typical","inner","favorite","attractive","slight","innocent","limited","straight","pink","excellent","double","dramatic","violent","honest","electric","fellow","substantial","opposite","awful","severe","joint","armed","hungry","remarkable","increased","gentle","illegal","middle","bitter","mass","permanent","increasing","damn","golden","correct","intense","round","northern","proposed","so-called","criminal","healthy","plain","vital","blind","native","intellectual","unknown","extreme","existing","raw","prime","brilliant","sensitive","extraordinary","sufficient","remaining","ultimate","unique","royal","initial","negative","fundamental","nearby","smart","strategic","educational","unlikely","smooth","modest","conventional","giant","scared","cheap","dear","delicate","anxious","valuable","standard","desperate","lonely","diplomatic","firm","wise","principal","congressional","occasional","ugly","vice","radical","faint","working","absolute","intelligent","racial","mutual","silly","fast","musical","tight","complicated","numerous","crucial","square","contemporary","bloody","western","endless","inevitable","environmental","constitutional","rapid","worried","lost","genuine","temporary","democratic","rural","regional","given","painful","literary","chemical","sophisticated","decent","academic","awake","conscious","revolutionary","surprising","elderly","agricultural","psychological","pregnant","live","adequate","superior","grateful","prominent","frightened","remote","overall","stiff","harsh","electronic","spiritual","okay","closed","excited","convinced","long-term","unexpected","dull","evident","civilian","mysterious","romantic","impressive","continuing","exciting","logical","peculiar","exact","widespread","foolish","extensive","evil","continued","confident","generous","legislative","stable","vulnerable","elegant","embarrassed","hostile","efficient","blond","dumb","advanced","defensive","outer","neat","estimated","wealthy","dying","loud","creative","acceptable","unhappy","sheer","competitive","concrete","reluctant","precious","tremendous","burning","precise","uncertain","holy","artificial","vague","ideal","universal","moderate","subtle","mild","peaceful","assistant","invisible","casual","crowded","crude","running","classic","controversial","ridiculous","frequent","grim","accurate","detailed","goddamn","fun","fierce","cruel","incredible","blank","dim","suitable","classical","elaborate","collective","eastern","legitimate","aggressive","rear","administrative","automatic","dependent","ashamed","distinct","fit","clever","brave","ethnic","maximum","relative","primitive","uncomfortable","profound","sacred","biological","identical","furious","loyal","rational","mechanical","mean","naval","noble","ambitious","purple","historic","dominant","suburban","developing","calm","frozen","subsequent","charming","damp","fixed","rigid","offensive","electrical","shy","continuous","urgent","weary","immense","splendid","downtown","uneasy","disappointed","helpless","voluntary","polite","junior","gross","striking","overwhelming","unconscious","steep","outstanding","tender","tragic","costly","miserable","near","useless","welcome","external","helpful","weekly","middle-aged","suspicious","old-fashioned","technological","damned","awkward","visual","organized","ideological","orange","horrible","strict","magnificent","deadly","dusty","mighty","puzzled","bold","global","passing","magic","fond","judicial","missing","definite","changing","rubber","theoretical","satisfied","promising","abstract","excessive","comparable","fatal","distinguished","inadequate","slender","artistic","known","sympathetic","favorable","cheerful","faithful","delighted","unnecessary","sole","cautious","productive","reliable","patient","sensible","desirable","depressed","atomic","able","instant","relevant","alien","spectacular","lesser","swift","comic","enthusiastic","marvelous","experimental","weird","retired","fascinating","content","medieval","inclined","bored","ruling","flying","consistent","organic","alleged","grave","smiling","realistic","amazing","exotic","symbolic","confused","underground","spare","philosophical","vigorous","troubled","shallow","amused","lively","genetic","impatient","brutal","solar","unfair","formidable","tense","unfortunate","minimum","sleeping","secondary","shiny","jealous","insane","gay","vivid","wounded","hurt","intimate","monthly","sour","socialist","worthy","preliminary","colonial","middle-class","alternative","influential","unpleasant","comprehensive","devoted","upset","secure","absurd","neutral","frightening","profitable","fragile","civilized","slim","partial","added","fearful","optimistic","isolated","eternal","vocal","beloved","alert","verbal","rising","skilled","antique","municipal","written","restless","outdoor","governmental","driving","sore","informal","loving","retail","hidden","determined","monetary","convenient","thoughtful","colored","progressive","bizarre","sweeping","fancy","expected","fantastic","editorial","intact","bottom","multiple","well-known","nasty","protective","acute","combined","related","fortunate","earnest","divine","passionate","icy","noisy","vicious","dreadful","apt","boring","unprecedented","decisive","sunny","marked","experienced","disturbing","satisfactory","sober","random","electoral","shocked","deliberate","coming","orderly","surrounding","unwilling","inherent","mixed","naive","dense","hopeless","aesthetic","supreme","encouraging","institutional","solemn","stubborn","required","relaxed","bald","frantic","exclusive","rotten","filthy","flexible","explicit","glorious","lean","ignorant","extended","embarrassing","architectural","mortal","corrupt","hopeful","regulatory","valid","characteristic","tribal","capitalist","diverse","functional","improved","ironic","graceful","unaware","respectable","eligible","lousy","established","postwar","objective","wary","elementary","moving","superb","cute","minimal","meaningful","notable","structural","developed","rolling","fashionable","persistent","distinctive","terrific","thorough","skeptical","secular","chronic","level","everyday","visiting","infinite","short-term","terrorist","youthful","unemployed","forced","liquid","explosive","rude","colorful","renewed","semantic","astonishing","passive","heroic","gleaming","indifferent","vertical","prior","anonymous","absent","customary","mobile","uniform","solitary","probable","amazed","petty","bleak","athletic","tentative","harmless","ample","right-wing","polished","obscure","sincere","dried","intensive","equivalent","convincing","idle","vacant","mature","amusing","competent","ominous","savage","motionless","tropical","blunt","drunken","delicious","lazy","ragged","longtime","nationwide","startling","civic","freezing","muscular","circular","imperial","irrelevant","countless","gloomy","startled","disastrous","skinny","hollow","upward","ethical","underlying","careless","wholesale","abandoned","unfamiliar","mandatory","imaginary","bewildered","annoyed","magnetic","dazzling","lengthy","stern","surgical","clinical","full-time","metropolitan","moist","unlike","doubtful","prosperous","keen","awesome","humble","interior","psychiatric","clumsy","outraged","theatrical","educated","gigantic","scattered","privileged","sleepy","battered","meaningless","predictable","gradual","miniature","radioactive","prospective","aging","destructive","authentic","portable","bearded","balanced","shining","spontaneous","bureaucratic","inferior","sturdy","cynical","exquisite","talented","immune","imaginative","ripe","shared","kind","parliamentary","glowing","frail","astonished","forward","inside","operational","faded","closing","pro","coastal","shrewd","preoccupied","celebrated","wicked","bourgeois","marginal","transparent","dynamic","psychic","plump","coarse","bleeding","striped","eventual","residential","hysterical","pathetic","planned","fake","imminent","sentimental","stunning","worldwide","militant","sizable","representative","incapable","provincial","poetic","injured","tactical","selfish","winning","foul","repeated","novel","dubious","part-time","abrupt","lone","overseas","grey","varied","cooperative","muddy","scheduled","legendary","arrogant","conspicuous","varying","devastating","vulgar","martial","amateur","mathematical","deaf","scarce","specialized","honorable","outrageous","confidential","fallen","goddamned","five-year","feminine","monstrous","brisk","systematic","exhausted","frank","lunar","daring","shadowy","respected","stark","accepted","successive","pending","prolonged","unseen","uniformed","wretched","sullen","arbitrary","drastic","crooked","resulting","intricate","unpredictable","printed","utter","satisfying","delightful","linguistic","shabby","statistical","accessible","prestigious","trivial","waiting","futile","prepared","aged","misleading","cognitive","shocking","childish","elected","magical","forthcoming","exceptional","gifted","stricken","fiery","cardboard","shaky","conflicting","commanding","starving","accustomed","rocky","long-range","floating","sinister","potent","phony","lasting","understandable","curved","barren","lethal","toxic","deserted","ambiguous","notorious","synthetic","worthwhile","imported","intent","reduced","painted","taut","sociological","questionable","crisp","pointed","harmful","horizontal","rival","somber","benign","prevailing","selected","organizational","excess","dedicated","veteran","implicit","prudent","plausible","confusing","smoking","large-scale","subdued","constructive","marital","scarlet","rugged","darkened","untouched","above","matching","covert","communal","sticky","affluent","energetic","stale","controlled","qualified","reminiscent","shut","blonde","handy","ritual","straightforward","terminal","dizzy","sane","twisted","occupied","finished","opposing","sly","depressing","irregular","marine","communist","obscene","wrinkled","unsuccessful","gracious","static","consecutive","reserve","exposed","scholarly","sleek","reckless","oral","comforting","pressing","swollen","viable","carved","obsessed","projected","hideous","unthinkable","mock","susceptible","respective","goddam","downward","memorable","worn","raised","glittering","beneficial","lingering","patriotic","stunned","hairy","worrying","lighted","sexy","abundant","tangled","perpetual","irresistible","terrified","compelling","unmistakable","feeble","uneven","trained","folded","relentless","killed","gorgeous","conservation","serene","eerie","premature","dismal","competing","risky","unacceptable","indirect","witty","muffled","feasible","interstate","heated","uncommon","accidental","queer","innovative","parallel","fried","unnatural","cracked","persuasive","integrated","ongoing","homosexual","sound","fertile","canned","preceding","worldly","onstage","declining","advisory","juvenile","slippery","numb","postal","olive","eccentric","lay","chilly","shrill","ceremonial","registered","boiling","contradictory","irresponsible","then","industrialized","obsolete","rusty","inflationary","split","discreet","intolerable","barefoot","territorial","outspoken","audible","adverse","associate","impending","decorative","luminous","two-year","expanding","unchanged","outstretched","momentary","good-looking","cunning","overnight","sprawling","unbelievable","bland","liable","terrifying","televised","appealing","breathless","alarming","supporting","greasy","affirmative","guiding","homeless","triumphant","rainy","stolen","empirical","timid","provocative","knowledgeable","pragmatic","touching","desired","amiable","attempted","humane","adjacent","superficial","greedy","assorted","elusive","ruthless","lush","soothing","imposing","preferred","lavish","pervasive","managing","sandy","inappropriate","desolate","nude","reassuring","shimmering","first-class","unfinished","insistent","comparative","conceivable","admirable","courageous","aristocratic","meager","subjective","vain","disgusted","dual","towering","responsive","ailing","compact","torn","sortal","entertaining","dreary","metallic","tedious","irrational","immoral","teen-age","interim","jagged","selective","volatile","cozy","unanimous","unlimited","hired","cosmic","indoor","retarded","gold","fabulous","dignified","long-distance","high-school","classified","luxurious","insufficient","pious","incomplete","oblivious","imperialist","stately","lifelong","subordinate","extravagant","intrinsic","unpopular","scant","surplus","radiant","ruined","grotesque","hazardous","disabled","intriguing","worthless","reported","hoarse","utmost","muted","bony","disgusting","monumental","pleasing","sterile","agreeable","three-year","tricky","lucrative","respectful","inexpensive","bulky","troublesome","affectionate","coherent","unreasonable","nineteenth-century","curly","indispensable","nursing","incompetent","governing","alternate","suspected","left-wing","refined","overt","chilling","virtual","devoid","perverse","enduring","outright","overhead","unnoticed","nonprofit","pointless","appalling","dental","chosen","enlightened","robust","commonplace","damaging","conscientious","eloquent","erratic","applied","merry","ardent","flowing","incoming","chaotic","noticeable","pitiful","locked","swelling","definitive","homemade","super","pronounced","kindly","prone","attentive","unstable","unrelated","charitable","armored","unclear","tangible","medium","winding","slick","credible","frustrating","shifting","spacious","day-to-day","surviving","expanded","arid","unwanted","unbearable","hesitant","recognizable","multinational","abdominal","murderous","glossy","mute","working-class","insignificant","ingenious","masculine","blessed","gaunt","miraculous","unconstitutional","parental","rigorous","bodily","impersonal","backward","computerized","four-year","unmarried","wry","resident","luxury","high-level","partisan","powerless","seasonal","self-conscious","triple","onetime","ecological","periodic","racist","exaggerated","facial","erotic","unreal","durable","manual","rounded","concentrated","literal","mystical","stimulating","staggering","tempting","last-minute","erect","feudal","head","emerging","hind","brooding","candid","paranoid","defective","linear","immortal","shattered","unsure","swinging","compatible","ghastly","investigative","rosy","convicted","sensational","committed","makeshift","tolerant","forceful","supernatural","joyous","limp","improper","hanging","sliding","renowned","tattered","nonexistent","supportive","frustrated","undercover","handicapped","apprehensive","plentiful","authoritative","sustained","disappointing","hereditary","photographic","impoverished","ornate","respiratory","substantive","acting","nutritional","unofficial","innumerable","prevalent","dire","menacing","outward","brittle","hasty","sparkling","sled","geographical","therapeutic","melancholy","adolescent","hearty","disturbed","sweaty","poisonous","paid","ineffective","humorous","burly","rebellious","reddish","stout","teenage","eminent","rhythmic","physiological","guaranteed","opaque","folding","fleeting","full-scale","low-income","infectious","stringent","stained","beige","stirring","soaring","glamorous","airborne","improbable","austere","anticipated","designated","oval","restrictive","yearly","precarious","relieved","said","feverish","occupational","holding","speculative","abnormal","challenging","healing","boyish","forbidding","divorced","famed","sluggish","struggling","united","undesirable","steaming","consulting","answering","recreational","accompanying","cramped","journalistic","neighboring","fictional","chopped","phenomenal","bankrupt","illicit","advancing","upcoming","racing","protected","padded","venerable","fuzzy","behavioral","roast","mocking","reactionary","inefficient","packed","sloppy","sparse","foster","revealing","reverse","gaping","blue-collar","thankful","down","unimportant","traveling","corresponding","maternal","autonomous","conceptual","smoky","baked","stuffed","murky","totalitarian","ghostly","seeming","flickering","sensual","clenched","offshore","stinging","oppressive","strained","messy","executive","evolutionary","theological","damaged","unrealistic","rectangular","off","mainstream","benevolent","thirsty","blinding","loaded","applicable","unused","crushed","tan","factual","involuntary","brand-new","akin","scary","modified","mindless","born","feminist","integral","uncanny","aloof","spreading","watery","playful","stocky","wasted","compulsory","indignant","pertinent","incredulous","simultaneous","turbulent","framed","aching","falling","cardiac","trim","silvery","accused","pastoral","barbed","adjoining","inspired","courteous","skillful","majestic","gilded","published","perennial","upright","seasoned","continual","papal","victorious","optical","ecstatic","agonizing","shameful","expressive","inconsistent","insulting","cloudy","defiant","restricted","approaching","aggregate","orthodox","unified","all-out","wooded","nationalist","favored","lofty","assured","smug","earthly","improving","instrumental","stray","clandestine","managerial","animated","intended","flawed","bent","clerical","outgoing","righteous","unspoken","poignant","faulty","defeated","authoritarian","treacherous","catastrophic","refreshing","unidentified","suicidal","sickly","disciplined","meticulous","preferable","trusted","hectic","husky","distraught","select","snowy","ferocious","crumpled","humiliating","divided","crippled","infamous","chic","broke","sovereign","continental","idealistic","first-rate","guarded","learned","nameless","runaway","metaphysical","senseless","boiled","needy","silver","recorded","polar","real-estate","stormy","incomprehensible","wiry","raging","composite","flamboyant","crimson","reproductive","intermediate","ubiquitous","repressive","hefty","listening","good-natured","parochial","stylish","high-tech","flaming","coronary","overweight","bathing","three-day","tidy","beleaguered","manifest","ludicrous","indigenous","adamant","placid","inept","exuberant","stony","salty","seductive","accomplished","impassive","grazing","congenial","misguided","wide-eyed","revised","bass","sonic","budgetary","halfway","ensuing","admiring","palpable","nightly","hooded","best-known","eighteenth-century","dissident","morbid","incumbent","demanding","inexperienced","hazy","revolving","rented","disadvantaged","innate","dietary","minute","cultivated","sealed","contemptuous","rhetorical","conciliatory","articulate","jobless","macho","forgotten","lifeless","proven","latent","secretive","perilous","token","graphic","alcoholic","overdue","permissible","shattering","preventive","illiterate","back","atmospheric","thermal","quaint","negotiated","preposterous","temporal","restrained","triangular","mayoral","spatial","heady","biblical","fitting","pessimistic","mammoth","allied","failed","intuitive","nagging","tidal","angular","speechless","finishing","protracted","watchful","businesslike","automated","versatile","booming","pouring","misty","deceptive","sunken","singular","suspended","unworthy","immigrant","expressionless","airy","mournful","neurotic","cubic","unauthorized","economical","fund-raising","captive","blatant","far-reaching","subversive","imperfect","jolly","inaccurate","resentful","strenuous","suffering","hardened","malicious","unjust","perceptive","newborn","promised","differing","virgin","alarmed","grassy","frivolous","apologetic","wasteful","endangered","unarmed","adept","unavoidable","approved","trembling","stuck","high-ranking","crushing","prescribed","dependable","fragrant","expansive","unfriendly","covered","bemused","digital","probing","sloping","man-made","festive","unilateral","unmarked","bipartisan","statewide","burgeoning","devout","sickening","mediocre","adventurous","elevated","suggestive","accountable","virtuous","lame","heavenly","bruised","unbroken","irritable","affected","inconceivable","sometime","vile","baggy","timely","glistening","imagined","unprepared","unresolved","windy","humanitarian","overriding","detached","annoying","narrative","interminable","appalled","penal","unsatisfactory","instinctive","variable","cumulative","obedient","deficient","colossal","unaffected","extinct","routine","microscopic","compassionate","nominal","forlorn","distorted","mistaken","enclosed","infected","fervent","analogous","frigid","instructive","appointed","one-way","gnarled","problematic","sardonic","two-hour","hypothetical","prompt","anguished","electromagnetic","sensuous","homely","beaten","malignant","rotting","concealed","peripheral","creaking","impeccable","khaki","grinning","irreversible","rampant","wondrous","inward","manufactured","grisly","cooked","discriminatory","cerebral","knowing","auxiliary","operative","losing","genial","phonetic","ecclesiastical","sarcastic","incorrect","ruddy","well-to-do","inexplicable","unreliable","developmental","woolen","agitated","lyrical","consequent","calculated","molecular","pompous","present-day","shaggy","even","inhuman","sublime","diagnostic","manly","raucous","balding","after","bilateral","mounted","blackened","assembled","separated","gaudy","evangelical","darling","juicy","impotent","receptive","irritating","pulmonary","dazed","cross-country","unavailable","parked","habitual","lexical","lowered","unwise","planetary","throbbing","enigmatic","superstitious","threatening","manned","childlike","sporting","right-hand","adult","reflective","white-haired","discernible","celestial","prodigious","translucent","equitable","epic","frayed","arduous","flimsy","penetrating","howling","disparate","alike","all-time","deformed","comical","inert","procedural","resistant","vibrant","geographic","wistful","specified","rightful","spirited","unborn","enjoyable","regal","cumbersome","burned","frenzied","gubernatorial","deteriorating","haunted","evasive","neglected","anthropological","inescapable","clear-cut","visionary","bloated","accumulated","agrarian","pained","dwindling","heightened","gray-haired","distressing","grinding","insecure","archaic","piercing","fluent","leisurely","giddy","slimy","oncoming","short-lived","spinal","wholesome","unanswered","illegitimate","staunch","two-day","rumpled","speedy","soaked","rocking","invaluable","gallant","tacit","finite","inviting","sporadic","powdered","cheery","volcanic","optional","mischievous","flowered","contagious","automotive","inflated","mythic","analytical","infrared","two-week","binding","ancestral","dissatisfied","upstate","veritable","unaccustomed","oily","monotonous","seated","feeding","fluorescent","undue","impassioned","picturesque","vocational","tranquil","tumultuous","rustic","patterned","two-story","pagan","flash","playing","exhilarating","maiden","three-dimensional","mythical","thriving","drab","black-and-white","honorary","dingy","founding","imperative","indistinguishable","lightweight","avid","dreamy","everlasting","obsessive","tional","homogeneous","inner-city","changed","tame","colorless","haggard","implacable","altered","unequal","focal","perceptual","literate","priceless","diminishing","harmonious","dark-haired","fatty","squat","undecided","banal","fruitful","pioneering","innocuous","cordial","rewarding","unsafe","maritime","overcrowded","timeless","fledgling","nostalgic","abreast","one-time","humid","astronomical","one-man","deepening","blazing","fleshy","dishonest","succeeding","qualitative","needless","rickety","joyful","stated","ambivalent","hybrid","six-month","limiting","workable","sleepless","unpaid","mundane","flashy","stagnant","bumper","recurring","sinful","immaculate","synonymous","measured","thrilling","long-standing","unruly","bewildering","unfit","edgy","numerical","sumptuous","fragmented","puffy","elastic","high-pitched","momentous","woven","unsteady","unnamed","cosmetic","snap","impenetrable","floral","waving","promotional","tenuous","lonesome","embroidered","strident","cherished","aghast","fundamentalist","white-collar","afloat","disruptive","law-enforcement","gathered","indefinite","intervening","publicized","geometric","disciplinary","descriptive","wavy","edible","disgruntled","obligatory","untrue","amber","snug","resolute","awed","simplistic","grandiose","crippling","high-speed","mounting","glaring","small-town","cavernous","hushed","wage-price","demographic","diseased","unpublished","causal","defenseless","sheltered","dormant","compulsive","loved","willful","truthful","punitive","disposable","ajar","drowsy","statutory","tanned","proprietary","informed","unheard","decision-making","transient","unlawful","dour","negligible","underwater","optimum","illusory","imaginable","borrowed","divergent","looking","exempt","contentious","forbidden","cowardly","masked","crazed","silken","parched","furry","wandering","insensitive","over-all","elated","waxed","veiled","envious","insidious","scrawny","unwarranted","lithe","abrasive","pretentious","far-off","murdered","deft","prickly","musty","shapeless","incongruous","gruesome","honored","perceived","grieving","unspecified","dizzying","privy","noteworthy","charred","median","fearless","twisting","unattractive","flawless","welcoming","flushed","hardy","glum","scenic","devious","recurrent","distasteful","jubilant","ballistic","hilarious","naughty","bustling","discarded","pristine","exemplary","fading","complacent","incessant","engaging","twentieth-century","protectionist","rudimentary","traumatic","steamy","emphatic","hard-line","teeming","generating","stuffy","connecting","stationary","genteel","populist","supple","hateful","retrospective","glazed","lawful","arched","tiresome","lucid","reserved","pivotal","grimy","surly","anti-Soviet","contrary","quarterly","old-time","residual","spiral","decaying","threatened","docile","appreciative","jovial","fascist","worrisome","red-haired","undisturbed","creamy","well-dressed","serial","existential","mountainous","pastel","self-sufficient","spoken","express","tasty","maroon","infrequent","deceased","full-fledged","transitional","leafy","gravitational","furtive","prophetic","nasal","unwelcome","troubling","immobile","merciful","uncontrollable","impartial","unfavorable","attendant","associated","high-rise","vascular","fateful","concerted","rash","stubby","paramount","impulsive","fraudulent","drooping","reciprocal","usable","fast-food","touchy","astute","oversized","mottled","slack","fruitless","unhealthy","decorated","shady","shaped","fanciful","quivering","charismatic","sordid","oppressed","inaccessible","fastidious","brazen","gloved","crumbling","underdeveloped","scarred","rambling","incipient","remedial","derelict","incompatible","fanatical","smoked","secondhand","hypnotic","failing","marching","flattened","paradoxical","unskilled","esthetic","tolerable","pungent","substitute","soggy","terse","tiring","fictitious","manageable","inventive","haughty","normative","premier","grudging","vested","exhausting","cross-legged","self-evident","away","horrified","prolific","incoherent","quantitative","full-length","year-round","unkind","provisional","exterior","brash","inconclusive","landed","breathtaking","acrid","noted","resultant","long-time","resounding","lovable","hypocritical","plush","foggy","acknowledged","idiotic","tracking","ceramic","taxable","enterprising","flashing","wee","barbaric","deafening","orbital","lurid","dated","hated","buoyant","mating","pictorial","overlapping","lax","archetypal","manic","limitless","puzzling","condescending","hapless","meek","faceless","uncommitted","horrid","greenish","unorthodox","unending","accelerated","day-care","undeniable","bushy","searing","fearsome","unharmed","divisive","overpowering","diving","telling","determining","uptight","cast","enlarged","ebullient","disagreeable","insatiable","grown-up","demented","puffing","inconvenient","uncontrolled","inland","repulsive","unintelligible","blue-eyed","pallid","nonviolent","dilapidated","unyielding","astounded","marvellous","low-cost","purposeful","courtly","predominant","conversational","erroneous","resourceful","converted","disconcerting","oblique","dreaded","indicative","silky","six-year","front-page","biting","flowering","sunlit","licensed","unspeakable","adrift","awash","identifiable","girlish","zealous","spooky","uncompromising","deserving","driven","certified","unlucky","temperate","budding","impractical","public-relations","inflexible","sensory","pornographic","outlandish","resonant","belligerent","wan","leftover","spotted","soybean","easygoing","vengeful","proportional","inaugural","dank","screaming","heterosexual","sliced","year-old","considerate","thunderous","distressed","warring","assertive","foreseeable","psychotic","intermittent","anti-Communist","generalized","unable","molten","excruciating","illustrious","voluminous","offending","trustworthy","grating","laughing","one-year","industrious","uninterrupted","dashing","speaking","metabolic","flattering","one-sided","ineffectual","primal","digestive","taped","floppy","jaunty","practiced","walled","hospitable","dutiful","melodramatic","intestinal","cluttered","conclusive","complementary","unprotected","buzzing","attributable","tasteless","forthright","wily","hourly","delayed","sweating","affable","studied","chubby","thyroid","chilled","conducive","childless","faltering","authorized","buried","land-based","observable","hurried","curving","dismayed","pernicious","upturned","believable","questioning","syndicated","pharmaceutical","high-risk","resigned","discrete","likable","imprisoned","cocky","outdated","autocratic","ablaze","askew","grammatical","wintry","incidental","matter-of-fact","disputed","exorbitant","low-level","sodden","skeletal","disproportionate","soiled","cellular","ephemeral","perfunctory","inconsequential","flourishing","intentional","two-way","elemental","whispered","four-day","stinking","informative","tenacious","outlying","virulent","horrendous","horrifying","burnt","longstanding","senile","unmoving","deprived","interpersonal","intimidating","posh","dainty","portly","nondescript","inquisitive","exiled","capricious","scandalous","severed","debilitating","widowed","horny","sallow","up-to-date","self-contained","carefree","boisterous","coordinated","anti-Semitic","superfluous","metric","expressed","enchanting","disorderly","paternal","wanton","frightful","free-lance","extremist","lined","scornful","inseparable","obese","ponderous","imperious","indistinct","adrenal","belated","rippling","valiant","livid","mystic","cracking","subterranean","invading","rusted","esoteric","red-faced","segregated","lanky","departmental","allergic","predatory","enforced","anti-inflation","implied","flagrant","best-selling","haphazard","trailing","seedy","real-life","unannounced","utilitarian","roving","despairing","immature","simulated","embattled","poisoned","patronizing","baffled","centralized","weathered","weeping","mutilated","painstaking","tax-exempt","socioeconomic","tearful","stringy","projecting","low-key","single-minded","shadowed","vehement","darn","fluffy","apocalyptic","completed","intelligible","furnished","elongated","worsening","eclectic","bacterial","earthy","sagging","wide-ranging","face-to-face","settled","dogmatic","anti","secluded","baffling","coy","pathological","echoing","bridal","autobiographical","instantaneous","ornamental","satirical","voluptuous","movable","kinetic","merciless","tireless","three-month","unconcerned","impromptu","turning","follow-up","retaliatory","arcane","waterproof","justifiable","glassy","unearthly","shuttered","inverted","bogus","petrified","simmering","guided","gritty","widening","generic","pretrial","returning","boundless","swirling","northeastern","swell","tive","minuscule","estranged","upbeat","explanatory","repetitive","repressed","vindictive","shrinking","canny","little-known","hydraulic","unrelenting","looming","supersonic","justified","lukewarm","unmoved","blurred","double-breasted","sanitary","unforgettable","diligent","unconventional","ashen","wordless","stainless","inlaid","irritated","spotless","pudgy","yellowish","lateral","adopted","lowly","obnoxious","utopian","called","unimaginable","hairless","foregoing","opulent","garish","nocturnal","rousing","unexplained","cosmopolitan","milky","medium-sized","all-night","bloodshot","rueful","hard-working","crafty","familial","iced","violet","arctic","ceaseless","exasperated","warped","aquatic","gruff","terrestrial","contrasting","egalitarian","needful","spent","untrained","escalating","liberated","long-haired","abortive","syntactic","consummate","lumpy","spoiled","ten-year-old","talkative","whimsical","weighty","audio","inflammatory","deplorable","spicy","corrugated","morose","sobering","southwestern","three-year-old","methodical","prehistoric","carpeted","smelly","processed","overheated","interstellar","agile","approximate","sadistic","living-room","irate","smashed","frontal","venereal","indiscriminate","suggested","cultured","creeping","recognized","toothless","handmade","mellow","fetal","disinterested","gratifying","trusting","small-scale","intravenous","crashing","exhaustive","afire","clammy","sleazy","florid","heartless","transcendent","restored","demonic","abusive","avowed","shrunken","objectionable","tailored","arms-control","listless","polluted","palatable","funded","elective","entrenched","classy","operatic","daunting","roaring","preferential","languid","three-hour","virile","inspiring","enhanced","scrupulous","bottomless","ginger","wispy","advantageous","rapt","umbilical","uphill","ordered","enraged","detrimental","curt","exalted","hard-pressed","intangible","fussy","forgiving","facile","populous","condemned","mashed","hard-boiled","introductory","rowdy","switching","perplexing","spilled","southeastern","undulating","fractured","inherited","inscrutable","measurable","stunted","hormonal","stylized","hierarchical","air-conditioned","aimless","subsidized","paying","symmetrical","nomadic","cloudless","reigning","thatched","perceptible","anesthetic","anti-American","miscellaneous","homesick","preparatory","seven-year","big-city","decadent","searching","all-important","inanimate","senatorial","diminutive","soft-spoken","contingent","dusky","smashing","precipitous","bulging","standardized","biographical","restive","indecent","upper-class","ecumenical","interchangeable","lumbering","fascinated","untidy","indulgent","leaden","wanted","endemic","doomed","wanting","receiving","engaged","unparalleled","abbreviated","malevolent","wishful","carnival","world-wide","protruding","resplendent","stranded","structured","biased","frosty","northwestern","viral","mindful","paved","indeterminate","painless","second-floor","geological","permissive","downhill","unsuspecting","expectant","fabled","jittery","windowless","evocative","unsolved","disoriented","monastic","soluble","misshapen","antiquated","repugnant","non-Communist","retiring","shaded","combative","high-powered","resilient","antagonistic","starched","vice-presidential","speckled","lopsided","bluish","late-night","prim","unrestrained","almighty","tyrannical","unkempt","menstrual","bleached","overgrown","idiosyncratic","shoddy","hallowed","trying","halting","princely","drugged","gratuitous","descending","fatherly","avant-garde","laborious","pinched","disguised","caustic","bespectacled","handwritten","goodly","itinerant","cryptic","undisclosed","affordable","outmoded","expedient","moody","tepid","firsthand","digging","elitist","observed","chartered","slain","five-day","unimpressed","tactful","idyllic","prostrate","ramshackle","expert","deferred","undistinguished","prized","transatlantic","crystalline","tacky","haunting","nutritious","bereft","turquoise","time-consuming","sanguine","culinary","fraught","precocious","assigned","scrambled","advisable","nationalistic","long-awaited","unwrapped","unchallenged","circumstantial","pleasurable","compressed","humanistic","unforeseen","diversified","frenetic","disapproving","proletarian","conspiratorial","featureless","going","commendable","no-nonsense","chipped","surreal","salient","pissed","insurmountable","backstage","contented","indebted","adoring","one-room","prewar","potted","accelerating","thorny","possessive","abiding","ever-increasing","bloodless","high-technology","counterproductive","attracting","entrepreneurial","cooling","unoccupied","craggy","leathery","degenerate","additive","weakened","quilted","untold","incandescent","intractable","middle-income","abject","self-made","gaseous","anal","displaced","unabashed","immutable","fluttering","ten-year","bearable","stamped","darkening","beefy","petite","charging","high-quality","left-hand","age-old","checkered","stupendous","priestly","loath","endearing","exacting","correctional","freak","sneaky","disgraceful","unholy","oriental","wayward","societal","hard-core","bilingual","flipping","staid","paramilitary","heartfelt","shapely","kosher","heedless","incurable","controlling","in-house","choral","manicured","cardinal","inconspicuous","steely","vanishing","misplaced","centre-fire","enchanted","unfounded","wrecked","womanly","delirious","deposed","panicky","differential","tawny","articulated","coded","wide-open","unregulated","lenient","feathered","simplified","beguiling","sectarian","producing","tiled","inorganic","frosted","lusty","scented","rotating","grievous","dissimilar","salaried","unequivocal","strangled","grubby","alluring","downcast","restraining","unjustified","contaminated","lacy","cinematic","second-class","splintered","adorable","derisive","state-owned","requisite","fleeing","uncomplicated","motherly","inter","high-heeled","climatic","republican","unqualified","leveraged","intercontinental","uncharacteristic","compositional","unwritten","patriarchal","brusque","unresponsive","replete","corrective","reflected","scraping","doctoral","premium","deductible","alternating","amorous","overjoyed","recalcitrant","presumptuous","vaulted","declared","inexorable","groggy","diminished","restful","retroactive","presumed","monolithic","curtained","tortured","ground","trendy","brassy","prosaic","inactive","chaste","bumpy","aggrieved","corny","centrist","trapped","noxious","jerky","concomitant","withholding","poorly","stolid","unguarded","methodological","primordial","retreating","telescopic","sidelong","off-duty","pleated","dissenting","agreed","double-action","optimal","plaintive","banned","kindred","quintessential","impervious","jumping","disenchanted","observant","congested","second-rate","reasoned","extrinsic","infantile","transitory","coveted","small-time","doctrinal","incomparable","jaded","special-interest","sociable","shameless","coloured","ascending","fraternal","queasy","wont","exhilarated","salted","disquieting","listed","unchanging","nine-year-old","unrestricted","uppermost","reputable","dummy","skimpy","crusty","corrosive","bubbling","decrepit","unsuitable","snarling","destitute","illuminating","systemic","material","unwashed","rushing","dialectical","jeweled","attached","liberating","judicious","errant","vanished","worn-out","erstwhile","uninformed","twelve-year-old","longterm","petulant","twin","self-righteous","afflicted","snappy","tantamount","sworn","unethical","drained","hydroelectric","perplexed","logistical","concentric","unifying","lunatic","invincible","diffident","inexhaustible","discouraging","dreamlike","artful","rolled","suppressed","secretarial","smoldering","redundant","forensic","million-dollar","self-styled","earned","weightless","signed","compensatory","glacial","unmanned","stalwart","funky","intensified","uninterested","submerged","urbane","glib","ascetic","contractual","warlike","high-priced","diagonal","cylindrical","gargantuan","illuminated","unconditional","hulking","supplementary","dictatorial","puny","sedate","moonlit","eight-year-old","gullible","counterfeit","alienated","spinning","analytic","nimble","adaptive","individualistic","numbered","blissful","insolent","supplemental","delectable","inordinate","unbalanced","tormented","unchecked","aspiring","punishing","self-serving","crossed","discretionary","box-office","snow-covered","improvised","squalid","orphaned","grizzled","unsmiling","disappearing","affiliated","readable","blocking","bullish","contending","burned-out","bloodied","subsidiary","complimentary","unclean","scanty","uprooted","farfetched","solicitous","regulated","threadbare","choppy","ever-present","negligent","nonstop","one-day","wild-eyed","infuriating","vivacious","abominable","wrought","inaudible","braided","transcendental","desultory","climactic","appellate","interlocking","submissive","unmatched","dapper","demeaning","adaptable","well-meaning","lustrous","tax-free","ungrateful","gentlemanly","missed","loathsome","incalculable","blistering","amenable","tremulous","massed","nonpartisan","unsettled","three-story","succulent","trite","masterful","reticent","unsettling","proverbial","strapping","spurious","invulnerable","paltry","embryonic","repeating","neural","sultry","metaphorical","foreign-policy","linked","pubic","beaming","ministerial","phantom","quizzical","hilly","cold-blooded","gregarious","three-piece","untroubled","bisexual","pensive","unpretentious","exploratory","unscathed","irrepressible","pelvic","newfound","starry","corned","overworked","illogical","unfaithful","interrelated","saintly","overcast","connected","ungainly","organizing","carnal","philosophic","nationalized","fickle","ultraviolet","crass","undeveloped","unprofitable","sheepish","archaeological","out-of-town","balmy","spongy","infallible","callous","scathing","rheumatic","audacious","participating","swarthy","hand-held","comatose","modernist","stellar","antinuclear","delinquent","time-honored","presiding","relaxing","high-pressure","impetuous","hypodermic","fringed","favourite","unscrupulous","inspirational","mystified","wobbly","intrepid","deferential","burdensome","stored","supervisory","seventeenth-century","six-day","interdependent","updated","all-powerful","unitary","stand-up","laconic","penniless","steadfast","dogged","scholastic","convertible","mingled","sorrowful","symptomatic","stylistic","well-intentioned","consuming","sketchy","weakening","generative","atrocious","first-quarter","irrevocable","charged","stoned","dividing","apathetic","debatable","uncomprehending","overhanging","galloping","kinky","uncritical","suave","undisputed","spiky","inarticulate","extracurricular","guttural","impressed","departing","yellowed","discontented","adroit","high-fiber","second-hand","blinking","formless","unsavory","new-found","withered","collected","menial","unobserved","flabby","afterward","vanquished","stained-glass","hour-long","bittersweet","invalid","incriminating","commensurate","all-American","assumed","tried","cursory","absorbing","clearing","confirmed","stressful","depleted","eight-year","participatory","stripped","concave","regrettable","fortified","effortless","regressive","irreverent","collegiate","defunct","grainy","inhospitable","gripping","grizzly","restoring","arterial","busted","indomitable","demure","rabid","headlong","blue-green","bound","breezy","materialistic","uneducated","scruffy","cohesive","full-blown","cranky","motivated","mauve","hardworking","melodic","genital","decorous","comely","rife","purported","hurtful","six-foot","macabre","odious","convulsive","well-trained","heterogeneous","curled","pearly","spindly","latter-day","innermost","clipped","checked","masterly","laughable","naturalistic","tinkling","impudent","fitful","illustrated","speeding","roasted","in-depth","helluva","vigilant","empty-handed","forged","wrought-iron","disgraced","agonized","infirm","preserving","tasteful","onerous","shredded","impregnable","slanted","tainted","opened","first-time","machine-gun","bottled","seismic","fetid","saturated","insubstantial","full-page","aromatic","stingy","promiscuous","unlit","regimental","spellbound","streamlined","bereaved","ruffled","creepy","treasured","ensconced","one-party","well-educated","pert","mercantile","all-purpose","voracious","tortuous","despised","unadorned","offhand","qualifying","manipulative","indelible","well-established","revolting","ethereal","roasting","prohibitive","domed","whipped","overstuffed","garrulous","skittish","revived","heartening","jumpy","grilled","melted","unfocused","spectral","unproductive","top-level","life-size","three-way","negotiable","disloyal","turn-of-the-century","four-hour","unopened","devilish","amorphous","antiseptic","sharpened","primeval","unrecognizable","ineligible","expendable","deathly","auspicious","insoluble","inimical","unquestioned","far-flung","medicinal","deep-seated","formative","iridescent","fragmentary","distinguishable","auburn","closed-circuit","emeritus","third-floor","hazel","tumbling","departed","obstinate","portentous","quixotic","scorched","adjustable","winged","intrusive","taxing","high-ceilinged","barbarous","decreasing","sleeveless","unattended","tight-lipped","concluding","unobtrusive","starved","quirky","big-time","sooty","copious","stalled","scriptural","unconvincing","earthen","throaty","august","extant","sexist","exultant","cancerous","psychedelic","yielding","matched","chunky","unfathomable","concise","admitting","knitted","projective","euphoric","garbled","divisional","despondent","recommended","passable","vegetarian","indefatigable","irreparable","feisty","untenable","contrite","angelic","reputed","untimely","dejected","appreciable","remembered","hellish","rear-view","open-air","ill-fated","nonpolitical","factional","separatist","contributing","post-war","uneventful","metaphoric","unsound","unwitting","venomous","harried","engraved","collapsing","reformist","thematic","inclusive","cheering","springy","obliging","contemplative","unbridled","state-run","reflex","allegorical","geopolitical","disembodied","issuing","bountiful","alright","overbearing","muddled","congenital","distinguishing","absorbed","tart","french","autumnal","verifiable","grueling","crackling","aft","punishable","freckled","indestructible","imprecise","hard-nosed","thoughtless","through","proficient","pent-up","never-ending","hunted","defensible","arresting","across-the-board","spotty","orchestral","undefined","stacked","implausible","antitank","unwary","inflamed","sacrificial","oil-producing","leaky","mint","chronological","conquering","jumbo","three-week","addictive","uninhibited","substandard","contracting","degenerative","triumphal","flowery","cardiovascular","shaken","undefeated","unassuming","luscious","unperturbed","gleeful","sentencing","brawny","perfumed","mild-mannered","healthful","left-handed","rancid","well-defined","unmanageable","drowning","clinging","anachronistic","revered","enriched","capitalistic","good-by","invigorating","practicing","unsold","long-legged","unruffled","aboriginal","inane","bedraggled","early-morning","run-down","straight-backed","reverent","acquired","bestselling","top-secret","woolly","foolhardy","sticking","blue-black","impassable","overcome","coiled","front-line","tinted","acquisitive","slatted","octagonal","receding","investing","doctrinaire","all-white","caring","prejudiced","slow-moving","circulating","science-fiction","shortsighted","disaffected","lawless","chastened","lewd","rubbery","foaming","unsympathetic","ladylike","betrayed","neurological","shouting","good-sized","electrostatic","untoward","flabbergasted","citywide","unanticipated","knotted","whitewashed","year-end","enticing","migratory","multicolored","hashish","ascorbic","topless","heathen","spherical","filmy","deviant","centennial","proportionate","instructional","contrived","savvy","over-the-counter","fast-moving","measuring","uptown","compliant","favourable","unforgivable","undamaged","psychoanalytic","gebling","bubbly","ready-made","caged","ostentatious","superhuman","busing","cream-colored","self-destructive","ostensible","cobbled","whirling","released","showy","baleful","red-hot","named","monogamous","fallow","disdainful","cyclical","long-running","pitiless","diffuse","omnipresent","mossy","cutting","astounding","lyric","dark-blue","unsophisticated","indigent","coincidental","imperceptible","veterinary","coercive","multilateral","ageless","law-abiding","functioning","beneficent","crawling","overturned","steamed","comprehensible","oil-rich","undetected","ribbed","nautical","textured","fast-growing","nauseous","vaunted","paralyzed","maimed","short-range","impure","unintended","practicable","intermediate-range","unfulfilled","behind-the-scenes","backhand","voluble","goofy","apolitical","contraceptive","waning","blasted","sundry","profane","binary","rock-and-roll","ruinous","open-ended","next-door","withering","conical","flustered","decided","able-bodied","round-trip","decreased","half-empty","sponsored","riotous","stereotyped","five-minute","irreplaceable","harrowing","uninteresting","salutary","frugal","disjointed","cupped","freshwater","shaven","ravenous","bulbous","stepped-up","swaying","two-room","valued","planted","bright-eyed","unreadable","trucking","infatuated","dysfunctional","pinkish","futuristic","airtight","unseemly","sizzling","mercurial","conic","unfettered","undisciplined","unrecognized","well-publicized","income-tax","self-appointed","ice-cold","biochemical","contemptible","barefooted","droll","mythological","tree-lined","rearing","luxuriant","heartbreaking","tufted","well-organized","selfless","world-class","unwieldy","contested","rasping","downright","ingratiating","self-proclaimed","parasitic","graying","reformed","cautionary","untested","beaded","maniacal","eucalyptus","pliable","air-conditioning","moot","traceable","anti-abortion","antisocial","reprehensible","self-imposed","yellowing","teasing","porous","ersatz","unwavering","untouchable","underprivileged","auditory","escaping","subservient","unspoiled","anterior","fatuous","lordly","infernal","bouncing","taboo","orthopedic","spiteful","surging","nuts","esteemed","outlawed","pushy","displeased","self-confident","attainable","bowed","cast-iron","despicable","unconvinced","famished","coed","bygone","nonaligned","sectional","typed","squeaky","disparaging","cut-rate","heart-shaped","offbeat","velvety","well-worn","upsetting","leery","long-lost","horse-drawn","puritanical","payable","fertilized","predicted","allowable","peaceable","soundless","marshy","discordant","intoxicating","concurrent","uncut","tantalizing","pedagogical","accursed","two-man","connective","hawkish","ripped","cleared","double-digit","unencumbered","yawning","manifold","stopped","untreated","subliminal","grayish","gory","upper-middle-class","avenging","self-fulfilling","equatorial","saucy","barred","arch","midwestern","blue-gray","tarnished","leafless","incisive","unearned","botanical","feline","extraneous","prep","intransigent","change-minimizing","insurgent","acrimonious","thermonuclear","blue-chip","crummy","acoustic","oversize","fated","galactic","cantankerous","ill-advised","detectable","lower-class","sacrosanct","palatial","conditional","insulated","step-by-step","nebulous","two-dimensional","well-heeled","bronchial","subatomic","semifinal","first-year","dark-eyed","tinny","attacking","indecisive","anatomical","brotherly","blooming","sinuous","meditative","socalled","rheumatoid","received","bleary","half-naked","leaded","woody","averse","shuddering","door-to-door","heretical","suspect","untapped","ravaged","decentralized","rutted","ineffable","intolerant","mechanized","fortuitous","equestrian","seven-year-old","darting","consoling","modern-day","ground-floor","emblematic","lurking","two-year-old","purplish","disorganized","vaudeville","circulatory","eight-hour","presentable","anarchic","unsatisfied","labored","maudlin","trampled","gibberish","unaccountable","sedentary","heavy-duty","thrilled","tutoring","self-centered","do-it-yourself","inquiring","uncaring","disillusioned","bloodstained","surface-to-air","consular","subconscious","four-year-old","collaborative","terraced","figurative","sinewy","horn-rimmed","impertinent","hit-and-run","standby","medium-size","peremptory","incremental","first-aid","dyed","centrifugal","omnipotent","lascivious","two-month","unionized","discredited","mass-produced","feathery","self-indulgent","liturgical","enviable","fifteen-year-old","buxom","abashed","urinary","newsworthy","flailing","beastly","undiscovered","strong-willed","prenatal","brownish","announced","flaky","washed","nightmarish","broad-shouldered","short-sleeved","two-bit","self-assured","whitish","suffocating","black-haired","full-size","self-help","created","uninhabited","smokeless","no-fault","unfashionable","mushy","forested","adhesive","creased","insufferable","down-to-earth","trifling","landless","disreputable","self-effacing","sporty","confined","adoptive","monogrammed","motley","duplicate","silver-haired","rejected","undifferentiated","blasphemous","institutionalized","blue-and-white","hip","winsome","button-down","discerning","abused","clean-cut","bracing","self-supporting","unsupported","premarital","flattered","studious","repetitious","marketable","anemic","meaty","airless","unhurried","galvanized","feal","peace-keeping","rapacious","bulletproof","well-placed","helmeted","packaged","court-ordered","aggravated","gastrointestinal","hand-to-hand","sixteen-year-old","fretful","fourth-quarter","conquered","satiric","nutty","befuddled","humorless","pitched","burnished","mirrored","fishy","fluted","conditioned","military-industrial","one-story","barbarian","branching","dynastic","unthinking","unconscionable","hunched","post-World","capital","putative","incendiary","shaving","topical","self-satisfied","farcical","narcissistic","kneeling","born-again","old-line","amateurish","ill-fitting","scaly","unpainted","eroding"];var nouns={};Object.defineProperty(nouns,"__esModule",{value:!0});nouns.default=["man","world","hand","room","face","thing","place","door","woman","house","money","father","government","country","mother","water","state","family","voice","fact","moment","power","city","business","war","school","system","car","number","office","point","body","wife","air","mind","girl","home","company","table","group","boy","problem","bed","death","hair","child","sense","job","light","question","idea","law","word","party","food","floor","book","reason","story","son","heart","friend","interest","right","town","history","land","program","game","control","matter","policy","oil","window","nation","position","ground","blood","action","wall","street","husband","fire","mouth","arm","sound","service","chance","information","price","building","road","paper","court","attention","space","trouble","form","society","art","market","force","effect","nature","chair","period","order","television","president","tax","field","glass","thought","industry","process","phone","plan","center","truth","couple","decision","change","eye","campaign","issue","situation","effort","report","sun","experience","peace","letter","level","energy","role","development","result","evidence","meeting","smile","support","baby","team","show","community","brother","picture","kitchen","production","press","study","daughter","director","dinner","class","defense","piece","record","desk","stage","earth","movement","future","board","security","sea","horse","language","public","church","course","bill","river","coffee","wind","bank","corner","committee","pain","help","answer","subject","hospital","film","economy","trade","feeling","member","apartment","ship","silence","seat","gold","education","leader","pressure","doctor","shoulder","sight","scene","figure","crowd","fear","telephone","labor","success","population","style","station","value","sky","growth","foot","radio","sign","strength","capital","neck","college","budget","breath","choice","direction","guy","agreement","speech","skin","will","amount","plane","practice","marriage","audience","movie","gun","living","hall","concern","income","quality","dog","cause","hotel","race","difference","stone","box","army","trip","distance","attack","chairman","election","presence","computer","science","color","theory","spring","machine","purpose","organization","material","image","tree","surface","officer","administration","act","statement","battle","page","suit","lady","play","stock","list","freedom","bar","relationship","farm","authority","student","conference","ball","structure","nose","plant","career","wood","basis","deal","source","chest","message","stuff","middle","sister","drink","majority","sex","store","trial","character","boat","union","animal","ice","front","firm","heat","hope","rock","weight","disease","spirit","memory","king","response","manner","opinion","operation","increase","lawyer","expression","kid","bag","department","crime","train","executive","aid","dream","beginning","rain","prison","conversation","shirt","lunch","possibility","pleasure","management","danger","rule","throat","wine","behavior","return","hat","surprise","snow","property","flight","training","ability","project","camp","range","approach","agency","treatment","reality","village","bottle","attempt","crisis","drug","violence","inflation","enemy","responsibility","opposition","newspaper","victory","dress","condition","darkness","opportunity","account","degree","pocket","performance","manager","visit","threat","failure","brain","driver","charge","beer","coat","shot","metal","activity","influence","intelligence","bit","official","existence","example","truck","note","construction","shape","event","screen","faith","safety","path","culture","chief","relief","grass","contract","product","investment","weather","soul","murder","bedroom","magazine","model","cup","leg","traffic","writer","beauty","song","share","cancer","patient","credit","club","argument","speed","quarter","design","desire","vision","candidate","bottom","pattern","date","finger","teacher","tea","section","article","flesh","island","balance","spot","meaning","technology","crew","proposal","leadership","concept","object","impact","guard","analysis","birth","shop","knife","advantage","generation","appearance","variety","anger","religion","reaction","fight","star","exchange","agent","investigation","milk","judge","silver","region","steel","ear","sugar","strike","youth","hole","thinking","attitude","supply","start","jacket","jury","taste","secretary","mountain","confidence","master","artist","spokesman","demand","cigarette","track","captain","network","whole","university","conflict","noise","smoke","commission","mirror","accident","plastic","garden","debate","interview","command","tradition","protection","dust","watch","lead","solution","measure","motion","discussion","mission","opening","respect","extent","struggle","goal","tongue","moon","author","iron","breakfast","competition","cover","legislation","environment","sake","justice","fuel","hill","key","length","shock","band","version","contact","engine","settlement","mistake","restaurant","revolution","estate","camera","beach","post","pool","fashion","football","border","touch","laughter","title","background","principle","strategy","roof","forest","philosophy","entrance","pause","doubt","bird","tape","belief","card","ring","occasion","wheel","capacity","cat","collection","passage","writing","bridge","owner","novel","pride","damage","contrast","judgment","gift","division","professor","bathroom","plate","explanation","smell","district","park","wave","player","present","theater","atmosphere","emergency","leather","impression","painting","neighborhood","block","function","circle","sentence","priest","method","warning","editor","ceiling","target","tour","gate","site","baseball","airport","shadow","walk","approval","gesture","individual","difficulty","attorney","criticism","affair","request","doorway","reputation","minority","consumer","notion","general","convention","being","honor","partner","chain","commitment","weapon","joke","coal","meal","reading","detail","library","debt","other","mail","drive","fellow","profit","soldier","forehead","housing","excitement","soil","literature","pilot","dance","reform","volume","scale","imagination","challenge","desert","secret","poet","cabin","average","factor","corn","check","wonder","absence","search","wedding","yard","hero","address","confusion","fool","package","victim","fault","platform","democracy","regime","terror","nurse","stream","offer","medicine","flow","grain","row","county","self","glance","humor","promise","employment","advance","planet","recreation","trail","chicken","storm","creature","mass","stand","ass","gaze","poetry","coast","lake","council","breast","corridor","conclusion","talent","tension","reporter","cut","appeal","total","belt","jail","passion","mayor","claim","combination","highway","wire","rifle","cheek","frame","exercise","incident","testimony","ticket","coach","connection","expert","disaster","valley","minister","deck","territory","chin","universe","independence","counter","resistance","cell","governor","salt","elevator","loan","release","schedule","porch","sheet","cloth","personality","actor","bomb","temperature","bench","break","code","journey","childhood","emphasis","aspect","pot","branch","identity","guest","arrival","recognition","hearing","lap","diet","factory","horror","fence","survey","fate","habit","lobby","bone","routine","discovery","comment","burden","treaty","knee","route","cry","ocean","fund","map","signal","ride","bear","deficit","height","element","sword","birthday","standing","cream","panel","fighting","travel","grandfather","creation","appointment","chapter","funeral","phrase","shore","planning","couch","survival","engineer","wagon","suggestion","waste","guilt","chamber","commander","clock","establishment","flag","content","supper","consciousness","proof","pack","beard","portion","comfort","resolution","sunlight","substance","benefit","honey","protest","prayer","stick","description","device","cloud","display","uniform","gasoline","tail","satisfaction","blanket","mess","consumption","drop","invasion","theme","mystery","belly","association","prospect","port","pipe","reference","skill","rear","heaven","destruction","worker","concentration","file","flat","cab","consideration","uncle","customer","laugh","radiation","favor","studio","boss","transportation","wage","fortune","tent","poem","procedure","clerk","surgery","percentage","expense","cap","household","match","bunch","column","intention","cousin","involvement","host","definition","wheat","permission","can","warmth","draft","silk","aide","lip","conviction","rope","illness","instrument","gap","string","adult","sweat","lover","evil","faculty","enthusiasm","farmer","missile","grin","tank","expansion","emotion","waist","discipline","distinction","technique","profession","wisdom","square","laboratory","tie","review","stranger","communication","pile","arrangement","palm","ceremony","tower","sympathy","deputy","script","nomination","friendship","institution","pass","civilization","magic","client","standard","significance","sport","defeat","announcement","reduction","grandmother","bowl","closet","genius","league","citizen","delivery","button","necessity","reader","lesson","trust","green","experiment","escape","craft","pistol","limit","witness","error","assistant","grace","salary","alarm","fist","potential","withdrawal","phase","bell","perspective","rose","score","amendment","fever","tip","god","crop","vehicle","barn","symbol","tale","exception","shift","scheme","suicide","tendency","logic","license","pollution","trend","bath","focus","producer","distribution","cotton","alternative","vacation","muscle","cycle","steam","palace","harm","location","beef","shame","policeman","compromise","tube","participation","fat","item","curiosity","blade","membership","lord","departure","shade","acid","enterprise","jet","selection","jungle","bond","retirement","alliance","bow","railroad","soup","airline","divorce","sofa","gear","gentleman","robe","plot","speaker","examination","egg","handful","recovery","embassy","entry","bastard","improvement","grip","invitation","barrel","context","controversy","fiction","revenue","reply","garage","crash","collar","landscape","grief","pen","teaching","angle","trunk","acceptance","recession","abortion","explosion","application","counsel","dignity","paint","landing","mixture","triumph","stove","winner","summit","thumb","depth","feature","setting","payment","grave","notice","museum","cop","graduate","sidewalk","taxi","trick","lamp","photograph","index","tray","essence","empire","tragedy","alcohol","flower","phenomenon","contribution","shower","castle","cross","booth","lawn","intensity","abuse","determination","passenger","opera","publication","wrist","hint","learning","punishment","ad","skirt","servant","prisoner","physician","midst","purse","rank","neighbor","elbow","contempt","round","cave","coverage","weakness","panic","basketball","juice","shooting","exposure","brick","miracle","unity","accent","coalition","fur","envelope","horizon","glory","stress","delight","politician","conscience","despair","rail","virtue","parent","dispute","killing","corruption","pound","core","stake","proportion","assault","curtain","efficiency","infant","count","suspicion","complex","formation","lock","entertainment","conduct","wit","outcome","shuttle","companion","discrimination","aunt","anxiety","shelter","confrontation","tool","climate","peak","cage","darling","assumption","stability","well","flame","marketing","currency","electricity","text","regulation","comedy","automobile","scientist","cake","scandal","contest","glow","cigar","arrest","brush","boom","basement","document","assembly","output","hut","slave","marble","breathing","pitch","loyalty","affection","resignation","guide","frustration","bureau","adviser","fleet","sector","privacy","awareness","fantasy","speculation","queen","tide","brass","formula","curve","zone","skull","sin","cable","corporation","foundation","achievement","countryside","monster","killer","strain","mask","breeze","whiskey","gang","rhythm","interpretation","basket","extension","tissue","satellite","doctrine","motor","hunger","intervention","kiss","fee","portrait","drawer","analyst","economist","reflection","visitor","transit","reception","provision","slope","sheriff","tunnel","complaint","devil","liquor","throne","hook","temple","tribe","preparation","handle","shoe","origin","helicopter","ruling","injury","crack","flash","gown","jaw","hallway","consequence","depression","subway","leave","drawing","cabinet","initiative","embarrassment","holiday","wilderness","towel","purchase","indication","sink","morality","impulse","rent","enforcement","utility","detective","comparison","critic","dish","hack","photo","crown","operator","conspiracy","rhetoric","bull","inquiry","humanity","demonstration","grade","alley","male","plain","pillow","remark","beast","seed","observation","guerrilla","straw","occupation","champion","excuse","possession","kingdom","snake","nerve","roll","horn","objective","cargo","mate","offense","resort","sequence","apple","bullet","presidency","strip","stroke","pig","print","champagne","saddle","dialogue","suitcase","protein","cook","quantity","toilet","chill","ranch","squad","priority","concert","van","adventure","representative","custom","shell","pension","prince","wound","video","courtroom","suffering","clay","actress","pencil","assignment","shelf","primary","waiter","charm","wool","sweater","soap","psychology","widow","delay","obligation","therapy","sergeant","shortage","myth","collapse","delegation","wish","perception","receiver","sauce","painter","reach","dear","fabric","carrier","ladder","hatred","dancing","cottage","opponent","dealer","prosecution","whisper","spread","poll","beam","exhibition","sigh","fog","harbor","successor","relation","gallery","prize","fireplace","fighter","pit","representation","prosecutor","liberty","bargaining","ownership","root","tin","celebration","stretch","nightmare","transport","link","diplomat","flood","architect","peasant","female","lab","category","inside","tune","carpet","mercy","fraud","introduction","facility","net","temper","rug","conception","eating","legend","tourist","refusal","disappointment","sensation","innocence","transfer","powder","parade","pursuit","parlor","pine","orbit","promotion","senator","colony","cart","interior","productivity","trap","identification","ambition","hip","admiration","corpse","emperor","patch","realm","barrier","ambassador","carriage","residence","maid","gathering","switch","lieutenant","sorrow","contrary","legislature","cliff","lightning","ritual","mist","salad","separation","flour","continent","poison","elite","radar","assessment","outfit","ideology","pad","exile","praise","employee","succession","gain","illusion","option","gravity","journalist","businessman","constitution","singer","sentiment","scope","transition","warrior","cast","march","herd","intent","inspection","episode","uncertainty","spell","isolation","observer","glimpse","privilege","spy","toy","thread","margin","anniversary","irony","organ","lecture","misery","needle","revolver","composition","admission","odor","candy","bid","classroom","bride","vitamin","refrigerator","sandwich","subcommittee","rescue","lad","defendant","blast","angel","compartment","vegetable","minimum","violation","agony","edition","compensation","evolution","treasure","salesman","log","clinic","layer","pitcher","publisher","suite","estimate","airplane","tournament","trace","hammer","reward","broadcasting","running","raid","specialist","mortgage","oak","pole","rocket","aisle","brandy","bureaucracy","mustache","vessel","penalty","export","orange","ignorance","hostility","integration","motive","ban","consultant","timing","equivalent","patrol","liver","assassination","instruction","leaf","railway","freeze","mention","designer","daylight","velvet","amusement","bush","fly","cloak","copper","orchestra","mechanism","chocolate","instinct","circuit","feed","courtyard","mob","profile","bombing","retreat","favorite","revenge","infection","historian","theatre","consent","bucket","mill","insult","pregnancy","psychiatrist","employer","presentation","swing","removal","financing","destiny","label","finish","ghost","channel","equality","requirement","dock","statue","doll","fan","mistress","oven","rim","scent","restraint","frontier","twin","framework","surveillance","diamond","pie","lion","cord","posture","wallet","stool","rally","realization","banker","invention","province","colonel","ally","inspiration","encounter","makeup","certainty","venture","takeover","daddy","ratio","fatigue","verdict","pardon","caution","scream","sleeve","coin","album","acquisition","laundry","transformation","handkerchief","candle","terminal","elephant","madness","appetite","rod","manufacturer","voyage","locker","pulse","indictment","riot","giant","sample","heritage","instance","hay","cure","clan","navy","monopoly","photographer","cowboy","bishop","linen","sacrifice","mortality","dilemma","frequency","harmony","junk","component","bargain","dragon","ruler","replacement","maker","blessing","resentment","surge","costume","editorial","mansion","hood","cellar","bout","driveway","championship","ambulance","sickness","guitar","rejection","compound","launch","journal","sculpture","preference","balcony","lid","toast","chart","motel","agenda","sadness","dimension","verse","scholar","submarine","confession","carbon","thunder","canal","socialism","merchant","bolt","insight","tub","topic","wolf","ridge","shed","gambling","arrow","con","lodge","bicycle","complexity","liberation","disorder","urge","circulation","pickup","distress","spine","romance","anticipation","military","lamb","gloom","pond","republic","ballet","bankruptcy","appreciation","rebellion","custody","feast","fluid","expedition","altar","recipe","array","anguish","harvest","sack","fraction","loneliness","trailer","notebook","surgeon","slip","festival","inability","pan","clearing","making","revival","rack","flashlight","sociology","heir","segment","moonlight","reign","exploration","burst","pet","charity","bundle","assurance","murderer","thrust","conservation","confirmation","outrage","quest","grant","perfection","liquid","stance","jar","essay","addition","diplomacy","rat","outlook","capability","broadcast","cocktail","breeding","immigration","optimism","urgency","helmet","correspondent","breakdown","domain","dressing","dancer","pork","colleague","crystal","insistence","guarantee","lane","dependence","chapel","transmission","hunt","turkey","veto","canoe","interference","sailor","arena","refuge","attraction","thesis","waitress","trigger","founder","briefcase","scholarship","commissioner","stack","lift","greeting","mining","partnership","cane","devotion","thief","troop","menu","finance","coincidence","sleeping","picnic","lounge","dose","jeep","brand","reasoning","proposition","administrator","cylinder","execution","commodity","drum","bronze","staircase","pin","whistle","robbery","catch","thigh","descent","canyon","ballot","shotgun","curb","nod","continuity","shaft","guess","gossip","jurisdiction","revolt","worry","recording","repair","saw","suspect","dome","globe","runway","resident","cemetery","conversion","black","passport","cease-fire","imitation","salvation","cement","creek","nephew","buddy","lung","embrace","ink","simplicity","sunset","astonishment","butt","oath","typewriter","outline","tribute","deadline","hostage","underwear","revelation","reluctance","dread","nest","nut","disposal","disclosure","destination","terrain","procession","recommendation","recorder","potato","ramp","accounting","bat","precision","heap","justification","fork","idiot","biography","prey","ivory","rumor","toll","robot","mix","glare","seal","sweep","haven","bike","courtesy","interaction","secrecy","ham","superiority","synagogue","calendar","ledge","engagement","lace","timber","turmoil","tooth","perfume","magnitude","veteran","lemon","cutting","tomb","accord","ammunition","spear","hunter","acquaintance","grocery","coming","pump","reservation","slide","award","institute","fringe","freight","accuracy","spectrum","ski","diameter","battery","desperation","pounding","variation","ankle","pepper","encouragement","cathedral","expectation","calf","monkey","suburb","rabbit","objection","dismay","boot","pipeline","lust","firing","aggression","ghetto","armor","merger","sphere","texture","moisture","kidney","broker","auction","hose","patent","hesitation","mound","cruise","goat","declaration","regret","conductor","terrace","contention","crap","manuscript","incentive","buyer","gin","principal","steak","novelist","criminal","heel","intellectual","conservative","quarterback","collector","motorcycle","refugee","punch","cluster","clown","preacher","torture","headache","pact","lump","buying","flavor","toe","spectacle","apron","banner","convenience","import","attendant","kindness","verge","dairy","umbrella","dam","inventory","turning","homeland","remainder","gum","plight","container","diversity","drought","reporting","biology","chemistry","curse","scar","merit","spray","reactor","shield","clarity","bamboo","metaphor","vocabulary","runner","luxury","diagnosis","bunk","white","statute","knock","garment","breed","railing","zoo","rival","supermarket","streak","pavement","discomfort","congregation","twilight","bacon","slot","scarf","dime","charter","grammar","theft","sensitivity","mainland","classification","coffin","rider","competence","adoption","reserve","fascination","specialty","mike","temptation","yield","evaluation","passing","intimacy","translation","philosopher","cafe","sitting","superintendent","pill","housewife","signature","correspondence","siege","inn","leftist","injustice","assertion","restoration","registration","farmhouse","denial","endorsement","predecessor","final","demon","greed","transaction","repression","mattress","nobility","embargo","bosom","gym","tenure","addiction","apology","double","litter","nail","incidence","merchandise","volunteer","labour","basin","fiber","whip","payroll","microphone","cruelty","ax","supervisor","resource","maturity","resemblance","cult","stadium","limousine","welcome","knot","probability","menace","nominee","characteristic","stare","vodka","obsession","nursery","paragraph","discourse","candidacy","battlefield","saint","hierarchy","precedent","imperialism","pope","intake","burial","freshman","rebel","mandate","clause","tile","electorate","torch","adjustment","implication","farewell","curriculum","fountain","satin","subsidiary","humiliation","slaughter","discount","crest","princess","asset","greenhouse","reorganization","irritation","ending","messenger","jealousy","breakthrough","mineral","baggage","mouse","tiger","memorandum","kit","substitute","paradise","stride","deed","accumulation","pledge","hull","projection","apprehension","glue","excellence","composer","decay","ditch","slice","beating","syndrome","parole","pony","saying","vulnerability","rental","wax","renewal","disk","athlete","warehouse","organism","disagreement","suspension","documentary","soda","availability","dedication","delegate","reminder","domination","leap","span","obstacle","counselor","taxation","grandson","banana","rehabilitation","stamp","anchor","diary","tunic","boycott","meadow","backyard","dismissal","rating","disc","glove","pasture","catalogue","inspector","exploitation","missionary","density","sail","excess","chemical","disposition","headline","wartime","atom","bartender","blue","wash","shark","negotiation","monument","mom","faction","echo","tomato","scrap","expenditure","plague","fortress","web","briefing","luncheon","vanity","ribbon","nostalgia","drill","frown","dioxide","sovereignty","sweetheart","cot","tag","laser","purity","melody","sanctuary","citizenship","poster","pal","marketplace","girlfriend","programme","retaliation","researcher","allowance","bedside","yacht","scenario","concession","offering","instructor","motivation","litigation","tolerance","puzzle","compliance","duration","quarrel","aura","crusade","salute","intellect","debut","eternity","monastery","immunity","flock","choir","stern","medal","meter","auditorium","equity","fairy","windshield","mare","conquest","razor","push","kick","battalion","generosity","whale","den","mama","emptiness","hysteria","hillside","ideal","landlord","stem","drain","temperament","orientation","spoon","associate","ash","wig","elimination","bark","boost","activist","stature","liar","vein","tract","telegram","completion","pizza","urine","hollow","ordeal","admiral","psychologist","rehearsal","questioning","musician","installation","ministry","puppet","axe","nitrogen","contractor","poker","arch","tractor","reverse","relative","buffalo","deployment","outbreak","pier","veil","summary","courthouse","academy","confinement","catastrophe","technician","specimen","bachelor","lobster","tyranny","discharge","graduation","shout","monitor","traveler","dope","user","vegetation","deposit","investigator","attic","rabbi","reversal","knight","innovation","probe","altitude","legacy","raft","boyfriend","twist","plaza","paradox","witch","folly","physicist","prophet","threshold","plaster","dentist","telescope","vault","climax","parish","balloon","probation","prescription","liability","wheelchair","blackness","colour","booze","exhibit","vest","abundance","hatch","sketch","cartoon","horseback","investor","violin","hazard","trader","stall","healing","prejudice","scorn","rum","accomplishment","limb","produce","epidemic","tumor","camel","starvation","insect","tenderness","cockpit","maximum","patriotism","chauffeur","parliament","capsule","deficiency","massacre","dessert","bail","meditation","petition","hypothesis","ruin","voter","wait","saving","imprisonment","nationalism","lawsuit","surrender","celebrity","contradiction","disgrace","betrayal","slogan","thrill","enjoyment","narrative","canopy","might","vaccine","fort","stereo","hearth","relaxation","asshole","avenue","fright","drift","width","guardian","portfolio","longing","brutality","frenzy","chaplain","chop","tactic","viewpoint","chip","banquet","closing","re-election","impeachment","wardrobe","cradle","facade","finding","tangle","adaptation","hamburger","analogy","fancy","counterpart","dissent","skepticism","gut","advocate","granite","equation","slump","vice-president","nap","foam","buildup","geography","scratch","major","preservation","folder","entity","defiance","nickel","monarchy","shack","teaspoon","chase","remedy","disappearance","foreman","seller","rag","youngster","allegiance","earthquake","columnist","goose","feather","bulb","imagery","bomber","overcoat","harassment","outsider","maze","reproduction","printing","reconciliation","kinship","grease","harp","parallel","stew","particle","accusation","criterion","garlic","boundary","scalp","recess","bearing","warrant","dictatorship","breach","bladder","elegance","fervor","disapproval","monk","tweed","loser","hen","shrug","junta","disguise","gulf","landmark","bourbon","reconstruction","decency","register","feat","hostess","workshop","accommodation","wreck","referendum","viewer","niece","flank","autopsy","boarding","grove","decoration","stain","cape","prophecy","bubble","asylum","commentary","grandeur","subsidy","seizure","badge","limitation","armchair","pro","spark","blaze","centre","split","peril","fusion","goodbye","ringing","solitude","handwriting","crossing","onion","rubber","forefinger","bait","solidarity","measurement","multitude","dump","novelty","truce","perimeter","alien","decree","opposite","constituency","maneuver","ransom","supplier","performer","murmur","coordination","hobby","dough","lantern","cherry","fox","quota","deterioration","flaw","millionaire","raincoat","skeleton","bum","washing","plantation","spotlight","arsenal","villa","sermon","compliment","podium","collision","ratification","jam","loft","theology","escort","tyrant","ore","caste","brokerage","lighter","screw","inheritance","eagle","annoyance","napkin","rationale","flurry","mall","dresser","autobiography","slate","cheer","sulfur","assortment","memorial","electron","detachment","addict","shrine","mold","rookie","astronaut","diesel","neon","heroine","clash","recollection","sweetness","complexion","stewardess","adversary","trance","virgin","screening","classic","nuisance","uprising","shipment","mug","stairway","supporter","famine","stench","click","stupidity","bug","throw","lumber","current","mentality","regiment","galaxy","patron","tap","mischief","contingent","gospel","racket","liaison","honeymoon","foliage","leak","doom","irrigation","mechanic","chef","viewing","swamp","void","mule","lottery","pastor","steward","ranking","survivor","tuition","medication","misunderstanding","prediction","forum","oppression","ale","expanse","consultation","pawn","attachment","franchise","intercom","chunk","mat","pioneer","prairie","familiarity","undergraduate","tenant","chimney","cereal","thirst","pub","packet","aftermath","outburst","habitat","federation","deduction","pageant","circumstance","discontent","microscope","sausage","coma","want","intersection","detention","shrimp","deception","illustration","manipulation","ecstasy","dash","eyebrow","ray","persuasion","builder","injunction","foe","inclination","precinct","slab","anthropologist","amnesty","loaf","radical","intrusion","dwelling","calculation","paperback","usage","paste","ashtray","shovel","capture","ferry","preoccupation","joint","filing","spit","womb","puff","quilt","squadron","playwright","rotation","lease","brilliance","burn","cough","spouse","assassin","flu","cabbage","reliance","console","carpenter","dependency","advertisement","lipstick","mahogany","disadvantage","holder","furnace","certificate","alienation","collaboration","extinction","austerity","pupil","tenor","foyer","bluff","whisky","similarity","pouch","chant","nun","hike","babe","com","input","pianist","treason","brake","shake","dividend","repetition","fisherman","pinch","persecution","brightness","disdain","sunrise","gleam","premise","shawl","kettle","forecast","recipient","strap","outlet","chalk","plywood","nickname","fulfillment","doorbell","keyboard","peanut","knob","compass","interval","intuition","clearance","format","shuffling","dent","ambush","chatter","lettuce","harness","hiring","ache","continuation","fit","friction","pretense","velocity","tavern","abdomen","scout","splendor","barber","flap","plateau","hedge","raising","visa","dictator","housekeeper","cafeteria","enrollment","sailing","ingenuity","limp","bard","consistency","ordinance","bathrobe","gauge","strand","taxpayer","spider","coward","reservoir","brigade","self-interest","crackdown","crib","hum","roommate","traitor","blend","kitten","setup","dagger","sophistication","clout","goddess","disability","touchdown","fertilizer","punk","agitation","seminar","hitter","crust","comprehension","nightgown","gamble","freak","stump","microwave","lever","libel","playground","exhaust","abstraction","picket","diversion","advancement","bourgeoisie","coordinator","myriad","dial","diagram","sensibility","donor","endurance","prominence","playgroup","transmitter","revision","consolation","storyteller","jewel","mourning","burglary","competitor","narrator","verb","butterfly","rationality","ant","mister","satire","placement","reunion","plunge","comb","commuter","carving","hormone","creator","swim","clip","necklace","frost","fix","allocation","thickness","happening","disruption","caravan","rodeo","axis","submission","insanity","protocol","caller","porcelain","aristocracy","interrogation","boyhood","muzzle","delicacy","teenager","undertaking","textile","tailor","defence","comeback","zero","wizard","cupboard","cynicism","behaviour","holster","bulletin","broom","receptionist","listener","exemption","flicker","exam","treasury","hug","interruption","no","drugstore","roast","trifle","jerk","exclusion","inmate","contra","permit","gene","melancholy","alcoholic","trainer","perspiration","instability","doorman","deterrent","occurrence","hem","pricing","wear","hog","cushion","commune","courtship","paradigm","down","participant","triangle","apprentice","prevention","forearm","symptom","flush","newcomer","announcer","gorge","frog","platoon","hawk","rivalry","trench","geometry","clubhouse","feller","hymn","dictionary","showing","homicide","crow","pneumonia","gourmet","flannel","congress","dislike","illumination","jockey","superpower","papa","absorption","fragment","catalog","genre","hypocrisy","duel","cone","organizer","fraternity","cubicle","hardship","restriction","gasp","authorization","partition","barrage","groan","waterfront","aerial","cinema","proximity","mockery","compulsion","slum","default","evacuation","fugitive","carton","chariot","masterpiece","nylon","dialect","tee","bathtub","congressman","vapor","disturbance","mailbox","take","groin","moss","shepherd","formulation","foreigner","solo","elder","textbook","predicament","trait","reef","intruder","captivity","commotion","farce","royalty","exasperation","developer","expulsion","plaid","believer","migration","gal","fitness","idealism","galley","offensive","hometown","sophomore","clump","launching","mast","slowdown","generator","make-up","mount","worm","chuckle","prototype","catcher","crotch","interpreter","graveyard","mane","premium","cuisine","jeopardy","reassurance","vantage","condemnation","vase","blackout","token","abandonment","maple","magician","bust","syrup","cassette","pick","madman","cleaner","throng","hanging","riding","villain","squeeze","wallpaper","lime","blur","modification","clatter","anonymity","lineup","polish","accountant","setback","neutrality","modernization","borrowing","kill","dwarf","amateur","expectancy","donkey","fella","contamination","ballroom","kidnapping","popcorn","entourage","crook","ambiguity","coral","roadside","fragrance","slack","spectator","stimulation","groom","rattle","synthesis","tan","skipper","distrust","siren","spin","revulsion","signing","booster","savage","glamour","flute","civilian","flask","tug","misfortune","therapist","plug","standpoint","weed","ecology","footing","patio","decor","malpractice","residue","passageway","chopper","batch","acceleration","depot","quarry","hound","pilgrimage","deference","splash","heartbeat","rap","wedge","indicator","pretext","make","saloon","clientele","poisoning","hemisphere","grotto","ignition","cover-up","ape","transcript","blizzard","crab","ration","puck","propriety","hunch","madam","imbalance","jug","manual","raise","silhouette","sponsor","bore","volcano","crate","humility","devaluation","rocker","rainbow","chap","informant","freezer","limestone","guise","valve","appraisal","handicap","correction","bra","sinking","turnout","manure","pail","cardinal","grape","bee","rumble","miner","dissatisfaction","pamphlet","plaque","chat","injection","pulpit","platter","symphony","molecule","rib","pyramid","shudder","dissolution","vinegar","calling","acreage","chick","cuff","scrub","orphan","porter","saucer","antenna","trophy","rig","convent","good-bye","troupe","ploy","niche","veal","semester","contender","grenade","hilt","spiral","stink","marathon","boulder","treasurer","cookie","peninsula","freeway","rainfall","showdown","parody","telling","statesman","decrease","symbolism","pillar","tremor","penetration","carcass","breadth","psyche","hiss","suppression","pottery","dormitory","scare","overtime","bean","schoolteacher","timetable","buzzer","mesh","jack","marshal","windfall","lance","uterus","inconvenience","chrome","brute","gardener","whim","pearl","fold","trim","ravine","critique","adultery","stretcher","trolley","elevation","worthy","vibration","bracelet","plank","jelly","foil","wrestling","colon","layout","quotation","sting","son-in-law","jargon","likeness","knack","defect","sedan","tilt","chore","moratorium","convoy","piety","acknowledgment","formality","thud","blockade","chord","hush","takeoff","lining","marsh","manifestation","humidity","ingredient","crater","liking","pigeon","abolition","granddaughter","vintage","flourish","playoff","prostitute","prick","oblivion","sociologist","helping","locomotive","contraction","bookstore","surrogate","hippie","sherry","scotch","packing","wink","spasm","conglomerate","ensemble","dugout","insider","sect","inclusion","feedback","trumpet","massage","constituent","brotherhood","directory","newsletter","comrade","grid","turtle","restructuring","reel","spur","comet","dummy","combustion","moustache","oversight","motto","mantle","handshake","mouthful","monologue","buffet","miss","crunch","waking","gray","exaggeration","gait","clutch","courier","hangar","dive","curator","ridicule","diaphragm","tow","projector","eclipse","parcel","lure","transplant","township","squash","commentator","mentor","gutter","stint","treat","germ","infinity","impasse","burglar","proprietor","tariff","dispatch","torment","dove","superstition","going","tempo","warden","sponge","rooster","barge","gorilla","draw","wharf","stallion","countenance","orchard","navigation","tar","biographer","wheelbarrow","imposition","hurricane","stronghold","distortion","starter","rash","feud","parting","interviewer","wrongdoing","lavender","low","leash","envoy","stairwell","backup","doorstep","negotiator","heading","excursion","sewer","endeavor","backbone","rite","vine","gypsy","directive","defender","scoring","esteem","torrent","gland","consortium","nightclub","swell","employe","obscenity","cavity","pulp","lifestyle","butler","peach","tack","fossil","glitter","liner","destroyer","flyer","individuality","roller","outcry","felony","artery","cruiser","bedding","dude","bounty","blindness","bodyguard","corral","coroner","spice","martini","contingency","gag","serving","wail","wrench","sock","safe","spite","broth","trustee","moth","vice","gender","cartel","casting","puppy","prohibition","ox","sculptor","treachery","stir","printer","audit","brim","handbag","lobbyist","jolt","comedian","distraction","challenger","telegraph","homage","evasion","detector","filling","overhead","cartridge","walnut","sonar","puddle","quake","flooding","crescent","thrift","following","tanker","stoop","clergyman","opener","latitude","anatomy","convertible","arbitration","leukemia","absurdity","stab","biologist","baseman","fuse","specialization","carnival","scarcity","gangster","stalemate","trickle","mallet","working","receipt","charcoal","mortar","drainage","mother-in-law","regularity","emigration","plasma","condominium","muck","workplace","roster","stroll","softness","serpent","owl","infield","sill","swallow","backdrop","fidelity","historiography","thicket","baking","omen","yell","functioning","bribe","dynasty","trough","pudding","alcove","ancestor","ripple","flint","bracket","cube","pasta","proxy","groove","commercial","holocaust","countess","scroll","bang","planting","premiere","norm","bloom","gunman","vow","arithmetic","accelerator","postcard","relish","semblance","whine","inventor","sarcasm","designation","pat","symmetry","quiet","chisel","experimentation","cutter","differentiation","stud","apathy","relay","seminary","escalation","life-style","coil","mythology","futility","intimidation","childbirth","flare","glint","rue","mural","whiff","deposition","vogue","animation","migrant","caretaker","dot","mediator","lookout","captive","blackboard","pocketbook","recourse","negation","plaintiff","shriek","obstruction","latch","manor","casualty","grunt","gambler","erection","nationality","epic","starch","delusion","linkage","provocation","avalanche","offender","melodrama","contentment","appropriation","tonic","salon","accompaniment","paranoia","grimace","communion","cancellation","pendulum","shoreline","hail","refinery","subtlety","videotape","commando","repertoire","refinement","dryer","rust","lapse","haircut","errand","ailment","reanimation","ther","tab","prom","contemplation","bin","gilt","bunker","protector","sage","hilltop","hue","blueprint","correlation","brochure","roadway","arson","remnant","breaking","bouquet","exertion","garrison","beneficiary","colt","turbulence","refuse","bravery","indulgence","assimilation","coastline","livelihood","swarm","configuration","lecturer","paw","upheaval","switchboard","sub","claw","downfall","dye","immigrant","specter","deprivation","shrink","marker","sampling","fellowship","beak","pantry","mouthpiece","gratification","qualification","finality","debacle","extortion","chieftain","speaking","totalitarianism","mole","incumbent","jumper","crush","stubble","terrorist","comic","farmland","contributor","gravy","blossom","keeper","craftsman","pavilion","obscurity","loading","affiliation","vacancy","proclamation","gaiety","yarn","enclosure","clamor","sucker","recruitment","subversion","boiler","emblem","spade","stocking","staple","vocation","sling","maniac","musket","primitive","periphery","idol","snack","antique","redemption","listing","airliner","bandage","bulge","glimmer","priesthood","diner","astronomer","ovation","kindergarten","module","lifting","radiator","booklet","resurrection","precaution","affinity","thinker","quote","turbine","tally","vise","landslide","bakery","portal","majesty","abyss","admirer","turnaround","airfield","wastebasket","lapel","pennant","complication","slick","initiation","rustle","hearse","schooner","carrot","inscription","wench","embryo","vet","poise","disintegration","procurement","speck","kite","vent","plow","homosexual","membrane","waterfall","teevee","matron","utterance","buffer","memoir","cork","recital","loathing","cameraman","throttle","insecurity","trooper","hinge","hoard","umpire","slug","mountainside","affliction","pastime","felt","sentry","denomination","mushroom","linebacker","parachute","teller","fender","trademark","specification","harem","plum","metabolism","certification","neutron","organisation","heresy","relocation","payoff","lizard","termination","dropout","torpedo","stepmother","helm","resonance","heed","progression","braid","cardboard","walkout","shiver","gust","foreground","replica","repertory","sparkle","seam","bump","substitution","rapport","casket","dew","squirrel","palate","hitch","rebirth","reverie","boon","pirate","foresight","vinyl","delta","moat","presumption","tablespoon","aroma","digging","heartland","healer","malaise","creed","archway","exterior","screenplay","examiner","parity","copyright","strawberry","outpost","bookcase","cashmere","bikini","sheaf","pastry","respite","divinity","impossibility","legislator","saga","thump","inauguration","seaman","degradation","strategist","emerald","anthem","affront","burner","entrepreneur","thorn","marvel","stair","cavern","swivel","outlaw","underside","cleanup","fin","catalyst","forage","tapestry","dosage","covering","proletariat","turnover","notch","misconduct","onslaught","upbringing","coyote","bumper","champ","creep","boxer","mileage","vigil","fodder","occupant","dashboard","rarity","centerpiece","consul","ascent","paddle","martyr","doctorate","runoff","grudge","tattoo","robber","carbine","holding","oratory","distributor","heavyweight","footnote","terminology","infrastructure","drummer","chili","tableau","dung","magnet","deceit","caricature","itch","refund","cripple","rectangle","mortal","ancestry","inequality","generalization","furor","relativity","jukebox","dune","endowment","pathology","calibre","subpoena","attrition","hump","congestion","reflex","hoax","honour","herb","mantel","articulation","washer","judgement","brace","printout","helper","wording","crisp","shortstop","boulevard","characterization","cashier","matrix","documentation","deadlock","oyster","chasm","outing","expiration","heater","nutrient","beacon","bile","grievance","janitor","skyline","patrolman","juncture","antagonism","rump","hardwood","solace","warhead","assent","litany","enactment","chimpanzee","rye","feeding","suede","coke","inference","ivy","mosquito","eruption","symposium","variable","cooler","filter","storeroom","mailing","chancellor","beggar","antiquity","inertia","motif","absentee","float","blush","embankment","riverbank","demeanor","vampire","disciple","inadequacy","reinforcement","pedestrian","persona","berserker","tumult","incline","beaver","grill","morgue","denim","wreath","grouping","relic","syndicate","rancher","idiom","hegemony","seating","affirmation","physiology","repose","blight","jest","turret","slit","goalie","clarification","avoidance","volley","redhead","inefficiency","folklore","embodiment","afterthought","steer","cyanide","digestion","continuum","mania","giggle","buggy","willow","pantomime","fireman","growl","devastation","navel","halo","yearning","laborer","alligator","prelude","verification","brown","bead","midget","sleeper","riddle","portrayal","counterattack","lectern","tutor","chestnut","remembrance","aversion","taking","billing","regimen","translator","headmaster","duke","ace","snort","fanfare","imprint","calamity","exposition","cedar","intrigue","transistor","bowel","boardwalk","tramp","ornament","sticker","processor","voltage","sovereign","whistling","orgasm","caliber","exuberance","snout","enclave","kilt","bombardment","corporal","overhaul","syllable","curfew","layman","consolidation","insignia","mediocrity","coherence","hospitalization","flick","pew","coloring","sanction","baritone","radicalism","savagery","pallet","stead","cadet","shutdown","supplement","unicorn","stepfather","excise","spelling","rebound","puzzlement","tenement","souvenir","veneer","safari","quartet","whirlwind","hamlet","practitioner","parasite","installment","emission","kissing","chronology","mosque","chairmanship","blonde","steamer","caption","shave","standstill","maiden","polling","condor","twinge","campfire","drinker","exhilaration","seafood","gala","crane","hickory","cathode","graph","orgy","deliberation","planner","marrow","bud","mediation","cutoff","tit","tic","parchment","noun","culprit","lair","showcase","hangover","chemist","aggregate","thriller","smack","efficacy","smear","heiress","crank","fig","finale","pea","staging","die","rebuke","curry","scum","potency","acclaim","collateral","schoolboy","canteen","radius","deportation","grate","madame","mop","pronunciation","sheen","respiration","breakup","professional","omission","gunshot","ugliness","fanatic","barbecue","dorm","trot","flattery","stereotype","hatchet","capitalist","purge","brew","totality","fern","enzyme","plumber","subscription","cholera","bruise","forge","nipple","commencement","superstar","ether","gem","sash","extraction","spaceship","golfer","realist","encampment","necktie","repayment","skillet","darky","disparity","bedspread","haul","questionnaire","promoter","wand","windowsill","victor","rector","enamel","hoop","coronation","patriot","chandelier","watchdog","glade","renovation","goblet","zipper","communique","crevice","motorcade","sequel","scourge","serum","single","icebox","junction","cache","berth","streetcar","syringe","antithesis","bureaucrat","blacksmith","oval","bun","loot","fiasco","tomahawk","ulcer","pinball","jersey","asthma","brook","pedestal","feeder","soot","inevitability","alteration","carrying","showroom","gimmick","lunatic","gall","fir","borough","hash","woe","controller","sponsorship","applicant","twig","screaming","librarian","intermission","sister-in-law","bushel","inflammation","pomp","vial","extravagance","pate","prostate","dolphin","tuxedo","mathematician","guinea","veranda","aperture","disillusionment","gavel","dating","knocking","oasis","nebula","woodland","yellow","ambivalence","hardness","oxide","socket","wasteland","leopard","blazer","follower","asking","urn","weaving","swimmer","closure","dart","loudspeaker","bazaar","bog","transfusion","reproach","sham","parka","affiliate","scowl","primate","attacker","rink","funnel","spate","elaboration","legality","tablet","heyday","tripod","bully","sharpness","demolition","flip","dandy","appliance","slant","sentimentality","knoll","gloss","defection","explorer","ram","stupor","clone","baton","cohesion","bearer","penance","bandit","aberration","gallop","swirl","coconut","spree","pedal","detergent","canon","teen","brood","phonograph","tabletop","enlargement","sniper","cohort","fable","rising","spill","affidavit","imperative","snapshot","apparition","stunt","wristwatch","chute","teammate","carelessness","over","stripe","postponement","rapture","savior","pacifist","admonition","pear","junkie","surcharge","wavelength","horseman","hag","confessional","comptroller","orthodoxy","financier","snarl","cliche","refreshment","incest","adolescent","teapot","seaweed","drilling","roadblock","antibody","sheath","pallor","constable","misuse","arcade","lee","keep","anarchist","watering","rhyme","exclamation","backseat","great-grandfather","han","pod","daughter-in-law","mailman","alphabet","sloop","reckoning","grower","simulation","homer","birthplace","ence","actuality","depletion","novice","diffusion","concealment","cadre","pathway","fungus","ouster","loner","autograph","descendant","aspiration","better","sick","variant","fragmentation","pesticide","frigate","bestseller","propensity","foul","senate","trouser","airstrip","insurrection","chronicle","coating","stigma","toothbrush","pumpkin","apprenticeship","widower","paycheck","query","teen-ager","shifting","informer","doorknob","ardor","pebble","finesse","scrapbook","fiddle","dowager","sod","wrap","turtleneck","clipboard","rogue","mutiny","suitor","bulkhead","babble","fad","billboard","beverage","hairline","grille","exporter","pathologist","mesa","goblin","scapegoat","crucifix","backpack","observance","forgery","dungeon","methodology","gauze","bonanza","inkling","beret","shouting","ex-wife","wickedness","toil","preview","porridge","cornerstone","scanner","smoker","rebate","mite","brawl","axle","easel","allegation","grab","parrot","antidote","drawl","hijacker","telltale","venom","el","baron","intermediary","seduction","birch","contour","redistribution","cam","protagonist","enmity","hulk","stockbroker","decorator","cookbook","protege","mage","cricket","smock","apex","cortex","modem","shareholder","lament","determinism","rift","tablecloth","trajectory","preface","sneer","gamma","rendition","insemination","aristocrat","hare","labyrinth","thaw","invalid","staffer","alpha","fingernail","medic","crutch","entertainer","jade","eminence","discrepancy","yawn","flea","ledger","orphanage","getaway","manifesto","hijacking","incarnation","elm","adobe","spruce","gist","grit","boar","oracle","mobilization","cantor","crypt","cutback","musical","fallacy","corduroy","fray","racetrack","buckle","foreboding","pest","clap","ber","notation","peek","sow","ballad","brat","constellation","lard","industrialist","hunk","assailant","splinter","bridegroom","dip","fixture","cadence","watchman","windmill","prerogative","drawback","bungalow","heaving","nationalization","mating","writ","rationalization","milking","modernism","landlady","calculator","animosity","workout","skirmish","glycogen","discord","portico","vestibule","renegade","overdose","iceberg","lineage","mosaic","liturgy","watershed","playing","lobe","dowel","ranger","dossier","anvil","co-operation","satchel","fa","corollary","bridle","gateway","brothel","monotony","vendor","mysticism","saucepan","accomplice","hernia","guild","pup","hoof","sparrow","dreamer","craving","outpouring","blink","overlap","duct","brownstone","maneuvering","stagger","foothold","craze","monsoon","induction","handgun","scan","constraint","citadel","rigidity","anecdote","halter","occupancy","rightist","convict","tribunal","stalk","waterway","debtor","yoke","audition","inconsistency","peg","sliver","midwife","premonition","ruby","conduit","excavation","fart","condenser","hop","poodle","upsurge","attainment","stitch","crimson","anomaly","backlog","yeast","chimp","awning","gig","parable","drumming","tiptoe","prow","bypass","crease","reformer","intestine","counterpoint","enormity","anthology","rudder","shroud","magistrate","twitch","commonwealth","circumference","stuffing","sweating","scattering","lender","dripping","legion","refrain","mummy","covenant","morbidity","prop","initial","alignment","licence","infusion","unification","rebuttal","adjective","humour","larceny","mistrust","horde","assemblage","delinquency","testament","convert","patrician","dissension","cider","infidelity","bonnet","displacement","crackle","edifice","conciliation","bondage","schizophrenia","embroidery","standoff","monotone","oddity","mobile","tornado","semicircle","panorama","ex","ping","yogurt","screech","underdog","quay","tai-pan","extract","podesta","ticking","shrubbery","backside","communicator","sorcerer","interlude","dominion","battleground","taboo","blunder","conjecture","drone","cove","maverick","secondary","companionway","rook","gauntlet","ordering","violinist","rooftop","slash","thermometer","vomit","anteroom","deity","nave","acquittal","talker","reed","concussion","malfunction","tundra","cub","anemia","constructivist","cocoon","divide","keeping","percussion","freighter","noose","narcotic","expediency","grandchild","gully","innkeeper","pigment","bloodstream","quiver","alderman","halftime","stable","fission","aggressor","denunciation","abduction","expressway","uniformity","faucet","buff","broiler","allusion","jock","spike","herald","polyester","genocide","fer","parapet","classmate","tinge","sandstone","lurch","skunk","huddle","mum","tranquilizer","pharmacy","susceptibility","penicillin","lark","hoe","lily","hanger","headset","john","appointee","advisor","twine","slumber","magnetism","schoolgirl","smash","screwdriver","newsman","sleet","cleavage","lacquer","milestone","commandant","crick","splitting","rosary","edict","hurdle","fixation","appendix","lock-mechanism","eyelid","swath","fingerprint","carbohydrate","tick","magnate","heck","sailboat","donation","malady","polishing","clipping","collective","sensuality","loom","swagger","facet","variance","mean","walkway","aptitude","prodigy","solemnity","understatement","ebb","scoop","wrapper","narration","icon","prerequisite","planter","gash","interplay","evangelist","drip","vulgarity","subdivision","backwater","euphemism","lotion","corpus","broadcaster","toothpaste","curmudgeon","fo","thong","thatch","baptism","peacock","workman","downturn","scoundrel","machete","creak","five-year-old","dissertation","dishwasher","pimp","electrician","tycoon","otter","shove","snail","rendering","nobleman","booking","pronghorn","deadpan","shutter","escalator","girdle","fling","hire","alibi","flop","stampede","prognosis","itinerary","cologne","spoonful","detour","violet","watcher","falsehood","hype","locale","estimation","propeller","squaw","pickle","lass","pun","racist","scratching","rout","downpour","casing","complacency","camper","equator","reticence","learner","outcast","brunette","improvisation","stag","maxim","loophole","livery","blasphemy","shoot","solvent","misdemeanor","buyout","tiller","jetliner","checkbook","awakening","sideboard","romanticism","squire","newsstand","nuance","consulate","excrement","reprisal","bastion","beginner","obituary","softball","conjunction","scripture","phalanx","vindication","grub","swig","inaction","redwood","scabbard","bonfire","casserole","ovulation","unreality","totem","palette","choreographer","peasantry","skyscraper","penitentiary","outfield","melon","bounce","yolk","diver","archbishop","plurality","amber","recurrence","adulation","piston","insurgency","stoan","coop","tart","eyeball","toss","giveaway","cross-examination","dissident","hermit","ruse","ture","pore","leaving","dowry","gunner","epitome","snowstorm","summation","switchblade","crock","ity","frock","luster","piazza","rotor","impropriety","pivot","blender","immediacy","borrower","slaying","feminist","preserve","bidder","depiction","parasol","clover","intern","asteroid","stub","barricade","medley","multiplier","smirk","knapsack","hank","cognac","headway","treatise","homestead","troublemaker","giraffe","mover","allotment","drowning","naturalist","orderly","attribute","scalpel","shipyard","estrogen","educator","enrichment","grandstand","sire","perversion","sideline","landowner","confidant","gel","deviation","clemency","liberal","bigotry","filly","six-year-old","lifeguard","shred","adversity","shelling","pineapple","referee","knockout","jigsaw","retailer","extremity","outgrowth","amplifier","sinner","campground","teasing","steamboat","turban","mutton","cobra","contraption","chopping","schoolhouse","varnish","pane","observatory","ballerina","czar","immensity","lethargy","reimbursement","undershirt","concierge","fracture","variability","accordion","slime","meanness","gelding","practicality","advertiser","graft","gull","stockholder","pilgrim","hooker","puritan","benediction","barbershop","stanza","hallmark","mishap","harpy","silage","enchantment","whirlpool","conditioner","gadget","divestiture","lathe","incarceration","amalgam","antibiotic","annexation","martyrdom","pyre","shank","alert","shale","artifact","interchange","mystic","meet","grinding","triple","boutique","antagonist","fermentation","twinkle","sweetie","shin","creditor","amulet","pall","posse","homeowner","skier","vastness","smith","allegory","oxidation","cracker","levy","ark","sporophyte","enthusiast","snob","spinster","searchlight","waistband","lorry","repeat","reprieve","slalom","respirator","visor","reviewer","putt","miscalculation","shortfall","concourse","dialectic","native","hairdresser","normality","immorality","sprinkling","allure","lick","drudgery","habitation","gondola","vista","ice-cream","cheerleader","predator","countdown","juxtaposition","stumbling","muffler","derby","timer","salvage","boast","cabbie","clam","windbreaker","retardation","antelope","shampoo","raccoon","bible","glider","momma","valise","coffeepot","emissary","compression","grail","guideline","lavatory","glaze","outpatient","thunderstorm","foray","co-op","valet","baker","sycamore","thumbnail","nozzle","timidity","orator","liquidation","spokeswoman","militant","jig","naivete","motorist","dumping","armpit","margarine","exultation","headboard","plume","amplitude","flutter","pronouncement","finery","trepidation","airing","coupon","knuckle","gametophyte","deathbed","extermination","alleyway","hybrid","gambit","nova","binge","original","froth","lighthouse","coolant","continuance","collaborator","fuselage","profanity","whirl","saber","filmmaker","checkup","shaman","rancor","retort","earring","sieve","post-mortem","implantation","conceit","simplification","vat","proficiency","deluge","kiosk","outlay","tantrum","flooring","veterinarian","fireball","carousel","bandanna","glacier","censure","citation","oar","fridge","metamorphosis","superior","approximation","girth","tirade","grocer","holdup","forward","snobbery","cleansing","replay","recitation","facsimile","patter","jubilation","snare","frailty","rampage","pick-up","overture","tumble","residency","prevalence","repository","reentry","battleship","mutation","hammock","importation","thug","semiconductor","ballast","spurt","extreme","artichoke","convergence","circular","rigor","realignment","physique","handbook","bugle","precipice","sauna","whorehouse","skater","furcot","volatility","valuation","barbarian","peddler","layoff","overall","deliverance","chromosome","innuendo","lexicon","empress","polarization","dictum","fitting","impediment","piracy","crocodile","cucumber","keel","sitcom","hypocrite","roaring","encroachment","steamship","resin","fairway","eyewitness","broadside","washroom","sighting","mantra","swan","supposition","governess","upswing","rep","solicitude","rustling","invocation","heather","rectory","orchid","brocade","raiser","invective","fragility","acronym","ostrich","col","absolutism","vicar","psychotherapy","navigator","cartoonist","doe","landfill","invader","werowance","ble","flatness","locality","druid","visitation","headlight","rapist","benefactor","colonization","excerpt","nick","kangaroo","pink","buy","cascade","campsite","slander","headdress","topcoat","causality","karma","trestle","atheist","checkpoint","renunciation","eater","payload","pointer","theologian","beet","undertaker","lineman","hart","gourd","doubling","shuffle","cabaret","periscope","bodice","shootout","grandma","wildcat","proton","dioxin","sorcery","torchlight","stopover","executioner","collage","mesquite","reincarnation","kidnaping","programmer","disloyalty","muslin","throb","mint","aquarium","tel","eccentricity","purification","kerchief","warranty","rigging","breeder","nite","conservatory","fastball","magnification","spa","favour","regeneration","incision","saxophone","detriment","scam","android","coloration","bunny","restitution","rake","serf","despotism","pollen","sidewinder","upstart","revisionist","birthright","multiple","lifeline","queue","follow-up","swipe","boardinghouse","armament","travesty","stirrup","caper","chloride","crepe","primer","clich","inflection","skid","repudiation","serve","spire","peep","inducement","clothesline","fabrication","morsel","spleen","coon","bustle","crossword","back-up","assessor","biopsy","sidecar","hassle","shingle","tint","fixing","collarbone","taint","pusher","gestation","mantelpiece","vaulting","ra","peat","indignity","adequacy","genus","scrape","scaffolding","serial","neurologist","duffel","cipher","rote","horseshoe","bulldog","electrode","joker","juror","fibre","misconception","rut","connoisseur","flowering","op","flirtation","highlander","wisp","sounding","bugger","pharmacist","doughnut","toaster","pinnacle","slob","promenade","amphitheater","singsong","beau","whimper","importer","locket","watermelon","marking","beta","co-author","crossbow","atrocity","desktop","inhibition","draught","rowboat","volleyball","snowfall","extravaganza","teddy","miscarriage","storefront","toxicity","abode","hearty","handyman","centurion","phrasing","anachronism","newspaperman","annex","walker","till","volition","tributary","close-up","nook","cleric","ferment","proverb","inlet","heretic","waistcoat","duet","sniff","crewman","campaigner","wearing","grizzly","p","optimist","placard","overflow","pedigree","clang","brig","cinder","bunting","wag","dishonor","denominator","gong","siding","trilogy","deli","fluoride","questioner","squat","competency","partisan","putter","entree","cynic","tombstone","scoreboard","biscuit","souffle","homecoming","overseer","hideout","brewery","emancipation","interface","premier","auditor","troll","conscription","stout","trucker","beetle","dealing","bookkeeper","build-up","yardstick","da","polity","wick","wrinkle","private","outflow","borderline","outfielder","visage","leper","chiffon","arbor","weave","barnyard","checklist","granny","insensitivity","ex-husband","barometer","rupture","infirmary","desertion","wonderment","encyclopedia","slaughterhouse","nostril","ineptitude","implant","infatuation","laundromat","warship","rub","benchmark","polygraph","dinghy","behind","tween","filibuster","wearer","crayon","sensor","hustler","sinew","progeny","dig","pediatrician","foursome","buckskin","cornfield","safeguard","divergence","ting","coupling","dislocation","the","immersion","purchaser","cleft","overhang","booty","scuffle","rattlesnake","teacup","retinue","hallucination","potion","yeshiva","tapping","rip","multiplication","canister","gallantry","morn","thermostat","grind","aviator","ecosystem","pariah","recruit","vestige","ro","phosphate","abomination","laurel","sweatshirt","vaccination","psychoanalyst","blind","psychosis","sidekick","shopkeeper","theorist","delicatessen","sheepskin","billionaire","receptacle","salami","paddock","glen","beech","leer","mime","ty","perfectionist","seedling","wil","bind","intolerance","dint","plural","rouge","skylight","mammy","drab","microcosm","sole","organist","court-martial","matinee","bulwark","must","expatriate","stethoscope","daydream","backer","godfather","breech","artifice","auxiliary","adventurer","atrium","counterman","idiocy","grotesque","dishonesty","runaway","digit","baseline","reflector","preamble","sellout","falcon","scribe","retainer","louse","grapevine","sojourn","lash","marquee","schoolmaster","squeak","squeal","shooter","townhouse","nationalist","billiard","backfield","auctioneer","aria","avant-garde","hostler","smattering","giving","coaster","arraignment","duo","malignancy","throwback","doc","turnabout","seeker","deletion","vernacular","bulldozer","tedium","hustle","raspberry","estrangement","mutilation","styling","incinerator","wrong","shortcut","mastectomy","infringement","bonding","timbre","cameo","workroom","grassland","spraying","cooperative","tarpaulin","determinant","thyme","innocent","clique","racer","leakage","conflagration","jingle","duplicity","diaper","conqueror","committeeman","robin","reprimand","marina","cross-section","flagship","denouement","recluse","homemaker","moron","rind","gent","magnificence","dispatcher","detonation","harbour","toddler","rotunda","sedition","fell","dolly","laureate","woodsman","syndication","clot","guitarist","blemish","password","overview","eggplant","incantation","drapery","incapacity","florist","hive","civility","mod","screenwriter","intoxication","barman","ern","furrow","cant","clapboard","tumbler","walkie-talkie","pajama","vortex","defenseman","hostel","subjugation","interception","armory","fanaticism","sibling","inhalation","undercurrent","husk","mead","maw","padlock","abnormality","penguin","undersecretary","damnation","independent","airlift","peel","schoolroom","rascal","fingertip","cartilage","dichotomy","blank","lingo","clasp","racquet","acknowledgement","rebuff","bier","aerosol","taping","checkout","arse","thoroughfare","pelt","copse","keg","fissure","tern","mirage","blockbuster","balm","arbiter","shutout","schism","fluff","circumcision","insertion","pseudonym","heathen","eulogy","snowball","penthouse","kinsman","gebling","regulator","proponent","yearbook","barbarism","mutt","reopening","paunch","governorship","differential","airship","subscriber","alloy","adjunct","impairment","incongruity","pheasant","grownup","predicate","loo","sleigh","seer","flitter","sunburn","plebiscite","stockade","pout","sledge","stipulation","lordship","bayonet","wretch","vulture","postman","breaker","newsroom","consort","grinder","ballpoint","tequila","unpleasantness","wrapping","squall","adage","monograph","privation","streetlight","hilarity","sacrament","diminution","mannequin","duplication","banishment","rasp","biochemist","goatee","cranberry","sultan","blip","disservice","idealist","middleman","shaping","apocalypse","strut","oligarchy","moor","zombie","certitude","javelin","azure","turnpike","forger","commode","bleach","sideshow","banister","closeup","dysentery","steeple","offence","commandment","furlough","best-seller","filament","mountaintop","censor","snowmobile","kaleidoscope","elf","imp","slipper","lunacy","telecast","nanny","kernel","eventuality","subordination","sonnet","nitrate","foal","prank","expropriation","fedora","zigzag","resale","namesake","highlight","supplication","concurrence","medallion","jailer","loin","tread","quill","cardigan","prune","slur","surtax","internist","strait","smuggler","panacea","turd","wanderer","crude","darlin","epitaph","docking","seashore","cheeseburger","netting","provider","dispenser","intonation","marching","caress","hootch","morass","chum","sanctum","headband","powerhouse","axiom","terrier","springboard","tot","latrine","toad","clink","herbicide","figger","hick","manger","poppy","chaise","archetype","undoing","beehive","illustrator","withholding","sterility","paddy","coven","custodian","half-life","embezzlement","armoire","kickoff","possessor","rectum","sit","daisy","housecoat","pollster","policewoman","ointment","expressionist","stockpile","bombshell","impresario","co-pilot","chessboard","dazzle","scepter","archdiocese","linguist","odyssey","capitol","accession","lute","liter","multimillionaire","decoy","warp","conveyor","grandpa","ance","mumble","betterment","bullfighter","chador","ampule","indiscretion","shake-up","clarinet","catapult","normalcy","shanty","dinosaur","epithet","tang","scaffold","immunization","repairman","suntan","mu","environmentalist","nightcap","tempest","artisan","orbiter","spiel","needlepoint","geologist","humanist","stutter","perplexity","roundup","concoction","treadmill","cacophony","antipathy","blackberry","bloodbath","brassiere","allergy","hitchhiker","grunting","choke","sitter","elixir","ba","repatriation","whack","decanter","crusader","burlap","incursion","lyric","compilation","seaport","coachman","philanthropy","secretion","collie","inquest","taper","moral","quartermaster","jeweler","salutation","confluence","gullet","tram","hideaway","by-product","drybone","copulation","divorcee","mausoleum","peeling","annuity","set-up","skiff","neurosis","windpipe","buoy","glide","archaeologist","pendant","junkyard","bullhorn","porthole","quandary","irrationality","acidity","pragmatist","derivation","stylist","duplicate","panther","brigadier","introspection","depravity","keynote","vexation","psi","weighing","deserter","speculator","teak","armful","remission","precursor","sorghum","harmonica","olive","gangway","contraband","defector","purgatory","genie","expedient","crowbar","desecration","bathhouse","enhancement","tenet","seasoning","wrangling","downhill","venue","tracery","dictation","bailout","undertone","pecker","prep","forerunner","bandstand","letdown","luminosity","tonnage","catwalk","brunch","sapphire","ballplayer","wineglass","readout","genealogy","horsepower","messiah","blackjack","hemorrhage","damask","registry","gunwale","jerkin","humorist","bowler","tingle","engraving","chauvinist","spirituality","eyepiece","twang","constancy","blot","blob","chard","highschool","sportswriter","tiara","domino","contestant","migraine","newscast","mainstay","hammering","tracker","wager","offshoot","buster","informality","python","felon","imperfection","slag","convulsion","sedative","cellblock","punt","headwaiter","outhouse","monstrosity","nonwhite","override","raisin","inversion","pancake","flavour","cataract","reclamation","churchyard","pidgin","suction","chanting","aggravation","dynamo","pee","fistful","hogan","byproduct","brooch","lullaby","workday","slop","silencer","dealership","earner","anchorman","pittance","crumb","custard","rainstorm","tote","mulch","mason","earl","barroom","levee","discouragement","falsity","compressor","lodging","gynecologist","divination","calico","bibliography","cyclone","senor","gatehouse","lagoon","squirt","artwork","songwriter","derivative","supernova","divan","photon","surety","cobbler","fatality","gout","eleven-year-old","ent","cropping","mainspring","prism","confederation","weaver","neighbour","yuppie","muffin","juniper","ovum","lesbian","pi","shimmer","fax","increment","co-ordination","splashing","thanksgiving","exaltation","confiscation","fairy-tale","fudge","brief","priestess","re-creation","hydrocarbon","ford","usurper","maelstrom","spaceport","swordsman","vegetarian","newness","grad","potter","manservant","fullback","fiend","giver","subculture","debutante","striving","scorer","catechism","charger","armada","blond","paign","handball","wince","appetizer","guidebook","jog","millet","hoot","inferno","pardner","mash","mousse","mammography","launcher","battering","predilection","portent","beep","exhortation","notification","warm-up","diatribe","panda","menstruation","telex","revitalization","workingman","cordon","charmer","fumble","hamper","moralist","settler","chowder","ley","mannerism","drunkard","posting","turquoise","elasticity","abbot","bookie","tusk","paragon","precondition","rollback","lunge","conundrum","eviction","sealer","cellist","cosmology","turntable","outside","fortification","nightstand","spook","shoemaker","sac","sulfate","isle","antigen","steed","bacterium","utopia","stunner","hillock","clove","irritant","tat","memento","rung","gaffe","portraiture","solicitor","rodent","barter","intensification","gallbladder","condom","antiquarian","peck","cheering","meteor","inflow","stenographer","blinking","icing","jackass","dweller","fiesta","irrelevance","harpoon","appendage","stipend","mommy","cassock","microfilm","dead-end","vermouth","scarecrow","fielder","referral","mart","burger","ticker","hindrance","coverlet","speedboat","wafer","sluice","bellboy","hangout","figurehead","midterm","petticoat","matador","skein","beholder","flier","waiver","flotilla","smudge","inequity","mixer","sulfide","banality","roach","billy","tailgate","gaggle","softening","loincloth","gore","bib","chrissake","changer","muse","longitude","tourney","mil","aorta","poop","regression","soviet","placing","winch","apostle","constant","squabble","blimp","abdication","porpoise","puncture","workbench","parameter","conventionalist","flagpole","unfairness","reptile","typist","bookshop","hesitancy","strongman","headland","sprint","manhole","blowing","archipelago","ideologue","slouch","poke","gush","stratum","mulatto","echelon","postmaster","sheik","emigre","alto","affectation","rad","climber","deerskin","bower","idolatry","reciprocity","sweet","wasp","dissection","baby-sitter","purple","toothpick","lyre","archer","sprawl","councilor","contrivance","flake","kynd","suffocation","damp","ware","travail","candelabra","wrestler","patina","moaning","paisley","recruiter","moderator","respondent","marmalade","bellow","harpsichord","atrophy","ejector","jetty","stripper","monorail","dramatist","hysterectomy","riverbed","revaluation","stoppage","conspirator","fetish","sunflower","cognition","scrim","rec","retriever","aphrodisiac","redneck","palsy","pullover","flywheel","roundness","peculiarity","ernment","nectar","ruck","swimsuit","curd","underclass","polka","conservationist","mire","drumbeat","cinch","cordiality","deacon","speechwriter","purr","gelatin","muddle","booby","solid","cloakroom","stopwatch","sportsman","burlesque","overload","mademoiselle","divider","bailiff","handout","ordination","stiff","languor","paperweight","opiate","snap","causation","mower","perversity","snatch","touchstone","self-indulgence","shrub","interceptor","mammoth","proceeding","cheekbone","spoke","repellent","cardiologist","reminiscence","sprinter","evocation","postscript","enlistment","blotter","troika","dacha","cabdriver","fund-raiser","switching","para","tendon","fireside","effigy","leech","veneration","reek","schoolyard","pellet","shellac","weasel","jab","carcinogen","restroom","cauliflower","levity","caftan","topside","fruitcake","bickering","drawing-room","dovetail","culvert","chateau","bugging","tinker","hobo","corset","automaker","actualization","oration","handhold","nutmeg","tentacle","quicksand","handler","panoply","bowhead","testimonial","mammal","bellhop","devotee","technicality","trainee","mongrel","newscaster","aggregation","footpath","fawn","accreditation","heave","jib","rationalist","vendetta","midpoint","buckboard","screwball","hatchway","disinfectant","cramp","causeway","tease","corkscrew","sledgehammer","sloth","materialist","mogul","stopper","bevel","carbonate","berry","snore","throwaway","agribusiness","rerun","guillotine","nip","computation","keyhole","storybook","watercolor","cer","porcupine","urging","cockroach","esse","headman","settee","usher","short","obstetrician","faggot","ballpark","palisade","whimsy","co-owner","spout","nub","pectin","dun","cypress","trombone","scat","lite","dame","quip","invisibility","baboon","sneeze","swish","originator","biennial","newsreel","chameleon","dressmaker","storehouse","trapping","statistician","bloke","helmsman","ewe","drape","trump","great-grandmother","cloister","caterer","grounding","hotbed","life-span","urinal","funk","bedchamber","boudoir","theoretician","oddball","nameplate","raven","ditty","canary","anticommunist","reconsideration","playboy","skate","transparency","uplift","six-pack","rambling","commendation","wimp","pestilence","sufferer","kelp","counterforce","self-doubt","deformity","croak","marine","marksman","directorate","reversion","stimulant","dence","beloved","eraser","slurry","tracing","bigot","compendium","entitlement","monolith","misrepresentation","darkroom","nutshell","torque","concubine","peephole","lesion","bogey","spindle","birdie","nugget","tenon","supercomputer","weakling","provenance","vowel","empiricist","filet","co-founder","prelate","onlooker","tricycle","sax","catheter","accessory","fresco","prod","oscillator","self-image","refraction","excretion","prance","insurer","cask","impersonation","rangeland","toothache","magnum","accuser","rubbing","carver","carnation","masquerade","pervert","trapdoor","shaker","mittee","tux","poignancy","payday","captor","couplet","mutant","jogger","raider","dilution","sickle","prowl","blister","reassessment","infirmity","matchmaker","workload","restaurateur","tuning","wiretap","perpetrator","davenport","lamppost","inductivist","affect","sterilization","booming","rucksack","repurchase","starship","bystander","taker","spaniel","teletype","cuckoo","sneaker","aspen","soundtrack","sacrilege","surname","succor","co-chairman","anticlimax","hopper","jumpsuit","rinse","rummy","cigaret","washcloth","butchery","almond","cooker","implement","effluent","cheat","threshing","silicone","draining","vector","shopper","dandelion","pecking","brazier","cobblestone","slugger","sacrificer","airlock","lunchroom","zebra","ejection","cutthroat","wizardry","crony","kennel","internship","cohabitation","omelet","wheelhouse","redundancy","schema","psychopath","buttock","grasshopper","playmate","lamentation","socialite","cornucopia","lichen","coterie","warlord","discomfiture","frieze","montage","traveller","curvature","condensation","vineyard","scraper","generality","archive","half-sister","gangplank","intimation","doublet","pleading","tome","quadrangle","connotation","lifeboat","blueberry","coinage","prospector","bash","disciplinarian","dualism","bookshelf","adjutant","clod","apportionment","footbridge","tourniquet","spore","slicker","jetport","magenta","schizophrenic","oilman","harbinger","trespass","merry-go-round","sabra","old-timer","vigilante","melanoma","torpor","gliding","refutation","dab","jurist","plumage","kitty","cauldron","abbey","jasmine","lefty","cabal","detonator","retiree","abatement","clamp","roost","councilman","halfback","centimeter","shirttail","whispering","stratagem","exponent","cheesecake","truism","jaunt","node","ironclad","undertow","self-portrait","urchin","idealization","splendour","antechamber","living-room","sampler","friar","irregularity","lateness","playback","binder","washbasin","tummy","capitulation","felicity","canter","birthrate","earthenware","kitchenette","foundry","ladle","babushka","chlorophyll","adjournment","villager","recrimination","hotshot","blaster","pruning","soloist","hummingbird","recuperation","bequest","hemlock","cottonwood","drawbridge","alternation","malt","interconnection","mugger","tuft","keystone","riverboat","thrall","ayatollah","highland","mistrial","bunkhouse","anesthesiologist","dredging","anode","salsa","prizefighter","neckline","chile","foreclosure","cola","digression","scythe","lout","chamberlain","minefield","sabbatical","appraiser","isotope","demarcation","garnet","buzzard","repulsion","lowland","snifter","bending","weekly","dispensation","botanist","sari","stabbing","ovary","skullcap","journeyman","thievery","look-alike","parson","heartbreak","distillate","neophyte","blower","storekeeper","firmament","taxicab","corona","fusillade","publicist","resume","breather","casement","smokestack","interrogator","outcropping","mecca","dilettante","shoestring","belch","behemoth","negligee","heath","smut","negative","fistfight","regent","incumbency","curragh","toga","ministration","turnip","beamer","stepladder","loon","businesswoman","jumbo","whining","spoor","posturing","parlour","concertina","alkali","rampart","chime","warmup","taffeta","hyena","firehouse","sweetener","guessing","pronoun","madhouse","lioness","breadwinner","diocese","escarpment","mimic","retina","larder","gnat","hothouse","ponytail","markup","bevy","revocation","depressive","garner","redefinition","lifter","stateroom","nutritionist","isolationist","surveyor","polemic","ornamentation","gouge","counterweight","thrower","illegality","joining","lumberyard","wholesaler","obeisance","stagecoach","substage","lockup","nudge","rejoinder","compost","carburetor","peacemaker","prologue","swinger","right-of-way","precipitate","sprinkler","crone","valentine","vassal","tabloid","minstrel","nursemaid","attribution","courtier","docket","spool","convocation","serviceman","letterhead","zealot","negro","cackle","masthead","dispersion","underwriting","armload","noodle","squawk","periodical","reformation","boa","starlet","about-face","ejaculation","encore","harangue","woodpile","earlobe","reaffirmation","handlebar","compunction","contemporary","midriff","nimbus","householder","postgraduate","quirk","innovator","sneak","straitjacket","pussycat","belle","kidnapper","spacing","laying","standout","estuary","duster","jackpot","motorboat","welterweight","kicker","expectant","revue","senior","epistemology","yeoman","firearm","granddaddy","projectile","stammer","crossfire","toxin","hookup","phantom","transgression","flagstone","acuity","twick","acolyte","directorship","corpsman","worktable","mammogram","wart","liqueur","unbutton","receivership","duchess","delinquent","picker","earphone","blare","promontory","formalism","infamy","operative","hock","crusher","megaphone","retrenchment","chaser","dementia","wane","triviality","quadrant","curate","pairing","forging","dermatologist","mango","bon","moccasin","hayloft","marionette","seedship","ooze","interloper","twill","solicitation","trowel","professorship","scrimmage","scrawl","blockage","parkway","motorman","snapper","transcription","vasectomy","binary","flagon","choirboy","butte","throbbing","bound","thunderbolt","dike","cowbell","elect","prodding","lynching","rant","drifter","snot","preservative","brogue","tary","tortoise","lattice","strudel","composite","churn","median","neurosurgeon","mariner","kiln","boarder","ama","petal","friendly","clearinghouse","swastika","filler","enquiry","dispensary","chump","archeologist","rescuer","dy","draftsman","snicker","shakedown","romp","construct","conclave","winery","polarity","breakin","wailing","gurgle","bedroll","commissar","albatross","shading","peal","taverna","chicanery","has-been","waistline","oaf","satirist","faint","myosin","dimple","landfall","fornication","smithy","tough","gunboat","busboy","cassava","poplar","discontinuity","obelisk","blubber","demonstrator","meltdown","abolitionist","thorax","holler","pimple","sending","druggist","indirection","leotard","ken","showman","despot","ombudsman","lyricist","dearie","lumberjack","gaff","pagan","cremation","infarction","sturgeon","publican","bottleneck","chambermaid","pectoral","purser","godsend","whisk","canard","concentrate","copter","shipwreck","laundering","clipper","notepad","jackal","indentation","basilica","adhesive","mermaid","knighthood","personage","omelette","whoosh","embellishment","misgiving","tracer","brawling","crucifixion","steal","transference","sleight","threesome","windowpane","bereavement","viceroy","betrothal","refresher","seagull","jay","needler","discoverer","goiter","caterpillar","impostor","diminutive","cation","playpen","amputation","confidante","dockside","inquisition","chronicler","seamstress","lath","absolutist","cadaver","perusal","subterfuge","self-satisfaction","sawmill","agitator","shortcoming","breakwater","microcomputer","lima","greatcoat","mahout","prima","undress","superstructure","stopgap","moo","bio","fret","pomposity","bough","autocracy","anchorage","samovar","gen","burrow","rosebud","segregationist","mortise","hydrant","postmortem","oversimplification","entryway","paintbrush","rea","balustrade","chuck","trumpeter","ferret","opportunist","pinnace","salamander","transom","mace","individualist","synthesizer","thoroughbred","cupola","tomboy","ensign","bottling","whir","poultice","entranceway","saver","gurdwara","renegotiation","tossing","ruffle","footprint","skeptic","birthmark","tailspin","kickback","chalice","plagiarism","passer","inhumanity","ceremonial","sapling","babysitter","creeper","galleon","bellman","holly","hacienda","cur","transplantation","scab","ballgame","demotion","flimsy","hovel","lug","layup","firefighter","gravestone","nymph","cajole","tickle","boxcar","secession","refractor","somersault","personification","treacle","tutorial","voucher","thimble","stickler","front-runner","paroxysm","exorcism","psalm","infestation","scrubbing","castor","peppermint","orchestration","extremist","oppressor","lode","prompting","watchword","swindle","statehouse","floater","nightdress","bloak","elegy","woodshed","trembling","banning","adornment","redoubt","lightweight","postulate","anti-Semite","tasting","viewscreen","sentinel","nation-state","heft","nurture","villainy","manhunt","invoice","sprig","self-denial","selector","piglet","commemoration","crucible","piper","curtsy","lackey","breastplate","gadfly","octave","epilogue","self-examination","thyroid","apologist","chemise","super","figment","waif","essayist","brewer","miniature","sediment","cannibal","tulip","caramel","caseload","synonym","analogue","ver","shirtwaist","cornerback","insecticide","debauchery","lien","strangulation","intricacy","guesthouse","crumbling","glassware","cachet","thumping","damper","colonist","frolic","ogre","heist","sorting","pawl","muttering","refill","cowl","imbecile","painkiller","garter","creole","overpass","simile","potpourri","piling","predisposition","corsage","mobster","sandal","aphorism","vice-chairman","heartache","converter","pecan","ecologist","substrate","quagmire","trenchcoat","voyce","overstatement","soapbox","rediscovery","effusion","agronomist","firecracker","haunt","murmuring","henhouse","fluctuation","signora","mulberry","hoist","bullfight","discotheque","finder","tureen","hairstyle","dignitary","consummation","spar","pogrom","beeper","read","outboard","sho","skit","impurity","sadist","parafoil","bouncer","spender","locust","boardroom","burnout","inoculation","surfeit","welder","propagandist","mortuary","pessimist","equivalence","juke","spatter","incubator","reproof","gulch","notary","speedometer","lodger","mitt","southpaw","footman","amity","bloodline","cleaver","coffeehouse","confederate","assist","ation","lecher","abrasion","daybed","knit","laddie","forfeit","kebele","filigree","frisbee","cantina","oscillation","countryman","juggler","scion","acrobat","hourglass","realtor","onyx","pettiness","chancellery","footfall","slippage","mandarin","eral","lob","impertinence","providence","dom","idyll","democrat","deferral","sorority","slamming","badger","mutter","ling","strobe","explosive","municipality","crossover","bedstead","spatula","tug-of-war","goon","pauper","lation","sacking","alder","nightstick","salve","infraction","prowler","falsification","pant","drunk","rumbling","ce","minuet","plaything","yelling","kiddie","duction","buttress","carapace","sobbing","insufficiency","prig","bidet","bloodhound","madwoman","buffoon","vignette","doorjamb","caprice","gable","converse","cad","creche","mullah","spectre","spotter","ingenue","chalet","automatic","stash","truckload","tailback","static","productivist","dissipation","haunch","nag","awl","self-delusion","rattler","blacklist","beagle","trapeze","obstinacy","fiddler","theorem","rearrangement","changeover","reassignment","courtesan","fillet","nay","cutout","luncheonette","purveyor","incitement","remarriage","amelioration","executor","buttonhole","duality","churchman","sickroom","farmstead","jester","perfidy","cuticle","weal","snub","pretension","roadbed","furnishing","quickie","workweek","conveyance","pseudopatient","turbocharger","fleece","abbreviation","spigot","leaflet","great-aunt","ninny","beaker","experimenter","validation","inhabitant","grading","cantaloupe","potentiality","flue","commoner","playroom","readjustment","boathouse","vivacity","brakeman","petitioner","singularity","gage","delineation","fester","paratrooper","font","pitchfork","signifier","crossbar","playhouse","tripe","stylus","pacemaker","clustering","hone","runt","emporium","ragtag","aneurysm","trapper","pulley","thrashing","candlestick","checkerboard","swoop","surcoat","dystrophy","bristle","beck","toolbox","hunchback","subcompact","doze","seaway","disclaimer","arbitrator","miller","crackpot","loafer","instigation","sen","bale","skim","skip","dollop","tender","oeuvre","goner","sor","tort","cropland","profundity","caf","zoom","gabardine","quack","cataclysm","condolence","foxhole","circlet","brave","misfit","bivouac","artificiality","dachshund","puke","bagel","sortie","nomad","opal","ethnicity","firebox","ratchet","cud","worsted","squabbling","cheque","jean","avatar","dirge","footstool","velour","barrister","pression","microchip","coda","reappraisal","cess","hangman","centenary","plough","broomstick","headstone","tormentor","sore","rathorn","voyeur","world-view","co-star","warren","fail","deflation","noble","fleck","saleswoman","hap","machinist","waffle","tom","ell","prefab","suckling","guardhouse","sabre","entanglement","integrator","quarterly","paraffin","heifer","frivolity","good","bougainvillea","excommunication","distillation","cyclist","meteorologist","rubric","cul-de-sac","misnomer","phobia","demagogue","bloodletting","raconteur","ger","astrologer","zygote","counterrevolution","reinstatement","anchovy","getup","tryout","scullery","turnstile","cyst","mustang","gaslight","self-deception","emanation","grown-up","escapade","versity","fishery","paprika","grailstone","gurney","fount","holdout","licensee","jackknife","asterisk","still","fundamentalist","humbug","repast","christening","butternut","miniskirt","fortune-teller","spillway","ference","salver","payout","nodule","high","tugboat","gizzard","sympathizer","fibrillation","incompatibility","dodge","trove","mercenary","pigtail","matchbook","masterwork","barb","endeavour","confection","ephor","yarmulke","char","mimeograph","holdover","subtitle","saddlebag","metronome","tine","testicle","caveat","etching","auntie","guarantor","ringer","airman","boatman","carnivore","armband","polder","tryst","lem","sitting-room","barrow","reappearance","pastiche","bankroll","stroller","saxophonist","blanc","redesign","plotting","gruel","juicer","slat","scooter","socialist","gradient","ember","scorecard","remembering","bo","forecaster","flirt","backache","parakeet","pixie","guffaw","anesthetist","logjam","pursuer","physiologist","follicle","coverall","patsy","bunt","lubricant","jawbone","numeral","mourner","rune","bettor","solder","nitrite","rime","pinstripe","pistachio","monocle","equivocation","crystallization","twit","two-year-old","toupee","eyelash","recognizance","cy","sophistry","seesaw","loony","do-gooder","dusting","commonality","yearling","disbarment","self-congratulation","tsar","vagabond","rhinestone","viper","planetoid","crochet","laird","flatland","prompt","catamaran","wigwam","mainframe","shivering","stringer","vane","iniquity","hoodlum","tableware","smelter","overlay","umber","placenta","yew","right-hander","laggard","cornice","philanthropist","scouring","dissenter","mainsail","showplace","conch","sentimentalist","protectorate","sanitarium","truancy","angler","showpiece","carotene","pollutant","diabetic","hairbrush","videodisc","intellectualist","pothole","setter","tense","grader","kneecap","birdbath","dell","typhoid","tuba","torturer","commie","houseboat","revelry","medalist","hinterland","jowl","splotch","sable","mouf","ripoff","coolie","streetlamp","damn","sharecropper","oral","schoolmate","commander-in-chief","capitalization","flex","shtetl","chenille","pullback","pharaoh","claret","fulfilment","glower","remuneration","internationalist","pap","pediment","sonata","toke","co-director","dollhouse","salesgirl","greenback","analog","ofa","freelancer","hairpin","aphasia","kicking","bummer","lawmaker","thickening","juggernaut","comma","sander","claimant","triad","rhizome","prolongation","placer","transvestite","faceplate","shortening","coffle","surfer","greengrocer","roughage","nudist","dumbbell","coiffure","pinky","ex-President","start-up","bobby","sidearm","paean","raiment","conceptualization","surmise","agnostic","cranny","tassel","infarct","pitchman","minor","stationmaster","sublet","puter","dramatization","mounting","washstand","counsellor","penknife","curtailment","remake","millimeter","sextant","vocalist","blowup","walleye","pickax","fanny","ascendant","brushing","highball","bandleader","winning","godmother","horoscope","disequilibrium","run-up","grazer","sandbar","motorbike","hassock","piggy","teat","reprise","wheeling","psychotherapist","calabash","cob","relativist","packer","slayer","digger","banshee","autocrat","knave","muskrat","extinguisher","foreleg","sobriquet","hospice","accretion","mastermind","figurine","newsmagazine","epidemiologist","pic","minaret","dereliction","city-state","jawline","escapist","legation","weatherman","sinker","cabby","guardrail","objector","timepiece","cistern","werewolf","decadent","harlot","epiphany","bricklayer","doorkeeper","obsidian","bedpost","constriction","refectory","blackbird","enforcer","riposte","schmuck","squab","pop-up","handrail","sandbag","superman","underbelly","alarmist","sesame","paratroop","droplet","proclivity","theorizing","quark","tactician","sundae","poolhall","behaviorist","dipper","postmark","co-conspirator","carload","electrocution","mould","goodnight","appendectomy","statuette","coefficient","cornet","scolding","prude","platitude","carport","lilac","geisha","foist","mitigation","percussionist","lechery","wyrm","charlatan","tussle","slough","jamb","twister","lakeshore","scavenger","pinkie","changeling","pinhead","muster","exploring","fief","critter","haystack","skimmer","geyser","stumble","update","tabernacle","gargoyle","projectionist","requisite","suffix","ramrod","betrayer","perience","tance","fluting","flare-up","fatherland","guardianship","douche","good-night","trawler","headsman","stoplight","operetta","spend","hater","teakettle","geneticist","particular","wardroom","slider","deuce","gingham","telethon","acclamation","centrifuge","workstation","pretender","prong","lampshade","ureter","hiccup","acetate","molding","wallop","vagrant","three-star","carafe","blowout","equinox","rave","junior","spoof","confessor","troubleshooter","braggart","judgeship","rapier","landmass","stoic","cuckold","inheritor","forester","jangle","gymnast","wingman","stein","gnome","drumstick","whatnot","yachtsman","realty","glob","by-election","academic","deflection","knocker","wondering","mugging","petit","frosting","pillowcase","panelling","grendel","tribune","tabulation","simulator","whaler","stork","gill","cavalcade","workhorse","locksmith","preppie","henchman","countertop","groundcar","puree","wellspring","debasement","prankster","tration","insert","put-down","typer","chartreuse","crematorium","headpiece","noncom","wipe","drove","sportscaster","impersonator","shrew","twitching","loader","magnolia","dropping","functionary","dissonance","cudgel","forfeiture","glutton","reject","doubleheader","tarp","suburbanite","afghan","chaperone","bas-relief","oscilloscope","imposter","newel","trusteeship","shocker","cannonball","half-breed","woodpecker","tumbleweed","snip","consignment","left-hander","spoil","also-ran","exhalation","signification","tester","ashram","gardenia","deductible","frontline","subtraction","bowstring","upland","bearskin","gramophone","mock-up","serenade","mix-up","extrapolation","tidbit","semaphore","banging","dogwood","carol","mapping","exchanger","ignominy","retraction","videocassette","precept","sirloin","mortification","pagoda","belfry","cubbyhole","mindstone","greyhound","clank","snowbank","instep","sanatorium","savanna","longshoreman","copier","nightshirt","boatyard","brigand","usurpation","understudy","interrelationship","undercarriage","sulphate","quasar","marshmallow","thrush","sweeper","alleviation","feint","chimera","infidel","modifier","perennial","simpleton","gridiron","overlord","airway","binding","abstention","algorithm","amalgamation","ascension","herdsman","lollipop","pastel","laminate","tendril","synopsis","drawstring","intermarriage","restorer","swoon","firefight","civilisation","self-criticism","hanky","ventricle","jot","interferon","circel","avenger","stepson","amethyst","beachhead","loggia","sizzle","burp","watchtower","endearment","dryad","prefect","tong","croissant","blocker","brioche","thistle","sunburst","savor","dumpling","checker","soliloquy","marketer","wheeze","molar","oboe","inbound","masochist","superficiality","tabby","outcrop","deputation","bassist","particularity","strop","thang","doggy","zation","ghoul","domestic","frostbite","relapse","floorboard","clicking","paraphrase","sinkhole","pushcart","overdraft","spinnaker","sourdough","sweatshop","meteorite","lander","caboose","junket","planer","iguana","brouhaha","reaper","sharpshooter","eggshell","self-sacrifice","minnow","skyrocket","connexion","effrontery","oblong","biker","flinch","cog","bullock","retrial","underwriter","gentlewoman","noggin","sissy","collect","dogmatism","sweatsuit","biplane","polariser","server","hiker","electrolyte","thunderclap","bronc","snooze","mascot","sherbet","carillon","decal","womanizer","underground","tailcoat","worshipper","automaton","proscription","sleuth","honeybee","abutment","foller","palladium","partake","jailing","counterfeit","pompadour","moneymaker","acacia","monthly","geographer","doghouse","bludgeon","fitter","conservator","indecency","atoll","fife","acquit","barracuda","mortician","striker","plait","untruth","hoarding","eighteen-wheeler","shakeup","grounder","abuser","hamstring","parishioner","cherub","cubist","antler","kisser","shunt","cravat","admixture","whinny","scorpion","amenity","matchup","spacer","settling","insinuation","possum","tenancy","girder","adapter","mousetrap","cubble","steppe","hypochondriac","covey","whipping","taunt","pocketful","pug","panhandle","conga","citron","foul-up","plaint","nouveau","oilskin","meridian","lifer","bolster","wren","gripe","mountaineer","transceiver","treetop","hex","harrow","tampering","photocopy","redskin","cesspool","barrette","cleanser","missive","breakfront","mini","ridgeline","semi","pasha","byword","phoneme","seducer","miser","cookstove","limerick","cummerbund","labourer","ascot","wraith","tarantula","toffee","pituitary","liana","cleat","line-up","helix","highboy","bicep","partment","coed","expletive","dumpster","deferment","progenitor","sandbox","mignon","typhoon","sublimation","backdoor","alchemist","pacifier","insomniac","hairpiece","lintel","indemnity","blurb","republican","electrocardiogram","futurist","recliner","mote","sketchbook","fulcrum","gratuity","aqueduct","adherent","masque","sundial","template","handmaiden","hedgehog","coding","corsair","solstice","orifice","sonobuoy","prizewinner","spinner","townsman","rosette","mind-set","unkindness","pushover","bility","infielder","hutch","erasure","parallelism","avowal","fastness","broadcloth","hellhole","grandparent","toehold","ident","sleepwalker","watching","aerie","database","mismatch","hombre","scrambler","spoiler","putdown","rookery","spinoff","ringleader","duchy","sealskin","transformer","doggie","bedsheet","cowhide","ceramic","prostration","cheroot","houseboy","giantess","tomcat","speedster","basalt","minicomputer","rapacity","spaceman","in-law","equerry","humpback","academician","harvester","fairground","ream","carat","entreaty","groundswell","obfuscation","provocateur","fugue","denigration","rifleman","manipulator","panting","synod","glitch","nightie","goaltender","kingpin","comforter","anesthetic","klaxon","hijack","orb","hostelry","gladiator","misadventure","bombard","fixity","tanner","stringency","wonderland","x-ray","plainclothesman","roadhouse","travelogue","gasket","nibble","hacking","nude","tincture","receptor","fink","schoolmarm","washtub","homesteader","hacker","portiere","hatbox","tamer","howitzer","grouper","frontage","amoeba","clime","flashback","teamster","accolade","polluter","officeholder","inpatient","altercation","reverberation","coproduction","phosphor","substation","bandana","sapper","preserver","pigeonhole","prefecture","milkman","avocation","argyle","amphetamine","linker","leviathan","hamster","bondsman","comer","bumpkin","sheikh","beefsteak","tyke","discoloration","kingmaker","quotient","excision","whitey","asymmetry","trill","discourtesy","bleat","hatching","crier","creel","seabed","witticism","riser","lurcher","moviemaker","pantsuit","linchpin","deformation","deodorant","soybean","washboard","egotist","underpass","dysfunction","tingling","barstool","paramour","udder","microbe","radiologist","qualm","welt","salesperson","signpost","sepulcher","lumpectomy","slaver","shopgirl","peregrine","siesta","reiteration","profligacy","iodide","iconoclast","rollcall","fillip","oratorio","splat","incoherence","accompanist","motorcar","nunnery","busybody","carryall","nettle","jaguar","pretence","odometer","potentate","mussel","prophetess","monetarist","proach","typescript","hacksaw","broadsword","miter","fatty","terrarium","archangel","powerboat","stooge","cannery","pylon","pulsation","misstep","yucca","hearthstone","rumour","lockout","toboggan","trampoline","concatenation","debility","acorn","forklift","psion","dragonet","ligament","folio","tie-up","picking","swatch","arrowhead","martinet","fisher","quintet","ellipse","sumbitch","legitimation","nightwatch","hardback","schemer","conversationalist","collectivist","reallocation","diorama","cutaway","point-of-view","cattleman","abscess","talc","incubus","dribble","sis","rhododendron","rolling","spiderweb","nonsmoker","crissake","refusenik","save","obstructionist","suture","parenthesis","reefer","great-grandson","steelworker","bumblebee","bullfrog","festivity","embolism","defeatist","tankard","ferryman","garret","co-worker","consonant","copywriter","bookseller","compress","dogfight","embezzler","quiche","liege","dissector","taskmaster","prosthesis","emulsion","spitball","modulation","squint","retelling","baiting","whirr","air-conditioner","individuation","geezer","aspirant","pensioner","re-enactment","flapper","looker","marshland","sexton","adverb","coenzyme","misapprehension","inaccuracy","barmaid","beautician","daredevil","racehorse","oxford","spume","busload","tradesman","manicure","propellant","apothecary","ruffian","titillation","instigator","siting","ringmaster","enumeration","twirl","bookmaker","technocrat","mouth-harp","quaver","icehouse","ventilator","roadster","subpena","carter","comedienne","savannah","milkmaid","pumper","signer","deadbeat","cofounder","bootlegger","tribesman","wildfire","shard","hailstorm","struction","routing","dolmen","idiosyncrasy","poniard","honky-tonk","spendthrift","draftee","hermaphrodite","pinafore","roundabout","frill","redeployment","ophthalmologist","caldron","reinvestment","troubadour","fjord","leave-taking","elongation","clinch","trinket","suasion","neutralist","finalist","whiplash","ventriloquist","violator","monarchist","spanking","grindstone","initiator","standard-bearer","sender","atelier","distemper","ingot","frontiersman","altarpiece","endgame","homily","synapse","pillbox","ochre","scimitar","jubilee","presentiment","tation","aggrandizement","truncheon","damsel","fallibility","papaya","piggyback","puppeteer","workhouse","nightingale","entomologist","wicket","debriefing","logician","moorland","minimalist","matte","skirmishing","tonality","maidservant","yam","gatekeeper","whammy","drudge","angora","garland","manoeuvre","moviegoer","slingshot","titan","re-evaluation","ironwork","ambassadorship","lanch","pollination","riage","vocalization","brawler","shaving","particulate","inhaler","impoundment","surfboard","waterman","almanac","pepperoni","kook","colonnade","infantryman","scruple","functionalist","wisecrack","conscript","boor","bannister","pretzel","analgesic","firebrand","microprocessor","frame-up","guardsman","teetotaler","broad","pallbearer","airframe","wrangle","backboard","knockdown","reparation","poorhouse","milkshake","battlement","dragonfly","paymaster","snuffler","crudeness","nerd","blockhouse","donut","backhoe","principality","dimmer","wounding","collier","beater","footlocker","barkeep","absurdist","brickwork","great-uncle","rumination","appellation","joiner","hydrolysis","interlocutor","raindrop","hardtop","groping","cymbal","miscellany","pomegranate","hearer","abortionist","corncob","shoal","dunce","bellowing","bridgehead","mangrove","blotch","boxwood","briar","which","trickster","epileptic","dependent","encumbrance","claque","pickpocket","half-truth","bilge","overrun","caveman","posterior","derriere","sty","maggot","vibrator","imbecility","hang-up","syllogism","blindfold","sunbeam","chrysanthemum","amour","ne'er-do-well","odour","flowerpot","satrap","reconnoiter","tonsillectomy","clampdown","coliseum","menage","warbler","hubcap","crudity","baseboard","lithograph","homeroom","stanchion","amphitheatre","disquisition","commonplace","feedlot","reprint","shire","kraken","careerist","goatskin","worldview","waddle","washout","doormat","diadem","sniffer","spat","superhighway","snooper","libation","zoologist","subtext","bailiwick","exterminator","popsicle","actuary","cabinetmaker","swami","contraceptive","softener","margarita","hatter","tention","earpiece","dormer","timberland","katun","crooner","one-liner","adjudication","snitch","referent","subset","disavowal","starburst","merchantman","dalliance","polymer","hypnotist","monogram","peerage","claymore","satyr","twerp","matchstick","rubber-stamp","clapper","exhibitionist","warhorse","eatery","seashell","radish","router","dinette","trombonist","rivet","requiem","breakaway","hard-liner","locator","shindig","corrective","truffle","whelp","expediter","savant","mitten","canton","wobble","misinterpretation","fense","headwrap","conciliator","chine","topping","assemblyman","divine","scuffling","boomlet","dervish","yellow-green","stockyard","hummock","trimming","royalist","calumny","vandal","prickle","strikeout","apologia","afterburner","hunker","flippancy","fop","embrasure","hornet","tithe","oilfield","lawman","turnkey","fledgling","coauthor","blowpipe","subjectivist","backstop","fishbowl","bedpan","sedge","protrusion","crybaby","freedman","seminarian","spacesuit","tautology","footstep","fiveyear","stoneware","mance","generalist","quitter","domicile","requisition","seance","cabana","wastrel","underling","looter","glassful","wallow","boater","disharmony","shiksa","herringbone","flyleaf","eyesore","lawnmower","walk-up","hemline","wiggle","posing","whirring","cropper","reappointment","psychodrama","shaver","orthodontist","granary","extrovert","calfskin","thinning","foghorn","trainload","carbide","metier","harpist","minim","ballcarrier","rayon","bursting","flipper","fastening","mullet","exploit","squatter","nullity","commodore","newlywed","eavesdropper","chiropractor","miler","arsonist","wrecker","transmutation","incompetency","subcontractor","tress","meatball","bobcat","distributorship","camcorder","pasty","glimmering","groaning","classicist","stakeout","supplicant","repeater","crackling","cryptographer","croupier","honeycomb","insincerity","inhibitor","mystification","greaser","barker","anthill","barbarity","strangle","myrtle","segmentation","marlin","capon","toenail","flip-flop","auger","blasphemer","dipping","pawnshop","penumbra","mohole","bauble","rube","flophouse","triplicate","sardine","master-mason","fang","brainstorm","derangement","hanker","molestation","smokescreen","cavalryman","edging","layover","signalman","clavicle","crewcut","tricolor","cochairman","liberationist","foreskin","bleacher","semi-circle","quince","flatcar","abattoir","farmboy","tibia","thrum","conformist","southerner","docudrama","whorl","break-up","conglomeration","exhibitor","bramble","cutie","woodchuck","compatriot","stole","tuner","housemother","dharma","femme","teahouse","banquette","bottomland","arranger","philistine","vacillation","chiton","retch","caddie","reissue","teaser","swampland","deejay","libertarian","pegboard","greenhorn","dork","cellmate","jobber","wishbone","millstone","haunting","blow-up","snorkel","snowplow","trespasser","punter","snowflake","snowdrift","gunnysack","surround","evergreen","clog","radioisotope","cougar","pundit","wattle","subgroup","oviduct","mixup","misstatement","sulfite","pansy","splint","counterproposal","pulsar","remove","landau","four-year-old","rebbe","disconnection","neomort","exegesis","meteoroid","meringue","sheepherder","radioman","strumpet","opment","millionth","speakeasy","conformation","cultivator","goof","annual","gazelle","demitasse","fishhook","preferment","homebody","skewer","chancre","sorbet","hologram","rivulet","oldster","prisoner-of-war","tulle","riff","restatement","debit","emplacement","repre","invariance","half-circle","objectivist","passer-by","scarlet","flail","impala","persimmon","purist","gation","burgher","snowman","starling","barony","annulment","lifespan","herder","embolden","swathe","ex-convict","trouper","half-wit","fuchsia","grange","ricochet","stinker","opacity","colander","absorber","armadillo","pleasantry","noncommunist","taxiway","overtone","debater","taillight","advisement","birdcage","baroness","aureole","breakout","colouring","astrophysicist","flatboat","stilt","eyeshade","barbell","deliverer","fishnet","prise","jackrabbit","manifold","chattel","jimmy","workshirt","thornbush","chatty","frisson","recount","patentee","oceanographer","forepaw","murderess","whalebone","frontrunner","cerebrum","jector","militiaman","lobsterman","earthling","clean","swindler","scree","begat","doorsill","housedress","strangler","shantytown","roughhouse","scenarist","foothill","contaminant","hamadryad","phony","fairyland","seascape","treble","prodigality","hobble","gantry","backroom","enticement","sawhorse","interviewee","cliffside","dustpan","scrubber","imbroglio","acquaintanceship","woodworker","aesthete","octogenarian","mauling","archivist","pungency","interweaving","jabber","bassinet","doubler","torte","linkup","outdoorsman","fixer","caddy","fumbling","defile","meristem","microbiologist","urologist","stovepipe","tambourine","constructionist","egomaniac","adjuster","liniment","impiety","timeline","cowgirl","sinecure","chillun","foreword","frat","retary","bagpipe","coif","visualization","colleen","shirtmaker","flounce","adder","riffle","underboss","reinterpretation","bender","seeding","fiver","sicken","decoder","holothete","figuring","stave","earplug","acrylic","epigraph","fairytale","flasher","sally","inkwell","nitwit","hussy","constrictor","stabilizer","stickup","seaplane","shimmy","dredge","updraft","speciality","insulator","frond","storyboard","shill","rafter","blowgun","dukedom","favourite","populist","striper","blowtorch","mallard","licking","poetess","tetracycline","ad-lib","toxicologist","fencer","gnawing","eration","photocell","golem","heirloom","penitence","gence","latecomer","broil","outdistance","howler","canine","replenishment","traditionalist","emcee","eyeglass","billow","eyelet","khaki","assignation","tepee","buccaneer","bellyache","parkland","musicologist","phaeton","spirochete","lanyard","mischance","tobacconist","blusher","castaway","meson","bouillabaisse","scrivener","stinger","life-cycle","harridan","motivator","mooring","crimp","inlay","purveyance","vertical","jackhammer","strongbox","dishpan","cobweb","couturier","chalkboard","basilisk","duckling","penitent","footrest","tangent","facing","peroration","floodlight","nouvelle","truss","sprite","drier","esplanade","banding","insulter","dialog","pincer","battlefront","missal","hayseed","parvenu","baronet","shipwright","whisker","no-hitter","double-dealing","moire","conjurer","rickshaw","crevasse","switchback","nicety","provincialism","novella","liberator","biggie","tune-up","ferryboat","remover","twosome","loveseat","tektite","sharpener","cartwheel","diva","flirting","disproportion","tortilla","rover","whodunit","birder","parley","birdsong","fiefdom","augury","harrier","tamale","judging","snakebite","diagnostician","tannin","qualifier","cheetah","distillery","protester","stockroom","factotum","newswoman","cosmopolitan","iridescence","aeroplane","toddy","co-defendant","parry","duocorn","boasting","elector","clarinetist","undergarment","psych","supergiant","armature","environ","collectivity","keepsake","gunfighter","wingspan","perforation","worshiper","groupie","cityscape","worrier","shipload","scallop","hatchery","portraitist","screamer","blaspheme","pacer","presenter","malcontent","seine","equivalency","scriptwriter","lieve","discard","bantam","centaur","typology","loiter","nigguh","drubbing","airfoil","curio","grandmaster","finisher","luminary","alliteration","phantasy","blooper","fasting","samba","gearbox","islet","apricot","smidgen","inset","firestorm","madcap","seedbed","gunsight","forelock","disjunction","writhing","huckleberry","abstract","squirm","ironist","monosaccharide","pushbutton","terracotta","artiste","showgirl","cornea","temptress","popularization","free-fall","scribbling","conviviality","flange","thwack","droop","rower","sweatband","gopher","mandolin","slobber","stricture","calyx","dietician","rehash","padre","ancient","dotage","jacaranda","pensione","contravention","undulation","ironworker","currant","hankie","face-lift","anthropoid","depressant","war-horse","tithing","greeter","matchbox","woodcutter","magpie","wayfarer","handcuff","lawgiver","traverse","minion","cavalier","sonarman","defoliant","scamp","snowshoe","polyp","gainer","honkie","bottler","halloo","amputee","ontology","bromide","brisket","goodie","tavern-keeper","choker","preaching","molester","tonsure","recapitulation","aviary","stevedore","raffle","bootstrap","angiogram","plantain","tipper","hooting","seismometer","persecutor","lobotomy","pigsty","virologist","gamete","presbytery","stepping-stone","dressing-room","cyclamate","chipmunk","platelet","flogging","tuber","reservist","blinker","demographer","turncoat","demesne","fancier","ideologist","self-justification","bucketful","m'lord","rapping","bestiality","irrelevancy","oiler","mackinaw","flutist","trafficker","categorization","pram","world-system","cathouse","deceiver","idjit","double-take","reformulation","brushfire","separator","neigh","whimpering","crisscross","regurgitation","auteur","backwash","refiner","broadsheet","hedonist","recitative","nonentity","codger","tinting","policymaker","tutu","boondoggle","entrant","wok","small","boatload","searcher","taMing","sycophant","substructure","megalomaniac","rusher","saleslady","registrar","blackguard","neckerchief","oldie","clinician","flushing","pinwheel","dition","charioteer","beastie","stridency","verity","eyedropper","canvass","desperado","teardrop","farmyard","mannerist","macaw","valedictorian","whopper","pertinence","assay","puncher","manse","anatomist","dishtowel","nuke","egalitarian","tribulation","cinematographer","sailer","icicle","legume","spiritualist","nativist","these","progressive","blastocyst","harpooner","pedant","instrumentality","connector","masseur","vertebra","moonshiner","bowsprit","grabber","stele","clanking","renter","antihero","bankbook","jailbird","handicraft","fighter-bomber","streamer","retardant","wallflower","flamethrower","agate","cairn","bantamweight","agglomeration","roustabout","linden","roughneck","formance","moray","cession","rashness","capstone","derailment","declivity","snowfield","talon","haymaker","abductor","diffuser","geosector","camisole"];Object.defineProperty(data,"__esModule",{value:!0});data.nouns=data.adjectives=void 0;const adjectives_1=adjectives;data.adjectives=adjectives_1.default;const nouns_1=nouns;data.nouns=nouns_1.default;const __viteBrowserExternal={},__viteBrowserExternal$1=Object.freeze(Object.defineProperty({__proto__:null,default:__viteBrowserExternal},Symbol.toStringTag,{value:"Module"})),require$$0$1=getAugmentedNamespace(__viteBrowserExternal$1);(function(_e){Object.defineProperty(_e,"__esModule",{value:!0}),_e.nouns=_e.adjectives=_e.uniqueUsernameGenerator=_e.generateUsername=_e.generateFromEmail=void 0;const Pt=data,Dt=require$$0$1,Nt=(Yt,Xt)=>{const Qt=(0,Dt.randomBytes)(4).readUInt32BE(0);return Yt+Qt%(Xt-Yt+1)},jt=Yt=>{let Xt;switch(Yt){case 1:Xt=Math.floor(Nt(1,9)).toString();break;case 2:Xt=Math.floor(Nt(10,90)).toString();break;case 3:Xt=Math.floor(Nt(100,900)).toString();break;case 4:Xt=Math.floor(Nt(1e3,9e3)).toString();break;case 5:Xt=Math.floor(Nt(1e4,9e4)).toString();break;case 6:Xt=Math.floor(Nt(1e5,9e5)).toString();break;default:Xt="";break}return Xt};function Ut(Yt,Xt){return Yt.replace(/@.+/,"").replace(/[&/\\#,+()$~%._@'":*?<>{}]/g,"")+jt(Xt)}_e.generateFromEmail=Ut;function Gt(Yt,Xt,Zt,Qt){const en=Pt.nouns[Math.floor(Math.random()*Pt.nouns.length)],tn=Qt?Qt.replace(/\s{2,}/g," ").replace(/\s/g,Yt??"").toLocaleLowerCase():Pt.adjectives[Math.floor(Math.random()*Pt.adjectives.length)];let nn;return Yt?nn=tn+Yt+en+jt(Xt):nn=tn+en+jt(Xt),Zt?nn.substring(0,Zt):nn}_e.generateUsername=Gt;function Wt(Yt){if(Yt.dictionaries){const Xt=nn=>Yt.dictionaries[nn][Nt(0,Yt.dictionaries[nn].length-1)],Zt=Yt.dictionaries.length,Qt=Yt.separator||"";let en="";for(let nn=0;nn({load:async Gt=>{const Wt=Gt??await r$4({accept:acceptedFormats,strict:!0});return Wt&&isWorkspaceFile(Wt)?(await Ut(async()=>{const qt=isCompressedFile(Wt)?await decompressBinaryAsync(new Uint8Array(await Wt.arrayBuffer())):await Wt.text(),Yt=await parseYamlAsync(qt);Yt&&(Dt(()=>Yt.layers),jt(()=>Yt.UIState))},`Opening workspace (${formatByte(Wt.size)})`),!0):!1},save:async(Gt,Wt)=>{_e("Saving workspace...");const qt=JSON.stringify({layers:Pt,UIState:Nt}),Yt=Wt??dist$4.generateUsername("-");if(Gt){const Xt=`${Yt}.workspace.json`;return download(qt,Xt,"application/json"),_e("Workspace saved",Xt),{name:Xt,size:byteLength$1(qt)}}else{const Xt=`${Yt}.workspace`,Zt=await compressBinaryAsync(qt);return download(Zt,Xt,"application/octet-stream"),_e("Workspace saved",Xt),{name:Xt,size:Zt.byteLength}}},estimateWorkspaceSize:memoizee$1(Gt=>sizeOf({layers:Pt,UIState:Nt})*(Gt?1:LZ_COMPRESSION_RATIO))}),[Pt,Nt])}function isCompressedFile(_e){return _e.name.endsWith(".workspace")}function isWorkspaceFile(_e){return lodashExports$1.find(acceptedFormats,Pt=>_e.name.endsWith(Pt))}const name="Posthoc",version="1.2.4",version_name="1.2.4; early May 2024",repository="https://github.com/path-visualiser/app",changelog="http://localhost:3000/blog",docs="https://path-visualiser.github.io/docs/overview",homepage="https://path-visualiser.github.io";function _typeof(_e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof=function(Pt){return typeof Pt}:_typeof=function(Pt){return Pt&&typeof Symbol=="function"&&Pt.constructor===Symbol&&Pt!==Symbol.prototype?"symbol":typeof Pt},_typeof(_e)}function _classCallCheck(_e,Pt){if(!(_e instanceof Pt))throw new TypeError("Cannot call a class as a function")}function _defineProperties(_e,Pt){for(var Dt=0;Dt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function _construct(_e,Pt,Dt){return _isNativeReflectConstruct()?_construct=Reflect.construct:_construct=function(jt,Ut,Gt){var Wt=[null];Wt.push.apply(Wt,Ut);var qt=Function.bind.apply(jt,Wt),Yt=new qt;return Gt&&_setPrototypeOf(Yt,Gt.prototype),Yt},_construct.apply(null,arguments)}function _isNativeFunction(_e){return Function.toString.call(_e).indexOf("[native code]")!==-1}function _wrapNativeSuper(_e){var Pt=typeof Map=="function"?new Map:void 0;return _wrapNativeSuper=function(Nt){if(Nt===null||!_isNativeFunction(Nt))return Nt;if(typeof Nt!="function")throw new TypeError("Super expression must either be null or a function");if(typeof Pt<"u"){if(Pt.has(Nt))return Pt.get(Nt);Pt.set(Nt,jt)}function jt(){return _construct(Nt,arguments,_getPrototypeOf(this).constructor)}return jt.prototype=Object.create(Nt.prototype,{constructor:{value:jt,enumerable:!1,writable:!0,configurable:!0}}),_setPrototypeOf(jt,Nt)},_wrapNativeSuper(_e)}function _assertThisInitialized(_e){if(_e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return _e}function _possibleConstructorReturn(_e,Pt){return Pt&&(typeof Pt=="object"||typeof Pt=="function")?Pt:_assertThisInitialized(_e)}function _createSuper(_e){var Pt=_isNativeReflectConstruct();return function(){var Nt=_getPrototypeOf(_e),jt;if(Pt){var Ut=_getPrototypeOf(this).constructor;jt=Reflect.construct(Nt,arguments,Ut)}else jt=Nt.apply(this,arguments);return _possibleConstructorReturn(this,jt)}}function _superPropBase(_e,Pt){for(;!Object.prototype.hasOwnProperty.call(_e,Pt)&&(_e=_getPrototypeOf(_e),_e!==null););return _e}function _get(_e,Pt,Dt){return typeof Reflect<"u"&&Reflect.get?_get=Reflect.get:_get=function(jt,Ut,Gt){var Wt=_superPropBase(jt,Ut);if(Wt){var qt=Object.getOwnPropertyDescriptor(Wt,Ut);return qt.get?qt.get.call(Gt):qt.value}},_get(_e,Pt,Dt||_e)}function _slicedToArray(_e,Pt){return _arrayWithHoles(_e)||_iterableToArrayLimit(_e,Pt)||_unsupportedIterableToArray(_e,Pt)||_nonIterableRest()}function _toArray(_e){return _arrayWithHoles(_e)||_iterableToArray(_e)||_unsupportedIterableToArray(_e)||_nonIterableRest()}function _arrayWithHoles(_e){if(Array.isArray(_e))return _e}function _iterableToArray(_e){if(typeof Symbol<"u"&&Symbol.iterator in Object(_e))return Array.from(_e)}function _iterableToArrayLimit(_e,Pt){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(_e)))){var Dt=[],Nt=!0,jt=!1,Ut=void 0;try{for(var Gt=_e[Symbol.iterator](),Wt;!(Nt=(Wt=Gt.next()).done)&&(Dt.push(Wt.value),!(Pt&&Dt.length===Pt));Nt=!0);}catch(qt){jt=!0,Ut=qt}finally{try{!Nt&&Gt.return!=null&&Gt.return()}finally{if(jt)throw Ut}}return Dt}}function _unsupportedIterableToArray(_e,Pt){if(_e){if(typeof _e=="string")return _arrayLikeToArray(_e,Pt);var Dt=Object.prototype.toString.call(_e).slice(8,-1);if(Dt==="Object"&&_e.constructor&&(Dt=_e.constructor.name),Dt==="Map"||Dt==="Set")return Array.from(_e);if(Dt==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Dt))return _arrayLikeToArray(_e,Pt)}}function _arrayLikeToArray(_e,Pt){(Pt==null||Pt>_e.length)&&(Pt=_e.length);for(var Dt=0,Nt=new Array(Pt);Dtjt)throw new RangeError('The value "'+qn+'" is invalid for option "size"');const Dn=new Uint8Array(qn);return Object.setPrototypeOf(Dn,Wt.prototype),Dn}function Wt(qn,Dn,An){if(typeof qn=="number"){if(typeof Dn=="string")throw new TypeError('The "string" argument must be of type string. Received type number');return Zt(qn)}return qt(qn,Dn,An)}Wt.poolSize=8192;function qt(qn,Dn,An){if(typeof qn=="string")return Qt(qn,Dn);if(ArrayBuffer.isView(qn))return tn(qn);if(qn==null)throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof qn);if(Ir(qn,ArrayBuffer)||qn&&Ir(qn.buffer,ArrayBuffer)||typeof SharedArrayBuffer<"u"&&(Ir(qn,SharedArrayBuffer)||qn&&Ir(qn.buffer,SharedArrayBuffer)))return nn(qn,Dn,An);if(typeof qn=="number")throw new TypeError('The "value" argument must not be of type number. Received type number');const Qn=qn.valueOf&&qn.valueOf();if(Qn!=null&&Qn!==qn)return Wt.from(Qn,Dn,An);const hr=rn(qn);if(hr)return hr;if(typeof Symbol<"u"&&Symbol.toPrimitive!=null&&typeof qn[Symbol.toPrimitive]=="function")return Wt.from(qn[Symbol.toPrimitive]("string"),Dn,An);throw new TypeError("The first argument must be one of type string, Buffer, ArrayBuffer, Array, or Array-like Object. Received type "+typeof qn)}Wt.from=function(qn,Dn,An){return qt(qn,Dn,An)},Object.setPrototypeOf(Wt.prototype,Uint8Array.prototype),Object.setPrototypeOf(Wt,Uint8Array);function Yt(qn){if(typeof qn!="number")throw new TypeError('"size" argument must be of type number');if(qn<0)throw new RangeError('The value "'+qn+'" is invalid for option "size"')}function Xt(qn,Dn,An){return Yt(qn),qn<=0?Gt(qn):Dn!==void 0?typeof An=="string"?Gt(qn).fill(Dn,An):Gt(qn).fill(Dn):Gt(qn)}Wt.alloc=function(qn,Dn,An){return Xt(qn,Dn,An)};function Zt(qn){return Yt(qn),Gt(qn<0?0:an(qn)|0)}Wt.allocUnsafe=function(qn){return Zt(qn)},Wt.allocUnsafeSlow=function(qn){return Zt(qn)};function Qt(qn,Dn){if((typeof Dn!="string"||Dn==="")&&(Dn="utf8"),!Wt.isEncoding(Dn))throw new TypeError("Unknown encoding: "+Dn);const An=ln(qn,Dn)|0;let Qn=Gt(An);const hr=Qn.write(qn,Dn);return hr!==An&&(Qn=Qn.slice(0,hr)),Qn}function en(qn){const Dn=qn.length<0?0:an(qn.length)|0,An=Gt(Dn);for(let Qn=0;Qn=jt)throw new RangeError("Attempt to allocate Buffer larger than maximum size: 0x"+jt.toString(16)+" bytes");return qn|0}function sn(qn){return+qn!=qn&&(qn=0),Wt.alloc(+qn)}Wt.isBuffer=function(Dn){return Dn!=null&&Dn._isBuffer===!0&&Dn!==Wt.prototype},Wt.compare=function(Dn,An){if(Ir(Dn,Uint8Array)&&(Dn=Wt.from(Dn,Dn.offset,Dn.byteLength)),Ir(An,Uint8Array)&&(An=Wt.from(An,An.offset,An.byteLength)),!Wt.isBuffer(Dn)||!Wt.isBuffer(An))throw new TypeError('The "buf1", "buf2" arguments must be one of type Buffer or Uint8Array');if(Dn===An)return 0;let Qn=Dn.length,hr=An.length;for(let wr=0,_r=Math.min(Qn,hr);wr<_r;++wr)if(Dn[wr]!==An[wr]){Qn=Dn[wr],hr=An[wr];break}return Qnhr.length?(Wt.isBuffer(_r)||(_r=Wt.from(_r)),_r.copy(hr,wr)):Uint8Array.prototype.set.call(hr,_r,wr);else if(Wt.isBuffer(_r))_r.copy(hr,wr);else throw new TypeError('"list" argument must be an Array of Buffers');wr+=_r.length}return hr};function ln(qn,Dn){if(Wt.isBuffer(qn))return qn.length;if(ArrayBuffer.isView(qn)||Ir(qn,ArrayBuffer))return qn.byteLength;if(typeof qn!="string")throw new TypeError('The "string" argument must be one of type string, Buffer, or ArrayBuffer. Received type '+typeof qn);const An=qn.length,Qn=arguments.length>2&&arguments[2]===!0;if(!Qn&&An===0)return 0;let hr=!1;for(;;)switch(Dn){case"ascii":case"latin1":case"binary":return An;case"utf8":case"utf-8":return or(qn).length;case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return An*2;case"hex":return An>>>1;case"base64":return yr(qn).length;default:if(hr)return Qn?-1:or(qn).length;Dn=(""+Dn).toLowerCase(),hr=!0}}Wt.byteLength=ln;function un(qn,Dn,An){let Qn=!1;if((Dn===void 0||Dn<0)&&(Dn=0),Dn>this.length||((An===void 0||An>this.length)&&(An=this.length),An<=0)||(An>>>=0,Dn>>>=0,An<=Dn))return"";for(qn||(qn="utf8");;)switch(qn){case"hex":return kn(this,Dn,An);case"utf8":case"utf-8":return yn(this,Dn,An);case"ascii":return Bn(this,Dn,An);case"latin1":case"binary":return Sn(this,Dn,An);case"base64":return Tn(this,Dn,An);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return zn(this,Dn,An);default:if(Qn)throw new TypeError("Unknown encoding: "+qn);qn=(qn+"").toLowerCase(),Qn=!0}}Wt.prototype._isBuffer=!0;function pn(qn,Dn,An){const Qn=qn[Dn];qn[Dn]=qn[An],qn[An]=Qn}Wt.prototype.swap16=function(){const Dn=this.length;if(Dn%2!==0)throw new RangeError("Buffer size must be a multiple of 16-bits");for(let An=0;AnAn&&(Dn+=" ... "),""},Nt&&(Wt.prototype[Nt]=Wt.prototype.inspect),Wt.prototype.compare=function(Dn,An,Qn,hr,wr){if(Ir(Dn,Uint8Array)&&(Dn=Wt.from(Dn,Dn.offset,Dn.byteLength)),!Wt.isBuffer(Dn))throw new TypeError('The "target" argument must be one of type Buffer or Uint8Array. Received type '+typeof Dn);if(An===void 0&&(An=0),Qn===void 0&&(Qn=Dn?Dn.length:0),hr===void 0&&(hr=0),wr===void 0&&(wr=this.length),An<0||Qn>Dn.length||hr<0||wr>this.length)throw new RangeError("out of range index");if(hr>=wr&&An>=Qn)return 0;if(hr>=wr)return-1;if(An>=Qn)return 1;if(An>>>=0,Qn>>>=0,hr>>>=0,wr>>>=0,this===Dn)return 0;let _r=wr-hr,Wn=Qn-An;const br=Math.min(_r,Wn),Xn=this.slice(hr,wr),ur=Dn.slice(An,Qn);for(let zr=0;zr2147483647?An=2147483647:An<-2147483648&&(An=-2147483648),An=+An,sr(An)&&(An=hr?0:qn.length-1),An<0&&(An=qn.length+An),An>=qn.length){if(hr)return-1;An=qn.length-1}else if(An<0)if(hr)An=0;else return-1;if(typeof Dn=="string"&&(Dn=Wt.from(Dn,Qn)),Wt.isBuffer(Dn))return Dn.length===0?-1:dn(qn,Dn,An,Qn,hr);if(typeof Dn=="number")return Dn=Dn&255,typeof Uint8Array.prototype.indexOf=="function"?hr?Uint8Array.prototype.indexOf.call(qn,Dn,An):Uint8Array.prototype.lastIndexOf.call(qn,Dn,An):dn(qn,[Dn],An,Qn,hr);throw new TypeError("val must be string, number or Buffer")}function dn(qn,Dn,An,Qn,hr){let wr=1,_r=qn.length,Wn=Dn.length;if(Qn!==void 0&&(Qn=String(Qn).toLowerCase(),Qn==="ucs2"||Qn==="ucs-2"||Qn==="utf16le"||Qn==="utf-16le")){if(qn.length<2||Dn.length<2)return-1;wr=2,_r/=2,Wn/=2,An/=2}function br(ur,zr){return wr===1?ur[zr]:ur.readUInt16BE(zr*wr)}let Xn;if(hr){let ur=-1;for(Xn=An;Xn<_r;Xn++)if(br(qn,Xn)===br(Dn,ur===-1?0:Xn-ur)){if(ur===-1&&(ur=Xn),Xn-ur+1===Wn)return ur*wr}else ur!==-1&&(Xn-=Xn-ur),ur=-1}else for(An+Wn>_r&&(An=_r-Wn),Xn=An;Xn>=0;Xn--){let ur=!0;for(let zr=0;zrhr&&(Qn=hr)):Qn=hr;const wr=Dn.length;Qn>wr/2&&(Qn=wr/2);let _r;for(_r=0;_r>>0,isFinite(Qn)?(Qn=Qn>>>0,hr===void 0&&(hr="utf8")):(hr=Qn,Qn=void 0);else throw new Error("Buffer.write(string, encoding, offset[, length]) is no longer supported");const wr=this.length-An;if((Qn===void 0||Qn>wr)&&(Qn=wr),Dn.length>0&&(Qn<0||An<0)||An>this.length)throw new RangeError("Attempt to write outside buffer bounds");hr||(hr="utf8");let _r=!1;for(;;)switch(hr){case"hex":return hn(this,Dn,An,Qn);case"utf8":case"utf-8":return vn(this,Dn,An,Qn);case"ascii":case"latin1":case"binary":return En(this,Dn,An,Qn);case"base64":return _n(this,Dn,An,Qn);case"ucs2":case"ucs-2":case"utf16le":case"utf-16le":return Cn(this,Dn,An,Qn);default:if(_r)throw new TypeError("Unknown encoding: "+hr);hr=(""+hr).toLowerCase(),_r=!0}},Wt.prototype.toJSON=function(){return{type:"Buffer",data:Array.prototype.slice.call(this._arr||this,0)}};function Tn(qn,Dn,An){return Dn===0&&An===qn.length?Pt.fromByteArray(qn):Pt.fromByteArray(qn.slice(Dn,An))}function yn(qn,Dn,An){An=Math.min(qn.length,An);const Qn=[];let hr=Dn;for(;hr239?4:wr>223?3:wr>191?2:1;if(hr+Wn<=An){let br,Xn,ur,zr;switch(Wn){case 1:wr<128&&(_r=wr);break;case 2:br=qn[hr+1],(br&192)===128&&(zr=(wr&31)<<6|br&63,zr>127&&(_r=zr));break;case 3:br=qn[hr+1],Xn=qn[hr+2],(br&192)===128&&(Xn&192)===128&&(zr=(wr&15)<<12|(br&63)<<6|Xn&63,zr>2047&&(zr<55296||zr>57343)&&(_r=zr));break;case 4:br=qn[hr+1],Xn=qn[hr+2],ur=qn[hr+3],(br&192)===128&&(Xn&192)===128&&(ur&192)===128&&(zr=(wr&15)<<18|(br&63)<<12|(Xn&63)<<6|ur&63,zr>65535&&zr<1114112&&(_r=zr))}}_r===null?(_r=65533,Wn=1):_r>65535&&(_r-=65536,Qn.push(_r>>>10&1023|55296),_r=56320|_r&1023),Qn.push(_r),hr+=Wn}return Fn(Qn)}const Nn=4096;function Fn(qn){const Dn=qn.length;if(Dn<=Nn)return String.fromCharCode.apply(String,qn);let An="",Qn=0;for(;QnQn)&&(An=Qn);let hr="";for(let wr=Dn;wrQn&&(Dn=Qn),An<0?(An+=Qn,An<0&&(An=0)):An>Qn&&(An=Qn),AnAn)throw new RangeError("Trying to access beyond buffer length")}Wt.prototype.readUintLE=Wt.prototype.readUIntLE=function(Dn,An,Qn){Dn=Dn>>>0,An=An>>>0,Qn||In(Dn,An,this.length);let hr=this[Dn],wr=1,_r=0;for(;++_r>>0,An=An>>>0,Qn||In(Dn,An,this.length);let hr=this[Dn+--An],wr=1;for(;An>0&&(wr*=256);)hr+=this[Dn+--An]*wr;return hr},Wt.prototype.readUint8=Wt.prototype.readUInt8=function(Dn,An){return Dn=Dn>>>0,An||In(Dn,1,this.length),this[Dn]},Wt.prototype.readUint16LE=Wt.prototype.readUInt16LE=function(Dn,An){return Dn=Dn>>>0,An||In(Dn,2,this.length),this[Dn]|this[Dn+1]<<8},Wt.prototype.readUint16BE=Wt.prototype.readUInt16BE=function(Dn,An){return Dn=Dn>>>0,An||In(Dn,2,this.length),this[Dn]<<8|this[Dn+1]},Wt.prototype.readUint32LE=Wt.prototype.readUInt32LE=function(Dn,An){return Dn=Dn>>>0,An||In(Dn,4,this.length),(this[Dn]|this[Dn+1]<<8|this[Dn+2]<<16)+this[Dn+3]*16777216},Wt.prototype.readUint32BE=Wt.prototype.readUInt32BE=function(Dn,An){return Dn=Dn>>>0,An||In(Dn,4,this.length),this[Dn]*16777216+(this[Dn+1]<<16|this[Dn+2]<<8|this[Dn+3])},Wt.prototype.readBigUInt64LE=Tr(function(Dn){Dn=Dn>>>0,Gn(Dn,"offset");const An=this[Dn],Qn=this[Dn+7];(An===void 0||Qn===void 0)&&Zn(Dn,this.length-8);const hr=An+this[++Dn]*2**8+this[++Dn]*2**16+this[++Dn]*2**24,wr=this[++Dn]+this[++Dn]*2**8+this[++Dn]*2**16+Qn*2**24;return BigInt(hr)+(BigInt(wr)<>>0,Gn(Dn,"offset");const An=this[Dn],Qn=this[Dn+7];(An===void 0||Qn===void 0)&&Zn(Dn,this.length-8);const hr=An*2**24+this[++Dn]*2**16+this[++Dn]*2**8+this[++Dn],wr=this[++Dn]*2**24+this[++Dn]*2**16+this[++Dn]*2**8+Qn;return(BigInt(hr)<>>0,An=An>>>0,Qn||In(Dn,An,this.length);let hr=this[Dn],wr=1,_r=0;for(;++_r=wr&&(hr-=Math.pow(2,8*An)),hr},Wt.prototype.readIntBE=function(Dn,An,Qn){Dn=Dn>>>0,An=An>>>0,Qn||In(Dn,An,this.length);let hr=An,wr=1,_r=this[Dn+--hr];for(;hr>0&&(wr*=256);)_r+=this[Dn+--hr]*wr;return wr*=128,_r>=wr&&(_r-=Math.pow(2,8*An)),_r},Wt.prototype.readInt8=function(Dn,An){return Dn=Dn>>>0,An||In(Dn,1,this.length),this[Dn]&128?(255-this[Dn]+1)*-1:this[Dn]},Wt.prototype.readInt16LE=function(Dn,An){Dn=Dn>>>0,An||In(Dn,2,this.length);const Qn=this[Dn]|this[Dn+1]<<8;return Qn&32768?Qn|4294901760:Qn},Wt.prototype.readInt16BE=function(Dn,An){Dn=Dn>>>0,An||In(Dn,2,this.length);const Qn=this[Dn+1]|this[Dn]<<8;return Qn&32768?Qn|4294901760:Qn},Wt.prototype.readInt32LE=function(Dn,An){return Dn=Dn>>>0,An||In(Dn,4,this.length),this[Dn]|this[Dn+1]<<8|this[Dn+2]<<16|this[Dn+3]<<24},Wt.prototype.readInt32BE=function(Dn,An){return Dn=Dn>>>0,An||In(Dn,4,this.length),this[Dn]<<24|this[Dn+1]<<16|this[Dn+2]<<8|this[Dn+3]},Wt.prototype.readBigInt64LE=Tr(function(Dn){Dn=Dn>>>0,Gn(Dn,"offset");const An=this[Dn],Qn=this[Dn+7];(An===void 0||Qn===void 0)&&Zn(Dn,this.length-8);const hr=this[Dn+4]+this[Dn+5]*2**8+this[Dn+6]*2**16+(Qn<<24);return(BigInt(hr)<>>0,Gn(Dn,"offset");const An=this[Dn],Qn=this[Dn+7];(An===void 0||Qn===void 0)&&Zn(Dn,this.length-8);const hr=(An<<24)+this[++Dn]*2**16+this[++Dn]*2**8+this[++Dn];return(BigInt(hr)<>>0,An||In(Dn,4,this.length),Dt.read(this,Dn,!0,23,4)},Wt.prototype.readFloatBE=function(Dn,An){return Dn=Dn>>>0,An||In(Dn,4,this.length),Dt.read(this,Dn,!1,23,4)},Wt.prototype.readDoubleLE=function(Dn,An){return Dn=Dn>>>0,An||In(Dn,8,this.length),Dt.read(this,Dn,!0,52,8)},Wt.prototype.readDoubleBE=function(Dn,An){return Dn=Dn>>>0,An||In(Dn,8,this.length),Dt.read(this,Dn,!1,52,8)};function Rn(qn,Dn,An,Qn,hr,wr){if(!Wt.isBuffer(qn))throw new TypeError('"buffer" argument must be a Buffer instance');if(Dn>hr||Dnqn.length)throw new RangeError("Index out of range")}Wt.prototype.writeUintLE=Wt.prototype.writeUIntLE=function(Dn,An,Qn,hr){if(Dn=+Dn,An=An>>>0,Qn=Qn>>>0,!hr){const Wn=Math.pow(2,8*Qn)-1;Rn(this,Dn,An,Qn,Wn,0)}let wr=1,_r=0;for(this[An]=Dn&255;++_r>>0,Qn=Qn>>>0,!hr){const Wn=Math.pow(2,8*Qn)-1;Rn(this,Dn,An,Qn,Wn,0)}let wr=Qn-1,_r=1;for(this[An+wr]=Dn&255;--wr>=0&&(_r*=256);)this[An+wr]=Dn/_r&255;return An+Qn},Wt.prototype.writeUint8=Wt.prototype.writeUInt8=function(Dn,An,Qn){return Dn=+Dn,An=An>>>0,Qn||Rn(this,Dn,An,1,255,0),this[An]=Dn&255,An+1},Wt.prototype.writeUint16LE=Wt.prototype.writeUInt16LE=function(Dn,An,Qn){return Dn=+Dn,An=An>>>0,Qn||Rn(this,Dn,An,2,65535,0),this[An]=Dn&255,this[An+1]=Dn>>>8,An+2},Wt.prototype.writeUint16BE=Wt.prototype.writeUInt16BE=function(Dn,An,Qn){return Dn=+Dn,An=An>>>0,Qn||Rn(this,Dn,An,2,65535,0),this[An]=Dn>>>8,this[An+1]=Dn&255,An+2},Wt.prototype.writeUint32LE=Wt.prototype.writeUInt32LE=function(Dn,An,Qn){return Dn=+Dn,An=An>>>0,Qn||Rn(this,Dn,An,4,4294967295,0),this[An+3]=Dn>>>24,this[An+2]=Dn>>>16,this[An+1]=Dn>>>8,this[An]=Dn&255,An+4},Wt.prototype.writeUint32BE=Wt.prototype.writeUInt32BE=function(Dn,An,Qn){return Dn=+Dn,An=An>>>0,Qn||Rn(this,Dn,An,4,4294967295,0),this[An]=Dn>>>24,this[An+1]=Dn>>>16,this[An+2]=Dn>>>8,this[An+3]=Dn&255,An+4};function Kn(qn,Dn,An,Qn,hr){wn(Dn,Qn,hr,qn,An,7);let wr=Number(Dn&BigInt(4294967295));qn[An++]=wr,wr=wr>>8,qn[An++]=wr,wr=wr>>8,qn[An++]=wr,wr=wr>>8,qn[An++]=wr;let _r=Number(Dn>>BigInt(32)&BigInt(4294967295));return qn[An++]=_r,_r=_r>>8,qn[An++]=_r,_r=_r>>8,qn[An++]=_r,_r=_r>>8,qn[An++]=_r,An}function Jn(qn,Dn,An,Qn,hr){wn(Dn,Qn,hr,qn,An,7);let wr=Number(Dn&BigInt(4294967295));qn[An+7]=wr,wr=wr>>8,qn[An+6]=wr,wr=wr>>8,qn[An+5]=wr,wr=wr>>8,qn[An+4]=wr;let _r=Number(Dn>>BigInt(32)&BigInt(4294967295));return qn[An+3]=_r,_r=_r>>8,qn[An+2]=_r,_r=_r>>8,qn[An+1]=_r,_r=_r>>8,qn[An]=_r,An+8}Wt.prototype.writeBigUInt64LE=Tr(function(Dn,An=0){return Kn(this,Dn,An,BigInt(0),BigInt("0xffffffffffffffff"))}),Wt.prototype.writeBigUInt64BE=Tr(function(Dn,An=0){return Jn(this,Dn,An,BigInt(0),BigInt("0xffffffffffffffff"))}),Wt.prototype.writeIntLE=function(Dn,An,Qn,hr){if(Dn=+Dn,An=An>>>0,!hr){const br=Math.pow(2,8*Qn-1);Rn(this,Dn,An,Qn,br-1,-br)}let wr=0,_r=1,Wn=0;for(this[An]=Dn&255;++wr>0)-Wn&255;return An+Qn},Wt.prototype.writeIntBE=function(Dn,An,Qn,hr){if(Dn=+Dn,An=An>>>0,!hr){const br=Math.pow(2,8*Qn-1);Rn(this,Dn,An,Qn,br-1,-br)}let wr=Qn-1,_r=1,Wn=0;for(this[An+wr]=Dn&255;--wr>=0&&(_r*=256);)Dn<0&&Wn===0&&this[An+wr+1]!==0&&(Wn=1),this[An+wr]=(Dn/_r>>0)-Wn&255;return An+Qn},Wt.prototype.writeInt8=function(Dn,An,Qn){return Dn=+Dn,An=An>>>0,Qn||Rn(this,Dn,An,1,127,-128),Dn<0&&(Dn=255+Dn+1),this[An]=Dn&255,An+1},Wt.prototype.writeInt16LE=function(Dn,An,Qn){return Dn=+Dn,An=An>>>0,Qn||Rn(this,Dn,An,2,32767,-32768),this[An]=Dn&255,this[An+1]=Dn>>>8,An+2},Wt.prototype.writeInt16BE=function(Dn,An,Qn){return Dn=+Dn,An=An>>>0,Qn||Rn(this,Dn,An,2,32767,-32768),this[An]=Dn>>>8,this[An+1]=Dn&255,An+2},Wt.prototype.writeInt32LE=function(Dn,An,Qn){return Dn=+Dn,An=An>>>0,Qn||Rn(this,Dn,An,4,2147483647,-2147483648),this[An]=Dn&255,this[An+1]=Dn>>>8,this[An+2]=Dn>>>16,this[An+3]=Dn>>>24,An+4},Wt.prototype.writeInt32BE=function(Dn,An,Qn){return Dn=+Dn,An=An>>>0,Qn||Rn(this,Dn,An,4,2147483647,-2147483648),Dn<0&&(Dn=4294967295+Dn+1),this[An]=Dn>>>24,this[An+1]=Dn>>>16,this[An+2]=Dn>>>8,this[An+3]=Dn&255,An+4},Wt.prototype.writeBigInt64LE=Tr(function(Dn,An=0){return Kn(this,Dn,An,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))}),Wt.prototype.writeBigInt64BE=Tr(function(Dn,An=0){return Jn(this,Dn,An,-BigInt("0x8000000000000000"),BigInt("0x7fffffffffffffff"))});function ar(qn,Dn,An,Qn,hr,wr){if(An+Qn>qn.length)throw new RangeError("Index out of range");if(An<0)throw new RangeError("Index out of range")}function $n(qn,Dn,An,Qn,hr){return Dn=+Dn,An=An>>>0,hr||ar(qn,Dn,An,4),Dt.write(qn,Dn,An,Qn,23,4),An+4}Wt.prototype.writeFloatLE=function(Dn,An,Qn){return $n(this,Dn,An,!0,Qn)},Wt.prototype.writeFloatBE=function(Dn,An,Qn){return $n(this,Dn,An,!1,Qn)};function On(qn,Dn,An,Qn,hr){return Dn=+Dn,An=An>>>0,hr||ar(qn,Dn,An,8),Dt.write(qn,Dn,An,Qn,52,8),An+8}Wt.prototype.writeDoubleLE=function(Dn,An,Qn){return On(this,Dn,An,!0,Qn)},Wt.prototype.writeDoubleBE=function(Dn,An,Qn){return On(this,Dn,An,!1,Qn)},Wt.prototype.copy=function(Dn,An,Qn,hr){if(!Wt.isBuffer(Dn))throw new TypeError("argument should be a Buffer");if(Qn||(Qn=0),!hr&&hr!==0&&(hr=this.length),An>=Dn.length&&(An=Dn.length),An||(An=0),hr>0&&hr=this.length)throw new RangeError("Index out of range");if(hr<0)throw new RangeError("sourceEnd out of bounds");hr>this.length&&(hr=this.length),Dn.length-An>>0,Qn=Qn===void 0?this.length:Qn>>>0,Dn||(Dn=0);let wr;if(typeof Dn=="number")for(wr=An;wr2**32?hr=gn(String(An)):typeof An=="bigint"&&(hr=String(An),(An>BigInt(2)**BigInt(32)||An<-(BigInt(2)**BigInt(32)))&&(hr=gn(hr)),hr+="n"),Qn+=` It must be ${Dn}. Received ${hr}`,Qn},RangeError);function gn(qn){let Dn="",An=qn.length;const Qn=qn[0]==="-"?1:0;for(;An>=Qn+4;An-=3)Dn=`_${qn.slice(An-3,An)}${Dn}`;return`${qn.slice(0,An)}${Dn}`}function bn(qn,Dn,An){Gn(Dn,"offset"),(qn[Dn]===void 0||qn[Dn+An]===void 0)&&Zn(Dn,qn.length-(An+1))}function wn(qn,Dn,An,Qn,hr,wr){if(qn>An||qn3?Dn===0||Dn===BigInt(0)?Wn=`>= 0${_r} and < 2${_r} ** ${(wr+1)*8}${_r}`:Wn=`>= -(2${_r} ** ${(wr+1)*8-1}${_r}) and < 2 ** ${(wr+1)*8-1}${_r}`:Wn=`>= ${Dn}${_r} and <= ${An}${_r}`,new Mn.ERR_OUT_OF_RANGE("value",Wn,qn)}bn(Qn,hr,wr)}function Gn(qn,Dn){if(typeof qn!="number")throw new Mn.ERR_INVALID_ARG_TYPE(Dn,"number",qn)}function Zn(qn,Dn,An){throw Math.floor(qn)!==qn?(Gn(qn,An),new Mn.ERR_OUT_OF_RANGE(An||"offset","an integer",qn)):Dn<0?new Mn.ERR_BUFFER_OUT_OF_BOUNDS:new Mn.ERR_OUT_OF_RANGE(An||"offset",`>= ${An?1:0} and <= ${Dn}`,qn)}const Pn=/[^+/0-9A-Za-z-_]/g;function er(qn){if(qn=qn.split("=")[0],qn=qn.trim().replace(Pn,""),qn.length<2)return"";for(;qn.length%4!==0;)qn=qn+"=";return qn}function or(qn,Dn){Dn=Dn||1/0;let An;const Qn=qn.length;let hr=null;const wr=[];for(let _r=0;_r55295&&An<57344){if(!hr){if(An>56319){(Dn-=3)>-1&&wr.push(239,191,189);continue}else if(_r+1===Qn){(Dn-=3)>-1&&wr.push(239,191,189);continue}hr=An;continue}if(An<56320){(Dn-=3)>-1&&wr.push(239,191,189),hr=An;continue}An=(hr-55296<<10|An-56320)+65536}else hr&&(Dn-=3)>-1&&wr.push(239,191,189);if(hr=null,An<128){if((Dn-=1)<0)break;wr.push(An)}else if(An<2048){if((Dn-=2)<0)break;wr.push(An>>6|192,An&63|128)}else if(An<65536){if((Dn-=3)<0)break;wr.push(An>>12|224,An>>6&63|128,An&63|128)}else if(An<1114112){if((Dn-=4)<0)break;wr.push(An>>18|240,An>>12&63|128,An>>6&63|128,An&63|128)}else throw new Error("Invalid code point")}return wr}function tr(qn){const Dn=[];for(let An=0;An>8,hr=An%256,wr.push(hr),wr.push(Qn);return wr}function yr(qn){return Pt.toByteArray(er(qn))}function dr(qn,Dn,An,Qn){let hr;for(hr=0;hr=Dn.length||hr>=qn.length);++hr)Dn[hr+An]=qn[hr];return hr}function Ir(qn,Dn){return qn instanceof Dn||qn!=null&&qn.constructor!=null&&qn.constructor.name!=null&&qn.constructor.name===Dn.name}function sr(qn){return qn!==qn}const mr=function(){const qn="0123456789abcdef",Dn=new Array(256);for(let An=0;An<16;++An){const Qn=An*16;for(let hr=0;hr<16;++hr)Dn[Qn+hr]=qn[An]+qn[hr]}return Dn}();function Tr(qn){return typeof BigInt>"u"?Pr:qn}function Pr(){throw new Error("BigInt not supported")}})(buffer);const ECMA_SIZES=byte_size,Buffer$2=buffer.Buffer;function preciseStringSizeNode(_e){return 12+4*Math.ceil(_e.length/4)}function isNodeEnvironment(){return!(typeof window<"u"&&typeof document<"u")}function getSizeOfTypedArray(_e){return _e.BYTES_PER_ELEMENT?_e.length*_e.BYTES_PER_ELEMENT:-1}function objectSizeComplex(_e){let Pt=0;const Dt=-1;try{let Nt=_e;if(_e instanceof Map?Nt=Object.fromEntries(_e):_e instanceof Set&&(Nt=Array.from(_e)),ArrayBuffer.isView(_e))return getSizeOfTypedArray(_e);const jt=JSON.stringify(Nt,(Ut,Gt)=>typeof Gt=="bigint"||typeof Gt=="function"?Gt.toString():typeof Gt>"u"?"undefined":typeof Gt=="symbol"||Gt instanceof RegExp?Gt.toString():Gt);Pt=Buffer$2.byteLength(jt,"utf8")}catch(Nt){return console.error("Error detected, returning "+Dt,Nt),Dt}return Pt}function objectSizeSimple(_e){const Pt=[],Dt=[_e];let Nt=0;for(;Dt.length;){const jt=Dt.pop();if(typeof jt=="boolean")Nt+=ECMA_SIZES.BYTES;else if(typeof jt=="string")isNodeEnvironment()?Nt+=preciseStringSizeNode(jt):Nt+=jt.length*ECMA_SIZES.STRING;else if(typeof jt=="number")Nt+=ECMA_SIZES.NUMBER;else if(typeof jt=="symbol")Symbol.keyFor&&Symbol.keyFor(_e)?Nt+=Symbol.keyFor(_e).length*ECMA_SIZES.STRING:Nt+=(_e.toString().length-8)*ECMA_SIZES.STRING;else if(typeof jt=="bigint")Nt+=Buffer$2.from(jt.toString()).byteLength;else if(typeof jt=="function")Nt+=jt.toString().length;else if(typeof jt=="object"&&Pt.indexOf(jt)===-1){Pt.push(jt);for(const Ut in jt)Dt.push(jt[Ut])}}return Nt}var indexv2=function(_e){let Pt=0;return _e!==null&&typeof _e=="object"?Pt=objectSizeComplex(_e):Pt=objectSizeSimple(_e),Pt};const sizeOf=getDefaultExportFromCjs(indexv2);var dist$4={},data={},adjectives={};Object.defineProperty(adjectives,"__esModule",{value:!0});adjectives.default=["other","new","good","old","little","great","small","young","long","black","high","only","big","white","political","right","large","real","sure","different","important","public","possible","full","whole","certain","human","major","military","bad","social","dead","true","economic","open","early","free","national","strong","hard","special","clear","local","private","wrong","late","short","poor","recent","dark","fine","foreign","ready","red","cold","low","heavy","serious","single","personal","difficult","left","blue","federal","necessary","general","easy","likely","beautiful","happy","past","hot","close","common","afraid","simple","natural","main","various","available","nice","present","final","sorry","entire","current","similar","deep","huge","rich","nuclear","empty","strange","quiet","front","wide","modern","concerned","green","very","alone","particular","bright","supposed","basic","medical","aware","total","financial","legal","original","international","soft","alive","interested","tall","warm","popular","tiny","top","normal","powerful","silent","religious","impossible","quick","safe","thin","familiar","gray","fresh","physical","individual","willing","crazy","sick","angry","perfect","tired","wild","moral","brown","dangerous","famous","married","terrible","successful","fair","professional","official","obvious","glad","central","chief","effective","light","complete","interesting","thick","proper","involved","responsible","narrow","civil","industrial","dry","yellow","specific","sharp","sudden","direct","following","growing","significant","traditional","slow","previous","vast","surprised","busy","usual","clean","funny","regular","scientific","ordinary","ancient","senior","sweet","future","annual","secret","equal","independent","wonderful","tough","broad","additional","careful","domestic","brief","enormous","commercial","grand","average","sexual","nervous","pale","immediate","critical","proud","like","complex","separate","considerable","still","extra","expensive","guilty","active","mad","asleep","wooden","cool","presidential","apparent","weak","essential","living","pretty","cultural","useful","actual","unusual","daily","potential","wet","solid","lovely","comfortable","formal","outside","massive","sad","corporate","distant","loose","rare","stupid","visible","liberal","flat","pleased","pure","curious","practical","upper","technical","male","appropriate","fat","just","due","mere","handsome","mental","conservative","positive","leading","naked","false","drunk","dirty","friendly","constant","well","used","emotional","internal","odd","historical","female","ill","broken","capable","southern","pleasant","bare","minor","eager","lucky","urban","steady","fiscal","rough","primary","reasonable","typical","inner","favorite","attractive","slight","innocent","limited","straight","pink","excellent","double","dramatic","violent","honest","electric","fellow","substantial","opposite","awful","severe","joint","armed","hungry","remarkable","increased","gentle","illegal","middle","bitter","mass","permanent","increasing","damn","golden","correct","intense","round","northern","proposed","so-called","criminal","healthy","plain","vital","blind","native","intellectual","unknown","extreme","existing","raw","prime","brilliant","sensitive","extraordinary","sufficient","remaining","ultimate","unique","royal","initial","negative","fundamental","nearby","smart","strategic","educational","unlikely","smooth","modest","conventional","giant","scared","cheap","dear","delicate","anxious","valuable","standard","desperate","lonely","diplomatic","firm","wise","principal","congressional","occasional","ugly","vice","radical","faint","working","absolute","intelligent","racial","mutual","silly","fast","musical","tight","complicated","numerous","crucial","square","contemporary","bloody","western","endless","inevitable","environmental","constitutional","rapid","worried","lost","genuine","temporary","democratic","rural","regional","given","painful","literary","chemical","sophisticated","decent","academic","awake","conscious","revolutionary","surprising","elderly","agricultural","psychological","pregnant","live","adequate","superior","grateful","prominent","frightened","remote","overall","stiff","harsh","electronic","spiritual","okay","closed","excited","convinced","long-term","unexpected","dull","evident","civilian","mysterious","romantic","impressive","continuing","exciting","logical","peculiar","exact","widespread","foolish","extensive","evil","continued","confident","generous","legislative","stable","vulnerable","elegant","embarrassed","hostile","efficient","blond","dumb","advanced","defensive","outer","neat","estimated","wealthy","dying","loud","creative","acceptable","unhappy","sheer","competitive","concrete","reluctant","precious","tremendous","burning","precise","uncertain","holy","artificial","vague","ideal","universal","moderate","subtle","mild","peaceful","assistant","invisible","casual","crowded","crude","running","classic","controversial","ridiculous","frequent","grim","accurate","detailed","goddamn","fun","fierce","cruel","incredible","blank","dim","suitable","classical","elaborate","collective","eastern","legitimate","aggressive","rear","administrative","automatic","dependent","ashamed","distinct","fit","clever","brave","ethnic","maximum","relative","primitive","uncomfortable","profound","sacred","biological","identical","furious","loyal","rational","mechanical","mean","naval","noble","ambitious","purple","historic","dominant","suburban","developing","calm","frozen","subsequent","charming","damp","fixed","rigid","offensive","electrical","shy","continuous","urgent","weary","immense","splendid","downtown","uneasy","disappointed","helpless","voluntary","polite","junior","gross","striking","overwhelming","unconscious","steep","outstanding","tender","tragic","costly","miserable","near","useless","welcome","external","helpful","weekly","middle-aged","suspicious","old-fashioned","technological","damned","awkward","visual","organized","ideological","orange","horrible","strict","magnificent","deadly","dusty","mighty","puzzled","bold","global","passing","magic","fond","judicial","missing","definite","changing","rubber","theoretical","satisfied","promising","abstract","excessive","comparable","fatal","distinguished","inadequate","slender","artistic","known","sympathetic","favorable","cheerful","faithful","delighted","unnecessary","sole","cautious","productive","reliable","patient","sensible","desirable","depressed","atomic","able","instant","relevant","alien","spectacular","lesser","swift","comic","enthusiastic","marvelous","experimental","weird","retired","fascinating","content","medieval","inclined","bored","ruling","flying","consistent","organic","alleged","grave","smiling","realistic","amazing","exotic","symbolic","confused","underground","spare","philosophical","vigorous","troubled","shallow","amused","lively","genetic","impatient","brutal","solar","unfair","formidable","tense","unfortunate","minimum","sleeping","secondary","shiny","jealous","insane","gay","vivid","wounded","hurt","intimate","monthly","sour","socialist","worthy","preliminary","colonial","middle-class","alternative","influential","unpleasant","comprehensive","devoted","upset","secure","absurd","neutral","frightening","profitable","fragile","civilized","slim","partial","added","fearful","optimistic","isolated","eternal","vocal","beloved","alert","verbal","rising","skilled","antique","municipal","written","restless","outdoor","governmental","driving","sore","informal","loving","retail","hidden","determined","monetary","convenient","thoughtful","colored","progressive","bizarre","sweeping","fancy","expected","fantastic","editorial","intact","bottom","multiple","well-known","nasty","protective","acute","combined","related","fortunate","earnest","divine","passionate","icy","noisy","vicious","dreadful","apt","boring","unprecedented","decisive","sunny","marked","experienced","disturbing","satisfactory","sober","random","electoral","shocked","deliberate","coming","orderly","surrounding","unwilling","inherent","mixed","naive","dense","hopeless","aesthetic","supreme","encouraging","institutional","solemn","stubborn","required","relaxed","bald","frantic","exclusive","rotten","filthy","flexible","explicit","glorious","lean","ignorant","extended","embarrassing","architectural","mortal","corrupt","hopeful","regulatory","valid","characteristic","tribal","capitalist","diverse","functional","improved","ironic","graceful","unaware","respectable","eligible","lousy","established","postwar","objective","wary","elementary","moving","superb","cute","minimal","meaningful","notable","structural","developed","rolling","fashionable","persistent","distinctive","terrific","thorough","skeptical","secular","chronic","level","everyday","visiting","infinite","short-term","terrorist","youthful","unemployed","forced","liquid","explosive","rude","colorful","renewed","semantic","astonishing","passive","heroic","gleaming","indifferent","vertical","prior","anonymous","absent","customary","mobile","uniform","solitary","probable","amazed","petty","bleak","athletic","tentative","harmless","ample","right-wing","polished","obscure","sincere","dried","intensive","equivalent","convincing","idle","vacant","mature","amusing","competent","ominous","savage","motionless","tropical","blunt","drunken","delicious","lazy","ragged","longtime","nationwide","startling","civic","freezing","muscular","circular","imperial","irrelevant","countless","gloomy","startled","disastrous","skinny","hollow","upward","ethical","underlying","careless","wholesale","abandoned","unfamiliar","mandatory","imaginary","bewildered","annoyed","magnetic","dazzling","lengthy","stern","surgical","clinical","full-time","metropolitan","moist","unlike","doubtful","prosperous","keen","awesome","humble","interior","psychiatric","clumsy","outraged","theatrical","educated","gigantic","scattered","privileged","sleepy","battered","meaningless","predictable","gradual","miniature","radioactive","prospective","aging","destructive","authentic","portable","bearded","balanced","shining","spontaneous","bureaucratic","inferior","sturdy","cynical","exquisite","talented","immune","imaginative","ripe","shared","kind","parliamentary","glowing","frail","astonished","forward","inside","operational","faded","closing","pro","coastal","shrewd","preoccupied","celebrated","wicked","bourgeois","marginal","transparent","dynamic","psychic","plump","coarse","bleeding","striped","eventual","residential","hysterical","pathetic","planned","fake","imminent","sentimental","stunning","worldwide","militant","sizable","representative","incapable","provincial","poetic","injured","tactical","selfish","winning","foul","repeated","novel","dubious","part-time","abrupt","lone","overseas","grey","varied","cooperative","muddy","scheduled","legendary","arrogant","conspicuous","varying","devastating","vulgar","martial","amateur","mathematical","deaf","scarce","specialized","honorable","outrageous","confidential","fallen","goddamned","five-year","feminine","monstrous","brisk","systematic","exhausted","frank","lunar","daring","shadowy","respected","stark","accepted","successive","pending","prolonged","unseen","uniformed","wretched","sullen","arbitrary","drastic","crooked","resulting","intricate","unpredictable","printed","utter","satisfying","delightful","linguistic","shabby","statistical","accessible","prestigious","trivial","waiting","futile","prepared","aged","misleading","cognitive","shocking","childish","elected","magical","forthcoming","exceptional","gifted","stricken","fiery","cardboard","shaky","conflicting","commanding","starving","accustomed","rocky","long-range","floating","sinister","potent","phony","lasting","understandable","curved","barren","lethal","toxic","deserted","ambiguous","notorious","synthetic","worthwhile","imported","intent","reduced","painted","taut","sociological","questionable","crisp","pointed","harmful","horizontal","rival","somber","benign","prevailing","selected","organizational","excess","dedicated","veteran","implicit","prudent","plausible","confusing","smoking","large-scale","subdued","constructive","marital","scarlet","rugged","darkened","untouched","above","matching","covert","communal","sticky","affluent","energetic","stale","controlled","qualified","reminiscent","shut","blonde","handy","ritual","straightforward","terminal","dizzy","sane","twisted","occupied","finished","opposing","sly","depressing","irregular","marine","communist","obscene","wrinkled","unsuccessful","gracious","static","consecutive","reserve","exposed","scholarly","sleek","reckless","oral","comforting","pressing","swollen","viable","carved","obsessed","projected","hideous","unthinkable","mock","susceptible","respective","goddam","downward","memorable","worn","raised","glittering","beneficial","lingering","patriotic","stunned","hairy","worrying","lighted","sexy","abundant","tangled","perpetual","irresistible","terrified","compelling","unmistakable","feeble","uneven","trained","folded","relentless","killed","gorgeous","conservation","serene","eerie","premature","dismal","competing","risky","unacceptable","indirect","witty","muffled","feasible","interstate","heated","uncommon","accidental","queer","innovative","parallel","fried","unnatural","cracked","persuasive","integrated","ongoing","homosexual","sound","fertile","canned","preceding","worldly","onstage","declining","advisory","juvenile","slippery","numb","postal","olive","eccentric","lay","chilly","shrill","ceremonial","registered","boiling","contradictory","irresponsible","then","industrialized","obsolete","rusty","inflationary","split","discreet","intolerable","barefoot","territorial","outspoken","audible","adverse","associate","impending","decorative","luminous","two-year","expanding","unchanged","outstretched","momentary","good-looking","cunning","overnight","sprawling","unbelievable","bland","liable","terrifying","televised","appealing","breathless","alarming","supporting","greasy","affirmative","guiding","homeless","triumphant","rainy","stolen","empirical","timid","provocative","knowledgeable","pragmatic","touching","desired","amiable","attempted","humane","adjacent","superficial","greedy","assorted","elusive","ruthless","lush","soothing","imposing","preferred","lavish","pervasive","managing","sandy","inappropriate","desolate","nude","reassuring","shimmering","first-class","unfinished","insistent","comparative","conceivable","admirable","courageous","aristocratic","meager","subjective","vain","disgusted","dual","towering","responsive","ailing","compact","torn","sortal","entertaining","dreary","metallic","tedious","irrational","immoral","teen-age","interim","jagged","selective","volatile","cozy","unanimous","unlimited","hired","cosmic","indoor","retarded","gold","fabulous","dignified","long-distance","high-school","classified","luxurious","insufficient","pious","incomplete","oblivious","imperialist","stately","lifelong","subordinate","extravagant","intrinsic","unpopular","scant","surplus","radiant","ruined","grotesque","hazardous","disabled","intriguing","worthless","reported","hoarse","utmost","muted","bony","disgusting","monumental","pleasing","sterile","agreeable","three-year","tricky","lucrative","respectful","inexpensive","bulky","troublesome","affectionate","coherent","unreasonable","nineteenth-century","curly","indispensable","nursing","incompetent","governing","alternate","suspected","left-wing","refined","overt","chilling","virtual","devoid","perverse","enduring","outright","overhead","unnoticed","nonprofit","pointless","appalling","dental","chosen","enlightened","robust","commonplace","damaging","conscientious","eloquent","erratic","applied","merry","ardent","flowing","incoming","chaotic","noticeable","pitiful","locked","swelling","definitive","homemade","super","pronounced","kindly","prone","attentive","unstable","unrelated","charitable","armored","unclear","tangible","medium","winding","slick","credible","frustrating","shifting","spacious","day-to-day","surviving","expanded","arid","unwanted","unbearable","hesitant","recognizable","multinational","abdominal","murderous","glossy","mute","working-class","insignificant","ingenious","masculine","blessed","gaunt","miraculous","unconstitutional","parental","rigorous","bodily","impersonal","backward","computerized","four-year","unmarried","wry","resident","luxury","high-level","partisan","powerless","seasonal","self-conscious","triple","onetime","ecological","periodic","racist","exaggerated","facial","erotic","unreal","durable","manual","rounded","concentrated","literal","mystical","stimulating","staggering","tempting","last-minute","erect","feudal","head","emerging","hind","brooding","candid","paranoid","defective","linear","immortal","shattered","unsure","swinging","compatible","ghastly","investigative","rosy","convicted","sensational","committed","makeshift","tolerant","forceful","supernatural","joyous","limp","improper","hanging","sliding","renowned","tattered","nonexistent","supportive","frustrated","undercover","handicapped","apprehensive","plentiful","authoritative","sustained","disappointing","hereditary","photographic","impoverished","ornate","respiratory","substantive","acting","nutritional","unofficial","innumerable","prevalent","dire","menacing","outward","brittle","hasty","sparkling","sled","geographical","therapeutic","melancholy","adolescent","hearty","disturbed","sweaty","poisonous","paid","ineffective","humorous","burly","rebellious","reddish","stout","teenage","eminent","rhythmic","physiological","guaranteed","opaque","folding","fleeting","full-scale","low-income","infectious","stringent","stained","beige","stirring","soaring","glamorous","airborne","improbable","austere","anticipated","designated","oval","restrictive","yearly","precarious","relieved","said","feverish","occupational","holding","speculative","abnormal","challenging","healing","boyish","forbidding","divorced","famed","sluggish","struggling","united","undesirable","steaming","consulting","answering","recreational","accompanying","cramped","journalistic","neighboring","fictional","chopped","phenomenal","bankrupt","illicit","advancing","upcoming","racing","protected","padded","venerable","fuzzy","behavioral","roast","mocking","reactionary","inefficient","packed","sloppy","sparse","foster","revealing","reverse","gaping","blue-collar","thankful","down","unimportant","traveling","corresponding","maternal","autonomous","conceptual","smoky","baked","stuffed","murky","totalitarian","ghostly","seeming","flickering","sensual","clenched","offshore","stinging","oppressive","strained","messy","executive","evolutionary","theological","damaged","unrealistic","rectangular","off","mainstream","benevolent","thirsty","blinding","loaded","applicable","unused","crushed","tan","factual","involuntary","brand-new","akin","scary","modified","mindless","born","feminist","integral","uncanny","aloof","spreading","watery","playful","stocky","wasted","compulsory","indignant","pertinent","incredulous","simultaneous","turbulent","framed","aching","falling","cardiac","trim","silvery","accused","pastoral","barbed","adjoining","inspired","courteous","skillful","majestic","gilded","published","perennial","upright","seasoned","continual","papal","victorious","optical","ecstatic","agonizing","shameful","expressive","inconsistent","insulting","cloudy","defiant","restricted","approaching","aggregate","orthodox","unified","all-out","wooded","nationalist","favored","lofty","assured","smug","earthly","improving","instrumental","stray","clandestine","managerial","animated","intended","flawed","bent","clerical","outgoing","righteous","unspoken","poignant","faulty","defeated","authoritarian","treacherous","catastrophic","refreshing","unidentified","suicidal","sickly","disciplined","meticulous","preferable","trusted","hectic","husky","distraught","select","snowy","ferocious","crumpled","humiliating","divided","crippled","infamous","chic","broke","sovereign","continental","idealistic","first-rate","guarded","learned","nameless","runaway","metaphysical","senseless","boiled","needy","silver","recorded","polar","real-estate","stormy","incomprehensible","wiry","raging","composite","flamboyant","crimson","reproductive","intermediate","ubiquitous","repressive","hefty","listening","good-natured","parochial","stylish","high-tech","flaming","coronary","overweight","bathing","three-day","tidy","beleaguered","manifest","ludicrous","indigenous","adamant","placid","inept","exuberant","stony","salty","seductive","accomplished","impassive","grazing","congenial","misguided","wide-eyed","revised","bass","sonic","budgetary","halfway","ensuing","admiring","palpable","nightly","hooded","best-known","eighteenth-century","dissident","morbid","incumbent","demanding","inexperienced","hazy","revolving","rented","disadvantaged","innate","dietary","minute","cultivated","sealed","contemptuous","rhetorical","conciliatory","articulate","jobless","macho","forgotten","lifeless","proven","latent","secretive","perilous","token","graphic","alcoholic","overdue","permissible","shattering","preventive","illiterate","back","atmospheric","thermal","quaint","negotiated","preposterous","temporal","restrained","triangular","mayoral","spatial","heady","biblical","fitting","pessimistic","mammoth","allied","failed","intuitive","nagging","tidal","angular","speechless","finishing","protracted","watchful","businesslike","automated","versatile","booming","pouring","misty","deceptive","sunken","singular","suspended","unworthy","immigrant","expressionless","airy","mournful","neurotic","cubic","unauthorized","economical","fund-raising","captive","blatant","far-reaching","subversive","imperfect","jolly","inaccurate","resentful","strenuous","suffering","hardened","malicious","unjust","perceptive","newborn","promised","differing","virgin","alarmed","grassy","frivolous","apologetic","wasteful","endangered","unarmed","adept","unavoidable","approved","trembling","stuck","high-ranking","crushing","prescribed","dependable","fragrant","expansive","unfriendly","covered","bemused","digital","probing","sloping","man-made","festive","unilateral","unmarked","bipartisan","statewide","burgeoning","devout","sickening","mediocre","adventurous","elevated","suggestive","accountable","virtuous","lame","heavenly","bruised","unbroken","irritable","affected","inconceivable","sometime","vile","baggy","timely","glistening","imagined","unprepared","unresolved","windy","humanitarian","overriding","detached","annoying","narrative","interminable","appalled","penal","unsatisfactory","instinctive","variable","cumulative","obedient","deficient","colossal","unaffected","extinct","routine","microscopic","compassionate","nominal","forlorn","distorted","mistaken","enclosed","infected","fervent","analogous","frigid","instructive","appointed","one-way","gnarled","problematic","sardonic","two-hour","hypothetical","prompt","anguished","electromagnetic","sensuous","homely","beaten","malignant","rotting","concealed","peripheral","creaking","impeccable","khaki","grinning","irreversible","rampant","wondrous","inward","manufactured","grisly","cooked","discriminatory","cerebral","knowing","auxiliary","operative","losing","genial","phonetic","ecclesiastical","sarcastic","incorrect","ruddy","well-to-do","inexplicable","unreliable","developmental","woolen","agitated","lyrical","consequent","calculated","molecular","pompous","present-day","shaggy","even","inhuman","sublime","diagnostic","manly","raucous","balding","after","bilateral","mounted","blackened","assembled","separated","gaudy","evangelical","darling","juicy","impotent","receptive","irritating","pulmonary","dazed","cross-country","unavailable","parked","habitual","lexical","lowered","unwise","planetary","throbbing","enigmatic","superstitious","threatening","manned","childlike","sporting","right-hand","adult","reflective","white-haired","discernible","celestial","prodigious","translucent","equitable","epic","frayed","arduous","flimsy","penetrating","howling","disparate","alike","all-time","deformed","comical","inert","procedural","resistant","vibrant","geographic","wistful","specified","rightful","spirited","unborn","enjoyable","regal","cumbersome","burned","frenzied","gubernatorial","deteriorating","haunted","evasive","neglected","anthropological","inescapable","clear-cut","visionary","bloated","accumulated","agrarian","pained","dwindling","heightened","gray-haired","distressing","grinding","insecure","archaic","piercing","fluent","leisurely","giddy","slimy","oncoming","short-lived","spinal","wholesome","unanswered","illegitimate","staunch","two-day","rumpled","speedy","soaked","rocking","invaluable","gallant","tacit","finite","inviting","sporadic","powdered","cheery","volcanic","optional","mischievous","flowered","contagious","automotive","inflated","mythic","analytical","infrared","two-week","binding","ancestral","dissatisfied","upstate","veritable","unaccustomed","oily","monotonous","seated","feeding","fluorescent","undue","impassioned","picturesque","vocational","tranquil","tumultuous","rustic","patterned","two-story","pagan","flash","playing","exhilarating","maiden","three-dimensional","mythical","thriving","drab","black-and-white","honorary","dingy","founding","imperative","indistinguishable","lightweight","avid","dreamy","everlasting","obsessive","tional","homogeneous","inner-city","changed","tame","colorless","haggard","implacable","altered","unequal","focal","perceptual","literate","priceless","diminishing","harmonious","dark-haired","fatty","squat","undecided","banal","fruitful","pioneering","innocuous","cordial","rewarding","unsafe","maritime","overcrowded","timeless","fledgling","nostalgic","abreast","one-time","humid","astronomical","one-man","deepening","blazing","fleshy","dishonest","succeeding","qualitative","needless","rickety","joyful","stated","ambivalent","hybrid","six-month","limiting","workable","sleepless","unpaid","mundane","flashy","stagnant","bumper","recurring","sinful","immaculate","synonymous","measured","thrilling","long-standing","unruly","bewildering","unfit","edgy","numerical","sumptuous","fragmented","puffy","elastic","high-pitched","momentous","woven","unsteady","unnamed","cosmetic","snap","impenetrable","floral","waving","promotional","tenuous","lonesome","embroidered","strident","cherished","aghast","fundamentalist","white-collar","afloat","disruptive","law-enforcement","gathered","indefinite","intervening","publicized","geometric","disciplinary","descriptive","wavy","edible","disgruntled","obligatory","untrue","amber","snug","resolute","awed","simplistic","grandiose","crippling","high-speed","mounting","glaring","small-town","cavernous","hushed","wage-price","demographic","diseased","unpublished","causal","defenseless","sheltered","dormant","compulsive","loved","willful","truthful","punitive","disposable","ajar","drowsy","statutory","tanned","proprietary","informed","unheard","decision-making","transient","unlawful","dour","negligible","underwater","optimum","illusory","imaginable","borrowed","divergent","looking","exempt","contentious","forbidden","cowardly","masked","crazed","silken","parched","furry","wandering","insensitive","over-all","elated","waxed","veiled","envious","insidious","scrawny","unwarranted","lithe","abrasive","pretentious","far-off","murdered","deft","prickly","musty","shapeless","incongruous","gruesome","honored","perceived","grieving","unspecified","dizzying","privy","noteworthy","charred","median","fearless","twisting","unattractive","flawless","welcoming","flushed","hardy","glum","scenic","devious","recurrent","distasteful","jubilant","ballistic","hilarious","naughty","bustling","discarded","pristine","exemplary","fading","complacent","incessant","engaging","twentieth-century","protectionist","rudimentary","traumatic","steamy","emphatic","hard-line","teeming","generating","stuffy","connecting","stationary","genteel","populist","supple","hateful","retrospective","glazed","lawful","arched","tiresome","lucid","reserved","pivotal","grimy","surly","anti-Soviet","contrary","quarterly","old-time","residual","spiral","decaying","threatened","docile","appreciative","jovial","fascist","worrisome","red-haired","undisturbed","creamy","well-dressed","serial","existential","mountainous","pastel","self-sufficient","spoken","express","tasty","maroon","infrequent","deceased","full-fledged","transitional","leafy","gravitational","furtive","prophetic","nasal","unwelcome","troubling","immobile","merciful","uncontrollable","impartial","unfavorable","attendant","associated","high-rise","vascular","fateful","concerted","rash","stubby","paramount","impulsive","fraudulent","drooping","reciprocal","usable","fast-food","touchy","astute","oversized","mottled","slack","fruitless","unhealthy","decorated","shady","shaped","fanciful","quivering","charismatic","sordid","oppressed","inaccessible","fastidious","brazen","gloved","crumbling","underdeveloped","scarred","rambling","incipient","remedial","derelict","incompatible","fanatical","smoked","secondhand","hypnotic","failing","marching","flattened","paradoxical","unskilled","esthetic","tolerable","pungent","substitute","soggy","terse","tiring","fictitious","manageable","inventive","haughty","normative","premier","grudging","vested","exhausting","cross-legged","self-evident","away","horrified","prolific","incoherent","quantitative","full-length","year-round","unkind","provisional","exterior","brash","inconclusive","landed","breathtaking","acrid","noted","resultant","long-time","resounding","lovable","hypocritical","plush","foggy","acknowledged","idiotic","tracking","ceramic","taxable","enterprising","flashing","wee","barbaric","deafening","orbital","lurid","dated","hated","buoyant","mating","pictorial","overlapping","lax","archetypal","manic","limitless","puzzling","condescending","hapless","meek","faceless","uncommitted","horrid","greenish","unorthodox","unending","accelerated","day-care","undeniable","bushy","searing","fearsome","unharmed","divisive","overpowering","diving","telling","determining","uptight","cast","enlarged","ebullient","disagreeable","insatiable","grown-up","demented","puffing","inconvenient","uncontrolled","inland","repulsive","unintelligible","blue-eyed","pallid","nonviolent","dilapidated","unyielding","astounded","marvellous","low-cost","purposeful","courtly","predominant","conversational","erroneous","resourceful","converted","disconcerting","oblique","dreaded","indicative","silky","six-year","front-page","biting","flowering","sunlit","licensed","unspeakable","adrift","awash","identifiable","girlish","zealous","spooky","uncompromising","deserving","driven","certified","unlucky","temperate","budding","impractical","public-relations","inflexible","sensory","pornographic","outlandish","resonant","belligerent","wan","leftover","spotted","soybean","easygoing","vengeful","proportional","inaugural","dank","screaming","heterosexual","sliced","year-old","considerate","thunderous","distressed","warring","assertive","foreseeable","psychotic","intermittent","anti-Communist","generalized","unable","molten","excruciating","illustrious","voluminous","offending","trustworthy","grating","laughing","one-year","industrious","uninterrupted","dashing","speaking","metabolic","flattering","one-sided","ineffectual","primal","digestive","taped","floppy","jaunty","practiced","walled","hospitable","dutiful","melodramatic","intestinal","cluttered","conclusive","complementary","unprotected","buzzing","attributable","tasteless","forthright","wily","hourly","delayed","sweating","affable","studied","chubby","thyroid","chilled","conducive","childless","faltering","authorized","buried","land-based","observable","hurried","curving","dismayed","pernicious","upturned","believable","questioning","syndicated","pharmaceutical","high-risk","resigned","discrete","likable","imprisoned","cocky","outdated","autocratic","ablaze","askew","grammatical","wintry","incidental","matter-of-fact","disputed","exorbitant","low-level","sodden","skeletal","disproportionate","soiled","cellular","ephemeral","perfunctory","inconsequential","flourishing","intentional","two-way","elemental","whispered","four-day","stinking","informative","tenacious","outlying","virulent","horrendous","horrifying","burnt","longstanding","senile","unmoving","deprived","interpersonal","intimidating","posh","dainty","portly","nondescript","inquisitive","exiled","capricious","scandalous","severed","debilitating","widowed","horny","sallow","up-to-date","self-contained","carefree","boisterous","coordinated","anti-Semitic","superfluous","metric","expressed","enchanting","disorderly","paternal","wanton","frightful","free-lance","extremist","lined","scornful","inseparable","obese","ponderous","imperious","indistinct","adrenal","belated","rippling","valiant","livid","mystic","cracking","subterranean","invading","rusted","esoteric","red-faced","segregated","lanky","departmental","allergic","predatory","enforced","anti-inflation","implied","flagrant","best-selling","haphazard","trailing","seedy","real-life","unannounced","utilitarian","roving","despairing","immature","simulated","embattled","poisoned","patronizing","baffled","centralized","weathered","weeping","mutilated","painstaking","tax-exempt","socioeconomic","tearful","stringy","projecting","low-key","single-minded","shadowed","vehement","darn","fluffy","apocalyptic","completed","intelligible","furnished","elongated","worsening","eclectic","bacterial","earthy","sagging","wide-ranging","face-to-face","settled","dogmatic","anti","secluded","baffling","coy","pathological","echoing","bridal","autobiographical","instantaneous","ornamental","satirical","voluptuous","movable","kinetic","merciless","tireless","three-month","unconcerned","impromptu","turning","follow-up","retaliatory","arcane","waterproof","justifiable","glassy","unearthly","shuttered","inverted","bogus","petrified","simmering","guided","gritty","widening","generic","pretrial","returning","boundless","swirling","northeastern","swell","tive","minuscule","estranged","upbeat","explanatory","repetitive","repressed","vindictive","shrinking","canny","little-known","hydraulic","unrelenting","looming","supersonic","justified","lukewarm","unmoved","blurred","double-breasted","sanitary","unforgettable","diligent","unconventional","ashen","wordless","stainless","inlaid","irritated","spotless","pudgy","yellowish","lateral","adopted","lowly","obnoxious","utopian","called","unimaginable","hairless","foregoing","opulent","garish","nocturnal","rousing","unexplained","cosmopolitan","milky","medium-sized","all-night","bloodshot","rueful","hard-working","crafty","familial","iced","violet","arctic","ceaseless","exasperated","warped","aquatic","gruff","terrestrial","contrasting","egalitarian","needful","spent","untrained","escalating","liberated","long-haired","abortive","syntactic","consummate","lumpy","spoiled","ten-year-old","talkative","whimsical","weighty","audio","inflammatory","deplorable","spicy","corrugated","morose","sobering","southwestern","three-year-old","methodical","prehistoric","carpeted","smelly","processed","overheated","interstellar","agile","approximate","sadistic","living-room","irate","smashed","frontal","venereal","indiscriminate","suggested","cultured","creeping","recognized","toothless","handmade","mellow","fetal","disinterested","gratifying","trusting","small-scale","intravenous","crashing","exhaustive","afire","clammy","sleazy","florid","heartless","transcendent","restored","demonic","abusive","avowed","shrunken","objectionable","tailored","arms-control","listless","polluted","palatable","funded","elective","entrenched","classy","operatic","daunting","roaring","preferential","languid","three-hour","virile","inspiring","enhanced","scrupulous","bottomless","ginger","wispy","advantageous","rapt","umbilical","uphill","ordered","enraged","detrimental","curt","exalted","hard-pressed","intangible","fussy","forgiving","facile","populous","condemned","mashed","hard-boiled","introductory","rowdy","switching","perplexing","spilled","southeastern","undulating","fractured","inherited","inscrutable","measurable","stunted","hormonal","stylized","hierarchical","air-conditioned","aimless","subsidized","paying","symmetrical","nomadic","cloudless","reigning","thatched","perceptible","anesthetic","anti-American","miscellaneous","homesick","preparatory","seven-year","big-city","decadent","searching","all-important","inanimate","senatorial","diminutive","soft-spoken","contingent","dusky","smashing","precipitous","bulging","standardized","biographical","restive","indecent","upper-class","ecumenical","interchangeable","lumbering","fascinated","untidy","indulgent","leaden","wanted","endemic","doomed","wanting","receiving","engaged","unparalleled","abbreviated","malevolent","wishful","carnival","world-wide","protruding","resplendent","stranded","structured","biased","frosty","northwestern","viral","mindful","paved","indeterminate","painless","second-floor","geological","permissive","downhill","unsuspecting","expectant","fabled","jittery","windowless","evocative","unsolved","disoriented","monastic","soluble","misshapen","antiquated","repugnant","non-Communist","retiring","shaded","combative","high-powered","resilient","antagonistic","starched","vice-presidential","speckled","lopsided","bluish","late-night","prim","unrestrained","almighty","tyrannical","unkempt","menstrual","bleached","overgrown","idiosyncratic","shoddy","hallowed","trying","halting","princely","drugged","gratuitous","descending","fatherly","avant-garde","laborious","pinched","disguised","caustic","bespectacled","handwritten","goodly","itinerant","cryptic","undisclosed","affordable","outmoded","expedient","moody","tepid","firsthand","digging","elitist","observed","chartered","slain","five-day","unimpressed","tactful","idyllic","prostrate","ramshackle","expert","deferred","undistinguished","prized","transatlantic","crystalline","tacky","haunting","nutritious","bereft","turquoise","time-consuming","sanguine","culinary","fraught","precocious","assigned","scrambled","advisable","nationalistic","long-awaited","unwrapped","unchallenged","circumstantial","pleasurable","compressed","humanistic","unforeseen","diversified","frenetic","disapproving","proletarian","conspiratorial","featureless","going","commendable","no-nonsense","chipped","surreal","salient","pissed","insurmountable","backstage","contented","indebted","adoring","one-room","prewar","potted","accelerating","thorny","possessive","abiding","ever-increasing","bloodless","high-technology","counterproductive","attracting","entrepreneurial","cooling","unoccupied","craggy","leathery","degenerate","additive","weakened","quilted","untold","incandescent","intractable","middle-income","abject","self-made","gaseous","anal","displaced","unabashed","immutable","fluttering","ten-year","bearable","stamped","darkening","beefy","petite","charging","high-quality","left-hand","age-old","checkered","stupendous","priestly","loath","endearing","exacting","correctional","freak","sneaky","disgraceful","unholy","oriental","wayward","societal","hard-core","bilingual","flipping","staid","paramilitary","heartfelt","shapely","kosher","heedless","incurable","controlling","in-house","choral","manicured","cardinal","inconspicuous","steely","vanishing","misplaced","centre-fire","enchanted","unfounded","wrecked","womanly","delirious","deposed","panicky","differential","tawny","articulated","coded","wide-open","unregulated","lenient","feathered","simplified","beguiling","sectarian","producing","tiled","inorganic","frosted","lusty","scented","rotating","grievous","dissimilar","salaried","unequivocal","strangled","grubby","alluring","downcast","restraining","unjustified","contaminated","lacy","cinematic","second-class","splintered","adorable","derisive","state-owned","requisite","fleeing","uncomplicated","motherly","inter","high-heeled","climatic","republican","unqualified","leveraged","intercontinental","uncharacteristic","compositional","unwritten","patriarchal","brusque","unresponsive","replete","corrective","reflected","scraping","doctoral","premium","deductible","alternating","amorous","overjoyed","recalcitrant","presumptuous","vaulted","declared","inexorable","groggy","diminished","restful","retroactive","presumed","monolithic","curtained","tortured","ground","trendy","brassy","prosaic","inactive","chaste","bumpy","aggrieved","corny","centrist","trapped","noxious","jerky","concomitant","withholding","poorly","stolid","unguarded","methodological","primordial","retreating","telescopic","sidelong","off-duty","pleated","dissenting","agreed","double-action","optimal","plaintive","banned","kindred","quintessential","impervious","jumping","disenchanted","observant","congested","second-rate","reasoned","extrinsic","infantile","transitory","coveted","small-time","doctrinal","incomparable","jaded","special-interest","sociable","shameless","coloured","ascending","fraternal","queasy","wont","exhilarated","salted","disquieting","listed","unchanging","nine-year-old","unrestricted","uppermost","reputable","dummy","skimpy","crusty","corrosive","bubbling","decrepit","unsuitable","snarling","destitute","illuminating","systemic","material","unwashed","rushing","dialectical","jeweled","attached","liberating","judicious","errant","vanished","worn-out","erstwhile","uninformed","twelve-year-old","longterm","petulant","twin","self-righteous","afflicted","snappy","tantamount","sworn","unethical","drained","hydroelectric","perplexed","logistical","concentric","unifying","lunatic","invincible","diffident","inexhaustible","discouraging","dreamlike","artful","rolled","suppressed","secretarial","smoldering","redundant","forensic","million-dollar","self-styled","earned","weightless","signed","compensatory","glacial","unmanned","stalwart","funky","intensified","uninterested","submerged","urbane","glib","ascetic","contractual","warlike","high-priced","diagonal","cylindrical","gargantuan","illuminated","unconditional","hulking","supplementary","dictatorial","puny","sedate","moonlit","eight-year-old","gullible","counterfeit","alienated","spinning","analytic","nimble","adaptive","individualistic","numbered","blissful","insolent","supplemental","delectable","inordinate","unbalanced","tormented","unchecked","aspiring","punishing","self-serving","crossed","discretionary","box-office","snow-covered","improvised","squalid","orphaned","grizzled","unsmiling","disappearing","affiliated","readable","blocking","bullish","contending","burned-out","bloodied","subsidiary","complimentary","unclean","scanty","uprooted","farfetched","solicitous","regulated","threadbare","choppy","ever-present","negligent","nonstop","one-day","wild-eyed","infuriating","vivacious","abominable","wrought","inaudible","braided","transcendental","desultory","climactic","appellate","interlocking","submissive","unmatched","dapper","demeaning","adaptable","well-meaning","lustrous","tax-free","ungrateful","gentlemanly","missed","loathsome","incalculable","blistering","amenable","tremulous","massed","nonpartisan","unsettled","three-story","succulent","trite","masterful","reticent","unsettling","proverbial","strapping","spurious","invulnerable","paltry","embryonic","repeating","neural","sultry","metaphorical","foreign-policy","linked","pubic","beaming","ministerial","phantom","quizzical","hilly","cold-blooded","gregarious","three-piece","untroubled","bisexual","pensive","unpretentious","exploratory","unscathed","irrepressible","pelvic","newfound","starry","corned","overworked","illogical","unfaithful","interrelated","saintly","overcast","connected","ungainly","organizing","carnal","philosophic","nationalized","fickle","ultraviolet","crass","undeveloped","unprofitable","sheepish","archaeological","out-of-town","balmy","spongy","infallible","callous","scathing","rheumatic","audacious","participating","swarthy","hand-held","comatose","modernist","stellar","antinuclear","delinquent","time-honored","presiding","relaxing","high-pressure","impetuous","hypodermic","fringed","favourite","unscrupulous","inspirational","mystified","wobbly","intrepid","deferential","burdensome","stored","supervisory","seventeenth-century","six-day","interdependent","updated","all-powerful","unitary","stand-up","laconic","penniless","steadfast","dogged","scholastic","convertible","mingled","sorrowful","symptomatic","stylistic","well-intentioned","consuming","sketchy","weakening","generative","atrocious","first-quarter","irrevocable","charged","stoned","dividing","apathetic","debatable","uncomprehending","overhanging","galloping","kinky","uncritical","suave","undisputed","spiky","inarticulate","extracurricular","guttural","impressed","departing","yellowed","discontented","adroit","high-fiber","second-hand","blinking","formless","unsavory","new-found","withered","collected","menial","unobserved","flabby","afterward","vanquished","stained-glass","hour-long","bittersweet","invalid","incriminating","commensurate","all-American","assumed","tried","cursory","absorbing","clearing","confirmed","stressful","depleted","eight-year","participatory","stripped","concave","regrettable","fortified","effortless","regressive","irreverent","collegiate","defunct","grainy","inhospitable","gripping","grizzly","restoring","arterial","busted","indomitable","demure","rabid","headlong","blue-green","bound","breezy","materialistic","uneducated","scruffy","cohesive","full-blown","cranky","motivated","mauve","hardworking","melodic","genital","decorous","comely","rife","purported","hurtful","six-foot","macabre","odious","convulsive","well-trained","heterogeneous","curled","pearly","spindly","latter-day","innermost","clipped","checked","masterly","laughable","naturalistic","tinkling","impudent","fitful","illustrated","speeding","roasted","in-depth","helluva","vigilant","empty-handed","forged","wrought-iron","disgraced","agonized","infirm","preserving","tasteful","onerous","shredded","impregnable","slanted","tainted","opened","first-time","machine-gun","bottled","seismic","fetid","saturated","insubstantial","full-page","aromatic","stingy","promiscuous","unlit","regimental","spellbound","streamlined","bereaved","ruffled","creepy","treasured","ensconced","one-party","well-educated","pert","mercantile","all-purpose","voracious","tortuous","despised","unadorned","offhand","qualifying","manipulative","indelible","well-established","revolting","ethereal","roasting","prohibitive","domed","whipped","overstuffed","garrulous","skittish","revived","heartening","jumpy","grilled","melted","unfocused","spectral","unproductive","top-level","life-size","three-way","negotiable","disloyal","turn-of-the-century","four-hour","unopened","devilish","amorphous","antiseptic","sharpened","primeval","unrecognizable","ineligible","expendable","deathly","auspicious","insoluble","inimical","unquestioned","far-flung","medicinal","deep-seated","formative","iridescent","fragmentary","distinguishable","auburn","closed-circuit","emeritus","third-floor","hazel","tumbling","departed","obstinate","portentous","quixotic","scorched","adjustable","winged","intrusive","taxing","high-ceilinged","barbarous","decreasing","sleeveless","unattended","tight-lipped","concluding","unobtrusive","starved","quirky","big-time","sooty","copious","stalled","scriptural","unconvincing","earthen","throaty","august","extant","sexist","exultant","cancerous","psychedelic","yielding","matched","chunky","unfathomable","concise","admitting","knitted","projective","euphoric","garbled","divisional","despondent","recommended","passable","vegetarian","indefatigable","irreparable","feisty","untenable","contrite","angelic","reputed","untimely","dejected","appreciable","remembered","hellish","rear-view","open-air","ill-fated","nonpolitical","factional","separatist","contributing","post-war","uneventful","metaphoric","unsound","unwitting","venomous","harried","engraved","collapsing","reformist","thematic","inclusive","cheering","springy","obliging","contemplative","unbridled","state-run","reflex","allegorical","geopolitical","disembodied","issuing","bountiful","alright","overbearing","muddled","congenital","distinguishing","absorbed","tart","french","autumnal","verifiable","grueling","crackling","aft","punishable","freckled","indestructible","imprecise","hard-nosed","thoughtless","through","proficient","pent-up","never-ending","hunted","defensible","arresting","across-the-board","spotty","orchestral","undefined","stacked","implausible","antitank","unwary","inflamed","sacrificial","oil-producing","leaky","mint","chronological","conquering","jumbo","three-week","addictive","uninhibited","substandard","contracting","degenerative","triumphal","flowery","cardiovascular","shaken","undefeated","unassuming","luscious","unperturbed","gleeful","sentencing","brawny","perfumed","mild-mannered","healthful","left-handed","rancid","well-defined","unmanageable","drowning","clinging","anachronistic","revered","enriched","capitalistic","good-by","invigorating","practicing","unsold","long-legged","unruffled","aboriginal","inane","bedraggled","early-morning","run-down","straight-backed","reverent","acquired","bestselling","top-secret","woolly","foolhardy","sticking","blue-black","impassable","overcome","coiled","front-line","tinted","acquisitive","slatted","octagonal","receding","investing","doctrinaire","all-white","caring","prejudiced","slow-moving","circulating","science-fiction","shortsighted","disaffected","lawless","chastened","lewd","rubbery","foaming","unsympathetic","ladylike","betrayed","neurological","shouting","good-sized","electrostatic","untoward","flabbergasted","citywide","unanticipated","knotted","whitewashed","year-end","enticing","migratory","multicolored","hashish","ascorbic","topless","heathen","spherical","filmy","deviant","centennial","proportionate","instructional","contrived","savvy","over-the-counter","fast-moving","measuring","uptown","compliant","favourable","unforgivable","undamaged","psychoanalytic","gebling","bubbly","ready-made","caged","ostentatious","superhuman","busing","cream-colored","self-destructive","ostensible","cobbled","whirling","released","showy","baleful","red-hot","named","monogamous","fallow","disdainful","cyclical","long-running","pitiless","diffuse","omnipresent","mossy","cutting","astounding","lyric","dark-blue","unsophisticated","indigent","coincidental","imperceptible","veterinary","coercive","multilateral","ageless","law-abiding","functioning","beneficent","crawling","overturned","steamed","comprehensible","oil-rich","undetected","ribbed","nautical","textured","fast-growing","nauseous","vaunted","paralyzed","maimed","short-range","impure","unintended","practicable","intermediate-range","unfulfilled","behind-the-scenes","backhand","voluble","goofy","apolitical","contraceptive","waning","blasted","sundry","profane","binary","rock-and-roll","ruinous","open-ended","next-door","withering","conical","flustered","decided","able-bodied","round-trip","decreased","half-empty","sponsored","riotous","stereotyped","five-minute","irreplaceable","harrowing","uninteresting","salutary","frugal","disjointed","cupped","freshwater","shaven","ravenous","bulbous","stepped-up","swaying","two-room","valued","planted","bright-eyed","unreadable","trucking","infatuated","dysfunctional","pinkish","futuristic","airtight","unseemly","sizzling","mercurial","conic","unfettered","undisciplined","unrecognized","well-publicized","income-tax","self-appointed","ice-cold","biochemical","contemptible","barefooted","droll","mythological","tree-lined","rearing","luxuriant","heartbreaking","tufted","well-organized","selfless","world-class","unwieldy","contested","rasping","downright","ingratiating","self-proclaimed","parasitic","graying","reformed","cautionary","untested","beaded","maniacal","eucalyptus","pliable","air-conditioning","moot","traceable","anti-abortion","antisocial","reprehensible","self-imposed","yellowing","teasing","porous","ersatz","unwavering","untouchable","underprivileged","auditory","escaping","subservient","unspoiled","anterior","fatuous","lordly","infernal","bouncing","taboo","orthopedic","spiteful","surging","nuts","esteemed","outlawed","pushy","displeased","self-confident","attainable","bowed","cast-iron","despicable","unconvinced","famished","coed","bygone","nonaligned","sectional","typed","squeaky","disparaging","cut-rate","heart-shaped","offbeat","velvety","well-worn","upsetting","leery","long-lost","horse-drawn","puritanical","payable","fertilized","predicted","allowable","peaceable","soundless","marshy","discordant","intoxicating","concurrent","uncut","tantalizing","pedagogical","accursed","two-man","connective","hawkish","ripped","cleared","double-digit","unencumbered","yawning","manifold","stopped","untreated","subliminal","grayish","gory","upper-middle-class","avenging","self-fulfilling","equatorial","saucy","barred","arch","midwestern","blue-gray","tarnished","leafless","incisive","unearned","botanical","feline","extraneous","prep","intransigent","change-minimizing","insurgent","acrimonious","thermonuclear","blue-chip","crummy","acoustic","oversize","fated","galactic","cantankerous","ill-advised","detectable","lower-class","sacrosanct","palatial","conditional","insulated","step-by-step","nebulous","two-dimensional","well-heeled","bronchial","subatomic","semifinal","first-year","dark-eyed","tinny","attacking","indecisive","anatomical","brotherly","blooming","sinuous","meditative","socalled","rheumatoid","received","bleary","half-naked","leaded","woody","averse","shuddering","door-to-door","heretical","suspect","untapped","ravaged","decentralized","rutted","ineffable","intolerant","mechanized","fortuitous","equestrian","seven-year-old","darting","consoling","modern-day","ground-floor","emblematic","lurking","two-year-old","purplish","disorganized","vaudeville","circulatory","eight-hour","presentable","anarchic","unsatisfied","labored","maudlin","trampled","gibberish","unaccountable","sedentary","heavy-duty","thrilled","tutoring","self-centered","do-it-yourself","inquiring","uncaring","disillusioned","bloodstained","surface-to-air","consular","subconscious","four-year-old","collaborative","terraced","figurative","sinewy","horn-rimmed","impertinent","hit-and-run","standby","medium-size","peremptory","incremental","first-aid","dyed","centrifugal","omnipotent","lascivious","two-month","unionized","discredited","mass-produced","feathery","self-indulgent","liturgical","enviable","fifteen-year-old","buxom","abashed","urinary","newsworthy","flailing","beastly","undiscovered","strong-willed","prenatal","brownish","announced","flaky","washed","nightmarish","broad-shouldered","short-sleeved","two-bit","self-assured","whitish","suffocating","black-haired","full-size","self-help","created","uninhabited","smokeless","no-fault","unfashionable","mushy","forested","adhesive","creased","insufferable","down-to-earth","trifling","landless","disreputable","self-effacing","sporty","confined","adoptive","monogrammed","motley","duplicate","silver-haired","rejected","undifferentiated","blasphemous","institutionalized","blue-and-white","hip","winsome","button-down","discerning","abused","clean-cut","bracing","self-supporting","unsupported","premarital","flattered","studious","repetitious","marketable","anemic","meaty","airless","unhurried","galvanized","feal","peace-keeping","rapacious","bulletproof","well-placed","helmeted","packaged","court-ordered","aggravated","gastrointestinal","hand-to-hand","sixteen-year-old","fretful","fourth-quarter","conquered","satiric","nutty","befuddled","humorless","pitched","burnished","mirrored","fishy","fluted","conditioned","military-industrial","one-story","barbarian","branching","dynastic","unthinking","unconscionable","hunched","post-World","capital","putative","incendiary","shaving","topical","self-satisfied","farcical","narcissistic","kneeling","born-again","old-line","amateurish","ill-fitting","scaly","unpainted","eroding"];var nouns={};Object.defineProperty(nouns,"__esModule",{value:!0});nouns.default=["man","world","hand","room","face","thing","place","door","woman","house","money","father","government","country","mother","water","state","family","voice","fact","moment","power","city","business","war","school","system","car","number","office","point","body","wife","air","mind","girl","home","company","table","group","boy","problem","bed","death","hair","child","sense","job","light","question","idea","law","word","party","food","floor","book","reason","story","son","heart","friend","interest","right","town","history","land","program","game","control","matter","policy","oil","window","nation","position","ground","blood","action","wall","street","husband","fire","mouth","arm","sound","service","chance","information","price","building","road","paper","court","attention","space","trouble","form","society","art","market","force","effect","nature","chair","period","order","television","president","tax","field","glass","thought","industry","process","phone","plan","center","truth","couple","decision","change","eye","campaign","issue","situation","effort","report","sun","experience","peace","letter","level","energy","role","development","result","evidence","meeting","smile","support","baby","team","show","community","brother","picture","kitchen","production","press","study","daughter","director","dinner","class","defense","piece","record","desk","stage","earth","movement","future","board","security","sea","horse","language","public","church","course","bill","river","coffee","wind","bank","corner","committee","pain","help","answer","subject","hospital","film","economy","trade","feeling","member","apartment","ship","silence","seat","gold","education","leader","pressure","doctor","shoulder","sight","scene","figure","crowd","fear","telephone","labor","success","population","style","station","value","sky","growth","foot","radio","sign","strength","capital","neck","college","budget","breath","choice","direction","guy","agreement","speech","skin","will","amount","plane","practice","marriage","audience","movie","gun","living","hall","concern","income","quality","dog","cause","hotel","race","difference","stone","box","army","trip","distance","attack","chairman","election","presence","computer","science","color","theory","spring","machine","purpose","organization","material","image","tree","surface","officer","administration","act","statement","battle","page","suit","lady","play","stock","list","freedom","bar","relationship","farm","authority","student","conference","ball","structure","nose","plant","career","wood","basis","deal","source","chest","message","stuff","middle","sister","drink","majority","sex","store","trial","character","boat","union","animal","ice","front","firm","heat","hope","rock","weight","disease","spirit","memory","king","response","manner","opinion","operation","increase","lawyer","expression","kid","bag","department","crime","train","executive","aid","dream","beginning","rain","prison","conversation","shirt","lunch","possibility","pleasure","management","danger","rule","throat","wine","behavior","return","hat","surprise","snow","property","flight","training","ability","project","camp","range","approach","agency","treatment","reality","village","bottle","attempt","crisis","drug","violence","inflation","enemy","responsibility","opposition","newspaper","victory","dress","condition","darkness","opportunity","account","degree","pocket","performance","manager","visit","threat","failure","brain","driver","charge","beer","coat","shot","metal","activity","influence","intelligence","bit","official","existence","example","truck","note","construction","shape","event","screen","faith","safety","path","culture","chief","relief","grass","contract","product","investment","weather","soul","murder","bedroom","magazine","model","cup","leg","traffic","writer","beauty","song","share","cancer","patient","credit","club","argument","speed","quarter","design","desire","vision","candidate","bottom","pattern","date","finger","teacher","tea","section","article","flesh","island","balance","spot","meaning","technology","crew","proposal","leadership","concept","object","impact","guard","analysis","birth","shop","knife","advantage","generation","appearance","variety","anger","religion","reaction","fight","star","exchange","agent","investigation","milk","judge","silver","region","steel","ear","sugar","strike","youth","hole","thinking","attitude","supply","start","jacket","jury","taste","secretary","mountain","confidence","master","artist","spokesman","demand","cigarette","track","captain","network","whole","university","conflict","noise","smoke","commission","mirror","accident","plastic","garden","debate","interview","command","tradition","protection","dust","watch","lead","solution","measure","motion","discussion","mission","opening","respect","extent","struggle","goal","tongue","moon","author","iron","breakfast","competition","cover","legislation","environment","sake","justice","fuel","hill","key","length","shock","band","version","contact","engine","settlement","mistake","restaurant","revolution","estate","camera","beach","post","pool","fashion","football","border","touch","laughter","title","background","principle","strategy","roof","forest","philosophy","entrance","pause","doubt","bird","tape","belief","card","ring","occasion","wheel","capacity","cat","collection","passage","writing","bridge","owner","novel","pride","damage","contrast","judgment","gift","division","professor","bathroom","plate","explanation","smell","district","park","wave","player","present","theater","atmosphere","emergency","leather","impression","painting","neighborhood","block","function","circle","sentence","priest","method","warning","editor","ceiling","target","tour","gate","site","baseball","airport","shadow","walk","approval","gesture","individual","difficulty","attorney","criticism","affair","request","doorway","reputation","minority","consumer","notion","general","convention","being","honor","partner","chain","commitment","weapon","joke","coal","meal","reading","detail","library","debt","other","mail","drive","fellow","profit","soldier","forehead","housing","excitement","soil","literature","pilot","dance","reform","volume","scale","imagination","challenge","desert","secret","poet","cabin","average","factor","corn","check","wonder","absence","search","wedding","yard","hero","address","confusion","fool","package","victim","fault","platform","democracy","regime","terror","nurse","stream","offer","medicine","flow","grain","row","county","self","glance","humor","promise","employment","advance","planet","recreation","trail","chicken","storm","creature","mass","stand","ass","gaze","poetry","coast","lake","council","breast","corridor","conclusion","talent","tension","reporter","cut","appeal","total","belt","jail","passion","mayor","claim","combination","highway","wire","rifle","cheek","frame","exercise","incident","testimony","ticket","coach","connection","expert","disaster","valley","minister","deck","territory","chin","universe","independence","counter","resistance","cell","governor","salt","elevator","loan","release","schedule","porch","sheet","cloth","personality","actor","bomb","temperature","bench","break","code","journey","childhood","emphasis","aspect","pot","branch","identity","guest","arrival","recognition","hearing","lap","diet","factory","horror","fence","survey","fate","habit","lobby","bone","routine","discovery","comment","burden","treaty","knee","route","cry","ocean","fund","map","signal","ride","bear","deficit","height","element","sword","birthday","standing","cream","panel","fighting","travel","grandfather","creation","appointment","chapter","funeral","phrase","shore","planning","couch","survival","engineer","wagon","suggestion","waste","guilt","chamber","commander","clock","establishment","flag","content","supper","consciousness","proof","pack","beard","portion","comfort","resolution","sunlight","substance","benefit","honey","protest","prayer","stick","description","device","cloud","display","uniform","gasoline","tail","satisfaction","blanket","mess","consumption","drop","invasion","theme","mystery","belly","association","prospect","port","pipe","reference","skill","rear","heaven","destruction","worker","concentration","file","flat","cab","consideration","uncle","customer","laugh","radiation","favor","studio","boss","transportation","wage","fortune","tent","poem","procedure","clerk","surgery","percentage","expense","cap","household","match","bunch","column","intention","cousin","involvement","host","definition","wheat","permission","can","warmth","draft","silk","aide","lip","conviction","rope","illness","instrument","gap","string","adult","sweat","lover","evil","faculty","enthusiasm","farmer","missile","grin","tank","expansion","emotion","waist","discipline","distinction","technique","profession","wisdom","square","laboratory","tie","review","stranger","communication","pile","arrangement","palm","ceremony","tower","sympathy","deputy","script","nomination","friendship","institution","pass","civilization","magic","client","standard","significance","sport","defeat","announcement","reduction","grandmother","bowl","closet","genius","league","citizen","delivery","button","necessity","reader","lesson","trust","green","experiment","escape","craft","pistol","limit","witness","error","assistant","grace","salary","alarm","fist","potential","withdrawal","phase","bell","perspective","rose","score","amendment","fever","tip","god","crop","vehicle","barn","symbol","tale","exception","shift","scheme","suicide","tendency","logic","license","pollution","trend","bath","focus","producer","distribution","cotton","alternative","vacation","muscle","cycle","steam","palace","harm","location","beef","shame","policeman","compromise","tube","participation","fat","item","curiosity","blade","membership","lord","departure","shade","acid","enterprise","jet","selection","jungle","bond","retirement","alliance","bow","railroad","soup","airline","divorce","sofa","gear","gentleman","robe","plot","speaker","examination","egg","handful","recovery","embassy","entry","bastard","improvement","grip","invitation","barrel","context","controversy","fiction","revenue","reply","garage","crash","collar","landscape","grief","pen","teaching","angle","trunk","acceptance","recession","abortion","explosion","application","counsel","dignity","paint","landing","mixture","triumph","stove","winner","summit","thumb","depth","feature","setting","payment","grave","notice","museum","cop","graduate","sidewalk","taxi","trick","lamp","photograph","index","tray","essence","empire","tragedy","alcohol","flower","phenomenon","contribution","shower","castle","cross","booth","lawn","intensity","abuse","determination","passenger","opera","publication","wrist","hint","learning","punishment","ad","skirt","servant","prisoner","physician","midst","purse","rank","neighbor","elbow","contempt","round","cave","coverage","weakness","panic","basketball","juice","shooting","exposure","brick","miracle","unity","accent","coalition","fur","envelope","horizon","glory","stress","delight","politician","conscience","despair","rail","virtue","parent","dispute","killing","corruption","pound","core","stake","proportion","assault","curtain","efficiency","infant","count","suspicion","complex","formation","lock","entertainment","conduct","wit","outcome","shuttle","companion","discrimination","aunt","anxiety","shelter","confrontation","tool","climate","peak","cage","darling","assumption","stability","well","flame","marketing","currency","electricity","text","regulation","comedy","automobile","scientist","cake","scandal","contest","glow","cigar","arrest","brush","boom","basement","document","assembly","output","hut","slave","marble","breathing","pitch","loyalty","affection","resignation","guide","frustration","bureau","adviser","fleet","sector","privacy","awareness","fantasy","speculation","queen","tide","brass","formula","curve","zone","skull","sin","cable","corporation","foundation","achievement","countryside","monster","killer","strain","mask","breeze","whiskey","gang","rhythm","interpretation","basket","extension","tissue","satellite","doctrine","motor","hunger","intervention","kiss","fee","portrait","drawer","analyst","economist","reflection","visitor","transit","reception","provision","slope","sheriff","tunnel","complaint","devil","liquor","throne","hook","temple","tribe","preparation","handle","shoe","origin","helicopter","ruling","injury","crack","flash","gown","jaw","hallway","consequence","depression","subway","leave","drawing","cabinet","initiative","embarrassment","holiday","wilderness","towel","purchase","indication","sink","morality","impulse","rent","enforcement","utility","detective","comparison","critic","dish","hack","photo","crown","operator","conspiracy","rhetoric","bull","inquiry","humanity","demonstration","grade","alley","male","plain","pillow","remark","beast","seed","observation","guerrilla","straw","occupation","champion","excuse","possession","kingdom","snake","nerve","roll","horn","objective","cargo","mate","offense","resort","sequence","apple","bullet","presidency","strip","stroke","pig","print","champagne","saddle","dialogue","suitcase","protein","cook","quantity","toilet","chill","ranch","squad","priority","concert","van","adventure","representative","custom","shell","pension","prince","wound","video","courtroom","suffering","clay","actress","pencil","assignment","shelf","primary","waiter","charm","wool","sweater","soap","psychology","widow","delay","obligation","therapy","sergeant","shortage","myth","collapse","delegation","wish","perception","receiver","sauce","painter","reach","dear","fabric","carrier","ladder","hatred","dancing","cottage","opponent","dealer","prosecution","whisper","spread","poll","beam","exhibition","sigh","fog","harbor","successor","relation","gallery","prize","fireplace","fighter","pit","representation","prosecutor","liberty","bargaining","ownership","root","tin","celebration","stretch","nightmare","transport","link","diplomat","flood","architect","peasant","female","lab","category","inside","tune","carpet","mercy","fraud","introduction","facility","net","temper","rug","conception","eating","legend","tourist","refusal","disappointment","sensation","innocence","transfer","powder","parade","pursuit","parlor","pine","orbit","promotion","senator","colony","cart","interior","productivity","trap","identification","ambition","hip","admiration","corpse","emperor","patch","realm","barrier","ambassador","carriage","residence","maid","gathering","switch","lieutenant","sorrow","contrary","legislature","cliff","lightning","ritual","mist","salad","separation","flour","continent","poison","elite","radar","assessment","outfit","ideology","pad","exile","praise","employee","succession","gain","illusion","option","gravity","journalist","businessman","constitution","singer","sentiment","scope","transition","warrior","cast","march","herd","intent","inspection","episode","uncertainty","spell","isolation","observer","glimpse","privilege","spy","toy","thread","margin","anniversary","irony","organ","lecture","misery","needle","revolver","composition","admission","odor","candy","bid","classroom","bride","vitamin","refrigerator","sandwich","subcommittee","rescue","lad","defendant","blast","angel","compartment","vegetable","minimum","violation","agony","edition","compensation","evolution","treasure","salesman","log","clinic","layer","pitcher","publisher","suite","estimate","airplane","tournament","trace","hammer","reward","broadcasting","running","raid","specialist","mortgage","oak","pole","rocket","aisle","brandy","bureaucracy","mustache","vessel","penalty","export","orange","ignorance","hostility","integration","motive","ban","consultant","timing","equivalent","patrol","liver","assassination","instruction","leaf","railway","freeze","mention","designer","daylight","velvet","amusement","bush","fly","cloak","copper","orchestra","mechanism","chocolate","instinct","circuit","feed","courtyard","mob","profile","bombing","retreat","favorite","revenge","infection","historian","theatre","consent","bucket","mill","insult","pregnancy","psychiatrist","employer","presentation","swing","removal","financing","destiny","label","finish","ghost","channel","equality","requirement","dock","statue","doll","fan","mistress","oven","rim","scent","restraint","frontier","twin","framework","surveillance","diamond","pie","lion","cord","posture","wallet","stool","rally","realization","banker","invention","province","colonel","ally","inspiration","encounter","makeup","certainty","venture","takeover","daddy","ratio","fatigue","verdict","pardon","caution","scream","sleeve","coin","album","acquisition","laundry","transformation","handkerchief","candle","terminal","elephant","madness","appetite","rod","manufacturer","voyage","locker","pulse","indictment","riot","giant","sample","heritage","instance","hay","cure","clan","navy","monopoly","photographer","cowboy","bishop","linen","sacrifice","mortality","dilemma","frequency","harmony","junk","component","bargain","dragon","ruler","replacement","maker","blessing","resentment","surge","costume","editorial","mansion","hood","cellar","bout","driveway","championship","ambulance","sickness","guitar","rejection","compound","launch","journal","sculpture","preference","balcony","lid","toast","chart","motel","agenda","sadness","dimension","verse","scholar","submarine","confession","carbon","thunder","canal","socialism","merchant","bolt","insight","tub","topic","wolf","ridge","shed","gambling","arrow","con","lodge","bicycle","complexity","liberation","disorder","urge","circulation","pickup","distress","spine","romance","anticipation","military","lamb","gloom","pond","republic","ballet","bankruptcy","appreciation","rebellion","custody","feast","fluid","expedition","altar","recipe","array","anguish","harvest","sack","fraction","loneliness","trailer","notebook","surgeon","slip","festival","inability","pan","clearing","making","revival","rack","flashlight","sociology","heir","segment","moonlight","reign","exploration","burst","pet","charity","bundle","assurance","murderer","thrust","conservation","confirmation","outrage","quest","grant","perfection","liquid","stance","jar","essay","addition","diplomacy","rat","outlook","capability","broadcast","cocktail","breeding","immigration","optimism","urgency","helmet","correspondent","breakdown","domain","dressing","dancer","pork","colleague","crystal","insistence","guarantee","lane","dependence","chapel","transmission","hunt","turkey","veto","canoe","interference","sailor","arena","refuge","attraction","thesis","waitress","trigger","founder","briefcase","scholarship","commissioner","stack","lift","greeting","mining","partnership","cane","devotion","thief","troop","menu","finance","coincidence","sleeping","picnic","lounge","dose","jeep","brand","reasoning","proposition","administrator","cylinder","execution","commodity","drum","bronze","staircase","pin","whistle","robbery","catch","thigh","descent","canyon","ballot","shotgun","curb","nod","continuity","shaft","guess","gossip","jurisdiction","revolt","worry","recording","repair","saw","suspect","dome","globe","runway","resident","cemetery","conversion","black","passport","cease-fire","imitation","salvation","cement","creek","nephew","buddy","lung","embrace","ink","simplicity","sunset","astonishment","butt","oath","typewriter","outline","tribute","deadline","hostage","underwear","revelation","reluctance","dread","nest","nut","disposal","disclosure","destination","terrain","procession","recommendation","recorder","potato","ramp","accounting","bat","precision","heap","justification","fork","idiot","biography","prey","ivory","rumor","toll","robot","mix","glare","seal","sweep","haven","bike","courtesy","interaction","secrecy","ham","superiority","synagogue","calendar","ledge","engagement","lace","timber","turmoil","tooth","perfume","magnitude","veteran","lemon","cutting","tomb","accord","ammunition","spear","hunter","acquaintance","grocery","coming","pump","reservation","slide","award","institute","fringe","freight","accuracy","spectrum","ski","diameter","battery","desperation","pounding","variation","ankle","pepper","encouragement","cathedral","expectation","calf","monkey","suburb","rabbit","objection","dismay","boot","pipeline","lust","firing","aggression","ghetto","armor","merger","sphere","texture","moisture","kidney","broker","auction","hose","patent","hesitation","mound","cruise","goat","declaration","regret","conductor","terrace","contention","crap","manuscript","incentive","buyer","gin","principal","steak","novelist","criminal","heel","intellectual","conservative","quarterback","collector","motorcycle","refugee","punch","cluster","clown","preacher","torture","headache","pact","lump","buying","flavor","toe","spectacle","apron","banner","convenience","import","attendant","kindness","verge","dairy","umbrella","dam","inventory","turning","homeland","remainder","gum","plight","container","diversity","drought","reporting","biology","chemistry","curse","scar","merit","spray","reactor","shield","clarity","bamboo","metaphor","vocabulary","runner","luxury","diagnosis","bunk","white","statute","knock","garment","breed","railing","zoo","rival","supermarket","streak","pavement","discomfort","congregation","twilight","bacon","slot","scarf","dime","charter","grammar","theft","sensitivity","mainland","classification","coffin","rider","competence","adoption","reserve","fascination","specialty","mike","temptation","yield","evaluation","passing","intimacy","translation","philosopher","cafe","sitting","superintendent","pill","housewife","signature","correspondence","siege","inn","leftist","injustice","assertion","restoration","registration","farmhouse","denial","endorsement","predecessor","final","demon","greed","transaction","repression","mattress","nobility","embargo","bosom","gym","tenure","addiction","apology","double","litter","nail","incidence","merchandise","volunteer","labour","basin","fiber","whip","payroll","microphone","cruelty","ax","supervisor","resource","maturity","resemblance","cult","stadium","limousine","welcome","knot","probability","menace","nominee","characteristic","stare","vodka","obsession","nursery","paragraph","discourse","candidacy","battlefield","saint","hierarchy","precedent","imperialism","pope","intake","burial","freshman","rebel","mandate","clause","tile","electorate","torch","adjustment","implication","farewell","curriculum","fountain","satin","subsidiary","humiliation","slaughter","discount","crest","princess","asset","greenhouse","reorganization","irritation","ending","messenger","jealousy","breakthrough","mineral","baggage","mouse","tiger","memorandum","kit","substitute","paradise","stride","deed","accumulation","pledge","hull","projection","apprehension","glue","excellence","composer","decay","ditch","slice","beating","syndrome","parole","pony","saying","vulnerability","rental","wax","renewal","disk","athlete","warehouse","organism","disagreement","suspension","documentary","soda","availability","dedication","delegate","reminder","domination","leap","span","obstacle","counselor","taxation","grandson","banana","rehabilitation","stamp","anchor","diary","tunic","boycott","meadow","backyard","dismissal","rating","disc","glove","pasture","catalogue","inspector","exploitation","missionary","density","sail","excess","chemical","disposition","headline","wartime","atom","bartender","blue","wash","shark","negotiation","monument","mom","faction","echo","tomato","scrap","expenditure","plague","fortress","web","briefing","luncheon","vanity","ribbon","nostalgia","drill","frown","dioxide","sovereignty","sweetheart","cot","tag","laser","purity","melody","sanctuary","citizenship","poster","pal","marketplace","girlfriend","programme","retaliation","researcher","allowance","bedside","yacht","scenario","concession","offering","instructor","motivation","litigation","tolerance","puzzle","compliance","duration","quarrel","aura","crusade","salute","intellect","debut","eternity","monastery","immunity","flock","choir","stern","medal","meter","auditorium","equity","fairy","windshield","mare","conquest","razor","push","kick","battalion","generosity","whale","den","mama","emptiness","hysteria","hillside","ideal","landlord","stem","drain","temperament","orientation","spoon","associate","ash","wig","elimination","bark","boost","activist","stature","liar","vein","tract","telegram","completion","pizza","urine","hollow","ordeal","admiral","psychologist","rehearsal","questioning","musician","installation","ministry","puppet","axe","nitrogen","contractor","poker","arch","tractor","reverse","relative","buffalo","deployment","outbreak","pier","veil","summary","courthouse","academy","confinement","catastrophe","technician","specimen","bachelor","lobster","tyranny","discharge","graduation","shout","monitor","traveler","dope","user","vegetation","deposit","investigator","attic","rabbi","reversal","knight","innovation","probe","altitude","legacy","raft","boyfriend","twist","plaza","paradox","witch","folly","physicist","prophet","threshold","plaster","dentist","telescope","vault","climax","parish","balloon","probation","prescription","liability","wheelchair","blackness","colour","booze","exhibit","vest","abundance","hatch","sketch","cartoon","horseback","investor","violin","hazard","trader","stall","healing","prejudice","scorn","rum","accomplishment","limb","produce","epidemic","tumor","camel","starvation","insect","tenderness","cockpit","maximum","patriotism","chauffeur","parliament","capsule","deficiency","massacre","dessert","bail","meditation","petition","hypothesis","ruin","voter","wait","saving","imprisonment","nationalism","lawsuit","surrender","celebrity","contradiction","disgrace","betrayal","slogan","thrill","enjoyment","narrative","canopy","might","vaccine","fort","stereo","hearth","relaxation","asshole","avenue","fright","drift","width","guardian","portfolio","longing","brutality","frenzy","chaplain","chop","tactic","viewpoint","chip","banquet","closing","re-election","impeachment","wardrobe","cradle","facade","finding","tangle","adaptation","hamburger","analogy","fancy","counterpart","dissent","skepticism","gut","advocate","granite","equation","slump","vice-president","nap","foam","buildup","geography","scratch","major","preservation","folder","entity","defiance","nickel","monarchy","shack","teaspoon","chase","remedy","disappearance","foreman","seller","rag","youngster","allegiance","earthquake","columnist","goose","feather","bulb","imagery","bomber","overcoat","harassment","outsider","maze","reproduction","printing","reconciliation","kinship","grease","harp","parallel","stew","particle","accusation","criterion","garlic","boundary","scalp","recess","bearing","warrant","dictatorship","breach","bladder","elegance","fervor","disapproval","monk","tweed","loser","hen","shrug","junta","disguise","gulf","landmark","bourbon","reconstruction","decency","register","feat","hostess","workshop","accommodation","wreck","referendum","viewer","niece","flank","autopsy","boarding","grove","decoration","stain","cape","prophecy","bubble","asylum","commentary","grandeur","subsidy","seizure","badge","limitation","armchair","pro","spark","blaze","centre","split","peril","fusion","goodbye","ringing","solitude","handwriting","crossing","onion","rubber","forefinger","bait","solidarity","measurement","multitude","dump","novelty","truce","perimeter","alien","decree","opposite","constituency","maneuver","ransom","supplier","performer","murmur","coordination","hobby","dough","lantern","cherry","fox","quota","deterioration","flaw","millionaire","raincoat","skeleton","bum","washing","plantation","spotlight","arsenal","villa","sermon","compliment","podium","collision","ratification","jam","loft","theology","escort","tyrant","ore","caste","brokerage","lighter","screw","inheritance","eagle","annoyance","napkin","rationale","flurry","mall","dresser","autobiography","slate","cheer","sulfur","assortment","memorial","electron","detachment","addict","shrine","mold","rookie","astronaut","diesel","neon","heroine","clash","recollection","sweetness","complexion","stewardess","adversary","trance","virgin","screening","classic","nuisance","uprising","shipment","mug","stairway","supporter","famine","stench","click","stupidity","bug","throw","lumber","current","mentality","regiment","galaxy","patron","tap","mischief","contingent","gospel","racket","liaison","honeymoon","foliage","leak","doom","irrigation","mechanic","chef","viewing","swamp","void","mule","lottery","pastor","steward","ranking","survivor","tuition","medication","misunderstanding","prediction","forum","oppression","ale","expanse","consultation","pawn","attachment","franchise","intercom","chunk","mat","pioneer","prairie","familiarity","undergraduate","tenant","chimney","cereal","thirst","pub","packet","aftermath","outburst","habitat","federation","deduction","pageant","circumstance","discontent","microscope","sausage","coma","want","intersection","detention","shrimp","deception","illustration","manipulation","ecstasy","dash","eyebrow","ray","persuasion","builder","injunction","foe","inclination","precinct","slab","anthropologist","amnesty","loaf","radical","intrusion","dwelling","calculation","paperback","usage","paste","ashtray","shovel","capture","ferry","preoccupation","joint","filing","spit","womb","puff","quilt","squadron","playwright","rotation","lease","brilliance","burn","cough","spouse","assassin","flu","cabbage","reliance","console","carpenter","dependency","advertisement","lipstick","mahogany","disadvantage","holder","furnace","certificate","alienation","collaboration","extinction","austerity","pupil","tenor","foyer","bluff","whisky","similarity","pouch","chant","nun","hike","babe","com","input","pianist","treason","brake","shake","dividend","repetition","fisherman","pinch","persecution","brightness","disdain","sunrise","gleam","premise","shawl","kettle","forecast","recipient","strap","outlet","chalk","plywood","nickname","fulfillment","doorbell","keyboard","peanut","knob","compass","interval","intuition","clearance","format","shuffling","dent","ambush","chatter","lettuce","harness","hiring","ache","continuation","fit","friction","pretense","velocity","tavern","abdomen","scout","splendor","barber","flap","plateau","hedge","raising","visa","dictator","housekeeper","cafeteria","enrollment","sailing","ingenuity","limp","bard","consistency","ordinance","bathrobe","gauge","strand","taxpayer","spider","coward","reservoir","brigade","self-interest","crackdown","crib","hum","roommate","traitor","blend","kitten","setup","dagger","sophistication","clout","goddess","disability","touchdown","fertilizer","punk","agitation","seminar","hitter","crust","comprehension","nightgown","gamble","freak","stump","microwave","lever","libel","playground","exhaust","abstraction","picket","diversion","advancement","bourgeoisie","coordinator","myriad","dial","diagram","sensibility","donor","endurance","prominence","playgroup","transmitter","revision","consolation","storyteller","jewel","mourning","burglary","competitor","narrator","verb","butterfly","rationality","ant","mister","satire","placement","reunion","plunge","comb","commuter","carving","hormone","creator","swim","clip","necklace","frost","fix","allocation","thickness","happening","disruption","caravan","rodeo","axis","submission","insanity","protocol","caller","porcelain","aristocracy","interrogation","boyhood","muzzle","delicacy","teenager","undertaking","textile","tailor","defence","comeback","zero","wizard","cupboard","cynicism","behaviour","holster","bulletin","broom","receptionist","listener","exemption","flicker","exam","treasury","hug","interruption","no","drugstore","roast","trifle","jerk","exclusion","inmate","contra","permit","gene","melancholy","alcoholic","trainer","perspiration","instability","doorman","deterrent","occurrence","hem","pricing","wear","hog","cushion","commune","courtship","paradigm","down","participant","triangle","apprentice","prevention","forearm","symptom","flush","newcomer","announcer","gorge","frog","platoon","hawk","rivalry","trench","geometry","clubhouse","feller","hymn","dictionary","showing","homicide","crow","pneumonia","gourmet","flannel","congress","dislike","illumination","jockey","superpower","papa","absorption","fragment","catalog","genre","hypocrisy","duel","cone","organizer","fraternity","cubicle","hardship","restriction","gasp","authorization","partition","barrage","groan","waterfront","aerial","cinema","proximity","mockery","compulsion","slum","default","evacuation","fugitive","carton","chariot","masterpiece","nylon","dialect","tee","bathtub","congressman","vapor","disturbance","mailbox","take","groin","moss","shepherd","formulation","foreigner","solo","elder","textbook","predicament","trait","reef","intruder","captivity","commotion","farce","royalty","exasperation","developer","expulsion","plaid","believer","migration","gal","fitness","idealism","galley","offensive","hometown","sophomore","clump","launching","mast","slowdown","generator","make-up","mount","worm","chuckle","prototype","catcher","crotch","interpreter","graveyard","mane","premium","cuisine","jeopardy","reassurance","vantage","condemnation","vase","blackout","token","abandonment","maple","magician","bust","syrup","cassette","pick","madman","cleaner","throng","hanging","riding","villain","squeeze","wallpaper","lime","blur","modification","clatter","anonymity","lineup","polish","accountant","setback","neutrality","modernization","borrowing","kill","dwarf","amateur","expectancy","donkey","fella","contamination","ballroom","kidnapping","popcorn","entourage","crook","ambiguity","coral","roadside","fragrance","slack","spectator","stimulation","groom","rattle","synthesis","tan","skipper","distrust","siren","spin","revulsion","signing","booster","savage","glamour","flute","civilian","flask","tug","misfortune","therapist","plug","standpoint","weed","ecology","footing","patio","decor","malpractice","residue","passageway","chopper","batch","acceleration","depot","quarry","hound","pilgrimage","deference","splash","heartbeat","rap","wedge","indicator","pretext","make","saloon","clientele","poisoning","hemisphere","grotto","ignition","cover-up","ape","transcript","blizzard","crab","ration","puck","propriety","hunch","madam","imbalance","jug","manual","raise","silhouette","sponsor","bore","volcano","crate","humility","devaluation","rocker","rainbow","chap","informant","freezer","limestone","guise","valve","appraisal","handicap","correction","bra","sinking","turnout","manure","pail","cardinal","grape","bee","rumble","miner","dissatisfaction","pamphlet","plaque","chat","injection","pulpit","platter","symphony","molecule","rib","pyramid","shudder","dissolution","vinegar","calling","acreage","chick","cuff","scrub","orphan","porter","saucer","antenna","trophy","rig","convent","good-bye","troupe","ploy","niche","veal","semester","contender","grenade","hilt","spiral","stink","marathon","boulder","treasurer","cookie","peninsula","freeway","rainfall","showdown","parody","telling","statesman","decrease","symbolism","pillar","tremor","penetration","carcass","breadth","psyche","hiss","suppression","pottery","dormitory","scare","overtime","bean","schoolteacher","timetable","buzzer","mesh","jack","marshal","windfall","lance","uterus","inconvenience","chrome","brute","gardener","whim","pearl","fold","trim","ravine","critique","adultery","stretcher","trolley","elevation","worthy","vibration","bracelet","plank","jelly","foil","wrestling","colon","layout","quotation","sting","son-in-law","jargon","likeness","knack","defect","sedan","tilt","chore","moratorium","convoy","piety","acknowledgment","formality","thud","blockade","chord","hush","takeoff","lining","marsh","manifestation","humidity","ingredient","crater","liking","pigeon","abolition","granddaughter","vintage","flourish","playoff","prostitute","prick","oblivion","sociologist","helping","locomotive","contraction","bookstore","surrogate","hippie","sherry","scotch","packing","wink","spasm","conglomerate","ensemble","dugout","insider","sect","inclusion","feedback","trumpet","massage","constituent","brotherhood","directory","newsletter","comrade","grid","turtle","restructuring","reel","spur","comet","dummy","combustion","moustache","oversight","motto","mantle","handshake","mouthful","monologue","buffet","miss","crunch","waking","gray","exaggeration","gait","clutch","courier","hangar","dive","curator","ridicule","diaphragm","tow","projector","eclipse","parcel","lure","transplant","township","squash","commentator","mentor","gutter","stint","treat","germ","infinity","impasse","burglar","proprietor","tariff","dispatch","torment","dove","superstition","going","tempo","warden","sponge","rooster","barge","gorilla","draw","wharf","stallion","countenance","orchard","navigation","tar","biographer","wheelbarrow","imposition","hurricane","stronghold","distortion","starter","rash","feud","parting","interviewer","wrongdoing","lavender","low","leash","envoy","stairwell","backup","doorstep","negotiator","heading","excursion","sewer","endeavor","backbone","rite","vine","gypsy","directive","defender","scoring","esteem","torrent","gland","consortium","nightclub","swell","employe","obscenity","cavity","pulp","lifestyle","butler","peach","tack","fossil","glitter","liner","destroyer","flyer","individuality","roller","outcry","felony","artery","cruiser","bedding","dude","bounty","blindness","bodyguard","corral","coroner","spice","martini","contingency","gag","serving","wail","wrench","sock","safe","spite","broth","trustee","moth","vice","gender","cartel","casting","puppy","prohibition","ox","sculptor","treachery","stir","printer","audit","brim","handbag","lobbyist","jolt","comedian","distraction","challenger","telegraph","homage","evasion","detector","filling","overhead","cartridge","walnut","sonar","puddle","quake","flooding","crescent","thrift","following","tanker","stoop","clergyman","opener","latitude","anatomy","convertible","arbitration","leukemia","absurdity","stab","biologist","baseman","fuse","specialization","carnival","scarcity","gangster","stalemate","trickle","mallet","working","receipt","charcoal","mortar","drainage","mother-in-law","regularity","emigration","plasma","condominium","muck","workplace","roster","stroll","softness","serpent","owl","infield","sill","swallow","backdrop","fidelity","historiography","thicket","baking","omen","yell","functioning","bribe","dynasty","trough","pudding","alcove","ancestor","ripple","flint","bracket","cube","pasta","proxy","groove","commercial","holocaust","countess","scroll","bang","planting","premiere","norm","bloom","gunman","vow","arithmetic","accelerator","postcard","relish","semblance","whine","inventor","sarcasm","designation","pat","symmetry","quiet","chisel","experimentation","cutter","differentiation","stud","apathy","relay","seminary","escalation","life-style","coil","mythology","futility","intimidation","childbirth","flare","glint","rue","mural","whiff","deposition","vogue","animation","migrant","caretaker","dot","mediator","lookout","captive","blackboard","pocketbook","recourse","negation","plaintiff","shriek","obstruction","latch","manor","casualty","grunt","gambler","erection","nationality","epic","starch","delusion","linkage","provocation","avalanche","offender","melodrama","contentment","appropriation","tonic","salon","accompaniment","paranoia","grimace","communion","cancellation","pendulum","shoreline","hail","refinery","subtlety","videotape","commando","repertoire","refinement","dryer","rust","lapse","haircut","errand","ailment","reanimation","ther","tab","prom","contemplation","bin","gilt","bunker","protector","sage","hilltop","hue","blueprint","correlation","brochure","roadway","arson","remnant","breaking","bouquet","exertion","garrison","beneficiary","colt","turbulence","refuse","bravery","indulgence","assimilation","coastline","livelihood","swarm","configuration","lecturer","paw","upheaval","switchboard","sub","claw","downfall","dye","immigrant","specter","deprivation","shrink","marker","sampling","fellowship","beak","pantry","mouthpiece","gratification","qualification","finality","debacle","extortion","chieftain","speaking","totalitarianism","mole","incumbent","jumper","crush","stubble","terrorist","comic","farmland","contributor","gravy","blossom","keeper","craftsman","pavilion","obscurity","loading","affiliation","vacancy","proclamation","gaiety","yarn","enclosure","clamor","sucker","recruitment","subversion","boiler","emblem","spade","stocking","staple","vocation","sling","maniac","musket","primitive","periphery","idol","snack","antique","redemption","listing","airliner","bandage","bulge","glimmer","priesthood","diner","astronomer","ovation","kindergarten","module","lifting","radiator","booklet","resurrection","precaution","affinity","thinker","quote","turbine","tally","vise","landslide","bakery","portal","majesty","abyss","admirer","turnaround","airfield","wastebasket","lapel","pennant","complication","slick","initiation","rustle","hearse","schooner","carrot","inscription","wench","embryo","vet","poise","disintegration","procurement","speck","kite","vent","plow","homosexual","membrane","waterfall","teevee","matron","utterance","buffer","memoir","cork","recital","loathing","cameraman","throttle","insecurity","trooper","hinge","hoard","umpire","slug","mountainside","affliction","pastime","felt","sentry","denomination","mushroom","linebacker","parachute","teller","fender","trademark","specification","harem","plum","metabolism","certification","neutron","organisation","heresy","relocation","payoff","lizard","termination","dropout","torpedo","stepmother","helm","resonance","heed","progression","braid","cardboard","walkout","shiver","gust","foreground","replica","repertory","sparkle","seam","bump","substitution","rapport","casket","dew","squirrel","palate","hitch","rebirth","reverie","boon","pirate","foresight","vinyl","delta","moat","presumption","tablespoon","aroma","digging","heartland","healer","malaise","creed","archway","exterior","screenplay","examiner","parity","copyright","strawberry","outpost","bookcase","cashmere","bikini","sheaf","pastry","respite","divinity","impossibility","legislator","saga","thump","inauguration","seaman","degradation","strategist","emerald","anthem","affront","burner","entrepreneur","thorn","marvel","stair","cavern","swivel","outlaw","underside","cleanup","fin","catalyst","forage","tapestry","dosage","covering","proletariat","turnover","notch","misconduct","onslaught","upbringing","coyote","bumper","champ","creep","boxer","mileage","vigil","fodder","occupant","dashboard","rarity","centerpiece","consul","ascent","paddle","martyr","doctorate","runoff","grudge","tattoo","robber","carbine","holding","oratory","distributor","heavyweight","footnote","terminology","infrastructure","drummer","chili","tableau","dung","magnet","deceit","caricature","itch","refund","cripple","rectangle","mortal","ancestry","inequality","generalization","furor","relativity","jukebox","dune","endowment","pathology","calibre","subpoena","attrition","hump","congestion","reflex","hoax","honour","herb","mantel","articulation","washer","judgement","brace","printout","helper","wording","crisp","shortstop","boulevard","characterization","cashier","matrix","documentation","deadlock","oyster","chasm","outing","expiration","heater","nutrient","beacon","bile","grievance","janitor","skyline","patrolman","juncture","antagonism","rump","hardwood","solace","warhead","assent","litany","enactment","chimpanzee","rye","feeding","suede","coke","inference","ivy","mosquito","eruption","symposium","variable","cooler","filter","storeroom","mailing","chancellor","beggar","antiquity","inertia","motif","absentee","float","blush","embankment","riverbank","demeanor","vampire","disciple","inadequacy","reinforcement","pedestrian","persona","berserker","tumult","incline","beaver","grill","morgue","denim","wreath","grouping","relic","syndicate","rancher","idiom","hegemony","seating","affirmation","physiology","repose","blight","jest","turret","slit","goalie","clarification","avoidance","volley","redhead","inefficiency","folklore","embodiment","afterthought","steer","cyanide","digestion","continuum","mania","giggle","buggy","willow","pantomime","fireman","growl","devastation","navel","halo","yearning","laborer","alligator","prelude","verification","brown","bead","midget","sleeper","riddle","portrayal","counterattack","lectern","tutor","chestnut","remembrance","aversion","taking","billing","regimen","translator","headmaster","duke","ace","snort","fanfare","imprint","calamity","exposition","cedar","intrigue","transistor","bowel","boardwalk","tramp","ornament","sticker","processor","voltage","sovereign","whistling","orgasm","caliber","exuberance","snout","enclave","kilt","bombardment","corporal","overhaul","syllable","curfew","layman","consolidation","insignia","mediocrity","coherence","hospitalization","flick","pew","coloring","sanction","baritone","radicalism","savagery","pallet","stead","cadet","shutdown","supplement","unicorn","stepfather","excise","spelling","rebound","puzzlement","tenement","souvenir","veneer","safari","quartet","whirlwind","hamlet","practitioner","parasite","installment","emission","kissing","chronology","mosque","chairmanship","blonde","steamer","caption","shave","standstill","maiden","polling","condor","twinge","campfire","drinker","exhilaration","seafood","gala","crane","hickory","cathode","graph","orgy","deliberation","planner","marrow","bud","mediation","cutoff","tit","tic","parchment","noun","culprit","lair","showcase","hangover","chemist","aggregate","thriller","smack","efficacy","smear","heiress","crank","fig","finale","pea","staging","die","rebuke","curry","scum","potency","acclaim","collateral","schoolboy","canteen","radius","deportation","grate","madame","mop","pronunciation","sheen","respiration","breakup","professional","omission","gunshot","ugliness","fanatic","barbecue","dorm","trot","flattery","stereotype","hatchet","capitalist","purge","brew","totality","fern","enzyme","plumber","subscription","cholera","bruise","forge","nipple","commencement","superstar","ether","gem","sash","extraction","spaceship","golfer","realist","encampment","necktie","repayment","skillet","darky","disparity","bedspread","haul","questionnaire","promoter","wand","windowsill","victor","rector","enamel","hoop","coronation","patriot","chandelier","watchdog","glade","renovation","goblet","zipper","communique","crevice","motorcade","sequel","scourge","serum","single","icebox","junction","cache","berth","streetcar","syringe","antithesis","bureaucrat","blacksmith","oval","bun","loot","fiasco","tomahawk","ulcer","pinball","jersey","asthma","brook","pedestal","feeder","soot","inevitability","alteration","carrying","showroom","gimmick","lunatic","gall","fir","borough","hash","woe","controller","sponsorship","applicant","twig","screaming","librarian","intermission","sister-in-law","bushel","inflammation","pomp","vial","extravagance","pate","prostate","dolphin","tuxedo","mathematician","guinea","veranda","aperture","disillusionment","gavel","dating","knocking","oasis","nebula","woodland","yellow","ambivalence","hardness","oxide","socket","wasteland","leopard","blazer","follower","asking","urn","weaving","swimmer","closure","dart","loudspeaker","bazaar","bog","transfusion","reproach","sham","parka","affiliate","scowl","primate","attacker","rink","funnel","spate","elaboration","legality","tablet","heyday","tripod","bully","sharpness","demolition","flip","dandy","appliance","slant","sentimentality","knoll","gloss","defection","explorer","ram","stupor","clone","baton","cohesion","bearer","penance","bandit","aberration","gallop","swirl","coconut","spree","pedal","detergent","canon","teen","brood","phonograph","tabletop","enlargement","sniper","cohort","fable","rising","spill","affidavit","imperative","snapshot","apparition","stunt","wristwatch","chute","teammate","carelessness","over","stripe","postponement","rapture","savior","pacifist","admonition","pear","junkie","surcharge","wavelength","horseman","hag","confessional","comptroller","orthodoxy","financier","snarl","cliche","refreshment","incest","adolescent","teapot","seaweed","drilling","roadblock","antibody","sheath","pallor","constable","misuse","arcade","lee","keep","anarchist","watering","rhyme","exclamation","backseat","great-grandfather","han","pod","daughter-in-law","mailman","alphabet","sloop","reckoning","grower","simulation","homer","birthplace","ence","actuality","depletion","novice","diffusion","concealment","cadre","pathway","fungus","ouster","loner","autograph","descendant","aspiration","better","sick","variant","fragmentation","pesticide","frigate","bestseller","propensity","foul","senate","trouser","airstrip","insurrection","chronicle","coating","stigma","toothbrush","pumpkin","apprenticeship","widower","paycheck","query","teen-ager","shifting","informer","doorknob","ardor","pebble","finesse","scrapbook","fiddle","dowager","sod","wrap","turtleneck","clipboard","rogue","mutiny","suitor","bulkhead","babble","fad","billboard","beverage","hairline","grille","exporter","pathologist","mesa","goblin","scapegoat","crucifix","backpack","observance","forgery","dungeon","methodology","gauze","bonanza","inkling","beret","shouting","ex-wife","wickedness","toil","preview","porridge","cornerstone","scanner","smoker","rebate","mite","brawl","axle","easel","allegation","grab","parrot","antidote","drawl","hijacker","telltale","venom","el","baron","intermediary","seduction","birch","contour","redistribution","cam","protagonist","enmity","hulk","stockbroker","decorator","cookbook","protege","mage","cricket","smock","apex","cortex","modem","shareholder","lament","determinism","rift","tablecloth","trajectory","preface","sneer","gamma","rendition","insemination","aristocrat","hare","labyrinth","thaw","invalid","staffer","alpha","fingernail","medic","crutch","entertainer","jade","eminence","discrepancy","yawn","flea","ledger","orphanage","getaway","manifesto","hijacking","incarnation","elm","adobe","spruce","gist","grit","boar","oracle","mobilization","cantor","crypt","cutback","musical","fallacy","corduroy","fray","racetrack","buckle","foreboding","pest","clap","ber","notation","peek","sow","ballad","brat","constellation","lard","industrialist","hunk","assailant","splinter","bridegroom","dip","fixture","cadence","watchman","windmill","prerogative","drawback","bungalow","heaving","nationalization","mating","writ","rationalization","milking","modernism","landlady","calculator","animosity","workout","skirmish","glycogen","discord","portico","vestibule","renegade","overdose","iceberg","lineage","mosaic","liturgy","watershed","playing","lobe","dowel","ranger","dossier","anvil","co-operation","satchel","fa","corollary","bridle","gateway","brothel","monotony","vendor","mysticism","saucepan","accomplice","hernia","guild","pup","hoof","sparrow","dreamer","craving","outpouring","blink","overlap","duct","brownstone","maneuvering","stagger","foothold","craze","monsoon","induction","handgun","scan","constraint","citadel","rigidity","anecdote","halter","occupancy","rightist","convict","tribunal","stalk","waterway","debtor","yoke","audition","inconsistency","peg","sliver","midwife","premonition","ruby","conduit","excavation","fart","condenser","hop","poodle","upsurge","attainment","stitch","crimson","anomaly","backlog","yeast","chimp","awning","gig","parable","drumming","tiptoe","prow","bypass","crease","reformer","intestine","counterpoint","enormity","anthology","rudder","shroud","magistrate","twitch","commonwealth","circumference","stuffing","sweating","scattering","lender","dripping","legion","refrain","mummy","covenant","morbidity","prop","initial","alignment","licence","infusion","unification","rebuttal","adjective","humour","larceny","mistrust","horde","assemblage","delinquency","testament","convert","patrician","dissension","cider","infidelity","bonnet","displacement","crackle","edifice","conciliation","bondage","schizophrenia","embroidery","standoff","monotone","oddity","mobile","tornado","semicircle","panorama","ex","ping","yogurt","screech","underdog","quay","tai-pan","extract","podesta","ticking","shrubbery","backside","communicator","sorcerer","interlude","dominion","battleground","taboo","blunder","conjecture","drone","cove","maverick","secondary","companionway","rook","gauntlet","ordering","violinist","rooftop","slash","thermometer","vomit","anteroom","deity","nave","acquittal","talker","reed","concussion","malfunction","tundra","cub","anemia","constructivist","cocoon","divide","keeping","percussion","freighter","noose","narcotic","expediency","grandchild","gully","innkeeper","pigment","bloodstream","quiver","alderman","halftime","stable","fission","aggressor","denunciation","abduction","expressway","uniformity","faucet","buff","broiler","allusion","jock","spike","herald","polyester","genocide","fer","parapet","classmate","tinge","sandstone","lurch","skunk","huddle","mum","tranquilizer","pharmacy","susceptibility","penicillin","lark","hoe","lily","hanger","headset","john","appointee","advisor","twine","slumber","magnetism","schoolgirl","smash","screwdriver","newsman","sleet","cleavage","lacquer","milestone","commandant","crick","splitting","rosary","edict","hurdle","fixation","appendix","lock-mechanism","eyelid","swath","fingerprint","carbohydrate","tick","magnate","heck","sailboat","donation","malady","polishing","clipping","collective","sensuality","loom","swagger","facet","variance","mean","walkway","aptitude","prodigy","solemnity","understatement","ebb","scoop","wrapper","narration","icon","prerequisite","planter","gash","interplay","evangelist","drip","vulgarity","subdivision","backwater","euphemism","lotion","corpus","broadcaster","toothpaste","curmudgeon","fo","thong","thatch","baptism","peacock","workman","downturn","scoundrel","machete","creak","five-year-old","dissertation","dishwasher","pimp","electrician","tycoon","otter","shove","snail","rendering","nobleman","booking","pronghorn","deadpan","shutter","escalator","girdle","fling","hire","alibi","flop","stampede","prognosis","itinerary","cologne","spoonful","detour","violet","watcher","falsehood","hype","locale","estimation","propeller","squaw","pickle","lass","pun","racist","scratching","rout","downpour","casing","complacency","camper","equator","reticence","learner","outcast","brunette","improvisation","stag","maxim","loophole","livery","blasphemy","shoot","solvent","misdemeanor","buyout","tiller","jetliner","checkbook","awakening","sideboard","romanticism","squire","newsstand","nuance","consulate","excrement","reprisal","bastion","beginner","obituary","softball","conjunction","scripture","phalanx","vindication","grub","swig","inaction","redwood","scabbard","bonfire","casserole","ovulation","unreality","totem","palette","choreographer","peasantry","skyscraper","penitentiary","outfield","melon","bounce","yolk","diver","archbishop","plurality","amber","recurrence","adulation","piston","insurgency","stoan","coop","tart","eyeball","toss","giveaway","cross-examination","dissident","hermit","ruse","ture","pore","leaving","dowry","gunner","epitome","snowstorm","summation","switchblade","crock","ity","frock","luster","piazza","rotor","impropriety","pivot","blender","immediacy","borrower","slaying","feminist","preserve","bidder","depiction","parasol","clover","intern","asteroid","stub","barricade","medley","multiplier","smirk","knapsack","hank","cognac","headway","treatise","homestead","troublemaker","giraffe","mover","allotment","drowning","naturalist","orderly","attribute","scalpel","shipyard","estrogen","educator","enrichment","grandstand","sire","perversion","sideline","landowner","confidant","gel","deviation","clemency","liberal","bigotry","filly","six-year-old","lifeguard","shred","adversity","shelling","pineapple","referee","knockout","jigsaw","retailer","extremity","outgrowth","amplifier","sinner","campground","teasing","steamboat","turban","mutton","cobra","contraption","chopping","schoolhouse","varnish","pane","observatory","ballerina","czar","immensity","lethargy","reimbursement","undershirt","concierge","fracture","variability","accordion","slime","meanness","gelding","practicality","advertiser","graft","gull","stockholder","pilgrim","hooker","puritan","benediction","barbershop","stanza","hallmark","mishap","harpy","silage","enchantment","whirlpool","conditioner","gadget","divestiture","lathe","incarceration","amalgam","antibiotic","annexation","martyrdom","pyre","shank","alert","shale","artifact","interchange","mystic","meet","grinding","triple","boutique","antagonist","fermentation","twinkle","sweetie","shin","creditor","amulet","pall","posse","homeowner","skier","vastness","smith","allegory","oxidation","cracker","levy","ark","sporophyte","enthusiast","snob","spinster","searchlight","waistband","lorry","repeat","reprieve","slalom","respirator","visor","reviewer","putt","miscalculation","shortfall","concourse","dialectic","native","hairdresser","normality","immorality","sprinkling","allure","lick","drudgery","habitation","gondola","vista","ice-cream","cheerleader","predator","countdown","juxtaposition","stumbling","muffler","derby","timer","salvage","boast","cabbie","clam","windbreaker","retardation","antelope","shampoo","raccoon","bible","glider","momma","valise","coffeepot","emissary","compression","grail","guideline","lavatory","glaze","outpatient","thunderstorm","foray","co-op","valet","baker","sycamore","thumbnail","nozzle","timidity","orator","liquidation","spokeswoman","militant","jig","naivete","motorist","dumping","armpit","margarine","exultation","headboard","plume","amplitude","flutter","pronouncement","finery","trepidation","airing","coupon","knuckle","gametophyte","deathbed","extermination","alleyway","hybrid","gambit","nova","binge","original","froth","lighthouse","coolant","continuance","collaborator","fuselage","profanity","whirl","saber","filmmaker","checkup","shaman","rancor","retort","earring","sieve","post-mortem","implantation","conceit","simplification","vat","proficiency","deluge","kiosk","outlay","tantrum","flooring","veterinarian","fireball","carousel","bandanna","glacier","censure","citation","oar","fridge","metamorphosis","superior","approximation","girth","tirade","grocer","holdup","forward","snobbery","cleansing","replay","recitation","facsimile","patter","jubilation","snare","frailty","rampage","pick-up","overture","tumble","residency","prevalence","repository","reentry","battleship","mutation","hammock","importation","thug","semiconductor","ballast","spurt","extreme","artichoke","convergence","circular","rigor","realignment","physique","handbook","bugle","precipice","sauna","whorehouse","skater","furcot","volatility","valuation","barbarian","peddler","layoff","overall","deliverance","chromosome","innuendo","lexicon","empress","polarization","dictum","fitting","impediment","piracy","crocodile","cucumber","keel","sitcom","hypocrite","roaring","encroachment","steamship","resin","fairway","eyewitness","broadside","washroom","sighting","mantra","swan","supposition","governess","upswing","rep","solicitude","rustling","invocation","heather","rectory","orchid","brocade","raiser","invective","fragility","acronym","ostrich","col","absolutism","vicar","psychotherapy","navigator","cartoonist","doe","landfill","invader","werowance","ble","flatness","locality","druid","visitation","headlight","rapist","benefactor","colonization","excerpt","nick","kangaroo","pink","buy","cascade","campsite","slander","headdress","topcoat","causality","karma","trestle","atheist","checkpoint","renunciation","eater","payload","pointer","theologian","beet","undertaker","lineman","hart","gourd","doubling","shuffle","cabaret","periscope","bodice","shootout","grandma","wildcat","proton","dioxin","sorcery","torchlight","stopover","executioner","collage","mesquite","reincarnation","kidnaping","programmer","disloyalty","muslin","throb","mint","aquarium","tel","eccentricity","purification","kerchief","warranty","rigging","breeder","nite","conservatory","fastball","magnification","spa","favour","regeneration","incision","saxophone","detriment","scam","android","coloration","bunny","restitution","rake","serf","despotism","pollen","sidewinder","upstart","revisionist","birthright","multiple","lifeline","queue","follow-up","swipe","boardinghouse","armament","travesty","stirrup","caper","chloride","crepe","primer","clich","inflection","skid","repudiation","serve","spire","peep","inducement","clothesline","fabrication","morsel","spleen","coon","bustle","crossword","back-up","assessor","biopsy","sidecar","hassle","shingle","tint","fixing","collarbone","taint","pusher","gestation","mantelpiece","vaulting","ra","peat","indignity","adequacy","genus","scrape","scaffolding","serial","neurologist","duffel","cipher","rote","horseshoe","bulldog","electrode","joker","juror","fibre","misconception","rut","connoisseur","flowering","op","flirtation","highlander","wisp","sounding","bugger","pharmacist","doughnut","toaster","pinnacle","slob","promenade","amphitheater","singsong","beau","whimper","importer","locket","watermelon","marking","beta","co-author","crossbow","atrocity","desktop","inhibition","draught","rowboat","volleyball","snowfall","extravaganza","teddy","miscarriage","storefront","toxicity","abode","hearty","handyman","centurion","phrasing","anachronism","newspaperman","annex","walker","till","volition","tributary","close-up","nook","cleric","ferment","proverb","inlet","heretic","waistcoat","duet","sniff","crewman","campaigner","wearing","grizzly","p","optimist","placard","overflow","pedigree","clang","brig","cinder","bunting","wag","dishonor","denominator","gong","siding","trilogy","deli","fluoride","questioner","squat","competency","partisan","putter","entree","cynic","tombstone","scoreboard","biscuit","souffle","homecoming","overseer","hideout","brewery","emancipation","interface","premier","auditor","troll","conscription","stout","trucker","beetle","dealing","bookkeeper","build-up","yardstick","da","polity","wick","wrinkle","private","outflow","borderline","outfielder","visage","leper","chiffon","arbor","weave","barnyard","checklist","granny","insensitivity","ex-husband","barometer","rupture","infirmary","desertion","wonderment","encyclopedia","slaughterhouse","nostril","ineptitude","implant","infatuation","laundromat","warship","rub","benchmark","polygraph","dinghy","behind","tween","filibuster","wearer","crayon","sensor","hustler","sinew","progeny","dig","pediatrician","foursome","buckskin","cornfield","safeguard","divergence","ting","coupling","dislocation","the","immersion","purchaser","cleft","overhang","booty","scuffle","rattlesnake","teacup","retinue","hallucination","potion","yeshiva","tapping","rip","multiplication","canister","gallantry","morn","thermostat","grind","aviator","ecosystem","pariah","recruit","vestige","ro","phosphate","abomination","laurel","sweatshirt","vaccination","psychoanalyst","blind","psychosis","sidekick","shopkeeper","theorist","delicatessen","sheepskin","billionaire","receptacle","salami","paddock","glen","beech","leer","mime","ty","perfectionist","seedling","wil","bind","intolerance","dint","plural","rouge","skylight","mammy","drab","microcosm","sole","organist","court-martial","matinee","bulwark","must","expatriate","stethoscope","daydream","backer","godfather","breech","artifice","auxiliary","adventurer","atrium","counterman","idiocy","grotesque","dishonesty","runaway","digit","baseline","reflector","preamble","sellout","falcon","scribe","retainer","louse","grapevine","sojourn","lash","marquee","schoolmaster","squeak","squeal","shooter","townhouse","nationalist","billiard","backfield","auctioneer","aria","avant-garde","hostler","smattering","giving","coaster","arraignment","duo","malignancy","throwback","doc","turnabout","seeker","deletion","vernacular","bulldozer","tedium","hustle","raspberry","estrangement","mutilation","styling","incinerator","wrong","shortcut","mastectomy","infringement","bonding","timbre","cameo","workroom","grassland","spraying","cooperative","tarpaulin","determinant","thyme","innocent","clique","racer","leakage","conflagration","jingle","duplicity","diaper","conqueror","committeeman","robin","reprimand","marina","cross-section","flagship","denouement","recluse","homemaker","moron","rind","gent","magnificence","dispatcher","detonation","harbour","toddler","rotunda","sedition","fell","dolly","laureate","woodsman","syndication","clot","guitarist","blemish","password","overview","eggplant","incantation","drapery","incapacity","florist","hive","civility","mod","screenwriter","intoxication","barman","ern","furrow","cant","clapboard","tumbler","walkie-talkie","pajama","vortex","defenseman","hostel","subjugation","interception","armory","fanaticism","sibling","inhalation","undercurrent","husk","mead","maw","padlock","abnormality","penguin","undersecretary","damnation","independent","airlift","peel","schoolroom","rascal","fingertip","cartilage","dichotomy","blank","lingo","clasp","racquet","acknowledgement","rebuff","bier","aerosol","taping","checkout","arse","thoroughfare","pelt","copse","keg","fissure","tern","mirage","blockbuster","balm","arbiter","shutout","schism","fluff","circumcision","insertion","pseudonym","heathen","eulogy","snowball","penthouse","kinsman","gebling","regulator","proponent","yearbook","barbarism","mutt","reopening","paunch","governorship","differential","airship","subscriber","alloy","adjunct","impairment","incongruity","pheasant","grownup","predicate","loo","sleigh","seer","flitter","sunburn","plebiscite","stockade","pout","sledge","stipulation","lordship","bayonet","wretch","vulture","postman","breaker","newsroom","consort","grinder","ballpoint","tequila","unpleasantness","wrapping","squall","adage","monograph","privation","streetlight","hilarity","sacrament","diminution","mannequin","duplication","banishment","rasp","biochemist","goatee","cranberry","sultan","blip","disservice","idealist","middleman","shaping","apocalypse","strut","oligarchy","moor","zombie","certitude","javelin","azure","turnpike","forger","commode","bleach","sideshow","banister","closeup","dysentery","steeple","offence","commandment","furlough","best-seller","filament","mountaintop","censor","snowmobile","kaleidoscope","elf","imp","slipper","lunacy","telecast","nanny","kernel","eventuality","subordination","sonnet","nitrate","foal","prank","expropriation","fedora","zigzag","resale","namesake","highlight","supplication","concurrence","medallion","jailer","loin","tread","quill","cardigan","prune","slur","surtax","internist","strait","smuggler","panacea","turd","wanderer","crude","darlin","epitaph","docking","seashore","cheeseburger","netting","provider","dispenser","intonation","marching","caress","hootch","morass","chum","sanctum","headband","powerhouse","axiom","terrier","springboard","tot","latrine","toad","clink","herbicide","figger","hick","manger","poppy","chaise","archetype","undoing","beehive","illustrator","withholding","sterility","paddy","coven","custodian","half-life","embezzlement","armoire","kickoff","possessor","rectum","sit","daisy","housecoat","pollster","policewoman","ointment","expressionist","stockpile","bombshell","impresario","co-pilot","chessboard","dazzle","scepter","archdiocese","linguist","odyssey","capitol","accession","lute","liter","multimillionaire","decoy","warp","conveyor","grandpa","ance","mumble","betterment","bullfighter","chador","ampule","indiscretion","shake-up","clarinet","catapult","normalcy","shanty","dinosaur","epithet","tang","scaffold","immunization","repairman","suntan","mu","environmentalist","nightcap","tempest","artisan","orbiter","spiel","needlepoint","geologist","humanist","stutter","perplexity","roundup","concoction","treadmill","cacophony","antipathy","blackberry","bloodbath","brassiere","allergy","hitchhiker","grunting","choke","sitter","elixir","ba","repatriation","whack","decanter","crusader","burlap","incursion","lyric","compilation","seaport","coachman","philanthropy","secretion","collie","inquest","taper","moral","quartermaster","jeweler","salutation","confluence","gullet","tram","hideaway","by-product","drybone","copulation","divorcee","mausoleum","peeling","annuity","set-up","skiff","neurosis","windpipe","buoy","glide","archaeologist","pendant","junkyard","bullhorn","porthole","quandary","irrationality","acidity","pragmatist","derivation","stylist","duplicate","panther","brigadier","introspection","depravity","keynote","vexation","psi","weighing","deserter","speculator","teak","armful","remission","precursor","sorghum","harmonica","olive","gangway","contraband","defector","purgatory","genie","expedient","crowbar","desecration","bathhouse","enhancement","tenet","seasoning","wrangling","downhill","venue","tracery","dictation","bailout","undertone","pecker","prep","forerunner","bandstand","letdown","luminosity","tonnage","catwalk","brunch","sapphire","ballplayer","wineglass","readout","genealogy","horsepower","messiah","blackjack","hemorrhage","damask","registry","gunwale","jerkin","humorist","bowler","tingle","engraving","chauvinist","spirituality","eyepiece","twang","constancy","blot","blob","chard","highschool","sportswriter","tiara","domino","contestant","migraine","newscast","mainstay","hammering","tracker","wager","offshoot","buster","informality","python","felon","imperfection","slag","convulsion","sedative","cellblock","punt","headwaiter","outhouse","monstrosity","nonwhite","override","raisin","inversion","pancake","flavour","cataract","reclamation","churchyard","pidgin","suction","chanting","aggravation","dynamo","pee","fistful","hogan","byproduct","brooch","lullaby","workday","slop","silencer","dealership","earner","anchorman","pittance","crumb","custard","rainstorm","tote","mulch","mason","earl","barroom","levee","discouragement","falsity","compressor","lodging","gynecologist","divination","calico","bibliography","cyclone","senor","gatehouse","lagoon","squirt","artwork","songwriter","derivative","supernova","divan","photon","surety","cobbler","fatality","gout","eleven-year-old","ent","cropping","mainspring","prism","confederation","weaver","neighbour","yuppie","muffin","juniper","ovum","lesbian","pi","shimmer","fax","increment","co-ordination","splashing","thanksgiving","exaltation","confiscation","fairy-tale","fudge","brief","priestess","re-creation","hydrocarbon","ford","usurper","maelstrom","spaceport","swordsman","vegetarian","newness","grad","potter","manservant","fullback","fiend","giver","subculture","debutante","striving","scorer","catechism","charger","armada","blond","paign","handball","wince","appetizer","guidebook","jog","millet","hoot","inferno","pardner","mash","mousse","mammography","launcher","battering","predilection","portent","beep","exhortation","notification","warm-up","diatribe","panda","menstruation","telex","revitalization","workingman","cordon","charmer","fumble","hamper","moralist","settler","chowder","ley","mannerism","drunkard","posting","turquoise","elasticity","abbot","bookie","tusk","paragon","precondition","rollback","lunge","conundrum","eviction","sealer","cellist","cosmology","turntable","outside","fortification","nightstand","spook","shoemaker","sac","sulfate","isle","antigen","steed","bacterium","utopia","stunner","hillock","clove","irritant","tat","memento","rung","gaffe","portraiture","solicitor","rodent","barter","intensification","gallbladder","condom","antiquarian","peck","cheering","meteor","inflow","stenographer","blinking","icing","jackass","dweller","fiesta","irrelevance","harpoon","appendage","stipend","mommy","cassock","microfilm","dead-end","vermouth","scarecrow","fielder","referral","mart","burger","ticker","hindrance","coverlet","speedboat","wafer","sluice","bellboy","hangout","figurehead","midterm","petticoat","matador","skein","beholder","flier","waiver","flotilla","smudge","inequity","mixer","sulfide","banality","roach","billy","tailgate","gaggle","softening","loincloth","gore","bib","chrissake","changer","muse","longitude","tourney","mil","aorta","poop","regression","soviet","placing","winch","apostle","constant","squabble","blimp","abdication","porpoise","puncture","workbench","parameter","conventionalist","flagpole","unfairness","reptile","typist","bookshop","hesitancy","strongman","headland","sprint","manhole","blowing","archipelago","ideologue","slouch","poke","gush","stratum","mulatto","echelon","postmaster","sheik","emigre","alto","affectation","rad","climber","deerskin","bower","idolatry","reciprocity","sweet","wasp","dissection","baby-sitter","purple","toothpick","lyre","archer","sprawl","councilor","contrivance","flake","kynd","suffocation","damp","ware","travail","candelabra","wrestler","patina","moaning","paisley","recruiter","moderator","respondent","marmalade","bellow","harpsichord","atrophy","ejector","jetty","stripper","monorail","dramatist","hysterectomy","riverbed","revaluation","stoppage","conspirator","fetish","sunflower","cognition","scrim","rec","retriever","aphrodisiac","redneck","palsy","pullover","flywheel","roundness","peculiarity","ernment","nectar","ruck","swimsuit","curd","underclass","polka","conservationist","mire","drumbeat","cinch","cordiality","deacon","speechwriter","purr","gelatin","muddle","booby","solid","cloakroom","stopwatch","sportsman","burlesque","overload","mademoiselle","divider","bailiff","handout","ordination","stiff","languor","paperweight","opiate","snap","causation","mower","perversity","snatch","touchstone","self-indulgence","shrub","interceptor","mammoth","proceeding","cheekbone","spoke","repellent","cardiologist","reminiscence","sprinter","evocation","postscript","enlistment","blotter","troika","dacha","cabdriver","fund-raiser","switching","para","tendon","fireside","effigy","leech","veneration","reek","schoolyard","pellet","shellac","weasel","jab","carcinogen","restroom","cauliflower","levity","caftan","topside","fruitcake","bickering","drawing-room","dovetail","culvert","chateau","bugging","tinker","hobo","corset","automaker","actualization","oration","handhold","nutmeg","tentacle","quicksand","handler","panoply","bowhead","testimonial","mammal","bellhop","devotee","technicality","trainee","mongrel","newscaster","aggregation","footpath","fawn","accreditation","heave","jib","rationalist","vendetta","midpoint","buckboard","screwball","hatchway","disinfectant","cramp","causeway","tease","corkscrew","sledgehammer","sloth","materialist","mogul","stopper","bevel","carbonate","berry","snore","throwaway","agribusiness","rerun","guillotine","nip","computation","keyhole","storybook","watercolor","cer","porcupine","urging","cockroach","esse","headman","settee","usher","short","obstetrician","faggot","ballpark","palisade","whimsy","co-owner","spout","nub","pectin","dun","cypress","trombone","scat","lite","dame","quip","invisibility","baboon","sneeze","swish","originator","biennial","newsreel","chameleon","dressmaker","storehouse","trapping","statistician","bloke","helmsman","ewe","drape","trump","great-grandmother","cloister","caterer","grounding","hotbed","life-span","urinal","funk","bedchamber","boudoir","theoretician","oddball","nameplate","raven","ditty","canary","anticommunist","reconsideration","playboy","skate","transparency","uplift","six-pack","rambling","commendation","wimp","pestilence","sufferer","kelp","counterforce","self-doubt","deformity","croak","marine","marksman","directorate","reversion","stimulant","dence","beloved","eraser","slurry","tracing","bigot","compendium","entitlement","monolith","misrepresentation","darkroom","nutshell","torque","concubine","peephole","lesion","bogey","spindle","birdie","nugget","tenon","supercomputer","weakling","provenance","vowel","empiricist","filet","co-founder","prelate","onlooker","tricycle","sax","catheter","accessory","fresco","prod","oscillator","self-image","refraction","excretion","prance","insurer","cask","impersonation","rangeland","toothache","magnum","accuser","rubbing","carver","carnation","masquerade","pervert","trapdoor","shaker","mittee","tux","poignancy","payday","captor","couplet","mutant","jogger","raider","dilution","sickle","prowl","blister","reassessment","infirmity","matchmaker","workload","restaurateur","tuning","wiretap","perpetrator","davenport","lamppost","inductivist","affect","sterilization","booming","rucksack","repurchase","starship","bystander","taker","spaniel","teletype","cuckoo","sneaker","aspen","soundtrack","sacrilege","surname","succor","co-chairman","anticlimax","hopper","jumpsuit","rinse","rummy","cigaret","washcloth","butchery","almond","cooker","implement","effluent","cheat","threshing","silicone","draining","vector","shopper","dandelion","pecking","brazier","cobblestone","slugger","sacrificer","airlock","lunchroom","zebra","ejection","cutthroat","wizardry","crony","kennel","internship","cohabitation","omelet","wheelhouse","redundancy","schema","psychopath","buttock","grasshopper","playmate","lamentation","socialite","cornucopia","lichen","coterie","warlord","discomfiture","frieze","montage","traveller","curvature","condensation","vineyard","scraper","generality","archive","half-sister","gangplank","intimation","doublet","pleading","tome","quadrangle","connotation","lifeboat","blueberry","coinage","prospector","bash","disciplinarian","dualism","bookshelf","adjutant","clod","apportionment","footbridge","tourniquet","spore","slicker","jetport","magenta","schizophrenic","oilman","harbinger","trespass","merry-go-round","sabra","old-timer","vigilante","melanoma","torpor","gliding","refutation","dab","jurist","plumage","kitty","cauldron","abbey","jasmine","lefty","cabal","detonator","retiree","abatement","clamp","roost","councilman","halfback","centimeter","shirttail","whispering","stratagem","exponent","cheesecake","truism","jaunt","node","ironclad","undertow","self-portrait","urchin","idealization","splendour","antechamber","living-room","sampler","friar","irregularity","lateness","playback","binder","washbasin","tummy","capitulation","felicity","canter","birthrate","earthenware","kitchenette","foundry","ladle","babushka","chlorophyll","adjournment","villager","recrimination","hotshot","blaster","pruning","soloist","hummingbird","recuperation","bequest","hemlock","cottonwood","drawbridge","alternation","malt","interconnection","mugger","tuft","keystone","riverboat","thrall","ayatollah","highland","mistrial","bunkhouse","anesthesiologist","dredging","anode","salsa","prizefighter","neckline","chile","foreclosure","cola","digression","scythe","lout","chamberlain","minefield","sabbatical","appraiser","isotope","demarcation","garnet","buzzard","repulsion","lowland","snifter","bending","weekly","dispensation","botanist","sari","stabbing","ovary","skullcap","journeyman","thievery","look-alike","parson","heartbreak","distillate","neophyte","blower","storekeeper","firmament","taxicab","corona","fusillade","publicist","resume","breather","casement","smokestack","interrogator","outcropping","mecca","dilettante","shoestring","belch","behemoth","negligee","heath","smut","negative","fistfight","regent","incumbency","curragh","toga","ministration","turnip","beamer","stepladder","loon","businesswoman","jumbo","whining","spoor","posturing","parlour","concertina","alkali","rampart","chime","warmup","taffeta","hyena","firehouse","sweetener","guessing","pronoun","madhouse","lioness","breadwinner","diocese","escarpment","mimic","retina","larder","gnat","hothouse","ponytail","markup","bevy","revocation","depressive","garner","redefinition","lifter","stateroom","nutritionist","isolationist","surveyor","polemic","ornamentation","gouge","counterweight","thrower","illegality","joining","lumberyard","wholesaler","obeisance","stagecoach","substage","lockup","nudge","rejoinder","compost","carburetor","peacemaker","prologue","swinger","right-of-way","precipitate","sprinkler","crone","valentine","vassal","tabloid","minstrel","nursemaid","attribution","courtier","docket","spool","convocation","serviceman","letterhead","zealot","negro","cackle","masthead","dispersion","underwriting","armload","noodle","squawk","periodical","reformation","boa","starlet","about-face","ejaculation","encore","harangue","woodpile","earlobe","reaffirmation","handlebar","compunction","contemporary","midriff","nimbus","householder","postgraduate","quirk","innovator","sneak","straitjacket","pussycat","belle","kidnapper","spacing","laying","standout","estuary","duster","jackpot","motorboat","welterweight","kicker","expectant","revue","senior","epistemology","yeoman","firearm","granddaddy","projectile","stammer","crossfire","toxin","hookup","phantom","transgression","flagstone","acuity","twick","acolyte","directorship","corpsman","worktable","mammogram","wart","liqueur","unbutton","receivership","duchess","delinquent","picker","earphone","blare","promontory","formalism","infamy","operative","hock","crusher","megaphone","retrenchment","chaser","dementia","wane","triviality","quadrant","curate","pairing","forging","dermatologist","mango","bon","moccasin","hayloft","marionette","seedship","ooze","interloper","twill","solicitation","trowel","professorship","scrimmage","scrawl","blockage","parkway","motorman","snapper","transcription","vasectomy","binary","flagon","choirboy","butte","throbbing","bound","thunderbolt","dike","cowbell","elect","prodding","lynching","rant","drifter","snot","preservative","brogue","tary","tortoise","lattice","strudel","composite","churn","median","neurosurgeon","mariner","kiln","boarder","ama","petal","friendly","clearinghouse","swastika","filler","enquiry","dispensary","chump","archeologist","rescuer","dy","draftsman","snicker","shakedown","romp","construct","conclave","winery","polarity","breakin","wailing","gurgle","bedroll","commissar","albatross","shading","peal","taverna","chicanery","has-been","waistline","oaf","satirist","faint","myosin","dimple","landfall","fornication","smithy","tough","gunboat","busboy","cassava","poplar","discontinuity","obelisk","blubber","demonstrator","meltdown","abolitionist","thorax","holler","pimple","sending","druggist","indirection","leotard","ken","showman","despot","ombudsman","lyricist","dearie","lumberjack","gaff","pagan","cremation","infarction","sturgeon","publican","bottleneck","chambermaid","pectoral","purser","godsend","whisk","canard","concentrate","copter","shipwreck","laundering","clipper","notepad","jackal","indentation","basilica","adhesive","mermaid","knighthood","personage","omelette","whoosh","embellishment","misgiving","tracer","brawling","crucifixion","steal","transference","sleight","threesome","windowpane","bereavement","viceroy","betrothal","refresher","seagull","jay","needler","discoverer","goiter","caterpillar","impostor","diminutive","cation","playpen","amputation","confidante","dockside","inquisition","chronicler","seamstress","lath","absolutist","cadaver","perusal","subterfuge","self-satisfaction","sawmill","agitator","shortcoming","breakwater","microcomputer","lima","greatcoat","mahout","prima","undress","superstructure","stopgap","moo","bio","fret","pomposity","bough","autocracy","anchorage","samovar","gen","burrow","rosebud","segregationist","mortise","hydrant","postmortem","oversimplification","entryway","paintbrush","rea","balustrade","chuck","trumpeter","ferret","opportunist","pinnace","salamander","transom","mace","individualist","synthesizer","thoroughbred","cupola","tomboy","ensign","bottling","whir","poultice","entranceway","saver","gurdwara","renegotiation","tossing","ruffle","footprint","skeptic","birthmark","tailspin","kickback","chalice","plagiarism","passer","inhumanity","ceremonial","sapling","babysitter","creeper","galleon","bellman","holly","hacienda","cur","transplantation","scab","ballgame","demotion","flimsy","hovel","lug","layup","firefighter","gravestone","nymph","cajole","tickle","boxcar","secession","refractor","somersault","personification","treacle","tutorial","voucher","thimble","stickler","front-runner","paroxysm","exorcism","psalm","infestation","scrubbing","castor","peppermint","orchestration","extremist","oppressor","lode","prompting","watchword","swindle","statehouse","floater","nightdress","bloak","elegy","woodshed","trembling","banning","adornment","redoubt","lightweight","postulate","anti-Semite","tasting","viewscreen","sentinel","nation-state","heft","nurture","villainy","manhunt","invoice","sprig","self-denial","selector","piglet","commemoration","crucible","piper","curtsy","lackey","breastplate","gadfly","octave","epilogue","self-examination","thyroid","apologist","chemise","super","figment","waif","essayist","brewer","miniature","sediment","cannibal","tulip","caramel","caseload","synonym","analogue","ver","shirtwaist","cornerback","insecticide","debauchery","lien","strangulation","intricacy","guesthouse","crumbling","glassware","cachet","thumping","damper","colonist","frolic","ogre","heist","sorting","pawl","muttering","refill","cowl","imbecile","painkiller","garter","creole","overpass","simile","potpourri","piling","predisposition","corsage","mobster","sandal","aphorism","vice-chairman","heartache","converter","pecan","ecologist","substrate","quagmire","trenchcoat","voyce","overstatement","soapbox","rediscovery","effusion","agronomist","firecracker","haunt","murmuring","henhouse","fluctuation","signora","mulberry","hoist","bullfight","discotheque","finder","tureen","hairstyle","dignitary","consummation","spar","pogrom","beeper","read","outboard","sho","skit","impurity","sadist","parafoil","bouncer","spender","locust","boardroom","burnout","inoculation","surfeit","welder","propagandist","mortuary","pessimist","equivalence","juke","spatter","incubator","reproof","gulch","notary","speedometer","lodger","mitt","southpaw","footman","amity","bloodline","cleaver","coffeehouse","confederate","assist","ation","lecher","abrasion","daybed","knit","laddie","forfeit","kebele","filigree","frisbee","cantina","oscillation","countryman","juggler","scion","acrobat","hourglass","realtor","onyx","pettiness","chancellery","footfall","slippage","mandarin","eral","lob","impertinence","providence","dom","idyll","democrat","deferral","sorority","slamming","badger","mutter","ling","strobe","explosive","municipality","crossover","bedstead","spatula","tug-of-war","goon","pauper","lation","sacking","alder","nightstick","salve","infraction","prowler","falsification","pant","drunk","rumbling","ce","minuet","plaything","yelling","kiddie","duction","buttress","carapace","sobbing","insufficiency","prig","bidet","bloodhound","madwoman","buffoon","vignette","doorjamb","caprice","gable","converse","cad","creche","mullah","spectre","spotter","ingenue","chalet","automatic","stash","truckload","tailback","static","productivist","dissipation","haunch","nag","awl","self-delusion","rattler","blacklist","beagle","trapeze","obstinacy","fiddler","theorem","rearrangement","changeover","reassignment","courtesan","fillet","nay","cutout","luncheonette","purveyor","incitement","remarriage","amelioration","executor","buttonhole","duality","churchman","sickroom","farmstead","jester","perfidy","cuticle","weal","snub","pretension","roadbed","furnishing","quickie","workweek","conveyance","pseudopatient","turbocharger","fleece","abbreviation","spigot","leaflet","great-aunt","ninny","beaker","experimenter","validation","inhabitant","grading","cantaloupe","potentiality","flue","commoner","playroom","readjustment","boathouse","vivacity","brakeman","petitioner","singularity","gage","delineation","fester","paratrooper","font","pitchfork","signifier","crossbar","playhouse","tripe","stylus","pacemaker","clustering","hone","runt","emporium","ragtag","aneurysm","trapper","pulley","thrashing","candlestick","checkerboard","swoop","surcoat","dystrophy","bristle","beck","toolbox","hunchback","subcompact","doze","seaway","disclaimer","arbitrator","miller","crackpot","loafer","instigation","sen","bale","skim","skip","dollop","tender","oeuvre","goner","sor","tort","cropland","profundity","caf","zoom","gabardine","quack","cataclysm","condolence","foxhole","circlet","brave","misfit","bivouac","artificiality","dachshund","puke","bagel","sortie","nomad","opal","ethnicity","firebox","ratchet","cud","worsted","squabbling","cheque","jean","avatar","dirge","footstool","velour","barrister","pression","microchip","coda","reappraisal","cess","hangman","centenary","plough","broomstick","headstone","tormentor","sore","rathorn","voyeur","world-view","co-star","warren","fail","deflation","noble","fleck","saleswoman","hap","machinist","waffle","tom","ell","prefab","suckling","guardhouse","sabre","entanglement","integrator","quarterly","paraffin","heifer","frivolity","good","bougainvillea","excommunication","distillation","cyclist","meteorologist","rubric","cul-de-sac","misnomer","phobia","demagogue","bloodletting","raconteur","ger","astrologer","zygote","counterrevolution","reinstatement","anchovy","getup","tryout","scullery","turnstile","cyst","mustang","gaslight","self-deception","emanation","grown-up","escapade","versity","fishery","paprika","grailstone","gurney","fount","holdout","licensee","jackknife","asterisk","still","fundamentalist","humbug","repast","christening","butternut","miniskirt","fortune-teller","spillway","ference","salver","payout","nodule","high","tugboat","gizzard","sympathizer","fibrillation","incompatibility","dodge","trove","mercenary","pigtail","matchbook","masterwork","barb","endeavour","confection","ephor","yarmulke","char","mimeograph","holdover","subtitle","saddlebag","metronome","tine","testicle","caveat","etching","auntie","guarantor","ringer","airman","boatman","carnivore","armband","polder","tryst","lem","sitting-room","barrow","reappearance","pastiche","bankroll","stroller","saxophonist","blanc","redesign","plotting","gruel","juicer","slat","scooter","socialist","gradient","ember","scorecard","remembering","bo","forecaster","flirt","backache","parakeet","pixie","guffaw","anesthetist","logjam","pursuer","physiologist","follicle","coverall","patsy","bunt","lubricant","jawbone","numeral","mourner","rune","bettor","solder","nitrite","rime","pinstripe","pistachio","monocle","equivocation","crystallization","twit","two-year-old","toupee","eyelash","recognizance","cy","sophistry","seesaw","loony","do-gooder","dusting","commonality","yearling","disbarment","self-congratulation","tsar","vagabond","rhinestone","viper","planetoid","crochet","laird","flatland","prompt","catamaran","wigwam","mainframe","shivering","stringer","vane","iniquity","hoodlum","tableware","smelter","overlay","umber","placenta","yew","right-hander","laggard","cornice","philanthropist","scouring","dissenter","mainsail","showplace","conch","sentimentalist","protectorate","sanitarium","truancy","angler","showpiece","carotene","pollutant","diabetic","hairbrush","videodisc","intellectualist","pothole","setter","tense","grader","kneecap","birdbath","dell","typhoid","tuba","torturer","commie","houseboat","revelry","medalist","hinterland","jowl","splotch","sable","mouf","ripoff","coolie","streetlamp","damn","sharecropper","oral","schoolmate","commander-in-chief","capitalization","flex","shtetl","chenille","pullback","pharaoh","claret","fulfilment","glower","remuneration","internationalist","pap","pediment","sonata","toke","co-director","dollhouse","salesgirl","greenback","analog","ofa","freelancer","hairpin","aphasia","kicking","bummer","lawmaker","thickening","juggernaut","comma","sander","claimant","triad","rhizome","prolongation","placer","transvestite","faceplate","shortening","coffle","surfer","greengrocer","roughage","nudist","dumbbell","coiffure","pinky","ex-President","start-up","bobby","sidearm","paean","raiment","conceptualization","surmise","agnostic","cranny","tassel","infarct","pitchman","minor","stationmaster","sublet","puter","dramatization","mounting","washstand","counsellor","penknife","curtailment","remake","millimeter","sextant","vocalist","blowup","walleye","pickax","fanny","ascendant","brushing","highball","bandleader","winning","godmother","horoscope","disequilibrium","run-up","grazer","sandbar","motorbike","hassock","piggy","teat","reprise","wheeling","psychotherapist","calabash","cob","relativist","packer","slayer","digger","banshee","autocrat","knave","muskrat","extinguisher","foreleg","sobriquet","hospice","accretion","mastermind","figurine","newsmagazine","epidemiologist","pic","minaret","dereliction","city-state","jawline","escapist","legation","weatherman","sinker","cabby","guardrail","objector","timepiece","cistern","werewolf","decadent","harlot","epiphany","bricklayer","doorkeeper","obsidian","bedpost","constriction","refectory","blackbird","enforcer","riposte","schmuck","squab","pop-up","handrail","sandbag","superman","underbelly","alarmist","sesame","paratroop","droplet","proclivity","theorizing","quark","tactician","sundae","poolhall","behaviorist","dipper","postmark","co-conspirator","carload","electrocution","mould","goodnight","appendectomy","statuette","coefficient","cornet","scolding","prude","platitude","carport","lilac","geisha","foist","mitigation","percussionist","lechery","wyrm","charlatan","tussle","slough","jamb","twister","lakeshore","scavenger","pinkie","changeling","pinhead","muster","exploring","fief","critter","haystack","skimmer","geyser","stumble","update","tabernacle","gargoyle","projectionist","requisite","suffix","ramrod","betrayer","perience","tance","fluting","flare-up","fatherland","guardianship","douche","good-night","trawler","headsman","stoplight","operetta","spend","hater","teakettle","geneticist","particular","wardroom","slider","deuce","gingham","telethon","acclamation","centrifuge","workstation","pretender","prong","lampshade","ureter","hiccup","acetate","molding","wallop","vagrant","three-star","carafe","blowout","equinox","rave","junior","spoof","confessor","troubleshooter","braggart","judgeship","rapier","landmass","stoic","cuckold","inheritor","forester","jangle","gymnast","wingman","stein","gnome","drumstick","whatnot","yachtsman","realty","glob","by-election","academic","deflection","knocker","wondering","mugging","petit","frosting","pillowcase","panelling","grendel","tribune","tabulation","simulator","whaler","stork","gill","cavalcade","workhorse","locksmith","preppie","henchman","countertop","groundcar","puree","wellspring","debasement","prankster","tration","insert","put-down","typer","chartreuse","crematorium","headpiece","noncom","wipe","drove","sportscaster","impersonator","shrew","twitching","loader","magnolia","dropping","functionary","dissonance","cudgel","forfeiture","glutton","reject","doubleheader","tarp","suburbanite","afghan","chaperone","bas-relief","oscilloscope","imposter","newel","trusteeship","shocker","cannonball","half-breed","woodpecker","tumbleweed","snip","consignment","left-hander","spoil","also-ran","exhalation","signification","tester","ashram","gardenia","deductible","frontline","subtraction","bowstring","upland","bearskin","gramophone","mock-up","serenade","mix-up","extrapolation","tidbit","semaphore","banging","dogwood","carol","mapping","exchanger","ignominy","retraction","videocassette","precept","sirloin","mortification","pagoda","belfry","cubbyhole","mindstone","greyhound","clank","snowbank","instep","sanatorium","savanna","longshoreman","copier","nightshirt","boatyard","brigand","usurpation","understudy","interrelationship","undercarriage","sulphate","quasar","marshmallow","thrush","sweeper","alleviation","feint","chimera","infidel","modifier","perennial","simpleton","gridiron","overlord","airway","binding","abstention","algorithm","amalgamation","ascension","herdsman","lollipop","pastel","laminate","tendril","synopsis","drawstring","intermarriage","restorer","swoon","firefight","civilisation","self-criticism","hanky","ventricle","jot","interferon","circel","avenger","stepson","amethyst","beachhead","loggia","sizzle","burp","watchtower","endearment","dryad","prefect","tong","croissant","blocker","brioche","thistle","sunburst","savor","dumpling","checker","soliloquy","marketer","wheeze","molar","oboe","inbound","masochist","superficiality","tabby","outcrop","deputation","bassist","particularity","strop","thang","doggy","zation","ghoul","domestic","frostbite","relapse","floorboard","clicking","paraphrase","sinkhole","pushcart","overdraft","spinnaker","sourdough","sweatshop","meteorite","lander","caboose","junket","planer","iguana","brouhaha","reaper","sharpshooter","eggshell","self-sacrifice","minnow","skyrocket","connexion","effrontery","oblong","biker","flinch","cog","bullock","retrial","underwriter","gentlewoman","noggin","sissy","collect","dogmatism","sweatsuit","biplane","polariser","server","hiker","electrolyte","thunderclap","bronc","snooze","mascot","sherbet","carillon","decal","womanizer","underground","tailcoat","worshipper","automaton","proscription","sleuth","honeybee","abutment","foller","palladium","partake","jailing","counterfeit","pompadour","moneymaker","acacia","monthly","geographer","doghouse","bludgeon","fitter","conservator","indecency","atoll","fife","acquit","barracuda","mortician","striker","plait","untruth","hoarding","eighteen-wheeler","shakeup","grounder","abuser","hamstring","parishioner","cherub","cubist","antler","kisser","shunt","cravat","admixture","whinny","scorpion","amenity","matchup","spacer","settling","insinuation","possum","tenancy","girder","adapter","mousetrap","cubble","steppe","hypochondriac","covey","whipping","taunt","pocketful","pug","panhandle","conga","citron","foul-up","plaint","nouveau","oilskin","meridian","lifer","bolster","wren","gripe","mountaineer","transceiver","treetop","hex","harrow","tampering","photocopy","redskin","cesspool","barrette","cleanser","missive","breakfront","mini","ridgeline","semi","pasha","byword","phoneme","seducer","miser","cookstove","limerick","cummerbund","labourer","ascot","wraith","tarantula","toffee","pituitary","liana","cleat","line-up","helix","highboy","bicep","partment","coed","expletive","dumpster","deferment","progenitor","sandbox","mignon","typhoon","sublimation","backdoor","alchemist","pacifier","insomniac","hairpiece","lintel","indemnity","blurb","republican","electrocardiogram","futurist","recliner","mote","sketchbook","fulcrum","gratuity","aqueduct","adherent","masque","sundial","template","handmaiden","hedgehog","coding","corsair","solstice","orifice","sonobuoy","prizewinner","spinner","townsman","rosette","mind-set","unkindness","pushover","bility","infielder","hutch","erasure","parallelism","avowal","fastness","broadcloth","hellhole","grandparent","toehold","ident","sleepwalker","watching","aerie","database","mismatch","hombre","scrambler","spoiler","putdown","rookery","spinoff","ringleader","duchy","sealskin","transformer","doggie","bedsheet","cowhide","ceramic","prostration","cheroot","houseboy","giantess","tomcat","speedster","basalt","minicomputer","rapacity","spaceman","in-law","equerry","humpback","academician","harvester","fairground","ream","carat","entreaty","groundswell","obfuscation","provocateur","fugue","denigration","rifleman","manipulator","panting","synod","glitch","nightie","goaltender","kingpin","comforter","anesthetic","klaxon","hijack","orb","hostelry","gladiator","misadventure","bombard","fixity","tanner","stringency","wonderland","x-ray","plainclothesman","roadhouse","travelogue","gasket","nibble","hacking","nude","tincture","receptor","fink","schoolmarm","washtub","homesteader","hacker","portiere","hatbox","tamer","howitzer","grouper","frontage","amoeba","clime","flashback","teamster","accolade","polluter","officeholder","inpatient","altercation","reverberation","coproduction","phosphor","substation","bandana","sapper","preserver","pigeonhole","prefecture","milkman","avocation","argyle","amphetamine","linker","leviathan","hamster","bondsman","comer","bumpkin","sheikh","beefsteak","tyke","discoloration","kingmaker","quotient","excision","whitey","asymmetry","trill","discourtesy","bleat","hatching","crier","creel","seabed","witticism","riser","lurcher","moviemaker","pantsuit","linchpin","deformation","deodorant","soybean","washboard","egotist","underpass","dysfunction","tingling","barstool","paramour","udder","microbe","radiologist","qualm","welt","salesperson","signpost","sepulcher","lumpectomy","slaver","shopgirl","peregrine","siesta","reiteration","profligacy","iodide","iconoclast","rollcall","fillip","oratorio","splat","incoherence","accompanist","motorcar","nunnery","busybody","carryall","nettle","jaguar","pretence","odometer","potentate","mussel","prophetess","monetarist","proach","typescript","hacksaw","broadsword","miter","fatty","terrarium","archangel","powerboat","stooge","cannery","pylon","pulsation","misstep","yucca","hearthstone","rumour","lockout","toboggan","trampoline","concatenation","debility","acorn","forklift","psion","dragonet","ligament","folio","tie-up","picking","swatch","arrowhead","martinet","fisher","quintet","ellipse","sumbitch","legitimation","nightwatch","hardback","schemer","conversationalist","collectivist","reallocation","diorama","cutaway","point-of-view","cattleman","abscess","talc","incubus","dribble","sis","rhododendron","rolling","spiderweb","nonsmoker","crissake","refusenik","save","obstructionist","suture","parenthesis","reefer","great-grandson","steelworker","bumblebee","bullfrog","festivity","embolism","defeatist","tankard","ferryman","garret","co-worker","consonant","copywriter","bookseller","compress","dogfight","embezzler","quiche","liege","dissector","taskmaster","prosthesis","emulsion","spitball","modulation","squint","retelling","baiting","whirr","air-conditioner","individuation","geezer","aspirant","pensioner","re-enactment","flapper","looker","marshland","sexton","adverb","coenzyme","misapprehension","inaccuracy","barmaid","beautician","daredevil","racehorse","oxford","spume","busload","tradesman","manicure","propellant","apothecary","ruffian","titillation","instigator","siting","ringmaster","enumeration","twirl","bookmaker","technocrat","mouth-harp","quaver","icehouse","ventilator","roadster","subpena","carter","comedienne","savannah","milkmaid","pumper","signer","deadbeat","cofounder","bootlegger","tribesman","wildfire","shard","hailstorm","struction","routing","dolmen","idiosyncrasy","poniard","honky-tonk","spendthrift","draftee","hermaphrodite","pinafore","roundabout","frill","redeployment","ophthalmologist","caldron","reinvestment","troubadour","fjord","leave-taking","elongation","clinch","trinket","suasion","neutralist","finalist","whiplash","ventriloquist","violator","monarchist","spanking","grindstone","initiator","standard-bearer","sender","atelier","distemper","ingot","frontiersman","altarpiece","endgame","homily","synapse","pillbox","ochre","scimitar","jubilee","presentiment","tation","aggrandizement","truncheon","damsel","fallibility","papaya","piggyback","puppeteer","workhouse","nightingale","entomologist","wicket","debriefing","logician","moorland","minimalist","matte","skirmishing","tonality","maidservant","yam","gatekeeper","whammy","drudge","angora","garland","manoeuvre","moviegoer","slingshot","titan","re-evaluation","ironwork","ambassadorship","lanch","pollination","riage","vocalization","brawler","shaving","particulate","inhaler","impoundment","surfboard","waterman","almanac","pepperoni","kook","colonnade","infantryman","scruple","functionalist","wisecrack","conscript","boor","bannister","pretzel","analgesic","firebrand","microprocessor","frame-up","guardsman","teetotaler","broad","pallbearer","airframe","wrangle","backboard","knockdown","reparation","poorhouse","milkshake","battlement","dragonfly","paymaster","snuffler","crudeness","nerd","blockhouse","donut","backhoe","principality","dimmer","wounding","collier","beater","footlocker","barkeep","absurdist","brickwork","great-uncle","rumination","appellation","joiner","hydrolysis","interlocutor","raindrop","hardtop","groping","cymbal","miscellany","pomegranate","hearer","abortionist","corncob","shoal","dunce","bellowing","bridgehead","mangrove","blotch","boxwood","briar","which","trickster","epileptic","dependent","encumbrance","claque","pickpocket","half-truth","bilge","overrun","caveman","posterior","derriere","sty","maggot","vibrator","imbecility","hang-up","syllogism","blindfold","sunbeam","chrysanthemum","amour","ne'er-do-well","odour","flowerpot","satrap","reconnoiter","tonsillectomy","clampdown","coliseum","menage","warbler","hubcap","crudity","baseboard","lithograph","homeroom","stanchion","amphitheatre","disquisition","commonplace","feedlot","reprint","shire","kraken","careerist","goatskin","worldview","waddle","washout","doormat","diadem","sniffer","spat","superhighway","snooper","libation","zoologist","subtext","bailiwick","exterminator","popsicle","actuary","cabinetmaker","swami","contraceptive","softener","margarita","hatter","tention","earpiece","dormer","timberland","katun","crooner","one-liner","adjudication","snitch","referent","subset","disavowal","starburst","merchantman","dalliance","polymer","hypnotist","monogram","peerage","claymore","satyr","twerp","matchstick","rubber-stamp","clapper","exhibitionist","warhorse","eatery","seashell","radish","router","dinette","trombonist","rivet","requiem","breakaway","hard-liner","locator","shindig","corrective","truffle","whelp","expediter","savant","mitten","canton","wobble","misinterpretation","fense","headwrap","conciliator","chine","topping","assemblyman","divine","scuffling","boomlet","dervish","yellow-green","stockyard","hummock","trimming","royalist","calumny","vandal","prickle","strikeout","apologia","afterburner","hunker","flippancy","fop","embrasure","hornet","tithe","oilfield","lawman","turnkey","fledgling","coauthor","blowpipe","subjectivist","backstop","fishbowl","bedpan","sedge","protrusion","crybaby","freedman","seminarian","spacesuit","tautology","footstep","fiveyear","stoneware","mance","generalist","quitter","domicile","requisition","seance","cabana","wastrel","underling","looter","glassful","wallow","boater","disharmony","shiksa","herringbone","flyleaf","eyesore","lawnmower","walk-up","hemline","wiggle","posing","whirring","cropper","reappointment","psychodrama","shaver","orthodontist","granary","extrovert","calfskin","thinning","foghorn","trainload","carbide","metier","harpist","minim","ballcarrier","rayon","bursting","flipper","fastening","mullet","exploit","squatter","nullity","commodore","newlywed","eavesdropper","chiropractor","miler","arsonist","wrecker","transmutation","incompetency","subcontractor","tress","meatball","bobcat","distributorship","camcorder","pasty","glimmering","groaning","classicist","stakeout","supplicant","repeater","crackling","cryptographer","croupier","honeycomb","insincerity","inhibitor","mystification","greaser","barker","anthill","barbarity","strangle","myrtle","segmentation","marlin","capon","toenail","flip-flop","auger","blasphemer","dipping","pawnshop","penumbra","mohole","bauble","rube","flophouse","triplicate","sardine","master-mason","fang","brainstorm","derangement","hanker","molestation","smokescreen","cavalryman","edging","layover","signalman","clavicle","crewcut","tricolor","cochairman","liberationist","foreskin","bleacher","semi-circle","quince","flatcar","abattoir","farmboy","tibia","thrum","conformist","southerner","docudrama","whorl","break-up","conglomeration","exhibitor","bramble","cutie","woodchuck","compatriot","stole","tuner","housemother","dharma","femme","teahouse","banquette","bottomland","arranger","philistine","vacillation","chiton","retch","caddie","reissue","teaser","swampland","deejay","libertarian","pegboard","greenhorn","dork","cellmate","jobber","wishbone","millstone","haunting","blow-up","snorkel","snowplow","trespasser","punter","snowflake","snowdrift","gunnysack","surround","evergreen","clog","radioisotope","cougar","pundit","wattle","subgroup","oviduct","mixup","misstatement","sulfite","pansy","splint","counterproposal","pulsar","remove","landau","four-year-old","rebbe","disconnection","neomort","exegesis","meteoroid","meringue","sheepherder","radioman","strumpet","opment","millionth","speakeasy","conformation","cultivator","goof","annual","gazelle","demitasse","fishhook","preferment","homebody","skewer","chancre","sorbet","hologram","rivulet","oldster","prisoner-of-war","tulle","riff","restatement","debit","emplacement","repre","invariance","half-circle","objectivist","passer-by","scarlet","flail","impala","persimmon","purist","gation","burgher","snowman","starling","barony","annulment","lifespan","herder","embolden","swathe","ex-convict","trouper","half-wit","fuchsia","grange","ricochet","stinker","opacity","colander","absorber","armadillo","pleasantry","noncommunist","taxiway","overtone","debater","taillight","advisement","birdcage","baroness","aureole","breakout","colouring","astrophysicist","flatboat","stilt","eyeshade","barbell","deliverer","fishnet","prise","jackrabbit","manifold","chattel","jimmy","workshirt","thornbush","chatty","frisson","recount","patentee","oceanographer","forepaw","murderess","whalebone","frontrunner","cerebrum","jector","militiaman","lobsterman","earthling","clean","swindler","scree","begat","doorsill","housedress","strangler","shantytown","roughhouse","scenarist","foothill","contaminant","hamadryad","phony","fairyland","seascape","treble","prodigality","hobble","gantry","backroom","enticement","sawhorse","interviewee","cliffside","dustpan","scrubber","imbroglio","acquaintanceship","woodworker","aesthete","octogenarian","mauling","archivist","pungency","interweaving","jabber","bassinet","doubler","torte","linkup","outdoorsman","fixer","caddy","fumbling","defile","meristem","microbiologist","urologist","stovepipe","tambourine","constructionist","egomaniac","adjuster","liniment","impiety","timeline","cowgirl","sinecure","chillun","foreword","frat","retary","bagpipe","coif","visualization","colleen","shirtmaker","flounce","adder","riffle","underboss","reinterpretation","bender","seeding","fiver","sicken","decoder","holothete","figuring","stave","earplug","acrylic","epigraph","fairytale","flasher","sally","inkwell","nitwit","hussy","constrictor","stabilizer","stickup","seaplane","shimmy","dredge","updraft","speciality","insulator","frond","storyboard","shill","rafter","blowgun","dukedom","favourite","populist","striper","blowtorch","mallard","licking","poetess","tetracycline","ad-lib","toxicologist","fencer","gnawing","eration","photocell","golem","heirloom","penitence","gence","latecomer","broil","outdistance","howler","canine","replenishment","traditionalist","emcee","eyeglass","billow","eyelet","khaki","assignation","tepee","buccaneer","bellyache","parkland","musicologist","phaeton","spirochete","lanyard","mischance","tobacconist","blusher","castaway","meson","bouillabaisse","scrivener","stinger","life-cycle","harridan","motivator","mooring","crimp","inlay","purveyance","vertical","jackhammer","strongbox","dishpan","cobweb","couturier","chalkboard","basilisk","duckling","penitent","footrest","tangent","facing","peroration","floodlight","nouvelle","truss","sprite","drier","esplanade","banding","insulter","dialog","pincer","battlefront","missal","hayseed","parvenu","baronet","shipwright","whisker","no-hitter","double-dealing","moire","conjurer","rickshaw","crevasse","switchback","nicety","provincialism","novella","liberator","biggie","tune-up","ferryboat","remover","twosome","loveseat","tektite","sharpener","cartwheel","diva","flirting","disproportion","tortilla","rover","whodunit","birder","parley","birdsong","fiefdom","augury","harrier","tamale","judging","snakebite","diagnostician","tannin","qualifier","cheetah","distillery","protester","stockroom","factotum","newswoman","cosmopolitan","iridescence","aeroplane","toddy","co-defendant","parry","duocorn","boasting","elector","clarinetist","undergarment","psych","supergiant","armature","environ","collectivity","keepsake","gunfighter","wingspan","perforation","worshiper","groupie","cityscape","worrier","shipload","scallop","hatchery","portraitist","screamer","blaspheme","pacer","presenter","malcontent","seine","equivalency","scriptwriter","lieve","discard","bantam","centaur","typology","loiter","nigguh","drubbing","airfoil","curio","grandmaster","finisher","luminary","alliteration","phantasy","blooper","fasting","samba","gearbox","islet","apricot","smidgen","inset","firestorm","madcap","seedbed","gunsight","forelock","disjunction","writhing","huckleberry","abstract","squirm","ironist","monosaccharide","pushbutton","terracotta","artiste","showgirl","cornea","temptress","popularization","free-fall","scribbling","conviviality","flange","thwack","droop","rower","sweatband","gopher","mandolin","slobber","stricture","calyx","dietician","rehash","padre","ancient","dotage","jacaranda","pensione","contravention","undulation","ironworker","currant","hankie","face-lift","anthropoid","depressant","war-horse","tithing","greeter","matchbox","woodcutter","magpie","wayfarer","handcuff","lawgiver","traverse","minion","cavalier","sonarman","defoliant","scamp","snowshoe","polyp","gainer","honkie","bottler","halloo","amputee","ontology","bromide","brisket","goodie","tavern-keeper","choker","preaching","molester","tonsure","recapitulation","aviary","stevedore","raffle","bootstrap","angiogram","plantain","tipper","hooting","seismometer","persecutor","lobotomy","pigsty","virologist","gamete","presbytery","stepping-stone","dressing-room","cyclamate","chipmunk","platelet","flogging","tuber","reservist","blinker","demographer","turncoat","demesne","fancier","ideologist","self-justification","bucketful","m'lord","rapping","bestiality","irrelevancy","oiler","mackinaw","flutist","trafficker","categorization","pram","world-system","cathouse","deceiver","idjit","double-take","reformulation","brushfire","separator","neigh","whimpering","crisscross","regurgitation","auteur","backwash","refiner","broadsheet","hedonist","recitative","nonentity","codger","tinting","policymaker","tutu","boondoggle","entrant","wok","small","boatload","searcher","taMing","sycophant","substructure","megalomaniac","rusher","saleslady","registrar","blackguard","neckerchief","oldie","clinician","flushing","pinwheel","dition","charioteer","beastie","stridency","verity","eyedropper","canvass","desperado","teardrop","farmyard","mannerist","macaw","valedictorian","whopper","pertinence","assay","puncher","manse","anatomist","dishtowel","nuke","egalitarian","tribulation","cinematographer","sailer","icicle","legume","spiritualist","nativist","these","progressive","blastocyst","harpooner","pedant","instrumentality","connector","masseur","vertebra","moonshiner","bowsprit","grabber","stele","clanking","renter","antihero","bankbook","jailbird","handicraft","fighter-bomber","streamer","retardant","wallflower","flamethrower","agate","cairn","bantamweight","agglomeration","roustabout","linden","roughneck","formance","moray","cession","rashness","capstone","derailment","declivity","snowfield","talon","haymaker","abductor","diffuser","geosector","camisole"];Object.defineProperty(data,"__esModule",{value:!0});data.nouns=data.adjectives=void 0;const adjectives_1=adjectives;data.adjectives=adjectives_1.default;const nouns_1=nouns;data.nouns=nouns_1.default;const __viteBrowserExternal={},__viteBrowserExternal$1=Object.freeze(Object.defineProperty({__proto__:null,default:__viteBrowserExternal},Symbol.toStringTag,{value:"Module"})),require$$0$1=getAugmentedNamespace(__viteBrowserExternal$1);(function(_e){Object.defineProperty(_e,"__esModule",{value:!0}),_e.nouns=_e.adjectives=_e.uniqueUsernameGenerator=_e.generateUsername=_e.generateFromEmail=void 0;const Pt=data,Dt=require$$0$1,Nt=(Yt,Xt)=>{const Qt=(0,Dt.randomBytes)(4).readUInt32BE(0);return Yt+Qt%(Xt-Yt+1)},jt=Yt=>{let Xt;switch(Yt){case 1:Xt=Math.floor(Nt(1,9)).toString();break;case 2:Xt=Math.floor(Nt(10,90)).toString();break;case 3:Xt=Math.floor(Nt(100,900)).toString();break;case 4:Xt=Math.floor(Nt(1e3,9e3)).toString();break;case 5:Xt=Math.floor(Nt(1e4,9e4)).toString();break;case 6:Xt=Math.floor(Nt(1e5,9e5)).toString();break;default:Xt="";break}return Xt};function Ut(Yt,Xt){return Yt.replace(/@.+/,"").replace(/[&/\\#,+()$~%._@'":*?<>{}]/g,"")+jt(Xt)}_e.generateFromEmail=Ut;function Gt(Yt,Xt,Zt,Qt){const en=Pt.nouns[Math.floor(Math.random()*Pt.nouns.length)],tn=Qt?Qt.replace(/\s{2,}/g," ").replace(/\s/g,Yt??"").toLocaleLowerCase():Pt.adjectives[Math.floor(Math.random()*Pt.adjectives.length)];let nn;return Yt?nn=tn+Yt+en+jt(Xt):nn=tn+en+jt(Xt),Zt?nn.substring(0,Zt):nn}_e.generateUsername=Gt;function Wt(Yt){if(Yt.dictionaries){const Xt=nn=>Yt.dictionaries[nn][Nt(0,Yt.dictionaries[nn].length-1)],Zt=Yt.dictionaries.length,Qt=Yt.separator||"";let en="";for(let nn=0;nn({load:async Gt=>{const Wt=Gt??await r$4({accept:acceptedFormats,strict:!0});return Wt&&isWorkspaceFile(Wt)?(await Ut(async()=>{const qt=isCompressedFile(Wt)?await decompressBinaryAsync(new Uint8Array(await Wt.arrayBuffer())):await Wt.text(),Yt=await parseYamlAsync(qt);Yt&&(Dt(()=>Yt.layers),jt(()=>Yt.UIState))},`Opening workspace (${formatByte(Wt.size)})`),!0):!1},save:async(Gt,Wt)=>{_e("Saving workspace...");const qt=JSON.stringify({layers:Pt,UIState:Nt}),Yt=Wt??dist$4.generateUsername("-");if(Gt){const Xt=`${Yt}.workspace.json`;return download(qt,Xt,"application/json"),_e("Workspace saved",Xt),{name:Xt,size:byteLength$1(qt)}}else{const Xt=`${Yt}.workspace`,Zt=await compressBinaryAsync(qt);return download(Zt,Xt,"application/octet-stream"),_e("Workspace saved",Xt),{name:Xt,size:Zt.byteLength}}},estimateWorkspaceSize:memoizee$1(Gt=>sizeOf({layers:Pt,UIState:Nt})*(Gt?1:LZ_COMPRESSION_RATIO))}),[Pt,Nt])}function isCompressedFile(_e){return _e.name.endsWith(".workspace")}function isWorkspaceFile(_e){return lodashExports$1.find(acceptedFormats,Pt=>_e.name.endsWith(Pt))}const name="Posthoc",version="1.2.4",version_name="1.2.4; early May 2024",repository="https://github.com/ShortestPathLab/posthoc-app",changelog="http://localhost:3000/blog",docs="https://posthoc.pathfinding.ai/docs/overview",homepage="https://posthoc.pathfinding.ai";function _typeof(_e){"@babel/helpers - typeof";return typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?_typeof=function(Pt){return typeof Pt}:_typeof=function(Pt){return Pt&&typeof Symbol=="function"&&Pt.constructor===Symbol&&Pt!==Symbol.prototype?"symbol":typeof Pt},_typeof(_e)}function _classCallCheck(_e,Pt){if(!(_e instanceof Pt))throw new TypeError("Cannot call a class as a function")}function _defineProperties(_e,Pt){for(var Dt=0;Dt"u"||!Reflect.construct||Reflect.construct.sham)return!1;if(typeof Proxy=="function")return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){})),!0}catch{return!1}}function _construct(_e,Pt,Dt){return _isNativeReflectConstruct()?_construct=Reflect.construct:_construct=function(jt,Ut,Gt){var Wt=[null];Wt.push.apply(Wt,Ut);var qt=Function.bind.apply(jt,Wt),Yt=new qt;return Gt&&_setPrototypeOf(Yt,Gt.prototype),Yt},_construct.apply(null,arguments)}function _isNativeFunction(_e){return Function.toString.call(_e).indexOf("[native code]")!==-1}function _wrapNativeSuper(_e){var Pt=typeof Map=="function"?new Map:void 0;return _wrapNativeSuper=function(Nt){if(Nt===null||!_isNativeFunction(Nt))return Nt;if(typeof Nt!="function")throw new TypeError("Super expression must either be null or a function");if(typeof Pt<"u"){if(Pt.has(Nt))return Pt.get(Nt);Pt.set(Nt,jt)}function jt(){return _construct(Nt,arguments,_getPrototypeOf(this).constructor)}return jt.prototype=Object.create(Nt.prototype,{constructor:{value:jt,enumerable:!1,writable:!0,configurable:!0}}),_setPrototypeOf(jt,Nt)},_wrapNativeSuper(_e)}function _assertThisInitialized(_e){if(_e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return _e}function _possibleConstructorReturn(_e,Pt){return Pt&&(typeof Pt=="object"||typeof Pt=="function")?Pt:_assertThisInitialized(_e)}function _createSuper(_e){var Pt=_isNativeReflectConstruct();return function(){var Nt=_getPrototypeOf(_e),jt;if(Pt){var Ut=_getPrototypeOf(this).constructor;jt=Reflect.construct(Nt,arguments,Ut)}else jt=Nt.apply(this,arguments);return _possibleConstructorReturn(this,jt)}}function _superPropBase(_e,Pt){for(;!Object.prototype.hasOwnProperty.call(_e,Pt)&&(_e=_getPrototypeOf(_e),_e!==null););return _e}function _get(_e,Pt,Dt){return typeof Reflect<"u"&&Reflect.get?_get=Reflect.get:_get=function(jt,Ut,Gt){var Wt=_superPropBase(jt,Ut);if(Wt){var qt=Object.getOwnPropertyDescriptor(Wt,Ut);return qt.get?qt.get.call(Gt):qt.value}},_get(_e,Pt,Dt||_e)}function _slicedToArray(_e,Pt){return _arrayWithHoles(_e)||_iterableToArrayLimit(_e,Pt)||_unsupportedIterableToArray(_e,Pt)||_nonIterableRest()}function _toArray(_e){return _arrayWithHoles(_e)||_iterableToArray(_e)||_unsupportedIterableToArray(_e)||_nonIterableRest()}function _arrayWithHoles(_e){if(Array.isArray(_e))return _e}function _iterableToArray(_e){if(typeof Symbol<"u"&&Symbol.iterator in Object(_e))return Array.from(_e)}function _iterableToArrayLimit(_e,Pt){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(_e)))){var Dt=[],Nt=!0,jt=!1,Ut=void 0;try{for(var Gt=_e[Symbol.iterator](),Wt;!(Nt=(Wt=Gt.next()).done)&&(Dt.push(Wt.value),!(Pt&&Dt.length===Pt));Nt=!0);}catch(qt){jt=!0,Ut=qt}finally{try{!Nt&&Gt.return!=null&&Gt.return()}finally{if(jt)throw Ut}}return Dt}}function _unsupportedIterableToArray(_e,Pt){if(_e){if(typeof _e=="string")return _arrayLikeToArray(_e,Pt);var Dt=Object.prototype.toString.call(_e).slice(8,-1);if(Dt==="Object"&&_e.constructor&&(Dt=_e.constructor.name),Dt==="Map"||Dt==="Set")return Array.from(_e);if(Dt==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(Dt))return _arrayLikeToArray(_e,Pt)}}function _arrayLikeToArray(_e,Pt){(Pt==null||Pt>_e.length)&&(Pt=_e.length);for(var Dt=0,Nt=new Array(Pt);Dt"u"||_e[Symbol.iterator]==null){if(Array.isArray(_e)||(Dt=_unsupportedIterableToArray(_e))||Pt&&_e&&typeof _e.length=="number"){Dt&&(_e=Dt);var Nt=0,jt=function(){};return{s:jt,n:function(){return Nt>=_e.length?{done:!0}:{done:!1,value:_e[Nt++]}},e:function(qt){throw qt},f:jt}}throw new TypeError(`Invalid attempt to iterate non-iterable instance. In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}var Ut=!0,Gt=!1,Wt;return{s:function(){Dt=_e[Symbol.iterator]()},n:function(){var qt=Dt.next();return Ut=qt.done,qt},e:function(qt){Gt=!0,Wt=qt},f:function(){try{!Ut&&Dt.return!=null&&Dt.return()}finally{if(Gt)throw Wt}}}}var Char={ANCHOR:"&",COMMENT:"#",TAG:"!",DIRECTIVES_END:"-",DOCUMENT_END:"."},Type={ALIAS:"ALIAS",BLANK_LINE:"BLANK_LINE",BLOCK_FOLDED:"BLOCK_FOLDED",BLOCK_LITERAL:"BLOCK_LITERAL",COMMENT:"COMMENT",DIRECTIVE:"DIRECTIVE",DOCUMENT:"DOCUMENT",FLOW_MAP:"FLOW_MAP",FLOW_SEQ:"FLOW_SEQ",MAP:"MAP",MAP_KEY:"MAP_KEY",MAP_VALUE:"MAP_VALUE",PLAIN:"PLAIN",QUOTE_DOUBLE:"QUOTE_DOUBLE",QUOTE_SINGLE:"QUOTE_SINGLE",SEQ:"SEQ",SEQ_ITEM:"SEQ_ITEM"},defaultTagPrefix="tag:yaml.org,2002:",defaultTags={MAP:"tag:yaml.org,2002:map",SEQ:"tag:yaml.org,2002:seq",STR:"tag:yaml.org,2002:str"};function findLineStarts(_e){for(var Pt=[0],Dt=_e.indexOf(` `);Dt!==-1;)Dt+=1,Pt.push(Dt),Dt=_e.indexOf(` @@ -1214,7 +1215,7 @@ $&`).replace(/(?:^|\n)([\t ].*)(?:([\n\t ]*)\n(?![\n\t ]))?/g,"$1$2").replace(/\ `)||null}}function resolveTagDirective(_e,Pt){var Dt=_e.tagPrefixes,Nt=_slicedToArray(Pt.parameters,2),jt=Nt[0],Ut=Nt[1];if(!jt||!Ut){var Gt="Insufficient parameters given for %TAG directive";throw new YAMLSemanticError(Pt,Gt)}if(Dt.some(function(qt){return qt.handle===jt})){var Wt="The %TAG directive must only be given at most once per handle in the same document.";throw new YAMLSemanticError(Pt,Wt)}return{handle:jt,prefix:Ut}}function resolveYamlDirective(_e,Pt){var Dt=_slicedToArray(Pt.parameters,1),Nt=Dt[0];if(Pt.name==="YAML:1.0"&&(Nt="1.0"),!Nt){var jt="Insufficient parameters given for %YAML directive";throw new YAMLSemanticError(Pt,jt)}if(!documentOptions[Nt]){var Ut=_e.version||_e.options.version,Gt="Document will be parsed as YAML ".concat(Ut," rather than YAML ").concat(Nt);_e.warnings.push(new YAMLWarning(Pt,Gt))}return Nt}function parseDirectives(_e,Pt,Dt){var Nt=[],jt=!1,Ut=_createForOfIteratorHelper(Pt),Gt;try{for(Ut.s();!(Gt=Ut.n()).done;){var Wt=Gt.value,qt=Wt.comment,Yt=Wt.name;switch(Yt){case"TAG":try{_e.tagPrefixes.push(resolveTagDirective(_e,Wt))}catch(en){_e.errors.push(en)}jt=!0;break;case"YAML":case"YAML:1.0":if(_e.version){var Xt="The %YAML directive must only be given at most once per document.";_e.errors.push(new YAMLSemanticError(Wt,Xt))}try{_e.version=resolveYamlDirective(_e,Wt)}catch(en){_e.errors.push(en)}jt=!0;break;default:if(Yt){var Zt="YAML only supports %TAG and %YAML directives, and not %".concat(Yt);_e.warnings.push(new YAMLWarning(Wt,Zt))}}qt&&Nt.push(qt)}}catch(en){Ut.e(en)}finally{Ut.f()}if(Dt&&!jt&&(_e.version||Dt.version||_e.options.version)==="1.1"){var Qt=function(tn){var nn=tn.handle,rn=tn.prefix;return{handle:nn,prefix:rn}};_e.tagPrefixes=Dt.tagPrefixes.map(Qt),_e.version=Dt.version}_e.commentBefore=Nt.join(` `)||null}function assertCollection(_e){if(_e instanceof Collection)return!0;throw new Error("Expected a YAML collection as document contents")}var Document$1=function(){function _e(Pt){_classCallCheck(this,_e),this.anchors=new Anchors(Pt.anchorPrefix),this.commentBefore=null,this.comment=null,this.contents=null,this.directivesEndMarker=null,this.errors=[],this.options=Pt,this.schema=null,this.tagPrefixes=[],this.version=null,this.warnings=[]}return _createClass(_e,[{key:"add",value:function(Dt){return assertCollection(this.contents),this.contents.add(Dt)}},{key:"addIn",value:function(Dt,Nt){assertCollection(this.contents),this.contents.addIn(Dt,Nt)}},{key:"delete",value:function(Dt){return assertCollection(this.contents),this.contents.delete(Dt)}},{key:"deleteIn",value:function(Dt){return isEmptyPath(Dt)?this.contents==null?!1:(this.contents=null,!0):(assertCollection(this.contents),this.contents.deleteIn(Dt))}},{key:"getDefaults",value:function(){return _e.defaults[this.version]||_e.defaults[this.options.version]||{}}},{key:"get",value:function(Dt,Nt){return this.contents instanceof Collection?this.contents.get(Dt,Nt):void 0}},{key:"getIn",value:function(Dt,Nt){return isEmptyPath(Dt)?!Nt&&this.contents instanceof Scalar?this.contents.value:this.contents:this.contents instanceof Collection?this.contents.getIn(Dt,Nt):void 0}},{key:"has",value:function(Dt){return this.contents instanceof Collection?this.contents.has(Dt):!1}},{key:"hasIn",value:function(Dt){return isEmptyPath(Dt)?this.contents!==void 0:this.contents instanceof Collection?this.contents.hasIn(Dt):!1}},{key:"set",value:function(Dt,Nt){assertCollection(this.contents),this.contents.set(Dt,Nt)}},{key:"setIn",value:function(Dt,Nt){isEmptyPath(Dt)?this.contents=Nt:(assertCollection(this.contents),this.contents.setIn(Dt,Nt))}},{key:"setSchema",value:function(Dt,Nt){if(!(!Dt&&!Nt&&this.schema)){typeof Dt=="number"&&(Dt=Dt.toFixed(1)),Dt==="1.0"||Dt==="1.1"||Dt==="1.2"?(this.version?this.version=Dt:this.options.version=Dt,delete this.options.schema):Dt&&typeof Dt=="string"&&(this.options.schema=Dt),Array.isArray(Nt)&&(this.options.customTags=Nt);var jt=Object.assign({},this.getDefaults(),this.options);this.schema=new Schema(jt)}}},{key:"parse",value:function(Dt,Nt){this.options.keepCstNodes&&(this.cstNode=Dt),this.options.keepNodeTypes&&(this.type="DOCUMENT");var jt=Dt.directives,Ut=jt===void 0?[]:jt,Gt=Dt.contents,Wt=Gt===void 0?[]:Gt,qt=Dt.directivesEndMarker,Yt=Dt.error,Xt=Dt.valueRange;if(Yt&&(Yt.source||(Yt.source=this),this.errors.push(Yt)),parseDirectives(this,Ut,Nt),qt&&(this.directivesEndMarker=!0),this.range=Xt?[Xt.start,Xt.end]:null,this.setSchema(),this.anchors._cstAliases=[],parseContents(this,Wt),this.anchors.resolveNodes(),this.options.prettyErrors){var Zt=_createForOfIteratorHelper(this.errors),Qt;try{for(Zt.s();!(Qt=Zt.n()).done;){var en=Qt.value;en instanceof YAMLError&&en.makePretty()}}catch(an){Zt.e(an)}finally{Zt.f()}var tn=_createForOfIteratorHelper(this.warnings),nn;try{for(tn.s();!(nn=tn.n()).done;){var rn=nn.value;rn instanceof YAMLError&&rn.makePretty()}}catch(an){tn.e(an)}finally{tn.f()}}return this}},{key:"listNonDefaultTags",value:function(){return listTagNames(this.contents).filter(function(Dt){return Dt.indexOf(Schema.defaultPrefix)!==0})}},{key:"setTagPrefix",value:function(Dt,Nt){if(Dt[0]!=="!"||Dt[Dt.length-1]!=="!")throw new Error("Handle must start and end with !");if(Nt){var jt=this.tagPrefixes.find(function(Ut){return Ut.handle===Dt});jt?jt.prefix=Nt:this.tagPrefixes.push({handle:Dt,prefix:Nt})}else this.tagPrefixes=this.tagPrefixes.filter(function(Ut){return Ut.handle!==Dt})}},{key:"toJSON",value:function(Dt,Nt){var jt=this,Ut=this.options,Gt=Ut.keepBlobsInJSON,Wt=Ut.mapAsMap,qt=Ut.maxAliasCount,Yt=Gt&&(typeof Dt!="string"||!(this.contents instanceof Scalar)),Xt={doc:this,indentStep:" ",keep:Yt,mapAsMap:Yt&&!!Wt,maxAliasCount:qt,stringify:stringify$1$1},Zt=Object.keys(this.anchors.map);Zt.length>0&&(Xt.anchors=new Map(Zt.map(function(sn){return[jt.anchors.map[sn],{alias:[],aliasCount:0,count:1}]})));var Qt=toJSON(this.contents,Dt,Xt);if(typeof Nt=="function"&&Xt.anchors){var en=_createForOfIteratorHelper(Xt.anchors.values()),tn;try{for(en.s();!(tn=en.n()).done;){var nn=tn.value,rn=nn.count,an=nn.res;Nt(an,rn)}}catch(sn){en.e(sn)}finally{en.f()}}return Qt}},{key:"toString",value:function(){if(this.errors.length>0)throw new Error("Document with errors cannot be stringified");var Dt=this.options.indent;if(!Number.isInteger(Dt)||Dt<=0){var Nt=JSON.stringify(Dt);throw new Error('"indent" option must be a positive integer, not '.concat(Nt))}this.setSchema();var jt=[],Ut=!1;if(this.version){var Gt="%YAML 1.2";this.schema.name==="yaml-1.1"&&(this.version==="1.0"?Gt="%YAML:1.0":this.version==="1.1"&&(Gt="%YAML 1.1")),jt.push(Gt),Ut=!0}var Wt=this.listNonDefaultTags();this.tagPrefixes.forEach(function(en){var tn=en.handle,nn=en.prefix;Wt.some(function(rn){return rn.indexOf(nn)===0})&&(jt.push("%TAG ".concat(tn," ").concat(nn)),Ut=!0)}),(Ut||this.directivesEndMarker)&&jt.push("---"),this.commentBefore&&((Ut||!this.directivesEndMarker)&&jt.unshift(""),jt.unshift(this.commentBefore.replace(/^/gm,"#")));var qt={anchors:Object.create(null),doc:this,indent:"",indentStep:" ".repeat(Dt),stringify:stringify$1$1},Yt=!1,Xt=null;if(this.contents){this.contents instanceof Node$2&&(this.contents.spaceBefore&&(Ut||this.directivesEndMarker)&&jt.push(""),this.contents.commentBefore&&jt.push(this.contents.commentBefore.replace(/^/gm,"#")),qt.forceBlockIndent=!!this.comment,Xt=this.contents.comment);var Zt=Xt?null:function(){return Yt=!0},Qt=stringify$1$1(this.contents,qt,function(){return Xt=null},Zt);jt.push(addComment(Qt,"",Xt))}else this.contents!==void 0&&jt.push(stringify$1$1(this.contents,qt));return this.comment&&((!Yt||Xt)&&jt[jt.length-1]!==""&&jt.push(""),jt.push(this.comment.replace(/^/gm,"#"))),jt.join(` `)+` -`}}]),_e}();_defineProperty(Document$1,"defaults",documentOptions);function createNode$1(_e){var Pt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Dt=arguments.length>2?arguments[2]:void 0;Dt===void 0&&typeof Pt=="string"&&(Dt=Pt,Pt=!0);var Nt=Object.assign({},Document$1.defaults[defaultOptions.version],defaultOptions),jt=new Schema(Nt);return jt.createNode(_e,Pt,Dt)}var Document=function(_e){_inherits(Dt,_e);var Pt=_createSuper(Dt);function Dt(Nt){return _classCallCheck(this,Dt),Pt.call(this,Object.assign({},defaultOptions,Nt))}return Dt}(Document$1);function parseAllDocuments(_e,Pt){var Dt=[],Nt,jt=_createForOfIteratorHelper(parse$5(_e)),Ut;try{for(jt.s();!(Ut=jt.n()).done;){var Gt=Ut.value,Wt=new Document(Pt);Wt.parse(Gt,Nt),Dt.push(Wt),Nt=Wt}}catch(qt){jt.e(qt)}finally{jt.f()}return Dt}function parseDocument(_e,Pt){var Dt=parse$5(_e),Nt=new Document(Pt).parse(Dt[0]);if(Dt.length>1){var jt="Source contains multiple documents; please use YAML.parseAllDocuments()";Nt.errors.unshift(new YAMLSemanticError(Dt[1],jt))}return Nt}function parse$4(_e,Pt){var Dt=parseDocument(_e,Pt);if(Dt.warnings.forEach(function(Nt){return warn(Nt)}),Dt.errors.length>0)throw Dt.errors[0];return Dt.toJSON()}function stringify$2(_e,Pt){var Dt=new Document(Pt);return Dt.contents=_e,String(Dt)}var YAML={createNode:createNode$1,defaultOptions,Document,parse:parse$4,parseAllDocuments,parseCST:parse$5,parseDocument,scalarOptions,stringify:stringify$2};const dist$3=Object.freeze(Object.defineProperty({__proto__:null,YAML},Symbol.toStringTag,{value:"Module"})),require$$0=getAugmentedNamespace(dist$3);var browser=require$$0.YAML;function Button({children:_e,sx:Pt,...Dt}){const Nt=usePaper();return jsxRuntimeExports.jsx(MuiButton,{disableElevation:!0,variant:"outlined",color:"primary",...Dt,sx:{minWidth:0,borderColor:jt=>alpha(jt.palette.text.primary,jt.palette.action.activatedOpacity),...Dt.variant==="text"?void 0:Nt(1),...Pt},children:jsxRuntimeExports.jsx(Box$1,{sx:{color:"text.primary",textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"},children:_e})})}function Image$1(_e){return jsxRuntimeExports.jsx(PopupState,{variant:"popover",children:({open:Pt,isOpen:Dt})=>jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx(Fade$1,{in:Dt,children:jsxRuntimeExports.jsx("img",{..._e,onLoad:Pt})})})})}const paths$1=Object.assign({"/public/recipes/9-tiles.workspace":()=>__vitePreload(()=>import("./9-tiles-1f224294.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/a-star-grid-search-heat-map.workspace":()=>__vitePreload(()=>import("./a-star-grid-search-heat-map-0f76793f.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/a-star-grid-search.workspace":()=>__vitePreload(()=>import("./a-star-grid-search-ffae5751.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/dynamic-star-craft.workspace":()=>__vitePreload(()=>import("./dynamic-star-craft-6a733d35.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/palette-reference.workspace":()=>__vitePreload(()=>import("./palette-reference-9c0fac30.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/primitives-reference.workspace":()=>__vitePreload(()=>import("./primitives-reference-9d7af09e.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/rayscan.workspace":()=>__vitePreload(()=>import("./rayscan-202b7804.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/variables-reference.workspace":()=>__vitePreload(()=>import("./variables-reference-b00bbb42.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/weighted-a-star.workspace":()=>__vitePreload(()=>import("./weighted-a-star-756c8812.js"),[],import.meta.url).then(_e=>_e.default)}),metaPaths=Object.assign({"/public/recipes/9-tiles.workspace.meta":()=>__vitePreload(()=>import("./9-tiles.workspace-621e8328.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/a-star-grid-search-heat-map.workspace.meta":()=>__vitePreload(()=>import("./a-star-grid-search-heat-map.workspace-ec8039bd.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/a-star-grid-search.workspace.meta":()=>__vitePreload(()=>import("./a-star-grid-search.workspace-8079d31e.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/dynamic-star-craft.workspace.meta":()=>__vitePreload(()=>import("./dynamic-star-craft.workspace-5fa26288.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/palette-reference.workspace.meta":()=>__vitePreload(()=>import("./palette-reference.workspace-bd4901e3.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/primitives-reference.workspace.meta":()=>__vitePreload(()=>import("./primitives-reference.workspace-cd08113e.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/rayscan.workspace.meta":()=>__vitePreload(()=>import("./rayscan.workspace-b6c007ed.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/variables-reference.workspace.meta":()=>__vitePreload(()=>import("./variables-reference.workspace-db5c7928.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/weighted-a-star.workspace.meta":()=>__vitePreload(()=>import("./weighted-a-star.workspace-13502ed5.js"),[],import.meta.url).then(_e=>_e.default)});function stripExtension$1(_e){return _e.split(".")[0]}function basename$1(_e){return _e.split("/").pop()}async function getMeta(_e){const Pt=metaPaths[_e.replace(/workspace$/,"workspace.meta")],Dt=await(Pt==null?void 0:Pt());if(Dt){const Nt=await fetch(Dt);return browser.parse(await Nt.text())}}const getFileInfo$1=memoizee$1(async(_e,Pt)=>({name:lodashExports$1.chain(_e).thru(basename$1).thru(stripExtension$1).startCase().value(),path:await Pt(),...await getMeta(_e)}),{normalizer:([_e])=>_e}),makeAvatar=_e=>Pt=>jsxRuntimeExports.jsx(Avatar$1,{sx:Pt,children:_e});function getAuthor(_e){if(_e){try{const{protocol:Pt,pathname:Dt}=new URL(_e);switch(Pt){case"github:":return{name:Dt,avatar:Nt=>jsxRuntimeExports.jsx("a",{href:`https://github.com/${Dt}`,target:"_blank",rel:"noreferrer",children:jsxRuntimeExports.jsx(Avatar$1,{sx:Nt,children:jsxRuntimeExports.jsx(Image$1,{width:"100%",height:"100%",src:`https://github.com/${Dt}.png`})})})};default:break}}catch{}return{name:_e,avatar:makeAvatar(_e[0])}}return{name:"No author",avatar:makeAvatar()}}const ellipsisProps={textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"};function FeatureCard2({entry:_e,onOpenClick:Pt,search:Dt}){const{result:Nt,loading:jt}=useAsync(async()=>{if(_e)return await getFileInfo$1(..._e)},[_e]),{name:Ut,description:Gt,screenshots:Wt,author:qt,path:Yt,size:Xt}=Nt??{};return lodashExports$1.upperCase(browser.stringify(Nt)).includes(lodashExports$1.upperCase(Dt))?jsxRuntimeExports.jsx(Box$1,{sx:{p:1},children:jsxRuntimeExports.jsx(FeatureCard,{loading:jt,name:Ut,description:Gt??"No description",image:lodashExports$1.first(Wt),author:qt,onOpenClick:()=>{Pt==null||Pt(Yt)},size:Xt})}):void 0}function FeatureCard({name:_e,description:Pt,image:Dt,author:Nt,size:jt,onOpenClick:Ut,loading:Gt,...Wt}){const[{"appearance/acrylic":qt}]=useSettings(),Yt=usePaper(),Xt=useTheme(),{name:Zt,avatar:Qt}=reactExports.useMemo(()=>getAuthor(Nt),[Nt]);return jsxRuntimeExports.jsx(Card$1,{variant:"outlined",sx:{...Yt(1),position:"relative",height:"100%"},...Wt,children:jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[qt&&jsxRuntimeExports.jsx(Fade$1,{in:!Gt,timeout:Xt.transitions.duration.complex,children:jsxRuntimeExports.jsx(Box$1,{children:jsxRuntimeExports.jsx(Box$1,{sx:{zIndex:-1,filter:"blur(48px)",opacity:.1,position:"absolute",width:"100%",height:"100%",backgroundImage:`url("${Dt}")`,backgroundSize:"contain",backgroundRepeat:"no-repeat",backgroundPosition:"-52px -52px"}})})}),jsxRuntimeExports.jsx(CardHeader$1,{sx:{alignItems:"flex-start","> .MuiCardHeader-content":{overflow:"hidden"}},avatar:jsxRuntimeExports.jsx(Box$1,{sx:{...Yt(1),border:"none",borderRadius:1,width:64,height:64,overflow:"hidden"},children:jsxRuntimeExports.jsx(Fade$1,{in:!!Dt,children:jsxRuntimeExports.jsx(Box$1,{sx:{width:64,height:64,backgroundImage:`url("${Dt}")`,backgroundSize:"100%",backgroundPosition:"center"}})})}),titleTypeProps:ellipsisProps,title:Gt?jsxRuntimeExports.jsx(Placeholder$3,{}):_e||"Untitled",subheaderTypeProps:ellipsisProps,subheader:jsxRuntimeExports.jsxs(Stack$1,{gap:2,sx:{pt:1,alignItems:"flex-start"},children:[jsxRuntimeExports.jsx(Type$2,{sx:{...ellipsisProps,maxWidth:"100%",width:"100%",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:3,whiteSpace:"break-spaces",height:60},children:Gt?lodashExports$1.map([80,30],en=>jsxRuntimeExports.jsx(Placeholder$3,{width:`${en}%`},en)):Pt||"No description"}),jsxRuntimeExports.jsxs(Stack$1,{direction:"row",alignItems:"center",gap:1,children:[Qt==null?void 0:Qt({width:18,height:18,fontSize:"0.8rem"}),jsxRuntimeExports.jsx(Type$2,{variant:"caption",children:Gt?jsxRuntimeExports.jsx(Placeholder$3,{width:120}):Zt})]}),jsxRuntimeExports.jsx(Button,{disabled:Gt,onClick:Ut,startIcon:jsxRuntimeExports.jsx(WorkspacesOutlined,{}),sx:Yt(2),children:jsxRuntimeExports.jsxs(Stack$1,{direction:"row",gap:1,children:[jsxRuntimeExports.jsx(Type$2,{children:"Open"}),!!jt&&jsxRuntimeExports.jsxs(Type$2,{color:"text.secondary",children:[lodashExports$1.round(jt/1024/1024,2)," MB"]})]})})]})})]})})}const CONTENT_WIDTH=940,entries2=lodashExports$1.entries(paths$1);function ExplorePage({template:_e}){const Pt=useTheme(),[{"behaviour/showOnStart":Dt},Nt]=useSettings(),jt=useSnackbar(),{controls:Ut,onChange:Gt,state:Wt,dragHandle:qt,isViewTree:Yt}=useViewTreeContext(),{close:Xt}=useFullscreenModalContext(),Qt=useSmallDisplay()||Yt,[en,tn]=reactExports.useState(""),[nn,rn]=reactExports.useState("explore"),{load:an}=useWorkspace(),sn=useLoadingState(),ln=dn=>sn(async()=>{try{jt(`Loading ${basename$1(dn)}...`);const hn=await fetch(dn);hn.ok||jt(`Couldn't load ${basename$1(dn)}`,"Network error",{error:!0});const vn=await hn.blob(),En=new File([vn],basename$1(dn),{type:vn.type});an(En)}catch(hn){jt(`Couldn't load ${basename$1(dn)}`,`${hn}`,{error:!0})}}),un=Dt==="explore";function pn(dn){Nt(()=>({"behaviour/showOnStart":dn?"explore":void 0}))}function mn(){const dn=new Rt(Pt.palette.primary.main).H,hn=new Rt("rgba(0,50,255,.2)").H;return jsxRuntimeExports.jsx(Box$1,{sx:{position:"absolute",top:"-50%",left:"calc(50%)",width:"100%",zIndex:-1,transform:"translateX(-50%) rotate(180deg)",height:"100%",filter:`hue-rotate(${dn-hn}deg)`,minWidth:640,opacity:.75,background:"radial-gradient(46.56% 45.08% at 56.04% 55.33%,rgba(0,50,255,.2) 0,transparent 100%),radial-gradient(46.69% 41.74% at 69.64% 60.81%,rgba(192,59,196,.2) 0,transparent 100%),radial-gradient(59.78% 45.73% at 30.42% 58.68%,rgba(0,120,212,.2) 0,transparent 100%),radial-gradient(32.53% 31.57% at 50% 66.82%,rgba(70,54,104,.2) 0,transparent 100%)"}})}return jsxRuntimeExports.jsx(TabContext,{value:nn,children:jsxRuntimeExports.jsxs(_e,{onChange:Gt,stack:Wt,children:[jsxRuntimeExports.jsx(_e.Title,{children:"Explore"}),jsxRuntimeExports.jsx(_e.Key,{children:"explore"}),jsxRuntimeExports.jsx(_e.Handle,{children:qt}),jsxRuntimeExports.jsx(_e.Options,{children:jsxRuntimeExports.jsxs(TabList$1,{onChange:(dn,hn)=>rn(hn),sx:{mx:Yt?0:-1},children:[jsxRuntimeExports.jsx(Tab$1,{label:"Examples",value:"explore"}),jsxRuntimeExports.jsx(Tab$1,{label:"Guides",value:"guides"})]})}),jsxRuntimeExports.jsx(_e.Content,{children:jsxRuntimeExports.jsx(Flex,{vertical:!0,children:jsxRuntimeExports.jsx(Scroll,{y:!0,children:jsxRuntimeExports.jsx(Box$1,{sx:Qt?void 0:{p:4,maxWidth:CONTENT_WIDTH,mx:"auto"},children:jsxRuntimeExports.jsxs(Box$1,{pt:6,children:[jsxRuntimeExports.jsxs(TabPanel$1,{value:"explore",sx:{p:0},children:[jsxRuntimeExports.jsxs(Box$1,{p:4,sx:{textAlign:"center"},children:[jsxRuntimeExports.jsx(Type$2,{variant:Qt?"h6":"h4",children:"Examples"}),jsxRuntimeExports.jsx(Type$2,{variant:"subtitle2",color:"text.secondary",children:"Browse a library of included and community-made examples"})]}),Pt.palette.mode==="dark"&&mn(),jsxRuntimeExports.jsx(Box$1,{px:2,pb:4,sx:{textAlign:"center"},children:jsxRuntimeExports.jsx(TextField$1,{...textFieldProps,size:Qt?"small":"medium",hiddenLabel:!0,fullWidth:!0,sx:{maxWidth:480},InputProps:{startAdornment:jsxRuntimeExports.jsx(InputAdornment$1,{position:"start",children:jsxRuntimeExports.jsx(SearchOutlined,{})})},onChange:dn=>tn(dn.target.value),placeholder:"Search examples"})}),jsxRuntimeExports.jsx(Box$1,{sx:{p:1,display:"grid",gridAutoFlow:"row",gridTemplateColumns:"repeat(auto-fill, minmax(min(100%, 320px), 1fr))"},children:lodashExports$1.map(entries2,dn=>jsxRuntimeExports.jsx(FeatureCard2,{search:en,entry:dn,onOpenClick:hn=>{ln(hn),Xt==null||Xt()}},dn[0]))})]}),jsxRuntimeExports.jsxs(TabPanel$1,{value:"guides",sx:{p:0},children:[jsxRuntimeExports.jsxs(Box$1,{p:4,sx:{textAlign:"center"},children:[jsxRuntimeExports.jsx(Type$2,{variant:Qt?"h6":"h4",children:"Guides"}),jsxRuntimeExports.jsx(Type$2,{variant:"subtitle2",color:"text.secondary",children:`Learn how to use ${name} and explore ${name} features`})]}),jsxRuntimeExports.jsxs(Stack$1,{sx:{p:4,maxWidth:480,mx:"auto",textAlign:"center",alignItems:"center"},gap:2,children:[jsxRuntimeExports.jsx(Type$2,{children:"We're still working on this feature. Check out our documentation instead."}),jsxRuntimeExports.jsx(Button,{onClick:()=>window.open(docs,"_blank"),sx:{maxWidth:"min-content"},startIcon:jsxRuntimeExports.jsx(LaunchOutlined,{}),children:"Open Documentation"})]})]})]})})})})}),jsxRuntimeExports.jsxs(_e.Extras,{children:[!Qt&&jsxRuntimeExports.jsx(FormControlLabel$1,{label:"Show on start-up",labelPlacement:"start",sx:{ml:"auto",mr:-5,minWidth:"fit-content"},control:jsxRuntimeExports.jsx(Checkbox$1,{defaultChecked:un,onChange:(dn,hn)=>pn==null?void 0:pn(hn)})}),Ut]})]})})}function InfoPage({template:_e}){const{controls:Pt,onChange:Dt,state:Nt,dragHandle:jt}=useViewTreeContext(),[Ut,Gt]=useLog();return jsxRuntimeExports.jsxs(_e,{onChange:Dt,stack:Nt,children:[jsxRuntimeExports.jsx(_e.Key,{children:"info"}),jsxRuntimeExports.jsx(_e.Title,{children:"Logs"}),jsxRuntimeExports.jsx(_e.Handle,{children:jt}),jsxRuntimeExports.jsx(_e.Options,{children:jsxRuntimeExports.jsx(FeaturePickerButton,{disabled:!Ut.length,icon:jsxRuntimeExports.jsx(CloseOutlined,{}),onClick:()=>Gt(()=>({action:"clear"})),children:"Clear"})}),jsxRuntimeExports.jsx(_e.Content,{children:jsxRuntimeExports.jsx(Flex,{vertical:!0,children:Ut.length?jsxRuntimeExports.jsx(Scroll,{y:!0,children:jsxRuntimeExports.jsx(List$2,{sx:{pt:6},children:lodashExports$1.map(Ut,(Wt,qt)=>jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx(ListItem$1,{children:jsxRuntimeExports.jsx(ListItemText$1,{primary:Wt.content,secondary:Wt.timestamp})}),jsxRuntimeExports.jsx(Divider$1,{})]},qt))})}):jsxRuntimeExports.jsx(Placeholder$2,{pt:6,label:"Logs",icon:jsxRuntimeExports.jsx(ListOutlined,{})})})}),jsxRuntimeExports.jsx(_e.Extras,{children:Pt})]})}const compositeOperations=["color","color-burn","color-dodge","copy","darken","destination-atop","destination-in","destination-out","destination-over","difference","exclusion","hard-light","hue","lighten","lighter","luminosity","multiply","overlay","saturation","screen","soft-light","source-atop","source-in","source-out","source-over","xor"];function useDraft(_e,Pt,Dt=300,Nt=[]){const[jt,Ut]=reactExports.useState(_e);reactExports.useEffect(()=>{_e&&requestIdleCallback(()=>Ut(lodashExports$1.merge(jt,lodashExports$1.omit(_e,...Nt))))},[Ut,_e]);const Gt=reactExports.useMemo(()=>lodashExports$1.debounce(Wt=>Pt==null?void 0:Pt(Wt),Dt),[Pt,Dt]);return[jt,Wt=>{const qt=Wt(jt);Ut(qt),Gt(qt)}]}function Component({value:_e,onValueChange:Pt},Dt){var Qt,en,tn,nn;const Nt=usePaper();useAcrylic();const[jt,Ut]=useDraft(_e,Pt,300,["name","source.type"]),Gt=rn=>jsxRuntimeExports.jsx(Type$2,{variant:"overline",color:"text.secondary",sx:{pt:1},component:"p",children:rn}),Wt=rn=>jsxRuntimeExports.jsx(Type$2,{variant:"body1",children:rn}),qt=(rn,an)=>jsxRuntimeExports.jsxs(Flex,{alignItems:"center",children:[Wt(rn),jsxRuntimeExports.jsx(Space,{flex:1}),an]}),Yt=rn=>rn.map(an=>({id:an,name:lodashExports$1.startCase(an)})),Xt=jt.name||inferLayerName(_e),Zt=(en=(Qt=getLayerHandler(_e))==null?void 0:Qt.error)==null?void 0:en.call(Qt,_e);return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx(ManagedModal,{popover:!0,slotProps:{popover:{anchorOrigin:{horizontal:-12,vertical:-12}}},appBar:{children:"Edit Layer"},trigger:rn=>{var an;return jsxRuntimeExports.jsx(ButtonBase$1,{onClick:rn,className:jt.key,sx:{flex:1,display:"block",textAlign:"left",px:2},children:jsxRuntimeExports.jsxs(Stack$1,{alignItems:"center",direction:"row",gap:2,children:[jsxRuntimeExports.jsx(Stack$1,{sx:{...Nt(.5),alignItems:"center",justifyContent:"center",width:36,height:36,color:"action.disabled"},children:getLayerHandler(_e).icon}),jsxRuntimeExports.jsxs(Box$1,{sx:{py:1.5,flex:1,width:0,ml:0,overflow:"hidden","> *":{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}},children:[jsxRuntimeExports.jsx(Type$2,{children:Xt}),jsxRuntimeExports.jsx(Type$2,{variant:"body2",color:"text.secondary",children:lodashExports$1.startCase((an=_e.source)==null?void 0:an.type)})]}),!!Zt&&jsxRuntimeExports.jsx(Tooltip$1,{title:Zt,children:jsxRuntimeExports.jsx(Chip$1,{sx:{mr:-2,...lodashExports$1.omit(Nt(1),"borderRadius"),color:sn=>sn.palette.error.main,flex:0},label:`${lodashExports$1.truncate(`${Zt}`,{length:8})}`,size:"small"})})]})})},children:jsxRuntimeExports.jsxs(Box$1,{p:2,children:[jsxRuntimeExports.jsx(TextField$1,{sx:{mb:2},autoComplete:"off",autoFocus:!0,placeholder:inferLayerName(jt),fullWidth:!0,variant:"filled",label:"Layer Name",defaultValue:jt.name??"",onChange:rn=>Ut==null?void 0:Ut(an=>lodashExports$1.set(an,"name",rn.target.value))}),jsxRuntimeExports.jsxs(Box$1,{sx:{mx:-2,pb:1},children:[jsxRuntimeExports.jsx(Tabs$1,{variant:"fullWidth",onChange:(rn,an)=>Ut==null?void 0:Ut(sn=>lodashExports$1.set(sn,"source",{type:an})),value:((tn=jt.source)==null?void 0:tn.type)??lodashExports$1.first(lodashExports$1.keys(layerHandlers))??"",children:lodashExports$1.keys(layerHandlers).map(rn=>jsxRuntimeExports.jsx(Tab$1,{label:lodashExports$1.startCase(rn),value:rn},rn))}),jsxRuntimeExports.jsx(Divider$1,{sx:{width:"100%"}})]}),Gt("Source Options"),((nn=jt.source)==null?void 0:nn.type)&&reactExports.createElement(layerHandlers[jt.source.type].editor,{onChange:Ut,value:jt}),Gt("Layer Options"),qt("Transparency",jsxRuntimeExports.jsx(FeaturePicker,{label:"Transparency",items:["0","25","50","75"].map(rn=>({id:rn,name:`${rn}%`})),value:jt.transparency??"0",arrow:!0,onChange:rn=>Ut==null?void 0:Ut(an=>lodashExports$1.set(an,"transparency",rn))})),qt("Display Mode",jsxRuntimeExports.jsx(FeaturePicker,{arrow:!0,label:"Display Mode",value:jt.displayMode??"source-over",items:Yt(compositeOperations),onChange:rn=>Ut==null?void 0:Ut(an=>lodashExports$1.set(an,"displayMode",rn))}))]})})})}const LayerEditor=reactExports.forwardRef(Component);function LayerListEditor(){const[{layers:_e=[]},Pt]=useLayers();return jsxRuntimeExports.jsx(Box$1,{sx:{overflow:"auto hidden",width:"100%"},children:jsxRuntimeExports.jsx(Box$1,{sx:{mb:2},children:jsxRuntimeExports.jsx(ListEditor,{sortable:!0,icon:null,value:_e,deletable:!0,orderable:!0,extras:Dt=>jsxRuntimeExports.jsx(PopupState,{variant:"popover",children:Nt=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Menu$1,{...bindMenu(Nt),transformOrigin:{horizontal:"right",vertical:"top"},anchorOrigin:{horizontal:"right",vertical:"bottom"},children:jsxRuntimeExports.jsx(MenuList$1,{dense:!0,sx:{p:0},children:[{name:"Fit Layer",key:"fit-layer",action:()=>Pt(({layers:jt})=>({layers:lodashExports$1.map(jt,Ut=>({...Ut,viewKey:Ut.key===(Dt==null?void 0:Dt.key)?nanoid$1():void 0}))}))}].map(({name:jt,key:Ut,action:Gt})=>jsxRuntimeExports.jsx(MenuItem$1,{onClick:()=>{Gt==null||Gt(),Nt.close()},children:jt},Ut))})}),jsxRuntimeExports.jsx(IconButton$1,{...bindTrigger(Nt),sx:{color:jt=>jt.palette.text.secondary},children:jsxRuntimeExports.jsx(MoreVertOutlined,{})})]})}),renderEditor:({extras:Dt,handle:Nt,value:jt,onValueChange:Ut})=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[Nt,jsxRuntimeExports.jsx(LayerEditor,{value:jt,onValueChange:Ut}),Dt]}),create:()=>({source:{type:"trace",trace:{}}}),onChange:Dt=>requestIdleCallback(()=>Pt(()=>({layers:Dt})),{timeout:300}),addItemLabel:"Layer",placeholder:jsxRuntimeExports.jsx(Box$1,{pt:2,children:"Get started by adding a layer."}),onFocus:Dt=>{const Nt=lodashExports$1.head(document.getElementsByClassName(Dt));Nt&&"click"in Nt&&typeof Nt.click=="function"&&Nt.click()}})})})}function LayersPage({template:_e}){const{controls:Pt,onChange:Dt,state:Nt,dragHandle:jt}=useViewTreeContext();return jsxRuntimeExports.jsxs(_e,{onChange:Dt,stack:Nt,children:[jsxRuntimeExports.jsx(_e.Key,{children:"layers"}),jsxRuntimeExports.jsx(_e.Title,{children:"Layers"}),jsxRuntimeExports.jsx(_e.Handle,{children:jt}),jsxRuntimeExports.jsx(_e.Content,{children:jsxRuntimeExports.jsx(Flex,{children:jsxRuntimeExports.jsx(Scroll,{y:!0,style:{width:"100%"},children:jsxRuntimeExports.jsx(Box$1,{pt:6,children:jsxRuntimeExports.jsx(LayerListEditor,{})})})})}),jsxRuntimeExports.jsx(_e.Extras,{children:Pt})]})}var dist$2={},client={},models={};(function(_e){var Pt=commonjsGlobal&&commonjsGlobal.__extends||function(){var en=function(tn,nn){return en=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(rn,an){rn.__proto__=an}||function(rn,an){for(var sn in an)Object.prototype.hasOwnProperty.call(an,sn)&&(rn[sn]=an[sn])},en(tn,nn)};return function(tn,nn){if(typeof nn!="function"&&nn!==null)throw new TypeError("Class extends value "+String(nn)+" is not a constructor or null");en(tn,nn);function rn(){this.constructor=tn}tn.prototype=nn===null?Object.create(nn):(rn.prototype=nn.prototype,new rn)}}();Object.defineProperty(_e,"__esModule",{value:!0}),_e.createJSONRPCNotification=_e.createJSONRPCRequest=_e.createJSONRPCSuccessResponse=_e.createJSONRPCErrorResponse=_e.JSONRPCErrorCode=_e.JSONRPCErrorException=_e.isJSONRPCResponses=_e.isJSONRPCResponse=_e.isJSONRPCRequests=_e.isJSONRPCRequest=_e.isJSONRPCID=_e.JSONRPC=void 0,_e.JSONRPC="2.0";var Dt=function(en){return typeof en=="string"||typeof en=="number"||en===null};_e.isJSONRPCID=Dt;var Nt=function(en){return en.jsonrpc===_e.JSONRPC&&en.method!==void 0&&en.result===void 0&&en.error===void 0};_e.isJSONRPCRequest=Nt;var jt=function(en){return Array.isArray(en)&&en.every(_e.isJSONRPCRequest)};_e.isJSONRPCRequests=jt;var Ut=function(en){return en.jsonrpc===_e.JSONRPC&&en.id!==void 0&&(en.result!==void 0||en.error!==void 0)};_e.isJSONRPCResponse=Ut;var Gt=function(en){return Array.isArray(en)&&en.every(_e.isJSONRPCResponse)};_e.isJSONRPCResponses=Gt;var Wt=function(en,tn,nn){var rn={code:en,message:tn};return nn!=null&&(rn.data=nn),rn},qt=function(en){Pt(tn,en);function tn(nn,rn,an){var sn=en.call(this,nn)||this;return Object.setPrototypeOf(sn,tn.prototype),sn.code=rn,sn.data=an,sn}return tn.prototype.toObject=function(){return Wt(this.code,this.message,this.data)},tn}(Error);_e.JSONRPCErrorException=qt,function(en){en[en.ParseError=-32700]="ParseError",en[en.InvalidRequest=-32600]="InvalidRequest",en[en.MethodNotFound=-32601]="MethodNotFound",en[en.InvalidParams=-32602]="InvalidParams",en[en.InternalError=-32603]="InternalError"}(_e.JSONRPCErrorCode||(_e.JSONRPCErrorCode={}));var Yt=function(en,tn,nn,rn){return{jsonrpc:_e.JSONRPC,id:en,error:Wt(tn,nn,rn)}};_e.createJSONRPCErrorResponse=Yt;var Xt=function(en,tn){return{jsonrpc:_e.JSONRPC,id:en,result:tn??null}};_e.createJSONRPCSuccessResponse=Xt;var Zt=function(en,tn,nn){return{jsonrpc:_e.JSONRPC,id:en,method:tn,params:nn}};_e.createJSONRPCRequest=Zt;var Qt=function(en,tn){return{jsonrpc:_e.JSONRPC,method:en,params:tn}};_e.createJSONRPCNotification=Qt})(models);var internal$1={};Object.defineProperty(internal$1,"__esModule",{value:!0});internal$1.DefaultErrorCode=void 0;internal$1.DefaultErrorCode=0;var __awaiter$2=commonjsGlobal&&commonjsGlobal.__awaiter||function(_e,Pt,Dt,Nt){function jt(Ut){return Ut instanceof Dt?Ut:new Dt(function(Gt){Gt(Ut)})}return new(Dt||(Dt=Promise))(function(Ut,Gt){function Wt(Xt){try{Yt(Nt.next(Xt))}catch(Zt){Gt(Zt)}}function qt(Xt){try{Yt(Nt.throw(Xt))}catch(Zt){Gt(Zt)}}function Yt(Xt){Xt.done?Ut(Xt.value):jt(Xt.value).then(Wt,qt)}Yt((Nt=Nt.apply(_e,Pt||[])).next())})},__generator$2=commonjsGlobal&&commonjsGlobal.__generator||function(_e,Pt){var Dt={label:0,sent:function(){if(Ut[0]&1)throw Ut[1];return Ut[1]},trys:[],ops:[]},Nt,jt,Ut,Gt;return Gt={next:Wt(0),throw:Wt(1),return:Wt(2)},typeof Symbol=="function"&&(Gt[Symbol.iterator]=function(){return this}),Gt;function Wt(Yt){return function(Xt){return qt([Yt,Xt])}}function qt(Yt){if(Nt)throw new TypeError("Generator is already executing.");for(;Gt&&(Gt=0,Yt[0]&&(Dt=0)),Dt;)try{if(Nt=1,jt&&(Ut=Yt[0]&2?jt.return:Yt[0]?jt.throw||((Ut=jt.return)&&Ut.call(jt),0):jt.next)&&!(Ut=Ut.call(jt,Yt[1])).done)return Ut;switch(jt=0,Ut&&(Yt=[Yt[0]&2,Ut.value]),Yt[0]){case 0:case 1:Ut=Yt;break;case 4:return Dt.label++,{value:Yt[1],done:!1};case 5:Dt.label++,jt=Yt[1],Yt=[0];continue;case 7:Yt=Dt.ops.pop(),Dt.trys.pop();continue;default:if(Ut=Dt.trys,!(Ut=Ut.length>0&&Ut[Ut.length-1])&&(Yt[0]===6||Yt[0]===2)){Dt=0;continue}if(Yt[0]===3&&(!Ut||Yt[1]>Ut[0]&&Yt[1]0&&Ut[Ut.length-1])&&(Yt[0]===6||Yt[0]===2)){Dt=0;continue}if(Yt[0]===3&&(!Ut||Yt[1]>Ut[0]&&Yt[1]0&&Ut[Ut.length-1])&&(Yt[0]===6||Yt[0]===2)){Dt=0;continue}if(Yt[0]===3&&(!Ut||Yt[1]>Ut[0]&&Yt[1]{const jt=({data:Ut})=>{Ut.id===Nt.id&&(this.rpc.receive(Ut),this.worker.removeEventListener("message",jt))};this.worker.postMessage(Nt),this.worker.addEventListener("message",jt)})}connect(){return this.worker.postMessage(this.options.url),new Promise(Dt=>{const Nt=()=>{Dt(),this.worker.removeEventListener("message",Nt)};this.worker.addEventListener("message",Nt)})}async disconnect(){this.worker.terminate()}async call(Dt,Nt){return await this.rpc.request(Dt,Nt)}}var requiresPort=function(Pt,Dt){if(Dt=Dt.split(":")[0],Pt=+Pt,!Pt)return!1;switch(Dt){case"http":case"ws":return Pt!==80;case"https":case"wss":return Pt!==443;case"ftp":return Pt!==21;case"gopher":return Pt!==70;case"file":return!1}return Pt!==0},querystringify$1={},has$4=Object.prototype.hasOwnProperty,undef;function decode$3(_e){try{return decodeURIComponent(_e.replace(/\+/g," "))}catch{return null}}function encode$3(_e){try{return encodeURIComponent(_e)}catch{return null}}function querystring$1(_e){for(var Pt=/([^=?#&]+)=?([^&]*)/g,Dt={},Nt;Nt=Pt.exec(_e);){var jt=decode$3(Nt[1]),Ut=decode$3(Nt[2]);jt===null||Ut===null||jt in Dt||(Dt[jt]=Ut)}return Dt}function querystringify(_e,Pt){Pt=Pt||"";var Dt=[],Nt,jt;typeof Pt!="string"&&(Pt="?");for(jt in _e)if(has$4.call(_e,jt)){if(Nt=_e[jt],!Nt&&(Nt===null||Nt===undef||isNaN(Nt))&&(Nt=""),jt=encode$3(jt),Nt=encode$3(Nt),jt===null||Nt===null)continue;Dt.push(jt+"="+Nt)}return Dt.length?Pt+Dt.join("&"):""}querystringify$1.stringify=querystringify;querystringify$1.parse=querystring$1;var required=requiresPort,qs=querystringify$1,controlOrWhitespace=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,CRHTLF=/[\n\r\t]/g,slashes=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,port=/:\d+$/,protocolre=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,windowsDriveLetter=/^[a-zA-Z]:/;function trimLeft(_e){return(_e||"").toString().replace(controlOrWhitespace,"")}var rules=[["#","hash"],["?","query"],function(Pt,Dt){return isSpecial(Dt.protocol)?Pt.replace(/\\/g,"/"):Pt},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],ignore={hash:1,query:1};function lolcation(_e){var Pt;typeof window<"u"?Pt=window:typeof commonjsGlobal<"u"?Pt=commonjsGlobal:typeof self<"u"?Pt=self:Pt={};var Dt=Pt.location||{};_e=_e||Dt;var Nt={},jt=typeof _e,Ut;if(_e.protocol==="blob:")Nt=new Url$1(unescape(_e.pathname),{});else if(jt==="string"){Nt=new Url$1(_e,{});for(Ut in ignore)delete Nt[Ut]}else if(jt==="object"){for(Ut in _e)Ut in ignore||(Nt[Ut]=_e[Ut]);Nt.slashes===void 0&&(Nt.slashes=slashes.test(_e.href))}return Nt}function isSpecial(_e){return _e==="file:"||_e==="ftp:"||_e==="http:"||_e==="https:"||_e==="ws:"||_e==="wss:"}function extractProtocol(_e,Pt){_e=trimLeft(_e),_e=_e.replace(CRHTLF,""),Pt=Pt||{};var Dt=protocolre.exec(_e),Nt=Dt[1]?Dt[1].toLowerCase():"",jt=!!Dt[2],Ut=!!Dt[3],Gt=0,Wt;return jt?Ut?(Wt=Dt[2]+Dt[3]+Dt[4],Gt=Dt[2].length+Dt[3].length):(Wt=Dt[2]+Dt[4],Gt=Dt[2].length):Ut?(Wt=Dt[3]+Dt[4],Gt=Dt[3].length):Wt=Dt[4],Nt==="file:"?Gt>=2&&(Wt=Wt.slice(2)):isSpecial(Nt)?Wt=Dt[4]:Nt?jt&&(Wt=Wt.slice(2)):Gt>=2&&isSpecial(Pt.protocol)&&(Wt=Dt[4]),{protocol:Nt,slashes:jt||isSpecial(Nt),slashesCount:Gt,rest:Wt}}function resolve$1(_e,Pt){if(_e==="")return Pt;for(var Dt=(Pt||"/").split("/").slice(0,-1).concat(_e.split("/")),Nt=Dt.length,jt=Dt[Nt-1],Ut=!1,Gt=0;Nt--;)Dt[Nt]==="."?Dt.splice(Nt,1):Dt[Nt]===".."?(Dt.splice(Nt,1),Gt++):Gt&&(Nt===0&&(Ut=!0),Dt.splice(Nt,1),Gt--);return Ut&&Dt.unshift(""),(jt==="."||jt==="..")&&Dt.push(""),Dt.join("/")}function Url$1(_e,Pt,Dt){if(_e=trimLeft(_e),_e=_e.replace(CRHTLF,""),!(this instanceof Url$1))return new Url$1(_e,Pt,Dt);var Nt,jt,Ut,Gt,Wt,qt,Yt=rules.slice(),Xt=typeof Pt,Zt=this,Qt=0;for(Xt!=="object"&&Xt!=="string"&&(Dt=Pt,Pt=null),Dt&&typeof Dt!="function"&&(Dt=qs.parse),Pt=lolcation(Pt),jt=extractProtocol(_e||"",Pt),Nt=!jt.protocol&&!jt.slashes,Zt.slashes=jt.slashes||Nt&&Pt.slashes,Zt.protocol=jt.protocol||Pt.protocol||"",_e=jt.rest,(jt.protocol==="file:"&&(jt.slashesCount!==2||windowsDriveLetter.test(_e))||!jt.slashes&&(jt.protocol||jt.slashesCount<2||!isSpecial(Zt.protocol)))&&(Yt[3]=[/(.*)/,"pathname"]);Qt__vitePreload(()=>import("./alien-81a163a8.js"),[],import.meta.url).then(_e=>_e.default),"/public/maps/maze-medium.grid":()=>__vitePreload(()=>import("./maze-medium-a955cbb9.js"),[],import.meta.url).then(_e=>_e.default),"/public/maps/maze-small.grid":()=>__vitePreload(()=>import("./maze-small-85d74cf5.js"),[],import.meta.url).then(_e=>_e.default),"/public/maps/random-32x32.grid":()=>__vitePreload(()=>import("./random-32x32-1b96f0c8.js"),[],import.meta.url).then(_e=>_e.default)});function ext(_e){return _e.split(".")[1]}function stripExtension(_e){return _e.split(".")[0]}function basename(_e){return _e.split("/").pop()}const getFileInfo=memoizee$1(async(_e,Pt)=>({id:`basic-maps${_e}`,name:lodashExports$1.chain(_e).thru(basename).thru(stripExtension).startCase().value(),path:await Pt(),format:ext(_e)}),{normalizer:([_e])=>_e}),getFiles=async()=>await Promise.all(lodashExports$1.map(lodashExports$1.entries(paths),_e=>getFileInfo(..._e))),internal={"basic-maps":async(_e,Pt)=>{switch(_e){case"about":return{name:"Basic Maps",description:"A collection of basic grid maps",version:"1.2.2"};case"features/formats":return[{id:"grid",name:"Grid"},{id:"xy",name:"Network"},{id:"mesh",name:"Mesh"}];case"features/maps":return await getFiles();case"features/map":{const Dt=await getFiles(),Nt=lodashExports$1.find(Dt,{id:Pt==null?void 0:Pt.id});if(Nt){const jt=await fetch(Nt.path);return console.log(Nt),{...Nt,content:await jt.text()}}}}}};class NativeTransport extends EventEmitter$2{constructor(Dt){super();Lm(this,"handler");this.options=Dt;const{hostname:Nt}=url$2(Dt.url);this.handler=internal[Nt]}async connect(){}async disconnect(){}async call(Dt,Nt){return await this.handler(Dt,Nt)}}const PACKET_TYPES=Object.create(null);PACKET_TYPES.open="0";PACKET_TYPES.close="1";PACKET_TYPES.ping="2";PACKET_TYPES.pong="3";PACKET_TYPES.message="4";PACKET_TYPES.upgrade="5";PACKET_TYPES.noop="6";const PACKET_TYPES_REVERSE=Object.create(null);Object.keys(PACKET_TYPES).forEach(_e=>{PACKET_TYPES_REVERSE[PACKET_TYPES[_e]]=_e});const ERROR_PACKET={type:"error",data:"parser error"},withNativeBlob$1=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",withNativeArrayBuffer$2=typeof ArrayBuffer=="function",isView$1=_e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(_e):_e&&_e.buffer instanceof ArrayBuffer,encodePacket=({type:_e,data:Pt},Dt,Nt)=>withNativeBlob$1&&Pt instanceof Blob?Dt?Nt(Pt):encodeBlobAsBase64(Pt,Nt):withNativeArrayBuffer$2&&(Pt instanceof ArrayBuffer||isView$1(Pt))?Dt?Nt(Pt):encodeBlobAsBase64(new Blob([Pt]),Nt):Nt(PACKET_TYPES[_e]+(Pt||"")),encodeBlobAsBase64=(_e,Pt)=>{const Dt=new FileReader;return Dt.onload=function(){const Nt=Dt.result.split(",")[1];Pt("b"+(Nt||""))},Dt.readAsDataURL(_e)};function toArray(_e){return _e instanceof Uint8Array?_e:_e instanceof ArrayBuffer?new Uint8Array(_e):new Uint8Array(_e.buffer,_e.byteOffset,_e.byteLength)}let TEXT_ENCODER;function encodePacketToBinary(_e,Pt){if(withNativeBlob$1&&_e.data instanceof Blob)return _e.data.arrayBuffer().then(toArray).then(Pt);if(withNativeArrayBuffer$2&&(_e.data instanceof ArrayBuffer||isView$1(_e.data)))return Pt(toArray(_e.data));encodePacket(_e,!1,Dt=>{TEXT_ENCODER||(TEXT_ENCODER=new TextEncoder),Pt(TEXT_ENCODER.encode(Dt))})}const chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",lookup$1=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let _e=0;_e{let Pt=_e.length*.75,Dt=_e.length,Nt,jt=0,Ut,Gt,Wt,qt;_e[_e.length-1]==="="&&(Pt--,_e[_e.length-2]==="="&&Pt--);const Yt=new ArrayBuffer(Pt),Xt=new Uint8Array(Yt);for(Nt=0;Nt>4,Xt[jt++]=(Gt&15)<<4|Wt>>2,Xt[jt++]=(Wt&3)<<6|qt&63;return Yt},withNativeArrayBuffer$1=typeof ArrayBuffer=="function",decodePacket=(_e,Pt)=>{if(typeof _e!="string")return{type:"message",data:mapBinary(_e,Pt)};const Dt=_e.charAt(0);return Dt==="b"?{type:"message",data:decodeBase64Packet(_e.substring(1),Pt)}:PACKET_TYPES_REVERSE[Dt]?_e.length>1?{type:PACKET_TYPES_REVERSE[Dt],data:_e.substring(1)}:{type:PACKET_TYPES_REVERSE[Dt]}:ERROR_PACKET},decodeBase64Packet=(_e,Pt)=>{if(withNativeArrayBuffer$1){const Dt=decode$2(_e);return mapBinary(Dt,Pt)}else return{base64:!0,data:_e}},mapBinary=(_e,Pt)=>{switch(Pt){case"blob":return _e instanceof Blob?_e:new Blob([_e]);case"arraybuffer":default:return _e instanceof ArrayBuffer?_e:_e.buffer}},SEPARATOR=String.fromCharCode(30),encodePayload=(_e,Pt)=>{const Dt=_e.length,Nt=new Array(Dt);let jt=0;_e.forEach((Ut,Gt)=>{encodePacket(Ut,!1,Wt=>{Nt[Gt]=Wt,++jt===Dt&&Pt(Nt.join(SEPARATOR))})})},decodePayload=(_e,Pt)=>{const Dt=_e.split(SEPARATOR),Nt=[];for(let jt=0;jt{const Nt=Dt.length;let jt;if(Nt<126)jt=new Uint8Array(1),new DataView(jt.buffer).setUint8(0,Nt);else if(Nt<65536){jt=new Uint8Array(3);const Ut=new DataView(jt.buffer);Ut.setUint8(0,126),Ut.setUint16(1,Nt)}else{jt=new Uint8Array(9);const Ut=new DataView(jt.buffer);Ut.setUint8(0,127),Ut.setBigUint64(1,BigInt(Nt))}_e.data&&typeof _e.data!="string"&&(jt[0]|=128),Pt.enqueue(jt),Pt.enqueue(Dt)})}})}let TEXT_DECODER;function totalLength(_e){return _e.reduce((Pt,Dt)=>Pt+Dt.length,0)}function concatChunks(_e,Pt){if(_e[0].length===Pt)return _e.shift();const Dt=new Uint8Array(Pt);let Nt=0;for(let jt=0;jtMath.pow(2,53-32)-1){Wt.enqueue(ERROR_PACKET);break}jt=Xt*Math.pow(2,32)+Yt.getUint32(4),Nt=3}else{if(totalLength(Dt)_e){Wt.enqueue(ERROR_PACKET);break}}}})}const protocol$1=4;function Emitter(_e){if(_e)return mixin(_e)}function mixin(_e){for(var Pt in Emitter.prototype)_e[Pt]=Emitter.prototype[Pt];return _e}Emitter.prototype.on=Emitter.prototype.addEventListener=function(_e,Pt){return this._callbacks=this._callbacks||{},(this._callbacks["$"+_e]=this._callbacks["$"+_e]||[]).push(Pt),this};Emitter.prototype.once=function(_e,Pt){function Dt(){this.off(_e,Dt),Pt.apply(this,arguments)}return Dt.fn=Pt,this.on(_e,Dt),this};Emitter.prototype.off=Emitter.prototype.removeListener=Emitter.prototype.removeAllListeners=Emitter.prototype.removeEventListener=function(_e,Pt){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var Dt=this._callbacks["$"+_e];if(!Dt)return this;if(arguments.length==1)return delete this._callbacks["$"+_e],this;for(var Nt,jt=0;jttypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function pick(_e,...Pt){return Pt.reduce((Dt,Nt)=>(_e.hasOwnProperty(Nt)&&(Dt[Nt]=_e[Nt]),Dt),{})}const NATIVE_SET_TIMEOUT=globalThisShim.setTimeout,NATIVE_CLEAR_TIMEOUT=globalThisShim.clearTimeout;function installTimerFunctions(_e,Pt){Pt.useNativeTimers?(_e.setTimeoutFn=NATIVE_SET_TIMEOUT.bind(globalThisShim),_e.clearTimeoutFn=NATIVE_CLEAR_TIMEOUT.bind(globalThisShim)):(_e.setTimeoutFn=globalThisShim.setTimeout.bind(globalThisShim),_e.clearTimeoutFn=globalThisShim.clearTimeout.bind(globalThisShim))}const BASE64_OVERHEAD=1.33;function byteLength(_e){return typeof _e=="string"?utf8Length(_e):Math.ceil((_e.byteLength||_e.size)*BASE64_OVERHEAD)}function utf8Length(_e){let Pt=0,Dt=0;for(let Nt=0,jt=_e.length;Nt=57344?Dt+=3:(Nt++,Dt+=4);return Dt}function encode$2(_e){let Pt="";for(let Dt in _e)_e.hasOwnProperty(Dt)&&(Pt.length&&(Pt+="&"),Pt+=encodeURIComponent(Dt)+"="+encodeURIComponent(_e[Dt]));return Pt}function decode$1(_e){let Pt={},Dt=_e.split("&");for(let Nt=0,jt=Dt.length;Nt0);return Pt}function yeast(){const _e=encode$1(+new Date);return _e!==prev?(seed=0,prev=_e):_e+"."+encode$1(seed++)}for(;i$2{this.readyState="paused",Pt()};if(this.polling||!this.writable){let Nt=0;this.polling&&(Nt++,this.once("pollComplete",function(){--Nt||Dt()})),this.writable||(Nt++,this.once("drain",function(){--Nt||Dt()}))}else Dt()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(Pt){const Dt=Nt=>{if(this.readyState==="opening"&&Nt.type==="open"&&this.onOpen(),Nt.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(Nt)};decodePayload(Pt,this.socket.binaryType).forEach(Dt),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const Pt=()=>{this.write([{type:"close"}])};this.readyState==="open"?Pt():this.once("open",Pt)}write(Pt){this.writable=!1,encodePayload(Pt,Dt=>{this.doWrite(Dt,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const Pt=this.opts.secure?"https":"http",Dt=this.query||{};return this.opts.timestampRequests!==!1&&(Dt[this.opts.timestampParam]=yeast()),!this.supportsBinary&&!Dt.sid&&(Dt.b64=1),this.createUri(Pt,Dt)}request(Pt={}){return Object.assign(Pt,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new Request(this.uri(),Pt)}doWrite(Pt,Dt){const Nt=this.request({method:"POST",data:Pt});Nt.on("success",Dt),Nt.on("error",(jt,Ut)=>{this.onError("xhr post error",jt,Ut)})}doPoll(){const Pt=this.request();Pt.on("data",this.onData.bind(this)),Pt.on("error",(Dt,Nt)=>{this.onError("xhr poll error",Dt,Nt)}),this.pollXhr=Pt}}class Request extends Emitter{constructor(Pt,Dt){super(),installTimerFunctions(this,Dt),this.opts=Dt,this.method=Dt.method||"GET",this.uri=Pt,this.data=Dt.data!==void 0?Dt.data:null,this.create()}create(){var Pt;const Dt=pick(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");Dt.xdomain=!!this.opts.xd;const Nt=this.xhr=new XHR(Dt);try{Nt.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){Nt.setDisableHeaderCheck&&Nt.setDisableHeaderCheck(!0);for(let jt in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(jt)&&Nt.setRequestHeader(jt,this.opts.extraHeaders[jt])}}catch{}if(this.method==="POST")try{Nt.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{Nt.setRequestHeader("Accept","*/*")}catch{}(Pt=this.opts.cookieJar)===null||Pt===void 0||Pt.addCookies(Nt),"withCredentials"in Nt&&(Nt.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(Nt.timeout=this.opts.requestTimeout),Nt.onreadystatechange=()=>{var jt;Nt.readyState===3&&((jt=this.opts.cookieJar)===null||jt===void 0||jt.parseCookies(Nt)),Nt.readyState===4&&(Nt.status===200||Nt.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof Nt.status=="number"?Nt.status:0)},0))},Nt.send(this.data)}catch(jt){this.setTimeoutFn(()=>{this.onError(jt)},0);return}typeof document<"u"&&(this.index=Request.requestsCount++,Request.requests[this.index]=this)}onError(Pt){this.emitReserved("error",Pt,this.xhr),this.cleanup(!0)}cleanup(Pt){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=empty$1,Pt)try{this.xhr.abort()}catch{}typeof document<"u"&&delete Request.requests[this.index],this.xhr=null}}onLoad(){const Pt=this.xhr.responseText;Pt!==null&&(this.emitReserved("data",Pt),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}Request.requestsCount=0;Request.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",unloadHandler);else if(typeof addEventListener=="function"){const _e="onpagehide"in globalThisShim?"pagehide":"unload";addEventListener(_e,unloadHandler,!1)}}function unloadHandler(){for(let _e in Request.requests)Request.requests.hasOwnProperty(_e)&&Request.requests[_e].abort()}const nextTick=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?Pt=>Promise.resolve().then(Pt):(Pt,Dt)=>Dt(Pt,0))(),WebSocket=globalThisShim.WebSocket||globalThisShim.MozWebSocket,usingBrowserWebSocket=!0,defaultBinaryType="arraybuffer",isReactNative=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class WS extends Transport{constructor(Pt){super(Pt),this.supportsBinary=!Pt.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const Pt=this.uri(),Dt=this.opts.protocols,Nt=isReactNative?{}:pick(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(Nt.headers=this.opts.extraHeaders);try{this.ws=usingBrowserWebSocket&&!isReactNative?Dt?new WebSocket(Pt,Dt):new WebSocket(Pt):new WebSocket(Pt,Dt,Nt)}catch(jt){return this.emitReserved("error",jt)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=Pt=>this.onClose({description:"websocket connection closed",context:Pt}),this.ws.onmessage=Pt=>this.onData(Pt.data),this.ws.onerror=Pt=>this.onError("websocket error",Pt)}write(Pt){this.writable=!1;for(let Dt=0;Dt{const Gt={};try{usingBrowserWebSocket&&this.ws.send(Ut)}catch{}jt&&nextTick(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){const Pt=this.opts.secure?"wss":"ws",Dt=this.query||{};return this.opts.timestampRequests&&(Dt[this.opts.timestampParam]=yeast()),this.supportsBinary||(Dt.b64=1),this.createUri(Pt,Dt)}check(){return!!WebSocket}}class WT extends Transport{get name(){return"webtransport"}doOpen(){typeof WebTransport=="function"&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then(()=>{this.onClose()}).catch(Pt=>{this.onError("webtransport error",Pt)}),this.transport.ready.then(()=>{this.transport.createBidirectionalStream().then(Pt=>{const Dt=createPacketDecoderStream(Number.MAX_SAFE_INTEGER,this.socket.binaryType),Nt=Pt.readable.pipeThrough(Dt).getReader(),jt=createPacketEncoderStream();jt.readable.pipeTo(Pt.writable),this.writer=jt.writable.getWriter();const Ut=()=>{Nt.read().then(({done:Wt,value:qt})=>{Wt||(this.onPacket(qt),Ut())}).catch(Wt=>{})};Ut();const Gt={type:"open"};this.query.sid&&(Gt.data=`{"sid":"${this.query.sid}"}`),this.writer.write(Gt).then(()=>this.onOpen())})}))}write(Pt){this.writable=!1;for(let Dt=0;Dt{jt&&nextTick(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var Pt;(Pt=this.transport)===null||Pt===void 0||Pt.close()}}const transports$2={websocket:WS,webtransport:WT,polling:Polling},re=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,parts=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function parse$3(_e){if(_e.length>2e3)throw"URI too long";const Pt=_e,Dt=_e.indexOf("["),Nt=_e.indexOf("]");Dt!=-1&&Nt!=-1&&(_e=_e.substring(0,Dt)+_e.substring(Dt,Nt).replace(/:/g,";")+_e.substring(Nt,_e.length));let jt=re.exec(_e||""),Ut={},Gt=14;for(;Gt--;)Ut[parts[Gt]]=jt[Gt]||"";return Dt!=-1&&Nt!=-1&&(Ut.source=Pt,Ut.host=Ut.host.substring(1,Ut.host.length-1).replace(/;/g,":"),Ut.authority=Ut.authority.replace("[","").replace("]","").replace(/;/g,":"),Ut.ipv6uri=!0),Ut.pathNames=pathNames(Ut,Ut.path),Ut.queryKey=queryKey(Ut,Ut.query),Ut}function pathNames(_e,Pt){const Dt=/\/{2,9}/g,Nt=Pt.replace(Dt,"/").split("/");return(Pt.slice(0,1)=="/"||Pt.length===0)&&Nt.splice(0,1),Pt.slice(-1)=="/"&&Nt.splice(Nt.length-1,1),Nt}function queryKey(_e,Pt){const Dt={};return Pt.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(Nt,jt,Ut){jt&&(Dt[jt]=Ut)}),Dt}let Socket$1=class Gm extends Emitter{constructor(Pt,Dt={}){super(),this.binaryType=defaultBinaryType,this.writeBuffer=[],Pt&&typeof Pt=="object"&&(Dt=Pt,Pt=null),Pt?(Pt=parse$3(Pt),Dt.hostname=Pt.host,Dt.secure=Pt.protocol==="https"||Pt.protocol==="wss",Dt.port=Pt.port,Pt.query&&(Dt.query=Pt.query)):Dt.host&&(Dt.hostname=parse$3(Dt.host).host),installTimerFunctions(this,Dt),this.secure=Dt.secure!=null?Dt.secure:typeof location<"u"&&location.protocol==="https:",Dt.hostname&&!Dt.port&&(Dt.port=this.secure?"443":"80"),this.hostname=Dt.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=Dt.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=Dt.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},Dt),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=decode$1(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,typeof addEventListener=="function"&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(Pt){const Dt=Object.assign({},this.opts.query);Dt.EIO=protocol$1,Dt.transport=Pt,this.id&&(Dt.sid=this.id);const Nt=Object.assign({},this.opts,{query:Dt,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[Pt]);return new transports$2[Pt](Nt)}open(){let Pt;if(this.opts.rememberUpgrade&&Gm.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)Pt="websocket";else if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else Pt=this.transports[0];this.readyState="opening";try{Pt=this.createTransport(Pt)}catch{this.transports.shift(),this.open();return}Pt.open(),this.setTransport(Pt)}setTransport(Pt){this.transport&&this.transport.removeAllListeners(),this.transport=Pt,Pt.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",Dt=>this.onClose("transport close",Dt))}probe(Pt){let Dt=this.createTransport(Pt),Nt=!1;Gm.priorWebsocketSuccess=!1;const jt=()=>{Nt||(Dt.send([{type:"ping",data:"probe"}]),Dt.once("packet",Zt=>{if(!Nt)if(Zt.type==="pong"&&Zt.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",Dt),!Dt)return;Gm.priorWebsocketSuccess=Dt.name==="websocket",this.transport.pause(()=>{Nt||this.readyState!=="closed"&&(Xt(),this.setTransport(Dt),Dt.send([{type:"upgrade"}]),this.emitReserved("upgrade",Dt),Dt=null,this.upgrading=!1,this.flush())})}else{const Qt=new Error("probe error");Qt.transport=Dt.name,this.emitReserved("upgradeError",Qt)}}))};function Ut(){Nt||(Nt=!0,Xt(),Dt.close(),Dt=null)}const Gt=Zt=>{const Qt=new Error("probe error: "+Zt);Qt.transport=Dt.name,Ut(),this.emitReserved("upgradeError",Qt)};function Wt(){Gt("transport closed")}function qt(){Gt("socket closed")}function Yt(Zt){Dt&&Zt.name!==Dt.name&&Ut()}const Xt=()=>{Dt.removeListener("open",jt),Dt.removeListener("error",Gt),Dt.removeListener("close",Wt),this.off("close",qt),this.off("upgrading",Yt)};Dt.once("open",jt),Dt.once("error",Gt),Dt.once("close",Wt),this.once("close",qt),this.once("upgrading",Yt),this.upgrades.indexOf("webtransport")!==-1&&Pt!=="webtransport"?this.setTimeoutFn(()=>{Nt||Dt.open()},200):Dt.open()}onOpen(){if(this.readyState="open",Gm.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade){let Pt=0;const Dt=this.upgrades.length;for(;Pt{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const Pt=this.getWritablePackets();this.transport.send(Pt),this.prevBufferLen=Pt.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let Dt=1;for(let Nt=0;Nt0&&Dt>this.maxPayload)return this.writeBuffer.slice(0,Nt);Dt+=2}return this.writeBuffer}write(Pt,Dt,Nt){return this.sendPacket("message",Pt,Dt,Nt),this}send(Pt,Dt,Nt){return this.sendPacket("message",Pt,Dt,Nt),this}sendPacket(Pt,Dt,Nt,jt){if(typeof Dt=="function"&&(jt=Dt,Dt=void 0),typeof Nt=="function"&&(jt=Nt,Nt=null),this.readyState==="closing"||this.readyState==="closed")return;Nt=Nt||{},Nt.compress=Nt.compress!==!1;const Ut={type:Pt,data:Dt,options:Nt};this.emitReserved("packetCreate",Ut),this.writeBuffer.push(Ut),jt&&this.once("flush",jt),this.flush()}close(){const Pt=()=>{this.onClose("forced close"),this.transport.close()},Dt=()=>{this.off("upgrade",Dt),this.off("upgradeError",Dt),Pt()},Nt=()=>{this.once("upgrade",Dt),this.once("upgradeError",Dt)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?Nt():Pt()}):this.upgrading?Nt():Pt()),this}onError(Pt){Gm.priorWebsocketSuccess=!1,this.emitReserved("error",Pt),this.onClose("transport error",Pt)}onClose(Pt,Dt){(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),typeof removeEventListener=="function"&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",Pt,Dt),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(Pt){const Dt=[];let Nt=0;const jt=Pt.length;for(;Nttypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(_e):_e.buffer instanceof ArrayBuffer,toString=Object.prototype.toString,withNativeBlob=typeof Blob=="function"||typeof Blob<"u"&&toString.call(Blob)==="[object BlobConstructor]",withNativeFile=typeof File=="function"||typeof File<"u"&&toString.call(File)==="[object FileConstructor]";function isBinary(_e){return withNativeArrayBuffer&&(_e instanceof ArrayBuffer||isView(_e))||withNativeBlob&&_e instanceof Blob||withNativeFile&&_e instanceof File}function hasBinary(_e,Pt){if(!_e||typeof _e!="object")return!1;if(Array.isArray(_e)){for(let Dt=0,Nt=_e.length;Dt=0&&_e.num{delete this.acks[Pt];for(let Gt=0;Gt{this.io.clearTimeoutFn(Ut),Dt.apply(this,[null,...Gt])}}emitWithAck(Pt,...Dt){const Nt=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((jt,Ut)=>{Dt.push((Gt,Wt)=>Nt?Gt?Ut(Gt):jt(Wt):jt(Gt)),this.emit(Pt,...Dt)})}_addToQueue(Pt){let Dt;typeof Pt[Pt.length-1]=="function"&&(Dt=Pt.pop());const Nt={id:this._queueSeq++,tryCount:0,pending:!1,args:Pt,flags:Object.assign({fromQueue:!0},this.flags)};Pt.push((jt,...Ut)=>Nt!==this._queue[0]?void 0:(jt!==null?Nt.tryCount>this._opts.retries&&(this._queue.shift(),Dt&&Dt(jt)):(this._queue.shift(),Dt&&Dt(null,...Ut)),Nt.pending=!1,this._drainQueue())),this._queue.push(Nt),this._drainQueue()}_drainQueue(Pt=!1){if(!this.connected||this._queue.length===0)return;const Dt=this._queue[0];Dt.pending&&!Pt||(Dt.pending=!0,Dt.tryCount++,this.flags=Dt.flags,this.emit.apply(this,Dt.args))}packet(Pt){Pt.nsp=this.nsp,this.io._packet(Pt)}onopen(){typeof this.auth=="function"?this.auth(Pt=>{this._sendConnectPacket(Pt)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(Pt){this.packet({type:PacketType.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},Pt):Pt})}onerror(Pt){this.connected||this.emitReserved("connect_error",Pt)}onclose(Pt,Dt){this.connected=!1,delete this.id,this.emitReserved("disconnect",Pt,Dt)}onpacket(Pt){if(Pt.nsp===this.nsp)switch(Pt.type){case PacketType.CONNECT:Pt.data&&Pt.data.sid?this.onconnect(Pt.data.sid,Pt.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case PacketType.EVENT:case PacketType.BINARY_EVENT:this.onevent(Pt);break;case PacketType.ACK:case PacketType.BINARY_ACK:this.onack(Pt);break;case PacketType.DISCONNECT:this.ondisconnect();break;case PacketType.CONNECT_ERROR:this.destroy();const Nt=new Error(Pt.data.message);Nt.data=Pt.data.data,this.emitReserved("connect_error",Nt);break}}onevent(Pt){const Dt=Pt.data||[];Pt.id!=null&&Dt.push(this.ack(Pt.id)),this.connected?this.emitEvent(Dt):this.receiveBuffer.push(Object.freeze(Dt))}emitEvent(Pt){if(this._anyListeners&&this._anyListeners.length){const Dt=this._anyListeners.slice();for(const Nt of Dt)Nt.apply(this,Pt)}super.emit.apply(this,Pt),this._pid&&Pt.length&&typeof Pt[Pt.length-1]=="string"&&(this._lastOffset=Pt[Pt.length-1])}ack(Pt){const Dt=this;let Nt=!1;return function(...jt){Nt||(Nt=!0,Dt.packet({type:PacketType.ACK,id:Pt,data:jt}))}}onack(Pt){const Dt=this.acks[Pt.id];typeof Dt=="function"&&(Dt.apply(this,Pt.data),delete this.acks[Pt.id])}onconnect(Pt,Dt){this.id=Pt,this.recovered=Dt&&this._pid===Dt,this._pid=Dt,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(Pt=>this.emitEvent(Pt)),this.receiveBuffer=[],this.sendBuffer.forEach(Pt=>{this.notifyOutgoingListeners(Pt),this.packet(Pt)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(Pt=>Pt()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:PacketType.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(Pt){return this.flags.compress=Pt,this}get volatile(){return this.flags.volatile=!0,this}timeout(Pt){return this.flags.timeout=Pt,this}onAny(Pt){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(Pt),this}prependAny(Pt){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(Pt),this}offAny(Pt){if(!this._anyListeners)return this;if(Pt){const Dt=this._anyListeners;for(let Nt=0;Nt0&&_e.jitter<=1?_e.jitter:0,this.attempts=0}Backoff.prototype.duration=function(){var _e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var Pt=Math.random(),Dt=Math.floor(Pt*this.jitter*_e);_e=Math.floor(Pt*10)&1?_e+Dt:_e-Dt}return Math.min(_e,this.max)|0};Backoff.prototype.reset=function(){this.attempts=0};Backoff.prototype.setMin=function(_e){this.ms=_e};Backoff.prototype.setMax=function(_e){this.max=_e};Backoff.prototype.setJitter=function(_e){this.jitter=_e};class Manager extends Emitter{constructor(Pt,Dt){var Nt;super(),this.nsps={},this.subs=[],Pt&&typeof Pt=="object"&&(Dt=Pt,Pt=void 0),Dt=Dt||{},Dt.path=Dt.path||"/socket.io",this.opts=Dt,installTimerFunctions(this,Dt),this.reconnection(Dt.reconnection!==!1),this.reconnectionAttempts(Dt.reconnectionAttempts||1/0),this.reconnectionDelay(Dt.reconnectionDelay||1e3),this.reconnectionDelayMax(Dt.reconnectionDelayMax||5e3),this.randomizationFactor((Nt=Dt.randomizationFactor)!==null&&Nt!==void 0?Nt:.5),this.backoff=new Backoff({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(Dt.timeout==null?2e4:Dt.timeout),this._readyState="closed",this.uri=Pt;const jt=Dt.parser||parser;this.encoder=new jt.Encoder,this.decoder=new jt.Decoder,this._autoConnect=Dt.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(Pt){return arguments.length?(this._reconnection=!!Pt,this):this._reconnection}reconnectionAttempts(Pt){return Pt===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=Pt,this)}reconnectionDelay(Pt){var Dt;return Pt===void 0?this._reconnectionDelay:(this._reconnectionDelay=Pt,(Dt=this.backoff)===null||Dt===void 0||Dt.setMin(Pt),this)}randomizationFactor(Pt){var Dt;return Pt===void 0?this._randomizationFactor:(this._randomizationFactor=Pt,(Dt=this.backoff)===null||Dt===void 0||Dt.setJitter(Pt),this)}reconnectionDelayMax(Pt){var Dt;return Pt===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=Pt,(Dt=this.backoff)===null||Dt===void 0||Dt.setMax(Pt),this)}timeout(Pt){return arguments.length?(this._timeout=Pt,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(Pt){if(~this._readyState.indexOf("open"))return this;this.engine=new Socket$1(this.uri,this.opts);const Dt=this.engine,Nt=this;this._readyState="opening",this.skipReconnect=!1;const jt=on(Dt,"open",function(){Nt.onopen(),Pt&&Pt()}),Ut=Wt=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",Wt),Pt?Pt(Wt):this.maybeReconnectOnOpen()},Gt=on(Dt,"error",Ut);if(this._timeout!==!1){const Wt=this._timeout,qt=this.setTimeoutFn(()=>{jt(),Ut(new Error("timeout")),Dt.close()},Wt);this.opts.autoUnref&&qt.unref(),this.subs.push(()=>{this.clearTimeoutFn(qt)})}return this.subs.push(jt),this.subs.push(Gt),this}connect(Pt){return this.open(Pt)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const Pt=this.engine;this.subs.push(on(Pt,"ping",this.onping.bind(this)),on(Pt,"data",this.ondata.bind(this)),on(Pt,"error",this.onerror.bind(this)),on(Pt,"close",this.onclose.bind(this)),on(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(Pt){try{this.decoder.add(Pt)}catch(Dt){this.onclose("parse error",Dt)}}ondecoded(Pt){nextTick(()=>{this.emitReserved("packet",Pt)},this.setTimeoutFn)}onerror(Pt){this.emitReserved("error",Pt)}socket(Pt,Dt){let Nt=this.nsps[Pt];return Nt?this._autoConnect&&!Nt.active&&Nt.connect():(Nt=new Socket(this,Pt,Dt),this.nsps[Pt]=Nt),Nt}_destroy(Pt){const Dt=Object.keys(this.nsps);for(const Nt of Dt)if(this.nsps[Nt].active)return;this._close()}_packet(Pt){const Dt=this.encoder.encode(Pt);for(let Nt=0;NtPt()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(Pt,Dt){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",Pt,Dt),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const Pt=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const Dt=this.backoff.duration();this._reconnecting=!0;const Nt=this.setTimeoutFn(()=>{Pt.skipReconnect||(this.emitReserved("reconnect_attempt",Pt.backoff.attempts),!Pt.skipReconnect&&Pt.open(jt=>{jt?(Pt._reconnecting=!1,Pt.reconnect(),this.emitReserved("reconnect_error",jt)):Pt.onreconnect()}))},Dt);this.opts.autoUnref&&Nt.unref(),this.subs.push(()=>{this.clearTimeoutFn(Nt)})}}onreconnect(){const Pt=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",Pt)}}const cache={};function lookup(_e,Pt){typeof _e=="object"&&(Pt=_e,_e=void 0),Pt=Pt||{};const Dt=url$1(_e,Pt.path||"/socket.io"),Nt=Dt.source,jt=Dt.id,Ut=Dt.path,Gt=cache[jt]&&Ut in cache[jt].nsps,Wt=Pt.forceNew||Pt["force new connection"]||Pt.multiplex===!1||Gt;let qt;return Wt?qt=new Manager(Nt,Pt):(cache[jt]||(cache[jt]=new Manager(Nt,Pt)),qt=cache[jt]),Dt.query&&!Pt.query&&(Pt.query=Dt.queryKey),qt.socket(Dt.path,Pt)}Object.assign(lookup,{Manager,Socket,io:lookup,connect:lookup});class SocketIOTransport extends EventEmitter$2{constructor(Dt){super();Lm(this,"client");Lm(this,"socket");this.options=Dt,this.socket=lookup(Dt.url),this.client=new dist$2.JSONRPCClient(async Nt=>{const jt=Ut=>{Ut.id===Nt.id&&(this.socket.off("response",jt),this.client.receive(Ut))};this.socket.emit("request",Nt),this.socket.on("response",jt)}),this.socket.on("request",({method:Nt,params:jt})=>{this.emit(Nt,jt)})}async connect(){this.socket.connect()}async disconnect(){this.socket.disconnect()}async call(Dt,Nt){return await this.client.request(Dt,Nt)}}const transports$1={native:{name:"Internal",constructor:NativeTransport},socketio:{name:"socket.io",constructor:SocketIOTransport},ipc:{name:"Web Worker",constructor:IPCTransport}};function getTransport(_e){return transports$1[_e].constructor}const defaultTransport=lodashExports$1.first(lodashExports$1.keys(transports$1));var lodash={exports:{}};/** +`}}]),_e}();_defineProperty(Document$1,"defaults",documentOptions);function createNode$1(_e){var Pt=arguments.length>1&&arguments[1]!==void 0?arguments[1]:!0,Dt=arguments.length>2?arguments[2]:void 0;Dt===void 0&&typeof Pt=="string"&&(Dt=Pt,Pt=!0);var Nt=Object.assign({},Document$1.defaults[defaultOptions.version],defaultOptions),jt=new Schema(Nt);return jt.createNode(_e,Pt,Dt)}var Document=function(_e){_inherits(Dt,_e);var Pt=_createSuper(Dt);function Dt(Nt){return _classCallCheck(this,Dt),Pt.call(this,Object.assign({},defaultOptions,Nt))}return Dt}(Document$1);function parseAllDocuments(_e,Pt){var Dt=[],Nt,jt=_createForOfIteratorHelper(parse$5(_e)),Ut;try{for(jt.s();!(Ut=jt.n()).done;){var Gt=Ut.value,Wt=new Document(Pt);Wt.parse(Gt,Nt),Dt.push(Wt),Nt=Wt}}catch(qt){jt.e(qt)}finally{jt.f()}return Dt}function parseDocument(_e,Pt){var Dt=parse$5(_e),Nt=new Document(Pt).parse(Dt[0]);if(Dt.length>1){var jt="Source contains multiple documents; please use YAML.parseAllDocuments()";Nt.errors.unshift(new YAMLSemanticError(Dt[1],jt))}return Nt}function parse$4(_e,Pt){var Dt=parseDocument(_e,Pt);if(Dt.warnings.forEach(function(Nt){return warn(Nt)}),Dt.errors.length>0)throw Dt.errors[0];return Dt.toJSON()}function stringify$2(_e,Pt){var Dt=new Document(Pt);return Dt.contents=_e,String(Dt)}var YAML={createNode:createNode$1,defaultOptions,Document,parse:parse$4,parseAllDocuments,parseCST:parse$5,parseDocument,scalarOptions,stringify:stringify$2};const dist$3=Object.freeze(Object.defineProperty({__proto__:null,YAML},Symbol.toStringTag,{value:"Module"})),require$$0=getAugmentedNamespace(dist$3);var browser=require$$0.YAML;function Button({children:_e,sx:Pt,...Dt}){const Nt=usePaper();return jsxRuntimeExports.jsx(MuiButton,{disableElevation:!0,variant:"outlined",color:"primary",...Dt,sx:{minWidth:0,borderColor:jt=>alpha(jt.palette.text.primary,jt.palette.action.activatedOpacity),...Dt.variant==="text"?void 0:Nt(1),...Pt},children:jsxRuntimeExports.jsx(Box$1,{sx:{color:"text.primary",textOverflow:"ellipsis",overflow:"hidden",whiteSpace:"nowrap"},children:_e})})}function Image$1(_e){return jsxRuntimeExports.jsx(PopupState,{variant:"popover",children:({open:Pt,isOpen:Dt})=>jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx(Fade$1,{in:Dt,children:jsxRuntimeExports.jsx("img",{..._e,onLoad:Pt})})})})}const paths$1=Object.assign({"/public/recipes/9-tiles.workspace":()=>__vitePreload(()=>import("./9-tiles-1f224294.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/a-star-grid-search-heat-map.workspace":()=>__vitePreload(()=>import("./a-star-grid-search-heat-map-0f76793f.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/a-star-grid-search.workspace":()=>__vitePreload(()=>import("./a-star-grid-search-ffae5751.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/dynamic-star-craft.workspace":()=>__vitePreload(()=>import("./dynamic-star-craft-6a733d35.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/palette-reference.workspace":()=>__vitePreload(()=>import("./palette-reference-9c0fac30.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/primitives-reference.workspace":()=>__vitePreload(()=>import("./primitives-reference-9d7af09e.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/rayscan.workspace":()=>__vitePreload(()=>import("./rayscan-202b7804.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/variables-reference.workspace":()=>__vitePreload(()=>import("./variables-reference-b00bbb42.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/weighted-a-star.workspace":()=>__vitePreload(()=>import("./weighted-a-star-756c8812.js"),[],import.meta.url).then(_e=>_e.default)}),metaPaths=Object.assign({"/public/recipes/9-tiles.workspace.meta":()=>__vitePreload(()=>import("./9-tiles.workspace-59d4551f.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/a-star-grid-search-heat-map.workspace.meta":()=>__vitePreload(()=>import("./a-star-grid-search-heat-map.workspace-3224cf75.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/a-star-grid-search.workspace.meta":()=>__vitePreload(()=>import("./a-star-grid-search.workspace-f767f34b.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/dynamic-star-craft.workspace.meta":()=>__vitePreload(()=>import("./dynamic-star-craft.workspace-5fa26288.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/palette-reference.workspace.meta":()=>__vitePreload(()=>import("./palette-reference.workspace-76a89235.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/primitives-reference.workspace.meta":()=>__vitePreload(()=>import("./primitives-reference.workspace-cc4c7f83.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/rayscan.workspace.meta":()=>__vitePreload(()=>import("./rayscan.workspace-b6c007ed.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/variables-reference.workspace.meta":()=>__vitePreload(()=>import("./variables-reference.workspace-4bafa382.js"),[],import.meta.url).then(_e=>_e.default),"/public/recipes/weighted-a-star.workspace.meta":()=>__vitePreload(()=>import("./weighted-a-star.workspace-44781276.js"),[],import.meta.url).then(_e=>_e.default)});function stripExtension$1(_e){return _e.split(".")[0]}function basename$1(_e){return _e.split("/").pop()}async function getMeta(_e){const Pt=metaPaths[_e.replace(/workspace$/,"workspace.meta")],Dt=await(Pt==null?void 0:Pt());if(Dt){const Nt=await fetch(Dt);return browser.parse(await Nt.text())}}const getFileInfo$1=memoizee$1(async(_e,Pt)=>({name:lodashExports$1.chain(_e).thru(basename$1).thru(stripExtension$1).startCase().value(),path:await Pt(),...await getMeta(_e)}),{normalizer:([_e])=>_e}),makeAvatar=_e=>Pt=>jsxRuntimeExports.jsx(Avatar$1,{sx:Pt,children:_e});function getAuthor(_e){if(_e){try{const{protocol:Pt,pathname:Dt}=new URL(_e);switch(Pt){case"github:":return{name:Dt,avatar:Nt=>jsxRuntimeExports.jsx("a",{href:`https://github.com/${Dt}`,target:"_blank",rel:"noreferrer",children:jsxRuntimeExports.jsx(Avatar$1,{sx:Nt,children:jsxRuntimeExports.jsx(Image$1,{width:"100%",height:"100%",src:`https://github.com/${Dt}.png`})})})};default:break}}catch{}return{name:_e,avatar:makeAvatar(_e[0])}}return{name:"No author",avatar:makeAvatar()}}const ellipsisProps={textOverflow:"ellipsis",whiteSpace:"nowrap",overflow:"hidden"};function FeatureCard2({entry:_e,onOpenClick:Pt,search:Dt}){const{result:Nt,loading:jt}=useAsync(async()=>{if(_e)return await getFileInfo$1(..._e)},[_e]),{name:Ut,description:Gt,screenshots:Wt,author:qt,path:Yt,size:Xt}=Nt??{};return lodashExports$1.upperCase(browser.stringify(Nt)).includes(lodashExports$1.upperCase(Dt))?jsxRuntimeExports.jsx(Box$1,{sx:{p:1},children:jsxRuntimeExports.jsx(FeatureCard,{loading:jt,name:Ut,description:Gt??"No description",image:lodashExports$1.first(Wt),author:qt,onOpenClick:()=>{Pt==null||Pt(Yt)},size:Xt})}):void 0}function FeatureCard({name:_e,description:Pt,image:Dt,author:Nt,size:jt,onOpenClick:Ut,loading:Gt,...Wt}){const[{"appearance/acrylic":qt}]=useSettings(),Yt=usePaper(),Xt=useTheme(),{name:Zt,avatar:Qt}=reactExports.useMemo(()=>getAuthor(Nt),[Nt]);return jsxRuntimeExports.jsx(Card$1,{variant:"outlined",sx:{...Yt(1),position:"relative",height:"100%"},...Wt,children:jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[qt&&jsxRuntimeExports.jsx(Fade$1,{in:!Gt,timeout:Xt.transitions.duration.complex,children:jsxRuntimeExports.jsx(Box$1,{children:jsxRuntimeExports.jsx(Box$1,{sx:{zIndex:-1,filter:"blur(48px)",opacity:.1,position:"absolute",width:"100%",height:"100%",backgroundImage:`url("${Dt}")`,backgroundSize:"contain",backgroundRepeat:"no-repeat",backgroundPosition:"-52px -52px"}})})}),jsxRuntimeExports.jsx(CardHeader$1,{sx:{alignItems:"flex-start","> .MuiCardHeader-content":{overflow:"hidden"}},avatar:jsxRuntimeExports.jsx(Box$1,{sx:{...Yt(1),border:"none",borderRadius:1,width:64,height:64,overflow:"hidden"},children:jsxRuntimeExports.jsx(Fade$1,{in:!!Dt,children:jsxRuntimeExports.jsx(Box$1,{sx:{width:64,height:64,backgroundImage:`url("${Dt}")`,backgroundSize:"100%",backgroundPosition:"center"}})})}),titleTypeProps:ellipsisProps,title:Gt?jsxRuntimeExports.jsx(Placeholder$3,{}):_e||"Untitled",subheaderTypeProps:ellipsisProps,subheader:jsxRuntimeExports.jsxs(Stack$1,{gap:2,sx:{pt:1,alignItems:"flex-start"},children:[jsxRuntimeExports.jsx(Type$2,{sx:{...ellipsisProps,maxWidth:"100%",width:"100%",display:"-webkit-box",WebkitBoxOrient:"vertical",WebkitLineClamp:3,whiteSpace:"break-spaces",height:60},children:Gt?lodashExports$1.map([80,30],en=>jsxRuntimeExports.jsx(Placeholder$3,{width:`${en}%`},en)):Pt||"No description"}),jsxRuntimeExports.jsxs(Stack$1,{direction:"row",alignItems:"center",gap:1,children:[Qt==null?void 0:Qt({width:18,height:18,fontSize:"0.8rem"}),jsxRuntimeExports.jsx(Type$2,{variant:"caption",children:Gt?jsxRuntimeExports.jsx(Placeholder$3,{width:120}):Zt})]}),jsxRuntimeExports.jsx(Button,{disabled:Gt,onClick:Ut,startIcon:jsxRuntimeExports.jsx(WorkspacesOutlined,{}),sx:Yt(2),children:jsxRuntimeExports.jsxs(Stack$1,{direction:"row",gap:1,children:[jsxRuntimeExports.jsx(Type$2,{children:"Open"}),!!jt&&jsxRuntimeExports.jsxs(Type$2,{color:"text.secondary",children:[lodashExports$1.round(jt/1024/1024,2)," MB"]})]})})]})})]})})}const CONTENT_WIDTH=940,entries2=lodashExports$1.entries(paths$1);function ExplorePage({template:_e}){const Pt=useTheme(),[{"behaviour/showOnStart":Dt},Nt]=useSettings(),jt=useSnackbar(),{controls:Ut,onChange:Gt,state:Wt,dragHandle:qt,isViewTree:Yt}=useViewTreeContext(),{close:Xt}=useFullscreenModalContext(),Qt=useSmallDisplay()||Yt,[en,tn]=reactExports.useState(""),[nn,rn]=reactExports.useState("explore"),{load:an}=useWorkspace(),sn=useLoadingState(),ln=dn=>sn(async()=>{try{jt(`Loading ${basename$1(dn)}...`);const hn=await fetch(dn);hn.ok||jt(`Couldn't load ${basename$1(dn)}`,"Network error",{error:!0});const vn=await hn.blob(),En=new File([vn],basename$1(dn),{type:vn.type});an(En)}catch(hn){jt(`Couldn't load ${basename$1(dn)}`,`${hn}`,{error:!0})}}),un=Dt==="explore";function pn(dn){Nt(()=>({"behaviour/showOnStart":dn?"explore":void 0}))}function mn(){const dn=new Rt(Pt.palette.primary.main).H,hn=new Rt("rgba(0,50,255,.2)").H;return jsxRuntimeExports.jsx(Box$1,{sx:{position:"absolute",top:"-100%",left:"calc(50%)",width:"100%",zIndex:-1,transform:"translateX(-50%) rotate(180deg)",height:"150%",filter:`hue-rotate(${dn-hn}deg)`,minWidth:640,opacity:.75,background:"radial-gradient(46.56% 45.08% at 56.04% 55.33%,rgba(0,50,255,.2) 0,transparent 100%),radial-gradient(46.69% 41.74% at 69.64% 60.81%,rgba(192,59,196,.2) 0,transparent 100%),radial-gradient(59.78% 45.73% at 30.42% 58.68%,rgba(0,120,212,.2) 0,transparent 100%),radial-gradient(32.53% 31.57% at 50% 66.82%,rgba(70,54,104,.2) 0,transparent 100%)"}})}return jsxRuntimeExports.jsx(TabContext,{value:nn,children:jsxRuntimeExports.jsxs(_e,{onChange:Gt,stack:Wt,children:[jsxRuntimeExports.jsx(_e.Title,{children:"Explore"}),jsxRuntimeExports.jsx(_e.Key,{children:"explore"}),jsxRuntimeExports.jsx(_e.Handle,{children:qt}),jsxRuntimeExports.jsx(_e.Options,{children:jsxRuntimeExports.jsxs(TabList$1,{onChange:(dn,hn)=>rn(hn),sx:{mx:Yt?0:-1},children:[jsxRuntimeExports.jsx(Tab$1,{label:"Examples",value:"explore"}),jsxRuntimeExports.jsx(Tab$1,{label:"Guides",value:"guides"})]})}),jsxRuntimeExports.jsx(_e.Content,{children:jsxRuntimeExports.jsx(Flex,{vertical:!0,children:jsxRuntimeExports.jsx(Scroll,{y:!0,children:jsxRuntimeExports.jsx(Box$1,{sx:Qt?void 0:{p:4,maxWidth:CONTENT_WIDTH,mx:"auto"},children:jsxRuntimeExports.jsxs(Box$1,{pt:6,children:[jsxRuntimeExports.jsxs(TabPanel$1,{value:"explore",sx:{p:0},children:[jsxRuntimeExports.jsxs(Box$1,{p:4,sx:{textAlign:"center"},children:[jsxRuntimeExports.jsx(Type$2,{variant:Qt?"h6":"h4",children:"Examples"}),jsxRuntimeExports.jsx(Type$2,{variant:"subtitle2",color:"text.secondary",children:"Browse a library of included and community-made examples"})]}),Pt.palette.mode==="dark"&&mn(),jsxRuntimeExports.jsx(Box$1,{px:2,pb:4,sx:{textAlign:"center"},children:jsxRuntimeExports.jsx(TextField$1,{...textFieldProps,size:Qt?"small":"medium",hiddenLabel:!0,fullWidth:!0,sx:{maxWidth:480},InputProps:{startAdornment:jsxRuntimeExports.jsx(InputAdornment$1,{position:"start",children:jsxRuntimeExports.jsx(SearchOutlined,{})})},onChange:dn=>tn(dn.target.value),placeholder:"Search examples"})}),jsxRuntimeExports.jsx(Box$1,{sx:{p:1,display:"grid",gridAutoFlow:"row",gridTemplateColumns:"repeat(auto-fill, minmax(min(100%, 320px), 1fr))"},children:lodashExports$1.map(entries2,dn=>jsxRuntimeExports.jsx(FeatureCard2,{search:en,entry:dn,onOpenClick:hn=>{ln(hn),Xt==null||Xt()}},dn[0]))})]}),jsxRuntimeExports.jsxs(TabPanel$1,{value:"guides",sx:{p:0},children:[jsxRuntimeExports.jsxs(Box$1,{p:4,sx:{textAlign:"center"},children:[jsxRuntimeExports.jsx(Type$2,{variant:Qt?"h6":"h4",children:"Guides"}),jsxRuntimeExports.jsx(Type$2,{variant:"subtitle2",color:"text.secondary",children:`Learn how to use ${name} and explore ${name} features`})]}),jsxRuntimeExports.jsxs(Stack$1,{sx:{p:4,maxWidth:480,mx:"auto",textAlign:"center",alignItems:"center"},gap:2,children:[jsxRuntimeExports.jsx(Type$2,{children:"We're still working on this feature. Check out our documentation instead."}),jsxRuntimeExports.jsx(Button,{onClick:()=>window.open(docs,"_blank"),sx:{maxWidth:"min-content"},startIcon:jsxRuntimeExports.jsx(LaunchOutlined,{}),children:"Open Documentation"})]})]})]})})})})}),jsxRuntimeExports.jsxs(_e.Extras,{children:[!Qt&&jsxRuntimeExports.jsx(FormControlLabel$1,{label:"Show on start-up",labelPlacement:"start",sx:{ml:"auto",mr:-5,minWidth:"fit-content"},control:jsxRuntimeExports.jsx(Checkbox$1,{defaultChecked:un,onChange:(dn,hn)=>pn==null?void 0:pn(hn)})}),Ut]})]})})}function InfoPage({template:_e}){const{controls:Pt,onChange:Dt,state:Nt,dragHandle:jt}=useViewTreeContext(),[Ut,Gt]=useLog();return jsxRuntimeExports.jsxs(_e,{onChange:Dt,stack:Nt,children:[jsxRuntimeExports.jsx(_e.Key,{children:"info"}),jsxRuntimeExports.jsx(_e.Title,{children:"Logs"}),jsxRuntimeExports.jsx(_e.Handle,{children:jt}),jsxRuntimeExports.jsx(_e.Options,{children:jsxRuntimeExports.jsx(FeaturePickerButton,{disabled:!Ut.length,icon:jsxRuntimeExports.jsx(CloseOutlined,{}),onClick:()=>Gt(()=>({action:"clear"})),children:"Clear"})}),jsxRuntimeExports.jsx(_e.Content,{children:jsxRuntimeExports.jsx(Flex,{vertical:!0,children:Ut.length?jsxRuntimeExports.jsx(Scroll,{y:!0,children:jsxRuntimeExports.jsx(List$2,{sx:{pt:6},children:lodashExports$1.map(Ut,(Wt,qt)=>jsxRuntimeExports.jsxs("div",{children:[jsxRuntimeExports.jsx(ListItem$1,{children:jsxRuntimeExports.jsx(ListItemText$1,{primary:Wt.content,secondary:Wt.timestamp})}),jsxRuntimeExports.jsx(Divider$1,{})]},qt))})}):jsxRuntimeExports.jsx(Placeholder$2,{pt:6,label:"Logs",icon:jsxRuntimeExports.jsx(ListOutlined,{})})})}),jsxRuntimeExports.jsx(_e.Extras,{children:Pt})]})}const compositeOperations=["color","color-burn","color-dodge","copy","darken","destination-atop","destination-in","destination-out","destination-over","difference","exclusion","hard-light","hue","lighten","lighter","luminosity","multiply","overlay","saturation","screen","soft-light","source-atop","source-in","source-out","source-over","xor"];function useDraft(_e,Pt,Dt=300,Nt=[]){const[jt,Ut]=reactExports.useState(_e);reactExports.useEffect(()=>{_e&&requestIdleCallback(()=>Ut(lodashExports$1.merge(jt,lodashExports$1.omit(_e,...Nt))))},[Ut,_e]);const Gt=reactExports.useMemo(()=>lodashExports$1.debounce(Wt=>Pt==null?void 0:Pt(Wt),Dt),[Pt,Dt]);return[jt,Wt=>{const qt=Wt(jt);Ut(qt),Gt(qt)}]}function Component({value:_e,onValueChange:Pt},Dt){var Qt,en,tn,nn;const Nt=usePaper();useAcrylic();const[jt,Ut]=useDraft(_e,Pt,300,["name","source.type"]),Gt=rn=>jsxRuntimeExports.jsx(Type$2,{variant:"overline",color:"text.secondary",sx:{pt:1},component:"p",children:rn}),Wt=rn=>jsxRuntimeExports.jsx(Type$2,{variant:"body1",children:rn}),qt=(rn,an)=>jsxRuntimeExports.jsxs(Flex,{alignItems:"center",children:[Wt(rn),jsxRuntimeExports.jsx(Space,{flex:1}),an]}),Yt=rn=>rn.map(an=>({id:an,name:lodashExports$1.startCase(an)})),Xt=jt.name||inferLayerName(_e),Zt=(en=(Qt=getLayerHandler(_e))==null?void 0:Qt.error)==null?void 0:en.call(Qt,_e);return jsxRuntimeExports.jsx(jsxRuntimeExports.Fragment,{children:jsxRuntimeExports.jsx(ManagedModal,{popover:!0,slotProps:{popover:{anchorOrigin:{horizontal:-12,vertical:-12}}},appBar:{children:"Edit Layer"},trigger:rn=>{var an;return jsxRuntimeExports.jsx(ButtonBase$1,{onClick:rn,className:jt.key,sx:{flex:1,display:"block",textAlign:"left",px:2},children:jsxRuntimeExports.jsxs(Stack$1,{alignItems:"center",direction:"row",gap:2,children:[jsxRuntimeExports.jsx(Stack$1,{sx:{...Nt(.5),alignItems:"center",justifyContent:"center",width:36,height:36,color:"action.disabled"},children:getLayerHandler(_e).icon}),jsxRuntimeExports.jsxs(Box$1,{sx:{py:1.5,flex:1,width:0,ml:0,overflow:"hidden","> *":{overflow:"hidden",whiteSpace:"nowrap",textOverflow:"ellipsis"}},children:[jsxRuntimeExports.jsx(Type$2,{children:Xt}),jsxRuntimeExports.jsx(Type$2,{variant:"body2",color:"text.secondary",children:lodashExports$1.startCase((an=_e.source)==null?void 0:an.type)})]}),!!Zt&&jsxRuntimeExports.jsx(Tooltip$1,{title:Zt,children:jsxRuntimeExports.jsx(Chip$1,{sx:{mr:-2,...lodashExports$1.omit(Nt(1),"borderRadius"),color:sn=>sn.palette.error.main,flex:0},label:`${lodashExports$1.truncate(`${Zt}`,{length:8})}`,size:"small"})})]})})},children:jsxRuntimeExports.jsxs(Box$1,{p:2,children:[jsxRuntimeExports.jsx(TextField$1,{sx:{mb:2},autoComplete:"off",autoFocus:!0,placeholder:inferLayerName(jt),fullWidth:!0,variant:"filled",label:"Layer Name",defaultValue:jt.name??"",onChange:rn=>Ut==null?void 0:Ut(an=>lodashExports$1.set(an,"name",rn.target.value))}),jsxRuntimeExports.jsxs(Box$1,{sx:{mx:-2,pb:1},children:[jsxRuntimeExports.jsx(Tabs$1,{variant:"fullWidth",onChange:(rn,an)=>Ut==null?void 0:Ut(sn=>lodashExports$1.set(sn,"source",{type:an})),value:((tn=jt.source)==null?void 0:tn.type)??lodashExports$1.first(lodashExports$1.keys(layerHandlers))??"",children:lodashExports$1.keys(layerHandlers).map(rn=>jsxRuntimeExports.jsx(Tab$1,{label:lodashExports$1.startCase(rn),value:rn},rn))}),jsxRuntimeExports.jsx(Divider$1,{sx:{width:"100%"}})]}),Gt("Source Options"),((nn=jt.source)==null?void 0:nn.type)&&reactExports.createElement(layerHandlers[jt.source.type].editor,{onChange:Ut,value:jt}),Gt("Layer Options"),qt("Transparency",jsxRuntimeExports.jsx(FeaturePicker,{label:"Transparency",items:["0","25","50","75"].map(rn=>({id:rn,name:`${rn}%`})),value:jt.transparency??"0",arrow:!0,onChange:rn=>Ut==null?void 0:Ut(an=>lodashExports$1.set(an,"transparency",rn))})),qt("Display Mode",jsxRuntimeExports.jsx(FeaturePicker,{arrow:!0,label:"Display Mode",value:jt.displayMode??"source-over",items:Yt(compositeOperations),onChange:rn=>Ut==null?void 0:Ut(an=>lodashExports$1.set(an,"displayMode",rn))}))]})})})}const LayerEditor=reactExports.forwardRef(Component);function LayerListEditor(){const[{layers:_e=[]},Pt]=useLayers();return jsxRuntimeExports.jsx(Box$1,{sx:{overflow:"auto hidden",width:"100%"},children:jsxRuntimeExports.jsx(Box$1,{sx:{mb:2},children:jsxRuntimeExports.jsx(ListEditor,{sortable:!0,icon:null,value:_e,deletable:!0,orderable:!0,extras:Dt=>jsxRuntimeExports.jsx(PopupState,{variant:"popover",children:Nt=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[jsxRuntimeExports.jsx(Menu$1,{...bindMenu(Nt),transformOrigin:{horizontal:"right",vertical:"top"},anchorOrigin:{horizontal:"right",vertical:"bottom"},children:jsxRuntimeExports.jsx(MenuList$1,{dense:!0,sx:{p:0},children:[{name:"Fit Layer",key:"fit-layer",action:()=>Pt(({layers:jt})=>({layers:lodashExports$1.map(jt,Ut=>({...Ut,viewKey:Ut.key===(Dt==null?void 0:Dt.key)?nanoid$1():void 0}))}))}].map(({name:jt,key:Ut,action:Gt})=>jsxRuntimeExports.jsx(MenuItem$1,{onClick:()=>{Gt==null||Gt(),Nt.close()},children:jt},Ut))})}),jsxRuntimeExports.jsx(IconButton$1,{...bindTrigger(Nt),sx:{color:jt=>jt.palette.text.secondary},children:jsxRuntimeExports.jsx(MoreVertOutlined,{})})]})}),renderEditor:({extras:Dt,handle:Nt,value:jt,onValueChange:Ut})=>jsxRuntimeExports.jsxs(jsxRuntimeExports.Fragment,{children:[Nt,jsxRuntimeExports.jsx(LayerEditor,{value:jt,onValueChange:Ut}),Dt]}),create:()=>({source:{type:"trace",trace:{}}}),onChange:Dt=>requestIdleCallback(()=>Pt(()=>({layers:Dt})),{timeout:300}),addItemLabel:"Layer",placeholder:jsxRuntimeExports.jsx(Box$1,{pt:2,children:"Get started by adding a layer."}),onFocus:Dt=>{const Nt=lodashExports$1.head(document.getElementsByClassName(Dt));Nt&&"click"in Nt&&typeof Nt.click=="function"&&Nt.click()}})})})}function LayersPage({template:_e}){const{controls:Pt,onChange:Dt,state:Nt,dragHandle:jt}=useViewTreeContext();return jsxRuntimeExports.jsxs(_e,{onChange:Dt,stack:Nt,children:[jsxRuntimeExports.jsx(_e.Key,{children:"layers"}),jsxRuntimeExports.jsx(_e.Title,{children:"Layers"}),jsxRuntimeExports.jsx(_e.Handle,{children:jt}),jsxRuntimeExports.jsx(_e.Content,{children:jsxRuntimeExports.jsx(Flex,{children:jsxRuntimeExports.jsx(Scroll,{y:!0,style:{width:"100%"},children:jsxRuntimeExports.jsx(Box$1,{pt:6,children:jsxRuntimeExports.jsx(LayerListEditor,{})})})})}),jsxRuntimeExports.jsx(_e.Extras,{children:Pt})]})}var dist$2={},client={},models={};(function(_e){var Pt=commonjsGlobal&&commonjsGlobal.__extends||function(){var en=function(tn,nn){return en=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(rn,an){rn.__proto__=an}||function(rn,an){for(var sn in an)Object.prototype.hasOwnProperty.call(an,sn)&&(rn[sn]=an[sn])},en(tn,nn)};return function(tn,nn){if(typeof nn!="function"&&nn!==null)throw new TypeError("Class extends value "+String(nn)+" is not a constructor or null");en(tn,nn);function rn(){this.constructor=tn}tn.prototype=nn===null?Object.create(nn):(rn.prototype=nn.prototype,new rn)}}();Object.defineProperty(_e,"__esModule",{value:!0}),_e.createJSONRPCNotification=_e.createJSONRPCRequest=_e.createJSONRPCSuccessResponse=_e.createJSONRPCErrorResponse=_e.JSONRPCErrorCode=_e.JSONRPCErrorException=_e.isJSONRPCResponses=_e.isJSONRPCResponse=_e.isJSONRPCRequests=_e.isJSONRPCRequest=_e.isJSONRPCID=_e.JSONRPC=void 0,_e.JSONRPC="2.0";var Dt=function(en){return typeof en=="string"||typeof en=="number"||en===null};_e.isJSONRPCID=Dt;var Nt=function(en){return en.jsonrpc===_e.JSONRPC&&en.method!==void 0&&en.result===void 0&&en.error===void 0};_e.isJSONRPCRequest=Nt;var jt=function(en){return Array.isArray(en)&&en.every(_e.isJSONRPCRequest)};_e.isJSONRPCRequests=jt;var Ut=function(en){return en.jsonrpc===_e.JSONRPC&&en.id!==void 0&&(en.result!==void 0||en.error!==void 0)};_e.isJSONRPCResponse=Ut;var Gt=function(en){return Array.isArray(en)&&en.every(_e.isJSONRPCResponse)};_e.isJSONRPCResponses=Gt;var Wt=function(en,tn,nn){var rn={code:en,message:tn};return nn!=null&&(rn.data=nn),rn},qt=function(en){Pt(tn,en);function tn(nn,rn,an){var sn=en.call(this,nn)||this;return Object.setPrototypeOf(sn,tn.prototype),sn.code=rn,sn.data=an,sn}return tn.prototype.toObject=function(){return Wt(this.code,this.message,this.data)},tn}(Error);_e.JSONRPCErrorException=qt,function(en){en[en.ParseError=-32700]="ParseError",en[en.InvalidRequest=-32600]="InvalidRequest",en[en.MethodNotFound=-32601]="MethodNotFound",en[en.InvalidParams=-32602]="InvalidParams",en[en.InternalError=-32603]="InternalError"}(_e.JSONRPCErrorCode||(_e.JSONRPCErrorCode={}));var Yt=function(en,tn,nn,rn){return{jsonrpc:_e.JSONRPC,id:en,error:Wt(tn,nn,rn)}};_e.createJSONRPCErrorResponse=Yt;var Xt=function(en,tn){return{jsonrpc:_e.JSONRPC,id:en,result:tn??null}};_e.createJSONRPCSuccessResponse=Xt;var Zt=function(en,tn,nn){return{jsonrpc:_e.JSONRPC,id:en,method:tn,params:nn}};_e.createJSONRPCRequest=Zt;var Qt=function(en,tn){return{jsonrpc:_e.JSONRPC,method:en,params:tn}};_e.createJSONRPCNotification=Qt})(models);var internal$1={};Object.defineProperty(internal$1,"__esModule",{value:!0});internal$1.DefaultErrorCode=void 0;internal$1.DefaultErrorCode=0;var __awaiter$2=commonjsGlobal&&commonjsGlobal.__awaiter||function(_e,Pt,Dt,Nt){function jt(Ut){return Ut instanceof Dt?Ut:new Dt(function(Gt){Gt(Ut)})}return new(Dt||(Dt=Promise))(function(Ut,Gt){function Wt(Xt){try{Yt(Nt.next(Xt))}catch(Zt){Gt(Zt)}}function qt(Xt){try{Yt(Nt.throw(Xt))}catch(Zt){Gt(Zt)}}function Yt(Xt){Xt.done?Ut(Xt.value):jt(Xt.value).then(Wt,qt)}Yt((Nt=Nt.apply(_e,Pt||[])).next())})},__generator$2=commonjsGlobal&&commonjsGlobal.__generator||function(_e,Pt){var Dt={label:0,sent:function(){if(Ut[0]&1)throw Ut[1];return Ut[1]},trys:[],ops:[]},Nt,jt,Ut,Gt;return Gt={next:Wt(0),throw:Wt(1),return:Wt(2)},typeof Symbol=="function"&&(Gt[Symbol.iterator]=function(){return this}),Gt;function Wt(Yt){return function(Xt){return qt([Yt,Xt])}}function qt(Yt){if(Nt)throw new TypeError("Generator is already executing.");for(;Gt&&(Gt=0,Yt[0]&&(Dt=0)),Dt;)try{if(Nt=1,jt&&(Ut=Yt[0]&2?jt.return:Yt[0]?jt.throw||((Ut=jt.return)&&Ut.call(jt),0):jt.next)&&!(Ut=Ut.call(jt,Yt[1])).done)return Ut;switch(jt=0,Ut&&(Yt=[Yt[0]&2,Ut.value]),Yt[0]){case 0:case 1:Ut=Yt;break;case 4:return Dt.label++,{value:Yt[1],done:!1};case 5:Dt.label++,jt=Yt[1],Yt=[0];continue;case 7:Yt=Dt.ops.pop(),Dt.trys.pop();continue;default:if(Ut=Dt.trys,!(Ut=Ut.length>0&&Ut[Ut.length-1])&&(Yt[0]===6||Yt[0]===2)){Dt=0;continue}if(Yt[0]===3&&(!Ut||Yt[1]>Ut[0]&&Yt[1]0&&Ut[Ut.length-1])&&(Yt[0]===6||Yt[0]===2)){Dt=0;continue}if(Yt[0]===3&&(!Ut||Yt[1]>Ut[0]&&Yt[1]0&&Ut[Ut.length-1])&&(Yt[0]===6||Yt[0]===2)){Dt=0;continue}if(Yt[0]===3&&(!Ut||Yt[1]>Ut[0]&&Yt[1]{const jt=({data:Ut})=>{Ut.id===Nt.id&&(this.rpc.receive(Ut),this.worker.removeEventListener("message",jt))};this.worker.postMessage(Nt),this.worker.addEventListener("message",jt)})}connect(){return this.worker.postMessage(this.options.url),new Promise(Dt=>{const Nt=()=>{Dt(),this.worker.removeEventListener("message",Nt)};this.worker.addEventListener("message",Nt)})}async disconnect(){this.worker.terminate()}async call(Dt,Nt){return await this.rpc.request(Dt,Nt)}}var requiresPort=function(Pt,Dt){if(Dt=Dt.split(":")[0],Pt=+Pt,!Pt)return!1;switch(Dt){case"http":case"ws":return Pt!==80;case"https":case"wss":return Pt!==443;case"ftp":return Pt!==21;case"gopher":return Pt!==70;case"file":return!1}return Pt!==0},querystringify$1={},has$4=Object.prototype.hasOwnProperty,undef;function decode$3(_e){try{return decodeURIComponent(_e.replace(/\+/g," "))}catch{return null}}function encode$3(_e){try{return encodeURIComponent(_e)}catch{return null}}function querystring$1(_e){for(var Pt=/([^=?#&]+)=?([^&]*)/g,Dt={},Nt;Nt=Pt.exec(_e);){var jt=decode$3(Nt[1]),Ut=decode$3(Nt[2]);jt===null||Ut===null||jt in Dt||(Dt[jt]=Ut)}return Dt}function querystringify(_e,Pt){Pt=Pt||"";var Dt=[],Nt,jt;typeof Pt!="string"&&(Pt="?");for(jt in _e)if(has$4.call(_e,jt)){if(Nt=_e[jt],!Nt&&(Nt===null||Nt===undef||isNaN(Nt))&&(Nt=""),jt=encode$3(jt),Nt=encode$3(Nt),jt===null||Nt===null)continue;Dt.push(jt+"="+Nt)}return Dt.length?Pt+Dt.join("&"):""}querystringify$1.stringify=querystringify;querystringify$1.parse=querystring$1;var required=requiresPort,qs=querystringify$1,controlOrWhitespace=/^[\x00-\x20\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]+/,CRHTLF=/[\n\r\t]/g,slashes=/^[A-Za-z][A-Za-z0-9+-.]*:\/\//,port=/:\d+$/,protocolre=/^([a-z][a-z0-9.+-]*:)?(\/\/)?([\\/]+)?([\S\s]*)/i,windowsDriveLetter=/^[a-zA-Z]:/;function trimLeft(_e){return(_e||"").toString().replace(controlOrWhitespace,"")}var rules=[["#","hash"],["?","query"],function(Pt,Dt){return isSpecial(Dt.protocol)?Pt.replace(/\\/g,"/"):Pt},["/","pathname"],["@","auth",1],[NaN,"host",void 0,1,1],[/:(\d*)$/,"port",void 0,1],[NaN,"hostname",void 0,1,1]],ignore={hash:1,query:1};function lolcation(_e){var Pt;typeof window<"u"?Pt=window:typeof commonjsGlobal<"u"?Pt=commonjsGlobal:typeof self<"u"?Pt=self:Pt={};var Dt=Pt.location||{};_e=_e||Dt;var Nt={},jt=typeof _e,Ut;if(_e.protocol==="blob:")Nt=new Url$1(unescape(_e.pathname),{});else if(jt==="string"){Nt=new Url$1(_e,{});for(Ut in ignore)delete Nt[Ut]}else if(jt==="object"){for(Ut in _e)Ut in ignore||(Nt[Ut]=_e[Ut]);Nt.slashes===void 0&&(Nt.slashes=slashes.test(_e.href))}return Nt}function isSpecial(_e){return _e==="file:"||_e==="ftp:"||_e==="http:"||_e==="https:"||_e==="ws:"||_e==="wss:"}function extractProtocol(_e,Pt){_e=trimLeft(_e),_e=_e.replace(CRHTLF,""),Pt=Pt||{};var Dt=protocolre.exec(_e),Nt=Dt[1]?Dt[1].toLowerCase():"",jt=!!Dt[2],Ut=!!Dt[3],Gt=0,Wt;return jt?Ut?(Wt=Dt[2]+Dt[3]+Dt[4],Gt=Dt[2].length+Dt[3].length):(Wt=Dt[2]+Dt[4],Gt=Dt[2].length):Ut?(Wt=Dt[3]+Dt[4],Gt=Dt[3].length):Wt=Dt[4],Nt==="file:"?Gt>=2&&(Wt=Wt.slice(2)):isSpecial(Nt)?Wt=Dt[4]:Nt?jt&&(Wt=Wt.slice(2)):Gt>=2&&isSpecial(Pt.protocol)&&(Wt=Dt[4]),{protocol:Nt,slashes:jt||isSpecial(Nt),slashesCount:Gt,rest:Wt}}function resolve$1(_e,Pt){if(_e==="")return Pt;for(var Dt=(Pt||"/").split("/").slice(0,-1).concat(_e.split("/")),Nt=Dt.length,jt=Dt[Nt-1],Ut=!1,Gt=0;Nt--;)Dt[Nt]==="."?Dt.splice(Nt,1):Dt[Nt]===".."?(Dt.splice(Nt,1),Gt++):Gt&&(Nt===0&&(Ut=!0),Dt.splice(Nt,1),Gt--);return Ut&&Dt.unshift(""),(jt==="."||jt==="..")&&Dt.push(""),Dt.join("/")}function Url$1(_e,Pt,Dt){if(_e=trimLeft(_e),_e=_e.replace(CRHTLF,""),!(this instanceof Url$1))return new Url$1(_e,Pt,Dt);var Nt,jt,Ut,Gt,Wt,qt,Yt=rules.slice(),Xt=typeof Pt,Zt=this,Qt=0;for(Xt!=="object"&&Xt!=="string"&&(Dt=Pt,Pt=null),Dt&&typeof Dt!="function"&&(Dt=qs.parse),Pt=lolcation(Pt),jt=extractProtocol(_e||"",Pt),Nt=!jt.protocol&&!jt.slashes,Zt.slashes=jt.slashes||Nt&&Pt.slashes,Zt.protocol=jt.protocol||Pt.protocol||"",_e=jt.rest,(jt.protocol==="file:"&&(jt.slashesCount!==2||windowsDriveLetter.test(_e))||!jt.slashes&&(jt.protocol||jt.slashesCount<2||!isSpecial(Zt.protocol)))&&(Yt[3]=[/(.*)/,"pathname"]);Qt__vitePreload(()=>import("./alien-81a163a8.js"),[],import.meta.url).then(_e=>_e.default),"/public/maps/maze-medium.grid":()=>__vitePreload(()=>import("./maze-medium-a955cbb9.js"),[],import.meta.url).then(_e=>_e.default),"/public/maps/maze-small.grid":()=>__vitePreload(()=>import("./maze-small-85d74cf5.js"),[],import.meta.url).then(_e=>_e.default),"/public/maps/random-32x32.grid":()=>__vitePreload(()=>import("./random-32x32-1b96f0c8.js"),[],import.meta.url).then(_e=>_e.default)});function ext(_e){return _e.split(".")[1]}function stripExtension(_e){return _e.split(".")[0]}function basename(_e){return _e.split("/").pop()}const getFileInfo=memoizee$1(async(_e,Pt)=>({id:`basic-maps${_e}`,name:lodashExports$1.chain(_e).thru(basename).thru(stripExtension).startCase().value(),path:await Pt(),format:ext(_e)}),{normalizer:([_e])=>_e}),getFiles=async()=>await Promise.all(lodashExports$1.map(lodashExports$1.entries(paths),_e=>getFileInfo(..._e))),internal={"basic-maps":async(_e,Pt)=>{switch(_e){case"about":return{name:"Basic Maps",description:"A collection of basic grid maps",version:"1.2.2"};case"features/formats":return[{id:"grid",name:"Grid"},{id:"xy",name:"Network"},{id:"mesh",name:"Mesh"}];case"features/maps":return await getFiles();case"features/map":{const Dt=await getFiles(),Nt=lodashExports$1.find(Dt,{id:Pt==null?void 0:Pt.id});if(Nt){const jt=await fetch(Nt.path);return console.log(Nt),{...Nt,content:await jt.text()}}}}}};class NativeTransport extends EventEmitter$2{constructor(Dt){super();Lm(this,"handler");this.options=Dt;const{hostname:Nt}=url$2(Dt.url);this.handler=internal[Nt]}async connect(){}async disconnect(){}async call(Dt,Nt){return await this.handler(Dt,Nt)}}const PACKET_TYPES=Object.create(null);PACKET_TYPES.open="0";PACKET_TYPES.close="1";PACKET_TYPES.ping="2";PACKET_TYPES.pong="3";PACKET_TYPES.message="4";PACKET_TYPES.upgrade="5";PACKET_TYPES.noop="6";const PACKET_TYPES_REVERSE=Object.create(null);Object.keys(PACKET_TYPES).forEach(_e=>{PACKET_TYPES_REVERSE[PACKET_TYPES[_e]]=_e});const ERROR_PACKET={type:"error",data:"parser error"},withNativeBlob$1=typeof Blob=="function"||typeof Blob<"u"&&Object.prototype.toString.call(Blob)==="[object BlobConstructor]",withNativeArrayBuffer$2=typeof ArrayBuffer=="function",isView$1=_e=>typeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(_e):_e&&_e.buffer instanceof ArrayBuffer,encodePacket=({type:_e,data:Pt},Dt,Nt)=>withNativeBlob$1&&Pt instanceof Blob?Dt?Nt(Pt):encodeBlobAsBase64(Pt,Nt):withNativeArrayBuffer$2&&(Pt instanceof ArrayBuffer||isView$1(Pt))?Dt?Nt(Pt):encodeBlobAsBase64(new Blob([Pt]),Nt):Nt(PACKET_TYPES[_e]+(Pt||"")),encodeBlobAsBase64=(_e,Pt)=>{const Dt=new FileReader;return Dt.onload=function(){const Nt=Dt.result.split(",")[1];Pt("b"+(Nt||""))},Dt.readAsDataURL(_e)};function toArray(_e){return _e instanceof Uint8Array?_e:_e instanceof ArrayBuffer?new Uint8Array(_e):new Uint8Array(_e.buffer,_e.byteOffset,_e.byteLength)}let TEXT_ENCODER;function encodePacketToBinary(_e,Pt){if(withNativeBlob$1&&_e.data instanceof Blob)return _e.data.arrayBuffer().then(toArray).then(Pt);if(withNativeArrayBuffer$2&&(_e.data instanceof ArrayBuffer||isView$1(_e.data)))return Pt(toArray(_e.data));encodePacket(_e,!1,Dt=>{TEXT_ENCODER||(TEXT_ENCODER=new TextEncoder),Pt(TEXT_ENCODER.encode(Dt))})}const chars="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",lookup$1=typeof Uint8Array>"u"?[]:new Uint8Array(256);for(let _e=0;_e{let Pt=_e.length*.75,Dt=_e.length,Nt,jt=0,Ut,Gt,Wt,qt;_e[_e.length-1]==="="&&(Pt--,_e[_e.length-2]==="="&&Pt--);const Yt=new ArrayBuffer(Pt),Xt=new Uint8Array(Yt);for(Nt=0;Nt>4,Xt[jt++]=(Gt&15)<<4|Wt>>2,Xt[jt++]=(Wt&3)<<6|qt&63;return Yt},withNativeArrayBuffer$1=typeof ArrayBuffer=="function",decodePacket=(_e,Pt)=>{if(typeof _e!="string")return{type:"message",data:mapBinary(_e,Pt)};const Dt=_e.charAt(0);return Dt==="b"?{type:"message",data:decodeBase64Packet(_e.substring(1),Pt)}:PACKET_TYPES_REVERSE[Dt]?_e.length>1?{type:PACKET_TYPES_REVERSE[Dt],data:_e.substring(1)}:{type:PACKET_TYPES_REVERSE[Dt]}:ERROR_PACKET},decodeBase64Packet=(_e,Pt)=>{if(withNativeArrayBuffer$1){const Dt=decode$2(_e);return mapBinary(Dt,Pt)}else return{base64:!0,data:_e}},mapBinary=(_e,Pt)=>{switch(Pt){case"blob":return _e instanceof Blob?_e:new Blob([_e]);case"arraybuffer":default:return _e instanceof ArrayBuffer?_e:_e.buffer}},SEPARATOR=String.fromCharCode(30),encodePayload=(_e,Pt)=>{const Dt=_e.length,Nt=new Array(Dt);let jt=0;_e.forEach((Ut,Gt)=>{encodePacket(Ut,!1,Wt=>{Nt[Gt]=Wt,++jt===Dt&&Pt(Nt.join(SEPARATOR))})})},decodePayload=(_e,Pt)=>{const Dt=_e.split(SEPARATOR),Nt=[];for(let jt=0;jt{const Nt=Dt.length;let jt;if(Nt<126)jt=new Uint8Array(1),new DataView(jt.buffer).setUint8(0,Nt);else if(Nt<65536){jt=new Uint8Array(3);const Ut=new DataView(jt.buffer);Ut.setUint8(0,126),Ut.setUint16(1,Nt)}else{jt=new Uint8Array(9);const Ut=new DataView(jt.buffer);Ut.setUint8(0,127),Ut.setBigUint64(1,BigInt(Nt))}_e.data&&typeof _e.data!="string"&&(jt[0]|=128),Pt.enqueue(jt),Pt.enqueue(Dt)})}})}let TEXT_DECODER;function totalLength(_e){return _e.reduce((Pt,Dt)=>Pt+Dt.length,0)}function concatChunks(_e,Pt){if(_e[0].length===Pt)return _e.shift();const Dt=new Uint8Array(Pt);let Nt=0;for(let jt=0;jtMath.pow(2,53-32)-1){Wt.enqueue(ERROR_PACKET);break}jt=Xt*Math.pow(2,32)+Yt.getUint32(4),Nt=3}else{if(totalLength(Dt)_e){Wt.enqueue(ERROR_PACKET);break}}}})}const protocol$1=4;function Emitter(_e){if(_e)return mixin(_e)}function mixin(_e){for(var Pt in Emitter.prototype)_e[Pt]=Emitter.prototype[Pt];return _e}Emitter.prototype.on=Emitter.prototype.addEventListener=function(_e,Pt){return this._callbacks=this._callbacks||{},(this._callbacks["$"+_e]=this._callbacks["$"+_e]||[]).push(Pt),this};Emitter.prototype.once=function(_e,Pt){function Dt(){this.off(_e,Dt),Pt.apply(this,arguments)}return Dt.fn=Pt,this.on(_e,Dt),this};Emitter.prototype.off=Emitter.prototype.removeListener=Emitter.prototype.removeAllListeners=Emitter.prototype.removeEventListener=function(_e,Pt){if(this._callbacks=this._callbacks||{},arguments.length==0)return this._callbacks={},this;var Dt=this._callbacks["$"+_e];if(!Dt)return this;if(arguments.length==1)return delete this._callbacks["$"+_e],this;for(var Nt,jt=0;jttypeof self<"u"?self:typeof window<"u"?window:Function("return this")())();function pick(_e,...Pt){return Pt.reduce((Dt,Nt)=>(_e.hasOwnProperty(Nt)&&(Dt[Nt]=_e[Nt]),Dt),{})}const NATIVE_SET_TIMEOUT=globalThisShim.setTimeout,NATIVE_CLEAR_TIMEOUT=globalThisShim.clearTimeout;function installTimerFunctions(_e,Pt){Pt.useNativeTimers?(_e.setTimeoutFn=NATIVE_SET_TIMEOUT.bind(globalThisShim),_e.clearTimeoutFn=NATIVE_CLEAR_TIMEOUT.bind(globalThisShim)):(_e.setTimeoutFn=globalThisShim.setTimeout.bind(globalThisShim),_e.clearTimeoutFn=globalThisShim.clearTimeout.bind(globalThisShim))}const BASE64_OVERHEAD=1.33;function byteLength(_e){return typeof _e=="string"?utf8Length(_e):Math.ceil((_e.byteLength||_e.size)*BASE64_OVERHEAD)}function utf8Length(_e){let Pt=0,Dt=0;for(let Nt=0,jt=_e.length;Nt=57344?Dt+=3:(Nt++,Dt+=4);return Dt}function encode$2(_e){let Pt="";for(let Dt in _e)_e.hasOwnProperty(Dt)&&(Pt.length&&(Pt+="&"),Pt+=encodeURIComponent(Dt)+"="+encodeURIComponent(_e[Dt]));return Pt}function decode$1(_e){let Pt={},Dt=_e.split("&");for(let Nt=0,jt=Dt.length;Nt0);return Pt}function yeast(){const _e=encode$1(+new Date);return _e!==prev?(seed=0,prev=_e):_e+"."+encode$1(seed++)}for(;i$2{this.readyState="paused",Pt()};if(this.polling||!this.writable){let Nt=0;this.polling&&(Nt++,this.once("pollComplete",function(){--Nt||Dt()})),this.writable||(Nt++,this.once("drain",function(){--Nt||Dt()}))}else Dt()}poll(){this.polling=!0,this.doPoll(),this.emitReserved("poll")}onData(Pt){const Dt=Nt=>{if(this.readyState==="opening"&&Nt.type==="open"&&this.onOpen(),Nt.type==="close")return this.onClose({description:"transport closed by the server"}),!1;this.onPacket(Nt)};decodePayload(Pt,this.socket.binaryType).forEach(Dt),this.readyState!=="closed"&&(this.polling=!1,this.emitReserved("pollComplete"),this.readyState==="open"&&this.poll())}doClose(){const Pt=()=>{this.write([{type:"close"}])};this.readyState==="open"?Pt():this.once("open",Pt)}write(Pt){this.writable=!1,encodePayload(Pt,Dt=>{this.doWrite(Dt,()=>{this.writable=!0,this.emitReserved("drain")})})}uri(){const Pt=this.opts.secure?"https":"http",Dt=this.query||{};return this.opts.timestampRequests!==!1&&(Dt[this.opts.timestampParam]=yeast()),!this.supportsBinary&&!Dt.sid&&(Dt.b64=1),this.createUri(Pt,Dt)}request(Pt={}){return Object.assign(Pt,{xd:this.xd,cookieJar:this.cookieJar},this.opts),new Request(this.uri(),Pt)}doWrite(Pt,Dt){const Nt=this.request({method:"POST",data:Pt});Nt.on("success",Dt),Nt.on("error",(jt,Ut)=>{this.onError("xhr post error",jt,Ut)})}doPoll(){const Pt=this.request();Pt.on("data",this.onData.bind(this)),Pt.on("error",(Dt,Nt)=>{this.onError("xhr poll error",Dt,Nt)}),this.pollXhr=Pt}}class Request extends Emitter{constructor(Pt,Dt){super(),installTimerFunctions(this,Dt),this.opts=Dt,this.method=Dt.method||"GET",this.uri=Pt,this.data=Dt.data!==void 0?Dt.data:null,this.create()}create(){var Pt;const Dt=pick(this.opts,"agent","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","autoUnref");Dt.xdomain=!!this.opts.xd;const Nt=this.xhr=new XHR(Dt);try{Nt.open(this.method,this.uri,!0);try{if(this.opts.extraHeaders){Nt.setDisableHeaderCheck&&Nt.setDisableHeaderCheck(!0);for(let jt in this.opts.extraHeaders)this.opts.extraHeaders.hasOwnProperty(jt)&&Nt.setRequestHeader(jt,this.opts.extraHeaders[jt])}}catch{}if(this.method==="POST")try{Nt.setRequestHeader("Content-type","text/plain;charset=UTF-8")}catch{}try{Nt.setRequestHeader("Accept","*/*")}catch{}(Pt=this.opts.cookieJar)===null||Pt===void 0||Pt.addCookies(Nt),"withCredentials"in Nt&&(Nt.withCredentials=this.opts.withCredentials),this.opts.requestTimeout&&(Nt.timeout=this.opts.requestTimeout),Nt.onreadystatechange=()=>{var jt;Nt.readyState===3&&((jt=this.opts.cookieJar)===null||jt===void 0||jt.parseCookies(Nt)),Nt.readyState===4&&(Nt.status===200||Nt.status===1223?this.onLoad():this.setTimeoutFn(()=>{this.onError(typeof Nt.status=="number"?Nt.status:0)},0))},Nt.send(this.data)}catch(jt){this.setTimeoutFn(()=>{this.onError(jt)},0);return}typeof document<"u"&&(this.index=Request.requestsCount++,Request.requests[this.index]=this)}onError(Pt){this.emitReserved("error",Pt,this.xhr),this.cleanup(!0)}cleanup(Pt){if(!(typeof this.xhr>"u"||this.xhr===null)){if(this.xhr.onreadystatechange=empty$1,Pt)try{this.xhr.abort()}catch{}typeof document<"u"&&delete Request.requests[this.index],this.xhr=null}}onLoad(){const Pt=this.xhr.responseText;Pt!==null&&(this.emitReserved("data",Pt),this.emitReserved("success"),this.cleanup())}abort(){this.cleanup()}}Request.requestsCount=0;Request.requests={};if(typeof document<"u"){if(typeof attachEvent=="function")attachEvent("onunload",unloadHandler);else if(typeof addEventListener=="function"){const _e="onpagehide"in globalThisShim?"pagehide":"unload";addEventListener(_e,unloadHandler,!1)}}function unloadHandler(){for(let _e in Request.requests)Request.requests.hasOwnProperty(_e)&&Request.requests[_e].abort()}const nextTick=(()=>typeof Promise=="function"&&typeof Promise.resolve=="function"?Pt=>Promise.resolve().then(Pt):(Pt,Dt)=>Dt(Pt,0))(),WebSocket=globalThisShim.WebSocket||globalThisShim.MozWebSocket,usingBrowserWebSocket=!0,defaultBinaryType="arraybuffer",isReactNative=typeof navigator<"u"&&typeof navigator.product=="string"&&navigator.product.toLowerCase()==="reactnative";class WS extends Transport{constructor(Pt){super(Pt),this.supportsBinary=!Pt.forceBase64}get name(){return"websocket"}doOpen(){if(!this.check())return;const Pt=this.uri(),Dt=this.opts.protocols,Nt=isReactNative?{}:pick(this.opts,"agent","perMessageDeflate","pfx","key","passphrase","cert","ca","ciphers","rejectUnauthorized","localAddress","protocolVersion","origin","maxPayload","family","checkServerIdentity");this.opts.extraHeaders&&(Nt.headers=this.opts.extraHeaders);try{this.ws=usingBrowserWebSocket&&!isReactNative?Dt?new WebSocket(Pt,Dt):new WebSocket(Pt):new WebSocket(Pt,Dt,Nt)}catch(jt){return this.emitReserved("error",jt)}this.ws.binaryType=this.socket.binaryType,this.addEventListeners()}addEventListeners(){this.ws.onopen=()=>{this.opts.autoUnref&&this.ws._socket.unref(),this.onOpen()},this.ws.onclose=Pt=>this.onClose({description:"websocket connection closed",context:Pt}),this.ws.onmessage=Pt=>this.onData(Pt.data),this.ws.onerror=Pt=>this.onError("websocket error",Pt)}write(Pt){this.writable=!1;for(let Dt=0;Dt{const Gt={};try{usingBrowserWebSocket&&this.ws.send(Ut)}catch{}jt&&nextTick(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){typeof this.ws<"u"&&(this.ws.close(),this.ws=null)}uri(){const Pt=this.opts.secure?"wss":"ws",Dt=this.query||{};return this.opts.timestampRequests&&(Dt[this.opts.timestampParam]=yeast()),this.supportsBinary||(Dt.b64=1),this.createUri(Pt,Dt)}check(){return!!WebSocket}}class WT extends Transport{get name(){return"webtransport"}doOpen(){typeof WebTransport=="function"&&(this.transport=new WebTransport(this.createUri("https"),this.opts.transportOptions[this.name]),this.transport.closed.then(()=>{this.onClose()}).catch(Pt=>{this.onError("webtransport error",Pt)}),this.transport.ready.then(()=>{this.transport.createBidirectionalStream().then(Pt=>{const Dt=createPacketDecoderStream(Number.MAX_SAFE_INTEGER,this.socket.binaryType),Nt=Pt.readable.pipeThrough(Dt).getReader(),jt=createPacketEncoderStream();jt.readable.pipeTo(Pt.writable),this.writer=jt.writable.getWriter();const Ut=()=>{Nt.read().then(({done:Wt,value:qt})=>{Wt||(this.onPacket(qt),Ut())}).catch(Wt=>{})};Ut();const Gt={type:"open"};this.query.sid&&(Gt.data=`{"sid":"${this.query.sid}"}`),this.writer.write(Gt).then(()=>this.onOpen())})}))}write(Pt){this.writable=!1;for(let Dt=0;Dt{jt&&nextTick(()=>{this.writable=!0,this.emitReserved("drain")},this.setTimeoutFn)})}}doClose(){var Pt;(Pt=this.transport)===null||Pt===void 0||Pt.close()}}const transports$2={websocket:WS,webtransport:WT,polling:Polling},re=/^(?:(?![^:@\/?#]+:[^:@\/]*@)(http|https|ws|wss):\/\/)?((?:(([^:@\/?#]*)(?::([^:@\/?#]*))?)?@)?((?:[a-f0-9]{0,4}:){2,7}[a-f0-9]{0,4}|[^:\/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#\/]*\.[^?#\/.]+(?:[?#]|$)))*\/?)?([^?#\/]*))(?:\?([^#]*))?(?:#(.*))?)/,parts=["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"];function parse$3(_e){if(_e.length>2e3)throw"URI too long";const Pt=_e,Dt=_e.indexOf("["),Nt=_e.indexOf("]");Dt!=-1&&Nt!=-1&&(_e=_e.substring(0,Dt)+_e.substring(Dt,Nt).replace(/:/g,";")+_e.substring(Nt,_e.length));let jt=re.exec(_e||""),Ut={},Gt=14;for(;Gt--;)Ut[parts[Gt]]=jt[Gt]||"";return Dt!=-1&&Nt!=-1&&(Ut.source=Pt,Ut.host=Ut.host.substring(1,Ut.host.length-1).replace(/;/g,":"),Ut.authority=Ut.authority.replace("[","").replace("]","").replace(/;/g,":"),Ut.ipv6uri=!0),Ut.pathNames=pathNames(Ut,Ut.path),Ut.queryKey=queryKey(Ut,Ut.query),Ut}function pathNames(_e,Pt){const Dt=/\/{2,9}/g,Nt=Pt.replace(Dt,"/").split("/");return(Pt.slice(0,1)=="/"||Pt.length===0)&&Nt.splice(0,1),Pt.slice(-1)=="/"&&Nt.splice(Nt.length-1,1),Nt}function queryKey(_e,Pt){const Dt={};return Pt.replace(/(?:^|&)([^&=]*)=?([^&]*)/g,function(Nt,jt,Ut){jt&&(Dt[jt]=Ut)}),Dt}let Socket$1=class Gm extends Emitter{constructor(Pt,Dt={}){super(),this.binaryType=defaultBinaryType,this.writeBuffer=[],Pt&&typeof Pt=="object"&&(Dt=Pt,Pt=null),Pt?(Pt=parse$3(Pt),Dt.hostname=Pt.host,Dt.secure=Pt.protocol==="https"||Pt.protocol==="wss",Dt.port=Pt.port,Pt.query&&(Dt.query=Pt.query)):Dt.host&&(Dt.hostname=parse$3(Dt.host).host),installTimerFunctions(this,Dt),this.secure=Dt.secure!=null?Dt.secure:typeof location<"u"&&location.protocol==="https:",Dt.hostname&&!Dt.port&&(Dt.port=this.secure?"443":"80"),this.hostname=Dt.hostname||(typeof location<"u"?location.hostname:"localhost"),this.port=Dt.port||(typeof location<"u"&&location.port?location.port:this.secure?"443":"80"),this.transports=Dt.transports||["polling","websocket","webtransport"],this.writeBuffer=[],this.prevBufferLen=0,this.opts=Object.assign({path:"/engine.io",agent:!1,withCredentials:!1,upgrade:!0,timestampParam:"t",rememberUpgrade:!1,addTrailingSlash:!0,rejectUnauthorized:!0,perMessageDeflate:{threshold:1024},transportOptions:{},closeOnBeforeunload:!1},Dt),this.opts.path=this.opts.path.replace(/\/$/,"")+(this.opts.addTrailingSlash?"/":""),typeof this.opts.query=="string"&&(this.opts.query=decode$1(this.opts.query)),this.id=null,this.upgrades=null,this.pingInterval=null,this.pingTimeout=null,this.pingTimeoutTimer=null,typeof addEventListener=="function"&&(this.opts.closeOnBeforeunload&&(this.beforeunloadEventListener=()=>{this.transport&&(this.transport.removeAllListeners(),this.transport.close())},addEventListener("beforeunload",this.beforeunloadEventListener,!1)),this.hostname!=="localhost"&&(this.offlineEventListener=()=>{this.onClose("transport close",{description:"network connection lost"})},addEventListener("offline",this.offlineEventListener,!1))),this.open()}createTransport(Pt){const Dt=Object.assign({},this.opts.query);Dt.EIO=protocol$1,Dt.transport=Pt,this.id&&(Dt.sid=this.id);const Nt=Object.assign({},this.opts,{query:Dt,socket:this,hostname:this.hostname,secure:this.secure,port:this.port},this.opts.transportOptions[Pt]);return new transports$2[Pt](Nt)}open(){let Pt;if(this.opts.rememberUpgrade&&Gm.priorWebsocketSuccess&&this.transports.indexOf("websocket")!==-1)Pt="websocket";else if(this.transports.length===0){this.setTimeoutFn(()=>{this.emitReserved("error","No transports available")},0);return}else Pt=this.transports[0];this.readyState="opening";try{Pt=this.createTransport(Pt)}catch{this.transports.shift(),this.open();return}Pt.open(),this.setTransport(Pt)}setTransport(Pt){this.transport&&this.transport.removeAllListeners(),this.transport=Pt,Pt.on("drain",this.onDrain.bind(this)).on("packet",this.onPacket.bind(this)).on("error",this.onError.bind(this)).on("close",Dt=>this.onClose("transport close",Dt))}probe(Pt){let Dt=this.createTransport(Pt),Nt=!1;Gm.priorWebsocketSuccess=!1;const jt=()=>{Nt||(Dt.send([{type:"ping",data:"probe"}]),Dt.once("packet",Zt=>{if(!Nt)if(Zt.type==="pong"&&Zt.data==="probe"){if(this.upgrading=!0,this.emitReserved("upgrading",Dt),!Dt)return;Gm.priorWebsocketSuccess=Dt.name==="websocket",this.transport.pause(()=>{Nt||this.readyState!=="closed"&&(Xt(),this.setTransport(Dt),Dt.send([{type:"upgrade"}]),this.emitReserved("upgrade",Dt),Dt=null,this.upgrading=!1,this.flush())})}else{const Qt=new Error("probe error");Qt.transport=Dt.name,this.emitReserved("upgradeError",Qt)}}))};function Ut(){Nt||(Nt=!0,Xt(),Dt.close(),Dt=null)}const Gt=Zt=>{const Qt=new Error("probe error: "+Zt);Qt.transport=Dt.name,Ut(),this.emitReserved("upgradeError",Qt)};function Wt(){Gt("transport closed")}function qt(){Gt("socket closed")}function Yt(Zt){Dt&&Zt.name!==Dt.name&&Ut()}const Xt=()=>{Dt.removeListener("open",jt),Dt.removeListener("error",Gt),Dt.removeListener("close",Wt),this.off("close",qt),this.off("upgrading",Yt)};Dt.once("open",jt),Dt.once("error",Gt),Dt.once("close",Wt),this.once("close",qt),this.once("upgrading",Yt),this.upgrades.indexOf("webtransport")!==-1&&Pt!=="webtransport"?this.setTimeoutFn(()=>{Nt||Dt.open()},200):Dt.open()}onOpen(){if(this.readyState="open",Gm.priorWebsocketSuccess=this.transport.name==="websocket",this.emitReserved("open"),this.flush(),this.readyState==="open"&&this.opts.upgrade){let Pt=0;const Dt=this.upgrades.length;for(;Pt{this.onClose("ping timeout")},this.pingInterval+this.pingTimeout),this.opts.autoUnref&&this.pingTimeoutTimer.unref()}onDrain(){this.writeBuffer.splice(0,this.prevBufferLen),this.prevBufferLen=0,this.writeBuffer.length===0?this.emitReserved("drain"):this.flush()}flush(){if(this.readyState!=="closed"&&this.transport.writable&&!this.upgrading&&this.writeBuffer.length){const Pt=this.getWritablePackets();this.transport.send(Pt),this.prevBufferLen=Pt.length,this.emitReserved("flush")}}getWritablePackets(){if(!(this.maxPayload&&this.transport.name==="polling"&&this.writeBuffer.length>1))return this.writeBuffer;let Dt=1;for(let Nt=0;Nt0&&Dt>this.maxPayload)return this.writeBuffer.slice(0,Nt);Dt+=2}return this.writeBuffer}write(Pt,Dt,Nt){return this.sendPacket("message",Pt,Dt,Nt),this}send(Pt,Dt,Nt){return this.sendPacket("message",Pt,Dt,Nt),this}sendPacket(Pt,Dt,Nt,jt){if(typeof Dt=="function"&&(jt=Dt,Dt=void 0),typeof Nt=="function"&&(jt=Nt,Nt=null),this.readyState==="closing"||this.readyState==="closed")return;Nt=Nt||{},Nt.compress=Nt.compress!==!1;const Ut={type:Pt,data:Dt,options:Nt};this.emitReserved("packetCreate",Ut),this.writeBuffer.push(Ut),jt&&this.once("flush",jt),this.flush()}close(){const Pt=()=>{this.onClose("forced close"),this.transport.close()},Dt=()=>{this.off("upgrade",Dt),this.off("upgradeError",Dt),Pt()},Nt=()=>{this.once("upgrade",Dt),this.once("upgradeError",Dt)};return(this.readyState==="opening"||this.readyState==="open")&&(this.readyState="closing",this.writeBuffer.length?this.once("drain",()=>{this.upgrading?Nt():Pt()}):this.upgrading?Nt():Pt()),this}onError(Pt){Gm.priorWebsocketSuccess=!1,this.emitReserved("error",Pt),this.onClose("transport error",Pt)}onClose(Pt,Dt){(this.readyState==="opening"||this.readyState==="open"||this.readyState==="closing")&&(this.clearTimeoutFn(this.pingTimeoutTimer),this.transport.removeAllListeners("close"),this.transport.close(),this.transport.removeAllListeners(),typeof removeEventListener=="function"&&(removeEventListener("beforeunload",this.beforeunloadEventListener,!1),removeEventListener("offline",this.offlineEventListener,!1)),this.readyState="closed",this.id=null,this.emitReserved("close",Pt,Dt),this.writeBuffer=[],this.prevBufferLen=0)}filterUpgrades(Pt){const Dt=[];let Nt=0;const jt=Pt.length;for(;Nttypeof ArrayBuffer.isView=="function"?ArrayBuffer.isView(_e):_e.buffer instanceof ArrayBuffer,toString=Object.prototype.toString,withNativeBlob=typeof Blob=="function"||typeof Blob<"u"&&toString.call(Blob)==="[object BlobConstructor]",withNativeFile=typeof File=="function"||typeof File<"u"&&toString.call(File)==="[object FileConstructor]";function isBinary(_e){return withNativeArrayBuffer&&(_e instanceof ArrayBuffer||isView(_e))||withNativeBlob&&_e instanceof Blob||withNativeFile&&_e instanceof File}function hasBinary(_e,Pt){if(!_e||typeof _e!="object")return!1;if(Array.isArray(_e)){for(let Dt=0,Nt=_e.length;Dt=0&&_e.num{delete this.acks[Pt];for(let Gt=0;Gt{this.io.clearTimeoutFn(Ut),Dt.apply(this,[null,...Gt])}}emitWithAck(Pt,...Dt){const Nt=this.flags.timeout!==void 0||this._opts.ackTimeout!==void 0;return new Promise((jt,Ut)=>{Dt.push((Gt,Wt)=>Nt?Gt?Ut(Gt):jt(Wt):jt(Gt)),this.emit(Pt,...Dt)})}_addToQueue(Pt){let Dt;typeof Pt[Pt.length-1]=="function"&&(Dt=Pt.pop());const Nt={id:this._queueSeq++,tryCount:0,pending:!1,args:Pt,flags:Object.assign({fromQueue:!0},this.flags)};Pt.push((jt,...Ut)=>Nt!==this._queue[0]?void 0:(jt!==null?Nt.tryCount>this._opts.retries&&(this._queue.shift(),Dt&&Dt(jt)):(this._queue.shift(),Dt&&Dt(null,...Ut)),Nt.pending=!1,this._drainQueue())),this._queue.push(Nt),this._drainQueue()}_drainQueue(Pt=!1){if(!this.connected||this._queue.length===0)return;const Dt=this._queue[0];Dt.pending&&!Pt||(Dt.pending=!0,Dt.tryCount++,this.flags=Dt.flags,this.emit.apply(this,Dt.args))}packet(Pt){Pt.nsp=this.nsp,this.io._packet(Pt)}onopen(){typeof this.auth=="function"?this.auth(Pt=>{this._sendConnectPacket(Pt)}):this._sendConnectPacket(this.auth)}_sendConnectPacket(Pt){this.packet({type:PacketType.CONNECT,data:this._pid?Object.assign({pid:this._pid,offset:this._lastOffset},Pt):Pt})}onerror(Pt){this.connected||this.emitReserved("connect_error",Pt)}onclose(Pt,Dt){this.connected=!1,delete this.id,this.emitReserved("disconnect",Pt,Dt)}onpacket(Pt){if(Pt.nsp===this.nsp)switch(Pt.type){case PacketType.CONNECT:Pt.data&&Pt.data.sid?this.onconnect(Pt.data.sid,Pt.data.pid):this.emitReserved("connect_error",new Error("It seems you are trying to reach a Socket.IO server in v2.x with a v3.x client, but they are not compatible (more information here: https://socket.io/docs/v3/migrating-from-2-x-to-3-0/)"));break;case PacketType.EVENT:case PacketType.BINARY_EVENT:this.onevent(Pt);break;case PacketType.ACK:case PacketType.BINARY_ACK:this.onack(Pt);break;case PacketType.DISCONNECT:this.ondisconnect();break;case PacketType.CONNECT_ERROR:this.destroy();const Nt=new Error(Pt.data.message);Nt.data=Pt.data.data,this.emitReserved("connect_error",Nt);break}}onevent(Pt){const Dt=Pt.data||[];Pt.id!=null&&Dt.push(this.ack(Pt.id)),this.connected?this.emitEvent(Dt):this.receiveBuffer.push(Object.freeze(Dt))}emitEvent(Pt){if(this._anyListeners&&this._anyListeners.length){const Dt=this._anyListeners.slice();for(const Nt of Dt)Nt.apply(this,Pt)}super.emit.apply(this,Pt),this._pid&&Pt.length&&typeof Pt[Pt.length-1]=="string"&&(this._lastOffset=Pt[Pt.length-1])}ack(Pt){const Dt=this;let Nt=!1;return function(...jt){Nt||(Nt=!0,Dt.packet({type:PacketType.ACK,id:Pt,data:jt}))}}onack(Pt){const Dt=this.acks[Pt.id];typeof Dt=="function"&&(Dt.apply(this,Pt.data),delete this.acks[Pt.id])}onconnect(Pt,Dt){this.id=Pt,this.recovered=Dt&&this._pid===Dt,this._pid=Dt,this.connected=!0,this.emitBuffered(),this.emitReserved("connect"),this._drainQueue(!0)}emitBuffered(){this.receiveBuffer.forEach(Pt=>this.emitEvent(Pt)),this.receiveBuffer=[],this.sendBuffer.forEach(Pt=>{this.notifyOutgoingListeners(Pt),this.packet(Pt)}),this.sendBuffer=[]}ondisconnect(){this.destroy(),this.onclose("io server disconnect")}destroy(){this.subs&&(this.subs.forEach(Pt=>Pt()),this.subs=void 0),this.io._destroy(this)}disconnect(){return this.connected&&this.packet({type:PacketType.DISCONNECT}),this.destroy(),this.connected&&this.onclose("io client disconnect"),this}close(){return this.disconnect()}compress(Pt){return this.flags.compress=Pt,this}get volatile(){return this.flags.volatile=!0,this}timeout(Pt){return this.flags.timeout=Pt,this}onAny(Pt){return this._anyListeners=this._anyListeners||[],this._anyListeners.push(Pt),this}prependAny(Pt){return this._anyListeners=this._anyListeners||[],this._anyListeners.unshift(Pt),this}offAny(Pt){if(!this._anyListeners)return this;if(Pt){const Dt=this._anyListeners;for(let Nt=0;Nt0&&_e.jitter<=1?_e.jitter:0,this.attempts=0}Backoff.prototype.duration=function(){var _e=this.ms*Math.pow(this.factor,this.attempts++);if(this.jitter){var Pt=Math.random(),Dt=Math.floor(Pt*this.jitter*_e);_e=Math.floor(Pt*10)&1?_e+Dt:_e-Dt}return Math.min(_e,this.max)|0};Backoff.prototype.reset=function(){this.attempts=0};Backoff.prototype.setMin=function(_e){this.ms=_e};Backoff.prototype.setMax=function(_e){this.max=_e};Backoff.prototype.setJitter=function(_e){this.jitter=_e};class Manager extends Emitter{constructor(Pt,Dt){var Nt;super(),this.nsps={},this.subs=[],Pt&&typeof Pt=="object"&&(Dt=Pt,Pt=void 0),Dt=Dt||{},Dt.path=Dt.path||"/socket.io",this.opts=Dt,installTimerFunctions(this,Dt),this.reconnection(Dt.reconnection!==!1),this.reconnectionAttempts(Dt.reconnectionAttempts||1/0),this.reconnectionDelay(Dt.reconnectionDelay||1e3),this.reconnectionDelayMax(Dt.reconnectionDelayMax||5e3),this.randomizationFactor((Nt=Dt.randomizationFactor)!==null&&Nt!==void 0?Nt:.5),this.backoff=new Backoff({min:this.reconnectionDelay(),max:this.reconnectionDelayMax(),jitter:this.randomizationFactor()}),this.timeout(Dt.timeout==null?2e4:Dt.timeout),this._readyState="closed",this.uri=Pt;const jt=Dt.parser||parser;this.encoder=new jt.Encoder,this.decoder=new jt.Decoder,this._autoConnect=Dt.autoConnect!==!1,this._autoConnect&&this.open()}reconnection(Pt){return arguments.length?(this._reconnection=!!Pt,this):this._reconnection}reconnectionAttempts(Pt){return Pt===void 0?this._reconnectionAttempts:(this._reconnectionAttempts=Pt,this)}reconnectionDelay(Pt){var Dt;return Pt===void 0?this._reconnectionDelay:(this._reconnectionDelay=Pt,(Dt=this.backoff)===null||Dt===void 0||Dt.setMin(Pt),this)}randomizationFactor(Pt){var Dt;return Pt===void 0?this._randomizationFactor:(this._randomizationFactor=Pt,(Dt=this.backoff)===null||Dt===void 0||Dt.setJitter(Pt),this)}reconnectionDelayMax(Pt){var Dt;return Pt===void 0?this._reconnectionDelayMax:(this._reconnectionDelayMax=Pt,(Dt=this.backoff)===null||Dt===void 0||Dt.setMax(Pt),this)}timeout(Pt){return arguments.length?(this._timeout=Pt,this):this._timeout}maybeReconnectOnOpen(){!this._reconnecting&&this._reconnection&&this.backoff.attempts===0&&this.reconnect()}open(Pt){if(~this._readyState.indexOf("open"))return this;this.engine=new Socket$1(this.uri,this.opts);const Dt=this.engine,Nt=this;this._readyState="opening",this.skipReconnect=!1;const jt=on(Dt,"open",function(){Nt.onopen(),Pt&&Pt()}),Ut=Wt=>{this.cleanup(),this._readyState="closed",this.emitReserved("error",Wt),Pt?Pt(Wt):this.maybeReconnectOnOpen()},Gt=on(Dt,"error",Ut);if(this._timeout!==!1){const Wt=this._timeout,qt=this.setTimeoutFn(()=>{jt(),Ut(new Error("timeout")),Dt.close()},Wt);this.opts.autoUnref&&qt.unref(),this.subs.push(()=>{this.clearTimeoutFn(qt)})}return this.subs.push(jt),this.subs.push(Gt),this}connect(Pt){return this.open(Pt)}onopen(){this.cleanup(),this._readyState="open",this.emitReserved("open");const Pt=this.engine;this.subs.push(on(Pt,"ping",this.onping.bind(this)),on(Pt,"data",this.ondata.bind(this)),on(Pt,"error",this.onerror.bind(this)),on(Pt,"close",this.onclose.bind(this)),on(this.decoder,"decoded",this.ondecoded.bind(this)))}onping(){this.emitReserved("ping")}ondata(Pt){try{this.decoder.add(Pt)}catch(Dt){this.onclose("parse error",Dt)}}ondecoded(Pt){nextTick(()=>{this.emitReserved("packet",Pt)},this.setTimeoutFn)}onerror(Pt){this.emitReserved("error",Pt)}socket(Pt,Dt){let Nt=this.nsps[Pt];return Nt?this._autoConnect&&!Nt.active&&Nt.connect():(Nt=new Socket(this,Pt,Dt),this.nsps[Pt]=Nt),Nt}_destroy(Pt){const Dt=Object.keys(this.nsps);for(const Nt of Dt)if(this.nsps[Nt].active)return;this._close()}_packet(Pt){const Dt=this.encoder.encode(Pt);for(let Nt=0;NtPt()),this.subs.length=0,this.decoder.destroy()}_close(){this.skipReconnect=!0,this._reconnecting=!1,this.onclose("forced close"),this.engine&&this.engine.close()}disconnect(){return this._close()}onclose(Pt,Dt){this.cleanup(),this.backoff.reset(),this._readyState="closed",this.emitReserved("close",Pt,Dt),this._reconnection&&!this.skipReconnect&&this.reconnect()}reconnect(){if(this._reconnecting||this.skipReconnect)return this;const Pt=this;if(this.backoff.attempts>=this._reconnectionAttempts)this.backoff.reset(),this.emitReserved("reconnect_failed"),this._reconnecting=!1;else{const Dt=this.backoff.duration();this._reconnecting=!0;const Nt=this.setTimeoutFn(()=>{Pt.skipReconnect||(this.emitReserved("reconnect_attempt",Pt.backoff.attempts),!Pt.skipReconnect&&Pt.open(jt=>{jt?(Pt._reconnecting=!1,Pt.reconnect(),this.emitReserved("reconnect_error",jt)):Pt.onreconnect()}))},Dt);this.opts.autoUnref&&Nt.unref(),this.subs.push(()=>{this.clearTimeoutFn(Nt)})}}onreconnect(){const Pt=this.backoff.attempts;this._reconnecting=!1,this.backoff.reset(),this.emitReserved("reconnect",Pt)}}const cache={};function lookup(_e,Pt){typeof _e=="object"&&(Pt=_e,_e=void 0),Pt=Pt||{};const Dt=url$1(_e,Pt.path||"/socket.io"),Nt=Dt.source,jt=Dt.id,Ut=Dt.path,Gt=cache[jt]&&Ut in cache[jt].nsps,Wt=Pt.forceNew||Pt["force new connection"]||Pt.multiplex===!1||Gt;let qt;return Wt?qt=new Manager(Nt,Pt):(cache[jt]||(cache[jt]=new Manager(Nt,Pt)),qt=cache[jt]),Dt.query&&!Pt.query&&(Pt.query=Dt.queryKey),qt.socket(Dt.path,Pt)}Object.assign(lookup,{Manager,Socket,io:lookup,connect:lookup});class SocketIOTransport extends EventEmitter$2{constructor(Dt){super();Lm(this,"client");Lm(this,"socket");this.options=Dt,this.socket=lookup(Dt.url),this.client=new dist$2.JSONRPCClient(async Nt=>{const jt=Ut=>{Ut.id===Nt.id&&(this.socket.off("response",jt),this.client.receive(Ut))};this.socket.emit("request",Nt),this.socket.on("response",jt)}),this.socket.on("request",({method:Nt,params:jt})=>{this.emit(Nt,jt)})}async connect(){this.socket.connect()}async disconnect(){this.socket.disconnect()}async call(Dt,Nt){return await this.client.request(Dt,Nt)}}const transports$1={native:{name:"Internal",constructor:NativeTransport},socketio:{name:"socket.io",constructor:SocketIOTransport},ipc:{name:"Web Worker",constructor:IPCTransport}};function getTransport(_e){return transports$1[_e].constructor}const defaultTransport=lodashExports$1.first(lodashExports$1.keys(transports$1));var lodash={exports:{}};/** * @license * Lodash * Copyright OpenJS Foundation and other contributors diff --git a/assets/index-d2179bce.css b/assets/index-a4ef8caa.css similarity index 75% rename from assets/index-d2179bce.css rename to assets/index-a4ef8caa.css index 81b71c28..2aa42d40 100644 --- a/assets/index-d2179bce.css +++ b/assets/index-a4ef8caa.css @@ -1,4 +1,4 @@ -@import"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&family=Roboto+Mono:wght@400;500;600;700&display=swap";:root{--sigma-background-color:#fff;--sigma-controls-background-color:#fff;--sigma-controls-background-color-hover:rgba(0,0,0,.2);--sigma-controls-border-color:rgba(0,0,0,.2);--sigma-controls-color:#000;--sigma-controls-zindex:100;--sigma-controls-margin:5px;--sigma-controls-size:30px}div.react-sigma{height:100%;width:100%;position:relative;background:var(--sigma-background-color)}div.sigma-container{height:100%;width:100%}.react-sigma-controls{position:absolute;z-index:var(--sigma-controls-zindex);border:2px solid var(--sigma-controls-border-color);border-radius:4px;color:var(--sigma-controls-color);background-color:var(--sigma-controls-background-color)}.react-sigma-controls.bottom-right{bottom:var(--sigma-controls-margin);right:var(--sigma-controls-margin)}.react-sigma-controls.bottom-left{bottom:var(--sigma-controls-margin);left:var(--sigma-controls-margin)}.react-sigma-controls.top-right{top:var(--sigma-controls-margin);right:var(--sigma-controls-margin)}.react-sigma-controls.top-left{top:var(--sigma-controls-margin);left:var(--sigma-controls-margin)}.react-sigma-controls:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.react-sigma-controls:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.react-sigma-control{width:var(--sigma-controls-size);height:var(--sigma-controls-size);line-height:var(--sigma-controls-size);background-color:var(--sigma-controls-background-color);border-bottom:1px solid var(--sigma-controls-border-color)}.react-sigma-control:last-child{border-bottom:none}.react-sigma-control>*{box-sizing:border-box}.react-sigma-control>button{display:block;border:none;margin:0;padding:0;width:var(--sigma-controls-size);height:var(--sigma-controls-size);line-height:var(--sigma-controls-size);background-position:center;background-size:50%;background-repeat:no-repeat;background-color:var(--sigma-controls-background-color);clip:rect(0,0,0,0)}.react-sigma-control>button:hover{background-color:var(--sigma-controls-background-color-hover)}.react-sigma-search{background-color:var(--sigma-controls-background-color)}.react-sigma-search label{visibility:hidden}.react-sigma-search input{color:var(--sigma-controls-color);background-color:var(--sigma-controls-background-color);font-size:1em;width:100%;margin:0;border:none;padding:var(--sigma-controls-margin);box-sizing:border-box}html,body,#root{background-color:#0a0c10!important;width:100%;height:100%;-webkit-user-select:none;user-select:none;overflow:hidden;font-family:Inter,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Arial,sans-serif!important}body{overflow:hidden;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{-webkit-tap-highlight-color:rgba(0,0,0,0)}code{font-family:Roboto Mono,Consolas,Courier New,Courier,monospace;transform:translateY(-.75px);display:block}@property --scrollbar-size{syntax: ""; inherits: true; initial-value: 2px;}@media (pointer: fine){*{scrollbar-color:inherit transparent;scrollbar-width:var(--scrollbar-size);transition:--scrollbar-size .3s linear}*::-webkit-scrollbar{width:var(--scrollbar-size);height:14px;background-color:transparent}.MuiPaper-root:hover{--scrollbar-size: 10px}*::-webkit-scrollbar-track{background:inherit}*::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,currentColor 20%,transparent);opacity:.5;height:14px;min-height:64px;width:var(--scrollbar-size);padding:2px;border:2px solid transparent;border-left:6px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{border-left:0px solid transparent;background-color:color-mix(in srgb,currentColor 25%,transparent)}*::-webkit-scrollbar-thumb:active{border-left:0px solid transparent;background-color:color-mix(in srgb,currentColor 30%,transparent)}}/*! +@import"https://fonts.googleapis.com/css2?family=Inter:wght@100;200;300;400;500;600;700;800;900&family=Roboto+Mono:wght@400;500;600;700&display=swap";@import"https://fonts.googleapis.com/css2?family=Inter&family=Inter+Tight:ital,wght@0,100..900;1,100..900&display=swap";:root{--sigma-background-color:#fff;--sigma-controls-background-color:#fff;--sigma-controls-background-color-hover:rgba(0,0,0,.2);--sigma-controls-border-color:rgba(0,0,0,.2);--sigma-controls-color:#000;--sigma-controls-zindex:100;--sigma-controls-margin:5px;--sigma-controls-size:30px}div.react-sigma{height:100%;width:100%;position:relative;background:var(--sigma-background-color)}div.sigma-container{height:100%;width:100%}.react-sigma-controls{position:absolute;z-index:var(--sigma-controls-zindex);border:2px solid var(--sigma-controls-border-color);border-radius:4px;color:var(--sigma-controls-color);background-color:var(--sigma-controls-background-color)}.react-sigma-controls.bottom-right{bottom:var(--sigma-controls-margin);right:var(--sigma-controls-margin)}.react-sigma-controls.bottom-left{bottom:var(--sigma-controls-margin);left:var(--sigma-controls-margin)}.react-sigma-controls.top-right{top:var(--sigma-controls-margin);right:var(--sigma-controls-margin)}.react-sigma-controls.top-left{top:var(--sigma-controls-margin);left:var(--sigma-controls-margin)}.react-sigma-controls:first-child{border-top-left-radius:2px;border-top-right-radius:2px}.react-sigma-controls:last-child{border-bottom-left-radius:2px;border-bottom-right-radius:2px}.react-sigma-control{width:var(--sigma-controls-size);height:var(--sigma-controls-size);line-height:var(--sigma-controls-size);background-color:var(--sigma-controls-background-color);border-bottom:1px solid var(--sigma-controls-border-color)}.react-sigma-control:last-child{border-bottom:none}.react-sigma-control>*{box-sizing:border-box}.react-sigma-control>button{display:block;border:none;margin:0;padding:0;width:var(--sigma-controls-size);height:var(--sigma-controls-size);line-height:var(--sigma-controls-size);background-position:center;background-size:50%;background-repeat:no-repeat;background-color:var(--sigma-controls-background-color);clip:rect(0,0,0,0)}.react-sigma-control>button:hover{background-color:var(--sigma-controls-background-color-hover)}.react-sigma-search{background-color:var(--sigma-controls-background-color)}.react-sigma-search label{visibility:hidden}.react-sigma-search input{color:var(--sigma-controls-color);background-color:var(--sigma-controls-background-color);font-size:1em;width:100%;margin:0;border:none;padding:var(--sigma-controls-margin);box-sizing:border-box}html,body,#root{background-color:#0a0c10!important;width:100%;height:100%;-webkit-user-select:none;user-select:none;overflow:hidden;font-family:Inter,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,Arial,sans-serif!important}body{overflow:hidden;margin:0;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{-webkit-tap-highlight-color:rgba(0,0,0,0)}code{font-family:Roboto Mono,Consolas,Courier New,Courier,monospace;transform:translateY(-.75px);display:block}@property --scrollbar-size{syntax: ""; inherits: true; initial-value: 2px;}@media (pointer: fine){*{scrollbar-color:inherit transparent;scrollbar-width:var(--scrollbar-size);transition:--scrollbar-size .3s linear}*::-webkit-scrollbar{width:var(--scrollbar-size);height:14px;background-color:transparent}.MuiPaper-root:hover{--scrollbar-size: 10px}*::-webkit-scrollbar-track{background:inherit}*::-webkit-scrollbar-thumb{background-color:color-mix(in srgb,currentColor 20%,transparent);opacity:.5;height:14px;min-height:64px;width:var(--scrollbar-size);padding:2px;border:2px solid transparent;border-left:6px solid transparent;background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{border-left:0px solid transparent;background-color:color-mix(in srgb,currentColor 25%,transparent)}*::-webkit-scrollbar-thumb:active{border-left:0px solid transparent;background-color:color-mix(in srgb,currentColor 30%,transparent)}}/*! * OverlayScrollbars * Version: 2.5.0 * diff --git a/assets/palette-reference.workspace-9d5bc3e5.meta b/assets/palette-reference.workspace-20c9fa4f.meta similarity index 98% rename from assets/palette-reference.workspace-9d5bc3e5.meta rename to assets/palette-reference.workspace-20c9fa4f.meta index 23502153..c56feea3 100644 --- a/assets/palette-reference.workspace-9d5bc3e5.meta +++ b/assets/palette-reference.workspace-20c9fa4f.meta @@ -1 +1 @@ -{"id":"3oOL50lY7VAJxrEHdOGF2","name":"Palette Reference","description":"Quick demo of available color tokens.","author":"github:path-visualiser","screenshots":["data:image/jpeg;base64,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"],"size":141884,"lastModified":1714555025787} \ No newline at end of file +{"id":"3oOL50lY7VAJxrEHdOGF2","name":"Palette Reference","description":"Quick demo of available color tokens.","author":"github:ShortestPathLab","screenshots":["data:image/jpeg;base64,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"],"size":141884,"lastModified":1714555025787} \ No newline at end of file diff --git a/assets/palette-reference.workspace-76a89235.js b/assets/palette-reference.workspace-76a89235.js new file mode 100644 index 00000000..70264f05 --- /dev/null +++ b/assets/palette-reference.workspace-76a89235.js @@ -0,0 +1 @@ +const e=""+new URL("palette-reference.workspace-20c9fa4f.meta",import.meta.url).href;export{e as default}; diff --git a/assets/palette-reference.workspace-bd4901e3.js b/assets/palette-reference.workspace-bd4901e3.js deleted file mode 100644 index ceea46a7..00000000 --- a/assets/palette-reference.workspace-bd4901e3.js +++ /dev/null @@ -1 +0,0 @@ -const e=""+new URL("palette-reference.workspace-9d5bc3e5.meta",import.meta.url).href;export{e as default}; diff --git a/assets/parseTrace.worker-a1ab9f6c.js b/assets/parseTrace.worker-a1ab9f6c.js deleted file mode 100644 index 891fa009..00000000 --- a/assets/parseTrace.worker-a1ab9f6c.js +++ /dev/null @@ -1,27 +0,0 @@ -(function(){"use strict";var Ke=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},vt={exports:{}};/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */vt.exports,function(h,w){(function(){var f,P="4.17.21",O=200,C="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",R="Expected a function",k="Invalid `variable` option passed into `_.template`",Z="__lodash_hash_undefined__",N=500,j="__lodash_placeholder__",an=1,G=2,z=4,pn=1,ln=2,L=1,_n=2,W=4,A=8,D=16,Y=32,J=64,nn=128,sn=256,Ur=512,Ps=30,Ws="...",Fs=800,Ms=16,qu=1,Bs=2,Us=3,de=1/0,oe=9007199254740991,Ds=17976931348623157e292,mt=0/0,Yn=4294967295,qs=Yn-1,$s=Yn>>>1,Ns=[["ary",nn],["bind",L],["bindKey",_n],["curry",A],["curryRight",D],["flip",Ur],["partial",Y],["partialRight",J],["rearg",sn]],Ee="[object Arguments]",xt="[object Array]",Gs="[object AsyncFunction]",Xe="[object Boolean]",Je="[object Date]",Hs="[object DOMException]",yt="[object Error]",At="[object Function]",$u="[object GeneratorFunction]",Nn="[object Map]",Qe="[object Number]",zs="[object Null]",Vn="[object Object]",Nu="[object Promise]",Ks="[object Proxy]",Ve="[object RegExp]",Gn="[object Set]",ke="[object String]",St="[object Symbol]",Zs="[object Undefined]",je="[object WeakMap]",Ys="[object WeakSet]",nt="[object ArrayBuffer]",Ce="[object DataView]",Dr="[object Float32Array]",qr="[object Float64Array]",$r="[object Int8Array]",Nr="[object Int16Array]",Gr="[object Int32Array]",Hr="[object Uint8Array]",zr="[object Uint8ClampedArray]",Kr="[object Uint16Array]",Zr="[object Uint32Array]",Xs=/\b__p \+= '';/g,Js=/\b(__p \+=) '' \+/g,Qs=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Gu=/&(?:amp|lt|gt|quot|#39);/g,Hu=/[&<>"']/g,Vs=RegExp(Gu.source),ks=RegExp(Hu.source),js=/<%-([\s\S]+?)%>/g,nl=/<%([\s\S]+?)%>/g,zu=/<%=([\s\S]+?)%>/g,el=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,tl=/^\w*$/,rl=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Yr=/[\\^$.*+?()[\]{}|]/g,il=RegExp(Yr.source),Xr=/^\s+/,ul=/\s/,fl=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,ol=/\{\n\/\* \[wrapped with (.+)\] \*/,al=/,? & /,sl=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ll=/[()=,{}\[\]\/\s]/,cl=/\\(\\)?/g,hl=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Ku=/\w*$/,gl=/^[-+]0x[0-9a-f]+$/i,pl=/^0b[01]+$/i,_l=/^\[object .+?Constructor\]$/,vl=/^0o[0-7]+$/i,dl=/^(?:0|[1-9]\d*)$/,wl=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,bt=/($^)/,ml=/['\n\r\u2028\u2029\\]/g,It="\\ud800-\\udfff",xl="\\u0300-\\u036f",yl="\\ufe20-\\ufe2f",Al="\\u20d0-\\u20ff",Zu=xl+yl+Al,Yu="\\u2700-\\u27bf",Xu="a-z\\xdf-\\xf6\\xf8-\\xff",Sl="\\xac\\xb1\\xd7\\xf7",bl="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Il="\\u2000-\\u206f",Rl=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Ju="A-Z\\xc0-\\xd6\\xd8-\\xde",Qu="\\ufe0e\\ufe0f",Vu=Sl+bl+Il+Rl,Jr="['’]",Tl="["+It+"]",ku="["+Vu+"]",Rt="["+Zu+"]",ju="\\d+",Ol="["+Yu+"]",nf="["+Xu+"]",ef="[^"+It+Vu+ju+Yu+Xu+Ju+"]",Qr="\\ud83c[\\udffb-\\udfff]",El="(?:"+Rt+"|"+Qr+")",tf="[^"+It+"]",Vr="(?:\\ud83c[\\udde6-\\uddff]){2}",kr="[\\ud800-\\udbff][\\udc00-\\udfff]",Le="["+Ju+"]",rf="\\u200d",uf="(?:"+nf+"|"+ef+")",Cl="(?:"+Le+"|"+ef+")",ff="(?:"+Jr+"(?:d|ll|m|re|s|t|ve))?",of="(?:"+Jr+"(?:D|LL|M|RE|S|T|VE))?",af=El+"?",sf="["+Qu+"]?",Ll="(?:"+rf+"(?:"+[tf,Vr,kr].join("|")+")"+sf+af+")*",Pl="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Wl="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",lf=sf+af+Ll,Fl="(?:"+[Ol,Vr,kr].join("|")+")"+lf,Ml="(?:"+[tf+Rt+"?",Rt,Vr,kr,Tl].join("|")+")",Bl=RegExp(Jr,"g"),Ul=RegExp(Rt,"g"),jr=RegExp(Qr+"(?="+Qr+")|"+Ml+lf,"g"),Dl=RegExp([Le+"?"+nf+"+"+ff+"(?="+[ku,Le,"$"].join("|")+")",Cl+"+"+of+"(?="+[ku,Le+uf,"$"].join("|")+")",Le+"?"+uf+"+"+ff,Le+"+"+of,Wl,Pl,ju,Fl].join("|"),"g"),ql=RegExp("["+rf+It+Zu+Qu+"]"),$l=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Nl=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Gl=-1,en={};en[Dr]=en[qr]=en[$r]=en[Nr]=en[Gr]=en[Hr]=en[zr]=en[Kr]=en[Zr]=!0,en[Ee]=en[xt]=en[nt]=en[Xe]=en[Ce]=en[Je]=en[yt]=en[At]=en[Nn]=en[Qe]=en[Vn]=en[Ve]=en[Gn]=en[ke]=en[je]=!1;var V={};V[Ee]=V[xt]=V[nt]=V[Ce]=V[Xe]=V[Je]=V[Dr]=V[qr]=V[$r]=V[Nr]=V[Gr]=V[Nn]=V[Qe]=V[Vn]=V[Ve]=V[Gn]=V[ke]=V[St]=V[Hr]=V[zr]=V[Kr]=V[Zr]=!0,V[yt]=V[At]=V[je]=!1;var Hl={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},zl={"&":"&","<":"<",">":">",'"':""","'":"'"},Kl={"&":"&","<":"<",">":">",""":'"',"'":"'"},Zl={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Yl=parseFloat,Xl=parseInt,cf=typeof Ke=="object"&&Ke&&Ke.Object===Object&&Ke,Jl=typeof self=="object"&&self&&self.Object===Object&&self,vn=cf||Jl||Function("return this")(),ni=w&&!w.nodeType&&w,we=ni&&!0&&h&&!h.nodeType&&h,hf=we&&we.exports===ni,ei=hf&&cf.process,Wn=function(){try{var l=we&&we.require&&we.require("util").types;return l||ei&&ei.binding&&ei.binding("util")}catch{}}(),gf=Wn&&Wn.isArrayBuffer,pf=Wn&&Wn.isDate,_f=Wn&&Wn.isMap,vf=Wn&&Wn.isRegExp,df=Wn&&Wn.isSet,wf=Wn&&Wn.isTypedArray;function Tn(l,p,g){switch(g.length){case 0:return l.call(p);case 1:return l.call(p,g[0]);case 2:return l.call(p,g[0],g[1]);case 3:return l.call(p,g[0],g[1],g[2])}return l.apply(p,g)}function Ql(l,p,g,x){for(var T=-1,H=l==null?0:l.length;++T-1}function ti(l,p,g){for(var x=-1,T=l==null?0:l.length;++x-1;);return g}function Rf(l,p){for(var g=l.length;g--&&Pe(p,l[g],0)>-1;);return g}function uc(l,p){for(var g=l.length,x=0;g--;)l[g]===p&&++x;return x}var fc=fi(Hl),oc=fi(zl);function ac(l){return"\\"+Zl[l]}function sc(l,p){return l==null?f:l[p]}function We(l){return ql.test(l)}function lc(l){return $l.test(l)}function cc(l){for(var p,g=[];!(p=l.next()).done;)g.push(p.value);return g}function li(l){var p=-1,g=Array(l.size);return l.forEach(function(x,T){g[++p]=[T,x]}),g}function Tf(l,p){return function(g){return l(p(g))}}function le(l,p){for(var g=-1,x=l.length,T=0,H=[];++g-1}function kc(n,e){var t=this.__data__,r=zt(t,n);return r<0?(++this.size,t.push([n,e])):t[r][1]=e,this}kn.prototype.clear=Xc,kn.prototype.delete=Jc,kn.prototype.get=Qc,kn.prototype.has=Vc,kn.prototype.set=kc;function jn(n){var e=-1,t=n==null?0:n.length;for(this.clear();++e=e?n:e)),n}function Un(n,e,t,r,i,o){var a,s=e&an,c=e&G,_=e&z;if(t&&(a=i?t(n,r,i,o):t(n)),a!==f)return a;if(!rn(n))return n;var v=E(n);if(v){if(a=tg(n),!s)return Sn(n,a)}else{var d=mn(n),m=d==At||d==$u;if(ve(n))return so(n,s);if(d==Vn||d==Ee||m&&!i){if(a=c||m?{}:Eo(n),!s)return c?Kh(n,ph(a,n)):zh(n,qf(a,n))}else{if(!V[d])return i?n:{};a=rg(n,d,s)}}o||(o=new zn);var y=o.get(n);if(y)return y;o.set(n,a),ia(n)?n.forEach(function(I){a.add(Un(I,e,t,I,n,o))}):ta(n)&&n.forEach(function(I,U){a.set(U,Un(I,e,t,U,n,o))});var b=_?c?Bi:Mi:c?In:gn,M=v?f:b(n);return Fn(M||n,function(I,U){M&&(U=I,I=n[U]),ot(a,U,Un(I,e,t,U,n,o))}),a}function _h(n){var e=gn(n);return function(t){return $f(t,n,e)}}function $f(n,e,t){var r=t.length;if(n==null)return!r;for(n=Q(n);r--;){var i=t[r],o=e[i],a=n[i];if(a===f&&!(i in n)||!o(a))return!1}return!0}function Nf(n,e,t){if(typeof n!="function")throw new Mn(R);return pt(function(){n.apply(f,t)},e)}function at(n,e,t,r){var i=-1,o=Tt,a=!0,s=n.length,c=[],_=e.length;if(!s)return c;t&&(e=tn(e,On(t))),r?(o=ti,a=!1):e.length>=O&&(o=et,a=!1,e=new ye(e));n:for(;++ii?0:i+t),r=r===f||r>i?i:F(r),r<0&&(r+=i),r=t>r?0:fa(r);t0&&t(s)?e>1?dn(s,e-1,t,r,i):se(i,s):r||(i[i.length]=s)}return i}var di=_o(),zf=_o(!0);function Xn(n,e){return n&&di(n,e,gn)}function wi(n,e){return n&&zf(n,e,gn)}function Zt(n,e){return ae(e,function(t){return ie(n[t])})}function Se(n,e){e=pe(e,n);for(var t=0,r=e.length;n!=null&&te}function wh(n,e){return n!=null&&X.call(n,e)}function mh(n,e){return n!=null&&e in Q(n)}function xh(n,e,t){return n>=wn(e,t)&&n=120&&v.length>=120)?new ye(a&&v):f}v=n[0];var d=-1,m=s[0];n:for(;++d-1;)s!==n&&Ut.call(s,c,1),Ut.call(n,c,1);return n}function eo(n,e){for(var t=n?e.length:0,r=t-1;t--;){var i=e[t];if(t==r||i!==o){var o=i;re(i)?Ut.call(n,i,1):Oi(n,i)}}return n}function Ii(n,e){return n+$t(Mf()*(e-n+1))}function Wh(n,e,t,r){for(var i=-1,o=hn(qt((e-n)/(t||1)),0),a=g(o);o--;)a[r?o:++i]=n,n+=t;return a}function Ri(n,e){var t="";if(!n||e<1||e>oe)return t;do e%2&&(t+=n),e=$t(e/2),e&&(n+=n);while(e);return t}function B(n,e){return Hi(Po(n,e,Rn),n+"")}function Fh(n){return Df(ze(n))}function Mh(n,e){var t=ze(n);return rr(t,Ae(e,0,t.length))}function ct(n,e,t,r){if(!rn(n))return n;e=pe(e,n);for(var i=-1,o=e.length,a=o-1,s=n;s!=null&&++ii?0:i+e),t=t>i?i:t,t<0&&(t+=i),i=e>t?0:t-e>>>0,e>>>=0;for(var o=g(i);++r>>1,a=n[o];a!==null&&!Cn(a)&&(t?a<=e:a=O){var _=e?null:Jh(n);if(_)return Et(_);a=!1,i=et,c=new ye}else c=e?[]:s;n:for(;++r=r?n:Dn(n,e,t)}var ao=Rc||function(n){return vn.clearTimeout(n)};function so(n,e){if(e)return n.slice();var t=n.length,r=Cf?Cf(t):new n.constructor(t);return n.copy(r),r}function Pi(n){var e=new n.constructor(n.byteLength);return new Mt(e).set(new Mt(n)),e}function $h(n,e){var t=e?Pi(n.buffer):n.buffer;return new n.constructor(t,n.byteOffset,n.byteLength)}function Nh(n){var e=new n.constructor(n.source,Ku.exec(n));return e.lastIndex=n.lastIndex,e}function Gh(n){return ft?Q(ft.call(n)):{}}function lo(n,e){var t=e?Pi(n.buffer):n.buffer;return new n.constructor(t,n.byteOffset,n.length)}function co(n,e){if(n!==e){var t=n!==f,r=n===null,i=n===n,o=Cn(n),a=e!==f,s=e===null,c=e===e,_=Cn(e);if(!s&&!_&&!o&&n>e||o&&a&&c&&!s&&!_||r&&a&&c||!t&&c||!i)return 1;if(!r&&!o&&!_&&n=s)return c;var _=t[r];return c*(_=="desc"?-1:1)}}return n.index-e.index}function ho(n,e,t,r){for(var i=-1,o=n.length,a=t.length,s=-1,c=e.length,_=hn(o-a,0),v=g(c+_),d=!r;++s1?t[i-1]:f,a=i>2?t[2]:f;for(o=n.length>3&&typeof o=="function"?(i--,o):f,a&&yn(t[0],t[1],a)&&(o=i<3?f:o,i=1),e=Q(e);++r-1?i[o?e[a]:a]:f}}function mo(n){return te(function(e){var t=e.length,r=t,i=Bn.prototype.thru;for(n&&e.reverse();r--;){var o=e[r];if(typeof o!="function")throw new Mn(R);if(i&&!a&&er(o)=="wrapper")var a=new Bn([],!0)}for(r=a?r:t;++r1&&$.reverse(),v&&cs))return!1;var _=o.get(n),v=o.get(e);if(_&&v)return _==e&&v==n;var d=-1,m=!0,y=t&ln?new ye:f;for(o.set(n,e),o.set(e,n);++d1?"& ":"")+e[r],e=e.join(t>2?", ":" "),n.replace(fl,`{ -/* [wrapped with `+e+`] */ -`)}function ug(n){return E(n)||Re(n)||!!(Wf&&n&&n[Wf])}function re(n,e){var t=typeof n;return e=e??oe,!!e&&(t=="number"||t!="symbol"&&dl.test(n))&&n>-1&&n%1==0&&n0){if(++e>=Fs)return arguments[0]}else e=0;return n.apply(f,arguments)}}function rr(n,e){var t=-1,r=n.length,i=r-1;for(e=e===f?r:e;++t1?n[e-1]:f;return t=typeof t=="function"?(n.pop(),t):f,zo(n,t)});function Ko(n){var e=u(n);return e.__chain__=!0,e}function vp(n,e){return e(n),n}function ir(n,e){return e(n)}var dp=te(function(n){var e=n.length,t=e?n[0]:0,r=this.__wrapped__,i=function(o){return vi(o,n)};return e>1||this.__actions__.length||!(r instanceof q)||!re(t)?this.thru(i):(r=r.slice(t,+t+(e?1:0)),r.__actions__.push({func:ir,args:[i],thisArg:f}),new Bn(r,this.__chain__).thru(function(o){return e&&!o.length&&o.push(f),o}))});function wp(){return Ko(this)}function mp(){return new Bn(this.value(),this.__chain__)}function xp(){this.__values__===f&&(this.__values__=ua(this.value()));var n=this.__index__>=this.__values__.length,e=n?f:this.__values__[this.__index__++];return{done:n,value:e}}function yp(){return this}function Ap(n){for(var e,t=this;t instanceof Ht;){var r=Do(t);r.__index__=0,r.__values__=f,e?i.__wrapped__=r:e=r;var i=r;t=t.__wrapped__}return i.__wrapped__=n,e}function Sp(){var n=this.__wrapped__;if(n instanceof q){var e=n;return this.__actions__.length&&(e=new q(this)),e=e.reverse(),e.__actions__.push({func:ir,args:[zi],thisArg:f}),new Bn(e,this.__chain__)}return this.thru(zi)}function bp(){return fo(this.__wrapped__,this.__actions__)}var Ip=Qt(function(n,e,t){X.call(n,t)?++n[t]:ne(n,t,1)});function Rp(n,e,t){var r=E(n)?mf:vh;return t&&yn(n,e,t)&&(e=f),r(n,S(e,3))}function Tp(n,e){var t=E(n)?ae:Hf;return t(n,S(e,3))}var Op=wo(qo),Ep=wo($o);function Cp(n,e){return dn(ur(n,e),1)}function Lp(n,e){return dn(ur(n,e),de)}function Pp(n,e,t){return t=t===f?1:F(t),dn(ur(n,e),t)}function Zo(n,e){var t=E(n)?Fn:he;return t(n,S(e,3))}function Yo(n,e){var t=E(n)?Vl:Gf;return t(n,S(e,3))}var Wp=Qt(function(n,e,t){X.call(n,t)?n[t].push(e):ne(n,t,[e])});function Fp(n,e,t,r){n=bn(n)?n:ze(n),t=t&&!r?F(t):0;var i=n.length;return t<0&&(t=hn(i+t,0)),lr(n)?t<=i&&n.indexOf(e,t)>-1:!!i&&Pe(n,e,t)>-1}var Mp=B(function(n,e,t){var r=-1,i=typeof e=="function",o=bn(n)?g(n.length):[];return he(n,function(a){o[++r]=i?Tn(e,a,t):st(a,e,t)}),o}),Bp=Qt(function(n,e,t){ne(n,t,e)});function ur(n,e){var t=E(n)?tn:Jf;return t(n,S(e,3))}function Up(n,e,t,r){return n==null?[]:(E(e)||(e=e==null?[]:[e]),t=r?f:t,E(t)||(t=t==null?[]:[t]),jf(n,e,t))}var Dp=Qt(function(n,e,t){n[t?0:1].push(e)},function(){return[[],[]]});function qp(n,e,t){var r=E(n)?ri:Sf,i=arguments.length<3;return r(n,S(e,4),t,i,he)}function $p(n,e,t){var r=E(n)?kl:Sf,i=arguments.length<3;return r(n,S(e,4),t,i,Gf)}function Np(n,e){var t=E(n)?ae:Hf;return t(n,ar(S(e,3)))}function Gp(n){var e=E(n)?Df:Fh;return e(n)}function Hp(n,e,t){(t?yn(n,e,t):e===f)?e=1:e=F(e);var r=E(n)?ch:Mh;return r(n,e)}function zp(n){var e=E(n)?hh:Uh;return e(n)}function Kp(n){if(n==null)return 0;if(bn(n))return lr(n)?Fe(n):n.length;var e=mn(n);return e==Nn||e==Gn?n.size:Ai(n).length}function Zp(n,e,t){var r=E(n)?ii:Dh;return t&&yn(n,e,t)&&(e=f),r(n,S(e,3))}var Yp=B(function(n,e){if(n==null)return[];var t=e.length;return t>1&&yn(n,e[0],e[1])?e=[]:t>2&&yn(e[0],e[1],e[2])&&(e=[e[0]]),jf(n,dn(e,1),[])}),fr=Tc||function(){return vn.Date.now()};function Xp(n,e){if(typeof e!="function")throw new Mn(R);return n=F(n),function(){if(--n<1)return e.apply(this,arguments)}}function Xo(n,e,t){return e=t?f:e,e=n&&e==null?n.length:e,ee(n,nn,f,f,f,f,e)}function Jo(n,e){var t;if(typeof e!="function")throw new Mn(R);return n=F(n),function(){return--n>0&&(t=e.apply(this,arguments)),n<=1&&(e=f),t}}var Zi=B(function(n,e,t){var r=L;if(t.length){var i=le(t,Ge(Zi));r|=Y}return ee(n,r,e,t,i)}),Qo=B(function(n,e,t){var r=L|_n;if(t.length){var i=le(t,Ge(Qo));r|=Y}return ee(e,r,n,t,i)});function Vo(n,e,t){e=t?f:e;var r=ee(n,A,f,f,f,f,f,e);return r.placeholder=Vo.placeholder,r}function ko(n,e,t){e=t?f:e;var r=ee(n,D,f,f,f,f,f,e);return r.placeholder=ko.placeholder,r}function jo(n,e,t){var r,i,o,a,s,c,_=0,v=!1,d=!1,m=!0;if(typeof n!="function")throw new Mn(R);e=$n(e)||0,rn(t)&&(v=!!t.leading,d="maxWait"in t,o=d?hn($n(t.maxWait)||0,e):o,m="trailing"in t?!!t.trailing:m);function y(on){var Zn=r,fe=i;return r=i=f,_=on,a=n.apply(fe,Zn),a}function b(on){return _=on,s=pt(U,e),v?y(on):a}function M(on){var Zn=on-c,fe=on-_,wa=e-Zn;return d?wn(wa,o-fe):wa}function I(on){var Zn=on-c,fe=on-_;return c===f||Zn>=e||Zn<0||d&&fe>=o}function U(){var on=fr();if(I(on))return $(on);s=pt(U,M(on))}function $(on){return s=f,m&&r?y(on):(r=i=f,a)}function Ln(){s!==f&&ao(s),_=0,r=c=i=s=f}function An(){return s===f?a:$(fr())}function Pn(){var on=fr(),Zn=I(on);if(r=arguments,i=this,c=on,Zn){if(s===f)return b(c);if(d)return ao(s),s=pt(U,e),y(c)}return s===f&&(s=pt(U,e)),a}return Pn.cancel=Ln,Pn.flush=An,Pn}var Jp=B(function(n,e){return Nf(n,1,e)}),Qp=B(function(n,e,t){return Nf(n,$n(e)||0,t)});function Vp(n){return ee(n,Ur)}function or(n,e){if(typeof n!="function"||e!=null&&typeof e!="function")throw new Mn(R);var t=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=t.cache;if(o.has(i))return o.get(i);var a=n.apply(this,r);return t.cache=o.set(i,a)||o,a};return t.cache=new(or.Cache||jn),t}or.Cache=jn;function ar(n){if(typeof n!="function")throw new Mn(R);return function(){var e=arguments;switch(e.length){case 0:return!n.call(this);case 1:return!n.call(this,e[0]);case 2:return!n.call(this,e[0],e[1]);case 3:return!n.call(this,e[0],e[1],e[2])}return!n.apply(this,e)}}function kp(n){return Jo(2,n)}var jp=qh(function(n,e){e=e.length==1&&E(e[0])?tn(e[0],On(S())):tn(dn(e,1),On(S()));var t=e.length;return B(function(r){for(var i=-1,o=wn(r.length,t);++i=e}),Re=Zf(function(){return arguments}())?Zf:function(n){return un(n)&&X.call(n,"callee")&&!Pf.call(n,"callee")},E=g.isArray,p_=gf?On(gf):Ah;function bn(n){return n!=null&&sr(n.length)&&!ie(n)}function fn(n){return un(n)&&bn(n)}function __(n){return n===!0||n===!1||un(n)&&xn(n)==Xe}var ve=Ec||iu,v_=pf?On(pf):Sh;function d_(n){return un(n)&&n.nodeType===1&&!_t(n)}function w_(n){if(n==null)return!0;if(bn(n)&&(E(n)||typeof n=="string"||typeof n.splice=="function"||ve(n)||He(n)||Re(n)))return!n.length;var e=mn(n);if(e==Nn||e==Gn)return!n.size;if(gt(n))return!Ai(n).length;for(var t in n)if(X.call(n,t))return!1;return!0}function m_(n,e){return lt(n,e)}function x_(n,e,t){t=typeof t=="function"?t:f;var r=t?t(n,e):f;return r===f?lt(n,e,f,t):!!r}function Xi(n){if(!un(n))return!1;var e=xn(n);return e==yt||e==Hs||typeof n.message=="string"&&typeof n.name=="string"&&!_t(n)}function y_(n){return typeof n=="number"&&Ff(n)}function ie(n){if(!rn(n))return!1;var e=xn(n);return e==At||e==$u||e==Gs||e==Ks}function ea(n){return typeof n=="number"&&n==F(n)}function sr(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=oe}function rn(n){var e=typeof n;return n!=null&&(e=="object"||e=="function")}function un(n){return n!=null&&typeof n=="object"}var ta=_f?On(_f):Ih;function A_(n,e){return n===e||yi(n,e,Di(e))}function S_(n,e,t){return t=typeof t=="function"?t:f,yi(n,e,Di(e),t)}function b_(n){return ra(n)&&n!=+n}function I_(n){if(ag(n))throw new T(C);return Yf(n)}function R_(n){return n===null}function T_(n){return n==null}function ra(n){return typeof n=="number"||un(n)&&xn(n)==Qe}function _t(n){if(!un(n)||xn(n)!=Vn)return!1;var e=Bt(n);if(e===null)return!0;var t=X.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&Pt.call(t)==Sc}var Ji=vf?On(vf):Rh;function O_(n){return ea(n)&&n>=-oe&&n<=oe}var ia=df?On(df):Th;function lr(n){return typeof n=="string"||!E(n)&&un(n)&&xn(n)==ke}function Cn(n){return typeof n=="symbol"||un(n)&&xn(n)==St}var He=wf?On(wf):Oh;function E_(n){return n===f}function C_(n){return un(n)&&mn(n)==je}function L_(n){return un(n)&&xn(n)==Ys}var P_=nr(Si),W_=nr(function(n,e){return n<=e});function ua(n){if(!n)return[];if(bn(n))return lr(n)?Hn(n):Sn(n);if(tt&&n[tt])return cc(n[tt]());var e=mn(n),t=e==Nn?li:e==Gn?Et:ze;return t(n)}function ue(n){if(!n)return n===0?n:0;if(n=$n(n),n===de||n===-de){var e=n<0?-1:1;return e*Ds}return n===n?n:0}function F(n){var e=ue(n),t=e%1;return e===e?t?e-t:e:0}function fa(n){return n?Ae(F(n),0,Yn):0}function $n(n){if(typeof n=="number")return n;if(Cn(n))return mt;if(rn(n)){var e=typeof n.valueOf=="function"?n.valueOf():n;n=rn(e)?e+"":e}if(typeof n!="string")return n===0?n:+n;n=bf(n);var t=pl.test(n);return t||vl.test(n)?Xl(n.slice(2),t?2:8):gl.test(n)?mt:+n}function oa(n){return Jn(n,In(n))}function F_(n){return n?Ae(F(n),-oe,oe):n===0?n:0}function K(n){return n==null?"":En(n)}var M_=$e(function(n,e){if(gt(e)||bn(e)){Jn(e,gn(e),n);return}for(var t in e)X.call(e,t)&&ot(n,t,e[t])}),aa=$e(function(n,e){Jn(e,In(e),n)}),cr=$e(function(n,e,t,r){Jn(e,In(e),n,r)}),B_=$e(function(n,e,t,r){Jn(e,gn(e),n,r)}),U_=te(vi);function D_(n,e){var t=qe(n);return e==null?t:qf(t,e)}var q_=B(function(n,e){n=Q(n);var t=-1,r=e.length,i=r>2?e[2]:f;for(i&&yn(e[0],e[1],i)&&(r=1);++t1),o}),Jn(n,Bi(n),t),r&&(t=Un(t,an|G|z,Qh));for(var i=e.length;i--;)Oi(t,e[i]);return t});function rv(n,e){return la(n,ar(S(e)))}var iv=te(function(n,e){return n==null?{}:Lh(n,e)});function la(n,e){if(n==null)return{};var t=tn(Bi(n),function(r){return[r]});return e=S(e),no(n,t,function(r,i){return e(r,i[0])})}function uv(n,e,t){e=pe(e,n);var r=-1,i=e.length;for(i||(i=1,n=f);++re){var r=n;n=e,e=r}if(t||n%1||e%1){var i=Mf();return wn(n+i*(e-n+Yl("1e-"+((i+"").length-1))),e)}return Ii(n,e)}var vv=Ne(function(n,e,t){return e=e.toLowerCase(),n+(t?ga(e):e)});function ga(n){return ki(K(n).toLowerCase())}function pa(n){return n=K(n),n&&n.replace(wl,fc).replace(Ul,"")}function dv(n,e,t){n=K(n),e=En(e);var r=n.length;t=t===f?r:Ae(F(t),0,r);var i=t;return t-=e.length,t>=0&&n.slice(t,i)==e}function wv(n){return n=K(n),n&&ks.test(n)?n.replace(Hu,oc):n}function mv(n){return n=K(n),n&&il.test(n)?n.replace(Yr,"\\$&"):n}var xv=Ne(function(n,e,t){return n+(t?"-":"")+e.toLowerCase()}),yv=Ne(function(n,e,t){return n+(t?" ":"")+e.toLowerCase()}),Av=vo("toLowerCase");function Sv(n,e,t){n=K(n),e=F(e);var r=e?Fe(n):0;if(!e||r>=e)return n;var i=(e-r)/2;return jt($t(i),t)+n+jt(qt(i),t)}function bv(n,e,t){n=K(n),e=F(e);var r=e?Fe(n):0;return e&&r>>0,t?(n=K(n),n&&(typeof e=="string"||e!=null&&!Ji(e))&&(e=En(e),!e&&We(n))?_e(Hn(n),0,t):n.split(e,t)):[]}var Lv=Ne(function(n,e,t){return n+(t?" ":"")+ki(e)});function Pv(n,e,t){return n=K(n),t=t==null?0:Ae(F(t),0,n.length),e=En(e),n.slice(t,t+e.length)==e}function Wv(n,e,t){var r=u.templateSettings;t&&yn(n,e,t)&&(e=f),n=K(n),e=cr({},e,r,bo);var i=cr({},e.imports,r.imports,bo),o=gn(i),a=si(i,o),s,c,_=0,v=e.interpolate||bt,d="__p += '",m=ci((e.escape||bt).source+"|"+v.source+"|"+(v===zu?hl:bt).source+"|"+(e.evaluate||bt).source+"|$","g"),y="//# sourceURL="+(X.call(e,"sourceURL")?(e.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Gl+"]")+` -`;n.replace(m,function(I,U,$,Ln,An,Pn){return $||($=Ln),d+=n.slice(_,Pn).replace(ml,ac),U&&(s=!0,d+=`' + -__e(`+U+`) + -'`),An&&(c=!0,d+=`'; -`+An+`; -__p += '`),$&&(d+=`' + -((__t = (`+$+`)) == null ? '' : __t) + -'`),_=Pn+I.length,I}),d+=`'; -`;var b=X.call(e,"variable")&&e.variable;if(!b)d=`with (obj) { -`+d+` -} -`;else if(ll.test(b))throw new T(k);d=(c?d.replace(Xs,""):d).replace(Js,"$1").replace(Qs,"$1;"),d="function("+(b||"obj")+`) { -`+(b?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(s?", __e = _.escape":"")+(c?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+d+`return __p -}`;var M=va(function(){return H(o,y+"return "+d).apply(f,a)});if(M.source=d,Xi(M))throw M;return M}function Fv(n){return K(n).toLowerCase()}function Mv(n){return K(n).toUpperCase()}function Bv(n,e,t){if(n=K(n),n&&(t||e===f))return bf(n);if(!n||!(e=En(e)))return n;var r=Hn(n),i=Hn(e),o=If(r,i),a=Rf(r,i)+1;return _e(r,o,a).join("")}function Uv(n,e,t){if(n=K(n),n&&(t||e===f))return n.slice(0,Of(n)+1);if(!n||!(e=En(e)))return n;var r=Hn(n),i=Rf(r,Hn(e))+1;return _e(r,0,i).join("")}function Dv(n,e,t){if(n=K(n),n&&(t||e===f))return n.replace(Xr,"");if(!n||!(e=En(e)))return n;var r=Hn(n),i=If(r,Hn(e));return _e(r,i).join("")}function qv(n,e){var t=Ps,r=Ws;if(rn(e)){var i="separator"in e?e.separator:i;t="length"in e?F(e.length):t,r="omission"in e?En(e.omission):r}n=K(n);var o=n.length;if(We(n)){var a=Hn(n);o=a.length}if(t>=o)return n;var s=t-Fe(r);if(s<1)return r;var c=a?_e(a,0,s).join(""):n.slice(0,s);if(i===f)return c+r;if(a&&(s+=c.length-s),Ji(i)){if(n.slice(s).search(i)){var _,v=c;for(i.global||(i=ci(i.source,K(Ku.exec(i))+"g")),i.lastIndex=0;_=i.exec(v);)var d=_.index;c=c.slice(0,d===f?s:d)}}else if(n.indexOf(En(i),s)!=s){var m=c.lastIndexOf(i);m>-1&&(c=c.slice(0,m))}return c+r}function $v(n){return n=K(n),n&&Vs.test(n)?n.replace(Gu,_c):n}var Nv=Ne(function(n,e,t){return n+(t?" ":"")+e.toUpperCase()}),ki=vo("toUpperCase");function _a(n,e,t){return n=K(n),e=t?f:e,e===f?lc(n)?wc(n):ec(n):n.match(e)||[]}var va=B(function(n,e){try{return Tn(n,f,e)}catch(t){return Xi(t)?t:new T(t)}}),Gv=te(function(n,e){return Fn(e,function(t){t=Qn(t),ne(n,t,Zi(n[t],n))}),n});function Hv(n){var e=n==null?0:n.length,t=S();return n=e?tn(n,function(r){if(typeof r[1]!="function")throw new Mn(R);return[t(r[0]),r[1]]}):[],B(function(r){for(var i=-1;++ioe)return[];var t=Yn,r=wn(n,Yn);e=S(e),n-=Yn;for(var i=ai(r,e);++t0||e<0)?new q(t):(n<0?t=t.takeRight(-n):n&&(t=t.drop(n)),e!==f&&(e=F(e),t=e<0?t.dropRight(-e):t.take(e-n)),t)},q.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},q.prototype.toArray=function(){return this.take(Yn)},Xn(q.prototype,function(n,e){var t=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),i=u[r?"take"+(e=="last"?"Right":""):e],o=r||/^find/.test(e);i&&(u.prototype[e]=function(){var a=this.__wrapped__,s=r?[1]:arguments,c=a instanceof q,_=s[0],v=c||E(a),d=function(U){var $=i.apply(u,se([U],s));return r&&m?$[0]:$};v&&t&&typeof _=="function"&&_.length!=1&&(c=v=!1);var m=this.__chain__,y=!!this.__actions__.length,b=o&&!m,M=c&&!y;if(!o&&v){a=M?a:new q(this);var I=n.apply(a,s);return I.__actions__.push({func:ir,args:[d],thisArg:f}),new Bn(I,m)}return b&&M?n.apply(this,s):(I=this.thru(d),b?r?I.value()[0]:I.value():I)})}),Fn(["pop","push","shift","sort","splice","unshift"],function(n){var e=Ct[n],t=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",r=/^(?:pop|shift)$/.test(n);u.prototype[n]=function(){var i=arguments;if(r&&!this.__chain__){var o=this.value();return e.apply(E(o)?o:[],i)}return this[t](function(a){return e.apply(E(a)?a:[],i)})}}),Xn(q.prototype,function(n,e){var t=u[e];if(t){var r=t.name+"";X.call(De,r)||(De[r]=[]),De[r].push({name:e,func:t})}}),De[Vt(f,_n).name]=[{name:"wrapper",func:f}],q.prototype.clone=$c,q.prototype.reverse=Nc,q.prototype.value=Gc,u.prototype.at=dp,u.prototype.chain=wp,u.prototype.commit=mp,u.prototype.next=xp,u.prototype.plant=Ap,u.prototype.reverse=Sp,u.prototype.toJSON=u.prototype.valueOf=u.prototype.value=bp,u.prototype.first=u.prototype.head,tt&&(u.prototype[tt]=yp),u},Me=mc();we?((we.exports=Me)._=Me,ni._=Me):vn._=Me}).call(Ke)}(vt,vt.exports);var Te=vt.exports,ma=function(){},xa=ma(),Oe=function(h){return h!==xa&&h!==null},ya=Oe,Aa=Array.prototype.forEach,Sa=Object.create,ba=function(h,w){var f;for(f in h)w[f]=h[f]},Ia=function(h){var w=Sa(null);return Aa.call(arguments,function(f){ya(f)&&ba(Object(f),w)}),w},Ra=function(){var h=Math.sign;return typeof h!="function"?!1:h(10)===1&&h(-20)===-1},hr,uu;function Ta(){return uu||(uu=1,hr=function(h){return h=Number(h),isNaN(h)||h===0?h:h>0?1:-1}),hr}var Oa=Ra()?Math.sign:Ta(),Ea=Oa,Ca=Math.abs,La=Math.floor,Pa=function(h){return isNaN(h)?0:(h=Number(h),h===0||!isFinite(h)?h:Ea(h)*La(Ca(h)))},Wa=Pa,Fa=Math.max,Ma=function(h){return Fa(0,Wa(h))},fu=function(h){if(typeof h!="function")throw new TypeError(h+" is not a function");return h},Ba=Oe,ou=function(h){if(!Ba(h))throw new TypeError("Cannot use null or undefined");return h},Ua={exports:{}},Da=function(){var h=Object.assign,w;return typeof h!="function"?!1:(w={foo:"raz"},h(w,{bar:"dwa"},{trzy:"trzy"}),w.foo+w.bar+w.trzy==="razdwatrzy")},gr,au;function qa(){return au||(au=1,gr=function(){try{return Object.keys("primitive"),!0}catch{return!1}}),gr}var pr,su;function $a(){if(su)return pr;su=1;var h=Oe,w=Object.keys;return pr=function(f){return w(h(f)?Object(f):f)},pr}var _r,lu;function Na(){return lu||(lu=1,_r=qa()()?Object.keys:$a()),_r}var vr,cu;function Ga(){if(cu)return vr;cu=1;var h=Na(),w=ou,f=Math.max;return vr=function(P,O){var C,R,k=f(arguments.length,2),Z;for(P=Object(w(P)),Z=function(N){try{P[N]=O[N]}catch(j){C||(C=j)}},R=1;R-1},wr}var fs=is()?String.prototype.contains:us(),dt=_u,du=rs,wu=hu,mu=Ia,Ze=fs,os=pu.exports=function(h,w){var f,P,O,C,R;return arguments.length<2||typeof h!="string"?(C=w,w=h,h=null):C=arguments[2],dt(h)?(f=Ze.call(h,"c"),P=Ze.call(h,"e"),O=Ze.call(h,"w")):(f=O=!0,P=!1),R={value:w,configurable:f,enumerable:P,writable:O},C?wu(mu(C),R):R};os.gs=function(h,w,f){var P,O,C,R;return typeof h!="string"?(C=f,f=w,w=h,h=null):C=arguments[3],dt(w)?du(w)?dt(f)?du(f)||(C=f,f=void 0):f=void 0:(C=w,w=f=void 0):w=void 0,dt(h)?(P=Ze.call(h,"c"),O=Ze.call(h,"e")):(P=!0,O=!1),R={get:w,set:f,configurable:P,enumerable:O},C?wu(mu(C),R):R};var Ye=pu.exports,mr={exports:{}};(function(h,w){var f=Ye,P=fu,O=Function.prototype.apply,C=Function.prototype.call,R=Object.create,k=Object.defineProperty,Z=Object.defineProperties,N=Object.prototype.hasOwnProperty,j={configurable:!0,enumerable:!1,writable:!0},an,G,z,pn,ln,L,_n;an=function(W,A){var D;return P(A),N.call(this,"__ee__")?D=this.__ee__:(D=j.value=R(null),k(this,"__ee__",j),j.value=null),D[W]?typeof D[W]=="object"?D[W].push(A):D[W]=[D[W],A]:D[W]=A,this},G=function(W,A){var D,Y;return P(A),Y=this,an.call(this,W,D=function(){z.call(Y,W,D),O.call(A,this,arguments)}),D.__eeOnceListener__=A,this},z=function(W,A){var D,Y,J,nn;if(P(A),!N.call(this,"__ee__"))return this;if(D=this.__ee__,!D[W])return this;if(Y=D[W],typeof Y=="object")for(nn=0;J=Y[nn];++nn)(J===A||J.__eeOnceListener__===A)&&(Y.length===2?D[W]=Y[nn?0:1]:Y.splice(nn,1));else(Y===A||Y.__eeOnceListener__===A)&&delete D[W];return this},pn=function(W){var A,D,Y,J,nn;if(N.call(this,"__ee__")&&(J=this.__ee__[W],!!J))if(typeof J=="object"){for(D=arguments.length,nn=new Array(D-1),A=1;A=55296&&D<=56319&&(sn+=G[++L])),sn=z?N.call(z,pn,sn,_n):sn,ln?(j.value=sn,an(W,_n,j)):W[_n]=sn,++_n;A=_n}}if(A===void 0)for(A=P(G.length),ln&&(W=new ln(A)),L=0;Lasync w=>{const f=new h,P=await w(f);return f.terminate(),P},Is=h=>w=>bs(h)(f=>(f.postMessage(w),new Promise((P,O)=>{f.onmessage=C=>{P(C.data)},f.onerror=O})));var Rs=""+new URL("parseTraceSlave.worker-0b79f96e.js",self.location.href).href;const{min:Ts}=Math,Os=navigator.hardwareConcurrency??8;class Es extends Worker{constructor(){super(Rs,{type:"module"})}}const Cs=Is(Es);async function Ls({trace:h,context:w,view:f="main"}){var R,k;const P=Te.ceil((((R=h==null?void 0:h.events)==null?void 0:R.length)??0)/Os),O=Te.range(0,(k=h==null?void 0:h.events)==null?void 0:k.length,P),C=Te.flatten(await Promise.all(Te.map(O,Z=>{var N;return Cs({trace:h,context:w,view:f,from:Z,to:Ts(Z+P,((N=h==null?void 0:h.events)==null?void 0:N.length)??0)})})));return{stepsPersistent:Te.flatMap(C,"stepsPersistent"),stepsTransient:Te.flatMap(C,"stepsTransient")}}onmessage=async({data:h})=>{postMessage(await Ls(h))}})(); diff --git a/assets/parseTrace.worker-d00400fc.js b/assets/parseTrace.worker-d00400fc.js new file mode 100644 index 00000000..da0365e8 --- /dev/null +++ b/assets/parseTrace.worker-d00400fc.js @@ -0,0 +1,27 @@ +(function(){"use strict";var Ke=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{},vt={exports:{}};/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */vt.exports,function(h,w){(function(){var f,P="4.17.21",O=200,C="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",R="Expected a function",k="Invalid `variable` option passed into `_.template`",Z="__lodash_hash_undefined__",N=500,j="__lodash_placeholder__",an=1,G=2,z=4,pn=1,ln=2,L=1,_n=2,W=4,A=8,D=16,Y=32,J=64,nn=128,sn=256,Br=512,Es=30,Cs="...",Ls=800,Ps=16,Uu=1,Ws=2,Fs=3,de=1/0,oe=9007199254740991,Ms=17976931348623157e292,mt=0/0,Yn=4294967295,Bs=Yn-1,Us=Yn>>>1,Ds=[["ary",nn],["bind",L],["bindKey",_n],["curry",A],["curryRight",D],["flip",Br],["partial",Y],["partialRight",J],["rearg",sn]],Ee="[object Arguments]",xt="[object Array]",qs="[object AsyncFunction]",Xe="[object Boolean]",Je="[object Date]",$s="[object DOMException]",yt="[object Error]",At="[object Function]",Du="[object GeneratorFunction]",Nn="[object Map]",Qe="[object Number]",Ns="[object Null]",Vn="[object Object]",qu="[object Promise]",Gs="[object Proxy]",Ve="[object RegExp]",Gn="[object Set]",ke="[object String]",St="[object Symbol]",Hs="[object Undefined]",je="[object WeakMap]",zs="[object WeakSet]",nt="[object ArrayBuffer]",Ce="[object DataView]",Ur="[object Float32Array]",Dr="[object Float64Array]",qr="[object Int8Array]",$r="[object Int16Array]",Nr="[object Int32Array]",Gr="[object Uint8Array]",Hr="[object Uint8ClampedArray]",zr="[object Uint16Array]",Kr="[object Uint32Array]",Ks=/\b__p \+= '';/g,Zs=/\b(__p \+=) '' \+/g,Ys=/(__e\(.*?\)|\b__t\)) \+\n'';/g,$u=/&(?:amp|lt|gt|quot|#39);/g,Nu=/[&<>"']/g,Xs=RegExp($u.source),Js=RegExp(Nu.source),Qs=/<%-([\s\S]+?)%>/g,Vs=/<%([\s\S]+?)%>/g,Gu=/<%=([\s\S]+?)%>/g,ks=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,js=/^\w*$/,nl=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,Zr=/[\\^$.*+?()[\]{}|]/g,el=RegExp(Zr.source),Yr=/^\s+/,tl=/\s/,rl=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,il=/\{\n\/\* \[wrapped with (.+)\] \*/,ul=/,? & /,fl=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,ol=/[()=,{}\[\]\/\s]/,al=/\\(\\)?/g,sl=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Hu=/\w*$/,ll=/^[-+]0x[0-9a-f]+$/i,cl=/^0b[01]+$/i,hl=/^\[object .+?Constructor\]$/,gl=/^0o[0-7]+$/i,pl=/^(?:0|[1-9]\d*)$/,_l=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,bt=/($^)/,vl=/['\n\r\u2028\u2029\\]/g,It="\\ud800-\\udfff",dl="\\u0300-\\u036f",wl="\\ufe20-\\ufe2f",ml="\\u20d0-\\u20ff",zu=dl+wl+ml,Ku="\\u2700-\\u27bf",Zu="a-z\\xdf-\\xf6\\xf8-\\xff",xl="\\xac\\xb1\\xd7\\xf7",yl="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",Al="\\u2000-\\u206f",Sl=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Yu="A-Z\\xc0-\\xd6\\xd8-\\xde",Xu="\\ufe0e\\ufe0f",Ju=xl+yl+Al+Sl,Xr="['’]",bl="["+It+"]",Qu="["+Ju+"]",Rt="["+zu+"]",Vu="\\d+",Il="["+Ku+"]",ku="["+Zu+"]",ju="[^"+It+Ju+Vu+Ku+Zu+Yu+"]",Jr="\\ud83c[\\udffb-\\udfff]",Rl="(?:"+Rt+"|"+Jr+")",nf="[^"+It+"]",Qr="(?:\\ud83c[\\udde6-\\uddff]){2}",Vr="[\\ud800-\\udbff][\\udc00-\\udfff]",Le="["+Yu+"]",ef="\\u200d",tf="(?:"+ku+"|"+ju+")",Tl="(?:"+Le+"|"+ju+")",rf="(?:"+Xr+"(?:d|ll|m|re|s|t|ve))?",uf="(?:"+Xr+"(?:D|LL|M|RE|S|T|VE))?",ff=Rl+"?",of="["+Xu+"]?",Ol="(?:"+ef+"(?:"+[nf,Qr,Vr].join("|")+")"+of+ff+")*",El="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",Cl="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",af=of+ff+Ol,Ll="(?:"+[Il,Qr,Vr].join("|")+")"+af,Pl="(?:"+[nf+Rt+"?",Rt,Qr,Vr,bl].join("|")+")",Wl=RegExp(Xr,"g"),Fl=RegExp(Rt,"g"),kr=RegExp(Jr+"(?="+Jr+")|"+Pl+af,"g"),Ml=RegExp([Le+"?"+ku+"+"+rf+"(?="+[Qu,Le,"$"].join("|")+")",Tl+"+"+uf+"(?="+[Qu,Le+tf,"$"].join("|")+")",Le+"?"+tf+"+"+rf,Le+"+"+uf,Cl,El,Vu,Ll].join("|"),"g"),Bl=RegExp("["+ef+It+zu+Xu+"]"),Ul=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Dl=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],ql=-1,en={};en[Ur]=en[Dr]=en[qr]=en[$r]=en[Nr]=en[Gr]=en[Hr]=en[zr]=en[Kr]=!0,en[Ee]=en[xt]=en[nt]=en[Xe]=en[Ce]=en[Je]=en[yt]=en[At]=en[Nn]=en[Qe]=en[Vn]=en[Ve]=en[Gn]=en[ke]=en[je]=!1;var V={};V[Ee]=V[xt]=V[nt]=V[Ce]=V[Xe]=V[Je]=V[Ur]=V[Dr]=V[qr]=V[$r]=V[Nr]=V[Nn]=V[Qe]=V[Vn]=V[Ve]=V[Gn]=V[ke]=V[St]=V[Gr]=V[Hr]=V[zr]=V[Kr]=!0,V[yt]=V[At]=V[je]=!1;var $l={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Nl={"&":"&","<":"<",">":">",'"':""","'":"'"},Gl={"&":"&","<":"<",">":">",""":'"',"'":"'"},Hl={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},zl=parseFloat,Kl=parseInt,sf=typeof Ke=="object"&&Ke&&Ke.Object===Object&&Ke,Zl=typeof self=="object"&&self&&self.Object===Object&&self,vn=sf||Zl||Function("return this")(),jr=w&&!w.nodeType&&w,we=jr&&!0&&h&&!h.nodeType&&h,lf=we&&we.exports===jr,ni=lf&&sf.process,Wn=function(){try{var l=we&&we.require&&we.require("util").types;return l||ni&&ni.binding&&ni.binding("util")}catch{}}(),cf=Wn&&Wn.isArrayBuffer,hf=Wn&&Wn.isDate,gf=Wn&&Wn.isMap,pf=Wn&&Wn.isRegExp,_f=Wn&&Wn.isSet,vf=Wn&&Wn.isTypedArray;function Tn(l,p,g){switch(g.length){case 0:return l.call(p);case 1:return l.call(p,g[0]);case 2:return l.call(p,g[0],g[1]);case 3:return l.call(p,g[0],g[1],g[2])}return l.apply(p,g)}function Yl(l,p,g,x){for(var T=-1,H=l==null?0:l.length;++T-1}function ei(l,p,g){for(var x=-1,T=l==null?0:l.length;++x-1;);return g}function bf(l,p){for(var g=l.length;g--&&Pe(p,l[g],0)>-1;);return g}function tc(l,p){for(var g=l.length,x=0;g--;)l[g]===p&&++x;return x}var rc=ui($l),ic=ui(Nl);function uc(l){return"\\"+Hl[l]}function fc(l,p){return l==null?f:l[p]}function We(l){return Bl.test(l)}function oc(l){return Ul.test(l)}function ac(l){for(var p,g=[];!(p=l.next()).done;)g.push(p.value);return g}function si(l){var p=-1,g=Array(l.size);return l.forEach(function(x,T){g[++p]=[T,x]}),g}function If(l,p){return function(g){return l(p(g))}}function le(l,p){for(var g=-1,x=l.length,T=0,H=[];++g-1}function Jc(n,e){var t=this.__data__,r=zt(t,n);return r<0?(++this.size,t.push([n,e])):t[r][1]=e,this}kn.prototype.clear=Kc,kn.prototype.delete=Zc,kn.prototype.get=Yc,kn.prototype.has=Xc,kn.prototype.set=Jc;function jn(n){var e=-1,t=n==null?0:n.length;for(this.clear();++e=e?n:e)),n}function Un(n,e,t,r,i,o){var a,s=e&an,c=e&G,_=e&z;if(t&&(a=i?t(n,r,i,o):t(n)),a!==f)return a;if(!rn(n))return n;var v=E(n);if(v){if(a=jh(n),!s)return Sn(n,a)}else{var d=mn(n),m=d==At||d==Du;if(ve(n))return oo(n,s);if(d==Vn||d==Ee||m&&!i){if(a=c||m?{}:To(n),!s)return c?Gh(n,ch(a,n)):Nh(n,Uf(a,n))}else{if(!V[d])return i?n:{};a=ng(n,d,s)}}o||(o=new zn);var y=o.get(n);if(y)return y;o.set(n,a),ta(n)?n.forEach(function(I){a.add(Un(I,e,t,I,n,o))}):na(n)&&n.forEach(function(I,U){a.set(U,Un(I,e,t,U,n,o))});var b=_?c?Mi:Fi:c?In:gn,M=v?f:b(n);return Fn(M||n,function(I,U){M&&(U=I,I=n[U]),ot(a,U,Un(I,e,t,U,n,o))}),a}function hh(n){var e=gn(n);return function(t){return Df(t,n,e)}}function Df(n,e,t){var r=t.length;if(n==null)return!r;for(n=Q(n);r--;){var i=t[r],o=e[i],a=n[i];if(a===f&&!(i in n)||!o(a))return!1}return!0}function qf(n,e,t){if(typeof n!="function")throw new Mn(R);return pt(function(){n.apply(f,t)},e)}function at(n,e,t,r){var i=-1,o=Tt,a=!0,s=n.length,c=[],_=e.length;if(!s)return c;t&&(e=tn(e,On(t))),r?(o=ei,a=!1):e.length>=O&&(o=et,a=!1,e=new ye(e));n:for(;++ii?0:i+t),r=r===f||r>i?i:F(r),r<0&&(r+=i),r=t>r?0:ia(r);t0&&t(s)?e>1?dn(s,e-1,t,r,i):se(i,s):r||(i[i.length]=s)}return i}var vi=go(),Gf=go(!0);function Xn(n,e){return n&&vi(n,e,gn)}function di(n,e){return n&&Gf(n,e,gn)}function Zt(n,e){return ae(e,function(t){return ie(n[t])})}function Se(n,e){e=pe(e,n);for(var t=0,r=e.length;n!=null&&te}function _h(n,e){return n!=null&&X.call(n,e)}function vh(n,e){return n!=null&&e in Q(n)}function dh(n,e,t){return n>=wn(e,t)&&n=120&&v.length>=120)?new ye(a&&v):f}v=n[0];var d=-1,m=s[0];n:for(;++d-1;)s!==n&&Ut.call(s,c,1),Ut.call(n,c,1);return n}function jf(n,e){for(var t=n?e.length:0,r=t-1;t--;){var i=e[t];if(t==r||i!==o){var o=i;re(i)?Ut.call(n,i,1):Ti(n,i)}}return n}function bi(n,e){return n+$t(Wf()*(e-n+1))}function Ch(n,e,t,r){for(var i=-1,o=hn(qt((e-n)/(t||1)),0),a=g(o);o--;)a[r?o:++i]=n,n+=t;return a}function Ii(n,e){var t="";if(!n||e<1||e>oe)return t;do e%2&&(t+=n),e=$t(e/2),e&&(n+=n);while(e);return t}function B(n,e){return Gi(Co(n,e,Rn),n+"")}function Lh(n){return Bf(ze(n))}function Ph(n,e){var t=ze(n);return rr(t,Ae(e,0,t.length))}function ct(n,e,t,r){if(!rn(n))return n;e=pe(e,n);for(var i=-1,o=e.length,a=o-1,s=n;s!=null&&++ii?0:i+e),t=t>i?i:t,t<0&&(t+=i),i=e>t?0:t-e>>>0,e>>>=0;for(var o=g(i);++r>>1,a=n[o];a!==null&&!Cn(a)&&(t?a<=e:a=O){var _=e?null:Zh(n);if(_)return Et(_);a=!1,i=et,c=new ye}else c=e?[]:s;n:for(;++r=r?n:Dn(n,e,t)}var fo=Sc||function(n){return vn.clearTimeout(n)};function oo(n,e){if(e)return n.slice();var t=n.length,r=Of?Of(t):new n.constructor(t);return n.copy(r),r}function Li(n){var e=new n.constructor(n.byteLength);return new Mt(e).set(new Mt(n)),e}function Uh(n,e){var t=e?Li(n.buffer):n.buffer;return new n.constructor(t,n.byteOffset,n.byteLength)}function Dh(n){var e=new n.constructor(n.source,Hu.exec(n));return e.lastIndex=n.lastIndex,e}function qh(n){return ft?Q(ft.call(n)):{}}function ao(n,e){var t=e?Li(n.buffer):n.buffer;return new n.constructor(t,n.byteOffset,n.length)}function so(n,e){if(n!==e){var t=n!==f,r=n===null,i=n===n,o=Cn(n),a=e!==f,s=e===null,c=e===e,_=Cn(e);if(!s&&!_&&!o&&n>e||o&&a&&c&&!s&&!_||r&&a&&c||!t&&c||!i)return 1;if(!r&&!o&&!_&&n=s)return c;var _=t[r];return c*(_=="desc"?-1:1)}}return n.index-e.index}function lo(n,e,t,r){for(var i=-1,o=n.length,a=t.length,s=-1,c=e.length,_=hn(o-a,0),v=g(c+_),d=!r;++s1?t[i-1]:f,a=i>2?t[2]:f;for(o=n.length>3&&typeof o=="function"?(i--,o):f,a&&yn(t[0],t[1],a)&&(o=i<3?f:o,i=1),e=Q(e);++r-1?i[o?e[a]:a]:f}}function vo(n){return te(function(e){var t=e.length,r=t,i=Bn.prototype.thru;for(n&&e.reverse();r--;){var o=e[r];if(typeof o!="function")throw new Mn(R);if(i&&!a&&er(o)=="wrapper")var a=new Bn([],!0)}for(r=a?r:t;++r1&&$.reverse(),v&&cs))return!1;var _=o.get(n),v=o.get(e);if(_&&v)return _==e&&v==n;var d=-1,m=!0,y=t&ln?new ye:f;for(o.set(n,e),o.set(e,n);++d1?"& ":"")+e[r],e=e.join(t>2?", ":" "),n.replace(rl,`{ +/* [wrapped with `+e+`] */ +`)}function tg(n){return E(n)||Re(n)||!!(Lf&&n&&n[Lf])}function re(n,e){var t=typeof n;return e=e??oe,!!e&&(t=="number"||t!="symbol"&&pl.test(n))&&n>-1&&n%1==0&&n0){if(++e>=Ls)return arguments[0]}else e=0;return n.apply(f,arguments)}}function rr(n,e){var t=-1,r=n.length,i=r-1;for(e=e===f?r:e;++t1?n[e-1]:f;return t=typeof t=="function"?(n.pop(),t):f,Go(n,t)});function Ho(n){var e=u(n);return e.__chain__=!0,e}function gp(n,e){return e(n),n}function ir(n,e){return e(n)}var pp=te(function(n){var e=n.length,t=e?n[0]:0,r=this.__wrapped__,i=function(o){return _i(o,n)};return e>1||this.__actions__.length||!(r instanceof q)||!re(t)?this.thru(i):(r=r.slice(t,+t+(e?1:0)),r.__actions__.push({func:ir,args:[i],thisArg:f}),new Bn(r,this.__chain__).thru(function(o){return e&&!o.length&&o.push(f),o}))});function _p(){return Ho(this)}function vp(){return new Bn(this.value(),this.__chain__)}function dp(){this.__values__===f&&(this.__values__=ra(this.value()));var n=this.__index__>=this.__values__.length,e=n?f:this.__values__[this.__index__++];return{done:n,value:e}}function wp(){return this}function mp(n){for(var e,t=this;t instanceof Ht;){var r=Bo(t);r.__index__=0,r.__values__=f,e?i.__wrapped__=r:e=r;var i=r;t=t.__wrapped__}return i.__wrapped__=n,e}function xp(){var n=this.__wrapped__;if(n instanceof q){var e=n;return this.__actions__.length&&(e=new q(this)),e=e.reverse(),e.__actions__.push({func:ir,args:[Hi],thisArg:f}),new Bn(e,this.__chain__)}return this.thru(Hi)}function yp(){return io(this.__wrapped__,this.__actions__)}var Ap=Qt(function(n,e,t){X.call(n,t)?++n[t]:ne(n,t,1)});function Sp(n,e,t){var r=E(n)?df:gh;return t&&yn(n,e,t)&&(e=f),r(n,S(e,3))}function bp(n,e){var t=E(n)?ae:Nf;return t(n,S(e,3))}var Ip=_o(Uo),Rp=_o(Do);function Tp(n,e){return dn(ur(n,e),1)}function Op(n,e){return dn(ur(n,e),de)}function Ep(n,e,t){return t=t===f?1:F(t),dn(ur(n,e),t)}function zo(n,e){var t=E(n)?Fn:he;return t(n,S(e,3))}function Ko(n,e){var t=E(n)?Xl:$f;return t(n,S(e,3))}var Cp=Qt(function(n,e,t){X.call(n,t)?n[t].push(e):ne(n,t,[e])});function Lp(n,e,t,r){n=bn(n)?n:ze(n),t=t&&!r?F(t):0;var i=n.length;return t<0&&(t=hn(i+t,0)),lr(n)?t<=i&&n.indexOf(e,t)>-1:!!i&&Pe(n,e,t)>-1}var Pp=B(function(n,e,t){var r=-1,i=typeof e=="function",o=bn(n)?g(n.length):[];return he(n,function(a){o[++r]=i?Tn(e,a,t):st(a,e,t)}),o}),Wp=Qt(function(n,e,t){ne(n,t,e)});function ur(n,e){var t=E(n)?tn:Yf;return t(n,S(e,3))}function Fp(n,e,t,r){return n==null?[]:(E(e)||(e=e==null?[]:[e]),t=r?f:t,E(t)||(t=t==null?[]:[t]),Vf(n,e,t))}var Mp=Qt(function(n,e,t){n[t?0:1].push(e)},function(){return[[],[]]});function Bp(n,e,t){var r=E(n)?ti:yf,i=arguments.length<3;return r(n,S(e,4),t,i,he)}function Up(n,e,t){var r=E(n)?Jl:yf,i=arguments.length<3;return r(n,S(e,4),t,i,$f)}function Dp(n,e){var t=E(n)?ae:Nf;return t(n,ar(S(e,3)))}function qp(n){var e=E(n)?Bf:Lh;return e(n)}function $p(n,e,t){(t?yn(n,e,t):e===f)?e=1:e=F(e);var r=E(n)?ah:Ph;return r(n,e)}function Np(n){var e=E(n)?sh:Fh;return e(n)}function Gp(n){if(n==null)return 0;if(bn(n))return lr(n)?Fe(n):n.length;var e=mn(n);return e==Nn||e==Gn?n.size:yi(n).length}function Hp(n,e,t){var r=E(n)?ri:Mh;return t&&yn(n,e,t)&&(e=f),r(n,S(e,3))}var zp=B(function(n,e){if(n==null)return[];var t=e.length;return t>1&&yn(n,e[0],e[1])?e=[]:t>2&&yn(e[0],e[1],e[2])&&(e=[e[0]]),Vf(n,dn(e,1),[])}),fr=bc||function(){return vn.Date.now()};function Kp(n,e){if(typeof e!="function")throw new Mn(R);return n=F(n),function(){if(--n<1)return e.apply(this,arguments)}}function Zo(n,e,t){return e=t?f:e,e=n&&e==null?n.length:e,ee(n,nn,f,f,f,f,e)}function Yo(n,e){var t;if(typeof e!="function")throw new Mn(R);return n=F(n),function(){return--n>0&&(t=e.apply(this,arguments)),n<=1&&(e=f),t}}var Ki=B(function(n,e,t){var r=L;if(t.length){var i=le(t,Ge(Ki));r|=Y}return ee(n,r,e,t,i)}),Xo=B(function(n,e,t){var r=L|_n;if(t.length){var i=le(t,Ge(Xo));r|=Y}return ee(e,r,n,t,i)});function Jo(n,e,t){e=t?f:e;var r=ee(n,A,f,f,f,f,f,e);return r.placeholder=Jo.placeholder,r}function Qo(n,e,t){e=t?f:e;var r=ee(n,D,f,f,f,f,f,e);return r.placeholder=Qo.placeholder,r}function Vo(n,e,t){var r,i,o,a,s,c,_=0,v=!1,d=!1,m=!0;if(typeof n!="function")throw new Mn(R);e=$n(e)||0,rn(t)&&(v=!!t.leading,d="maxWait"in t,o=d?hn($n(t.maxWait)||0,e):o,m="trailing"in t?!!t.trailing:m);function y(on){var Zn=r,fe=i;return r=i=f,_=on,a=n.apply(fe,Zn),a}function b(on){return _=on,s=pt(U,e),v?y(on):a}function M(on){var Zn=on-c,fe=on-_,va=e-Zn;return d?wn(va,o-fe):va}function I(on){var Zn=on-c,fe=on-_;return c===f||Zn>=e||Zn<0||d&&fe>=o}function U(){var on=fr();if(I(on))return $(on);s=pt(U,M(on))}function $(on){return s=f,m&&r?y(on):(r=i=f,a)}function Ln(){s!==f&&fo(s),_=0,r=c=i=s=f}function An(){return s===f?a:$(fr())}function Pn(){var on=fr(),Zn=I(on);if(r=arguments,i=this,c=on,Zn){if(s===f)return b(c);if(d)return fo(s),s=pt(U,e),y(c)}return s===f&&(s=pt(U,e)),a}return Pn.cancel=Ln,Pn.flush=An,Pn}var Zp=B(function(n,e){return qf(n,1,e)}),Yp=B(function(n,e,t){return qf(n,$n(e)||0,t)});function Xp(n){return ee(n,Br)}function or(n,e){if(typeof n!="function"||e!=null&&typeof e!="function")throw new Mn(R);var t=function(){var r=arguments,i=e?e.apply(this,r):r[0],o=t.cache;if(o.has(i))return o.get(i);var a=n.apply(this,r);return t.cache=o.set(i,a)||o,a};return t.cache=new(or.Cache||jn),t}or.Cache=jn;function ar(n){if(typeof n!="function")throw new Mn(R);return function(){var e=arguments;switch(e.length){case 0:return!n.call(this);case 1:return!n.call(this,e[0]);case 2:return!n.call(this,e[0],e[1]);case 3:return!n.call(this,e[0],e[1],e[2])}return!n.apply(this,e)}}function Jp(n){return Yo(2,n)}var Qp=Bh(function(n,e){e=e.length==1&&E(e[0])?tn(e[0],On(S())):tn(dn(e,1),On(S()));var t=e.length;return B(function(r){for(var i=-1,o=wn(r.length,t);++i=e}),Re=zf(function(){return arguments}())?zf:function(n){return un(n)&&X.call(n,"callee")&&!Cf.call(n,"callee")},E=g.isArray,c_=cf?On(cf):mh;function bn(n){return n!=null&&sr(n.length)&&!ie(n)}function fn(n){return un(n)&&bn(n)}function h_(n){return n===!0||n===!1||un(n)&&xn(n)==Xe}var ve=Rc||ru,g_=hf?On(hf):xh;function p_(n){return un(n)&&n.nodeType===1&&!_t(n)}function __(n){if(n==null)return!0;if(bn(n)&&(E(n)||typeof n=="string"||typeof n.splice=="function"||ve(n)||He(n)||Re(n)))return!n.length;var e=mn(n);if(e==Nn||e==Gn)return!n.size;if(gt(n))return!yi(n).length;for(var t in n)if(X.call(n,t))return!1;return!0}function v_(n,e){return lt(n,e)}function d_(n,e,t){t=typeof t=="function"?t:f;var r=t?t(n,e):f;return r===f?lt(n,e,f,t):!!r}function Yi(n){if(!un(n))return!1;var e=xn(n);return e==yt||e==$s||typeof n.message=="string"&&typeof n.name=="string"&&!_t(n)}function w_(n){return typeof n=="number"&&Pf(n)}function ie(n){if(!rn(n))return!1;var e=xn(n);return e==At||e==Du||e==qs||e==Gs}function jo(n){return typeof n=="number"&&n==F(n)}function sr(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=oe}function rn(n){var e=typeof n;return n!=null&&(e=="object"||e=="function")}function un(n){return n!=null&&typeof n=="object"}var na=gf?On(gf):Ah;function m_(n,e){return n===e||xi(n,e,Ui(e))}function x_(n,e,t){return t=typeof t=="function"?t:f,xi(n,e,Ui(e),t)}function y_(n){return ea(n)&&n!=+n}function A_(n){if(ug(n))throw new T(C);return Kf(n)}function S_(n){return n===null}function b_(n){return n==null}function ea(n){return typeof n=="number"||un(n)&&xn(n)==Qe}function _t(n){if(!un(n)||xn(n)!=Vn)return!1;var e=Bt(n);if(e===null)return!0;var t=X.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&Pt.call(t)==xc}var Xi=pf?On(pf):Sh;function I_(n){return jo(n)&&n>=-oe&&n<=oe}var ta=_f?On(_f):bh;function lr(n){return typeof n=="string"||!E(n)&&un(n)&&xn(n)==ke}function Cn(n){return typeof n=="symbol"||un(n)&&xn(n)==St}var He=vf?On(vf):Ih;function R_(n){return n===f}function T_(n){return un(n)&&mn(n)==je}function O_(n){return un(n)&&xn(n)==zs}var E_=nr(Ai),C_=nr(function(n,e){return n<=e});function ra(n){if(!n)return[];if(bn(n))return lr(n)?Hn(n):Sn(n);if(tt&&n[tt])return ac(n[tt]());var e=mn(n),t=e==Nn?si:e==Gn?Et:ze;return t(n)}function ue(n){if(!n)return n===0?n:0;if(n=$n(n),n===de||n===-de){var e=n<0?-1:1;return e*Ms}return n===n?n:0}function F(n){var e=ue(n),t=e%1;return e===e?t?e-t:e:0}function ia(n){return n?Ae(F(n),0,Yn):0}function $n(n){if(typeof n=="number")return n;if(Cn(n))return mt;if(rn(n)){var e=typeof n.valueOf=="function"?n.valueOf():n;n=rn(e)?e+"":e}if(typeof n!="string")return n===0?n:+n;n=Af(n);var t=cl.test(n);return t||gl.test(n)?Kl(n.slice(2),t?2:8):ll.test(n)?mt:+n}function ua(n){return Jn(n,In(n))}function L_(n){return n?Ae(F(n),-oe,oe):n===0?n:0}function K(n){return n==null?"":En(n)}var P_=$e(function(n,e){if(gt(e)||bn(e)){Jn(e,gn(e),n);return}for(var t in e)X.call(e,t)&&ot(n,t,e[t])}),fa=$e(function(n,e){Jn(e,In(e),n)}),cr=$e(function(n,e,t,r){Jn(e,In(e),n,r)}),W_=$e(function(n,e,t,r){Jn(e,gn(e),n,r)}),F_=te(_i);function M_(n,e){var t=qe(n);return e==null?t:Uf(t,e)}var B_=B(function(n,e){n=Q(n);var t=-1,r=e.length,i=r>2?e[2]:f;for(i&&yn(e[0],e[1],i)&&(r=1);++t1),o}),Jn(n,Mi(n),t),r&&(t=Un(t,an|G|z,Yh));for(var i=e.length;i--;)Ti(t,e[i]);return t});function nv(n,e){return aa(n,ar(S(e)))}var ev=te(function(n,e){return n==null?{}:Oh(n,e)});function aa(n,e){if(n==null)return{};var t=tn(Mi(n),function(r){return[r]});return e=S(e),kf(n,t,function(r,i){return e(r,i[0])})}function tv(n,e,t){e=pe(e,n);var r=-1,i=e.length;for(i||(i=1,n=f);++re){var r=n;n=e,e=r}if(t||n%1||e%1){var i=Wf();return wn(n+i*(e-n+zl("1e-"+((i+"").length-1))),e)}return bi(n,e)}var gv=Ne(function(n,e,t){return e=e.toLowerCase(),n+(t?ca(e):e)});function ca(n){return Vi(K(n).toLowerCase())}function ha(n){return n=K(n),n&&n.replace(_l,rc).replace(Fl,"")}function pv(n,e,t){n=K(n),e=En(e);var r=n.length;t=t===f?r:Ae(F(t),0,r);var i=t;return t-=e.length,t>=0&&n.slice(t,i)==e}function _v(n){return n=K(n),n&&Js.test(n)?n.replace(Nu,ic):n}function vv(n){return n=K(n),n&&el.test(n)?n.replace(Zr,"\\$&"):n}var dv=Ne(function(n,e,t){return n+(t?"-":"")+e.toLowerCase()}),wv=Ne(function(n,e,t){return n+(t?" ":"")+e.toLowerCase()}),mv=po("toLowerCase");function xv(n,e,t){n=K(n),e=F(e);var r=e?Fe(n):0;if(!e||r>=e)return n;var i=(e-r)/2;return jt($t(i),t)+n+jt(qt(i),t)}function yv(n,e,t){n=K(n),e=F(e);var r=e?Fe(n):0;return e&&r>>0,t?(n=K(n),n&&(typeof e=="string"||e!=null&&!Xi(e))&&(e=En(e),!e&&We(n))?_e(Hn(n),0,t):n.split(e,t)):[]}var Ov=Ne(function(n,e,t){return n+(t?" ":"")+Vi(e)});function Ev(n,e,t){return n=K(n),t=t==null?0:Ae(F(t),0,n.length),e=En(e),n.slice(t,t+e.length)==e}function Cv(n,e,t){var r=u.templateSettings;t&&yn(n,e,t)&&(e=f),n=K(n),e=cr({},e,r,Ao);var i=cr({},e.imports,r.imports,Ao),o=gn(i),a=ai(i,o),s,c,_=0,v=e.interpolate||bt,d="__p += '",m=li((e.escape||bt).source+"|"+v.source+"|"+(v===Gu?sl:bt).source+"|"+(e.evaluate||bt).source+"|$","g"),y="//# sourceURL="+(X.call(e,"sourceURL")?(e.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++ql+"]")+` +`;n.replace(m,function(I,U,$,Ln,An,Pn){return $||($=Ln),d+=n.slice(_,Pn).replace(vl,uc),U&&(s=!0,d+=`' + +__e(`+U+`) + +'`),An&&(c=!0,d+=`'; +`+An+`; +__p += '`),$&&(d+=`' + +((__t = (`+$+`)) == null ? '' : __t) + +'`),_=Pn+I.length,I}),d+=`'; +`;var b=X.call(e,"variable")&&e.variable;if(!b)d=`with (obj) { +`+d+` +} +`;else if(ol.test(b))throw new T(k);d=(c?d.replace(Ks,""):d).replace(Zs,"$1").replace(Ys,"$1;"),d="function("+(b||"obj")+`) { +`+(b?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(s?", __e = _.escape":"")+(c?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+d+`return __p +}`;var M=pa(function(){return H(o,y+"return "+d).apply(f,a)});if(M.source=d,Yi(M))throw M;return M}function Lv(n){return K(n).toLowerCase()}function Pv(n){return K(n).toUpperCase()}function Wv(n,e,t){if(n=K(n),n&&(t||e===f))return Af(n);if(!n||!(e=En(e)))return n;var r=Hn(n),i=Hn(e),o=Sf(r,i),a=bf(r,i)+1;return _e(r,o,a).join("")}function Fv(n,e,t){if(n=K(n),n&&(t||e===f))return n.slice(0,Rf(n)+1);if(!n||!(e=En(e)))return n;var r=Hn(n),i=bf(r,Hn(e))+1;return _e(r,0,i).join("")}function Mv(n,e,t){if(n=K(n),n&&(t||e===f))return n.replace(Yr,"");if(!n||!(e=En(e)))return n;var r=Hn(n),i=Sf(r,Hn(e));return _e(r,i).join("")}function Bv(n,e){var t=Es,r=Cs;if(rn(e)){var i="separator"in e?e.separator:i;t="length"in e?F(e.length):t,r="omission"in e?En(e.omission):r}n=K(n);var o=n.length;if(We(n)){var a=Hn(n);o=a.length}if(t>=o)return n;var s=t-Fe(r);if(s<1)return r;var c=a?_e(a,0,s).join(""):n.slice(0,s);if(i===f)return c+r;if(a&&(s+=c.length-s),Xi(i)){if(n.slice(s).search(i)){var _,v=c;for(i.global||(i=li(i.source,K(Hu.exec(i))+"g")),i.lastIndex=0;_=i.exec(v);)var d=_.index;c=c.slice(0,d===f?s:d)}}else if(n.indexOf(En(i),s)!=s){var m=c.lastIndexOf(i);m>-1&&(c=c.slice(0,m))}return c+r}function Uv(n){return n=K(n),n&&Xs.test(n)?n.replace($u,hc):n}var Dv=Ne(function(n,e,t){return n+(t?" ":"")+e.toUpperCase()}),Vi=po("toUpperCase");function ga(n,e,t){return n=K(n),e=t?f:e,e===f?oc(n)?_c(n):kl(n):n.match(e)||[]}var pa=B(function(n,e){try{return Tn(n,f,e)}catch(t){return Yi(t)?t:new T(t)}}),qv=te(function(n,e){return Fn(e,function(t){t=Qn(t),ne(n,t,Ki(n[t],n))}),n});function $v(n){var e=n==null?0:n.length,t=S();return n=e?tn(n,function(r){if(typeof r[1]!="function")throw new Mn(R);return[t(r[0]),r[1]]}):[],B(function(r){for(var i=-1;++ioe)return[];var t=Yn,r=wn(n,Yn);e=S(e),n-=Yn;for(var i=oi(r,e);++t0||e<0)?new q(t):(n<0?t=t.takeRight(-n):n&&(t=t.drop(n)),e!==f&&(e=F(e),t=e<0?t.dropRight(-e):t.take(e-n)),t)},q.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},q.prototype.toArray=function(){return this.take(Yn)},Xn(q.prototype,function(n,e){var t=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),i=u[r?"take"+(e=="last"?"Right":""):e],o=r||/^find/.test(e);i&&(u.prototype[e]=function(){var a=this.__wrapped__,s=r?[1]:arguments,c=a instanceof q,_=s[0],v=c||E(a),d=function(U){var $=i.apply(u,se([U],s));return r&&m?$[0]:$};v&&t&&typeof _=="function"&&_.length!=1&&(c=v=!1);var m=this.__chain__,y=!!this.__actions__.length,b=o&&!m,M=c&&!y;if(!o&&v){a=M?a:new q(this);var I=n.apply(a,s);return I.__actions__.push({func:ir,args:[d],thisArg:f}),new Bn(I,m)}return b&&M?n.apply(this,s):(I=this.thru(d),b?r?I.value()[0]:I.value():I)})}),Fn(["pop","push","shift","sort","splice","unshift"],function(n){var e=Ct[n],t=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",r=/^(?:pop|shift)$/.test(n);u.prototype[n]=function(){var i=arguments;if(r&&!this.__chain__){var o=this.value();return e.apply(E(o)?o:[],i)}return this[t](function(a){return e.apply(E(a)?a:[],i)})}}),Xn(q.prototype,function(n,e){var t=u[e];if(t){var r=t.name+"";X.call(De,r)||(De[r]=[]),De[r].push({name:e,func:t})}}),De[Vt(f,_n).name]=[{name:"wrapper",func:f}],q.prototype.clone=Uc,q.prototype.reverse=Dc,q.prototype.value=qc,u.prototype.at=pp,u.prototype.chain=_p,u.prototype.commit=vp,u.prototype.next=dp,u.prototype.plant=mp,u.prototype.reverse=xp,u.prototype.toJSON=u.prototype.valueOf=u.prototype.value=yp,u.prototype.first=u.prototype.head,tt&&(u.prototype[tt]=wp),u},Me=vc();we?((we.exports=Me)._=Me,jr._=Me):vn._=Me}).call(Ke)}(vt,vt.exports);var Te=vt.exports,da=function(){},wa=da(),Oe=function(h){return h!==wa&&h!==null},ma=Oe,xa=Array.prototype.forEach,ya=Object.create,Aa=function(h,w){var f;for(f in h)w[f]=h[f]},Sa=function(h){var w=ya(null);return xa.call(arguments,function(f){ma(f)&&Aa(Object(f),w)}),w},ba=function(){var h=Math.sign;return typeof h!="function"?!1:h(10)===1&&h(-20)===-1},hr,iu;function Ia(){return iu||(iu=1,hr=function(h){return h=Number(h),isNaN(h)||h===0?h:h>0?1:-1}),hr}var Ra=ba()?Math.sign:Ia(),Ta=Ra,Oa=Math.abs,Ea=Math.floor,Ca=function(h){return isNaN(h)?0:(h=Number(h),h===0||!isFinite(h)?h:Ta(h)*Ea(Oa(h)))},La=Ca,Pa=Math.max,Wa=function(h){return Pa(0,La(h))},uu=function(h){if(typeof h!="function")throw new TypeError(h+" is not a function");return h},Fa=Oe,fu=function(h){if(!Fa(h))throw new TypeError("Cannot use null or undefined");return h},Ma={exports:{}},Ba=function(){var h=Object.assign,w;return typeof h!="function"?!1:(w={foo:"raz"},h(w,{bar:"dwa"},{trzy:"trzy"}),w.foo+w.bar+w.trzy==="razdwatrzy")},gr,ou;function Ua(){return ou||(ou=1,gr=function(){try{return Object.keys("primitive"),!0}catch{return!1}}),gr}var pr,au;function Da(){if(au)return pr;au=1;var h=Oe,w=Object.keys;return pr=function(f){return w(h(f)?Object(f):f)},pr}var _r,su;function qa(){return su||(su=1,_r=Ua()()?Object.keys:Da()),_r}var vr,lu;function $a(){if(lu)return vr;lu=1;var h=qa(),w=fu,f=Math.max;return vr=function(P,O){var C,R,k=f(arguments.length,2),Z;for(P=Object(w(P)),Z=function(N){try{P[N]=O[N]}catch(j){C||(C=j)}},R=1;R-1},wr}var is=ts()?String.prototype.contains:rs(),dt=pu,vu=es,du=cu,wu=Sa,Ze=is,us=gu.exports=function(h,w){var f,P,O,C,R;return arguments.length<2||typeof h!="string"?(C=w,w=h,h=null):C=arguments[2],dt(h)?(f=Ze.call(h,"c"),P=Ze.call(h,"e"),O=Ze.call(h,"w")):(f=O=!0,P=!1),R={value:w,configurable:f,enumerable:P,writable:O},C?du(wu(C),R):R};us.gs=function(h,w,f){var P,O,C,R;return typeof h!="string"?(C=f,f=w,w=h,h=null):C=arguments[3],dt(w)?vu(w)?dt(f)?vu(f)||(C=f,f=void 0):f=void 0:(C=w,w=f=void 0):w=void 0,dt(h)?(P=Ze.call(h,"c"),O=Ze.call(h,"e")):(P=!0,O=!1),R={get:w,set:f,configurable:P,enumerable:O},C?du(wu(C),R):R};var Ye=gu.exports,mr={exports:{}};(function(h,w){var f=Ye,P=uu,O=Function.prototype.apply,C=Function.prototype.call,R=Object.create,k=Object.defineProperty,Z=Object.defineProperties,N=Object.prototype.hasOwnProperty,j={configurable:!0,enumerable:!1,writable:!0},an,G,z,pn,ln,L,_n;an=function(W,A){var D;return P(A),N.call(this,"__ee__")?D=this.__ee__:(D=j.value=R(null),k(this,"__ee__",j),j.value=null),D[W]?typeof D[W]=="object"?D[W].push(A):D[W]=[D[W],A]:D[W]=A,this},G=function(W,A){var D,Y;return P(A),Y=this,an.call(this,W,D=function(){z.call(Y,W,D),O.call(A,this,arguments)}),D.__eeOnceListener__=A,this},z=function(W,A){var D,Y,J,nn;if(P(A),!N.call(this,"__ee__"))return this;if(D=this.__ee__,!D[W])return this;if(Y=D[W],typeof Y=="object")for(nn=0;J=Y[nn];++nn)(J===A||J.__eeOnceListener__===A)&&(Y.length===2?D[W]=Y[nn?0:1]:Y.splice(nn,1));else(Y===A||Y.__eeOnceListener__===A)&&delete D[W];return this},pn=function(W){var A,D,Y,J,nn;if(N.call(this,"__ee__")&&(J=this.__ee__[W],!!J))if(typeof J=="object"){for(D=arguments.length,nn=new Array(D-1),A=1;A=55296&&D<=56319&&(sn+=G[++L])),sn=z?N.call(z,pn,sn,_n):sn,ln?(j.value=sn,an(W,_n,j)):W[_n]=sn,++_n;A=_n}}if(A===void 0)for(A=P(G.length),ln&&(W=new ln(A)),L=0;Lasync w=>{const f=new h,P=await w(f);return f.terminate(),P},As=h=>w=>ys(h)(f=>(f.postMessage(w),new Promise((P,O)=>{f.onmessage=C=>{P(C.data)},f.onerror=O})));var Ss=""+new URL("parseTraceSlave.worker-104018b7.js",self.location.href).href;const{min:bs}=Math,Is=navigator.hardwareConcurrency??8;class Rs extends Worker{constructor(){super(Ss,{type:"module"})}}const Ts=As(Rs);async function Os({trace:h,context:w,view:f="main"}){var R,k;const P=Te.ceil((((R=h==null?void 0:h.events)==null?void 0:R.length)??0)/Is),O=Te.range(0,(k=h==null?void 0:h.events)==null?void 0:k.length,P),C=Te.flatten(await Promise.all(Te.map(O,Z=>{var N;return Ts({trace:h,context:w,view:f,from:Z,to:bs(Z+P,((N=h==null?void 0:h.events)==null?void 0:N.length)??0)})})));return{stepsPersistent:Te.flatMap(C,"stepsPersistent"),stepsTransient:Te.flatMap(C,"stepsTransient")}}onmessage=async({data:h})=>{postMessage(await Os(h))}})(); diff --git a/assets/parseTraceSlave.worker-0b79f96e.js b/assets/parseTraceSlave.worker-0b79f96e.js deleted file mode 100644 index 5770e67f..00000000 --- a/assets/parseTraceSlave.worker-0b79f96e.js +++ /dev/null @@ -1,28 +0,0 @@ -(function(){"use strict";var Ye=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ws(f){return f&&f.__esModule&&Object.prototype.hasOwnProperty.call(f,"default")?f.default:f}var Ft={exports:{}};/** - * @license - * Lodash - * Copyright OpenJS Foundation and other contributors - * Released under MIT license - * Based on Underscore.js 1.8.3 - * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors - */Ft.exports,function(f,l){(function(){var i,h="4.17.21",m=200,d="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",g="Expected a function",y="Invalid `variable` option passed into `_.template`",w="__lodash_hash_undefined__",_=500,b="__lodash_placeholder__",q=1,F=2,C=4,D=1,M=2,I=1,P=2,L=4,A=8,E=16,W=32,U=64,J=128,rn=256,Pn=512,gt=30,Ht="...",Bi=800,Kt=16,vt=1,Ui=2,Gi=3,Nn=1/0,wn=9007199254740991,De=17976931348623157e292,ae=0/0,$n=4294967295,zi=$n-1,Zt=$n>>>1,Vt=[["ary",J],["bind",I],["bindKey",P],["curry",A],["curryRight",E],["flip",Pn],["partial",W],["partialRight",U],["rearg",rn]],le="[object Arguments]",xe="[object Array]",dt="[object AsyncFunction]",se="[object Boolean]",be="[object Date]",un="[object DOMException]",ie="[object Error]",xn="[object Function]",Se="[object GeneratorFunction]",dn="[object Map]",Cn="[object Number]",Ae="[object Null]",Hn="[object Object]",_t="[object Promise]",Yt="[object Proxy]",an="[object RegExp]",_n="[object Set]",kn="[object String]",Qt="[object Symbol]",Lh="[object Undefined]",mt="[object WeakMap]",qh="[object WeakSet]",yt="[object ArrayBuffer]",Je="[object DataView]",Hi="[object Float32Array]",Ki="[object Float64Array]",Zi="[object Int8Array]",Vi="[object Int16Array]",Yi="[object Int32Array]",Qi="[object Uint8Array]",Xi="[object Uint8ClampedArray]",Ji="[object Uint16Array]",ji="[object Uint32Array]",Mh=/\b__p \+= '';/g,Fh=/\b(__p \+=) '' \+/g,Nh=/(__e\(.*?\)|\b__t\)) \+\n'';/g,Ko=/&(?:amp|lt|gt|quot|#39);/g,Zo=/[&<>"']/g,$h=RegExp(Ko.source),Dh=RegExp(Zo.source),Wh=/<%-([\s\S]+?)%>/g,Bh=/<%([\s\S]+?)%>/g,Vo=/<%=([\s\S]+?)%>/g,Uh=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Gh=/^\w*$/,zh=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ki=/[\\^$.*+?()[\]{}|]/g,Hh=RegExp(ki.source),nu=/^\s+/,Kh=/\s/,Zh=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Vh=/\{\n\/\* \[wrapped with (.+)\] \*/,Yh=/,? & /,Qh=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Xh=/[()=,{}\[\]\/\s]/,Jh=/\\(\\)?/g,jh=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Yo=/\w*$/,kh=/^[-+]0x[0-9a-f]+$/i,np=/^0b[01]+$/i,ep=/^\[object .+?Constructor\]$/,tp=/^0o[0-7]+$/i,rp=/^(?:0|[1-9]\d*)$/,ip=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Xt=/($^)/,up=/['\n\r\u2028\u2029\\]/g,Jt="\\ud800-\\udfff",fp="\\u0300-\\u036f",op="\\ufe20-\\ufe2f",ap="\\u20d0-\\u20ff",Qo=fp+op+ap,Xo="\\u2700-\\u27bf",Jo="a-z\\xdf-\\xf6\\xf8-\\xff",lp="\\xac\\xb1\\xd7\\xf7",sp="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",cp="\\u2000-\\u206f",hp=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",jo="A-Z\\xc0-\\xd6\\xd8-\\xde",ko="\\ufe0e\\ufe0f",na=lp+sp+cp+hp,eu="['’]",pp="["+Jt+"]",ea="["+na+"]",jt="["+Qo+"]",ta="\\d+",gp="["+Xo+"]",ra="["+Jo+"]",ia="[^"+Jt+na+ta+Xo+Jo+jo+"]",tu="\\ud83c[\\udffb-\\udfff]",vp="(?:"+jt+"|"+tu+")",ua="[^"+Jt+"]",ru="(?:\\ud83c[\\udde6-\\uddff]){2}",iu="[\\ud800-\\udbff][\\udc00-\\udfff]",je="["+jo+"]",fa="\\u200d",oa="(?:"+ra+"|"+ia+")",dp="(?:"+je+"|"+ia+")",aa="(?:"+eu+"(?:d|ll|m|re|s|t|ve))?",la="(?:"+eu+"(?:D|LL|M|RE|S|T|VE))?",sa=vp+"?",ca="["+ko+"]?",_p="(?:"+fa+"(?:"+[ua,ru,iu].join("|")+")"+ca+sa+")*",mp="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",yp="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",ha=ca+sa+_p,wp="(?:"+[gp,ru,iu].join("|")+")"+ha,xp="(?:"+[ua+jt+"?",jt,ru,iu,pp].join("|")+")",bp=RegExp(eu,"g"),Sp=RegExp(jt,"g"),uu=RegExp(tu+"(?="+tu+")|"+xp+ha,"g"),Ap=RegExp([je+"?"+ra+"+"+aa+"(?="+[ea,je,"$"].join("|")+")",dp+"+"+la+"(?="+[ea,je+oa,"$"].join("|")+")",je+"?"+oa+"+"+aa,je+"+"+la,yp,mp,ta,wp].join("|"),"g"),Op=RegExp("["+fa+Jt+Qo+ko+"]"),Tp=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Ip=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Rp=-1,ln={};ln[Hi]=ln[Ki]=ln[Zi]=ln[Vi]=ln[Yi]=ln[Qi]=ln[Xi]=ln[Ji]=ln[ji]=!0,ln[le]=ln[xe]=ln[yt]=ln[se]=ln[Je]=ln[be]=ln[ie]=ln[xn]=ln[dn]=ln[Cn]=ln[Hn]=ln[an]=ln[_n]=ln[kn]=ln[mt]=!1;var on={};on[le]=on[xe]=on[yt]=on[Je]=on[se]=on[be]=on[Hi]=on[Ki]=on[Zi]=on[Vi]=on[Yi]=on[dn]=on[Cn]=on[Hn]=on[an]=on[_n]=on[kn]=on[Qt]=on[Qi]=on[Xi]=on[Ji]=on[ji]=!0,on[ie]=on[xn]=on[mt]=!1;var Ep={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Pp={"&":"&","<":"<",">":">",'"':""","'":"'"},Cp={"&":"&","<":"<",">":">",""":'"',"'":"'"},Lp={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},qp=parseFloat,Mp=parseInt,pa=typeof Ye=="object"&&Ye&&Ye.Object===Object&&Ye,Fp=typeof self=="object"&&self&&self.Object===Object&&self,Sn=pa||Fp||Function("return this")(),fu=l&&!l.nodeType&&l,We=fu&&!0&&f&&!f.nodeType&&f,ga=We&&We.exports===fu,ou=ga&&pa.process,Kn=function(){try{var p=We&&We.require&&We.require("util").types;return p||ou&&ou.binding&&ou.binding("util")}catch{}}(),va=Kn&&Kn.isArrayBuffer,da=Kn&&Kn.isDate,_a=Kn&&Kn.isMap,ma=Kn&&Kn.isRegExp,ya=Kn&&Kn.isSet,wa=Kn&&Kn.isTypedArray;function Dn(p,S,x){switch(x.length){case 0:return p.call(S);case 1:return p.call(S,x[0]);case 2:return p.call(S,x[0],x[1]);case 3:return p.call(S,x[0],x[1],x[2])}return p.apply(S,x)}function Np(p,S,x,$){for(var K=-1,nn=p==null?0:p.length;++K-1}function au(p,S,x){for(var $=-1,K=p==null?0:p.length;++$-1;);return x}function Ra(p,S){for(var x=p.length;x--&&ke(S,p[x],0)>-1;);return x}function Kp(p,S){for(var x=p.length,$=0;x--;)p[x]===S&&++$;return $}var Zp=hu(Ep),Vp=hu(Pp);function Yp(p){return"\\"+Lp[p]}function Qp(p,S){return p==null?i:p[S]}function nt(p){return Op.test(p)}function Xp(p){return Tp.test(p)}function Jp(p){for(var S,x=[];!(S=p.next()).done;)x.push(S.value);return x}function du(p){var S=-1,x=Array(p.size);return p.forEach(function($,K){x[++S]=[K,$]}),x}function Ea(p,S){return function(x){return p(S(x))}}function Ie(p,S){for(var x=-1,$=p.length,K=0,nn=[];++x<$;){var mn=p[x];(mn===S||mn===b)&&(p[x]=b,nn[K++]=x)}return nn}function er(p){var S=-1,x=Array(p.size);return p.forEach(function($){x[++S]=$}),x}function jp(p){var S=-1,x=Array(p.size);return p.forEach(function($){x[++S]=[$,$]}),x}function kp(p,S,x){for(var $=x-1,K=p.length;++$-1}function Dg(n,e){var t=this.__data__,r=dr(t,n);return r<0?(++this.size,t.push([n,e])):t[r][1]=e,this}ce.prototype.clear=Mg,ce.prototype.delete=Fg,ce.prototype.get=Ng,ce.prototype.has=$g,ce.prototype.set=Dg;function he(n){var e=-1,t=n==null?0:n.length;for(this.clear();++e=e?n:e)),n}function Qn(n,e,t,r,u,a){var s,c=e&q,v=e&F,O=e&C;if(t&&(s=u?t(n,r,u,a):t(n)),s!==i)return s;if(!hn(n))return n;var T=Z(n);if(T){if(s=Gv(n),!c)return Ln(n,s)}else{var R=Tn(n),N=R==xn||R==Se;if(qe(n))return cl(n,c);if(R==Hn||R==le||N&&!u){if(s=v||N?{}:Pl(n),!c)return v?Cv(n,nv(s,n)):Pv(n,Ua(s,n))}else{if(!on[R])return u?n:{};s=zv(n,R,c)}}a||(a=new ee);var B=a.get(n);if(B)return B;a.set(n,s),us(n)?n.forEach(function(H){s.add(Qn(H,e,t,H,n,a))}):rs(n)&&n.forEach(function(H,X){s.set(X,Qn(H,e,t,X,n,a))});var z=O?v?Gu:Uu:v?Mn:bn,Y=T?i:z(n);return Zn(Y||n,function(H,X){Y&&(X=H,H=n[X]),Tt(s,X,Qn(H,e,t,X,n,a))}),s}function ev(n){var e=bn(n);return function(t){return Ga(t,n,e)}}function Ga(n,e,t){var r=t.length;if(n==null)return!r;for(n=fn(n);r--;){var u=t[r],a=e[u],s=n[u];if(s===i&&!(u in n)||!a(s))return!1}return!0}function za(n,e,t){if(typeof n!="function")throw new Vn(g);return qt(function(){n.apply(i,t)},e)}function It(n,e,t,r){var u=-1,a=kt,s=!0,c=n.length,v=[],O=e.length;if(!c)return v;t&&(e=sn(e,Wn(t))),r?(a=au,s=!1):e.length>=m&&(a=wt,s=!1,e=new Ge(e));n:for(;++uu?0:u+t),r=r===i||r>u?u:V(r),r<0&&(r+=u),r=t>r?0:os(r);t0&&t(c)?e>1?An(c,e-1,t,r,u):Te(u,c):r||(u[u.length]=c)}return u}var Su=_l(),Za=_l(!0);function ue(n,e){return n&&Su(n,e,bn)}function Au(n,e){return n&&Za(n,e,bn)}function mr(n,e){return Oe(e,function(t){return _e(n[t])})}function He(n,e){e=Ce(e,n);for(var t=0,r=e.length;n!=null&&te}function iv(n,e){return n!=null&&tn.call(n,e)}function uv(n,e){return n!=null&&e in fn(n)}function fv(n,e,t){return n>=On(e,t)&&n=120&&T.length>=120)?new Ge(s&&T):i}T=n[0];var R=-1,N=c[0];n:for(;++R-1;)c!==n&&lr.call(c,v,1),lr.call(n,v,1);return n}function rl(n,e){for(var t=n?e.length:0,r=t-1;t--;){var u=e[t];if(t==r||u!==a){var a=u;de(u)?lr.call(n,u,1):Mu(n,u)}}return n}function Cu(n,e){return n+hr($a()*(e-n+1))}function yv(n,e,t,r){for(var u=-1,a=yn(cr((e-n)/(t||1)),0),s=x(a);a--;)s[r?a:++u]=n,n+=t;return s}function Lu(n,e){var t="";if(!n||e<1||e>wn)return t;do e%2&&(t+=n),e=hr(e/2),e&&(n+=n);while(e);return t}function Q(n,e){return Qu(ql(n,e,Fn),n+"")}function wv(n){return Ba(ct(n))}function xv(n,e){var t=ct(n);return Er(t,ze(e,0,t.length))}function Pt(n,e,t,r){if(!hn(n))return n;e=Ce(e,n);for(var u=-1,a=e.length,s=a-1,c=n;c!=null&&++uu?0:u+e),t=t>u?u:t,t<0&&(t+=u),u=e>t?0:t-e>>>0,e>>>=0;for(var a=x(u);++r>>1,s=n[a];s!==null&&!Un(s)&&(t?s<=e:s=m){var O=e?null:Fv(n);if(O)return er(O);s=!1,u=wt,v=new Ge}else v=e?[]:c;n:for(;++r=r?n:Xn(n,e,t)}var sl=hg||function(n){return Sn.clearTimeout(n)};function cl(n,e){if(e)return n.slice();var t=n.length,r=La?La(t):new n.constructor(t);return n.copy(r),r}function Du(n){var e=new n.constructor(n.byteLength);return new or(e).set(new or(n)),e}function Tv(n,e){var t=e?Du(n.buffer):n.buffer;return new n.constructor(t,n.byteOffset,n.byteLength)}function Iv(n){var e=new n.constructor(n.source,Yo.exec(n));return e.lastIndex=n.lastIndex,e}function Rv(n){return Ot?fn(Ot.call(n)):{}}function hl(n,e){var t=e?Du(n.buffer):n.buffer;return new n.constructor(t,n.byteOffset,n.length)}function pl(n,e){if(n!==e){var t=n!==i,r=n===null,u=n===n,a=Un(n),s=e!==i,c=e===null,v=e===e,O=Un(e);if(!c&&!O&&!a&&n>e||a&&s&&v&&!c&&!O||r&&s&&v||!t&&v||!u)return 1;if(!r&&!a&&!O&&n=c)return v;var O=t[r];return v*(O=="desc"?-1:1)}}return n.index-e.index}function gl(n,e,t,r){for(var u=-1,a=n.length,s=t.length,c=-1,v=e.length,O=yn(a-s,0),T=x(v+O),R=!r;++c1?t[u-1]:i,s=u>2?t[2]:i;for(a=n.length>3&&typeof a=="function"?(u--,a):i,s&&Rn(t[0],t[1],s)&&(a=u<3?i:a,u=1),e=fn(e);++r-1?u[a?e[s]:s]:i}}function wl(n){return ve(function(e){var t=e.length,r=t,u=Yn.prototype.thru;for(n&&e.reverse();r--;){var a=e[r];if(typeof a!="function")throw new Vn(g);if(u&&!s&&Ir(a)=="wrapper")var s=new Yn([],!0)}for(r=s?r:t;++r1&&k.reverse(),T&&vc))return!1;var O=a.get(n),T=a.get(e);if(O&&T)return O==e&&T==n;var R=-1,N=!0,B=t&M?new Ge:i;for(a.set(n,e),a.set(e,n);++R1?"& ":"")+e[r],e=e.join(t>2?", ":" "),n.replace(Zh,`{ -/* [wrapped with `+e+`] */ -`)}function Kv(n){return Z(n)||Ve(n)||!!(Fa&&n&&n[Fa])}function de(n,e){var t=typeof n;return e=e??wn,!!e&&(t=="number"||t!="symbol"&&rp.test(n))&&n>-1&&n%1==0&&n0){if(++e>=Bi)return arguments[0]}else e=0;return n.apply(i,arguments)}}function Er(n,e){var t=-1,r=n.length,u=r-1;for(e=e===i?r:e;++t1?n[e-1]:i;return t=typeof t=="function"?(n.pop(),t):i,Kl(n,t)});function Zl(n){var e=o(n);return e.__chain__=!0,e}function t_(n,e){return e(n),n}function Pr(n,e){return e(n)}var r_=ve(function(n){var e=n.length,t=e?n[0]:0,r=this.__wrapped__,u=function(a){return bu(a,n)};return e>1||this.__actions__.length||!(r instanceof j)||!de(t)?this.thru(u):(r=r.slice(t,+t+(e?1:0)),r.__actions__.push({func:Pr,args:[u],thisArg:i}),new Yn(r,this.__chain__).thru(function(a){return e&&!a.length&&a.push(i),a}))});function i_(){return Zl(this)}function u_(){return new Yn(this.value(),this.__chain__)}function f_(){this.__values__===i&&(this.__values__=fs(this.value()));var n=this.__index__>=this.__values__.length,e=n?i:this.__values__[this.__index__++];return{done:n,value:e}}function o_(){return this}function a_(n){for(var e,t=this;t instanceof vr;){var r=Wl(t);r.__index__=0,r.__values__=i,e?u.__wrapped__=r:e=r;var u=r;t=t.__wrapped__}return u.__wrapped__=n,e}function l_(){var n=this.__wrapped__;if(n instanceof j){var e=n;return this.__actions__.length&&(e=new j(this)),e=e.reverse(),e.__actions__.push({func:Pr,args:[Xu],thisArg:i}),new Yn(e,this.__chain__)}return this.thru(Xu)}function s_(){return al(this.__wrapped__,this.__actions__)}var c_=br(function(n,e,t){tn.call(n,t)?++n[t]:pe(n,t,1)});function h_(n,e,t){var r=Z(n)?xa:tv;return t&&Rn(n,e,t)&&(e=i),r(n,G(e,3))}function p_(n,e){var t=Z(n)?Oe:Ka;return t(n,G(e,3))}var g_=yl(Bl),v_=yl(Ul);function d_(n,e){return An(Cr(n,e),1)}function __(n,e){return An(Cr(n,e),Nn)}function m_(n,e,t){return t=t===i?1:V(t),An(Cr(n,e),t)}function Vl(n,e){var t=Z(n)?Zn:Ee;return t(n,G(e,3))}function Yl(n,e){var t=Z(n)?$p:Ha;return t(n,G(e,3))}var y_=br(function(n,e,t){tn.call(n,t)?n[t].push(e):pe(n,t,[e])});function w_(n,e,t,r){n=qn(n)?n:ct(n),t=t&&!r?V(t):0;var u=n.length;return t<0&&(t=yn(u+t,0)),Nr(n)?t<=u&&n.indexOf(e,t)>-1:!!u&&ke(n,e,t)>-1}var x_=Q(function(n,e,t){var r=-1,u=typeof e=="function",a=qn(n)?x(n.length):[];return Ee(n,function(s){a[++r]=u?Dn(e,s,t):Rt(s,e,t)}),a}),b_=br(function(n,e,t){pe(n,t,e)});function Cr(n,e){var t=Z(n)?sn:Ja;return t(n,G(e,3))}function S_(n,e,t,r){return n==null?[]:(Z(e)||(e=e==null?[]:[e]),t=r?i:t,Z(t)||(t=t==null?[]:[t]),el(n,e,t))}var A_=br(function(n,e,t){n[t?0:1].push(e)},function(){return[[],[]]});function O_(n,e,t){var r=Z(n)?lu:Oa,u=arguments.length<3;return r(n,G(e,4),t,u,Ee)}function T_(n,e,t){var r=Z(n)?Dp:Oa,u=arguments.length<3;return r(n,G(e,4),t,u,Ha)}function I_(n,e){var t=Z(n)?Oe:Ka;return t(n,Mr(G(e,3)))}function R_(n){var e=Z(n)?Ba:wv;return e(n)}function E_(n,e,t){(t?Rn(n,e,t):e===i)?e=1:e=V(e);var r=Z(n)?Jg:xv;return r(n,e)}function P_(n){var e=Z(n)?jg:Sv;return e(n)}function C_(n){if(n==null)return 0;if(qn(n))return Nr(n)?et(n):n.length;var e=Tn(n);return e==dn||e==_n?n.size:Ru(n).length}function L_(n,e,t){var r=Z(n)?su:Av;return t&&Rn(n,e,t)&&(e=i),r(n,G(e,3))}var q_=Q(function(n,e){if(n==null)return[];var t=e.length;return t>1&&Rn(n,e[0],e[1])?e=[]:t>2&&Rn(e[0],e[1],e[2])&&(e=[e[0]]),el(n,An(e,1),[])}),Lr=pg||function(){return Sn.Date.now()};function M_(n,e){if(typeof e!="function")throw new Vn(g);return n=V(n),function(){if(--n<1)return e.apply(this,arguments)}}function Ql(n,e,t){return e=t?i:e,e=n&&e==null?n.length:e,ge(n,J,i,i,i,i,e)}function Xl(n,e){var t;if(typeof e!="function")throw new Vn(g);return n=V(n),function(){return--n>0&&(t=e.apply(this,arguments)),n<=1&&(e=i),t}}var ju=Q(function(n,e,t){var r=I;if(t.length){var u=Ie(t,lt(ju));r|=W}return ge(n,r,e,t,u)}),Jl=Q(function(n,e,t){var r=I|P;if(t.length){var u=Ie(t,lt(Jl));r|=W}return ge(e,r,n,t,u)});function jl(n,e,t){e=t?i:e;var r=ge(n,A,i,i,i,i,i,e);return r.placeholder=jl.placeholder,r}function kl(n,e,t){e=t?i:e;var r=ge(n,E,i,i,i,i,i,e);return r.placeholder=kl.placeholder,r}function ns(n,e,t){var r,u,a,s,c,v,O=0,T=!1,R=!1,N=!0;if(typeof n!="function")throw new Vn(g);e=jn(e)||0,hn(t)&&(T=!!t.leading,R="maxWait"in t,a=R?yn(jn(t.maxWait)||0,e):a,N="trailing"in t?!!t.trailing:N);function B(vn){var re=r,ye=u;return r=u=i,O=vn,s=n.apply(ye,re),s}function z(vn){return O=vn,c=qt(X,e),T?B(vn):s}function Y(vn){var re=vn-v,ye=vn-O,ys=e-re;return R?On(ys,a-ye):ys}function H(vn){var re=vn-v,ye=vn-O;return v===i||re>=e||re<0||R&&ye>=a}function X(){var vn=Lr();if(H(vn))return k(vn);c=qt(X,Y(vn))}function k(vn){return c=i,N&&r?B(vn):(r=u=i,s)}function Gn(){c!==i&&sl(c),O=0,r=v=u=c=i}function En(){return c===i?s:k(Lr())}function zn(){var vn=Lr(),re=H(vn);if(r=arguments,u=this,v=vn,re){if(c===i)return z(v);if(R)return sl(c),c=qt(X,e),B(v)}return c===i&&(c=qt(X,e)),s}return zn.cancel=Gn,zn.flush=En,zn}var F_=Q(function(n,e){return za(n,1,e)}),N_=Q(function(n,e,t){return za(n,jn(e)||0,t)});function $_(n){return ge(n,Pn)}function qr(n,e){if(typeof n!="function"||e!=null&&typeof e!="function")throw new Vn(g);var t=function(){var r=arguments,u=e?e.apply(this,r):r[0],a=t.cache;if(a.has(u))return a.get(u);var s=n.apply(this,r);return t.cache=a.set(u,s)||a,s};return t.cache=new(qr.Cache||he),t}qr.Cache=he;function Mr(n){if(typeof n!="function")throw new Vn(g);return function(){var e=arguments;switch(e.length){case 0:return!n.call(this);case 1:return!n.call(this,e[0]);case 2:return!n.call(this,e[0],e[1]);case 3:return!n.call(this,e[0],e[1],e[2])}return!n.apply(this,e)}}function D_(n){return Xl(2,n)}var W_=Ov(function(n,e){e=e.length==1&&Z(e[0])?sn(e[0],Wn(G())):sn(An(e,1),Wn(G()));var t=e.length;return Q(function(r){for(var u=-1,a=On(r.length,t);++u=e}),Ve=Ya(function(){return arguments}())?Ya:function(n){return pn(n)&&tn.call(n,"callee")&&!Ma.call(n,"callee")},Z=x.isArray,n0=va?Wn(va):av;function qn(n){return n!=null&&Fr(n.length)&&!_e(n)}function gn(n){return pn(n)&&qn(n)}function e0(n){return n===!0||n===!1||pn(n)&&In(n)==se}var qe=vg||cf,t0=da?Wn(da):lv;function r0(n){return pn(n)&&n.nodeType===1&&!Mt(n)}function i0(n){if(n==null)return!0;if(qn(n)&&(Z(n)||typeof n=="string"||typeof n.splice=="function"||qe(n)||st(n)||Ve(n)))return!n.length;var e=Tn(n);if(e==dn||e==_n)return!n.size;if(Lt(n))return!Ru(n).length;for(var t in n)if(tn.call(n,t))return!1;return!0}function u0(n,e){return Et(n,e)}function f0(n,e,t){t=typeof t=="function"?t:i;var r=t?t(n,e):i;return r===i?Et(n,e,i,t):!!r}function nf(n){if(!pn(n))return!1;var e=In(n);return e==ie||e==un||typeof n.message=="string"&&typeof n.name=="string"&&!Mt(n)}function o0(n){return typeof n=="number"&&Na(n)}function _e(n){if(!hn(n))return!1;var e=In(n);return e==xn||e==Se||e==dt||e==Yt}function ts(n){return typeof n=="number"&&n==V(n)}function Fr(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=wn}function hn(n){var e=typeof n;return n!=null&&(e=="object"||e=="function")}function pn(n){return n!=null&&typeof n=="object"}var rs=_a?Wn(_a):cv;function a0(n,e){return n===e||Iu(n,e,Hu(e))}function l0(n,e,t){return t=typeof t=="function"?t:i,Iu(n,e,Hu(e),t)}function s0(n){return is(n)&&n!=+n}function c0(n){if(Yv(n))throw new K(d);return Qa(n)}function h0(n){return n===null}function p0(n){return n==null}function is(n){return typeof n=="number"||pn(n)&&In(n)==Cn}function Mt(n){if(!pn(n)||In(n)!=Hn)return!1;var e=ar(n);if(e===null)return!0;var t=tn.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&ir.call(t)==lg}var ef=ma?Wn(ma):hv;function g0(n){return ts(n)&&n>=-wn&&n<=wn}var us=ya?Wn(ya):pv;function Nr(n){return typeof n=="string"||!Z(n)&&pn(n)&&In(n)==kn}function Un(n){return typeof n=="symbol"||pn(n)&&In(n)==Qt}var st=wa?Wn(wa):gv;function v0(n){return n===i}function d0(n){return pn(n)&&Tn(n)==mt}function _0(n){return pn(n)&&In(n)==qh}var m0=Tr(Eu),y0=Tr(function(n,e){return n<=e});function fs(n){if(!n)return[];if(qn(n))return Nr(n)?ne(n):Ln(n);if(xt&&n[xt])return Jp(n[xt]());var e=Tn(n),t=e==dn?du:e==_n?er:ct;return t(n)}function me(n){if(!n)return n===0?n:0;if(n=jn(n),n===Nn||n===-Nn){var e=n<0?-1:1;return e*De}return n===n?n:0}function V(n){var e=me(n),t=e%1;return e===e?t?e-t:e:0}function os(n){return n?ze(V(n),0,$n):0}function jn(n){if(typeof n=="number")return n;if(Un(n))return ae;if(hn(n)){var e=typeof n.valueOf=="function"?n.valueOf():n;n=hn(e)?e+"":e}if(typeof n!="string")return n===0?n:+n;n=Ta(n);var t=np.test(n);return t||tp.test(n)?Mp(n.slice(2),t?2:8):kh.test(n)?ae:+n}function as(n){return fe(n,Mn(n))}function w0(n){return n?ze(V(n),-wn,wn):n===0?n:0}function en(n){return n==null?"":Bn(n)}var x0=ot(function(n,e){if(Lt(e)||qn(e)){fe(e,bn(e),n);return}for(var t in e)tn.call(e,t)&&Tt(n,t,e[t])}),ls=ot(function(n,e){fe(e,Mn(e),n)}),$r=ot(function(n,e,t,r){fe(e,Mn(e),n,r)}),b0=ot(function(n,e,t,r){fe(e,bn(e),n,r)}),S0=ve(bu);function A0(n,e){var t=ft(n);return e==null?t:Ua(t,e)}var O0=Q(function(n,e){n=fn(n);var t=-1,r=e.length,u=r>2?e[2]:i;for(u&&Rn(e[0],e[1],u)&&(r=1);++t1),a}),fe(n,Gu(n),t),r&&(t=Qn(t,q|F|C,Nv));for(var u=e.length;u--;)Mu(t,e[u]);return t});function z0(n,e){return cs(n,Mr(G(e)))}var H0=ve(function(n,e){return n==null?{}:_v(n,e)});function cs(n,e){if(n==null)return{};var t=sn(Gu(n),function(r){return[r]});return e=G(e),tl(n,t,function(r,u){return e(r,u[0])})}function K0(n,e,t){e=Ce(e,n);var r=-1,u=e.length;for(u||(u=1,n=i);++re){var r=n;n=e,e=r}if(t||n%1||e%1){var u=$a();return On(n+u*(e-n+qp("1e-"+((u+"").length-1))),e)}return Cu(n,e)}var t1=at(function(n,e,t){return e=e.toLowerCase(),n+(t?gs(e):e)});function gs(n){return uf(en(n).toLowerCase())}function vs(n){return n=en(n),n&&n.replace(ip,Zp).replace(Sp,"")}function r1(n,e,t){n=en(n),e=Bn(e);var r=n.length;t=t===i?r:ze(V(t),0,r);var u=t;return t-=e.length,t>=0&&n.slice(t,u)==e}function i1(n){return n=en(n),n&&Dh.test(n)?n.replace(Zo,Vp):n}function u1(n){return n=en(n),n&&Hh.test(n)?n.replace(ki,"\\$&"):n}var f1=at(function(n,e,t){return n+(t?"-":"")+e.toLowerCase()}),o1=at(function(n,e,t){return n+(t?" ":"")+e.toLowerCase()}),a1=ml("toLowerCase");function l1(n,e,t){n=en(n),e=V(e);var r=e?et(n):0;if(!e||r>=e)return n;var u=(e-r)/2;return Or(hr(u),t)+n+Or(cr(u),t)}function s1(n,e,t){n=en(n),e=V(e);var r=e?et(n):0;return e&&r>>0,t?(n=en(n),n&&(typeof e=="string"||e!=null&&!ef(e))&&(e=Bn(e),!e&&nt(n))?Le(ne(n),0,t):n.split(e,t)):[]}var _1=at(function(n,e,t){return n+(t?" ":"")+uf(e)});function m1(n,e,t){return n=en(n),t=t==null?0:ze(V(t),0,n.length),e=Bn(e),n.slice(t,t+e.length)==e}function y1(n,e,t){var r=o.templateSettings;t&&Rn(n,e,t)&&(e=i),n=en(n),e=$r({},e,r,Ol);var u=$r({},e.imports,r.imports,Ol),a=bn(u),s=vu(u,a),c,v,O=0,T=e.interpolate||Xt,R="__p += '",N=_u((e.escape||Xt).source+"|"+T.source+"|"+(T===Vo?jh:Xt).source+"|"+(e.evaluate||Xt).source+"|$","g"),B="//# sourceURL="+(tn.call(e,"sourceURL")?(e.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Rp+"]")+` -`;n.replace(N,function(H,X,k,Gn,En,zn){return k||(k=Gn),R+=n.slice(O,zn).replace(up,Yp),X&&(c=!0,R+=`' + -__e(`+X+`) + -'`),En&&(v=!0,R+=`'; -`+En+`; -__p += '`),k&&(R+=`' + -((__t = (`+k+`)) == null ? '' : __t) + -'`),O=zn+H.length,H}),R+=`'; -`;var z=tn.call(e,"variable")&&e.variable;if(!z)R=`with (obj) { -`+R+` -} -`;else if(Xh.test(z))throw new K(y);R=(v?R.replace(Mh,""):R).replace(Fh,"$1").replace(Nh,"$1;"),R="function("+(z||"obj")+`) { -`+(z?"":`obj || (obj = {}); -`)+"var __t, __p = ''"+(c?", __e = _.escape":"")+(v?`, __j = Array.prototype.join; -function print() { __p += __j.call(arguments, '') } -`:`; -`)+R+`return __p -}`;var Y=_s(function(){return nn(a,B+"return "+R).apply(i,s)});if(Y.source=R,nf(Y))throw Y;return Y}function w1(n){return en(n).toLowerCase()}function x1(n){return en(n).toUpperCase()}function b1(n,e,t){if(n=en(n),n&&(t||e===i))return Ta(n);if(!n||!(e=Bn(e)))return n;var r=ne(n),u=ne(e),a=Ia(r,u),s=Ra(r,u)+1;return Le(r,a,s).join("")}function S1(n,e,t){if(n=en(n),n&&(t||e===i))return n.slice(0,Pa(n)+1);if(!n||!(e=Bn(e)))return n;var r=ne(n),u=Ra(r,ne(e))+1;return Le(r,0,u).join("")}function A1(n,e,t){if(n=en(n),n&&(t||e===i))return n.replace(nu,"");if(!n||!(e=Bn(e)))return n;var r=ne(n),u=Ia(r,ne(e));return Le(r,u).join("")}function O1(n,e){var t=gt,r=Ht;if(hn(e)){var u="separator"in e?e.separator:u;t="length"in e?V(e.length):t,r="omission"in e?Bn(e.omission):r}n=en(n);var a=n.length;if(nt(n)){var s=ne(n);a=s.length}if(t>=a)return n;var c=t-et(r);if(c<1)return r;var v=s?Le(s,0,c).join(""):n.slice(0,c);if(u===i)return v+r;if(s&&(c+=v.length-c),ef(u)){if(n.slice(c).search(u)){var O,T=v;for(u.global||(u=_u(u.source,en(Yo.exec(u))+"g")),u.lastIndex=0;O=u.exec(T);)var R=O.index;v=v.slice(0,R===i?c:R)}}else if(n.indexOf(Bn(u),c)!=c){var N=v.lastIndexOf(u);N>-1&&(v=v.slice(0,N))}return v+r}function T1(n){return n=en(n),n&&$h.test(n)?n.replace(Ko,eg):n}var I1=at(function(n,e,t){return n+(t?" ":"")+e.toUpperCase()}),uf=ml("toUpperCase");function ds(n,e,t){return n=en(n),e=t?i:e,e===i?Xp(n)?ig(n):Up(n):n.match(e)||[]}var _s=Q(function(n,e){try{return Dn(n,i,e)}catch(t){return nf(t)?t:new K(t)}}),R1=ve(function(n,e){return Zn(e,function(t){t=oe(t),pe(n,t,ju(n[t],n))}),n});function E1(n){var e=n==null?0:n.length,t=G();return n=e?sn(n,function(r){if(typeof r[1]!="function")throw new Vn(g);return[t(r[0]),r[1]]}):[],Q(function(r){for(var u=-1;++uwn)return[];var t=$n,r=On(n,$n);e=G(e),n-=$n;for(var u=gu(r,e);++t0||e<0)?new j(t):(n<0?t=t.takeRight(-n):n&&(t=t.drop(n)),e!==i&&(e=V(e),t=e<0?t.dropRight(-e):t.take(e-n)),t)},j.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},j.prototype.toArray=function(){return this.take($n)},ue(j.prototype,function(n,e){var t=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),u=o[r?"take"+(e=="last"?"Right":""):e],a=r||/^find/.test(e);u&&(o.prototype[e]=function(){var s=this.__wrapped__,c=r?[1]:arguments,v=s instanceof j,O=c[0],T=v||Z(s),R=function(X){var k=u.apply(o,Te([X],c));return r&&N?k[0]:k};T&&t&&typeof O=="function"&&O.length!=1&&(v=T=!1);var N=this.__chain__,B=!!this.__actions__.length,z=a&&!N,Y=v&&!B;if(!a&&T){s=Y?s:new j(this);var H=n.apply(s,c);return H.__actions__.push({func:Pr,args:[R],thisArg:i}),new Yn(H,N)}return z&&Y?n.apply(this,c):(H=this.thru(R),z?r?H.value()[0]:H.value():H)})}),Zn(["pop","push","shift","sort","splice","unshift"],function(n){var e=tr[n],t=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",r=/^(?:pop|shift)$/.test(n);o.prototype[n]=function(){var u=arguments;if(r&&!this.__chain__){var a=this.value();return e.apply(Z(a)?a:[],u)}return this[t](function(s){return e.apply(Z(s)?s:[],u)})}}),ue(j.prototype,function(n,e){var t=o[e];if(t){var r=t.name+"";tn.call(ut,r)||(ut[r]=[]),ut[r].push({name:e,func:t})}}),ut[Sr(i,P).name]=[{name:"wrapper",func:i}],j.prototype.clone=Tg,j.prototype.reverse=Ig,j.prototype.value=Rg,o.prototype.at=r_,o.prototype.chain=i_,o.prototype.commit=u_,o.prototype.next=f_,o.prototype.plant=a_,o.prototype.reverse=l_,o.prototype.toJSON=o.prototype.valueOf=o.prototype.value=s_,o.prototype.first=o.prototype.head,xt&&(o.prototype[xt]=o_),o},tt=ug();We?((We.exports=tt)._=tt,fu._=tt):Sn._=tt}).call(Ye)}(Ft,Ft.exports);var cn=Ft.exports;function Dr(f={},l){const i={};for(const h of Object.keys(f))i[h]=h==="$"?f[h]:l(f[h],h,f);return Object.setPrototypeOf(i,f)}var xs=function(){},bs=xs(),Me=function(f){return f!==bs&&f!==null},Ss=Me,As=Array.prototype.forEach,Os=Object.create,Ts=function(f,l){var i;for(i in f)l[i]=f[i]},hf=function(f){var l=Os(null);return As.call(arguments,function(i){Ss(i)&&Ts(Object(i),l)}),l},Is=function(){var f=Math.sign;return typeof f!="function"?!1:f(10)===1&&f(-20)===-1},Wr,pf;function Rs(){return pf||(pf=1,Wr=function(f){return f=Number(f),isNaN(f)||f===0?f:f>0?1:-1}),Wr}var Es=Is()?Math.sign:Rs(),Ps=Es,Cs=Math.abs,Ls=Math.floor,qs=function(f){return isNaN(f)?0:(f=Number(f),f===0||!isFinite(f)?f:Ps(f)*Ls(Cs(f)))},Ms=qs,Fs=Math.max,Fe=function(f){return Fs(0,Ms(f))},Ns=Fe,gf=function(f,l,i){var h;return isNaN(f)?(h=l,h>=0?i&&h?h-1:h:1):f===!1?!1:Ns(f)},we=function(f){if(typeof f!="function")throw new TypeError(f+" is not a function");return f},$s=Me,Qe=function(f){if(!$s(f))throw new TypeError("Cannot use null or undefined");return f},Ds=we,Ws=Qe,Bs=Function.prototype.bind,vf=Function.prototype.call,Us=Object.keys,Gs=Object.prototype.propertyIsEnumerable,zs=function(f,l){return function(i,h){var m,d=arguments[2],g=arguments[3];return i=Object(Ws(i)),Ds(h),m=Us(i),g&&m.sort(typeof g=="function"?Bs.call(g,i):void 0),typeof f!="function"&&(f=m[f]),vf.call(f,m,function(y,w){return Gs.call(i,y)?vf.call(h,d,i[y],y,i,w):l})}},Nt=zs("forEach"),Ne={},df={exports:{}},Hs=function(){var f=Object.assign,l;return typeof f!="function"?!1:(l={foo:"raz"},f(l,{bar:"dwa"},{trzy:"trzy"}),l.foo+l.bar+l.trzy==="razdwatrzy")},Br,_f;function Ks(){return _f||(_f=1,Br=function(){try{return Object.keys("primitive"),!0}catch{return!1}}),Br}var Ur,mf;function Zs(){if(mf)return Ur;mf=1;var f=Me,l=Object.keys;return Ur=function(i){return l(f(i)?Object(i):i)},Ur}var Gr,yf;function Vs(){return yf||(yf=1,Gr=Ks()()?Object.keys:Zs()),Gr}var zr,wf;function Ys(){if(wf)return zr;wf=1;var f=Vs(),l=Qe,i=Math.max;return zr=function(h,m){var d,g,y=i(arguments.length,2),w;for(h=Object(l(h)),w=function(_){try{h[_]=m[_]}catch(b){d||(d=b)}},g=1;g-1},Yr}var pc=cc()?String.prototype.contains:hc(),$t=Cf,qf=sc,Mf=xf,Ff=hf,ht=pc,gc=Pf.exports=function(f,l){var i,h,m,d,g;return arguments.length<2||typeof f!="string"?(d=l,l=f,f=null):d=arguments[2],$t(f)?(i=ht.call(f,"c"),h=ht.call(f,"e"),m=ht.call(f,"w")):(i=m=!0,h=!1),g={value:l,configurable:i,enumerable:h,writable:m},d?Mf(Ff(d),g):g};gc.gs=function(f,l,i){var h,m,d,g;return typeof f!="string"?(d=i,i=l,l=f,f=null):d=arguments[3],$t(l)?qf(l)?$t(i)?qf(i)||(d=i,i=void 0):i=void 0:(d=l,l=i=void 0):l=void 0,$t(f)?(h=ht.call(f,"c"),m=ht.call(f,"e")):(h=!0,m=!1),g={get:l,set:i,configurable:h,enumerable:m},d?Mf(Ff(d),g):g};var $e=Pf.exports,Qr={exports:{}};(function(f,l){var i=$e,h=we,m=Function.prototype.apply,d=Function.prototype.call,g=Object.create,y=Object.defineProperty,w=Object.defineProperties,_=Object.prototype.hasOwnProperty,b={configurable:!0,enumerable:!1,writable:!0},q,F,C,D,M,I,P;q=function(L,A){var E;return h(A),_.call(this,"__ee__")?E=this.__ee__:(E=b.value=g(null),y(this,"__ee__",b),b.value=null),E[L]?typeof E[L]=="object"?E[L].push(A):E[L]=[E[L],A]:E[L]=A,this},F=function(L,A){var E,W;return h(A),W=this,q.call(this,L,E=function(){C.call(W,L,E),m.call(A,this,arguments)}),E.__eeOnceListener__=A,this},C=function(L,A){var E,W,U,J;if(h(A),!_.call(this,"__ee__"))return this;if(E=this.__ee__,!E[L])return this;if(W=E[L],typeof W=="object")for(J=0;U=W[J];++J)(U===A||U.__eeOnceListener__===A)&&(W.length===2?E[L]=W[J?0:1]:W.splice(J,1));else(W===A||W.__eeOnceListener__===A)&&delete E[L];return this},D=function(L){var A,E,W,U,J;if(_.call(this,"__ee__")&&(U=this.__ee__[L],!!U))if(typeof U=="object"){for(E=arguments.length,J=new Array(E-1),A=1;A=55296&&E<=56319&&(rn+=F[++I])),rn=C?_.call(C,D,rn,P):rn,M?(b.value=rn,q(L,P,b)):L[P]=rn,++P;A=P}}if(A===void 0)for(A=h(F.length),M&&(L=new M(A)),I=0;I=0?b=g(b):b=l(this.length)-g(d(b)),w=b;w<_;++w)if(m.call(this,w)&&(q=this[w],f(q)))return w;return-1},xi}var Si,so;function eh(){if(so)return Si;so=1;var f=bi(),l=Object.create;return Si=function(){var i=0,h=[],m=l(null);return{get:function(d){var g=0,y=h,w,_=d.length;if(_===0)return y[_]||null;if(y=y[_]){for(;g<_-1;){if(w=f.call(y[0],d[g]),w===-1)return null;y=y[1][w],++g}return w=f.call(y[0],d[g]),w===-1?null:y[1][w]||null}return null},set:function(d){var g=0,y=h,w,_=d.length;if(_===0)y[_]=++i;else{for(y[_]||(y[_]=[[],[]]),y=y[_];g<_-1;)w=f.call(y[0],d[g]),w===-1&&(w=y[0].push(d[g])-1,y[1].push([[],[]])),y=y[1][w],++g;w=f.call(y[0],d[g]),w===-1&&(w=y[0].push(d[g])-1),y[1][w]=++i}return m[i]=d,i},delete:function(d){var g=0,y=h,w,_=m[d],b=_.length,q=[];if(b===0)delete y[b];else if(y=y[b]){for(;g"}},qi}var Mi,To;function lh(){if(To)return Mi;To=1;var f=ah(),l=/[\n\r\u2028\u2029]/g;return Mi=function(i){var h=f(i);return h.length>100&&(h=h.slice(0,99)+"…"),h=h.replace(l,function(m){return JSON.stringify(m).slice(1,-1)}),h},Mi}var Gt={exports:{}},Io;function Ro(){if(Io)return Gt.exports;Io=1,Gt.exports=f,Gt.exports.default=f;function f(l){return!!l&&(typeof l=="object"||typeof l=="function")&&typeof l.then=="function"}return Gt.exports}var Eo;function sh(){if(Eo)return yo;Eo=1;var f=vo(),l=uh(),i=oh(),h=lh(),m=Ro(),d=Ri(),g=Object.create,y=l("then","then:finally","done","done:finally");return Ne.promise=function(w,_){var b=g(null),q=g(null),F=g(null);if(w===!0)w=null;else if(w=i(w),!y[w])throw new TypeError("'"+h(w)+"' is not valid promise mode");_.on("set",function(C,D,M){var I=!1;if(!m(M)){q[C]=M,_.emit("setasync",C,1);return}b[C]=1,F[C]=M;var P=function(W){var U=b[C];if(I)throw new Error(`Memoizee error: Detected unordered then|done & finally resolution, which in turn makes proper detection of success/failure impossible (when in 'done:finally' mode) -Consider to rely on 'then' or 'done' mode instead.`);U&&(delete b[C],q[C]=W,_.emit("setasync",C,U))},L=function(){I=!0,b[C]&&(delete b[C],delete F[C],_.delete(C))},A=w;if(A||(A="then"),A==="then"){var E=function(){d(L)};M=M.then(function(W){d(P.bind(this,W))},E),typeof M.finally=="function"&&M.finally(E)}else if(A==="done"){if(typeof M.done!="function")throw new Error("Memoizee error: Retrieved promise does not implement 'done' in 'done' mode");M.done(P,L)}else if(A==="done:finally"){if(typeof M.done!="function")throw new Error("Memoizee error: Retrieved promise does not implement 'done' in 'done:finally' mode");if(typeof M.finally!="function")throw new Error("Memoizee error: Retrieved promise does not implement 'finally' in 'done:finally' mode");M.done(P),M.finally(L)}}),_.on("get",function(C,D,M){var I;if(b[C]){++b[C];return}I=F[C];var P=function(){_.emit("getasync",C,D,M)};m(I)?typeof I.done=="function"?I.done(P):I.then(function(){d(P)}):P()}),_.on("delete",function(C){if(delete F[C],b[C]){delete b[C];return}if(hasOwnProperty.call(q,C)){var D=q[C];delete q[C],_.emit("deleteasync",C,[D])}}),_.on("clear",function(){var C=q;q=g(null),b=g(null),F=g(null),_.emit("clearasync",f(C,function(D){return[D]}))})},yo}var Po={},Co;function ch(){if(Co)return Po;Co=1;var f=we,l=Nt,i=Ne,h=Function.prototype.apply;return i.dispose=function(m,d,g){var y;if(f(m),g.async&&i.async||g.promise&&i.promise){d.on("deleteasync",y=function(w,_){h.call(m,null,_)}),d.on("clearasync",function(w){l(w,function(_,b){y(b,_)})});return}d.on("delete",y=function(w,_){m(_)}),d.on("clear",function(w){l(w,function(_,b){y(b,_)})})},Po}var Lo={},Fi,qo;function hh(){return qo||(qo=1,Fi=2147483647),Fi}var Ni,Mo;function ph(){if(Mo)return Ni;Mo=1;var f=Fe,l=hh();return Ni=function(i){if(i=f(i),i>l)throw new TypeError(i+" exceeds maximum possible timeout");return i},Ni}var Fo;function gh(){if(Fo)return Lo;Fo=1;var f=pi(),l=Nt,i=Ri(),h=Ro(),m=ph(),d=Ne,g=Function.prototype,y=Math.max,w=Math.min,_=Object.create;return d.maxAge=function(b,q,F){var C,D,M,I;b=m(b),b&&(C=_(null),D=F.async&&d.async||F.promise&&d.promise?"async":"",q.on("set"+D,function(P){C[P]=setTimeout(function(){q.delete(P)},b),typeof C[P].unref=="function"&&C[P].unref(),I&&(I[P]&&I[P]!=="nextTick"&&clearTimeout(I[P]),I[P]=setTimeout(function(){delete I[P]},M),typeof I[P].unref=="function"&&I[P].unref())}),q.on("delete"+D,function(P){clearTimeout(C[P]),delete C[P],I&&(I[P]!=="nextTick"&&clearTimeout(I[P]),delete I[P])}),F.preFetch&&(F.preFetch===!0||isNaN(F.preFetch)?M=.333:M=y(w(Number(F.preFetch),1),0),M&&(I={},M=(1-M)*b,q.on("get"+D,function(P,L,A){I[P]||(I[P]="nextTick",i(function(){var E;I[P]==="nextTick"&&(delete I[P],q.delete(P),F.async&&(L=f(L),L.push(g)),E=q.memoized.apply(A,L),F.promise&&h(E)&&(typeof E.done=="function"?E.done(g,g):E.then(g,g)))}))}))),q.on("clear"+D,function(){l(C,function(P){clearTimeout(P)}),C={},I&&(l(I,function(P){P!=="nextTick"&&clearTimeout(P)}),I={})}))},Lo}var No={},$i,$o;function vh(){if($o)return $i;$o=1;var f=Fe,l=Object.create,i=Object.prototype.hasOwnProperty;return $i=function(h){var m=0,d=1,g=l(null),y=l(null),w=0,_;return h=f(h),{hit:function(b){var q=y[b],F=++w;if(g[F]=b,y[b]=F,!q)return++m,m<=h?void 0:(b=g[d],_(b),b);if(delete g[q],d===q)for(;!i.call(g,++d););},delete:_=function(b){var q=y[b];if(q&&(delete g[q],delete y[b],--m,d===q)){if(!m){w=0,d=1;return}for(;!i.call(g,++d););}},clear:function(){m=0,d=1,g=l(null),y=l(null),w=0}}},$i}var Do;function dh(){if(Do)return No;Do=1;var f=Fe,l=vh(),i=Ne;return i.max=function(h,m,d){var g,y,w;h=f(h),h&&(y=l(h),g=d.async&&i.async||d.promise&&i.promise?"async":"",m.on("set"+g,w=function(_){_=y.hit(_),_!==void 0&&m.delete(_)}),m.on("get"+g,w),m.on("delete"+g,y.delete),m.on("clear"+g,y.clear))},No}var Wo={},Bo;function _h(){if(Bo)return Wo;Bo=1;var f=$e,l=Ne,i=Object.create,h=Object.defineProperties;return l.refCounter=function(m,d,g){var y,w;y=i(null),w=g.async&&l.async||g.promise&&l.promise?"async":"",d.on("set"+w,function(_,b){y[_]=b||1}),d.on("get"+w,function(_){++y[_]}),d.on("delete"+w,function(_){delete y[_]}),d.on("clear"+w,function(){y={}}),h(d.memoized,{deleteRef:f(function(){var _=d.get(arguments);return _===null||!y[_]?null:--y[_]?!1:(d.delete(_),!0)}),getRefCount:f(function(){var _=d.get(arguments);return _===null||!y[_]?0:y[_]})})},Wo}var mh=hf,yh=gf,wh=Qc,xh=function(f){var l=mh(arguments[1]),i;return l.normalizer||(i=l.length=yh(l.length,f.length,l.async),i!==0&&(l.primitive?i===!1?l.normalizer=Xc():i>1&&(l.normalizer=Jc()(i)):i===!1?l.normalizer=eh()():i===1?l.normalizer=th()():l.normalizer=rh()(i))),l.async&&ih(),l.promise&&sh(),l.dispose&&ch(),l.maxAge&&gh(),l.max&&dh(),l.refCounter&&_h(),wh(f,l)},bh=ws(xh),Uo={exports:{}};(function(f,l){(function(i,h){f.exports=h()})(Ye,function(){return function(i){function h(d){if(m[d])return m[d].exports;var g=m[d]={i:d,l:!1,exports:{}};return i[d].call(g.exports,g,g.exports,h),g.l=!0,g.exports}var m={};return h.m=i,h.c=m,h.d=function(d,g,y){h.o(d,g)||Object.defineProperty(d,g,{configurable:!1,enumerable:!0,get:y})},h.n=function(d){var g=d&&d.__esModule?function(){return d.default}:function(){return d};return h.d(g,"a",g),g},h.o=function(d,g){return Object.prototype.hasOwnProperty.call(d,g)},h.p="",h(h.s=1)}([function(i,h,m){function d(y){var w=y===void 0?{}:y,_=w.ESCAPE,b=_===void 0?/^\\/:_,q=w.VARIABLE_START,F=q===void 0?/^\${\s*/:q,C=w.VARIABLE_END,D=C===void 0?/^\s*}/:C,M=w.PIPE_START,I=M===void 0?/^\s*\|\s*/:M,P=w.PIPE_PARAMETER_START,L=P===void 0?/^\s*:\s*/:P,A=w.QUOTED_STRING,E=A===void 0?h.DEFAULT_QUOTED_STRING_REGEX:A,W=w.QUOTED_STRING_TEST,U=W===void 0?null:W,J=w.QUOTED_STRING_GET_AND_ADVANCE,rn=J===void 0?null:J,Pn=w.QUOTED_STRING_IN_PARAMETER_TEST,gt=Pn===void 0?null:Pn,Ht=w.QUOTED_STRING_IN_PARAMETER_GET_AND_ADVANCE,Bi=Ht===void 0?null:Ht,Kt=U||function(Nn){return E.test(Nn)},vt=rn||g(E),Ui=gt||function(Nn){return E.test(Nn)},Gi=Bi||g(E);return function(Nn){function wn(an){an===void 0&&(an=1),un=un.substr(an)}function De(an){an===void 0&&(an=/^/),wn(un.match(an)[0].length)}function ae(){var an;return De(b),an=un.length>0?un[0]:"",wn(),an}function $n(an){var _n=(an===void 0?{}:an).isNull,kn=_n!==void 0&&_n;dn={name:"",pipes:[]},Hn=!kn}function zi(){ie.variables.push(dn),$n({isNull:!0})}function Zt(an){var _n=(an===void 0?{}:an).isNull,kn=_n!==void 0&&_n;Cn={name:"",parameters:[]},_t=!kn}function Vt(){dn.pipes.push(Cn),Zt({isNull:!0})}function le(an){var _n=(an===void 0?{}:an).isNull,kn=_n!==void 0&&_n;Ae="",Yt=!kn}function xe(){Cn.parameters.push(Ae),le({isNull:!0})}function dt(){return!!D.test(un)&&(De(D),xn>=3&&xe(),xn>=2&&Vt(),xn>=1&&zi(),xn=0,!0)}function se(){return!!I.test(un)&&(De(I),xn>=3&&xe(),xn>=2&&Vt(),xn>=1&&Zt(),xn=2,!0)}function be(){return!!L.test(un)&&(De(L),xn>=3&&xe(),xn>=2&&le(),xn=3,!0)}for(var un=Nn,ie={literals:[],variables:[]},xn=0,Se="",dn={name:"",pipes:[]},Cn={name:"",parameters:[]},Ae="",Hn=!1,_t=!1,Yt=!1;un&&un.length>0;)switch(xn){case 0:if(b.test(un)){Se+=ae();continue}if(F.test(un)){xn=1,$n(),ie.literals.push(Se),Se="",De(F);continue}Se+=un[0],wn();break;case 1:if(b.test(un)){dn.name+=ae();continue}if(dt()||se())continue;if(Kt(un)){dn.name+=vt(un,wn);continue}dn.name+=un[0],wn();break;case 2:if(b.test(un)){Cn.name+=ae();continue}if(dt()||be()||se())continue;if(Kt(un)){Cn.name+=vt(un,wn);continue}Cn.name+=un[0],wn();break;case 3:if(b.test(un)){Ae+=ae();continue}if(dt()||be()||se())continue;if(Ui(un)){Ae+=Gi(un,wn);continue}Ae+=un[0],wn()}return Yt&&Cn.parameters.push(Ae),_t&&dn.pipes.push(Cn),Hn&&ie.variables.push(dn),ie.literals.push(Se),ie}}function g(y){return function(w,_){var b=w.match(y);return _(b[0].length),b.slice(2).join("").replace("\\\\","\\")}}Object.defineProperty(h,"__esModule",{value:!0}),h.DEFAULT_QUOTED_STRING_REGEX=/^('((?:[^'\\]|\\.)*)'|'((?:[^'\\]|\\.)*)$|"((?:[^"\\]|\\.)*)"|"((?:[^"\\]|\\.)*)$)/,h.parseStringTemplateGenerator=d,h.parseStringTemplate=d(),h.getQuotedStringAndAdvanceForRegex=g},function(i,h,m){i.exports=m(2)},function(i,h,m){function d(g){for(var y in g)h.hasOwnProperty(y)||(h[y]=g[y])}Object.defineProperty(h,"__esModule",{value:!0}),d(m(0)),d(m(3))},function(i,h,m){function d(b){return function(q){return b.hasOwnProperty(q)?b[q]:q.split(".").reduce(function(F,C){return F.hasOwnProperty(C)?F[C]:""},b)}}function g(b,q,F,C){C===void 0&&(C=d(q));var D=C(b.name);return b.pipes.reduce(function(M,I){return F.hasOwnProperty(I.name)?F[I.name](M,I.parameters):M},D??"")}function y(b,q,F,C){return C===void 0&&(C=d(q)),b.literals.length===0?"":b.literals.slice(1).reduce(function(D,M,I){return""+D+g(b.variables[I],q,F,C)+M},b.literals[0])}function w(b,q,F){return y(_.parseStringTemplate(b),q,F)}Object.defineProperty(h,"__esModule",{value:!0});var _=m(0);h.evaluateParsedString=y,h.evaluateStringTemplate=w}])})})(Uo);var Go=Uo.exports;const zo=f=>{const l=Function("$",`return ${f};`);return i=>l(new Proxy(zt(i),{get(h,m){return typeof(h==null?void 0:h[m])=="function"?h[m]({}):h==null?void 0:h[m]}}))},Sh=/^\{\{\s*/,Ah=/^\s*\}\}/,Di=/\b\B/,Oh=Go.parseStringTemplateGenerator({VARIABLE_START:Sh,VARIABLE_END:Ah,PIPE_START:Di,PIPE_PARAMETER_START:Di,QUOTED_STRING:Di}),Th=bh(f=>{const l=Oh(f);return cn.join(l.literals,"")?i=>Go.evaluateParsedString(l,{},{},h=>zo(h)(i)):zo(l.variables[0].name)},{primitive:!0});function Xe(f){switch(f==null?void 0:f.constructor){case Array:{const l=cn.map(f,Xe);return i=>cn.map(l,h=>h(i))}case Object:{const l=cn.mapValues(f,Xe);return i=>cn.mapValues(l,h=>h(i))}case String:return Th(f);default:return()=>f}}function zt(f={}){return Dr(f,l=>cn.isFunction(l)?l:Xe(l))}function Ih(f={}){return new Proxy(f,{get:(l,i)=>typeof l[i]=="function"?l[i]:()=>l[i]})}function Wi(f,l){return Object.setPrototypeOf(Dr(l,i=>h=>i(f)),f)}function Rh(f){const{$for:l,...i}=f;if(l){const{$let:h="i",$from:m=0,$to:d=1,$step:g=1}=l,y=Xe(m),w=Xe(d),_=Xe(g);return(b={})=>cn.range(y(b),w(b),_(b)).map(q=>{const F=Wi(b,zt({[h]:q}));return Wi(F,zt(i))})}else return(h={})=>[Wi(h,zt(i))]}function Eh(f,l){const i=d=>{const{$:g}=d,y=Rh(d);return g in l?w=>cn.flatMap(y(w),_=>cn.flatMap(h[g],b=>b(_))):w=>cn.map(y(w),_=>Object.setPrototypeOf(Dr(_,b=>b(_)),null))},h=cn.mapValues(l,d=>cn.map(d,i)),m=cn.flatMap(f,i);return d=>cn.flatMap(m,g=>g(d))}const Ph=f=>f==null,Ho=f=>f.display!=="transient";function Ch({trace:f,context:l,view:i="main",from:h=0,to:m=(d=>(d=f==null?void 0:f.events)==null?void 0:d.length)()??0}){var q,F,C,D;const g=Eh(((C=(F=(q=f==null?void 0:f.render)==null?void 0:q.views)==null?void 0:F[i])==null?void 0:C.components)??[],((D=f==null?void 0:f.render)==null?void 0:D.components)??{}),y=M=>M&&Object.hasOwn(M,"alpha")?M.alpha>0:!0,w=M=>I=>({component:I,meta:{source:"trace",step:h+M,info:I.$info}}),_=cn.chain(f==null?void 0:f.events).map((M,I)=>({step:I,id:M.id,data:M,pId:M.pId})).groupBy("id").value(),b=cn.chain(cn.range(h,m)).map(M=>{var W;const I=f.events[M],P=f.events,L=g(Ih({alpha:1,...l,step:M,parent:Ph(I.pId)?void 0:P[((W=cn.findLast(_[I.pId],U=>U.step<=M))==null?void 0:W.step)??0],event:I,events:P})),A=L.filter(Ho),E=L.filter(cn.negate(Ho));return{persistent:A,transient:E}}).map(M=>cn.mapValues(M,I=>I.filter(y))).map((M,I)=>cn.mapValues(M,P=>P.map(w(I)))).value();return{stepsPersistent:cn.map(b,M=>M.persistent),stepsTransient:cn.map(b,M=>M.transient)}}onmessage=({data:f})=>{postMessage(Ch(f))}})(); diff --git a/assets/parseTraceSlave.worker-104018b7.js b/assets/parseTraceSlave.worker-104018b7.js new file mode 100644 index 00000000..7620d025 --- /dev/null +++ b/assets/parseTraceSlave.worker-104018b7.js @@ -0,0 +1,28 @@ +(function(){"use strict";var Ye=typeof globalThis<"u"?globalThis:typeof window<"u"?window:typeof global<"u"?global:typeof self<"u"?self:{};function ms(f){return f&&f.__esModule&&Object.prototype.hasOwnProperty.call(f,"default")?f.default:f}var Ft={exports:{}};/** + * @license + * Lodash + * Copyright OpenJS Foundation and other contributors + * Released under MIT license + * Based on Underscore.js 1.8.3 + * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors + */Ft.exports,function(f,l){(function(){var i,h="4.17.21",m=200,d="Unsupported core-js use. Try https://npms.io/search?q=ponyfill.",g="Expected a function",y="Invalid `variable` option passed into `_.template`",w="__lodash_hash_undefined__",_=500,b="__lodash_placeholder__",q=1,F=2,C=4,D=1,M=2,I=1,P=2,L=4,A=8,E=16,W=32,U=64,J=128,rn=256,Pn=512,gt=30,Ht="...",Wi=800,Kt=16,vt=1,Bi=2,Ui=3,Nn=1/0,wn=9007199254740991,De=17976931348623157e292,ae=0/0,$n=4294967295,Gi=$n-1,Zt=$n>>>1,Vt=[["ary",J],["bind",I],["bindKey",P],["curry",A],["curryRight",E],["flip",Pn],["partial",W],["partialRight",U],["rearg",rn]],le="[object Arguments]",xe="[object Array]",dt="[object AsyncFunction]",se="[object Boolean]",be="[object Date]",un="[object DOMException]",ie="[object Error]",xn="[object Function]",Se="[object GeneratorFunction]",dn="[object Map]",Cn="[object Number]",Ae="[object Null]",Hn="[object Object]",_t="[object Promise]",Yt="[object Proxy]",an="[object RegExp]",_n="[object Set]",kn="[object String]",Qt="[object Symbol]",Ph="[object Undefined]",mt="[object WeakMap]",Ch="[object WeakSet]",yt="[object ArrayBuffer]",Je="[object DataView]",zi="[object Float32Array]",Hi="[object Float64Array]",Ki="[object Int8Array]",Zi="[object Int16Array]",Vi="[object Int32Array]",Yi="[object Uint8Array]",Qi="[object Uint8ClampedArray]",Xi="[object Uint16Array]",Ji="[object Uint32Array]",Lh=/\b__p \+= '';/g,qh=/\b(__p \+=) '' \+/g,Mh=/(__e\(.*?\)|\b__t\)) \+\n'';/g,zo=/&(?:amp|lt|gt|quot|#39);/g,Ho=/[&<>"']/g,Fh=RegExp(zo.source),Nh=RegExp(Ho.source),$h=/<%-([\s\S]+?)%>/g,Dh=/<%([\s\S]+?)%>/g,Ko=/<%=([\s\S]+?)%>/g,Wh=/\.|\[(?:[^[\]]*|(["'])(?:(?!\1)[^\\]|\\.)*?\1)\]/,Bh=/^\w*$/,Uh=/[^.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|$))/g,ji=/[\\^$.*+?()[\]{}|]/g,Gh=RegExp(ji.source),ki=/^\s+/,zh=/\s/,Hh=/\{(?:\n\/\* \[wrapped with .+\] \*\/)?\n?/,Kh=/\{\n\/\* \[wrapped with (.+)\] \*/,Zh=/,? & /,Vh=/[^\x00-\x2f\x3a-\x40\x5b-\x60\x7b-\x7f]+/g,Yh=/[()=,{}\[\]\/\s]/,Qh=/\\(\\)?/g,Xh=/\$\{([^\\}]*(?:\\.[^\\}]*)*)\}/g,Zo=/\w*$/,Jh=/^[-+]0x[0-9a-f]+$/i,jh=/^0b[01]+$/i,kh=/^\[object .+?Constructor\]$/,np=/^0o[0-7]+$/i,ep=/^(?:0|[1-9]\d*)$/,tp=/[\xc0-\xd6\xd8-\xf6\xf8-\xff\u0100-\u017f]/g,Xt=/($^)/,rp=/['\n\r\u2028\u2029\\]/g,Jt="\\ud800-\\udfff",ip="\\u0300-\\u036f",up="\\ufe20-\\ufe2f",fp="\\u20d0-\\u20ff",Vo=ip+up+fp,Yo="\\u2700-\\u27bf",Qo="a-z\\xdf-\\xf6\\xf8-\\xff",op="\\xac\\xb1\\xd7\\xf7",ap="\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\xbf",lp="\\u2000-\\u206f",sp=" \\t\\x0b\\f\\xa0\\ufeff\\n\\r\\u2028\\u2029\\u1680\\u180e\\u2000\\u2001\\u2002\\u2003\\u2004\\u2005\\u2006\\u2007\\u2008\\u2009\\u200a\\u202f\\u205f\\u3000",Xo="A-Z\\xc0-\\xd6\\xd8-\\xde",Jo="\\ufe0e\\ufe0f",jo=op+ap+lp+sp,nu="['’]",cp="["+Jt+"]",ko="["+jo+"]",jt="["+Vo+"]",na="\\d+",hp="["+Yo+"]",ea="["+Qo+"]",ta="[^"+Jt+jo+na+Yo+Qo+Xo+"]",eu="\\ud83c[\\udffb-\\udfff]",pp="(?:"+jt+"|"+eu+")",ra="[^"+Jt+"]",tu="(?:\\ud83c[\\udde6-\\uddff]){2}",ru="[\\ud800-\\udbff][\\udc00-\\udfff]",je="["+Xo+"]",ia="\\u200d",ua="(?:"+ea+"|"+ta+")",gp="(?:"+je+"|"+ta+")",fa="(?:"+nu+"(?:d|ll|m|re|s|t|ve))?",oa="(?:"+nu+"(?:D|LL|M|RE|S|T|VE))?",aa=pp+"?",la="["+Jo+"]?",vp="(?:"+ia+"(?:"+[ra,tu,ru].join("|")+")"+la+aa+")*",dp="\\d*(?:1st|2nd|3rd|(?![123])\\dth)(?=\\b|[A-Z_])",_p="\\d*(?:1ST|2ND|3RD|(?![123])\\dTH)(?=\\b|[a-z_])",sa=la+aa+vp,mp="(?:"+[hp,tu,ru].join("|")+")"+sa,yp="(?:"+[ra+jt+"?",jt,tu,ru,cp].join("|")+")",wp=RegExp(nu,"g"),xp=RegExp(jt,"g"),iu=RegExp(eu+"(?="+eu+")|"+yp+sa,"g"),bp=RegExp([je+"?"+ea+"+"+fa+"(?="+[ko,je,"$"].join("|")+")",gp+"+"+oa+"(?="+[ko,je+ua,"$"].join("|")+")",je+"?"+ua+"+"+fa,je+"+"+oa,_p,dp,na,mp].join("|"),"g"),Sp=RegExp("["+ia+Jt+Vo+Jo+"]"),Ap=/[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/,Op=["Array","Buffer","DataView","Date","Error","Float32Array","Float64Array","Function","Int8Array","Int16Array","Int32Array","Map","Math","Object","Promise","RegExp","Set","String","Symbol","TypeError","Uint8Array","Uint8ClampedArray","Uint16Array","Uint32Array","WeakMap","_","clearTimeout","isFinite","parseInt","setTimeout"],Tp=-1,ln={};ln[zi]=ln[Hi]=ln[Ki]=ln[Zi]=ln[Vi]=ln[Yi]=ln[Qi]=ln[Xi]=ln[Ji]=!0,ln[le]=ln[xe]=ln[yt]=ln[se]=ln[Je]=ln[be]=ln[ie]=ln[xn]=ln[dn]=ln[Cn]=ln[Hn]=ln[an]=ln[_n]=ln[kn]=ln[mt]=!1;var on={};on[le]=on[xe]=on[yt]=on[Je]=on[se]=on[be]=on[zi]=on[Hi]=on[Ki]=on[Zi]=on[Vi]=on[dn]=on[Cn]=on[Hn]=on[an]=on[_n]=on[kn]=on[Qt]=on[Yi]=on[Qi]=on[Xi]=on[Ji]=!0,on[ie]=on[xn]=on[mt]=!1;var Ip={À:"A",Á:"A",Â:"A",Ã:"A",Ä:"A",Å:"A",à:"a",á:"a",â:"a",ã:"a",ä:"a",å:"a",Ç:"C",ç:"c",Ð:"D",ð:"d",È:"E",É:"E",Ê:"E",Ë:"E",è:"e",é:"e",ê:"e",ë:"e",Ì:"I",Í:"I",Î:"I",Ï:"I",ì:"i",í:"i",î:"i",ï:"i",Ñ:"N",ñ:"n",Ò:"O",Ó:"O",Ô:"O",Õ:"O",Ö:"O",Ø:"O",ò:"o",ó:"o",ô:"o",õ:"o",ö:"o",ø:"o",Ù:"U",Ú:"U",Û:"U",Ü:"U",ù:"u",ú:"u",û:"u",ü:"u",Ý:"Y",ý:"y",ÿ:"y",Æ:"Ae",æ:"ae",Þ:"Th",þ:"th",ß:"ss",Ā:"A",Ă:"A",Ą:"A",ā:"a",ă:"a",ą:"a",Ć:"C",Ĉ:"C",Ċ:"C",Č:"C",ć:"c",ĉ:"c",ċ:"c",č:"c",Ď:"D",Đ:"D",ď:"d",đ:"d",Ē:"E",Ĕ:"E",Ė:"E",Ę:"E",Ě:"E",ē:"e",ĕ:"e",ė:"e",ę:"e",ě:"e",Ĝ:"G",Ğ:"G",Ġ:"G",Ģ:"G",ĝ:"g",ğ:"g",ġ:"g",ģ:"g",Ĥ:"H",Ħ:"H",ĥ:"h",ħ:"h",Ĩ:"I",Ī:"I",Ĭ:"I",Į:"I",İ:"I",ĩ:"i",ī:"i",ĭ:"i",į:"i",ı:"i",Ĵ:"J",ĵ:"j",Ķ:"K",ķ:"k",ĸ:"k",Ĺ:"L",Ļ:"L",Ľ:"L",Ŀ:"L",Ł:"L",ĺ:"l",ļ:"l",ľ:"l",ŀ:"l",ł:"l",Ń:"N",Ņ:"N",Ň:"N",Ŋ:"N",ń:"n",ņ:"n",ň:"n",ŋ:"n",Ō:"O",Ŏ:"O",Ő:"O",ō:"o",ŏ:"o",ő:"o",Ŕ:"R",Ŗ:"R",Ř:"R",ŕ:"r",ŗ:"r",ř:"r",Ś:"S",Ŝ:"S",Ş:"S",Š:"S",ś:"s",ŝ:"s",ş:"s",š:"s",Ţ:"T",Ť:"T",Ŧ:"T",ţ:"t",ť:"t",ŧ:"t",Ũ:"U",Ū:"U",Ŭ:"U",Ů:"U",Ű:"U",Ų:"U",ũ:"u",ū:"u",ŭ:"u",ů:"u",ű:"u",ų:"u",Ŵ:"W",ŵ:"w",Ŷ:"Y",ŷ:"y",Ÿ:"Y",Ź:"Z",Ż:"Z",Ž:"Z",ź:"z",ż:"z",ž:"z",IJ:"IJ",ij:"ij",Œ:"Oe",œ:"oe",ʼn:"'n",ſ:"s"},Rp={"&":"&","<":"<",">":">",'"':""","'":"'"},Ep={"&":"&","<":"<",">":">",""":'"',"'":"'"},Pp={"\\":"\\","'":"'","\n":"n","\r":"r","\u2028":"u2028","\u2029":"u2029"},Cp=parseFloat,Lp=parseInt,ca=typeof Ye=="object"&&Ye&&Ye.Object===Object&&Ye,qp=typeof self=="object"&&self&&self.Object===Object&&self,Sn=ca||qp||Function("return this")(),uu=l&&!l.nodeType&&l,We=uu&&!0&&f&&!f.nodeType&&f,ha=We&&We.exports===uu,fu=ha&&ca.process,Kn=function(){try{var p=We&&We.require&&We.require("util").types;return p||fu&&fu.binding&&fu.binding("util")}catch{}}(),pa=Kn&&Kn.isArrayBuffer,ga=Kn&&Kn.isDate,va=Kn&&Kn.isMap,da=Kn&&Kn.isRegExp,_a=Kn&&Kn.isSet,ma=Kn&&Kn.isTypedArray;function Dn(p,S,x){switch(x.length){case 0:return p.call(S);case 1:return p.call(S,x[0]);case 2:return p.call(S,x[0],x[1]);case 3:return p.call(S,x[0],x[1],x[2])}return p.apply(S,x)}function Mp(p,S,x,$){for(var K=-1,nn=p==null?0:p.length;++K-1}function ou(p,S,x){for(var $=-1,K=p==null?0:p.length;++$-1;);return x}function Ta(p,S){for(var x=p.length;x--&&ke(S,p[x],0)>-1;);return x}function zp(p,S){for(var x=p.length,$=0;x--;)p[x]===S&&++$;return $}var Hp=cu(Ip),Kp=cu(Rp);function Zp(p){return"\\"+Pp[p]}function Vp(p,S){return p==null?i:p[S]}function nt(p){return Sp.test(p)}function Yp(p){return Ap.test(p)}function Qp(p){for(var S,x=[];!(S=p.next()).done;)x.push(S.value);return x}function vu(p){var S=-1,x=Array(p.size);return p.forEach(function($,K){x[++S]=[K,$]}),x}function Ia(p,S){return function(x){return p(S(x))}}function Ie(p,S){for(var x=-1,$=p.length,K=0,nn=[];++x<$;){var mn=p[x];(mn===S||mn===b)&&(p[x]=b,nn[K++]=x)}return nn}function er(p){var S=-1,x=Array(p.size);return p.forEach(function($){x[++S]=$}),x}function Xp(p){var S=-1,x=Array(p.size);return p.forEach(function($){x[++S]=[$,$]}),x}function Jp(p,S,x){for(var $=x-1,K=p.length;++$-1}function Ng(n,e){var t=this.__data__,r=dr(t,n);return r<0?(++this.size,t.push([n,e])):t[r][1]=e,this}ce.prototype.clear=Lg,ce.prototype.delete=qg,ce.prototype.get=Mg,ce.prototype.has=Fg,ce.prototype.set=Ng;function he(n){var e=-1,t=n==null?0:n.length;for(this.clear();++e=e?n:e)),n}function Qn(n,e,t,r,u,a){var s,c=e&q,v=e&F,O=e&C;if(t&&(s=u?t(n,r,u,a):t(n)),s!==i)return s;if(!hn(n))return n;var T=Z(n);if(T){if(s=Bv(n),!c)return Ln(n,s)}else{var R=Tn(n),N=R==xn||R==Se;if(qe(n))return ll(n,c);if(R==Hn||R==le||N&&!u){if(s=v||N?{}:Rl(n),!c)return v?Ev(n,jg(s,n)):Rv(n,Wa(s,n))}else{if(!on[R])return u?n:{};s=Uv(n,R,c)}}a||(a=new ee);var B=a.get(n);if(B)return B;a.set(n,s),rs(n)?n.forEach(function(H){s.add(Qn(H,e,t,H,n,a))}):es(n)&&n.forEach(function(H,X){s.set(X,Qn(H,e,t,X,n,a))});var z=O?v?Uu:Bu:v?Mn:bn,Y=T?i:z(n);return Zn(Y||n,function(H,X){Y&&(X=H,H=n[X]),Tt(s,X,Qn(H,e,t,X,n,a))}),s}function kg(n){var e=bn(n);return function(t){return Ba(t,n,e)}}function Ba(n,e,t){var r=t.length;if(n==null)return!r;for(n=fn(n);r--;){var u=t[r],a=e[u],s=n[u];if(s===i&&!(u in n)||!a(s))return!1}return!0}function Ua(n,e,t){if(typeof n!="function")throw new Vn(g);return qt(function(){n.apply(i,t)},e)}function It(n,e,t,r){var u=-1,a=kt,s=!0,c=n.length,v=[],O=e.length;if(!c)return v;t&&(e=sn(e,Wn(t))),r?(a=ou,s=!1):e.length>=m&&(a=wt,s=!1,e=new Ge(e));n:for(;++uu?0:u+t),r=r===i||r>u?u:V(r),r<0&&(r+=u),r=t>r?0:us(r);t0&&t(c)?e>1?An(c,e-1,t,r,u):Te(u,c):r||(u[u.length]=c)}return u}var bu=vl(),Ha=vl(!0);function ue(n,e){return n&&bu(n,e,bn)}function Su(n,e){return n&&Ha(n,e,bn)}function mr(n,e){return Oe(e,function(t){return _e(n[t])})}function He(n,e){e=Ce(e,n);for(var t=0,r=e.length;n!=null&&te}function tv(n,e){return n!=null&&tn.call(n,e)}function rv(n,e){return n!=null&&e in fn(n)}function iv(n,e,t){return n>=On(e,t)&&n=120&&T.length>=120)?new Ge(s&&T):i}T=n[0];var R=-1,N=c[0];n:for(;++R-1;)c!==n&&lr.call(c,v,1),lr.call(n,v,1);return n}function el(n,e){for(var t=n?e.length:0,r=t-1;t--;){var u=e[t];if(t==r||u!==a){var a=u;de(u)?lr.call(n,u,1):qu(n,u)}}return n}function Pu(n,e){return n+hr(Fa()*(e-n+1))}function _v(n,e,t,r){for(var u=-1,a=yn(cr((e-n)/(t||1)),0),s=x(a);a--;)s[r?a:++u]=n,n+=t;return s}function Cu(n,e){var t="";if(!n||e<1||e>wn)return t;do e%2&&(t+=n),e=hr(e/2),e&&(n+=n);while(e);return t}function Q(n,e){return Yu(Cl(n,e,Fn),n+"")}function mv(n){return Da(ct(n))}function yv(n,e){var t=ct(n);return Er(t,ze(e,0,t.length))}function Pt(n,e,t,r){if(!hn(n))return n;e=Ce(e,n);for(var u=-1,a=e.length,s=a-1,c=n;c!=null&&++uu?0:u+e),t=t>u?u:t,t<0&&(t+=u),u=e>t?0:t-e>>>0,e>>>=0;for(var a=x(u);++r>>1,s=n[a];s!==null&&!Un(s)&&(t?s<=e:s=m){var O=e?null:qv(n);if(O)return er(O);s=!1,u=wt,v=new Ge}else v=e?[]:c;n:for(;++r=r?n:Xn(n,e,t)}var al=sg||function(n){return Sn.clearTimeout(n)};function ll(n,e){if(e)return n.slice();var t=n.length,r=Pa?Pa(t):new n.constructor(t);return n.copy(r),r}function $u(n){var e=new n.constructor(n.byteLength);return new or(e).set(new or(n)),e}function Av(n,e){var t=e?$u(n.buffer):n.buffer;return new n.constructor(t,n.byteOffset,n.byteLength)}function Ov(n){var e=new n.constructor(n.source,Zo.exec(n));return e.lastIndex=n.lastIndex,e}function Tv(n){return Ot?fn(Ot.call(n)):{}}function sl(n,e){var t=e?$u(n.buffer):n.buffer;return new n.constructor(t,n.byteOffset,n.length)}function cl(n,e){if(n!==e){var t=n!==i,r=n===null,u=n===n,a=Un(n),s=e!==i,c=e===null,v=e===e,O=Un(e);if(!c&&!O&&!a&&n>e||a&&s&&v&&!c&&!O||r&&s&&v||!t&&v||!u)return 1;if(!r&&!a&&!O&&n=c)return v;var O=t[r];return v*(O=="desc"?-1:1)}}return n.index-e.index}function hl(n,e,t,r){for(var u=-1,a=n.length,s=t.length,c=-1,v=e.length,O=yn(a-s,0),T=x(v+O),R=!r;++c1?t[u-1]:i,s=u>2?t[2]:i;for(a=n.length>3&&typeof a=="function"?(u--,a):i,s&&Rn(t[0],t[1],s)&&(a=u<3?i:a,u=1),e=fn(e);++r-1?u[a?e[s]:s]:i}}function ml(n){return ve(function(e){var t=e.length,r=t,u=Yn.prototype.thru;for(n&&e.reverse();r--;){var a=e[r];if(typeof a!="function")throw new Vn(g);if(u&&!s&&Ir(a)=="wrapper")var s=new Yn([],!0)}for(r=s?r:t;++r1&&k.reverse(),T&&vc))return!1;var O=a.get(n),T=a.get(e);if(O&&T)return O==e&&T==n;var R=-1,N=!0,B=t&M?new Ge:i;for(a.set(n,e),a.set(e,n);++R1?"& ":"")+e[r],e=e.join(t>2?", ":" "),n.replace(Hh,`{ +/* [wrapped with `+e+`] */ +`)}function zv(n){return Z(n)||Ve(n)||!!(qa&&n&&n[qa])}function de(n,e){var t=typeof n;return e=e??wn,!!e&&(t=="number"||t!="symbol"&&ep.test(n))&&n>-1&&n%1==0&&n0){if(++e>=Wi)return arguments[0]}else e=0;return n.apply(i,arguments)}}function Er(n,e){var t=-1,r=n.length,u=r-1;for(e=e===i?r:e;++t1?n[e-1]:i;return t=typeof t=="function"?(n.pop(),t):i,zl(n,t)});function Hl(n){var e=o(n);return e.__chain__=!0,e}function n_(n,e){return e(n),n}function Pr(n,e){return e(n)}var e_=ve(function(n){var e=n.length,t=e?n[0]:0,r=this.__wrapped__,u=function(a){return xu(a,n)};return e>1||this.__actions__.length||!(r instanceof j)||!de(t)?this.thru(u):(r=r.slice(t,+t+(e?1:0)),r.__actions__.push({func:Pr,args:[u],thisArg:i}),new Yn(r,this.__chain__).thru(function(a){return e&&!a.length&&a.push(i),a}))});function t_(){return Hl(this)}function r_(){return new Yn(this.value(),this.__chain__)}function i_(){this.__values__===i&&(this.__values__=is(this.value()));var n=this.__index__>=this.__values__.length,e=n?i:this.__values__[this.__index__++];return{done:n,value:e}}function u_(){return this}function f_(n){for(var e,t=this;t instanceof vr;){var r=$l(t);r.__index__=0,r.__values__=i,e?u.__wrapped__=r:e=r;var u=r;t=t.__wrapped__}return u.__wrapped__=n,e}function o_(){var n=this.__wrapped__;if(n instanceof j){var e=n;return this.__actions__.length&&(e=new j(this)),e=e.reverse(),e.__actions__.push({func:Pr,args:[Qu],thisArg:i}),new Yn(e,this.__chain__)}return this.thru(Qu)}function a_(){return fl(this.__wrapped__,this.__actions__)}var l_=br(function(n,e,t){tn.call(n,t)?++n[t]:pe(n,t,1)});function s_(n,e,t){var r=Z(n)?ya:nv;return t&&Rn(n,e,t)&&(e=i),r(n,G(e,3))}function c_(n,e){var t=Z(n)?Oe:za;return t(n,G(e,3))}var h_=_l(Dl),p_=_l(Wl);function g_(n,e){return An(Cr(n,e),1)}function v_(n,e){return An(Cr(n,e),Nn)}function d_(n,e,t){return t=t===i?1:V(t),An(Cr(n,e),t)}function Kl(n,e){var t=Z(n)?Zn:Ee;return t(n,G(e,3))}function Zl(n,e){var t=Z(n)?Fp:Ga;return t(n,G(e,3))}var __=br(function(n,e,t){tn.call(n,t)?n[t].push(e):pe(n,t,[e])});function m_(n,e,t,r){n=qn(n)?n:ct(n),t=t&&!r?V(t):0;var u=n.length;return t<0&&(t=yn(u+t,0)),Nr(n)?t<=u&&n.indexOf(e,t)>-1:!!u&&ke(n,e,t)>-1}var y_=Q(function(n,e,t){var r=-1,u=typeof e=="function",a=qn(n)?x(n.length):[];return Ee(n,function(s){a[++r]=u?Dn(e,s,t):Rt(s,e,t)}),a}),w_=br(function(n,e,t){pe(n,t,e)});function Cr(n,e){var t=Z(n)?sn:Qa;return t(n,G(e,3))}function x_(n,e,t,r){return n==null?[]:(Z(e)||(e=e==null?[]:[e]),t=r?i:t,Z(t)||(t=t==null?[]:[t]),ka(n,e,t))}var b_=br(function(n,e,t){n[t?0:1].push(e)},function(){return[[],[]]});function S_(n,e,t){var r=Z(n)?au:Sa,u=arguments.length<3;return r(n,G(e,4),t,u,Ee)}function A_(n,e,t){var r=Z(n)?Np:Sa,u=arguments.length<3;return r(n,G(e,4),t,u,Ga)}function O_(n,e){var t=Z(n)?Oe:za;return t(n,Mr(G(e,3)))}function T_(n){var e=Z(n)?Da:mv;return e(n)}function I_(n,e,t){(t?Rn(n,e,t):e===i)?e=1:e=V(e);var r=Z(n)?Qg:yv;return r(n,e)}function R_(n){var e=Z(n)?Xg:xv;return e(n)}function E_(n){if(n==null)return 0;if(qn(n))return Nr(n)?et(n):n.length;var e=Tn(n);return e==dn||e==_n?n.size:Iu(n).length}function P_(n,e,t){var r=Z(n)?lu:bv;return t&&Rn(n,e,t)&&(e=i),r(n,G(e,3))}var C_=Q(function(n,e){if(n==null)return[];var t=e.length;return t>1&&Rn(n,e[0],e[1])?e=[]:t>2&&Rn(e[0],e[1],e[2])&&(e=[e[0]]),ka(n,An(e,1),[])}),Lr=cg||function(){return Sn.Date.now()};function L_(n,e){if(typeof e!="function")throw new Vn(g);return n=V(n),function(){if(--n<1)return e.apply(this,arguments)}}function Vl(n,e,t){return e=t?i:e,e=n&&e==null?n.length:e,ge(n,J,i,i,i,i,e)}function Yl(n,e){var t;if(typeof e!="function")throw new Vn(g);return n=V(n),function(){return--n>0&&(t=e.apply(this,arguments)),n<=1&&(e=i),t}}var Ju=Q(function(n,e,t){var r=I;if(t.length){var u=Ie(t,lt(Ju));r|=W}return ge(n,r,e,t,u)}),Ql=Q(function(n,e,t){var r=I|P;if(t.length){var u=Ie(t,lt(Ql));r|=W}return ge(e,r,n,t,u)});function Xl(n,e,t){e=t?i:e;var r=ge(n,A,i,i,i,i,i,e);return r.placeholder=Xl.placeholder,r}function Jl(n,e,t){e=t?i:e;var r=ge(n,E,i,i,i,i,i,e);return r.placeholder=Jl.placeholder,r}function jl(n,e,t){var r,u,a,s,c,v,O=0,T=!1,R=!1,N=!0;if(typeof n!="function")throw new Vn(g);e=jn(e)||0,hn(t)&&(T=!!t.leading,R="maxWait"in t,a=R?yn(jn(t.maxWait)||0,e):a,N="trailing"in t?!!t.trailing:N);function B(vn){var re=r,ye=u;return r=u=i,O=vn,s=n.apply(ye,re),s}function z(vn){return O=vn,c=qt(X,e),T?B(vn):s}function Y(vn){var re=vn-v,ye=vn-O,_s=e-re;return R?On(_s,a-ye):_s}function H(vn){var re=vn-v,ye=vn-O;return v===i||re>=e||re<0||R&&ye>=a}function X(){var vn=Lr();if(H(vn))return k(vn);c=qt(X,Y(vn))}function k(vn){return c=i,N&&r?B(vn):(r=u=i,s)}function Gn(){c!==i&&al(c),O=0,r=v=u=c=i}function En(){return c===i?s:k(Lr())}function zn(){var vn=Lr(),re=H(vn);if(r=arguments,u=this,v=vn,re){if(c===i)return z(v);if(R)return al(c),c=qt(X,e),B(v)}return c===i&&(c=qt(X,e)),s}return zn.cancel=Gn,zn.flush=En,zn}var q_=Q(function(n,e){return Ua(n,1,e)}),M_=Q(function(n,e,t){return Ua(n,jn(e)||0,t)});function F_(n){return ge(n,Pn)}function qr(n,e){if(typeof n!="function"||e!=null&&typeof e!="function")throw new Vn(g);var t=function(){var r=arguments,u=e?e.apply(this,r):r[0],a=t.cache;if(a.has(u))return a.get(u);var s=n.apply(this,r);return t.cache=a.set(u,s)||a,s};return t.cache=new(qr.Cache||he),t}qr.Cache=he;function Mr(n){if(typeof n!="function")throw new Vn(g);return function(){var e=arguments;switch(e.length){case 0:return!n.call(this);case 1:return!n.call(this,e[0]);case 2:return!n.call(this,e[0],e[1]);case 3:return!n.call(this,e[0],e[1],e[2])}return!n.apply(this,e)}}function N_(n){return Yl(2,n)}var $_=Sv(function(n,e){e=e.length==1&&Z(e[0])?sn(e[0],Wn(G())):sn(An(e,1),Wn(G()));var t=e.length;return Q(function(r){for(var u=-1,a=On(r.length,t);++u=e}),Ve=Za(function(){return arguments}())?Za:function(n){return pn(n)&&tn.call(n,"callee")&&!La.call(n,"callee")},Z=x.isArray,j_=pa?Wn(pa):fv;function qn(n){return n!=null&&Fr(n.length)&&!_e(n)}function gn(n){return pn(n)&&qn(n)}function k_(n){return n===!0||n===!1||pn(n)&&In(n)==se}var qe=pg||sf,n0=ga?Wn(ga):ov;function e0(n){return pn(n)&&n.nodeType===1&&!Mt(n)}function t0(n){if(n==null)return!0;if(qn(n)&&(Z(n)||typeof n=="string"||typeof n.splice=="function"||qe(n)||st(n)||Ve(n)))return!n.length;var e=Tn(n);if(e==dn||e==_n)return!n.size;if(Lt(n))return!Iu(n).length;for(var t in n)if(tn.call(n,t))return!1;return!0}function r0(n,e){return Et(n,e)}function i0(n,e,t){t=typeof t=="function"?t:i;var r=t?t(n,e):i;return r===i?Et(n,e,i,t):!!r}function ku(n){if(!pn(n))return!1;var e=In(n);return e==ie||e==un||typeof n.message=="string"&&typeof n.name=="string"&&!Mt(n)}function u0(n){return typeof n=="number"&&Ma(n)}function _e(n){if(!hn(n))return!1;var e=In(n);return e==xn||e==Se||e==dt||e==Yt}function ns(n){return typeof n=="number"&&n==V(n)}function Fr(n){return typeof n=="number"&&n>-1&&n%1==0&&n<=wn}function hn(n){var e=typeof n;return n!=null&&(e=="object"||e=="function")}function pn(n){return n!=null&&typeof n=="object"}var es=va?Wn(va):lv;function f0(n,e){return n===e||Tu(n,e,zu(e))}function o0(n,e,t){return t=typeof t=="function"?t:i,Tu(n,e,zu(e),t)}function a0(n){return ts(n)&&n!=+n}function l0(n){if(Zv(n))throw new K(d);return Va(n)}function s0(n){return n===null}function c0(n){return n==null}function ts(n){return typeof n=="number"||pn(n)&&In(n)==Cn}function Mt(n){if(!pn(n)||In(n)!=Hn)return!1;var e=ar(n);if(e===null)return!0;var t=tn.call(e,"constructor")&&e.constructor;return typeof t=="function"&&t instanceof t&&ir.call(t)==og}var nf=da?Wn(da):sv;function h0(n){return ns(n)&&n>=-wn&&n<=wn}var rs=_a?Wn(_a):cv;function Nr(n){return typeof n=="string"||!Z(n)&&pn(n)&&In(n)==kn}function Un(n){return typeof n=="symbol"||pn(n)&&In(n)==Qt}var st=ma?Wn(ma):hv;function p0(n){return n===i}function g0(n){return pn(n)&&Tn(n)==mt}function v0(n){return pn(n)&&In(n)==Ch}var d0=Tr(Ru),_0=Tr(function(n,e){return n<=e});function is(n){if(!n)return[];if(qn(n))return Nr(n)?ne(n):Ln(n);if(xt&&n[xt])return Qp(n[xt]());var e=Tn(n),t=e==dn?vu:e==_n?er:ct;return t(n)}function me(n){if(!n)return n===0?n:0;if(n=jn(n),n===Nn||n===-Nn){var e=n<0?-1:1;return e*De}return n===n?n:0}function V(n){var e=me(n),t=e%1;return e===e?t?e-t:e:0}function us(n){return n?ze(V(n),0,$n):0}function jn(n){if(typeof n=="number")return n;if(Un(n))return ae;if(hn(n)){var e=typeof n.valueOf=="function"?n.valueOf():n;n=hn(e)?e+"":e}if(typeof n!="string")return n===0?n:+n;n=Aa(n);var t=jh.test(n);return t||np.test(n)?Lp(n.slice(2),t?2:8):Jh.test(n)?ae:+n}function fs(n){return fe(n,Mn(n))}function m0(n){return n?ze(V(n),-wn,wn):n===0?n:0}function en(n){return n==null?"":Bn(n)}var y0=ot(function(n,e){if(Lt(e)||qn(e)){fe(e,bn(e),n);return}for(var t in e)tn.call(e,t)&&Tt(n,t,e[t])}),os=ot(function(n,e){fe(e,Mn(e),n)}),$r=ot(function(n,e,t,r){fe(e,Mn(e),n,r)}),w0=ot(function(n,e,t,r){fe(e,bn(e),n,r)}),x0=ve(xu);function b0(n,e){var t=ft(n);return e==null?t:Wa(t,e)}var S0=Q(function(n,e){n=fn(n);var t=-1,r=e.length,u=r>2?e[2]:i;for(u&&Rn(e[0],e[1],u)&&(r=1);++t1),a}),fe(n,Uu(n),t),r&&(t=Qn(t,q|F|C,Mv));for(var u=e.length;u--;)qu(t,e[u]);return t});function U0(n,e){return ls(n,Mr(G(e)))}var G0=ve(function(n,e){return n==null?{}:vv(n,e)});function ls(n,e){if(n==null)return{};var t=sn(Uu(n),function(r){return[r]});return e=G(e),nl(n,t,function(r,u){return e(r,u[0])})}function z0(n,e,t){e=Ce(e,n);var r=-1,u=e.length;for(u||(u=1,n=i);++re){var r=n;n=e,e=r}if(t||n%1||e%1){var u=Fa();return On(n+u*(e-n+Cp("1e-"+((u+"").length-1))),e)}return Pu(n,e)}var n1=at(function(n,e,t){return e=e.toLowerCase(),n+(t?hs(e):e)});function hs(n){return rf(en(n).toLowerCase())}function ps(n){return n=en(n),n&&n.replace(tp,Hp).replace(xp,"")}function e1(n,e,t){n=en(n),e=Bn(e);var r=n.length;t=t===i?r:ze(V(t),0,r);var u=t;return t-=e.length,t>=0&&n.slice(t,u)==e}function t1(n){return n=en(n),n&&Nh.test(n)?n.replace(Ho,Kp):n}function r1(n){return n=en(n),n&&Gh.test(n)?n.replace(ji,"\\$&"):n}var i1=at(function(n,e,t){return n+(t?"-":"")+e.toLowerCase()}),u1=at(function(n,e,t){return n+(t?" ":"")+e.toLowerCase()}),f1=dl("toLowerCase");function o1(n,e,t){n=en(n),e=V(e);var r=e?et(n):0;if(!e||r>=e)return n;var u=(e-r)/2;return Or(hr(u),t)+n+Or(cr(u),t)}function a1(n,e,t){n=en(n),e=V(e);var r=e?et(n):0;return e&&r>>0,t?(n=en(n),n&&(typeof e=="string"||e!=null&&!nf(e))&&(e=Bn(e),!e&&nt(n))?Le(ne(n),0,t):n.split(e,t)):[]}var v1=at(function(n,e,t){return n+(t?" ":"")+rf(e)});function d1(n,e,t){return n=en(n),t=t==null?0:ze(V(t),0,n.length),e=Bn(e),n.slice(t,t+e.length)==e}function _1(n,e,t){var r=o.templateSettings;t&&Rn(n,e,t)&&(e=i),n=en(n),e=$r({},e,r,Sl);var u=$r({},e.imports,r.imports,Sl),a=bn(u),s=gu(u,a),c,v,O=0,T=e.interpolate||Xt,R="__p += '",N=du((e.escape||Xt).source+"|"+T.source+"|"+(T===Ko?Xh:Xt).source+"|"+(e.evaluate||Xt).source+"|$","g"),B="//# sourceURL="+(tn.call(e,"sourceURL")?(e.sourceURL+"").replace(/\s/g," "):"lodash.templateSources["+ ++Tp+"]")+` +`;n.replace(N,function(H,X,k,Gn,En,zn){return k||(k=Gn),R+=n.slice(O,zn).replace(rp,Zp),X&&(c=!0,R+=`' + +__e(`+X+`) + +'`),En&&(v=!0,R+=`'; +`+En+`; +__p += '`),k&&(R+=`' + +((__t = (`+k+`)) == null ? '' : __t) + +'`),O=zn+H.length,H}),R+=`'; +`;var z=tn.call(e,"variable")&&e.variable;if(!z)R=`with (obj) { +`+R+` +} +`;else if(Yh.test(z))throw new K(y);R=(v?R.replace(Lh,""):R).replace(qh,"$1").replace(Mh,"$1;"),R="function("+(z||"obj")+`) { +`+(z?"":`obj || (obj = {}); +`)+"var __t, __p = ''"+(c?", __e = _.escape":"")+(v?`, __j = Array.prototype.join; +function print() { __p += __j.call(arguments, '') } +`:`; +`)+R+`return __p +}`;var Y=vs(function(){return nn(a,B+"return "+R).apply(i,s)});if(Y.source=R,ku(Y))throw Y;return Y}function m1(n){return en(n).toLowerCase()}function y1(n){return en(n).toUpperCase()}function w1(n,e,t){if(n=en(n),n&&(t||e===i))return Aa(n);if(!n||!(e=Bn(e)))return n;var r=ne(n),u=ne(e),a=Oa(r,u),s=Ta(r,u)+1;return Le(r,a,s).join("")}function x1(n,e,t){if(n=en(n),n&&(t||e===i))return n.slice(0,Ra(n)+1);if(!n||!(e=Bn(e)))return n;var r=ne(n),u=Ta(r,ne(e))+1;return Le(r,0,u).join("")}function b1(n,e,t){if(n=en(n),n&&(t||e===i))return n.replace(ki,"");if(!n||!(e=Bn(e)))return n;var r=ne(n),u=Oa(r,ne(e));return Le(r,u).join("")}function S1(n,e){var t=gt,r=Ht;if(hn(e)){var u="separator"in e?e.separator:u;t="length"in e?V(e.length):t,r="omission"in e?Bn(e.omission):r}n=en(n);var a=n.length;if(nt(n)){var s=ne(n);a=s.length}if(t>=a)return n;var c=t-et(r);if(c<1)return r;var v=s?Le(s,0,c).join(""):n.slice(0,c);if(u===i)return v+r;if(s&&(c+=v.length-c),nf(u)){if(n.slice(c).search(u)){var O,T=v;for(u.global||(u=du(u.source,en(Zo.exec(u))+"g")),u.lastIndex=0;O=u.exec(T);)var R=O.index;v=v.slice(0,R===i?c:R)}}else if(n.indexOf(Bn(u),c)!=c){var N=v.lastIndexOf(u);N>-1&&(v=v.slice(0,N))}return v+r}function A1(n){return n=en(n),n&&Fh.test(n)?n.replace(zo,kp):n}var O1=at(function(n,e,t){return n+(t?" ":"")+e.toUpperCase()}),rf=dl("toUpperCase");function gs(n,e,t){return n=en(n),e=t?i:e,e===i?Yp(n)?tg(n):Wp(n):n.match(e)||[]}var vs=Q(function(n,e){try{return Dn(n,i,e)}catch(t){return ku(t)?t:new K(t)}}),T1=ve(function(n,e){return Zn(e,function(t){t=oe(t),pe(n,t,Ju(n[t],n))}),n});function I1(n){var e=n==null?0:n.length,t=G();return n=e?sn(n,function(r){if(typeof r[1]!="function")throw new Vn(g);return[t(r[0]),r[1]]}):[],Q(function(r){for(var u=-1;++uwn)return[];var t=$n,r=On(n,$n);e=G(e),n-=$n;for(var u=pu(r,e);++t0||e<0)?new j(t):(n<0?t=t.takeRight(-n):n&&(t=t.drop(n)),e!==i&&(e=V(e),t=e<0?t.dropRight(-e):t.take(e-n)),t)},j.prototype.takeRightWhile=function(n){return this.reverse().takeWhile(n).reverse()},j.prototype.toArray=function(){return this.take($n)},ue(j.prototype,function(n,e){var t=/^(?:filter|find|map|reject)|While$/.test(e),r=/^(?:head|last)$/.test(e),u=o[r?"take"+(e=="last"?"Right":""):e],a=r||/^find/.test(e);u&&(o.prototype[e]=function(){var s=this.__wrapped__,c=r?[1]:arguments,v=s instanceof j,O=c[0],T=v||Z(s),R=function(X){var k=u.apply(o,Te([X],c));return r&&N?k[0]:k};T&&t&&typeof O=="function"&&O.length!=1&&(v=T=!1);var N=this.__chain__,B=!!this.__actions__.length,z=a&&!N,Y=v&&!B;if(!a&&T){s=Y?s:new j(this);var H=n.apply(s,c);return H.__actions__.push({func:Pr,args:[R],thisArg:i}),new Yn(H,N)}return z&&Y?n.apply(this,c):(H=this.thru(R),z?r?H.value()[0]:H.value():H)})}),Zn(["pop","push","shift","sort","splice","unshift"],function(n){var e=tr[n],t=/^(?:push|sort|unshift)$/.test(n)?"tap":"thru",r=/^(?:pop|shift)$/.test(n);o.prototype[n]=function(){var u=arguments;if(r&&!this.__chain__){var a=this.value();return e.apply(Z(a)?a:[],u)}return this[t](function(s){return e.apply(Z(s)?s:[],u)})}}),ue(j.prototype,function(n,e){var t=o[e];if(t){var r=t.name+"";tn.call(ut,r)||(ut[r]=[]),ut[r].push({name:e,func:t})}}),ut[Sr(i,P).name]=[{name:"wrapper",func:i}],j.prototype.clone=Ag,j.prototype.reverse=Og,j.prototype.value=Tg,o.prototype.at=e_,o.prototype.chain=t_,o.prototype.commit=r_,o.prototype.next=i_,o.prototype.plant=f_,o.prototype.reverse=o_,o.prototype.toJSON=o.prototype.valueOf=o.prototype.value=a_,o.prototype.first=o.prototype.head,xt&&(o.prototype[xt]=u_),o},tt=rg();We?((We.exports=tt)._=tt,uu._=tt):Sn._=tt}).call(Ye)}(Ft,Ft.exports);var cn=Ft.exports;function Dr(f={},l){const i={};for(const h of Object.keys(f))i[h]=h==="$"?f[h]:l(f[h],h,f);return Object.setPrototypeOf(i,f)}var ys=function(){},ws=ys(),Me=function(f){return f!==ws&&f!==null},xs=Me,bs=Array.prototype.forEach,Ss=Object.create,As=function(f,l){var i;for(i in f)l[i]=f[i]},cf=function(f){var l=Ss(null);return bs.call(arguments,function(i){xs(i)&&As(Object(i),l)}),l},Os=function(){var f=Math.sign;return typeof f!="function"?!1:f(10)===1&&f(-20)===-1},Wr,hf;function Ts(){return hf||(hf=1,Wr=function(f){return f=Number(f),isNaN(f)||f===0?f:f>0?1:-1}),Wr}var Is=Os()?Math.sign:Ts(),Rs=Is,Es=Math.abs,Ps=Math.floor,Cs=function(f){return isNaN(f)?0:(f=Number(f),f===0||!isFinite(f)?f:Rs(f)*Ps(Es(f)))},Ls=Cs,qs=Math.max,Fe=function(f){return qs(0,Ls(f))},Ms=Fe,pf=function(f,l,i){var h;return isNaN(f)?(h=l,h>=0?i&&h?h-1:h:1):f===!1?!1:Ms(f)},we=function(f){if(typeof f!="function")throw new TypeError(f+" is not a function");return f},Fs=Me,Qe=function(f){if(!Fs(f))throw new TypeError("Cannot use null or undefined");return f},Ns=we,$s=Qe,Ds=Function.prototype.bind,gf=Function.prototype.call,Ws=Object.keys,Bs=Object.prototype.propertyIsEnumerable,Us=function(f,l){return function(i,h){var m,d=arguments[2],g=arguments[3];return i=Object($s(i)),Ns(h),m=Ws(i),g&&m.sort(typeof g=="function"?Ds.call(g,i):void 0),typeof f!="function"&&(f=m[f]),gf.call(f,m,function(y,w){return Bs.call(i,y)?gf.call(h,d,i[y],y,i,w):l})}},Nt=Us("forEach"),Ne={},vf={exports:{}},Gs=function(){var f=Object.assign,l;return typeof f!="function"?!1:(l={foo:"raz"},f(l,{bar:"dwa"},{trzy:"trzy"}),l.foo+l.bar+l.trzy==="razdwatrzy")},Br,df;function zs(){return df||(df=1,Br=function(){try{return Object.keys("primitive"),!0}catch{return!1}}),Br}var Ur,_f;function Hs(){if(_f)return Ur;_f=1;var f=Me,l=Object.keys;return Ur=function(i){return l(f(i)?Object(i):i)},Ur}var Gr,mf;function Ks(){return mf||(mf=1,Gr=zs()()?Object.keys:Hs()),Gr}var zr,yf;function Zs(){if(yf)return zr;yf=1;var f=Ks(),l=Qe,i=Math.max;return zr=function(h,m){var d,g,y=i(arguments.length,2),w;for(h=Object(l(h)),w=function(_){try{h[_]=m[_]}catch(b){d||(d=b)}},g=1;g-1},Yr}var cc=lc()?String.prototype.contains:sc(),$t=Pf,Lf=ac,qf=wf,Mf=cf,ht=cc,hc=Ef.exports=function(f,l){var i,h,m,d,g;return arguments.length<2||typeof f!="string"?(d=l,l=f,f=null):d=arguments[2],$t(f)?(i=ht.call(f,"c"),h=ht.call(f,"e"),m=ht.call(f,"w")):(i=m=!0,h=!1),g={value:l,configurable:i,enumerable:h,writable:m},d?qf(Mf(d),g):g};hc.gs=function(f,l,i){var h,m,d,g;return typeof f!="string"?(d=i,i=l,l=f,f=null):d=arguments[3],$t(l)?Lf(l)?$t(i)?Lf(i)||(d=i,i=void 0):i=void 0:(d=l,l=i=void 0):l=void 0,$t(f)?(h=ht.call(f,"c"),m=ht.call(f,"e")):(h=!0,m=!1),g={get:l,set:i,configurable:h,enumerable:m},d?qf(Mf(d),g):g};var $e=Ef.exports,Qr={exports:{}};(function(f,l){var i=$e,h=we,m=Function.prototype.apply,d=Function.prototype.call,g=Object.create,y=Object.defineProperty,w=Object.defineProperties,_=Object.prototype.hasOwnProperty,b={configurable:!0,enumerable:!1,writable:!0},q,F,C,D,M,I,P;q=function(L,A){var E;return h(A),_.call(this,"__ee__")?E=this.__ee__:(E=b.value=g(null),y(this,"__ee__",b),b.value=null),E[L]?typeof E[L]=="object"?E[L].push(A):E[L]=[E[L],A]:E[L]=A,this},F=function(L,A){var E,W;return h(A),W=this,q.call(this,L,E=function(){C.call(W,L,E),m.call(A,this,arguments)}),E.__eeOnceListener__=A,this},C=function(L,A){var E,W,U,J;if(h(A),!_.call(this,"__ee__"))return this;if(E=this.__ee__,!E[L])return this;if(W=E[L],typeof W=="object")for(J=0;U=W[J];++J)(U===A||U.__eeOnceListener__===A)&&(W.length===2?E[L]=W[J?0:1]:W.splice(J,1));else(W===A||W.__eeOnceListener__===A)&&delete E[L];return this},D=function(L){var A,E,W,U,J;if(_.call(this,"__ee__")&&(U=this.__ee__[L],!!U))if(typeof U=="object"){for(E=arguments.length,J=new Array(E-1),A=1;A=55296&&E<=56319&&(rn+=F[++I])),rn=C?_.call(C,D,rn,P):rn,M?(b.value=rn,q(L,P,b)):L[P]=rn,++P;A=P}}if(A===void 0)for(A=h(F.length),M&&(L=new M(A)),I=0;I=0?b=g(b):b=l(this.length)-g(d(b)),w=b;w<_;++w)if(m.call(this,w)&&(q=this[w],f(q)))return w;return-1},wi}var bi,ao;function kc(){if(ao)return bi;ao=1;var f=xi(),l=Object.create;return bi=function(){var i=0,h=[],m=l(null);return{get:function(d){var g=0,y=h,w,_=d.length;if(_===0)return y[_]||null;if(y=y[_]){for(;g<_-1;){if(w=f.call(y[0],d[g]),w===-1)return null;y=y[1][w],++g}return w=f.call(y[0],d[g]),w===-1?null:y[1][w]||null}return null},set:function(d){var g=0,y=h,w,_=d.length;if(_===0)y[_]=++i;else{for(y[_]||(y[_]=[[],[]]),y=y[_];g<_-1;)w=f.call(y[0],d[g]),w===-1&&(w=y[0].push(d[g])-1,y[1].push([[],[]])),y=y[1][w],++g;w=f.call(y[0],d[g]),w===-1&&(w=y[0].push(d[g])-1),y[1][w]=++i}return m[i]=d,i},delete:function(d){var g=0,y=h,w,_=m[d],b=_.length,q=[];if(b===0)delete y[b];else if(y=y[b]){for(;g"}},Li}var qi,Ao;function oh(){if(Ao)return qi;Ao=1;var f=fh(),l=/[\n\r\u2028\u2029]/g;return qi=function(i){var h=f(i);return h.length>100&&(h=h.slice(0,99)+"…"),h=h.replace(l,function(m){return JSON.stringify(m).slice(1,-1)}),h},qi}var Gt={exports:{}},Oo;function To(){if(Oo)return Gt.exports;Oo=1,Gt.exports=f,Gt.exports.default=f;function f(l){return!!l&&(typeof l=="object"||typeof l=="function")&&typeof l.then=="function"}return Gt.exports}var Io;function ah(){if(Io)return _o;Io=1;var f=po(),l=rh(),i=uh(),h=oh(),m=To(),d=Ii(),g=Object.create,y=l("then","then:finally","done","done:finally");return Ne.promise=function(w,_){var b=g(null),q=g(null),F=g(null);if(w===!0)w=null;else if(w=i(w),!y[w])throw new TypeError("'"+h(w)+"' is not valid promise mode");_.on("set",function(C,D,M){var I=!1;if(!m(M)){q[C]=M,_.emit("setasync",C,1);return}b[C]=1,F[C]=M;var P=function(W){var U=b[C];if(I)throw new Error(`Memoizee error: Detected unordered then|done & finally resolution, which in turn makes proper detection of success/failure impossible (when in 'done:finally' mode) +Consider to rely on 'then' or 'done' mode instead.`);U&&(delete b[C],q[C]=W,_.emit("setasync",C,U))},L=function(){I=!0,b[C]&&(delete b[C],delete F[C],_.delete(C))},A=w;if(A||(A="then"),A==="then"){var E=function(){d(L)};M=M.then(function(W){d(P.bind(this,W))},E),typeof M.finally=="function"&&M.finally(E)}else if(A==="done"){if(typeof M.done!="function")throw new Error("Memoizee error: Retrieved promise does not implement 'done' in 'done' mode");M.done(P,L)}else if(A==="done:finally"){if(typeof M.done!="function")throw new Error("Memoizee error: Retrieved promise does not implement 'done' in 'done:finally' mode");if(typeof M.finally!="function")throw new Error("Memoizee error: Retrieved promise does not implement 'finally' in 'done:finally' mode");M.done(P),M.finally(L)}}),_.on("get",function(C,D,M){var I;if(b[C]){++b[C];return}I=F[C];var P=function(){_.emit("getasync",C,D,M)};m(I)?typeof I.done=="function"?I.done(P):I.then(function(){d(P)}):P()}),_.on("delete",function(C){if(delete F[C],b[C]){delete b[C];return}if(hasOwnProperty.call(q,C)){var D=q[C];delete q[C],_.emit("deleteasync",C,[D])}}),_.on("clear",function(){var C=q;q=g(null),b=g(null),F=g(null),_.emit("clearasync",f(C,function(D){return[D]}))})},_o}var Ro={},Eo;function lh(){if(Eo)return Ro;Eo=1;var f=we,l=Nt,i=Ne,h=Function.prototype.apply;return i.dispose=function(m,d,g){var y;if(f(m),g.async&&i.async||g.promise&&i.promise){d.on("deleteasync",y=function(w,_){h.call(m,null,_)}),d.on("clearasync",function(w){l(w,function(_,b){y(b,_)})});return}d.on("delete",y=function(w,_){m(_)}),d.on("clear",function(w){l(w,function(_,b){y(b,_)})})},Ro}var Po={},Mi,Co;function sh(){return Co||(Co=1,Mi=2147483647),Mi}var Fi,Lo;function ch(){if(Lo)return Fi;Lo=1;var f=Fe,l=sh();return Fi=function(i){if(i=f(i),i>l)throw new TypeError(i+" exceeds maximum possible timeout");return i},Fi}var qo;function hh(){if(qo)return Po;qo=1;var f=hi,l=Nt,i=Ii(),h=To(),m=ch(),d=Ne,g=Function.prototype,y=Math.max,w=Math.min,_=Object.create;return d.maxAge=function(b,q,F){var C,D,M,I;b=m(b),b&&(C=_(null),D=F.async&&d.async||F.promise&&d.promise?"async":"",q.on("set"+D,function(P){C[P]=setTimeout(function(){q.delete(P)},b),typeof C[P].unref=="function"&&C[P].unref(),I&&(I[P]&&I[P]!=="nextTick"&&clearTimeout(I[P]),I[P]=setTimeout(function(){delete I[P]},M),typeof I[P].unref=="function"&&I[P].unref())}),q.on("delete"+D,function(P){clearTimeout(C[P]),delete C[P],I&&(I[P]!=="nextTick"&&clearTimeout(I[P]),delete I[P])}),F.preFetch&&(F.preFetch===!0||isNaN(F.preFetch)?M=.333:M=y(w(Number(F.preFetch),1),0),M&&(I={},M=(1-M)*b,q.on("get"+D,function(P,L,A){I[P]||(I[P]="nextTick",i(function(){var E;I[P]==="nextTick"&&(delete I[P],q.delete(P),F.async&&(L=f(L),L.push(g)),E=q.memoized.apply(A,L),F.promise&&h(E)&&(typeof E.done=="function"?E.done(g,g):E.then(g,g)))}))}))),q.on("clear"+D,function(){l(C,function(P){clearTimeout(P)}),C={},I&&(l(I,function(P){P!=="nextTick"&&clearTimeout(P)}),I={})}))},Po}var Mo={},Ni,Fo;function ph(){if(Fo)return Ni;Fo=1;var f=Fe,l=Object.create,i=Object.prototype.hasOwnProperty;return Ni=function(h){var m=0,d=1,g=l(null),y=l(null),w=0,_;return h=f(h),{hit:function(b){var q=y[b],F=++w;if(g[F]=b,y[b]=F,!q)return++m,m<=h?void 0:(b=g[d],_(b),b);if(delete g[q],d===q)for(;!i.call(g,++d););},delete:_=function(b){var q=y[b];if(q&&(delete g[q],delete y[b],--m,d===q)){if(!m){w=0,d=1;return}for(;!i.call(g,++d););}},clear:function(){m=0,d=1,g=l(null),y=l(null),w=0}}},Ni}var No;function gh(){if(No)return Mo;No=1;var f=Fe,l=ph(),i=Ne;return i.max=function(h,m,d){var g,y,w;h=f(h),h&&(y=l(h),g=d.async&&i.async||d.promise&&i.promise?"async":"",m.on("set"+g,w=function(_){_=y.hit(_),_!==void 0&&m.delete(_)}),m.on("get"+g,w),m.on("delete"+g,y.delete),m.on("clear"+g,y.clear))},Mo}var $o={},Do;function vh(){if(Do)return $o;Do=1;var f=$e,l=Ne,i=Object.create,h=Object.defineProperties;return l.refCounter=function(m,d,g){var y,w;y=i(null),w=g.async&&l.async||g.promise&&l.promise?"async":"",d.on("set"+w,function(_,b){y[_]=b||1}),d.on("get"+w,function(_){++y[_]}),d.on("delete"+w,function(_){delete y[_]}),d.on("clear"+w,function(){y={}}),h(d.memoized,{deleteRef:f(function(){var _=d.get(arguments);return _===null||!y[_]?null:--y[_]?!1:(d.delete(_),!0)}),getRefCount:f(function(){var _=d.get(arguments);return _===null||!y[_]?0:y[_]})})},$o}var dh=cf,_h=pf,mh=Vc,yh=function(f){var l=dh(arguments[1]),i;return l.normalizer||(i=l.length=_h(l.length,f.length,l.async),i!==0&&(l.primitive?i===!1?l.normalizer=Yc():i>1&&(l.normalizer=Qc()(i)):i===!1?l.normalizer=kc()():i===1?l.normalizer=nh()():l.normalizer=eh()(i))),l.async&&th(),l.promise&&ah(),l.dispose&&lh(),l.maxAge&&hh(),l.max&&gh(),l.refCounter&&vh(),mh(f,l)},wh=ms(yh),Wo={exports:{}};(function(f,l){(function(i,h){f.exports=h()})(Ye,function(){return function(i){function h(d){if(m[d])return m[d].exports;var g=m[d]={i:d,l:!1,exports:{}};return i[d].call(g.exports,g,g.exports,h),g.l=!0,g.exports}var m={};return h.m=i,h.c=m,h.d=function(d,g,y){h.o(d,g)||Object.defineProperty(d,g,{configurable:!1,enumerable:!0,get:y})},h.n=function(d){var g=d&&d.__esModule?function(){return d.default}:function(){return d};return h.d(g,"a",g),g},h.o=function(d,g){return Object.prototype.hasOwnProperty.call(d,g)},h.p="",h(h.s=1)}([function(i,h,m){function d(y){var w=y===void 0?{}:y,_=w.ESCAPE,b=_===void 0?/^\\/:_,q=w.VARIABLE_START,F=q===void 0?/^\${\s*/:q,C=w.VARIABLE_END,D=C===void 0?/^\s*}/:C,M=w.PIPE_START,I=M===void 0?/^\s*\|\s*/:M,P=w.PIPE_PARAMETER_START,L=P===void 0?/^\s*:\s*/:P,A=w.QUOTED_STRING,E=A===void 0?h.DEFAULT_QUOTED_STRING_REGEX:A,W=w.QUOTED_STRING_TEST,U=W===void 0?null:W,J=w.QUOTED_STRING_GET_AND_ADVANCE,rn=J===void 0?null:J,Pn=w.QUOTED_STRING_IN_PARAMETER_TEST,gt=Pn===void 0?null:Pn,Ht=w.QUOTED_STRING_IN_PARAMETER_GET_AND_ADVANCE,Wi=Ht===void 0?null:Ht,Kt=U||function(Nn){return E.test(Nn)},vt=rn||g(E),Bi=gt||function(Nn){return E.test(Nn)},Ui=Wi||g(E);return function(Nn){function wn(an){an===void 0&&(an=1),un=un.substr(an)}function De(an){an===void 0&&(an=/^/),wn(un.match(an)[0].length)}function ae(){var an;return De(b),an=un.length>0?un[0]:"",wn(),an}function $n(an){var _n=(an===void 0?{}:an).isNull,kn=_n!==void 0&&_n;dn={name:"",pipes:[]},Hn=!kn}function Gi(){ie.variables.push(dn),$n({isNull:!0})}function Zt(an){var _n=(an===void 0?{}:an).isNull,kn=_n!==void 0&&_n;Cn={name:"",parameters:[]},_t=!kn}function Vt(){dn.pipes.push(Cn),Zt({isNull:!0})}function le(an){var _n=(an===void 0?{}:an).isNull,kn=_n!==void 0&&_n;Ae="",Yt=!kn}function xe(){Cn.parameters.push(Ae),le({isNull:!0})}function dt(){return!!D.test(un)&&(De(D),xn>=3&&xe(),xn>=2&&Vt(),xn>=1&&Gi(),xn=0,!0)}function se(){return!!I.test(un)&&(De(I),xn>=3&&xe(),xn>=2&&Vt(),xn>=1&&Zt(),xn=2,!0)}function be(){return!!L.test(un)&&(De(L),xn>=3&&xe(),xn>=2&&le(),xn=3,!0)}for(var un=Nn,ie={literals:[],variables:[]},xn=0,Se="",dn={name:"",pipes:[]},Cn={name:"",parameters:[]},Ae="",Hn=!1,_t=!1,Yt=!1;un&&un.length>0;)switch(xn){case 0:if(b.test(un)){Se+=ae();continue}if(F.test(un)){xn=1,$n(),ie.literals.push(Se),Se="",De(F);continue}Se+=un[0],wn();break;case 1:if(b.test(un)){dn.name+=ae();continue}if(dt()||se())continue;if(Kt(un)){dn.name+=vt(un,wn);continue}dn.name+=un[0],wn();break;case 2:if(b.test(un)){Cn.name+=ae();continue}if(dt()||be()||se())continue;if(Kt(un)){Cn.name+=vt(un,wn);continue}Cn.name+=un[0],wn();break;case 3:if(b.test(un)){Ae+=ae();continue}if(dt()||be()||se())continue;if(Bi(un)){Ae+=Ui(un,wn);continue}Ae+=un[0],wn()}return Yt&&Cn.parameters.push(Ae),_t&&dn.pipes.push(Cn),Hn&&ie.variables.push(dn),ie.literals.push(Se),ie}}function g(y){return function(w,_){var b=w.match(y);return _(b[0].length),b.slice(2).join("").replace("\\\\","\\")}}Object.defineProperty(h,"__esModule",{value:!0}),h.DEFAULT_QUOTED_STRING_REGEX=/^('((?:[^'\\]|\\.)*)'|'((?:[^'\\]|\\.)*)$|"((?:[^"\\]|\\.)*)"|"((?:[^"\\]|\\.)*)$)/,h.parseStringTemplateGenerator=d,h.parseStringTemplate=d(),h.getQuotedStringAndAdvanceForRegex=g},function(i,h,m){i.exports=m(2)},function(i,h,m){function d(g){for(var y in g)h.hasOwnProperty(y)||(h[y]=g[y])}Object.defineProperty(h,"__esModule",{value:!0}),d(m(0)),d(m(3))},function(i,h,m){function d(b){return function(q){return b.hasOwnProperty(q)?b[q]:q.split(".").reduce(function(F,C){return F.hasOwnProperty(C)?F[C]:""},b)}}function g(b,q,F,C){C===void 0&&(C=d(q));var D=C(b.name);return b.pipes.reduce(function(M,I){return F.hasOwnProperty(I.name)?F[I.name](M,I.parameters):M},D??"")}function y(b,q,F,C){return C===void 0&&(C=d(q)),b.literals.length===0?"":b.literals.slice(1).reduce(function(D,M,I){return""+D+g(b.variables[I],q,F,C)+M},b.literals[0])}function w(b,q,F){return y(_.parseStringTemplate(b),q,F)}Object.defineProperty(h,"__esModule",{value:!0});var _=m(0);h.evaluateParsedString=y,h.evaluateStringTemplate=w}])})})(Wo);var Bo=Wo.exports;const Uo=f=>{const l=Function("$",`return ${f};`);return i=>l(new Proxy(zt(i),{get(h,m){return typeof(h==null?void 0:h[m])=="function"?h[m]({}):h==null?void 0:h[m]}}))},xh=/^\{\{\s*/,bh=/^\s*\}\}/,$i=/\b\B/,Sh=Bo.parseStringTemplateGenerator({VARIABLE_START:xh,VARIABLE_END:bh,PIPE_START:$i,PIPE_PARAMETER_START:$i,QUOTED_STRING:$i}),Ah=wh(f=>{const l=Sh(f);return cn.join(l.literals,"")?i=>Bo.evaluateParsedString(l,{},{},h=>Uo(h)(i)):Uo(l.variables[0].name)},{primitive:!0});function Xe(f){switch(f==null?void 0:f.constructor){case Array:{const l=cn.map(f,Xe);return i=>cn.map(l,h=>h(i))}case Object:{const l=cn.mapValues(f,Xe);return i=>cn.mapValues(l,h=>h(i))}case String:return Ah(f);default:return()=>f}}function zt(f={}){return Dr(f,l=>cn.isFunction(l)?l:Xe(l))}function Oh(f={}){return new Proxy(f,{get:(l,i)=>typeof l[i]=="function"?l[i]:()=>l[i]})}function Di(f,l){return Object.setPrototypeOf(Dr(l,i=>h=>i(f)),f)}function Th(f){const{$for:l,...i}=f;if(l){const{$let:h="i",$from:m=0,$to:d=1,$step:g=1}=l,y=Xe(m),w=Xe(d),_=Xe(g);return(b={})=>cn.range(y(b),w(b),_(b)).map(q=>{const F=Di(b,zt({[h]:q}));return Di(F,zt(i))})}else return(h={})=>[Di(h,zt(i))]}function Ih(f,l){const i=d=>{const{$:g}=d,y=Th(d);return g in l?w=>cn.flatMap(y(w),_=>cn.flatMap(h[g],b=>b(_))):w=>cn.map(y(w),_=>Object.setPrototypeOf(Dr(_,b=>b(_)),null))},h=cn.mapValues(l,d=>cn.map(d,i)),m=cn.flatMap(f,i);return d=>cn.flatMap(m,g=>g(d))}const Rh=f=>f==null,Go=f=>f.display!=="transient";function Eh({trace:f,context:l,view:i="main",from:h=0,to:m=(d=>(d=f==null?void 0:f.events)==null?void 0:d.length)()??0}){var q,F,C,D;const g=Ih(((C=(F=(q=f==null?void 0:f.render)==null?void 0:q.views)==null?void 0:F[i])==null?void 0:C.components)??[],((D=f==null?void 0:f.render)==null?void 0:D.components)??{}),y=M=>M&&Object.hasOwn(M,"alpha")?M.alpha>0:!0,w=M=>I=>({component:I,meta:{source:"trace",step:h+M,info:I.$info}}),_=cn.chain(f==null?void 0:f.events).map((M,I)=>({step:I,id:M.id,data:M,pId:M.pId})).groupBy("id").value(),b=cn.chain(cn.range(h,m)).map(M=>{var W;const I=f.events[M],P=f.events,L=g(Oh({alpha:1,...l,step:M,parent:Rh(I.pId)?void 0:P[((W=cn.findLast(_[I.pId],U=>U.step<=M))==null?void 0:W.step)??0],event:I,events:P})),A=L.filter(Go),E=L.filter(cn.negate(Go));return{persistent:A,transient:E}}).map(M=>cn.mapValues(M,I=>I.filter(y))).map((M,I)=>cn.mapValues(M,P=>P.map(w(I)))).value();return{stepsPersistent:cn.map(b,M=>M.persistent),stepsTransient:cn.map(b,M=>M.transient)}}onmessage=({data:f})=>{postMessage(Eh(f))}})(); diff --git a/assets/primitives-reference.workspace-cd08113e.js b/assets/primitives-reference.workspace-cc4c7f83.js similarity index 98% rename from assets/primitives-reference.workspace-cd08113e.js rename to assets/primitives-reference.workspace-cc4c7f83.js index 9d653097..ce23bad1 100644 --- a/assets/primitives-reference.workspace-cd08113e.js +++ b/assets/primitives-reference.workspace-cc4c7f83.js @@ -1 +1 @@ -const V="data:application/octet-stream;base64,eyJpZCI6ImxKeWRobFdZZDVZMDBvTWJKVUFMcCIsIm5hbWUiOiJQcmltaXRpdmVzIFJlZmVyZW5jZSIsImRlc2NyaXB0aW9uIjoiUXVpY2sgZGVtbyBvZiB0aGUgcHJpbWl0aXZlcyBwcm92aWRlZCBieSB0aGUgYnVpbHQtaW4gMkQgcmVuZGVyZXIuIiwiYXV0aG9yIjoiZ2l0aHViOnBhdGgtdmlzdWFsaXNlciIsInNjcmVlbnNob3RzIjpbImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsLzlqLzRBQVFTa1pKUmdBQkFRQUFBUUFCQUFELzJ3Q0VBQUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQWYvQUFCRUlBRUFBUUFNQkVRQUNFUUVERVFIL3hBR2lBQUFCQlFFQkFRRUJBUUFBQUFBQUFBQUFBUUlEQkFVR0J3Z0pDZ3NRQUFJQkF3TUNCQU1GQlFRRUFBQUJmUUVDQXdBRUVRVVNJVEZCQmhOUllRY2ljUlF5Z1pHaENDTkNzY0VWVXRId0pETmljb0lKQ2hZWEdCa2FKU1luS0NrcU5EVTJOemc1T2tORVJVWkhTRWxLVTFSVlZsZFlXVnBqWkdWbVoyaHBhbk4wZFhaM2VIbDZnNFNGaG9lSWlZcVNrNVNWbHBlWW1acWlvNlNscHFlb3FhcXlzN1MxdHJlNHVickN3OFRGeHNmSXljclMwOVRWMXRmWTJkcmg0dVBrNWVibjZPbnE4Zkx6OVBYMjkvajUrZ0VBQXdFQkFRRUJBUUVCQVFBQUFBQUFBQUVDQXdRRkJnY0lDUW9MRVFBQ0FRSUVCQU1FQndVRUJBQUJBbmNBQVFJREVRUUZJVEVHRWtGUkIyRnhFeUl5Z1FnVVFwR2hzY0VKSXpOUzhCVmljdEVLRmlRMDRTWHhGeGdaR2lZbktDa3FOVFkzT0RrNlEwUkZSa2RJU1VwVFZGVldWMWhaV21Oa1pXWm5hR2xxYzNSMWRuZDRlWHFDZzRTRmhvZUlpWXFTazVTVmxwZVltWnFpbzZTbHBxZW9xYXF5czdTMXRyZTR1YnJDdzhURnhzZkl5Y3JTMDlUVjF0ZlkyZHJpNCtUbDV1Zm82ZXJ5OC9UMTl2ZjQrZnIvMmdBTUF3RUFBaEVERVFBL0FQNGw2OUE1d29BS0FMSDJTNit5L2J2czF4OWgrMGZaUHRua3lmWmZ0WGwrZDltKzBiZkorMGVUKzk4bmY1bmwvUHQyODBBVjZBQ2dBb0FLQUNnQW9BS0FQNkR2K0NRUHdqK0ZIeEYrQzN4UXYvaUQ4TWZoNTQ2djdING9yWjJONzR5OEYrRy9FOTNaMm4vQ0o2Rk45bHRiblc5TnZwcmUyODZXV1h5SVhTTHpaSkpOdTUySi91WDZMSEMzREdmY0pjUjRqUE9ITWl6bkVVZUlsUm8xODF5akw4eHJVcVA5bVlLZnNxVlRHWWV0T25UNTV5bnlRYWp6U2xLMTIyZnd6OUtmaW5pYkllTGVITVBrZkVlZTVOUXJjT090V29aVm0rWVpkUnExdjdUeHNQYTFhZUR4RkdGU3B5UmpEbmxGeTVZeGpleVNQRWYrQ3hudzArSEh3NDhUL0FtRDRlZUFQQlBnS0RWZEI4ZVRhcEQ0TThLNkY0WGkxS1cwMUR3d2xyTGZ4NkhZV0tYa2xzazh5VzczQWthRlpwVmpLaVJ3ZmtQcFc4UDVCa0dZOEZ3eUxKTW95V0dKd1dkU3hNY3B5M0JaZEhFU3BWOHVWT1ZlT0RvMFZWbFRVNXFEcUtUZ3B5VWJjenY5aDlGTGlEUHMvd0F1NDBubnVkNXZuVThOamNsamhwNXRtV056R1dIalZvWmk2a2FFc1pXck9sR280UWMxVGNWTnhpNVhjVmI4WDYva2svcllLQUNnQW9BS0FDZ0Q2Ky9aZzFUOXJ6VUUxcndSK3l2NG0rSTZYMDkydXU2MTRROEFUYXhiK1lERGIySjhRNnJleFdpK0hkTnQxU08zc0Z1ZFkxaXdlYVJJN2EyU2FWbzBmOUE0SnoveEh3WDFqS2VCTXp6N0N4cjFQcm1Md3VVVnAwcVRxY2tLUDFqRVNUalNwdHdoQ2twMVp4VHRHQ2Jka2ZrbmluVThHOG13dUY0ajhXWHdyaEtFUCtFN0FZN2lLTk9WYXEzS2VJZUR3RkcwOFZpcHhjcWxlZEhDMGFzNFE1NnM0eGdwU1hDZnRGK0pQMms3L3dBWDIvaFQ5cHZVL2lIY2VNdkI4RTBWbHBQeEZlOE9vNlZaNnVZSjVKYkFYWUN5YWZxZjJXM25pdkxSNXJPOVNHT1dDZVZBR3J6K01zODQyelhIVWNOeHZtR2NZM0g1YkNwREQwczRxVkoxY05UeERoS2ZzZmFhZXlyT25DWFBCeWhVNUl1TW1rZXo0Y1UvRFhFWkc4ODhMMXc3VnlMT0p4bFBIY051akxDNHF0aE9lbjdPdTZMdkRFNFYxS2xPcGg2MGFkZWhLVW9WYWNKYUh6NVh4NStoQlFBVUFGQUJRQVVBZnVUL0FNRWYvd0JxajRFZkJQVHZpcjhQZml2NGswWDRlNjM0dTF2UlBFV2llTC9FREN5MFhXTExUdE91TlBsOFBhaHJiSjltMHliU1pwSmRSMDFkU21ndExzYXZxS1FUSmN4aUs1L2VmQnJpeklNanBadGwyYjRxaGwxZkdWNkdKb1l6RTJwMEsxT2xTbFRlSHFWMnVXbEtsSnVwU1ZXVVlUOXRVVVpLYXRML0FEcCtuVjRNK0pIaUZpdUMrS09Dc3B6RGlqTDhqeS9NTXF6RElzc1gxakg0SEVZdkZVc1ZETk1ObDZsN1hGMDhiQ0VNTGkzaElWSzFENmxoWlZLYnBUYzZYaTMvQUFWci9hUCtEMzdRUHhnOEJRL0NMVTdMeFhhL0Q3d25xV2k2OTQ1MDJHUWFkclY3cW1xcmYyMmo2WmVUUlJQcW1uZUgwanVKNDlRaEQyRXQ1cmQ4bGxMTXNVazBuaCtML0UyVGNSWnpsOGNucTA4WERMc0hWb1lqSDBrL1oxNmxXcXFrYU5LYlNkV2xoMHBTVlNONmJuWHFLRGFUay8wRDZFWGhSeDM0WWNDOFMxT09jSmlNbHJjVVoxaE13eXpoekYxSXZGWmZoOEhncFlhcmo4WlFoT2NjSGlzemxPbFRsaGFqamlvVU12dzhzUkNuS2NhY2Z5ZnI4aVA3V0NnQW9BS0FDZ0FvQTZ6dy9ENGUxTzB1dEcxVzR0TkMxS2U0aXVkSjhTM1VPcDNOb2pwRzhjbWphdXRyZXRIWWFaZDdoY1JhdGI2SHFsNWJYME1OdmNyRnBsMWMzdW40MXAxYWFqT25TOXRGTiswcHhrbzFlWCtha3BXaE9VWHZUbEtuelJiY1o4MFZUcWMySXFWNlNoVW8wUHJFRTM3YW5HU2pYNUxhVG9LVnFkU1VYOFZLYzZibEZ1VUp1Y0ZTcTVHdGFIcXZoNitiVHRZczNzN29SeHp4L1BEY1cxM2FUamZiWCtuMzFySk5aYW5wdDVIaWF4MVBUN2k1c0w2Qmt1TFM1bWhkWkRWS3RUcnc1NlVsS04zRjZPTW9TanBLRlNFa3AwNmtIcE9uT01ad2xlTW9wcG91aGlLT0pwcXJSbXB3dTR2U1Vad25IU1ZPclRtbzFLVldEMHFVcWtZVktjcnhuR01rMFpWYUd3VUFGQUJRQVVBRkFIUytIcDlOMC83WnFlbytINS9FTWxxaURUcldhV2VEUVlyb2ttUzYxejdJcTNsN0JieDdUQnBsdGVhWXR4Y1NSejNsODluYXphWnFlTmFGV29vd3AxZll4YmZ0SnhpcFZlWHBHazVlNUNVbjhWU1VhampGTlFncHlWU256WWluWHFxTk9sWCtyd2JmdHFrWXFWZmt0cENnNVhwMDVTZnhWWndxdU1FMUNDbktOV2xuNjFybXErSWI1dFIxaThlN3VUSEhCSDhrTnZiV2xwQU50dFlhZFkyc2NGanBtbTJjZjdteDB6VDdlMnNMR0FMQmFXME1LS2dxbFJwMEljbEtQTEc3azlYS1VwUDRwMUp5Ym5VcVNlczZrNVNuTis5S1RidVhRb1VjTlQ5blJnb1J1NVBXVXBUbkxXVlNwVW01Vkt0V2IxcVZha3BWSnl2S2NwTjNNcXREWUtBQ2dBb0FLQUNnRDl4ZitDTFA3SVh3VS9iVnZmMnRQaFY4ZHIvV2REOE02UDhBQjdSZkZlaWVNZEU4U1MrSGJ6d0RyVUhpVVEzSGlsWkxpVStIN3V6aTArTXByRmo0bXNiL0FFVzVzWVJKY1F3WE5wWlg5bC9MMzBtZkU3aS93dHd2QUdjOElPbmlNUmplSmNUbCtPeWV2aG5pOE5uZUZuZ2VlR0FxVXFkc1RHcktzb1BEVnNIVXBZcW5Wc29TblRuVW8xZTdCVWFkZDFZVk5FcWZNcEoyY1dwTFcrMXJYdW5wYjVOZmxCKzBKOE5mQmZ3ZytNdmo3NGIvQUE5K0wzaFQ0OGVEdkNldXo2Wm9YeFY4RldlcVdIaDd4WGFScWpmYWJTMzFTSWZ2YmFSbnNyeWJTNzNXL0Q5eGQyODAvaC94RHJ1a1NXZXFYWDc1d2ZuZVo4UjhOWlJuZWM4T1pod25tV1lZU0ZmRjhQNXBWb1ZjYmw5U1RhOW5WblFrOUp4U3EwNFY2V0Z4a0tjNHd4bUR3bUpqVnc5UGtxUlVKeWpHY2FpVHNweHZaK2F2K2wxMmJXcDR6WDBwQVVBRkFCUUFVQUZBSFdhRjQ3OGFlR05COFcrR1BEZmlyWDlCOFBlUGJQVDlOOGJhUG8rcTNlbldQaXpUTkp2UDdTMC9TL0VOdmFTeExxMmwydW83TlFqMDY5RTFrYjZDMnUyZ2E0dExhU0h6OFhsT1dZN0Y1ZmpzYmwrRHhlTXltcldyNVhpY1RoNlZhcmw5ZXZTOWpXcjRPZFNNbmg2OVNqZWk2MUxscSt5blVwcWFoVW5HVFVtazBtMHBhTkoydWxyWjkxZlczZlU1T3ZRRUZBQlFBVUFmLzlrPSJdLCJzaXplIjoxMDI4MDAsImxhc3RNb2RpZmllZCI6MTcxNDU1NDk1MTM5NX0=";export{V as default}; +const V="data:application/octet-stream;base64,eyJpZCI6ImxKeWRobFdZZDVZMDBvTWJKVUFMcCIsIm5hbWUiOiJQcmltaXRpdmVzIFJlZmVyZW5jZSIsImRlc2NyaXB0aW9uIjoiUXVpY2sgZGVtbyBvZiB0aGUgcHJpbWl0aXZlcyBwcm92aWRlZCBieSB0aGUgYnVpbHQtaW4gMkQgcmVuZGVyZXIuIiwiYXV0aG9yIjoiZ2l0aHViOlNob3J0ZXN0UGF0aExhYiIsInNjcmVlbnNob3RzIjpbImRhdGE6aW1hZ2UvanBlZztiYXNlNjQsLzlqLzRBQVFTa1pKUmdBQkFRQUFBUUFCQUFELzJ3Q0VBQUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQWYvQUFCRUlBRUFBUUFNQkVRQUNFUUVERVFIL3hBR2lBQUFCQlFFQkFRRUJBUUFBQUFBQUFBQUFBUUlEQkFVR0J3Z0pDZ3NRQUFJQkF3TUNCQU1GQlFRRUFBQUJmUUVDQXdBRUVRVVNJVEZCQmhOUllRY2ljUlF5Z1pHaENDTkNzY0VWVXRId0pETmljb0lKQ2hZWEdCa2FKU1luS0NrcU5EVTJOemc1T2tORVJVWkhTRWxLVTFSVlZsZFlXVnBqWkdWbVoyaHBhbk4wZFhaM2VIbDZnNFNGaG9lSWlZcVNrNVNWbHBlWW1acWlvNlNscHFlb3FhcXlzN1MxdHJlNHVickN3OFRGeHNmSXljclMwOVRWMXRmWTJkcmg0dVBrNWVibjZPbnE4Zkx6OVBYMjkvajUrZ0VBQXdFQkFRRUJBUUVCQVFBQUFBQUFBQUVDQXdRRkJnY0lDUW9MRVFBQ0FRSUVCQU1FQndVRUJBQUJBbmNBQVFJREVRUUZJVEVHRWtGUkIyRnhFeUl5Z1FnVVFwR2hzY0VKSXpOUzhCVmljdEVLRmlRMDRTWHhGeGdaR2lZbktDa3FOVFkzT0RrNlEwUkZSa2RJU1VwVFZGVldWMWhaV21Oa1pXWm5hR2xxYzNSMWRuZDRlWHFDZzRTRmhvZUlpWXFTazVTVmxwZVltWnFpbzZTbHBxZW9xYXF5czdTMXRyZTR1YnJDdzhURnhzZkl5Y3JTMDlUVjF0ZlkyZHJpNCtUbDV1Zm82ZXJ5OC9UMTl2ZjQrZnIvMmdBTUF3RUFBaEVERVFBL0FQNGw2OUE1d29BS0FMSDJTNit5L2J2czF4OWgrMGZaUHRua3lmWmZ0WGwrZDltKzBiZkorMGVUKzk4bmY1bmwvUHQyODBBVjZBQ2dBb0FLQUNnQW9BS0FQNkR2K0NRUHdqK0ZIeEYrQzN4UXYvaUQ4TWZoNTQ2djdING9yWjJONzR5OEYrRy9FOTNaMm4vQ0o2Rk45bHRiblc5TnZwcmUyODZXV1h5SVhTTHpaSkpOdTUySi91WDZMSEMzREdmY0pjUjRqUE9ITWl6bkVVZUlsUm8xODF5akw4eHJVcVA5bVlLZnNxVlRHWWV0T25UNTV5bnlRYWp6U2xLMTIyZnd6OUtmaW5pYkllTGVITVBrZkVlZTVOUXJjT090V29aVm0rWVpkUnExdjdUeHNQYTFhZUR4RkdGU3B5UmpEbmxGeTVZeGpleVNQRWYrQ3hudzArSEh3NDhUL0FtRDRlZUFQQlBnS0RWZEI4ZVRhcEQ0TThLNkY0WGkxS1cwMUR3d2xyTGZ4NkhZV0tYa2xzazh5VzczQWthRlpwVmpLaVJ3ZmtQcFc4UDVCa0dZOEZ3eUxKTW95V0dKd1dkU3hNY3B5M0JaZEhFU3BWOHVWT1ZlT0RvMFZWbFRVNXFEcUtUZ3B5VWJjenY5aDlGTGlEUHMvd0F1NDBubnVkNXZuVThOamNsamhwNXRtV056R1dIalZvWmk2a2FFc1pXck9sR280UWMxVGNWTnhpNVhjVmI4WDYva2svcllLQUNnQW9BS0FDZ0Q2Ky9aZzFUOXJ6VUUxcndSK3l2NG0rSTZYMDkydXU2MTRROEFUYXhiK1lERGIySjhRNnJleFdpK0hkTnQxU08zc0Z1ZFkxaXdlYVJJN2EyU2FWbzBmOUE0SnoveEh3WDFqS2VCTXp6N0N4cjFQcm1Md3VVVnAwcVRxY2tLUDFqRVNUalNwdHdoQ2twMVp4VHRHQ2Jka2ZrbmluVThHOG13dUY0ajhXWHdyaEtFUCtFN0FZN2lLTk9WYXEzS2VJZUR3RkcwOFZpcHhjcWxlZEhDMGFzNFE1NnM0eGdwU1hDZnRGK0pQMms3L3dBWDIvaFQ5cHZVL2lIY2VNdkI4RTBWbHBQeEZlOE9vNlZaNnVZSjVKYkFYWUN5YWZxZjJXM25pdkxSNXJPOVNHT1dDZVZBR3J6K01zODQyelhIVWNOeHZtR2NZM0g1YkNwREQwczRxVkoxY05UeERoS2ZzZmFhZXlyT25DWFBCeWhVNUl1TW1rZXo0Y1UvRFhFWkc4ODhMMXc3VnlMT0p4bFBIY051akxDNHF0aE9lbjdPdTZMdkRFNFYxS2xPcGg2MGFkZWhLVW9WYWNKYUh6NVh4NStoQlFBVUFGQUJRQVVBZnVUL0FNRWYvd0JxajRFZkJQVHZpcjhQZml2NGswWDRlNjM0dTF2UlBFV2llTC9FREN5MFhXTExUdE91TlBsOFBhaHJiSjltMHliU1pwSmRSMDFkU21ndExzYXZxS1FUSmN4aUs1L2VmQnJpeklNanBadGwyYjRxaGwxZkdWNkdKb1l6RTJwMEsxT2xTbFRlSHFWMnVXbEtsSnVwU1ZXVVlUOXRVVVpLYXRML0FEcCtuVjRNK0pIaUZpdUMrS09Dc3B6RGlqTDhqeS9NTXF6RElzc1gxakg0SEVZdkZVc1ZETk1ObDZsN1hGMDhiQ0VNTGkzaElWSzFENmxoWlZLYnBUYzZYaTMvQUFWci9hUCtEMzdRUHhnOEJRL0NMVTdMeFhhL0Q3d25xV2k2OTQ1MDJHUWFkclY3cW1xcmYyMmo2WmVUUlJQcW1uZUgwanVKNDlRaEQyRXQ1cmQ4bGxMTXNVazBuaCtML0UyVGNSWnpsOGNucTA4WERMc0hWb1lqSDBrL1oxNmxXcXFrYU5LYlNkV2xoMHBTVlNONmJuWHFLRGFUay8wRDZFWGhSeDM0WWNDOFMxT09jSmlNbHJjVVoxaE13eXpoekYxSXZGWmZoOEhncFlhcmo4WlFoT2NjSGlzemxPbFRsaGFqamlvVU12dzhzUkNuS2NhY2Z5ZnI4aVA3V0NnQW9BS0FDZ0FvQTZ6dy9ENGUxTzB1dEcxVzR0TkMxS2U0aXVkSjhTM1VPcDNOb2pwRzhjbWphdXRyZXRIWWFaZDdoY1JhdGI2SHFsNWJYME1OdmNyRnBsMWMzdW40MXAxYWFqT25TOXRGTiswcHhrbzFlWCtha3BXaE9VWHZUbEtuelJiY1o4MFZUcWMySXFWNlNoVW8wUHJFRTM3YW5HU2pYNUxhVG9LVnFkU1VYOFZLYzZibEZ1VUp1Y0ZTcTVHdGFIcXZoNitiVHRZczNzN29SeHp4L1BEY1cxM2FUamZiWCtuMzFySk5aYW5wdDVIaWF4MVBUN2k1c0w2Qmt1TFM1bWhkWkRWS3RUcnc1NlVsS04zRjZPTW9TanBLRlNFa3AwNmtIcE9uT01ad2xlTW9wcG91aGlLT0pwcXJSbXB3dTR2U1Vad25IU1ZPclRtbzFLVldEMHFVcWtZVktjcnhuR01rMFpWYUd3VUFGQUJRQVVBRkFIUytIcDlOMC83WnFlbytINS9FTWxxaURUcldhV2VEUVlyb2ttUzYxejdJcTNsN0JieDdUQnBsdGVhWXR4Y1NSejNsODluYXphWnFlTmFGV29vd3AxZll4YmZ0SnhpcFZlWHBHazVlNUNVbjhWU1VhampGTlFncHlWU256WWluWHFxTk9sWCtyd2JmdHFrWXFWZmt0cENnNVhwMDVTZnhWWndxdU1FMUNDbktOV2xuNjFybXErSWI1dFIxaThlN3VUSEhCSDhrTnZiV2xwQU50dFlhZFkyc2NGanBtbTJjZjdteDB6VDdlMnNMR0FMQmFXME1LS2dxbFJwMEljbEtQTEc3azlYS1VwUDRwMUp5Ym5VcVNlczZrNVNuTis5S1RidVhRb1VjTlQ5blJnb1J1NVBXVXBUbkxXVlNwVW01Vkt0V2IxcVZha3BWSnl2S2NwTjNNcXREWUtBQ2dBb0FLQUNnRDl4ZitDTFA3SVh3VS9iVnZmMnRQaFY4ZHIvV2REOE02UDhBQjdSZkZlaWVNZEU4U1MrSGJ6d0RyVUhpVVEzSGlsWkxpVStIN3V6aTArTXByRmo0bXNiL0FFVzVzWVJKY1F3WE5wWlg5bC9MMzBtZkU3aS93dHd2QUdjOElPbmlNUmplSmNUbCtPeWV2aG5pOE5uZUZuZ2VlR0FxVXFkc1RHcktzb1BEVnNIVXBZcW5Wc29TblRuVW8xZTdCVWFkZDFZVk5FcWZNcEoyY1dwTFcrMXJYdW5wYjVOZmxCKzBKOE5mQmZ3ZytNdmo3NGIvQUE5K0wzaFQ0OGVEdkNldXo2Wm9YeFY4RldlcVdIaDd4WGFScWpmYWJTMzFTSWZ2YmFSbnNyeWJTNzNXL0Q5eGQyODAvaC94RHJ1a1NXZXFYWDc1d2ZuZVo4UjhOWlJuZWM4T1pod25tV1lZU0ZmRjhQNXBWb1ZjYmw5U1RhOW5WblFrOUp4U3EwNFY2V0Z4a0tjNHd4bUR3bUpqVnc5UGtxUlVKeWpHY2FpVHNweHZaK2F2K2wxMmJXcDR6WDBwQVVBRkFCUUFVQUZBSFdhRjQ3OGFlR05COFcrR1BEZmlyWDlCOFBlUGJQVDlOOGJhUG8rcTNlbldQaXpUTkp2UDdTMC9TL0VOdmFTeExxMmwydW83TlFqMDY5RTFrYjZDMnUyZ2E0dExhU0h6OFhsT1dZN0Y1ZmpzYmwrRHhlTXltcldyNVhpY1RoNlZhcmw5ZXZTOWpXcjRPZFNNbmg2OVNqZWk2MUxscSt5blVwcWFoVW5HVFVtazBtMHBhTkoydWxyWjkxZlczZlU1T3ZRRUZBQlFBVUFmLzlrPSJdLCJzaXplIjoxMDI4MDAsImxhc3RNb2RpZmllZCI6MTcxNDU1NDk1MTM5NX0=";export{V as default}; diff --git a/assets/variables-reference.workspace-db5c7928.js b/assets/variables-reference.workspace-4bafa382.js similarity index 97% rename from assets/variables-reference.workspace-db5c7928.js rename to assets/variables-reference.workspace-4bafa382.js index da3eedd4..250e78c7 100644 --- a/assets/variables-reference.workspace-db5c7928.js +++ b/assets/variables-reference.workspace-4bafa382.js @@ -1 +1 @@ -const U="data:application/octet-stream;base64,eyJpZCI6Ik11T3N3TjlBejNtUlRlTTJvcHlOOCIsIm5hbWUiOiJWYXJpYWJsZXMgUmVmZXJlbmNlIiwiZGVzY3JpcHRpb24iOiJTaW1wbGUgZGVtbyBvZiB2YXJpYWJsZXMgYXZhaWxhYmxlIGluIGV4cHJlc3Npb25zLiIsImF1dGhvciI6ImdpdGh1YjpwYXRoLXZpc3VhbGlzZXIiLCJzY3JlZW5zaG90cyI6WyJkYXRhOmltYWdlL2pwZWc7YmFzZTY0LC85ai80QUFRU2taSlJnQUJBUUFBQVFBQkFBRC8yd0NFQUFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFmL0FBQkVJQUVBQVFBTUJFUUFDRVFFREVRSC94QUdpQUFBQkJRRUJBUUVCQVFBQUFBQUFBQUFBQVFJREJBVUdCd2dKQ2dzUUFBSUJBd01DQkFNRkJRUUVBQUFCZlFFQ0F3QUVFUVVTSVRGQkJoTlJZUWNpY1JReWdaR2hDQ05Dc2NFVlV0SHdKRE5pY29JSkNoWVhHQmthSlNZbktDa3FORFUyTnpnNU9rTkVSVVpIU0VsS1UxUlZWbGRZV1ZwalpHVm1aMmhwYW5OMGRYWjNlSGw2ZzRTRmhvZUlpWXFTazVTVmxwZVltWnFpbzZTbHBxZW9xYXF5czdTMXRyZTR1YnJDdzhURnhzZkl5Y3JTMDlUVjF0ZlkyZHJoNHVQazVlYm42T25xOGZMejlQWDI5L2o1K2dFQUF3RUJBUUVCQVFFQkFRQUFBQUFBQUFFQ0F3UUZCZ2NJQ1FvTEVRQUNBUUlFQkFNRUJ3VUVCQUFCQW5jQUFRSURFUVFGSVRFR0VrRlJCMkZ4RXlJeWdRZ1VRcEdoc2NFSkl6TlM4QlZpY3RFS0ZpUTA0U1h4RnhnWkdpWW5LQ2txTlRZM09EazZRMFJGUmtkSVNVcFRWRlZXVjFoWldtTmtaV1puYUdscWMzUjFkbmQ0ZVhxQ2c0U0Zob2VJaVlxU2s1U1ZscGVZbVpxaW82U2xwcWVvcWFxeXM3UzF0cmU0dWJyQ3c4VEZ4c2ZJeWNyUzA5VFYxdGZZMmRyaTQrVGw1dWZvNmVyeTgvVDE5dmY0K2ZyLzJnQU1Bd0VBQWhFREVRQS9BUDRsNjlBNXdvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUwybWFiZDZ2ZlcybTJLd3ZkM2JtT0ZiaTd0TEdFc0VaejVsM2ZUMjFwQW9WR08rZWVOT01ic2tBZ0hWbjRjZUxCRmZUUGI2UEhGcHN0eEJlUEw0czhKeExITmFlYjlwamo4elhFKzBQQ1laRmNXM25ZY0tneTdvckFFai9EUHhkR3lJOXZvYXRKYVNYOGU3eGg0T0FlMGpFSmFaRy90N2F3eFBHVlVFdklCSjVhdDVFM2xnRFI4TnZGakxLNndhSXl3MjhsMU15K0wvQjdDT0dKL0xrTDQxMDdYV1Q1UEtQNzR2OG9RdHhRQS93RDRWbDR2eElmczJpZ1JJcnRueGY0UEc1SHRoZGd4WjE3OS9pRWtQNVBtR09kSmJWOXQxRkxDZ0JuNjM0RzhSK0hiZDduVm90S2hSRXRaR2p0dkV2aHJVcm9SM29EV3Nvc2ROMWU3dlRGS3BWeEt0dVVXTjQ1SFpVa1JtQU9Sb0FLQU5IU05ZMVhRTlN0TlkwVFVMelN0VnNKRE5aYWhZVHlXMTVheWxHak1rRThUTEpHNVIzVGNyQTdXSTZFMW5WcFU2MU9WS3RDTlNuTlduQ2FVb3lWNzJsRjZOWFNlcGxXbzBjUlNuUnIwNFZxTlJXblRxUlVvVFYwN1NpN3BxNlRzK3g2STN4eStNYmZlK0ozamRzZE4zaUxVamo4NTY5SEo4eHgvRDlPdFJ5UEY0akthV0luR3JYcDRDcExEUXJWSVI1WXpxUnBPS2xLTWZkVGQybG9lTFc0VjRieERqS3ZrZVYxWEZXaTU0T2pKcFBXeWJodGM4L24xM1dicWVhNXVkVHZwN2k0bGtubm1sdUpIbG1tbWN5U3l5T3pGbmtrZG1kMkpKWmlTVGsxeTFLazZ0U2RXck9WU3BWbktwVW5OdVVwem5KeW5PVW5xNVNrMjIzcTIyejNLZE9GS25DbFNoR25UcFFqVHB3Z2xHTUlRaW93aEdLMFVZeFNTUzBTU1JGL2EycC84L3dCZGY5L24vd0FhZ3NQN1cxUC9BSi9yci92OC93RGpRQWYydHFmL0FEL1hYL2Y1L3dER2dBL3RiVS8rZjY2LzcvUC9BSTBBVXBKSkpuYVNWMmtrYzVaM0pabU9NWkpQSk9CUUF5Z0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQVA4QS85az0iXSwic2l6ZSI6NzUyODIsImxhc3RNb2RpZmllZCI6MTcxNDU1NDkwNDIzMn0=";export{U as default}; +const U="data:application/octet-stream;base64,eyJpZCI6Ik11T3N3TjlBejNtUlRlTTJvcHlOOCIsIm5hbWUiOiJWYXJpYWJsZXMgUmVmZXJlbmNlIiwiZGVzY3JpcHRpb24iOiJTaW1wbGUgZGVtbyBvZiB2YXJpYWJsZXMgYXZhaWxhYmxlIGluIGV4cHJlc3Npb25zLiIsImF1dGhvciI6ImdpdGh1YjpTaG9ydGVzdFBhdGhMYWIiLCJzY3JlZW5zaG90cyI6WyJkYXRhOmltYWdlL2pwZWc7YmFzZTY0LC85ai80QUFRU2taSlJnQUJBUUFBQVFBQkFBRC8yd0NFQUFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFRRUJBUUVCQVFFQkFmL0FBQkVJQUVBQVFBTUJFUUFDRVFFREVRSC94QUdpQUFBQkJRRUJBUUVCQVFBQUFBQUFBQUFBQVFJREJBVUdCd2dKQ2dzUUFBSUJBd01DQkFNRkJRUUVBQUFCZlFFQ0F3QUVFUVVTSVRGQkJoTlJZUWNpY1JReWdaR2hDQ05Dc2NFVlV0SHdKRE5pY29JSkNoWVhHQmthSlNZbktDa3FORFUyTnpnNU9rTkVSVVpIU0VsS1UxUlZWbGRZV1ZwalpHVm1aMmhwYW5OMGRYWjNlSGw2ZzRTRmhvZUlpWXFTazVTVmxwZVltWnFpbzZTbHBxZW9xYXF5czdTMXRyZTR1YnJDdzhURnhzZkl5Y3JTMDlUVjF0ZlkyZHJoNHVQazVlYm42T25xOGZMejlQWDI5L2o1K2dFQUF3RUJBUUVCQVFFQkFRQUFBQUFBQUFFQ0F3UUZCZ2NJQ1FvTEVRQUNBUUlFQkFNRUJ3VUVCQUFCQW5jQUFRSURFUVFGSVRFR0VrRlJCMkZ4RXlJeWdRZ1VRcEdoc2NFSkl6TlM4QlZpY3RFS0ZpUTA0U1h4RnhnWkdpWW5LQ2txTlRZM09EazZRMFJGUmtkSVNVcFRWRlZXVjFoWldtTmtaV1puYUdscWMzUjFkbmQ0ZVhxQ2c0U0Zob2VJaVlxU2s1U1ZscGVZbVpxaW82U2xwcWVvcWFxeXM3UzF0cmU0dWJyQ3c4VEZ4c2ZJeWNyUzA5VFYxdGZZMmRyaTQrVGw1dWZvNmVyeTgvVDE5dmY0K2ZyLzJnQU1Bd0VBQWhFREVRQS9BUDRsNjlBNXdvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUwybWFiZDZ2ZlcybTJLd3ZkM2JtT0ZiaTd0TEdFc0VaejVsM2ZUMjFwQW9WR08rZWVOT01ic2tBZ0hWbjRjZUxCRmZUUGI2UEhGcHN0eEJlUEw0czhKeExITmFlYjlwamo4elhFKzBQQ1laRmNXM25ZY0tneTdvckFFai9EUHhkR3lJOXZvYXRKYVNYOGU3eGg0T0FlMGpFSmFaRy90N2F3eFBHVlVFdklCSjVhdDVFM2xnRFI4TnZGakxLNndhSXl3MjhsMU15K0wvQjdDT0dKL0xrTDQxMDdYV1Q1UEtQNzR2OG9RdHhRQS93RDRWbDR2eElmczJpZ1JJcnRueGY0UEc1SHRoZGd4WjE3OS9pRWtQNVBtR09kSmJWOXQxRkxDZ0JuNjM0RzhSK0hiZDduVm90S2hSRXRaR2p0dkV2aHJVcm9SM29EV3Nvc2ROMWU3dlRGS3BWeEt0dVVXTjQ1SFpVa1JtQU9Sb0FLQU5IU05ZMVhRTlN0TlkwVFVMelN0VnNKRE5aYWhZVHlXMTVheWxHak1rRThUTEpHNVIzVGNyQTdXSTZFMW5WcFU2MU9WS3RDTlNuTlduQ2FVb3lWNzJsRjZOWFNlcGxXbzBjUlNuUnIwNFZxTlJXblRxUlVvVFYwN1NpN3BxNlRzK3g2STN4eStNYmZlK0ozamRzZE4zaUxVamo4NTY5SEo4eHgvRDlPdFJ5UEY0akthV0luR3JYcDRDcExEUXJWSVI1WXpxUnBPS2xLTWZkVGQybG9lTFc0VjRieERqS3ZrZVYxWEZXaTU0T2pKcFBXeWJodGM4L24xM1dicWVhNXVkVHZwN2k0bGtubm1sdUpIbG1tbWN5U3l5T3pGbmtrZG1kMkpKWmlTVGsxeTFLazZ0U2RXck9WU3BWbktwVW5OdVVwem5KeW5PVW5xNVNrMjIzcTIyejNLZE9GS25DbFNoR25UcFFqVHB3Z2xHTUlRaW93aEdLMFVZeFNTUzBTU1JGL2EycC84L3dCZGY5L24vd0FhZ3NQN1cxUC9BSi9yci92OC93RGpRQWYydHFmL0FEL1hYL2Y1L3dER2dBL3RiVS8rZjY2LzcvUC9BSTBBVXBKSkpuYVNWMmtrYzVaM0pabU9NWkpQSk9CUUF5Z0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQUNnQW9BS0FDZ0FvQUtBQ2dBb0FLQVA4QS85az0iXSwic2l6ZSI6NzUyODIsImxhc3RNb2RpZmllZCI6MTcxNDU1NDkwNDIzMn0=";export{U as default}; diff --git a/assets/weighted-a-star.workspace-13502ed5.js b/assets/weighted-a-star.workspace-13502ed5.js deleted file mode 100644 index 7d195296..00000000 --- a/assets/weighted-a-star.workspace-13502ed5.js +++ /dev/null @@ -1 +0,0 @@ -const e=""+new URL("weighted-a-star.workspace-95c1c567.meta",import.meta.url).href;export{e as default}; diff --git a/assets/weighted-a-star.workspace-95c1c567.meta b/assets/weighted-a-star.workspace-257bccb0.meta similarity index 98% rename from assets/weighted-a-star.workspace-95c1c567.meta rename to assets/weighted-a-star.workspace-257bccb0.meta index 647a1d45..4c07a75d 100644 --- a/assets/weighted-a-star.workspace-95c1c567.meta +++ b/assets/weighted-a-star.workspace-257bccb0.meta @@ -1 +1 @@ -{"id":"Y0ipL-rrt8pOw4vnoCFTr","name":"Weighted A*","description":"This example demonstrates weighted A* on a medium-sized terrain map.","screenshots":["data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAEAAQAMBEQACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AP4j7W1lvJlgg8vzWDFRLPBbodilm/e3EkUQO0EgFwWxhQSQD6UISqSUI2cne15RitE38UmorRdWvvOOrVhRpyqT53GNr+zpVK09Woq1OjCdSWrV+WLsrt2SbWn/AMI9qn9yy/8ABtpP/wAnV0fU8R/LT/8AB+H/APlpx/2nhf5cZ/4bcx/+ZRw8N6qRkLYfjrOjKfya/Bp/UsR2pf8AhRh1+dUl5thE7OOO+WVZpJffHBtDl8M6szBQNOBYgAtrmhqoyccs2ohVHqSQAOSaPqWI7Uv/AApw3/y0X9r4P+XH/wDhpzX/AOYiS38K6xdQpPGNKVJN21bjxD4ftJhtYqd9vd6pDcR8qSokiXcuHXKMrHkkpRbi6da6/lo1ZL5SjBxfqmy6mZ4WlN05LGOUbXdPLcxrQ1SatUpYWdOWj15ZOzvF2kmlOPBmuHvof4+K/Co/nrIpXl/z6r/+E9f/AOVkf2vg/wCXH/8AhozZ/lghf+EL13+9oX/hWeFP/l1ReX/Pqv8A+E9f/wCVi/tjB/yZh/4aM2/+YTm7q2ls7ia1mMRlgkaKQwXEF1DvQ4by7m1kmt5kz0khlkjbqrkc0/k15STi16ppNPyaTPRpzjVhCpHmUZxU488J0p2krrmp1IwqQlbeM4xlF6SSehPpv/H7D/20/wDRUlbYf+ND/t7/ANJkKr/Dl8v/AEpH7Sfsl/8ABPjVv2hrD4d69bfCDxNq/g+/fwvc+NfFUeqatotlFodyFvPEOpWFxc6jDFdfZNKtdRuZG0ay1FbN0hEluGmgil93P8/4LyDJKssTi8PPP3k9fFYXBU543GVZY2OGvQWJoYObjhac8RKnf6zPCwlTVSUZqFOcofyjn/HniFS4nz/L8px1aWBy3MsdTjCllOW4j6tgsNVqNynUngKtV06NGnKU6tSUrRg5Tlo2fp18If8Agm5+y54t+P6fs9y/sseG573xLa3+o+EPFPjv4uftDaZNaaR4c03Wr2/1XUl0DxZ4Zh8Q2+uvo15a2qaP4d0uOxvBb7Lm5tbLUZLn8Zw/FObYvCxxizL2aq2coUcNgPY0Z2SlTpurRxE+WMv+ftetPm0c+i9Xg3j7jfP8/ocOe1ws62Z0qmIwONx9GjQjh6eDoYieIc44TLqKxdLEVMNVpwVKip0aqinXnClX5vqz9qv/AIIlfsi/CD9muHWfD3wh8MXvxqvviP4f0DTrjw14/wDjfZJrmm65qmp29j4a8KeFvFvxe8UNrniieGSyuLqKBJ7ldJ03Ubm2tETTb/VrrqhxHm90pYxtKOreHwl20t3y4eKWvZJeR+n8cz4u4e4LhXwma4GtxNUzjB4SjVwuCo0vrdLFV60KWDwOAxs8ZHE4+cZU51I04SkqFGtOnSiqNXET4z9kD/gjp+zv448fa98Kvj3+yXoPhu/+Fuj/ANq+OdY1X4p/HmXxN4mk8X/2kngOHSIvCPxbsfBVnZWj2epXOp39pLdtqtppmnW1rb2kz6lfXNT4jza144167f7PhbK1r3vQvftpbU87w+zPj/NM1xeRcVYXB4KtkeG9vmeIrUYyxuNeYe2WVrDxy+dLLadODp1p1qtOU/b06NKFOFOTrVZ/L/x3/Yg/YF8IfEv4k+ArD9mzxPa+Ffhzrb6PdfEr4Z+PPjQ5gkuXh0zSn8QaJ8TvFOu6awS/j1VLg2msaJZeK9Vs4I/DWraZpG+a6qPEGctJ/XIttbOhhfzVH080t9dvieKPE/N8uzrOcqpfW44DKMS8PPOcmwNF8jm40aDxeHzrBYmi7VVXU/Z4jDUsfXpwWCr0MPeVT4l/bQ/ZF/ZP+G/7N/iL4zfBHwJ8etChsfFHhj4d6Tr/AI70waxoF545ub2y1PXLXUNb07xy1j4VL+FodZkstHvPD/iWZruK1t49X865lm0v2sizLNcfjlSq14VaNKjUr4iChRg1S0pQknGlGTft6tFWjJaNt3V0e5wXxTm/EWc4OvTzfP3kkKmIwNejnOR5BQp5lmVPL6+IlQo4/LI0KmDrUEljPqahXnKlh53rzh7ZUvwcu/8Aj6uP+u0n/oRr3qn8Sf8Ajl+bP3eHwR/wx/JE2m/8fsP/AG0/9FSVeH/jQ/7e/wDSZE1f4cvl/wClI/uo/wCCYfwV8JftCfBH9kjU9b8XfFjVoPDHw30iBp/hV4g1PSPB/wANfE3gt7oS6L43TXbt73QrjxT4S/sDQbHU/BFnaPq+q2HiF5bqSOWHVj+b53hVhM0zGg8NOgq9V4p08TKhUqYinjYRqvFR9jeKw+IqSqyoQn+8hRUIVUpxnFfgmW8J5TxRxbi44nFcR1VhM6zmdf8AszHxhg8vxlDMcXOp/acJSjLB0c2wEsNhcLLL6FOpWnRxaq1JN+2X3X+2P+zt4W8VeIfDvhzwR40j0Rvh3DZeNdb8LJe6hqOt6HHrl4ml6Zq0V7beJNB8VadZasdLuIW+w6zPHqE1u51WB4bbT5IPS8OeN8n8JM5xfEuK4Bw3G0XSo/2dSxufYjK8NkWMj9YhWxNPBrAZlhcweOWIw1JrFYeX1OOHlLD2lVaXuZpRyPw1z5ZrlGUPNKOVQwubPBxzvEUMTw5icRVqYOOLwydb63Chmy5MPOpRqynH2M1XjUw/sacdLw98efjMU+Glz4W8bmHwVBZ6BpHjfR/HXgsXniiLT9BuoBe654Mnv4dM1Sx8S6/bW9/pV9b+NZtZ0+wjvLfUtJMqxRQp8Xn3GeGx+e55j8VlOAyurjcyxmOpZdw/LD1MnwsMZWniKeFwUqVT2UaGHhVhTj7N8vuy92nK9KPzeYeOmcZrnP8AasKVHKsDisXCeOying6GOVDDRrxqOplGJqfU5wx1eip0MU8x9vQ56n1rDwg7YeHpnxT/AGhr6z0swt8V7n4dJ4y8J+JLbR9b1vw9FpT3mvwKkZ074ZnT9A1298QeItDm1Gxj0/TvN1HU764uYFW0Z7gJXk4PFZnjKsMRhOathoxl7aOJhTw9GVSV7U6LpwqVeWnazqScr2tKSvY0xvH3EWNVPE4HP6mXYLMMszCPts3wGHyyhXzG0lHB8MzweX4/GYzF5fOrQjSU6mKrV5yjGcE6nId/p3x1+HPwP+G3hfx38fviTaeLv+E/vJbLTPiTpfwq1mULoGhzRvoujeMdQ8K6FqBj1DRru6Yl9csvD+oz6/famln4cs5rHUobL6KCqTS5qapzS96mp86Tvb3ZcsXJNWd+VPyP0rC8U5Xw3keAzbjHNaOMqZrUnTp5thclxNaEcLhZr6th8ficFgm/aUJzb5sXh8FXniqteMMDSlRrRp/ih/wXZ/aU+AXxJ/Y01PwD8G/H0F9Fq2q6J8QNWtPA2lWdv4d1fVofiB4SsYbHx4JY7DVLPUryKfVdbtM6bLftqekaS+pNb2F/9pPucOU5xz3CVJU6VSCo4uklVjLno1Z0lOOKw8lOMVVjSpVcNL2inH6viq6ivaOLXzuN4v4YzrjHgrA8OZnRxVGc8/zLEYbLcNTjh6mMqZZWo06+OlOeHqUcTGh9eqLnoVK0o6OK9tCT/h4u/wDj6uP+u0n/AKEa+/qfxJ/45fmz9Zh8Ef8ADH8kTaaCb2HAPAkJ9h5TjJ9BkgfUgVeH/jQ/7e/9JkTV/hy+X/pSP76f+CfHwZ/bG1/9kj9nTxD8Bvih4A+EfgS1+Cvw31fw/Zp4X0yWTx34hgs9ROrp47vTpmpa0k99K8F7eWyx3fhyS31K3MMEut2Opajd/lmNdCeaZrWkqlSvLMMVRq1as3UqJUK0qcKUJy2oUIRjToQVowhGKUUfiGC4a8QMdmmd5rwtmuU8OYaWaY2fK8NRxNXNMfhcyzCnXoZji5YaWLlRT5HCmqX1KNCrSUKTxVKvWqfo18UrD4haB8FNU8f/ALSdj8H4fHWgX1pp9345+HGnavZongrT3v70LrWpa4kupz2t9qMNnfw6BbNDp516ewNnp7apFYxt87ntGvicEqGEhVnOrXpRcINr3bTb9o1aPs7pXc2op8rb0R0+I+C4i/1Gq43ibDZJUzmlj8Lh6uY5DSxNKP8AZNFYms/r9bEp1JYWpXhRq/VZSp4ZY2eHlCn9YhRi/JfBfxJ1G7+Hkd/4QuPDfi/wX4m0+7u7G/gttM1yawQBI9SiMcrfbPDt/HNdW8V9aa3bWc0UzWrtGsUkMknylSnmuV0JYavhqfsJqX7ydGnXVLn0m1Ujzcr1+3fVXgj8hweacR5Rw66FDC5ZmGR5nQrzo4qWEwWafVI1YqGKUaq9pUy+upVIKtSxkITjNU5Rgo8spdF4V+I3iiz8Oa94e1Pw/oHxO0WzHhSTwN4Q8VWmm6b4f8M6/ba/NqEuoX/iG20XVdWS71CaVbnR72ZJhpWqaVZ/Zfs8U11dwduTZ19WoQw1ejVnRpycY16dny+1k+SEoy5FyuTlrz312a0X0HB3H2Oy3Ka+TZhldLP8tw08AsooYinh6WEy3GVMfUrqWIxSw06qlXqzlPC1pzcsPXow5EoOc4fUvxF+J/gnw78PfCt5+1FfeFPhXoXxD07U/B3iv4a6rqH/AAmOm6hq3iKexhgtZvFekWFmx0jTNPS8i1/Uf7Mt/D0S6+h1bVLaG1tbi9+3SbfuXb0aeztr5v5a9ND+iM4zzLMHlOAq8b1MBkeEzejWy/HZNXq/2jRqYjGTpRjGWPw9Km3h6FL2kcXW9hDCL62vb14RhCVX+dP/AILEaR+xJ4z/AGIviR8Yv2WLHTI/FOieN/hz4c8ZR+GPDXi3R9Dt9M8T6x9mtV1Tw9rsug6J4eRp7E3Oma1oOhXj3urWkNlKDHPNd23vcO3/ALYwlOpNU/drzpqTadWUKMr0qbUZJ1HGTqShJxvRp1pJ3hyv8ywWF8MM24i4fzzgh0qGPoZtXo47+zsLmGDw8qc8izerTw9XDYlYfCYVVXh5VI1MNhpSxMaNelzW5qlP+LW7/wCPq4/67Sf+hGvvKv8AEn/iZ+1w+CP+GP5Im00kXsOCeRID7jynOD6jIB+oBqsP/Gh/29/6TImr/Dl8v/Skf3IfsAfEH9tj4a/srfAXw/8ABr9nvWtWvfix8NvhddeEfiBqetar4t8B23h3w9o9vZGa30i71Kfwz4CuNetIlHiaTUNd0IXAitbtNItJLbTnh/NMypUYZlmHvWTx2KqSjyxT5qlaU5axim/ebd5c0tbc1kfgVXMfEjIM6z3BcNcJYrET4hzutisBm2IxFXHZVTw1LFVFOUMPKo8FlcsUtcbLEYrDynaE1Rh7Ohyfsj+zuv7SvifQvEkP7ckXwwtND8S2lpoXhj4cXmleEJhq11YXGu6tq+p6vJb6nqOm3lxJplpBOujRpdwx6XpttqoTTby11j7V505U4pyi2lFOUpSdlFJa3btZLq723P0XhJ8Y4vB47/iKH9hUcHi6MMPhMprUcvca0qMsViMTiMVJV6tCT+r04z+r2nGFCjDEWoVKeI58zxxr/wCzd4L+KHgnQfBvwj0i81zw1Z6l/b3i3wBHL4CtPCOgNYWGrWeh3er6RY6bo/xEt/FyxTwN4Tm1S/0nNjqMGsta6le2NlqfDiMwwlHDVatSvRqQ5ZL2SqUpyrWT5oQi5WlKz+Hdp32PF4h4h8O8kzHBU8JlGX4qrgqGJjisVk1Wllyw2FdCliI4B1aKoYXO/wC0Yc0Xl0sRWoNU60MTyVq1KlX+SvHHiKfwdoWv+P8ASPC1n4hOlNe3CaHdfaLW21ltNhW9XQ5tQsJbaeE2kOp2dzLFFP5wtrkQ2yC41C2LfB5ZhqWKx2Hp4pVaeFrTqOikpKE5J/w4tJq32ZuNrW1aWq/mmgqUMT/aNXL3Xwbq4uph8HNVqVHHVMOo1fqCxFFwlFQVah7b2U1ONOUYxcZVIM+zfFHwm8OftXfs2fBmX9pi+l8FXt9a+HPEmvw2ljo/gy+tvEniHTpdPsfDVrdeL9O1XVdAnXVdT02CODTri1ufEF5Y21nNFdWN8LI/pafs21DZaLqrLrppsvPT7z+ssbkGC474M4bfGdSWWVKlPB4vFwp08Pl1WGMxVGVGlgqdTMKNevhZKvWoxjGjOE8XUpQpyVSnV9mflX/wWk/Z1+CPwI/4J/8A7QkHwv8AD+leGNT8UaD8KtZ1XS28a+KI7m/Twd8e/gX4Zt9a0rwJ9u/4RW9khTxXNDrOuyWcd7ps+syfYbdjr+pXFv7XDqVTOsDKaUnSeIlTk0m4Slg8TBtO103CU4+abV7aPTC8GcK8M5vh1k+BoYTE4nCV8Y6TzLGqftMBDDZcsZQytzlgaklQzKvRxOK5KdWjLFv2SaxWIt/BPd/8fVx/12k/9CNff1f4k/8AEz7SHwR/wx/JE2m/8fsP/bT/ANFSVWH/AI0P+3v/AEmRNX+HL5f+lI/ub/4Jx/trftPab+xV8OvhZ8If2er34nXfgL4ZeBtK0TxVp0F1cWHhFNT0nVZrafW9C0nRrc6nZ3w0ye8s2u9Yt7iTVYdZku9YurfUNM0vS/zjNoQ/tPHOUkr4uvdf9vvrfT7j8LfiTxtRxnFeR8PcI1c7qZVmuKoYXHUYTnSwCrYjHShPE4Whh4OtTq+wlUpupiIzliI4l1MRONahQofr/ol/pH7RXwK+Efx61/4M6h43+LaaYNDhj8Fy2nh/XfBWt6qLzw14uv7WPxz4j8G2w0bTr1r97nSbzUdUSS2nTypbyxNxqkXjYil7WlXw/O4Rq06lNyteynFxulqm1e62v1aPs3HD8dcG5RxDi+H62Pz+vgauXqWWOnhMXleIxkK2X5hXpwzTGZdTeHoVJ1XPD1a1ZSpztGc6TnXj474j8VfEX4BT2lsfg14y+IGpazaaraaZ4R8NfDmfxrDrlvpLT3l9ruuT2N7Hpunx6OLu3so9RmvbjUvK1e2tNM03UrF9UktvksqyvMac6ylHC0aUIuk44qj7SOJalJwm4wld2u7VOZ2jaKjJXPx3L8DxlwbWqU58MVMf7ahiMLSyt8PPOaObxw1WrXeOxiw+IhSpLC+2jRhjJYideNPE06NDDYqj9YcJbafxVpPjPQPE0vw/l8Oy3esW19YeHNa0y/s9Ng1KR7fGmrDcu6mUTuWkFpdGC1njBtQsCW8S+HNYnDZhGt9UVGUcUvY0fZ1Vh5TUuV+zdR/C2lJOLtdpxSikl83/AMLeVcU4HNpcMLK6ss2pVMFlWKwWNo5b9b9pCPsKKxEm5J1bT/c1nClO0qEYUoU6cel1jRdI/b/bx/8AC/4pfC34r/CkfBzXLC58CfE+2m17w9Zapr1yr2mr3enaLren2enXU1jd6a8NotzF4hkbRrhr+z1Hw3dXsYu/0ym6kIU3N03UlBOpGGsFK2qTbbstrtpvt0P3aeHh4sUsyyTiPIs6yCtw9WoVMvzqhLGYTD1cdUThipYbD4ulTp1PY1KLhS9osY5YaTrU6uCnVip/ix/wVQu/gz8Jf2OP2vvgp4c+Mvx5+IfxR1DUPhRY6rpnxYk8Tf2TpGh6B8dfAuq6tYWUWp3GmaNqV/qmu21l4qsPEcGh3l1JolykGk36WupeIprz2sidX+28pcUlB1sVGpyxTvF5ZjZK7v7q51T1V/eSjZJ3XhcP1cg4f4vfDOA4k4qzfOcRjcRQx1DPfrkqFDA4TL8zxVajBV50MPUqVsfSw2PpY+nhatWVCUaVCoqWJxk5/wAX13/x9XH/AF2k/wDQjX6DV/iT/wATP3CHwR/wx/JE2m/8fsP/AG0/9FSVWH/jQ/7e/wDSZE1f4cvl/wClI/v4/wCCWn/BQr4E/DL9ir4EeAPinqV74b1fw14W8F+GLW6ttL1DxBe3mkTaRE/9t6zJpeiWgTStHuPtUFtHanV9RstFOmacY727tmub382zenJ5nj2krPFV322m/wAfz1PyvL/FvhfJMZneVZ7XqYPEYLiHF4KnOFCti6tTDyr1ZfWcS6GGp2oYeXPCCh7erSw/sKLVWpBzqeyeOv8AgqE3j74zfD74cfs/PfWHhLxnqNj4B1/xN4s0C0tr2y1LxN4l0TTrHxZ4MtkbULxNS0vTpNThtLbxDZXWm3VzeWUtzoRe2cScCpWi3K11qkuve+2je70a11PmM08b/wC1eI8pyfhN1aWX5jWpZVisbj8LThUp1sbjMNRpY/LYJ1qirUaLrxp08XSnRnOpSlPDXg0/pb9v39sDxH+z94U8N+E/g9Jaax8XPGOozRxSjTB4ifw5oWjSW8Wq38umw2s+nS6teajdafpFvY3qARLeXVytmZIbcVNOHM7y0il6XfT5bn2niv4hYzhPAYPAcPSp4niDMa0lGSo/XHg8LhnCNerKjGnOjKvUrTo4eFKqly+0nNU24xPpf9nbWviNqPwU8P8Aj348eKPDWoeIvEGm/wDCd37WOjWvhnQvA2j3tmmowaHNJcTFmfw7ZBzquqak8Vxa3f223mnmhs1u5Ymot2UbpPS+ruuvk+1j7LhGvm+I4awea8V43A18XiqSzabp4Wng8LlVCdNVoYdyqSb5sFT5vbYis4zpz9rGU5Rpqcvlv4HfE/x54O+O37S/w0+I/wAQdX8d6FaabaeO9D+Ourajbv4D8GaZeaXbajonhKbw/BFp3hPStUttH8QW/iG+i8PXNrFqem2E2oXttb6fbrd21StaDSs5NJQV3KV3GC5Uk3Jym1CKSbc5KKTk7Hw/DmfZllPE3GWUZ7nFfMMHDDwzbCcVYqtBZVgMPOlGeGwP1SMaOAp1oUcXDEVVgpRjWhSc6kI04qdP+aP/AILT/tS3vxx+GGg+A5/i38PfjDc/DvxXdk+Lvh/4H1XwxZ32iSarHpxm1e/1S5RZdd1PUbXSrh9H0HTv+EbsrPS/tVvqepveWl3L+l8NcJZrhaOJzzMcJVwFClSowwtHErkxGIlinR/exo2lOnShSqOMvbexqqrLk5LwqJfF5FxpU4i49yXA47M8Bn08vw+d4fAZnl2VVctjUVTD+1nicV9amqvta1DDOm8Ph6FPD0ZKLjUrc8pn8uF3/wAfVx/12k/9CNd1X+JP/Ez+g4fBH/DH8kRxSvC2+M7XwQGwpIz1xuBwSOMjnBI6E1MZOLUouzWz0e6t102G0mrNXR0cHjbxhawR21r4o1+2tokWOK3t9WvoYI41AVUjhjmWNEVQAFVQAAABiplaTcpQpyk3dt0qbbfdvlPOqZPlNWpKrVyzAVKs5OUqlTCUJ1JSbu5SnKm5Nttttu5OPH/jlfu+MfEy8k8a5qQ5JBJ4uepKgk9SQD2FLlh/z7pf+Cqf/wAj5v7yP7DyXR/2Rll1az+o4bS21v3XS+nY7P8A4aG+PfkC2/4XZ8WDbLEtuLY/EPxabcQKhjWAQ/2t5fkrGTGItuwRkoF2nFL2dP8A580f/BNL/wCQPRVGkoqCpxUFHlUErRUbW5VFactkla1rabGPc/GT4uXnmfa/ih8Qbrzbd7SX7T4x8QT+ZaSxQ28lrJ5uoNvt5ILeCF4WzG8UEMbKUjRVahBbUqK9KNL/AOQMJYDAzbc8HhpNwlTblQpybhKMYyg24u8JRhCMo7OMIpq0VbnB418XiKaAeJ9eEFxMtzcQjVb0RT3CJNGlxNGJtks6R3FwiyyBpFSeZQwErht44itDk5Kkoezi40+W0eSMnGUowslyxlKEG1GybjFvWKtlLKcrnbny7Az5YxhHmwtCXLCEVGEI3g7RjFKMYqyikkkkU5vEev3MbQ3OsajcQvjdFPdzTRttIZSySOykqwDKSMggEcitJY3FzTjPEVpRe8ZTck7O6undOzV/UqlleW0Jxq0cBg6NSN+WpSw9KnON04u04QjJJptNX1Taehju7SMXY5ZjljgDJ7k47nqT3PNczbbbbu27tnctNFsj/9k="],"author":"github:path-visualiser","size":1180064,"lastModified":1707817502658} \ No newline at end of file +{"id":"Y0ipL-rrt8pOw4vnoCFTr","name":"Weighted A*","description":"This example demonstrates weighted A* on a medium-sized terrain map.","screenshots":["data:image/jpeg;base64,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"],"author":"github:ShortestPathLab","size":1180064,"lastModified":1707817502658} \ No newline at end of file diff --git a/assets/weighted-a-star.workspace-44781276.js b/assets/weighted-a-star.workspace-44781276.js new file mode 100644 index 00000000..70df492e --- /dev/null +++ b/assets/weighted-a-star.workspace-44781276.js @@ -0,0 +1 @@ +const e=""+new URL("weighted-a-star.workspace-257bccb0.meta",import.meta.url).href;export{e as default}; diff --git a/index.html b/index.html index c0fcddae..57e070ee 100644 --- a/index.html +++ b/index.html @@ -10,8 +10,8 @@ - - + + diff --git a/manifest.json b/manifest.json index a7e1518b..d2289b54 100644 --- a/manifest.json +++ b/manifest.json @@ -4,10 +4,10 @@ "version": "1.2.4", "description": "Understand sequential decision-making through visualisation.", "version_name": "1.2.4; early May 2024", - "repository": "https://github.com/path-visualiser/app", + "repository": "https://github.com/ShortestPathLab/posthoc-app", "changelog": "http://localhost:3000/blog", - "docs": "https://path-visualiser.github.io/docs/overview", - "homepage": "https://path-visualiser.github.io", + "docs": "https://posthoc.pathfinding.ai/docs/overview", + "homepage": "https://posthoc.pathfinding.ai", "icons": [ { "src": "./favicon.png", diff --git a/recipes/9-tiles.workspace.meta b/recipes/9-tiles.workspace.meta index aa1f8c59..93295f8e 100644 --- a/recipes/9-tiles.workspace.meta +++ b/recipes/9-tiles.workspace.meta @@ -1 +1 @@ -{"id":"rUYmGfAx-i9gvMViHO4LB","name":"9 Tiles","description":"This example uses A* to drive the decisions of an AI that plays the 9 tiles game.","author":"github:path-visualiser","screenshots":["data:image/jpeg;base64,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"],"size":260080,"lastModified":1707968779995} \ No newline at end of file +{"id":"rUYmGfAx-i9gvMViHO4LB","name":"9 Tiles","description":"This example uses A* to drive the decisions of an AI that plays the 9 tiles game.","author":"github:ShortestPathLab","screenshots":["data:image/jpeg;base64,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"],"size":260080,"lastModified":1707968779995} \ No newline at end of file diff --git a/recipes/a-star-grid-search-heat-map.workspace.meta b/recipes/a-star-grid-search-heat-map.workspace.meta index 1ca1a32e..d02221c7 100644 --- a/recipes/a-star-grid-search-heat-map.workspace.meta +++ b/recipes/a-star-grid-search-heat-map.workspace.meta @@ -1 +1 @@ -{"id":"JJhIU3mikrE3M-ObJbAC7","name":"A* Grid Search - Heat Map","description":"This example demonstrates one way you could create a heat map for your search.","author":"github:path-visualiser","screenshots":["data:image/jpeg;base64,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"],"size":296738,"lastModified":1714557059850} \ No newline at end of file +{"id":"JJhIU3mikrE3M-ObJbAC7","name":"A* Grid Search - Heat Map","description":"This example demonstrates one way you could create a heat map for your search.","author":"github:ShortestPathLab","screenshots":["data:image/jpeg;base64,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"],"size":296738,"lastModified":1714557059850} \ No newline at end of file diff --git a/recipes/a-star-grid-search.workspace.meta b/recipes/a-star-grid-search.workspace.meta index 2de446ec..e10ca934 100644 --- a/recipes/a-star-grid-search.workspace.meta +++ b/recipes/a-star-grid-search.workspace.meta @@ -1 +1 @@ -{"id":"tMUNbPbofD_pDyNMqGg98","name":"A* Grid Search","description":"This example features A* on a small grid maze.","author":"github:path-visualiser","screenshots":["data:image/jpeg;base64,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"],"size":213020,"lastModified":1708267643889} \ No newline at end of file +{"id":"tMUNbPbofD_pDyNMqGg98","name":"A* Grid Search","description":"This example features A* on a small grid maze.","author":"github:ShortestPathLab","screenshots":["data:image/jpeg;base64,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"],"size":213020,"lastModified":1708267643889} \ No newline at end of file diff --git a/recipes/palette-reference.workspace.meta b/recipes/palette-reference.workspace.meta index 23502153..c56feea3 100644 --- a/recipes/palette-reference.workspace.meta +++ b/recipes/palette-reference.workspace.meta @@ -1 +1 @@ -{"id":"3oOL50lY7VAJxrEHdOGF2","name":"Palette Reference","description":"Quick demo of available color tokens.","author":"github:path-visualiser","screenshots":["data:image/jpeg;base64,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"],"size":141884,"lastModified":1714555025787} \ No newline at end of file +{"id":"3oOL50lY7VAJxrEHdOGF2","name":"Palette Reference","description":"Quick demo of available color tokens.","author":"github:ShortestPathLab","screenshots":["data:image/jpeg;base64,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"],"size":141884,"lastModified":1714555025787} \ No newline at end of file diff --git a/recipes/primitives-reference.workspace.meta b/recipes/primitives-reference.workspace.meta index 2d8a242b..0fdd1f82 100644 --- a/recipes/primitives-reference.workspace.meta +++ b/recipes/primitives-reference.workspace.meta @@ -1 +1 @@ -{"id":"lJydhlWYd5Y00oMbJUALp","name":"Primitives Reference","description":"Quick demo of the primitives provided by the built-in 2D renderer.","author":"github:path-visualiser","screenshots":["data:image/jpeg;base64,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"],"size":102800,"lastModified":1714554951395} \ No newline at end of file +{"id":"lJydhlWYd5Y00oMbJUALp","name":"Primitives Reference","description":"Quick demo of the primitives provided by the built-in 2D renderer.","author":"github:ShortestPathLab","screenshots":["data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAEAAQAMBEQACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AP4l69A5woAKALH2S6+y/bvs1x9h+0fZPtnkyfZftXl+d9m+0bfJ+0eT+98nf5nl/Pt280AV6ACgAoAKACgAoAKAP6Dv+CQPwj+FHxF+C3xQv/iD8Mfh546v7H4orZ2N74y8F+G/E93Z2n/CJ6FN9ltbnW9Nvpre286WWXyIXSLzZJJNu52J/uX6LHC3DGfcJcR4jPOHMiznEUeIlRo181yjL8xrUqP9mYKfsqVTGYetOnT55ynyQajzSlK122fwz9KfinibIeLeHMPkfEee5NQrcOOtWoZVm+YZdRq1v7TxsPa1aeDxFGFSpyRjDnlFy5YxjeySPEf+Cxnw0+HHw48T/AmD4eeAPBPgKDVdB8eTapD4M8K6F4Xi1KW01DwwlrLfx6HYWKXklsk8yW73AkaFZpVjKiRwfkPpW8P5BkGY8FwyLJMoyWGJwWdSxMcpy3BZdHESpV8uVOVeODo0VVlTU5qDqKTgpyUbczv9h9FLiDPs/wAu40nnud5vnU8Njcljhp5tmWNzGWHjVoZi6kaEsZWrOlGo4Qc1TcVNxi5XcVb8X6/kk/rYKACgAoAKACgD6+/Zg1T9rzUE1rwR+yv4m+I6X092uu614Q8ATaxb+YDDb2J8Q6rexWi+HdNt1SO3sFudY1iweaRI7a2SaVo0f9A4Jz/xHwX1jKeBMzz7Cxr1PrmLwuUVp0qTqckKP1jESTjSptwhCkp1ZxTtGCbdkfkninU8G8mwuF4j8WXwrhKEP+E7AY7iKNOVaq3KeIeDwFG08VipxcqledHC0as4Q56s4xgpSXCftF+JP2k7/wAX2/hT9pvU/iHceMvB8E0VlpPxFe8Oo6VZ6uYJ5JbAXYCyafqf2W3nivLR5rO9SGOWCeVAGrz+Ms842zXHUcNxvmGcY3H5bCpDD0s4qVJ1cNTxDhKfsfaaeyrOnCXPByhU5IuMmkez4cU/DXEZG888L1w7VyLOJxlPHcNujLC4qthOen7Ou6LvDE4V1KlOph60adehKUoVacJaHz5Xx5+hBQAUAFABQAUAfuT/AMEf/wBqj4EfBPTvir8Pfiv4k0X4e634u1vRPEWieL/EDCy0XWLLTtOuNPl8PahrbJ9m0ybSZpJdR01dSmgtLsavqKQTJcxiK5/efBrizIMjpZtl2b4qhl1fGV6GJoYzE2p0K1OlSlTeHqV2uWlKlJupSVWUYT9tUUZKatL/ADp+nV4M+JHiFiuC+KOCspzDijL8jy/MMqzDIssX1jH4HEYvFUsVDNMNl6l7XF08bCEMLi3hIVK1D6lhZVKbpTc6Xi3/AAVr/aP+D37QPxg8BQ/CLU7LxXa/D7wnqWi694502GQadrV7qmqrf22j6ZeTRRPqmneH0juJ49QhD2Et5rd8llLMsUk0nh+L/E2TcRZzl8cnq08XDLsHVoYjH0k/Z16lWqqkaNKbSdWlh0pSVSN6bnXqKDaTk/0D6EXhRx34YcC8S1OOcJiMlrcUZ1hMwyzhzF1IvFZfh8HgpYarj8ZQhOccHiszlOlTlhajjioUMvw8sRCnKcacfyfr8iP7WCgAoAKACgAoA6zw/D4e1O0utG1W4tNC1Ke4iudJ8S3UOp3NojpG8cmjautretHYaZd7hcRatb6Hql5bX0MNvcrFpl1c3un41p1aajOnS9tFN+0pxko1eX+akpWhOUXvTlKnzRbcZ80VTqc2IqV6ShUo0PrEE37anGSjX5LaToKVqdSUX8VKc6blFuUJucFSq5GtaHqvh6+bTtYs3s7oRxzx/PDcW13aTjfbX+n31rJNZanpt5Hiax1PT7i5sL6BkuLS5mhdZDVKtTrw56UlKN3F6OMoSjpKFSEkp06kHpOnOMZwleMoppouhiKOJpqrRmpwu4vSUZwnHSVOrTmo1KVWD0qUqkYVKcrxnGMk0ZVaGwUAFABQAUAFAHS+Hp9N0/7Zqeo+H5/EMlqiDTrWaWeDQYrokmS61z7Iq3l7Bbx7TBplteaYtxcSRz3l89nazaZqeNaFWoowp1fYxbftJxipVeXpGk5e5CUn8VSUajjFNQgpyVSnzYinXqqNOlX+rwbftqkYqVfktpCg5Xp05SfxVZwquME1CCnKNWln61rmq+Ib5tR1i8e7uTHHBH8kNvbWlpANttYadY2scFjpmm2cf7mx0zT7e2sLGALBaW0MKKgqlRp0IclKPLG7k9XKUpP4p1JybnUqSes6k5SnN+9KTbuXQoUcNT9nRgoRu5PWUpTnLWVSpUm5VKtWb1qVakpVJyvKcpN3MqtDYKACgAoAKACgD9xf+CLP7IXwU/bVvf2tPhV8dr/WdD8M6P8AB7RfFeieMdE8SS+HbzwDrUHiUQ3HilZLiU+H7uzi0+MprFj4msb/AEW5sYRJcQwXNpZX9l/L30mfE7i/wtwvAGc8IOniMRjeJcTl+Oyevhni8NneFngeeGAqUqdsTGrKsoPDVsHUpYqnVsoSnTnUo1e7BUadd1YVNEqfMpJ2cWpLW+1rXunpb5NflB+0J8NfBfwg+Mvj74b/AA9+L3hT48eDvCeuz6ZoXxV8FWeqWHh7xXaRqjfabS31SIfvbaRnsrybS73W/D9xd280/h/xDrukSWeqXX75wfneZ8R8NZRnec8OZhwnmWYYSFfF8P5pVoVcbl9STa9nVnQk9JxSq04V6WFxkKc4wxmDwmJjVw9PkqRUJyjGcaiTspxvZ+av+l12bWp4zX0pAUAFABQAUAFAHWaF478aeGNB8W+GPDfirX9B8PePbPT9N8baPo+q3enWPizTNJvP7S0/S/ENvaSxLq2l2uo7NQj069E1kb6C2u2ga4tLaSHz8XlOWY7F5fjsbl+DxeMymrWr5XicTh6Varl9evS9jWr4OdSMnh69Sjei61Llq+ynUpqahUnGTUmk0m0paNJ2ulrZ91fW3fU5OvQEFABQAUAf/9k="],"size":102800,"lastModified":1714554951395} \ No newline at end of file diff --git a/recipes/variables-reference.workspace.meta b/recipes/variables-reference.workspace.meta index f32d71f6..c9c5414b 100644 --- a/recipes/variables-reference.workspace.meta +++ b/recipes/variables-reference.workspace.meta @@ -1 +1 @@ -{"id":"MuOswN9Az3mRTeM2opyN8","name":"Variables Reference","description":"Simple demo of variables available in expressions.","author":"github:path-visualiser","screenshots":["data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAEAAQAMBEQACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AP4l69A5woAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAL2mabd6vfW2m2Kwvd3bmOFbi7tLGEsEZz5l3fT21pAoVGO+eeNOMbskAgHVn4ceLBFfTPb6PHFpstxBePL4s8JxLHNaeb9pjj8zXE+0PCYZFcW3nYcKgy7orAEj/DPxdGyI9voatJaSX8e7xh4OAe0jEJaZG/t7awxPGVUEvIBJ5at5E3lgDR8NvFjLK6waIyw28l1My+L/B7COGJ/LkL4107XWT5PKP74v8oQtxQA/wD4Vl4vxIfs2igRIrtnxf4PG5HthdgxZ179/iEkP5PmGOdJbV9t1FLCgBn634G8R+Hbd7nVotKhREtZGjtvEvhrUroR3oDWsosdN1e7vTFKpVxKtuUWN45HZUkRmAORoAKANHSNY1XQNStNY0TULzStVsJDNZahYTyW15aylGjMkE8TLJG5R3TcrA7WI6E1nVpU61OVKtCNSnNWnCaUoyV72lF6NXSeplWo0cRSnRr04VqNRWnTqRUoTV07Si7pq6Ts+x6I3xy+Mbfe+J3jdsdN3iLUjj8569HJ8xx/D9OtRyPF4jKaWInGrXp4CpLDQrVIR5YzqRpOKlKMfdTd2loeLW4V4bxDjKvkeV1XFWi54OjJpPWybhtc8/n13Wbqea5udTvp7i4lknnmluJHlmmmcySyyOzFnkkdmd2JJZiSTk1y1Kk6tSdWrOVSpVnKpUnNuUpznJynOUnq5Sk223q22z3KdOFKnClShGnTpQjTpwglGMIQiowhGK0UYxSSS0SSRF/a2p/8/wBdf9/n/wAagsP7W1P/AJ/rr/v8/wDjQAf2tqf/AD/XX/f5/wDGgA/tbU/+f66/7/P/AI0AUpJJJnaSV2kkc5Z3JZmOMZJPJOBQAygAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAP8A/9k="],"size":75282,"lastModified":1714554904232} \ No newline at end of file +{"id":"MuOswN9Az3mRTeM2opyN8","name":"Variables Reference","description":"Simple demo of variables available in expressions.","author":"github:ShortestPathLab","screenshots":["data:image/jpeg;base64,/9j/4AAQSkZJRgABAQAAAQABAAD/2wCEAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAf/AABEIAEAAQAMBEQACEQEDEQH/xAGiAAABBQEBAQEBAQAAAAAAAAAAAQIDBAUGBwgJCgsQAAIBAwMCBAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+gEAAwEBAQEBAQEBAQAAAAAAAAECAwQFBgcICQoLEQACAQIEBAMEBwUEBAABAncAAQIDEQQFITEGEkFRB2FxEyIygQgUQpGhscEJIzNS8BVictEKFiQ04SXxFxgZGiYnKCkqNTY3ODk6Q0RFRkdISUpTVFVWV1hZWmNkZWZnaGlqc3R1dnd4eXqCg4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS09TV1tfY2dri4+Tl5ufo6ery8/T19vf4+fr/2gAMAwEAAhEDEQA/AP4l69A5woAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAL2mabd6vfW2m2Kwvd3bmOFbi7tLGEsEZz5l3fT21pAoVGO+eeNOMbskAgHVn4ceLBFfTPb6PHFpstxBePL4s8JxLHNaeb9pjj8zXE+0PCYZFcW3nYcKgy7orAEj/DPxdGyI9voatJaSX8e7xh4OAe0jEJaZG/t7awxPGVUEvIBJ5at5E3lgDR8NvFjLK6waIyw28l1My+L/B7COGJ/LkL4107XWT5PKP74v8oQtxQA/wD4Vl4vxIfs2igRIrtnxf4PG5HthdgxZ179/iEkP5PmGOdJbV9t1FLCgBn634G8R+Hbd7nVotKhREtZGjtvEvhrUroR3oDWsosdN1e7vTFKpVxKtuUWN45HZUkRmAORoAKANHSNY1XQNStNY0TULzStVsJDNZahYTyW15aylGjMkE8TLJG5R3TcrA7WI6E1nVpU61OVKtCNSnNWnCaUoyV72lF6NXSeplWo0cRSnRr04VqNRWnTqRUoTV07Si7pq6Ts+x6I3xy+Mbfe+J3jdsdN3iLUjj8569HJ8xx/D9OtRyPF4jKaWInGrXp4CpLDQrVIR5YzqRpOKlKMfdTd2loeLW4V4bxDjKvkeV1XFWi54OjJpPWybhtc8/n13Wbqea5udTvp7i4lknnmluJHlmmmcySyyOzFnkkdmd2JJZiSTk1y1Kk6tSdWrOVSpVnKpUnNuUpznJynOUnq5Sk223q22z3KdOFKnClShGnTpQjTpwglGMIQiowhGK0UYxSSS0SSRF/a2p/8/wBdf9/n/wAagsP7W1P/AJ/rr/v8/wDjQAf2tqf/AD/XX/f5/wDGgA/tbU/+f66/7/P/AI0AUpJJJnaSV2kkc5Z3JZmOMZJPJOBQAygAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKACgAoAKAP8A/9k="],"size":75282,"lastModified":1714554904232} \ No newline at end of file diff --git a/recipes/weighted-a-star.workspace.meta b/recipes/weighted-a-star.workspace.meta index 647a1d45..4c07a75d 100644 --- a/recipes/weighted-a-star.workspace.meta +++ b/recipes/weighted-a-star.workspace.meta @@ -1 +1 @@ -{"id":"Y0ipL-rrt8pOw4vnoCFTr","name":"Weighted A*","description":"This example demonstrates weighted A* on a medium-sized terrain map.","screenshots":["data:image/jpeg;base64,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"],"author":"github:path-visualiser","size":1180064,"lastModified":1707817502658} \ No newline at end of file +{"id":"Y0ipL-rrt8pOw4vnoCFTr","name":"Weighted A*","description":"This example demonstrates weighted A* on a medium-sized terrain map.","screenshots":["data:image/jpeg;base64,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"],"author":"github:ShortestPathLab","size":1180064,"lastModified":1707817502658} \ No newline at end of file