From 9592d3159b92ef483dc428934d8b2d35d4605c3a Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Fri, 29 Sep 2023 23:37:03 +0200 Subject: [PATCH 001/141] Use live_svelte for UI builder --- .gitignore | 12 + assets/.eslintrc.js | 15 + assets/.prettierrc.js | 3 + assets/build.js | 71 + assets/js/beacon_live_admin.js | 71 +- assets/js/server.js | 4 + assets/package-lock.json | 3285 +++-- assets/package.json | 22 +- assets/svelte/components/Backdrop.svelte | 10 + assets/svelte/components/BrowserFrame.svelte | 31 + assets/svelte/components/CodeEditor.svelte | 41 + .../components/ComponentsSidebar.svelte | 120 + assets/svelte/components/LayoutAstNode.svelte | 27 + assets/svelte/components/PageAstNode.svelte | 109 + assets/svelte/components/PagePreview.svelte | 90 + assets/svelte/components/Pill.svelte | 12 + .../components/PropertiesSidebar.svelte | 186 + .../svelte/components/SidebarSection.svelte | 134 + assets/svelte/components/UiBuilder.svelte | 30 + .../svelte/stores/currentComponentCategory.ts | 5 + assets/svelte/stores/dragAndDrop.ts | 6 + assets/svelte/stores/page.ts | 53 + assets/svelte/types.ts | 89 + assets/svelte/utils/animations.ts | 7 + assets/tailwind.config.js | 84 +- assets/tsconfig.json | 10 + config/config.exs | 26 - dev.exs | 5 +- .../components/layouts/admin.html.heex | 1 + .../controllers/assets_controller.ex | 2 +- .../live_admin/live/page_editor_live/edit.ex | 53 +- .../live/page_editor_live/form_component.ex | 19 +- lib/beacon/live_admin/page_builder.ex | 6 +- lib/beacon/live_admin/web.ex | 1 + lib/beacon/live_admin/web_api/component.ex | 14 + lib/beacon/live_admin/web_api/page.ex | 11 + mix.exs | 25 +- mix.lock | 4 +- ..._admin-00615a53acd95d4b0e607732a0ccf92f.js | 17 + ...min-00615a53acd95d4b0e607732a0ccf92f.js.gz | Bin 0 -> 11599 bytes ..._admin-10c5d0bddc9044da983ae0050ade724d.js | 946 ++ ...min-10c5d0bddc9044da983ae0050ade724d.js.gz | Bin 0 -> 8546 bytes ..._admin-23f685650495ba97f17625f559c5eb3f.js | 17 + ...min-23f685650495ba97f17625f559c5eb3f.js.gz | Bin 0 -> 11670 bytes ..._admin-2448469d538e9ceefe08eae875520e6f.js | 17 + ...min-2448469d538e9ceefe08eae875520e6f.js.gz | Bin 0 -> 11678 bytes ..._admin-25615e47dd72126d1fad179a2a46b3d9.js | 22 + ...min-25615e47dd72126d1fad179a2a46b3d9.js.gz | Bin 0 -> 15198 bytes ..._admin-5a7b6b130ea27e06f1bdfd021a38654b.js | 17 + ...min-5a7b6b130ea27e06f1bdfd021a38654b.js.gz | Bin 0 -> 10469 bytes ..._admin-610c331d5cf247d67477834d631423ab.js | 17 + ...min-610c331d5cf247d67477834d631423ab.js.gz | Bin 0 -> 11719 bytes ..._admin-643e385aefb4436bd41249b584077e24.js | 23 + ...min-643e385aefb4436bd41249b584077e24.js.gz | Bin 0 -> 11730 bytes ..._admin-6d30d7f04ccc39520fedc2eacceec95e.js | 22 + ...min-6d30d7f04ccc39520fedc2eacceec95e.js.gz | Bin 0 -> 15204 bytes ..._admin-6e9fc9d0610c35b8b667145f536f03b7.js | 22 + ...min-6e9fc9d0610c35b8b667145f536f03b7.js.gz | Bin 0 -> 15243 bytes ..._admin-7b0f0a375ef9b66b69f423da1064e23f.js | 17 + ...min-7b0f0a375ef9b66b69f423da1064e23f.js.gz | Bin 0 -> 11574 bytes ..._admin-7d3dff1249cc1308fdc7c93154470f15.js | 20 + ...min-7d3dff1249cc1308fdc7c93154470f15.js.gz | Bin 0 -> 14585 bytes ..._admin-7eeb6ca344dfa7ba92c508dd86fb5221.js | 20 + ...min-7eeb6ca344dfa7ba92c508dd86fb5221.js.gz | Bin 0 -> 14581 bytes ..._admin-9bde4a813d0f1a6b2c5f1dd67b298826.js | 20 + ...min-9bde4a813d0f1a6b2c5f1dd67b298826.js.gz | Bin 0 -> 15218 bytes ..._admin-a55ad950af1653ed4bd985f68d61272e.js | 17 + ...min-a55ad950af1653ed4bd985f68d61272e.js.gz | Bin 0 -> 11691 bytes ..._admin-b0cfa4e849fe24ab99b56c0ef9a03f88.js | 17 + ...min-b0cfa4e849fe24ab99b56c0ef9a03f88.js.gz | Bin 0 -> 11574 bytes ..._admin-be32b6b8c1d33c28473eaf88f185feff.js | 22 + ...min-be32b6b8c1d33c28473eaf88f185feff.js.gz | Bin 0 -> 15257 bytes ..._admin-bf2cf539427fe880c91689bdcbb4563d.js | 20 + ...min-bf2cf539427fe880c91689bdcbb4563d.js.gz | Bin 0 -> 15246 bytes ..._admin-c8e327f5821dc54cae0b4da07dd5825b.js | 20 + ...min-c8e327f5821dc54cae0b4da07dd5825b.js.gz | Bin 0 -> 13121 bytes ..._admin-e4dee7621ca22ed4a55120f827961cdb.js | 17 + ...min-e4dee7621ca22ed4a55120f827961cdb.js.gz | Bin 0 -> 11683 bytes ..._admin-e83db781296108a7450a334a528d5c1b.js | 17 + ...min-e83db781296108a7450a334a528d5c1b.js.gz | Bin 0 -> 11611 bytes ..._admin-f311b9d2d8356283e4d01e2866585cf7.js | 17 + ...min-f311b9d2d8356283e4d01e2866585cf7.js.gz | Bin 0 -> 11673 bytes ..._admin-fa3985f87e63123059fd83f3d0448928.js | 20 + ...min-fa3985f87e63123059fd83f3d0448928.js.gz | Bin 0 -> 14510 bytes ..._admin-fa745c76d57da42ad250600f2717909c.js | 22 + ...min-fa745c76d57da42ad250600f2717909c.js.gz | Bin 0 -> 15087 bytes priv/static/beacon_live_admin.css.map | 7 - priv/static/beacon_live_admin.js | 10607 +++++++++++++++- priv/static/beacon_live_admin.js.gz | Bin 0 -> 15246 bytes ...n.min-0d87a192b0422c55742e7c45e77b4c42.css | 3 + ...in-0d87a192b0422c55742e7c45e77b4c42.css.gz | Bin 0 -> 107787 bytes ...n.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css | 3 + ...in-81ae0e7a6b67e6f5d4dcfd968e67282d.css.gz | Bin 0 -> 107773 bytes ...in.min-ae945c0971f81a9672da06f4a32c40ba.js | 18 + ...min-ae945c0971f81a9672da06f4a32c40ba.js.gz | Bin 0 -> 6254 bytes ...n.min-d042ca250916cec9bc009760e0439417.css | 3 + ...in-d042ca250916cec9bc009760e0439417.css.gz | Bin 0 -> 107779 bytes ...n.min-f369b2d906563c1a6fee02c192c6c6a3.css | 3 + ...in-f369b2d906563c1a6fee02c192c6c6a3.css.gz | Bin 0 -> 107594 bytes priv/static/beacon_live_admin.min.css | 2 +- ...n.css-03e0ca190fafed060688ab22ab6cc345.map | 1 + ...ss-03e0ca190fafed060688ab22ab6cc345.map.gz | Bin 0 -> 5631 bytes ...n.css-09dab23cc68575f9cbc372463fb97118.map | 1 + ...ss-09dab23cc68575f9cbc372463fb97118.map.gz | Bin 0 -> 5678 bytes ...n.css-0b7ee227eef7631224c2705a43a91554.map | 1 + ...ss-0b7ee227eef7631224c2705a43a91554.map.gz | Bin 0 -> 5678 bytes ...n.css-0b87152a6bfca9aa6a3565078960800d.map | 1 + ...ss-0b87152a6bfca9aa6a3565078960800d.map.gz | Bin 0 -> 5678 bytes ...n.css-40e87ae0b0126ea0303ac47ed573c443.map | 1 + ...ss-40e87ae0b0126ea0303ac47ed573c443.map.gz | Bin 0 -> 5678 bytes ...n.css-55497752f4f48aeb4ecb20cb6decf421.map | 1 + ...ss-55497752f4f48aeb4ecb20cb6decf421.map.gz | Bin 0 -> 5679 bytes ...n.css-56bf99428f0e0cbd41b916297db89c92.map | 1 + ...ss-56bf99428f0e0cbd41b916297db89c92.map.gz | Bin 0 -> 5684 bytes ...n.css-56ef35b84efc2a98ae4f9a9032781e88.map | 1 + ...ss-56ef35b84efc2a98ae4f9a9032781e88.map.gz | Bin 0 -> 5684 bytes ...n.css-64cb32c233b043adf6165b2b32e68585.map | 1 + ...ss-64cb32c233b043adf6165b2b32e68585.map.gz | Bin 0 -> 5679 bytes ...n.css-66b3149daf8a16209a1448cc4c87854c.map | 1 + ...ss-66b3149daf8a16209a1448cc4c87854c.map.gz | Bin 0 -> 5681 bytes ...n.css-6e2b200d1a75473166f4dd0ce7979aef.map | 1 + ...ss-6e2b200d1a75473166f4dd0ce7979aef.map.gz | Bin 0 -> 5679 bytes ...n.css-7a97529c4dc65b9b0c5a3692b8c350c3.map | 1 + ...ss-7a97529c4dc65b9b0c5a3692b8c350c3.map.gz | Bin 0 -> 5678 bytes ...n.css-7ed1f14c8c4628bdab5fe503a0ec1b0b.map | 1 + ...ss-7ed1f14c8c4628bdab5fe503a0ec1b0b.map.gz | Bin 0 -> 5678 bytes ...n.css-81768f004168756e318802b811a6991f.map | 1 + ...ss-81768f004168756e318802b811a6991f.map.gz | Bin 0 -> 5678 bytes ...n.css-96c8ab06c458bb4e26dca28e6b6ab8fd.map | 1 + ...ss-96c8ab06c458bb4e26dca28e6b6ab8fd.map.gz | Bin 0 -> 5678 bytes ...n.css-c7d9d6cb10e2725fe4fdcdec278ab224.map | 1 + ...ss-c7d9d6cb10e2725fe4fdcdec278ab224.map.gz | Bin 0 -> 5678 bytes ...n.css-c97882953cc7911f6cd2b0e0d7ed7d1b.map | 1 + ...ss-c97882953cc7911f6cd2b0e0d7ed7d1b.map.gz | Bin 0 -> 5678 bytes ...n.css-cc999e56a894a9414d610e641e8a4340.map | 1 + ...ss-cc999e56a894a9414d610e641e8a4340.map.gz | Bin 0 -> 5678 bytes ...n.css-d03fa4cb6a8065d289f6075af227e929.map | 1 + ...ss-d03fa4cb6a8065d289f6075af227e929.map.gz | Bin 0 -> 5680 bytes ...n.css-d501af91c08524c1a4c263c540161eac.map | 1 + ...ss-d501af91c08524c1a4c263c540161eac.map.gz | Bin 0 -> 5679 bytes ...n.css-dc9dff3ac4aedaaba9552a2981ec63b3.map | 1 + ...ss-dc9dff3ac4aedaaba9552a2981ec63b3.map.gz | Bin 0 -> 5679 bytes ...n.css-e0f2eb60973604e669b1d039d7e82542.map | 1 + ...ss-e0f2eb60973604e669b1d039d7e82542.map.gz | Bin 0 -> 5679 bytes ...n.css-f38a325bae4ed3d9a54b231444a717da.map | 1 + ...ss-f38a325bae4ed3d9a54b231444a717da.map.gz | Bin 0 -> 5678 bytes ...n.css-f5e351671c5ae20737291a3d60268771.map | 1 + ...ss-f5e351671c5ae20737291a3d60268771.map.gz | Bin 0 -> 5677 bytes ...n.css-ffd4ce58a0553236c04ca92d45252df3.map | 1 + ...ss-ffd4ce58a0553236c04ca92d45252df3.map.gz | Bin 0 -> 5678 bytes priv/static/beacon_live_admin.min.css.gz | Bin 0 -> 107787 bytes priv/static/beacon_live_admin.min.css.map | 6 +- priv/static/beacon_live_admin.min.css.map.gz | Bin 0 -> 5651 bytes priv/static/beacon_live_admin.min.js.gz | Bin 0 -> 6254 bytes ...kyard-4ca062dbcccfcee668801b37dc733a22.png | Bin 0 -> 6218 bytes ..._logo-973068869ae5d40e0ae0a71c837b43d1.svg | 9 + ...go-973068869ae5d40e0ae0a71c837b43d1.svg.gz | Bin 0 -> 25736 bytes priv/static/images/narwin_logo.svg.gz | Bin 0 -> 25736 bytes 158 files changed, 15394 insertions(+), 1372 deletions(-) create mode 100644 assets/.eslintrc.js create mode 100644 assets/.prettierrc.js create mode 100644 assets/build.js create mode 100644 assets/js/server.js create mode 100644 assets/svelte/components/Backdrop.svelte create mode 100644 assets/svelte/components/BrowserFrame.svelte create mode 100644 assets/svelte/components/CodeEditor.svelte create mode 100644 assets/svelte/components/ComponentsSidebar.svelte create mode 100644 assets/svelte/components/LayoutAstNode.svelte create mode 100644 assets/svelte/components/PageAstNode.svelte create mode 100644 assets/svelte/components/PagePreview.svelte create mode 100644 assets/svelte/components/Pill.svelte create mode 100644 assets/svelte/components/PropertiesSidebar.svelte create mode 100644 assets/svelte/components/SidebarSection.svelte create mode 100644 assets/svelte/components/UiBuilder.svelte create mode 100644 assets/svelte/stores/currentComponentCategory.ts create mode 100644 assets/svelte/stores/dragAndDrop.ts create mode 100644 assets/svelte/stores/page.ts create mode 100644 assets/svelte/types.ts create mode 100644 assets/svelte/utils/animations.ts create mode 100644 assets/tsconfig.json create mode 100644 lib/beacon/live_admin/web_api/component.ex create mode 100644 lib/beacon/live_admin/web_api/page.ex create mode 100644 priv/static/beacon_live_admin-00615a53acd95d4b0e607732a0ccf92f.js create mode 100644 priv/static/beacon_live_admin-00615a53acd95d4b0e607732a0ccf92f.js.gz create mode 100644 priv/static/beacon_live_admin-10c5d0bddc9044da983ae0050ade724d.js create mode 100644 priv/static/beacon_live_admin-10c5d0bddc9044da983ae0050ade724d.js.gz create mode 100644 priv/static/beacon_live_admin-23f685650495ba97f17625f559c5eb3f.js create mode 100644 priv/static/beacon_live_admin-23f685650495ba97f17625f559c5eb3f.js.gz create mode 100644 priv/static/beacon_live_admin-2448469d538e9ceefe08eae875520e6f.js create mode 100644 priv/static/beacon_live_admin-2448469d538e9ceefe08eae875520e6f.js.gz create mode 100644 priv/static/beacon_live_admin-25615e47dd72126d1fad179a2a46b3d9.js create mode 100644 priv/static/beacon_live_admin-25615e47dd72126d1fad179a2a46b3d9.js.gz create mode 100644 priv/static/beacon_live_admin-5a7b6b130ea27e06f1bdfd021a38654b.js create mode 100644 priv/static/beacon_live_admin-5a7b6b130ea27e06f1bdfd021a38654b.js.gz create mode 100644 priv/static/beacon_live_admin-610c331d5cf247d67477834d631423ab.js create mode 100644 priv/static/beacon_live_admin-610c331d5cf247d67477834d631423ab.js.gz create mode 100644 priv/static/beacon_live_admin-643e385aefb4436bd41249b584077e24.js create mode 100644 priv/static/beacon_live_admin-643e385aefb4436bd41249b584077e24.js.gz create mode 100644 priv/static/beacon_live_admin-6d30d7f04ccc39520fedc2eacceec95e.js create mode 100644 priv/static/beacon_live_admin-6d30d7f04ccc39520fedc2eacceec95e.js.gz create mode 100644 priv/static/beacon_live_admin-6e9fc9d0610c35b8b667145f536f03b7.js create mode 100644 priv/static/beacon_live_admin-6e9fc9d0610c35b8b667145f536f03b7.js.gz create mode 100644 priv/static/beacon_live_admin-7b0f0a375ef9b66b69f423da1064e23f.js create mode 100644 priv/static/beacon_live_admin-7b0f0a375ef9b66b69f423da1064e23f.js.gz create mode 100644 priv/static/beacon_live_admin-7d3dff1249cc1308fdc7c93154470f15.js create mode 100644 priv/static/beacon_live_admin-7d3dff1249cc1308fdc7c93154470f15.js.gz create mode 100644 priv/static/beacon_live_admin-7eeb6ca344dfa7ba92c508dd86fb5221.js create mode 100644 priv/static/beacon_live_admin-7eeb6ca344dfa7ba92c508dd86fb5221.js.gz create mode 100644 priv/static/beacon_live_admin-9bde4a813d0f1a6b2c5f1dd67b298826.js create mode 100644 priv/static/beacon_live_admin-9bde4a813d0f1a6b2c5f1dd67b298826.js.gz create mode 100644 priv/static/beacon_live_admin-a55ad950af1653ed4bd985f68d61272e.js create mode 100644 priv/static/beacon_live_admin-a55ad950af1653ed4bd985f68d61272e.js.gz create mode 100644 priv/static/beacon_live_admin-b0cfa4e849fe24ab99b56c0ef9a03f88.js create mode 100644 priv/static/beacon_live_admin-b0cfa4e849fe24ab99b56c0ef9a03f88.js.gz create mode 100644 priv/static/beacon_live_admin-be32b6b8c1d33c28473eaf88f185feff.js create mode 100644 priv/static/beacon_live_admin-be32b6b8c1d33c28473eaf88f185feff.js.gz create mode 100644 priv/static/beacon_live_admin-bf2cf539427fe880c91689bdcbb4563d.js create mode 100644 priv/static/beacon_live_admin-bf2cf539427fe880c91689bdcbb4563d.js.gz create mode 100644 priv/static/beacon_live_admin-c8e327f5821dc54cae0b4da07dd5825b.js create mode 100644 priv/static/beacon_live_admin-c8e327f5821dc54cae0b4da07dd5825b.js.gz create mode 100644 priv/static/beacon_live_admin-e4dee7621ca22ed4a55120f827961cdb.js create mode 100644 priv/static/beacon_live_admin-e4dee7621ca22ed4a55120f827961cdb.js.gz create mode 100644 priv/static/beacon_live_admin-e83db781296108a7450a334a528d5c1b.js create mode 100644 priv/static/beacon_live_admin-e83db781296108a7450a334a528d5c1b.js.gz create mode 100644 priv/static/beacon_live_admin-f311b9d2d8356283e4d01e2866585cf7.js create mode 100644 priv/static/beacon_live_admin-f311b9d2d8356283e4d01e2866585cf7.js.gz create mode 100644 priv/static/beacon_live_admin-fa3985f87e63123059fd83f3d0448928.js create mode 100644 priv/static/beacon_live_admin-fa3985f87e63123059fd83f3d0448928.js.gz create mode 100644 priv/static/beacon_live_admin-fa745c76d57da42ad250600f2717909c.js create mode 100644 priv/static/beacon_live_admin-fa745c76d57da42ad250600f2717909c.js.gz delete mode 100644 priv/static/beacon_live_admin.css.map create mode 100644 priv/static/beacon_live_admin.js.gz create mode 100644 priv/static/beacon_live_admin.min-0d87a192b0422c55742e7c45e77b4c42.css create mode 100644 priv/static/beacon_live_admin.min-0d87a192b0422c55742e7c45e77b4c42.css.gz create mode 100644 priv/static/beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css create mode 100644 priv/static/beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css.gz create mode 100644 priv/static/beacon_live_admin.min-ae945c0971f81a9672da06f4a32c40ba.js create mode 100644 priv/static/beacon_live_admin.min-ae945c0971f81a9672da06f4a32c40ba.js.gz create mode 100644 priv/static/beacon_live_admin.min-d042ca250916cec9bc009760e0439417.css create mode 100644 priv/static/beacon_live_admin.min-d042ca250916cec9bc009760e0439417.css.gz create mode 100644 priv/static/beacon_live_admin.min-f369b2d906563c1a6fee02c192c6c6a3.css create mode 100644 priv/static/beacon_live_admin.min-f369b2d906563c1a6fee02c192c6c6a3.css.gz create mode 100644 priv/static/beacon_live_admin.min.css-03e0ca190fafed060688ab22ab6cc345.map create mode 100644 priv/static/beacon_live_admin.min.css-03e0ca190fafed060688ab22ab6cc345.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-09dab23cc68575f9cbc372463fb97118.map create mode 100644 priv/static/beacon_live_admin.min.css-09dab23cc68575f9cbc372463fb97118.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-0b7ee227eef7631224c2705a43a91554.map create mode 100644 priv/static/beacon_live_admin.min.css-0b7ee227eef7631224c2705a43a91554.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-0b87152a6bfca9aa6a3565078960800d.map create mode 100644 priv/static/beacon_live_admin.min.css-0b87152a6bfca9aa6a3565078960800d.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-40e87ae0b0126ea0303ac47ed573c443.map create mode 100644 priv/static/beacon_live_admin.min.css-40e87ae0b0126ea0303ac47ed573c443.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-55497752f4f48aeb4ecb20cb6decf421.map create mode 100644 priv/static/beacon_live_admin.min.css-55497752f4f48aeb4ecb20cb6decf421.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-56bf99428f0e0cbd41b916297db89c92.map create mode 100644 priv/static/beacon_live_admin.min.css-56bf99428f0e0cbd41b916297db89c92.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-56ef35b84efc2a98ae4f9a9032781e88.map create mode 100644 priv/static/beacon_live_admin.min.css-56ef35b84efc2a98ae4f9a9032781e88.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-64cb32c233b043adf6165b2b32e68585.map create mode 100644 priv/static/beacon_live_admin.min.css-64cb32c233b043adf6165b2b32e68585.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-66b3149daf8a16209a1448cc4c87854c.map create mode 100644 priv/static/beacon_live_admin.min.css-66b3149daf8a16209a1448cc4c87854c.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-6e2b200d1a75473166f4dd0ce7979aef.map create mode 100644 priv/static/beacon_live_admin.min.css-6e2b200d1a75473166f4dd0ce7979aef.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-7a97529c4dc65b9b0c5a3692b8c350c3.map create mode 100644 priv/static/beacon_live_admin.min.css-7a97529c4dc65b9b0c5a3692b8c350c3.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-7ed1f14c8c4628bdab5fe503a0ec1b0b.map create mode 100644 priv/static/beacon_live_admin.min.css-7ed1f14c8c4628bdab5fe503a0ec1b0b.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-81768f004168756e318802b811a6991f.map create mode 100644 priv/static/beacon_live_admin.min.css-81768f004168756e318802b811a6991f.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-96c8ab06c458bb4e26dca28e6b6ab8fd.map create mode 100644 priv/static/beacon_live_admin.min.css-96c8ab06c458bb4e26dca28e6b6ab8fd.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-c7d9d6cb10e2725fe4fdcdec278ab224.map create mode 100644 priv/static/beacon_live_admin.min.css-c7d9d6cb10e2725fe4fdcdec278ab224.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-c97882953cc7911f6cd2b0e0d7ed7d1b.map create mode 100644 priv/static/beacon_live_admin.min.css-c97882953cc7911f6cd2b0e0d7ed7d1b.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-cc999e56a894a9414d610e641e8a4340.map create mode 100644 priv/static/beacon_live_admin.min.css-cc999e56a894a9414d610e641e8a4340.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-d03fa4cb6a8065d289f6075af227e929.map create mode 100644 priv/static/beacon_live_admin.min.css-d03fa4cb6a8065d289f6075af227e929.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-d501af91c08524c1a4c263c540161eac.map create mode 100644 priv/static/beacon_live_admin.min.css-d501af91c08524c1a4c263c540161eac.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-dc9dff3ac4aedaaba9552a2981ec63b3.map create mode 100644 priv/static/beacon_live_admin.min.css-dc9dff3ac4aedaaba9552a2981ec63b3.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-e0f2eb60973604e669b1d039d7e82542.map create mode 100644 priv/static/beacon_live_admin.min.css-e0f2eb60973604e669b1d039d7e82542.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-f38a325bae4ed3d9a54b231444a717da.map create mode 100644 priv/static/beacon_live_admin.min.css-f38a325bae4ed3d9a54b231444a717da.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-f5e351671c5ae20737291a3d60268771.map create mode 100644 priv/static/beacon_live_admin.min.css-f5e351671c5ae20737291a3d60268771.map.gz create mode 100644 priv/static/beacon_live_admin.min.css-ffd4ce58a0553236c04ca92d45252df3.map create mode 100644 priv/static/beacon_live_admin.min.css-ffd4ce58a0553236c04ca92d45252df3.map.gz create mode 100644 priv/static/beacon_live_admin.min.css.gz create mode 100644 priv/static/beacon_live_admin.min.css.map.gz create mode 100644 priv/static/beacon_live_admin.min.js.gz create mode 100644 priv/static/images/dockyard-4ca062dbcccfcee668801b37dc733a22.png create mode 100644 priv/static/images/narwin_logo-973068869ae5d40e0ae0a71c837b43d1.svg create mode 100644 priv/static/images/narwin_logo-973068869ae5d40e0ae0a71c837b43d1.svg.gz create mode 100644 priv/static/images/narwin_logo.svg.gz diff --git a/.gitignore b/.gitignore index defaa7f2..8c52f362 100644 --- a/.gitignore +++ b/.gitignore @@ -44,3 +44,15 @@ npm-debug.log # Local iex config .iex.exs + +# Ignore automatically generated Svelte files by the ~V sigil +/assets/svelte/_build/ + +# Ignore ssr build for svelte. +/priv/svelte/ + +# Ignore automatically generated Svelte files by the ~V sigil +/assets/svelte/_build/ + +# Ignore ssr build for svelte. +/priv/svelte/ diff --git a/assets/.eslintrc.js b/assets/.eslintrc.js new file mode 100644 index 00000000..c06cf280 --- /dev/null +++ b/assets/.eslintrc.js @@ -0,0 +1,15 @@ +module.exports = { + env: { + browser: true, + node: true, + es2021: true, + }, + extends: ["eslint:recommended", "prettier"], + globals: { + global: "writable", + }, + parserOptions: { + ecmaVersion: 12, + sourceType: "module", + }, +} diff --git a/assets/.prettierrc.js b/assets/.prettierrc.js new file mode 100644 index 00000000..a43ab29d --- /dev/null +++ b/assets/.prettierrc.js @@ -0,0 +1,3 @@ +module.exports = { + semi: false, +} diff --git a/assets/build.js b/assets/build.js new file mode 100644 index 00000000..be54b65d --- /dev/null +++ b/assets/build.js @@ -0,0 +1,71 @@ +const esbuild = require("esbuild") +const sveltePlugin = require("esbuild-svelte") +const importGlobPlugin = require("esbuild-plugin-import-glob").default +const sveltePreprocess = require("svelte-preprocess") + +const args = process.argv.slice(2) +const watch = args.includes("--watch") +const deploy = args.includes("--deploy") + +let optsClient = { + entryPoints: ["js/beacon_live_admin.js"], + globalName: "BeaconLiveAdmin", + format: "iife", + loader: { + ".ttf": "dataurl", + ".woff": "dataurl", + ".woff2": "dataurl", + }, + bundle: true, + minify: deploy, + target: "es2020", + conditions: ["svelte", "browser"], + outdir: "../priv/static/", + logLevel: "info", + sourcemap: watch ? "inline" : false, + watch, + tsconfig: "./tsconfig.json", + plugins: [ + importGlobPlugin(), + sveltePlugin({ + preprocess: sveltePreprocess(), + compilerOptions: { dev: !deploy, hydratable: true, css: "injected" }, + }), + ], +} + +let optsServer = { + entryPoints: ["js/server.js"], + platform: "node", + bundle: true, + minify: false, + target: "node19.6.1", + conditions: ["svelte"], + outdir: "../priv/svelte", + logLevel: "info", + sourcemap: watch ? "inline" : false, + watch, + tsconfig: "./tsconfig.json", + plugins: [ + importGlobPlugin(), + sveltePlugin({ + preprocess: sveltePreprocess(), + compilerOptions: { dev: !deploy, hydratable: true, generate: "ssr" }, + }), + ], +} + +const client = esbuild.build(optsClient) +const server = esbuild.build(optsServer) + +if (watch) { + client.then((_result) => { + process.stdin.on("close", () => process.exit(0)) + process.stdin.resume() + }) + + server.then((_result) => { + process.stdin.on("close", () => process.exit(0)) + process.stdin.resume() + }) +} diff --git a/assets/js/beacon_live_admin.js b/assets/js/beacon_live_admin.js index 6e2bfd12..68ac6a3a 100644 --- a/assets/js/beacon_live_admin.js +++ b/assets/js/beacon_live_admin.js @@ -1,54 +1,57 @@ import topbar from "../vendor/topbar" import { CodeEditorHook } from "../../deps/live_monaco_editor/priv/static/live_monaco_editor.esm" - +import { getHooks } from "live_svelte" +import * as Components from "../svelte/**/*.svelte" let Hooks = {} Hooks.CodeEditorHook = CodeEditorHook - -topbar.config({barColors: {0: "#29d"}, shadowColor: "rgba(0, 0, 0, .3)"}) -window.addEventListener("phx:page-loading-start", _info => topbar.show(300)) -window.addEventListener("phx:page-loading-stop", _info => topbar.hide()) +topbar.config({ barColors: { 0: "#29d" }, shadowColor: "rgba(0, 0, 0, .3)" }) +window.addEventListener("phx:page-loading-start", (_info) => topbar.show(300)) +window.addEventListener("phx:page-loading-stop", (_info) => topbar.hide()) window.addEventListener("beacon_admin:clipcopy", (event) => { const result_id = `${event.target.id}-copy-to-clipboard-result` - const el = document.getElementById(result_id); + const el = document.getElementById(result_id) if ("clipboard" in navigator) { if (event.target.tagName === "INPUT") { - txt = event.target.value; + txt = event.target.value } else { - txt = event.target.textContent; + txt = event.target.textContent } - navigator.clipboard.writeText(txt).then(() => { - el.innerText = 'Copied to clipboard'; - // Make it visible - el.classList.remove('invisible', 'text-red-500', 'opacity-0'); - // Fade in and translate upwards - el.classList.add('text-green-500', 'opacity-100', '-translate-y-2'); - - setTimeout(function() { - el.classList.remove('text-green-500', 'opacity-100', '-translate-y-2'); - el.classList.add('invisible', 'text-red-500', 'opacity-0'); - }, 2000); - - }).catch(() => { - el.innerText = 'Could not copy'; - // Make it visible - el.classList.remove('invisible', 'text-green-500', 'opacity-0'); - // Fade in and translate upwards - el.classList.add('text-red-500', 'opacity-100', '-translate-y-2'); - }) + navigator.clipboard + .writeText(txt) + .then(() => { + el.innerText = "Copied to clipboard" + // Make it visible + el.classList.remove("invisible", "text-red-500", "opacity-0") + // Fade in and translate upwards + el.classList.add("text-green-500", "opacity-100", "-translate-y-2") + + setTimeout(function () { + el.classList.remove("text-green-500", "opacity-100", "-translate-y-2") + el.classList.add("invisible", "text-red-500", "opacity-0") + }, 2000) + }) + .catch(() => { + el.innerText = "Could not copy" + // Make it visible + el.classList.remove("invisible", "text-green-500", "opacity-0") + // Fade in and translate upwards + el.classList.add("text-red-500", "opacity-100", "-translate-y-2") + }) } else { - alert( - "Sorry, your browser does not support clipboard copy." - ); + alert("Sorry, your browser does not support clipboard copy.") } -}); +}) -let socketPath = document.querySelector("html").getAttribute("phx-socket") || "/live" -let csrfToken = document .querySelector("meta[name='csrf-token']") .getAttribute("content") +let socketPath = + document.querySelector("html").getAttribute("phx-socket") || "/live" +let csrfToken = document + .querySelector("meta[name='csrf-token']") + .getAttribute("content") let liveSocket = new LiveView.LiveSocket(socketPath, Phoenix.Socket, { - hooks: Hooks, + hooks: { ...getHooks(Components), ...Hooks }, params: { _csrf_token: csrfToken }, }) liveSocket.connect() diff --git a/assets/js/server.js b/assets/js/server.js new file mode 100644 index 00000000..290ce641 --- /dev/null +++ b/assets/js/server.js @@ -0,0 +1,4 @@ +import * as Components from "../svelte/**/*.svelte" +import { getRender } from "live_svelte" + +export const render = getRender(Components) diff --git a/assets/package-lock.json b/assets/package-lock.json index 96f1b252..8dbc86ac 100644 --- a/assets/package-lock.json +++ b/assets/package-lock.json @@ -1,11 +1,56 @@ { "name": "assets", - "lockfileVersion": 2, + "lockfileVersion": 3, "requires": true, "packages": { "": { + "dependencies": { + "@monaco-editor/loader": "^1.4.0", + "live_svelte": "file:../deps/live_svelte", + "phoenix": "file:../deps/phoenix", + "phoenix_html": "file:../deps/phoenix_html", + "phoenix_live_view": "file:../deps/phoenix_live_view" + }, "devDependencies": { - "@tailwindcss/container-queries": "^0.1.1" + "@tailwindcss/container-queries": "^0.1.1", + "esbuild": "^0.16.17", + "esbuild-plugin-import-glob": "^0.1.1", + "esbuild-svelte": "^0.8.0", + "eslint": "^8.40.0", + "eslint-config-prettier": "^8.8.0", + "prettier": "^2.8.8", + "svelte": "^4.2.1", + "svelte-preprocess": "^5.0.4", + "typescript": "^5.2.2" + } + }, + "../deps/live_svelte": { + "version": "0.12.0", + "license": "MIT", + "devDependencies": { + "prettier": "2.8.7", + "prettier-plugin-svelte": "^2.10.0", + "svelte": "^3.55.1" + } + }, + "../deps/phoenix": { + "version": "1.7.9", + "license": "MIT" + }, + "../deps/phoenix_html": { + "version": "3.3.3" + }, + "../deps/phoenix_live_view": { + "version": "0.20.1", + "license": "MIT" + }, + "node_modules/@aashutoshrathi/word-wrap": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", + "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, "node_modules/@alloc/quick-lru": { @@ -21,12 +66,465 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.16.17.tgz", + "integrity": "sha512-N9x1CMXVhtWEAMS7pNNONyA14f71VPQN9Cnavj1XQh6T7bskqiLLrSca4O0Vr8Wdcga943eThxnVp3JLnBMYtw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.16.17.tgz", + "integrity": "sha512-MIGl6p5sc3RDTLLkYL1MyL8BMRN4tLMRCn+yRJJmEDvYZ2M7tmAf80hx1kbNEUX2KJ50RRtxZ4JHLvCfuB6kBg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.16.17.tgz", + "integrity": "sha512-a3kTv3m0Ghh4z1DaFEuEDfz3OLONKuFvI4Xqczqx4BqLyuFaFkuaG4j2MtA6fuWEFeC5x9IvqnX7drmRq/fyAQ==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.16.17.tgz", + "integrity": "sha512-/2agbUEfmxWHi9ARTX6OQ/KgXnOWfsNlTeLcoV7HSuSTv63E4DqtAc+2XqGw1KHxKMHGZgbVCZge7HXWX9Vn+w==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.16.17.tgz", + "integrity": "sha512-2By45OBHulkd9Svy5IOCZt376Aa2oOkiE9QWUK9fe6Tb+WDr8hXL3dpqi+DeLiMed8tVXspzsTAvd0jUl96wmg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.16.17.tgz", + "integrity": "sha512-mt+cxZe1tVx489VTb4mBAOo2aKSnJ33L9fr25JXpqQqzbUIw/yzIzi+NHwAXK2qYV1lEFp4OoVeThGjUbmWmdw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.16.17.tgz", + "integrity": "sha512-8ScTdNJl5idAKjH8zGAsN7RuWcyHG3BAvMNpKOBaqqR7EbUhhVHOqXRdL7oZvz8WNHL2pr5+eIT5c65kA6NHug==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.16.17.tgz", + "integrity": "sha512-iihzrWbD4gIT7j3caMzKb/RsFFHCwqqbrbH9SqUSRrdXkXaygSZCZg1FybsZz57Ju7N/SHEgPyaR0LZ8Zbe9gQ==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.16.17.tgz", + "integrity": "sha512-7S8gJnSlqKGVJunnMCrXHU9Q8Q/tQIxk/xL8BqAP64wchPCTzuM6W3Ra8cIa1HIflAvDnNOt2jaL17vaW+1V0g==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.16.17.tgz", + "integrity": "sha512-kiX69+wcPAdgl3Lonh1VI7MBr16nktEvOfViszBSxygRQqSpzv7BffMKRPMFwzeJGPxcio0pdD3kYQGpqQ2SSg==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.16.17.tgz", + "integrity": "sha512-dTzNnQwembNDhd654cA4QhbS9uDdXC3TKqMJjgOWsC0yNCbpzfWoXdZvp0mY7HU6nzk5E0zpRGGx3qoQg8T2DQ==", + "cpu": [ + "loong64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.16.17.tgz", + "integrity": "sha512-ezbDkp2nDl0PfIUn0CsQ30kxfcLTlcx4Foz2kYv8qdC6ia2oX5Q3E/8m6lq84Dj/6b0FrkgD582fJMIfHhJfSw==", + "cpu": [ + "mips64el" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.16.17.tgz", + "integrity": "sha512-dzS678gYD1lJsW73zrFhDApLVdM3cUF2MvAa1D8K8KtcSKdLBPP4zZSLy6LFZ0jYqQdQ29bjAHJDgz0rVbLB3g==", + "cpu": [ + "ppc64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.16.17.tgz", + "integrity": "sha512-ylNlVsxuFjZK8DQtNUwiMskh6nT0vI7kYl/4fZgV1llP5d6+HIeL/vmmm3jpuoo8+NuXjQVZxmKuhDApK0/cKw==", + "cpu": [ + "riscv64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.16.17.tgz", + "integrity": "sha512-gzy7nUTO4UA4oZ2wAMXPNBGTzZFP7mss3aKR2hH+/4UUkCOyqmjXiKpzGrY2TlEUhbbejzXVKKGazYcQTZWA/w==", + "cpu": [ + "s390x" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.16.17.tgz", + "integrity": "sha512-mdPjPxfnmoqhgpiEArqi4egmBAMYvaObgn4poorpUaqmvzzbvqbowRllQ+ZgzGVMGKaPkqUmPDOOFQRUFDmeUw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.16.17.tgz", + "integrity": "sha512-/PzmzD/zyAeTUsduZa32bn0ORug+Jd1EGGAUJvqfeixoEISYpGnAezN6lnJoskauoai0Jrs+XSyvDhppCPoKOA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.16.17.tgz", + "integrity": "sha512-2yaWJhvxGEz2RiftSk0UObqJa/b+rIAjnODJgv2GbGGpRwAfpgzyrg1WLK8rqA24mfZa9GvpjLcBBg8JHkoodg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.16.17.tgz", + "integrity": "sha512-xtVUiev38tN0R3g8VhRfN7Zl42YCJvyBhRKw1RJjwE1d2emWTVToPLNEQj/5Qxc6lVFATDiy6LjVHYhIPrLxzw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.16.17.tgz", + "integrity": "sha512-ga8+JqBDHY4b6fQAmOgtJJue36scANy4l/rL97W+0wYmijhxKetzZdKOJI7olaBaMhWt8Pac2McJdZLxXWUEQw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.16.17.tgz", + "integrity": "sha512-WnsKaf46uSSF/sZhwnqE4L/F89AYNMiD4YtEcYekBt9Q7nj0DiId2XH2Ng2PHM54qi5oPrQ8luuzGszqi/veig==", + "cpu": [ + "ia32" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.16.17.tgz", + "integrity": "sha512-y+EHuSchhL7FjHgvQL/0fnnFmO4T1bhvWANX6gcnqTjtnKWbTvUMCpGnv2+t+31d7RzyEAYAd4u2fnIhHL6N/Q==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" + } + }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.9.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.9.1.tgz", + "integrity": "sha512-Y27x+MBLjXa+0JWDhykM3+JE+il3kHKAEqabfEWq3SDhZjLYb6/BHL/JKFnH3fe207JaXkyDo685Oc2Glt6ifA==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.1.2.tgz", + "integrity": "sha512-+wvgpDsrB1YqAMdEUCcnTlpfVBH7Vqn6A/NT3D8WVXFIaKMlErPIZT3oCIAVCOtarRpMtelZLqJeU3t7WY6X6g==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.6.0", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/js": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.50.0.tgz", + "integrity": "sha512-NCC3zz2+nvYd+Ckfh87rA47zfu2QsQpvc6k1yzTk+b9KzRj0wkGa8LSoGOXN6Zv4lRf/EIoZ80biDh9HOI+RNQ==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.11", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.11.tgz", + "integrity": "sha512-N2brEuAadi0CcdeMXUkhbZB84eskAc8MEX1By6qEchoVywSgXPIjou4rYsl0V3Hj0ZnuGycGCjdNgockbzeWNA==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.3", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, - "peer": true, "dependencies": { "@jridgewell/set-array": "^1.0.1", "@jridgewell/sourcemap-codec": "^1.4.10", @@ -37,11 +535,10 @@ } }, "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.1.tgz", + "integrity": "sha512-dSYZh7HhCDtCKm4QakX0xFpsRDqjjtZf/kjI/v3T3Nwt5r8/qz/M19F9ySyOqU94SXBmeG9ttTul+YnR4LOxFA==", "dev": true, - "peer": true, "engines": { "node": ">=6.0.0" } @@ -51,7 +548,6 @@ "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true, - "peer": true, "engines": { "node": ">=6.0.0" } @@ -60,33 +556,34 @@ "version": "1.4.15", "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true, - "peer": true + "dev": true }, "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", + "version": "0.3.19", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.19.tgz", + "integrity": "sha512-kf37QtfW+Hwx/buWGMPcR60iF9ziHa6r/CZJIHbmcm4+0qrXiVdxegAH0F6yddEVQ7zdkjcGCgCzUu+BcbhQxw==", "dev": true, - "peer": true, "dependencies": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" } }, - "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true, - "peer": true + "node_modules/@monaco-editor/loader": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/@monaco-editor/loader/-/loader-1.4.0.tgz", + "integrity": "sha512-00ioBig0x642hytVspPl7DbQyaSWRaolYie/UFNjoTdvoKPzo6xrXLhTk9ixgIKcLH5b5vDOjVNiGyY+uDCUlg==", + "dependencies": { + "state-local": "^1.0.6" + }, + "peerDependencies": { + "monaco-editor": ">= 0.21.0 < 1" + } }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, - "peer": true, "dependencies": { "@nodelib/fs.stat": "2.0.5", "run-parallel": "^1.1.9" @@ -100,7 +597,6 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, - "peer": true, "engines": { "node": ">= 8" } @@ -110,7 +606,6 @@ "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, - "peer": true, "dependencies": { "@nodelib/fs.scandir": "2.1.5", "fastq": "^1.6.0" @@ -128,10 +623,83 @@ "tailwindcss": ">=3.2.0" } }, - "node_modules/any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", + "node_modules/@types/estree": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.2.tgz", + "integrity": "sha512-VeiPZ9MMwXjO32/Xu7+OwflfmeoRwkE/qzndw42gGtgJwZopBnzy2gD//NN1+go1mADzkDcqf/KnFRSjTJ8xJA==", + "dev": true + }, + "node_modules/@types/pug": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/@types/pug/-/pug-2.0.7.tgz", + "integrity": "sha512-I469DU0UXNC1aHepwirWhu9YKg5fkxohZD95Ey/5A7lovC+Siu+MCLffva87lnfThaOrw9Vb1DUN5t55oULAAw==", + "dev": true + }, + "node_modules/acorn": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.10.0.tgz", + "integrity": "sha512-F0SAmZ8iUtS//m8DmCTA0jlh6TDKkHQyK6xc6V4KDTyZKA9dnvX9/3sRTVQrWm79glUAZbnmmNcdYwUIHWVybw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", + "dev": true, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/any-promise": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", + "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", "dev": true, "peer": true }, @@ -156,12 +724,35 @@ "dev": true, "peer": true }, + "node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/aria-query": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.0.tgz", + "integrity": "sha512-b0P0sZPKtyu8HkeRAfCq0IfURZK+SuwMjY1UXGBU27wpAiTwQAIlq56IbIO+ytk/JjS1fMR14ee5WBBfKi5J6A==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, + "node_modules/axobject-query": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", + "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "dev": true, + "dependencies": { + "dequal": "^2.0.3" + } + }, "node_modules/balanced-match": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "peer": true + "dev": true }, "node_modules/binary-extensions": { "version": "2.2.0", @@ -178,7 +769,6 @@ "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "peer": true, "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" @@ -189,7 +779,6 @@ "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "peer": true, "dependencies": { "fill-range": "^7.0.1" }, @@ -197,6 +786,24 @@ "node": ">=8" } }, + "node_modules/buffer-crc32": { + "version": "0.2.13", + "resolved": "https://registry.npmjs.org/buffer-crc32/-/buffer-crc32-0.2.13.tgz", + "integrity": "sha512-VO9Ht/+p3SN7SKWqcrgEzjGbRSJYTx+Q1pTQC0wrWqHx0vpJraQ6GtHx8tvcg1rlK1byhU5gccxgOgj7B0TDkQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/camelcase-css": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", @@ -207,6 +814,22 @@ "node": ">= 6" } }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, "node_modules/chokidar": { "version": "3.5.3", "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", @@ -235,19 +858,37 @@ "fsevents": "~2.3.2" } }, - "node_modules/chokidar/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/code-red": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/code-red/-/code-red-1.0.4.tgz", + "integrity": "sha512-7qJWqItLA8/VPVlKJlFXU+NBlo/qyfs39aJcuMT/2ere32ZqvF5OSxgdM5xOfJJ7O429gg2HM47y8v9P+9wrNw==", "dev": true, - "peer": true, "dependencies": { - "is-glob": "^4.0.1" + "@jridgewell/sourcemap-codec": "^1.4.15", + "@types/estree": "^1.0.1", + "acorn": "^8.10.0", + "estree-walker": "^3.0.3", + "periscopic": "^3.1.0" + } + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" }, "engines": { - "node": ">= 6" + "node": ">=7.0.0" } }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, "node_modules/commander": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", @@ -262,8 +903,34 @@ "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "peer": true + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/css-tree": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.3.1.tgz", + "integrity": "sha512-6Fv1DV/TYw//QF5IzQdqsNDjx/wc8TrMBZsqjL9eW01tWb7R7k/mq+/VXfJCl7SoD5emsJop9cOByJZfs8hYIw==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.30", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } }, "node_modules/cssesc": { "version": "3.0.0", @@ -278,6 +945,47 @@ "node": ">=4" } }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", + "dev": true + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/detect-indent": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", + "integrity": "sha512-reYkTUJAZb9gUuZ2RvVCNhVHdg62RHnJ7WJl8ftMi4diZ6NWlciOzQN88pUhSELEwflJht4oQDv0F0BMlwaYtA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/didyoumean": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", @@ -292,115 +1000,197 @@ "dev": true, "peer": true }, - "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, - "peer": true, "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" + "esutils": "^2.0.2" }, "engines": { - "node": ">=8.6.0" + "node": ">=6.0.0" } }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "node_modules/es6-promise": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-3.3.1.tgz", + "integrity": "sha512-SOp9Phqvqn7jtEUxPWdWfWoLmyt2VaJ6MpvP9Comy1MceMXqE6bxvaTu4iaxpYYPzhny28Lc+M87/c2cPK6lDg==", + "dev": true + }, + "node_modules/esbuild": { + "version": "0.16.17", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.16.17.tgz", + "integrity": "sha512-G8LEkV0XzDMNwXKgM0Jwu3nY3lSTwSGY6XbxM9cr9+s0T/qSV1q1JVPBGzm3dcjhCic9+emZDmMffkwgPeOeLg==", "dev": true, - "peer": true, - "dependencies": { - "is-glob": "^4.0.1" + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.16.17", + "@esbuild/android-arm64": "0.16.17", + "@esbuild/android-x64": "0.16.17", + "@esbuild/darwin-arm64": "0.16.17", + "@esbuild/darwin-x64": "0.16.17", + "@esbuild/freebsd-arm64": "0.16.17", + "@esbuild/freebsd-x64": "0.16.17", + "@esbuild/linux-arm": "0.16.17", + "@esbuild/linux-arm64": "0.16.17", + "@esbuild/linux-ia32": "0.16.17", + "@esbuild/linux-loong64": "0.16.17", + "@esbuild/linux-mips64el": "0.16.17", + "@esbuild/linux-ppc64": "0.16.17", + "@esbuild/linux-riscv64": "0.16.17", + "@esbuild/linux-s390x": "0.16.17", + "@esbuild/linux-x64": "0.16.17", + "@esbuild/netbsd-x64": "0.16.17", + "@esbuild/openbsd-x64": "0.16.17", + "@esbuild/sunos-x64": "0.16.17", + "@esbuild/win32-arm64": "0.16.17", + "@esbuild/win32-ia32": "0.16.17", + "@esbuild/win32-x64": "0.16.17" + } + }, + "node_modules/esbuild-plugin-import-glob": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/esbuild-plugin-import-glob/-/esbuild-plugin-import-glob-0.1.1.tgz", + "integrity": "sha512-yAFH+9AoIcsQkODSx0KUPRv1FeJUN6Tef8vkPQMcuVkc2vXYneYKsHhOiFS/yIsg5bQ70HHtAlXVA1uTjgoJXg==", "dev": true, - "peer": true, "dependencies": { - "reusify": "^1.0.4" + "fast-glob": "^3.2.5" } }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "node_modules/esbuild-svelte": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/esbuild-svelte/-/esbuild-svelte-0.8.0.tgz", + "integrity": "sha512-uKcPf1kl2UGMjrfHChv4dLxGAvCNhf9s72mHo19ZhKP+LrVOuQkOM/g8GE7MiGpoqjpk8UHqL08uLRbSKXhmhw==", "dev": true, - "peer": true, "dependencies": { - "to-regex-range": "^5.0.1" + "@jridgewell/trace-mapping": "^0.3.19" }, "engines": { - "node": ">=8" + "node": ">=14" + }, + "peerDependencies": { + "esbuild": ">=0.9.6", + "svelte": ">=3.43.0 <5" } }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, - "peer": true + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "node_modules/fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "node_modules/eslint": { + "version": "8.50.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.50.0.tgz", + "integrity": "sha512-FOnOGSuFuFLv/Sa+FDVRZl4GGVAAFFi8LecRsI5a1tMO5HIE8nCm4ivAlzt4dT3ol/PaaGC0rJEEXQmHJBGoOg==", "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "peer": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.6.1", + "@eslint/eslintrc": "^2.1.2", + "@eslint/js": "8.50.0", + "@humanwhocodes/config-array": "^0.11.11", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.12.4", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.2", + "eslint-visitor-keys": "^3.4.3", + "espree": "^9.6.1", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "graphemer": "^1.4.0", + "ignore": "^5.2.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.3", + "strip-ansi": "^6.0.1", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "node_modules/eslint-config-prettier": { + "version": "8.10.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.10.0.tgz", + "integrity": "sha512-SM8AMJdeQqRYT9O9zguiruQZaN7+z+E4eAP9oiLNGKMtomwaB1E9dcgUD6ZAn/eQAb52USbvezbiljfZUhbJcg==", "dev": true, - "peer": true + "bin": { + "eslint-config-prettier": "bin/cli.js" + }, + "peerDependencies": { + "eslint": ">=7.0.0" + } }, - "node_modules/glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "node_modules/eslint-scope": { + "version": "7.2.2", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.2.tgz", + "integrity": "sha512-dOt21O7lTMhDM+X9mB4GX+DZrZtCUJPL/wlcTqxyrx5IvO0IYtILdtrQGQp+8n5S0gwSVmOf9NQrjMOgfQZlIg==", "dev": true, - "peer": true, "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" }, "engines": { - "node": "*" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "url": "https://opencollective.com/eslint" } }, - "node_modules/glob-parent": { + "node_modules/eslint-visitor-keys": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", + "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/eslint/node_modules/glob-parent": { "version": "6.0.2", "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, - "peer": true, "dependencies": { "is-glob": "^4.0.3" }, @@ -408,1352 +1198,1247 @@ "node": ">=10.13.0" } }, - "node_modules/has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/espree": { + "version": "9.6.1", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.6.1.tgz", + "integrity": "sha512-oruZaFkjorTpF32kDSI5/75ViwGeZginGGy2NoOSg3Q9bnwlnmDm4HLnkl0RE3n+njDXR037aY1+x58Z/zFdwQ==", "dev": true, - "peer": true, "dependencies": { - "function-bind": "^1.1.1" + "acorn": "^8.9.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": ">= 0.4.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", "dev": true, - "peer": true, "dependencies": { - "once": "^1.3.0", - "wrappy": "1" + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" } }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "peer": true - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "peer": true, "dependencies": { - "binary-extensions": "^2.0.0" + "estraverse": "^5.2.0" }, "engines": { - "node": ">=8" + "node": ">=4.0" } }, - "node_modules/is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "peer": true, - "dependencies": { - "has": "^1.0.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">=4.0" } }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" + "dependencies": { + "@types/estree": "^1.0.0" } }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", "dev": true, - "peer": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, "engines": { "node": ">=0.10.0" } }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.12.0" - } + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true }, - "node_modules/jiti": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.19.1.tgz", - "integrity": "sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==", + "node_modules/fast-glob": { + "version": "3.3.1", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", + "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", "dev": true, - "peer": true, - "bin": { - "jiti": "bin/jiti.js" + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" } }, - "node_modules/lilconfig": { + "node_modules/fast-json-stable-stringify": { "version": "2.1.0", - "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", - "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">=10" - } + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, - "peer": true + "dependencies": { + "reusify": "^1.0.4" + } }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", "dev": true, - "peer": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, "engines": { - "node": ">= 8" + "node": "^10.12.0 || >=12.0.0" } }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, - "peer": true, "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "to-regex-range": "^5.0.1" }, "engines": { - "node": ">=8.6" + "node": ">=8" } }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "peer": true, "dependencies": { - "brace-expansion": "^1.1.7" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": "*" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/mz": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", - "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", + "node_modules/flat-cache": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.1.1.tgz", + "integrity": "sha512-/qM2b3LUIaIgviBQovTLvijfyOQXPtSRnRK26ksj2J7rzPIecePUIpJsZ4T02Qg+xiAEKIs5K8dsHEd+VaKa/Q==", "dev": true, - "peer": true, "dependencies": { - "any-promise": "^1.0.0", - "object-assign": "^4.0.1", - "thenify-all": "^1.0.0" + "flatted": "^3.2.9", + "keyv": "^4.5.3", + "rimraf": "^3.0.2" + }, + "engines": { + "node": ">=12.0.0" } }, - "node_modules/nanoid": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", - "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "peer": true, + "dependencies": { + "glob": "^7.1.3" + }, "bin": { - "nanoid": "bin/nanoid.cjs" + "rimraf": "bin.js" }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "node_modules/flatted": { + "version": "3.2.9", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.9.tgz", + "integrity": "sha512-36yxDn5H7OFZQla0/jFJmbIKTdZAQHngCedGxiMmpNfEZM0sdEeT+WczLQrjK6D7o2aiyLYDnkw0R3JK0Qv1RQ==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], "peer": true, "engines": { - "node": ">=0.10.0" + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" } }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, "engines": { - "node": ">=0.10.0" + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/object-hash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", - "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "peer": true, + "dependencies": { + "is-glob": "^4.0.1" + }, "engines": { "node": ">= 6" } }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", + "node_modules/globals": { + "version": "13.23.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.23.0.tgz", + "integrity": "sha512-XAmF0RjlrjY23MA51q3HltdlGxUpXPvg0GioKiD9X6HD28iMjo2dKC8Vqwm7lne4GNr78+RHTfliktR6ZH09wA==", "dev": true, - "peer": true, "dependencies": { - "wrappy": "1" + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true + }, + "node_modules/graphemer": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", + "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.4.tgz", + "integrity": "sha512-qdSAmqLF6209RFj4VVItywPMbm3vWylknmB3nvNiUIs72xAimcM8nVYxYr7ncvZq5qzk9MKIZR8ijqD/1QuYjQ==", "dev": true, "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">= 0.4.0" } }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "peer": true + "engines": { + "node": ">=8" + } }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", "dev": true, - "peer": true + "engines": { + "node": ">= 4" + } }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "peer": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, "engines": { - "node": ">=8.6" + "node": ">=6" }, "funding": { - "url": "https://github.com/sponsors/jonschlinkert" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", + "node_modules/imurmurhash": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", "dev": true, - "peer": true, "engines": { - "node": ">=0.10.0" + "node": ">=0.8.19" } }, - "node_modules/pirates": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", - "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", + "dev": true + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, "peer": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, "engines": { - "node": ">= 6" + "node": ">=8" } }, - "node_modules/postcss": { - "version": "8.4.27", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", - "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "peer": true, - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-import": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", - "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", - "dev": true, - "peer": true, - "dependencies": { - "postcss-value-parser": "^4.0.0", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "postcss": "^8.0.0" - } - }, - "node_modules/postcss-js": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", - "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", - "dev": true, - "peer": true, - "dependencies": { - "camelcase-css": "^2.0.1" - }, - "engines": { - "node": "^12 || ^14 || >= 16" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.4.21" - } - }, - "node_modules/postcss-load-config": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", - "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", - "dev": true, - "peer": true, - "dependencies": { - "lilconfig": "^2.0.5", - "yaml": "^2.1.1" - }, - "engines": { - "node": ">= 14" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": ">=8.0.9", - "ts-node": ">=9.0.0" - }, - "peerDependenciesMeta": { - "postcss": { - "optional": true - }, - "ts-node": { - "optional": true - } - } - }, - "node_modules/postcss-nested": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", - "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", - "dev": true, - "peer": true, - "dependencies": { - "postcss-selector-parser": "^6.0.11" - }, - "engines": { - "node": ">=12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - "peerDependencies": { - "postcss": "^8.2.14" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", - "dev": true, - "peer": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true, - "peer": true - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peer": true - }, - "node_modules/read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", - "dev": true, - "peer": true, - "dependencies": { - "pify": "^2.3.0" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "peer": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", - "dev": true, - "peer": true, - "dependencies": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "peer": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "peer": true, - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, - "peer": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/sucrase": { - "version": "3.34.0", - "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", - "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", - "dev": true, - "peer": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.2", - "commander": "^4.0.0", - "glob": "7.1.6", - "lines-and-columns": "^1.1.6", - "mz": "^2.7.0", - "pirates": "^4.0.1", - "ts-interface-checker": "^0.1.9" - }, - "bin": { - "sucrase": "bin/sucrase", - "sucrase-node": "bin/sucrase-node" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tailwindcss": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", - "integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==", - "dev": true, - "peer": true, - "dependencies": { - "@alloc/quick-lru": "^5.2.0", - "arg": "^5.0.2", - "chokidar": "^3.5.3", - "didyoumean": "^1.2.2", - "dlv": "^1.1.3", - "fast-glob": "^3.2.12", - "glob-parent": "^6.0.2", - "is-glob": "^4.0.3", - "jiti": "^1.18.2", - "lilconfig": "^2.1.0", - "micromatch": "^4.0.5", - "normalize-path": "^3.0.0", - "object-hash": "^3.0.0", - "picocolors": "^1.0.0", - "postcss": "^8.4.23", - "postcss-import": "^15.1.0", - "postcss-js": "^4.0.1", - "postcss-load-config": "^4.0.1", - "postcss-nested": "^6.0.1", - "postcss-selector-parser": "^6.0.11", - "resolve": "^1.22.2", - "sucrase": "^3.32.0" - }, - "bin": { - "tailwind": "lib/cli.js", - "tailwindcss": "lib/cli.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/thenify": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", - "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", - "dev": true, - "peer": true, - "dependencies": { - "any-promise": "^1.0.0" - } - }, - "node_modules/thenify-all": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", - "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", - "dev": true, - "peer": true, - "dependencies": { - "thenify": ">= 3.1.0 < 4" - }, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "peer": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/ts-interface-checker": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", - "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", - "dev": true, - "peer": true - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true, - "peer": true - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true, - "peer": true - }, - "node_modules/yaml": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", - "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", - "dev": true, - "peer": true, - "engines": { - "node": ">= 14" - } - } - }, - "dependencies": { - "@alloc/quick-lru": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz", - "integrity": "sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==", - "dev": true, - "peer": true - }, - "@jridgewell/gen-mapping": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", - "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", - "dev": true, - "peer": true, - "requires": { - "@jridgewell/set-array": "^1.0.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "@jridgewell/resolve-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", - "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", - "dev": true, - "peer": true - }, - "@jridgewell/set-array": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", - "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", - "dev": true, - "peer": true - }, - "@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true, - "peer": true - }, - "@jridgewell/trace-mapping": { - "version": "0.3.18", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", - "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", - "dev": true, - "peer": true, - "requires": { - "@jridgewell/resolve-uri": "3.1.0", - "@jridgewell/sourcemap-codec": "1.4.14" - }, - "dependencies": { - "@jridgewell/sourcemap-codec": { - "version": "1.4.14", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", - "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", - "dev": true, - "peer": true - } - } - }, - "@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "peer": true, - "requires": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - } - }, - "@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "peer": true - }, - "@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "peer": true, - "requires": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - } - }, - "@tailwindcss/container-queries": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/@tailwindcss/container-queries/-/container-queries-0.1.1.tgz", - "integrity": "sha512-p18dswChx6WnTSaJCSGx6lTmrGzNNvm2FtXmiO6AuA1V4U5REyoqwmT6kgAsIMdjo07QdAfYXHJ4hnMtfHzWgA==", - "dev": true, - "requires": {} - }, - "any-promise": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/any-promise/-/any-promise-1.3.0.tgz", - "integrity": "sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==", - "dev": true, - "peer": true - }, - "anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", - "dev": true, - "peer": true, - "requires": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - } - }, - "arg": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", - "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", - "dev": true, - "peer": true - }, - "balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true, - "peer": true - }, - "binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "peer": true - }, - "brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "peer": true, - "requires": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "peer": true, - "requires": { - "fill-range": "^7.0.1" - } - }, - "camelcase-css": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/camelcase-css/-/camelcase-css-2.0.1.tgz", - "integrity": "sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==", - "dev": true, - "peer": true - }, - "chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", - "dev": true, - "peer": true, - "requires": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "fsevents": "~2.3.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "peer": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "commander": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", - "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", - "dev": true, - "peer": true - }, - "concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true, - "peer": true - }, - "cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true, - "peer": true - }, - "didyoumean": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/didyoumean/-/didyoumean-1.2.2.tgz", - "integrity": "sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==", - "dev": true, - "peer": true - }, - "dlv": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", - "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", - "dev": true, - "peer": true - }, - "fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "dev": true, - "peer": true, - "requires": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "dependencies": { - "glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "peer": true, - "requires": { - "is-glob": "^4.0.1" - } - } - } - }, - "fastq": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", - "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", + "node_modules/is-core-module": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.0.tgz", + "integrity": "sha512-Z7dk6Qo8pOCp3l4tsX2C5ZVas4V+UxwQodwZhLopL91TX8UyyHEXafPcyoeeWuLrwzHcr3igO78wNLwHJHsMCQ==", "dev": true, "peer": true, - "requires": { - "reusify": "^1.0.4" + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true, - "peer": true, - "requires": { - "to-regex-range": "^5.0.1" + "engines": { + "node": ">=0.10.0" } }, - "fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true, - "peer": true - }, - "fsevents": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", - "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", - "dev": true, - "optional": true, - "peer": true - }, - "function-bind": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", - "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", - "dev": true, - "peer": true - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "peer": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", "dev": true, - "peer": true, - "requires": { - "is-glob": "^4.0.3" + "engines": { + "node": ">=0.12.0" } }, - "has": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", - "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", "dev": true, - "peer": true, - "requires": { - "function-bind": "^1.1.1" + "engines": { + "node": ">=8" } }, - "inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "node_modules/is-reference": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-3.0.2.tgz", + "integrity": "sha512-v3rht/LgVcsdZa3O2Nqs+NMowLOxeOm7Ay9+/ARQ2F+qEoANRcqrjAZKGN0v8ymUetZGgkp26LTnGT7H0Qo9Pg==", "dev": true, - "peer": true, - "requires": { - "once": "^1.3.0", - "wrappy": "1" + "dependencies": { + "@types/estree": "*" } }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true, - "peer": true + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true }, - "is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "node_modules/jiti": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.20.0.tgz", + "integrity": "sha512-3TV69ZbrvV6U5DfQimop50jE9Dl6J8O1ja1dvBbMba/sZ3YBEQqJ2VZRoQPVnhlzjNtU1vaXRZVrVjU4qtm8yA==", "dev": true, "peer": true, - "requires": { - "binary-extensions": "^2.0.0" + "bin": { + "jiti": "bin/jiti.js" } }, - "is-core-module": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.1.tgz", - "integrity": "sha512-Q4ZuBAe2FUsKtyQJoQHlvP8OvBERxO3jEmy1I7hcRXcJBGGHFh/aJBswbXuS9sgrDH2QUO8ilkwNPHvHMd8clg==", + "node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "peer": true, - "requires": { - "has": "^1.0.3" + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "peer": true + "node_modules/json-buffer": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", + "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", + "dev": true }, - "is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "peer": true, - "requires": { - "is-extglob": "^2.1.1" - } + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true }, - "is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, + "node_modules/keyv": { + "version": "4.5.3", + "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.3.tgz", + "integrity": "sha512-QCiSav9WaX1PgETJ+SpNnx2PRRapJ/oRSXM4VO5OGYGSjrxbKPVFVhB3l2OCbLCk329N8qyAtsJjSjvVBWzEug==", "dev": true, - "peer": true + "dependencies": { + "json-buffer": "3.0.1" + } }, - "jiti": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.19.1.tgz", - "integrity": "sha512-oVhqoRDaBXf7sjkll95LHVS6Myyyb1zaunVwk4Z0+WPSW4gjS0pl01zYKHScTuyEhQsFxV5L4DR5r+YqSyqyyg==", + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", "dev": true, - "peer": true + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } }, - "lilconfig": { + "node_modules/lilconfig": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.1.0.tgz", "integrity": "sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==", "dev": true, - "peer": true + "peer": true, + "engines": { + "node": ">=10" + } }, - "lines-and-columns": { + "node_modules/lines-and-columns": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", "dev": true, "peer": true }, - "merge2": { + "node_modules/live_svelte": { + "resolved": "../deps/live_svelte", + "link": true + }, + "node_modules/locate-character": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/locate-character/-/locate-character-3.0.0.tgz", + "integrity": "sha512-SW13ws7BjaeJ6p7Q6CO2nchbYEc3X3J6WrmTTDto7yMPqVSZTUyY5Tjbid+Ab8gLnATtygYtiDIJGQRRn2ZOiA==", + "dev": true + }, + "node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", + "dev": true, + "dependencies": { + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, + "node_modules/magic-string": { + "version": "0.30.4", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.4.tgz", + "integrity": "sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.15" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/mdn-data": { + "version": "2.0.30", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.30.tgz", + "integrity": "sha512-GaqWWShW4kv/G9IEucWScBx9G1/vsFZZJUO+tD26M8J8z3Kw5RDQjaoZe03YAClgeS/SWPOcb4nkFBTEi5DUEA==", + "dev": true + }, + "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", "dev": true, - "peer": true + "engines": { + "node": ">= 8" + } }, - "micromatch": { + "node_modules/micromatch": { "version": "4.0.5", "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, - "peer": true, - "requires": { + "dependencies": { "braces": "^3.0.2", "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/min-indent": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/min-indent/-/min-indent-1.0.1.tgz", + "integrity": "sha512-I9jwMn07Sy/IwOj3zVkVik2JTvgpaykDZEigL6Rx6N9LbMywwUSMtxET+7lVoDLLd3O3IXwJwvuuns8UB/HeAg==", + "dev": true, + "engines": { + "node": ">=4" } }, - "minimatch": { + "node_modules/minimatch": { "version": "3.1.2", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "peer": true, - "requires": { + "dependencies": { "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", + "dev": true, + "dependencies": { + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "mz": { + "node_modules/monaco-editor": { + "version": "0.44.0", + "resolved": "https://registry.npmjs.org/monaco-editor/-/monaco-editor-0.44.0.tgz", + "integrity": "sha512-5SmjNStN6bSuSE5WPT2ZV+iYn1/yI9sd4Igtk23ChvqB7kDk9lZbB9F5frsuvpB+2njdIeGGFf2G4gbE6rCC9Q==", + "peer": true + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/mz": { "version": "2.7.0", "resolved": "https://registry.npmjs.org/mz/-/mz-2.7.0.tgz", "integrity": "sha512-z81GNO7nnYMEhrGh9LeymoE4+Yr0Wn5McHIZMK5cfQCl+NDX08sCZgUc9/6MHni9IWuFLm1Z3HTCXu2z9fN62Q==", "dev": true, "peer": true, - "requires": { + "dependencies": { "any-promise": "^1.0.0", "object-assign": "^4.0.1", "thenify-all": "^1.0.0" } }, - "nanoid": { + "node_modules/nanoid": { "version": "3.3.6", "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", "dev": true, - "peer": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "peer": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true }, - "normalize-path": { + "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", "dev": true, - "peer": true + "peer": true, + "engines": { + "node": ">=0.10.0" + } }, - "object-assign": { + "node_modules/object-assign": { "version": "4.1.1", "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", "dev": true, - "peer": true + "peer": true, + "engines": { + "node": ">=0.10.0" + } }, - "object-hash": { + "node_modules/object-hash": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-3.0.0.tgz", "integrity": "sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==", "dev": true, - "peer": true + "peer": true, + "engines": { + "node": ">= 6" + } }, - "once": { + "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", "dev": true, - "peer": true, - "requires": { - "wrappy": "1" + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/optionator": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", + "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", + "dev": true, + "dependencies": { + "@aashutoshrathi/word-wrap": "^1.2.3", + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", + "dev": true, + "dependencies": { + "yocto-queue": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", + "dev": true, + "dependencies": { + "p-limit": "^3.0.2" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" } }, - "path-is-absolute": { + "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", "dev": true, - "peer": true + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "path-parse": { + "node_modules/path-parse": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true, "peer": true }, - "picocolors": { + "node_modules/periscopic": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/periscopic/-/periscopic-3.1.0.tgz", + "integrity": "sha512-vKiQ8RRtkl9P+r/+oefh25C3fhybptkHKCZSPlcXiJux2tJF55GnEj3BVn4A5gKfq9NWWXXrxkHBwVPUfH0opw==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^3.0.0", + "is-reference": "^3.0.0" + } + }, + "node_modules/phoenix": { + "resolved": "../deps/phoenix", + "link": true + }, + "node_modules/phoenix_html": { + "resolved": "../deps/phoenix_html", + "link": true + }, + "node_modules/phoenix_live_view": { + "resolved": "../deps/phoenix_live_view", + "link": true + }, + "node_modules/picocolors": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true, "peer": true }, - "picomatch": { + "node_modules/picomatch": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", "dev": true, - "peer": true + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } }, - "pify": { + "node_modules/pify": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", "integrity": "sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==", "dev": true, - "peer": true + "peer": true, + "engines": { + "node": ">=0.10.0" + } }, - "pirates": { + "node_modules/pirates": { "version": "4.0.6", "resolved": "https://registry.npmjs.org/pirates/-/pirates-4.0.6.tgz", "integrity": "sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==", "dev": true, - "peer": true + "peer": true, + "engines": { + "node": ">= 6" + } }, - "postcss": { - "version": "8.4.27", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.27.tgz", - "integrity": "sha512-gY/ACJtJPSmUFPDCHtX78+01fHa64FaU4zaaWfuh1MhGJISufJAH4cun6k/8fwsHYeK4UQmENQK+tRLCFJE8JQ==", + "node_modules/postcss": { + "version": "8.4.31", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", + "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], "peer": true, - "requires": { + "dependencies": { "nanoid": "^3.3.6", "picocolors": "^1.0.0", "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" } }, - "postcss-import": { + "node_modules/postcss-import": { "version": "15.1.0", "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-15.1.0.tgz", "integrity": "sha512-hpr+J05B2FVYUAXHeK1YyI267J/dDDhMU6B6civm8hSY1jYJnBXxzKDKDswzJmtLHryrjhnDjqqp/49t8FALew==", "dev": true, "peer": true, - "requires": { + "dependencies": { "postcss-value-parser": "^4.0.0", "read-cache": "^1.0.0", "resolve": "^1.1.7" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "postcss": "^8.0.0" } }, - "postcss-js": { + "node_modules/postcss-js": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-js/-/postcss-js-4.0.1.tgz", "integrity": "sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==", "dev": true, "peer": true, - "requires": { + "dependencies": { "camelcase-css": "^2.0.1" + }, + "engines": { + "node": "^12 || ^14 || >= 16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.4.21" } }, - "postcss-load-config": { + "node_modules/postcss-load-config": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-4.0.1.tgz", "integrity": "sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==", "dev": true, "peer": true, - "requires": { + "dependencies": { "lilconfig": "^2.0.5", "yaml": "^2.1.1" + }, + "engines": { + "node": ">= 14" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } } }, - "postcss-nested": { + "node_modules/postcss-nested": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.0.1.tgz", "integrity": "sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==", "dev": true, "peer": true, - "requires": { + "dependencies": { "postcss-selector-parser": "^6.0.11" + }, + "engines": { + "node": ">=12.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.13", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", + "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "dev": true, + "peer": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true, + "peer": true + }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/punycode": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.0.tgz", + "integrity": "sha512-rRV+zQD8tVFys26lAGR9WUuS4iUAngJScM+ZRSKtvl5tKeZ2t5bvdNFdNHBW9FWR4guGHlgmsZ1G7BSm2wTbuA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/read-cache": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", + "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "dev": true, + "peer": true, + "dependencies": { + "pify": "^2.3.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "peer": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/resolve": { + "version": "1.22.6", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.6.tgz", + "integrity": "sha512-njhxM7mV12JfufShqGy3Rz8j11RPdLy4xi15UurGJeoHLfJpVXKdh3ueuOqbYUcDZnffr6X739JBo5LzyahEsw==", + "dev": true, + "peer": true, + "dependencies": { + "is-core-module": "^2.13.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rimraf": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.7.1.tgz", + "integrity": "sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" } }, - "postcss-selector-parser": { - "version": "6.0.13", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.13.tgz", - "integrity": "sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==", + "node_modules/sander": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/sander/-/sander-0.5.1.tgz", + "integrity": "sha512-3lVqBir7WuKDHGrKRDn/1Ye3kwpXaDOMsiRP1wd6wpZW56gJhsbp5RqQpA6JG/P+pkXizygnr1dKR8vzWaVsfA==", "dev": true, - "peer": true, - "requires": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" + "dependencies": { + "es6-promise": "^3.1.2", + "graceful-fs": "^4.1.3", + "mkdirp": "^0.5.1", + "rimraf": "^2.5.2" } }, - "postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true, - "peer": true - }, - "queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "peer": true + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } }, - "read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==", + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", "dev": true, - "peer": true, - "requires": { - "pify": "^2.3.0" + "engines": { + "node": ">=8" } }, - "readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "node_modules/sorcery": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/sorcery/-/sorcery-0.11.0.tgz", + "integrity": "sha512-J69LQ22xrQB1cIFJhPfgtLuI6BpWRiWu1Y3vSsIwK/eAScqJxd/+CJlUuHQRdX2C9NGFamq+KqNywGgaThwfHw==", "dev": true, - "peer": true, - "requires": { - "picomatch": "^2.2.1" + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.14", + "buffer-crc32": "^0.2.5", + "minimist": "^1.2.0", + "sander": "^0.5.0" + }, + "bin": { + "sorcery": "bin/sorcery" } }, - "resolve": { - "version": "1.22.2", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", - "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", "dev": true, - "peer": true, - "requires": { - "is-core-module": "^2.11.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" + "engines": { + "node": ">=0.10.0" } }, - "reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "node_modules/state-local": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/state-local/-/state-local-1.0.7.tgz", + "integrity": "sha512-HTEHMNieakEnoe33shBYcZ7NX83ACUjCu8c40iOGEZsngj9zRnkqS9j1pqQPXwobB0ZcVTk27REb7COQ0UR59w==" + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "peer": true + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } }, - "run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "node_modules/strip-indent": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-indent/-/strip-indent-3.0.0.tgz", + "integrity": "sha512-laJTa3Jb+VQpaC6DseHhF7dXVqHTfJPCRDaEbid/drOhgitgYku/letMUqOXFoWV0zIIUbjpdH2t+tYj4bQMRQ==", "dev": true, - "peer": true, - "requires": { - "queue-microtask": "^1.2.2" + "dependencies": { + "min-indent": "^1.0.0" + }, + "engines": { + "node": ">=8" } }, - "source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", "dev": true, - "peer": true + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "sucrase": { + "node_modules/sucrase": { "version": "3.34.0", "resolved": "https://registry.npmjs.org/sucrase/-/sucrase-3.34.0.tgz", "integrity": "sha512-70/LQEZ07TEcxiU2dz51FKaE6hCTWC6vr7FOk3Gr0U60C3shtAN+H+BFr9XlYe5xqf3RA8nrc+VIwzCfnxuXJw==", "dev": true, "peer": true, - "requires": { + "dependencies": { "@jridgewell/gen-mapping": "^0.3.2", "commander": "^4.0.0", "glob": "7.1.6", @@ -1761,22 +2446,166 @@ "mz": "^2.7.0", "pirates": "^4.0.1", "ts-interface-checker": "^0.1.9" + }, + "bin": { + "sucrase": "bin/sucrase", + "sucrase-node": "bin/sucrase-node" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/sucrase/node_modules/glob": { + "version": "7.1.6", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", + "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", + "dev": true, + "peer": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "supports-preserve-symlinks-flag": { + "node_modules/supports-preserve-symlinks-flag": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, - "peer": true + "peer": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svelte": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.1.tgz", + "integrity": "sha512-LpLqY2Jr7cRxkrTc796/AaaoMLF/1ax7cto8Ot76wrvKQhrPmZ0JgajiWPmg9mTSDqO16SSLiD17r9MsvAPTmw==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.1", + "@jridgewell/sourcemap-codec": "^1.4.15", + "@jridgewell/trace-mapping": "^0.3.18", + "acorn": "^8.9.0", + "aria-query": "^5.3.0", + "axobject-query": "^3.2.1", + "code-red": "^1.0.3", + "css-tree": "^2.3.1", + "estree-walker": "^3.0.3", + "is-reference": "^3.0.1", + "locate-character": "^3.0.0", + "magic-string": "^0.30.0", + "periscopic": "^3.1.0" + }, + "engines": { + "node": ">=16" + } + }, + "node_modules/svelte-preprocess": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-5.0.4.tgz", + "integrity": "sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@types/pug": "^2.0.6", + "detect-indent": "^6.1.0", + "magic-string": "^0.27.0", + "sorcery": "^0.11.0", + "strip-indent": "^3.0.0" + }, + "engines": { + "node": ">= 14.10.0" + }, + "peerDependencies": { + "@babel/core": "^7.10.2", + "coffeescript": "^2.5.1", + "less": "^3.11.3 || ^4.0.0", + "postcss": "^7 || ^8", + "postcss-load-config": "^2.1.0 || ^3.0.0 || ^4.0.0", + "pug": "^3.0.0", + "sass": "^1.26.8", + "stylus": "^0.55.0", + "sugarss": "^2.0.0 || ^3.0.0 || ^4.0.0", + "svelte": "^3.23.0 || ^4.0.0-next.0 || ^4.0.0", + "typescript": ">=3.9.5 || ^4.0.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "@babel/core": { + "optional": true + }, + "coffeescript": { + "optional": true + }, + "less": { + "optional": true + }, + "postcss": { + "optional": true + }, + "postcss-load-config": { + "optional": true + }, + "pug": { + "optional": true + }, + "sass": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "typescript": { + "optional": true + } + } + }, + "node_modules/svelte-preprocess/node_modules/magic-string": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", + "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } }, - "tailwindcss": { + "node_modules/tailwindcss": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", "integrity": "sha512-A0KgSkef7eE4Mf+nKJ83i75TMyq8HqY3qmFIJSWy8bNt0v1lG7jUcpGpoTFxAwYcWOphcTBLPPJg+bDfhDf52w==", "dev": true, "peer": true, - "requires": { + "dependencies": { "@alloc/quick-lru": "^5.2.0", "arg": "^5.0.2", "chokidar": "^3.5.3", @@ -1799,65 +2628,171 @@ "postcss-selector-parser": "^6.0.11", "resolve": "^1.22.2", "sucrase": "^3.32.0" + }, + "bin": { + "tailwind": "lib/cli.js", + "tailwindcss": "lib/cli.js" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/tailwindcss/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, + "peer": true, + "dependencies": { + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" } }, - "thenify": { + "node_modules/text-table": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", + "integrity": "sha512-N+8UisAXDGk8PFXP4HAzVR9nbfmVJ3zYLAWiTIoqC5v5isinhr+r5uaO8+7r3BMfuNIufIsA7RdpVgacC2cSpw==", + "dev": true + }, + "node_modules/thenify": { "version": "3.3.1", "resolved": "https://registry.npmjs.org/thenify/-/thenify-3.3.1.tgz", "integrity": "sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==", "dev": true, "peer": true, - "requires": { + "dependencies": { "any-promise": "^1.0.0" } }, - "thenify-all": { + "node_modules/thenify-all": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/thenify-all/-/thenify-all-1.6.0.tgz", "integrity": "sha512-RNxQH/qI8/t3thXJDwcstUO4zeqo64+Uy/+sNVRBx4Xn2OX+OZ9oP+iJnNFqplFra2ZUVeKCSa2oVWi3T4uVmA==", "dev": true, "peer": true, - "requires": { + "dependencies": { "thenify": ">= 3.1.0 < 4" + }, + "engines": { + "node": ">=0.8" } }, - "to-regex-range": { + "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "peer": true, - "requires": { + "dependencies": { "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "ts-interface-checker": { + "node_modules/ts-interface-checker": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/ts-interface-checker/-/ts-interface-checker-0.1.13.tgz", "integrity": "sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==", "dev": true, "peer": true }, - "util-deprecate": { + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.2.2.tgz", + "integrity": "sha512-mI4WrpHsbCIcwT9cF4FZvr80QUeKvsUsUvKDoR+X/7XHQH98xYD8YHZg7ANtz2GtZt/CBq2QJ0thkGJMHfqc1w==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", "dev": true, "peer": true }, - "wrappy": { + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", + "dev": true + }, + "node_modules/yaml": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.2.tgz", + "integrity": "sha512-N/lyzTPaJasoDmfV7YTrYCI0G/3ivm/9wdG0aHuheKowWQwGTsK0Eoiw6utmzAnI6pkJa0DUVygvp3spqqEKXg==", "dev": true, - "peer": true + "peer": true, + "engines": { + "node": ">= 14" + } }, - "yaml": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-2.3.1.tgz", - "integrity": "sha512-2eHWfjaoXgTBC2jNM1LRef62VQa0umtvRiDSk6HSzW7RvS5YtkabJrwYLLEKWBc8a5U2PTSCs+dJjUTJdlHsWQ==", + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", "dev": true, - "peer": true + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } } } } diff --git a/assets/package.json b/assets/package.json index dd03424f..10b3c3fd 100644 --- a/assets/package.json +++ b/assets/package.json @@ -1,6 +1,26 @@ { "private": true, + "scripts": { + "format": "prettier --write .", + "format-check": "prettier --check ." + }, "devDependencies": { - "@tailwindcss/container-queries": "^0.1.1" + "@tailwindcss/container-queries": "^0.1.1", + "esbuild": "^0.16.17", + "esbuild-plugin-import-glob": "^0.1.1", + "esbuild-svelte": "^0.8.0", + "eslint": "^8.40.0", + "eslint-config-prettier": "^8.8.0", + "prettier": "^2.8.8", + "svelte": "^4.2.1", + "svelte-preprocess": "^5.0.4", + "typescript": "^5.2.2" + }, + "dependencies": { + "@monaco-editor/loader": "^1.4.0", + "live_svelte": "file:../deps/live_svelte", + "phoenix": "file:../deps/phoenix", + "phoenix_html": "file:../deps/phoenix_html", + "phoenix_live_view": "file:../deps/phoenix_live_view" } } diff --git a/assets/svelte/components/Backdrop.svelte b/assets/svelte/components/Backdrop.svelte new file mode 100644 index 00000000..c8658e48 --- /dev/null +++ b/assets/svelte/components/Backdrop.svelte @@ -0,0 +1,10 @@ + + +{#if $backdropVisible} +
+{/if} diff --git a/assets/svelte/components/BrowserFrame.svelte b/assets/svelte/components/BrowserFrame.svelte new file mode 100644 index 00000000..35a371a3 --- /dev/null +++ b/assets/svelte/components/BrowserFrame.svelte @@ -0,0 +1,31 @@ + +
+
+
+ + + +
+
+
+ {getPageName(page)} +
+
+
+ D | T | P +
+
+ +
\ No newline at end of file diff --git a/assets/svelte/components/CodeEditor.svelte b/assets/svelte/components/CodeEditor.svelte new file mode 100644 index 00000000..4194f41f --- /dev/null +++ b/assets/svelte/components/CodeEditor.svelte @@ -0,0 +1,41 @@ + + +
\ No newline at end of file diff --git a/assets/svelte/components/ComponentsSidebar.svelte b/assets/svelte/components/ComponentsSidebar.svelte new file mode 100644 index 00000000..8416ac09 --- /dev/null +++ b/assets/svelte/components/ComponentsSidebar.svelte @@ -0,0 +1,120 @@ + + + + + +{#if showExamples} +
+{/if} +
+

{sectionTitles[$currentComponentCategory?.name]}

+

Select a component 👇 and drag it to the canvas 👉

+ {#if currentDefinitions} + {#each currentDefinitions as example} +
dragStart(example, e)} + on:dragend={dragEnd} + class="pt-6" + data-test-id="component-preview-card"> + {example.name} +
+ {/each} + {/if} +
+ + \ No newline at end of file diff --git a/assets/svelte/components/LayoutAstNode.svelte b/assets/svelte/components/LayoutAstNode.svelte new file mode 100644 index 00000000..83f424ce --- /dev/null +++ b/assets/svelte/components/LayoutAstNode.svelte @@ -0,0 +1,27 @@ + + +{#if isAstElement(node)} + {#if node.tag === 'html_comment'} + {@html ""} + {:else if node.tag === 'eex_comment'} + {@html ""} + {:else if node.tag === 'eex' && node.content[0] === '@inner_content'} + + {:else if node.rendered_html} + {@html node.rendered_html} + {:else if node.attrs.selfClose} + + {:else} + + {#each node.content as subnode, index} + + {/each} + + {/if} +{:else} + {node} +{/if} diff --git a/assets/svelte/components/PageAstNode.svelte b/assets/svelte/components/PageAstNode.svelte new file mode 100644 index 00000000..4c2ac620 --- /dev/null +++ b/assets/svelte/components/PageAstNode.svelte @@ -0,0 +1,109 @@ + + +{#if isAstElement(node)} + {#if node.tag === 'html_comment'} + {@html ""} + {:else if node.tag === 'eex_comment'} + {@html ""} + {:else if node.tag === 'eex' && node.content[0] === '@inner_content'} + + {:else if node.rendered_html} +
$selectedAstElementId = nodeId} + use:highlightContent={{selected: $selectedAstElement === node, highlighted: $highlightedAstElement === node}} + >{@html node.rendered_html}
+ {:else if node.attrs.selfClose} + + {:else} + $selectedAstElementId = nodeId}> + {#each node.content as subnode, index} + + {/each} + + {/if} +{:else} + {node} +{/if} diff --git a/assets/svelte/components/PagePreview.svelte b/assets/svelte/components/PagePreview.svelte new file mode 100644 index 00000000..608756fe --- /dev/null +++ b/assets/svelte/components/PagePreview.svelte @@ -0,0 +1,90 @@ + + +
+ +
+
+ {#each $page.layout.ast as layoutAstNode} + + {#each $page.ast as astNode, index} + + {/each} + + {/each} +
+
+
+
+ + diff --git a/assets/svelte/components/Pill.svelte b/assets/svelte/components/Pill.svelte new file mode 100644 index 00000000..0c2f6cb5 --- /dev/null +++ b/assets/svelte/components/Pill.svelte @@ -0,0 +1,12 @@ + + + + + + \ No newline at end of file diff --git a/assets/svelte/components/PropertiesSidebar.svelte b/assets/svelte/components/PropertiesSidebar.svelte new file mode 100644 index 00000000..91f4d9ee --- /dev/null +++ b/assets/svelte/components/PropertiesSidebar.svelte @@ -0,0 +1,186 @@ + + +
+
+ {#if $selectedAstElement} +
+ {sidebarTitle} + {#if !isRootNode} + + {/if} + +
+ {#if attributesEditable} + + Classes + + {#each classList as className} + deleteClass(className)}>{className} + {/each} + + + {#each editableAttrs as entry (entry)} + {@const [name, value] = entry} + updateAttribute(name, e)} placeholder="Set {name}"> + {name} + + {/each} + {/if} + +
+ {#if $draggedObject && $draggedObject.category === "basic"} +
isDraggingOver = false} + > +
+ Drop components here +
+
+ {/if} + {#if $selectedAstElement.content.length > 0} + updateText(e)} + on:nodesChange={changeNodes}> + Content + + {/if} +
+ + + Delete + + + + + {:else} +
+ Select a component to edit its properties +
+ {/if} +
+
\ No newline at end of file diff --git a/assets/svelte/components/SidebarSection.svelte b/assets/svelte/components/SidebarSection.svelte new file mode 100644 index 00000000..8baace00 --- /dev/null +++ b/assets/svelte/components/SidebarSection.svelte @@ -0,0 +1,134 @@ + + +
+
+ + + +
+ {#if $$slots['value']} + + + +
+ {:else} + {#if expanded} + + {#if internalValue} + {#if large} + + + {:else} + + {/if} + {#if $$slots['value']} +
+ {/if} + {:else if astElements} + {#each astElements as astElement, idx} +

highlightAstElement(astElement)} on:mouseleave={() => unhighlightAstElement()}> + <{astElement.tag}> Element + + + +

+ {/each} + {/if} +
+ {/if} + {/if} +
\ No newline at end of file diff --git a/assets/svelte/components/UiBuilder.svelte b/assets/svelte/components/UiBuilder.svelte new file mode 100644 index 00000000..aff4f2d8 --- /dev/null +++ b/assets/svelte/components/UiBuilder.svelte @@ -0,0 +1,30 @@ + + +
+ + + + + + + + addBasicComponentToTarget(e.detail)}/> +
\ No newline at end of file diff --git a/assets/svelte/stores/currentComponentCategory.ts b/assets/svelte/stores/currentComponentCategory.ts new file mode 100644 index 00000000..91450608 --- /dev/null +++ b/assets/svelte/stores/currentComponentCategory.ts @@ -0,0 +1,5 @@ +import { writable } from 'svelte/store'; +import type { Writable } from 'svelte/store'; +import type { ComponentCategory } from '../types'; + +export const currentComponentCategory: Writable = writable(null) diff --git a/assets/svelte/stores/dragAndDrop.ts b/assets/svelte/stores/dragAndDrop.ts new file mode 100644 index 00000000..e17c6499 --- /dev/null +++ b/assets/svelte/stores/dragAndDrop.ts @@ -0,0 +1,6 @@ +import { writable } from 'svelte/store'; +import type { Writable } from 'svelte/store'; +import type { ComponentDefinition } from '../types'; + + +export const draggedObject: Writable = writable(null) diff --git a/assets/svelte/stores/page.ts b/assets/svelte/stores/page.ts new file mode 100644 index 00000000..accaaf21 --- /dev/null +++ b/assets/svelte/stores/page.ts @@ -0,0 +1,53 @@ +import { writable, derived, get } from 'svelte/store'; +import type { Writable, Readable } from 'svelte/store'; +import type { AstElement, AstNode, Page } from '$lib/types'; + +export const page: Writable = writable(); +export const selectedAstElementId: Writable = writable(); +// export const highlightedAstElementId: Writable = writable(); +export const highlightedAstElement: Writable = writable(); +export const slotTargetElement: Writable = writable(); + +export const rootAstElement: Readable = derived([page], ([$page]) => { + // This is a virtual AstElement intended to simulate the page itself to reorder the components at the first level. + return { tag: 'root', attrs: {}, content: $page.ast }; +}); +export const selectedAstElement: Readable = derived([page, selectedAstElementId], ([$page, $selectedAstElementId]) => { + if ($selectedAstElementId) { + if ($selectedAstElementId === 'root') return get(rootAstElement); + return findAstElement($page.ast, $selectedAstElementId); + } +}); + +export function isAstElement(maybeNode: AstNode): maybeNode is AstElement { + return typeof maybeNode !== 'string'; +} + +export function findAstElement(ast: AstNode[], id: string): AstElement { + let indexes = id.split(".").map(s => parseInt(s, 10)); + let node: AstNode = ast[indexes[0]] as AstElement + ast = node.content; + for(let i = 1; i < indexes.length; i++) { + node = ast[indexes[i]] as AstElement; + ast = node.content; + } + return node; +} +export function findAstElementId(astNode: AstNode): string | undefined { + let $page = get(page); + return _findAstElementId($page.ast, astNode, ""); +} + +export function _findAstElementId(ast: AstNode[], astNode: AstNode, id: string): string | undefined { + for(let i = 0; i < ast.length; i++) { + let currentNode = ast[i]; + if (currentNode === astNode) { + return id + i; + } else if (isAstElement(currentNode)) { + let result = _findAstElementId(currentNode.content, astNode, id + i + "."); + if (result) { + return result; + } + } + } +} diff --git a/assets/svelte/types.ts b/assets/svelte/types.ts new file mode 100644 index 00000000..bc250ad6 --- /dev/null +++ b/assets/svelte/types.ts @@ -0,0 +1,89 @@ +export type AstNode = AstElement | string; +export interface AstElement { + tag: string; + attrs: Record, + content: AstNode[], + rendered_html?: string +} + +export enum ComponentCategoryId { + navigations ='nav', + headers = 'header', + signup = 'sign_up', + stats = 'stats', + footers = 'footer', + signin = 'sign_in', + basics = 'basic' +} + +export enum ComponentDefinitionId { + nav_1 = 'nav_1', + nav_2 = 'nav_2', + nav_3 = 'nav_3', + nav_4 = 'nav_4', + header_1 = 'header_1', + header_2 = 'header_2', + header_3 = 'header_3', + signup_1 = 'signup_1', + signup_2 = 'signup_2', + signup_3 = 'signup_3', + stats_1 = 'stats_1', + stats_2 = 'stats_2', + stats_3 = 'stats_3', + footer_1 = 'footer_1', + footer_2 = 'footer_2', + footer_3 = 'footer_3', + signin_1 = 'signin_1', + signin_2 = 'signin_2', + signin_3 = 'signin_3', + title = 'title', + button = 'button', + link = 'link', + paragraph = 'paragraph', + aside = 'aside' +} +export interface ComponentCategory { + id: ComponentCategoryId; + name: string; +} + +export interface MenuCategory { + name: string; + items: ComponentCategory[] +} + +export interface ComponentDefinition { + id: ComponentDefinitionId; + category: ComponentCategoryId; + name: string; + thumbnail: string +} + +export interface Component { + definitionId: ComponentDefinitionId; + attributes: { + id: string; + class: string[]; + href?: string; + }; + slot?: boolean, + content: (string | Component)[] +} +export interface RootComponent extends Component { + pageId: string; + rendered_html: string | null +} + +export interface Layout { + ast: AstNode[] +} +export interface Page { + id: string; + path: string; + template: string; + site: string; + layoutId: string; + layout: Layout + components: RootComponent[] + ast: AstNode[] +} \ No newline at end of file diff --git a/assets/svelte/utils/animations.ts b/assets/svelte/utils/animations.ts new file mode 100644 index 00000000..002f761c --- /dev/null +++ b/assets/svelte/utils/animations.ts @@ -0,0 +1,7 @@ +export function translate(_node: HTMLElement, { delay = 0, duration = 300, x = 0, y = 0 }) { + return { + delay, + duration, + css: (t: number) => `transform: translate(${x * t}px, ${y * t}px)` + }; +} \ No newline at end of file diff --git a/assets/tailwind.config.js b/assets/tailwind.config.js index fec1e1d7..f016c2b8 100644 --- a/assets/tailwind.config.js +++ b/assets/tailwind.config.js @@ -5,7 +5,7 @@ // See the Tailwind configuration guide for advanced usage // https://tailwindcss.com/docs/configuration // const colors = require('tailwindcss/colors') -const defaultTheme = require('tailwindcss/defaultTheme') +const defaultTheme = require("tailwindcss/defaultTheme") const plugin = require("tailwindcss/plugin") const fs = require("fs") @@ -14,7 +14,8 @@ const path = require("path") module.exports = { content: [ "./js/**/*.js", - "../lib/beacon/live_admin/**/*.*ex" + "../lib/beacon/live_admin/**/*.*ex", + "./svelte/**/*.svelte", ], theme: { extend: { @@ -22,55 +23,82 @@ module.exports = { brand: "#FD4F00", }, fontFamily: { - sans: ["Plus Jakarta Sans", 'sans-serif', ...defaultTheme.fontFamily.sans], + sans: [ + "Plus Jakarta Sans", + "sans-serif", + ...defaultTheme.fontFamily.sans, + ], }, }, }, plugins: [ require("@tailwindcss/forms"), - require('@tailwindcss/container-queries'), + require("@tailwindcss/container-queries"), // Allows prefixing tailwind classes with LiveView classes to add rules // only when LiveView classes are applied, for example: // //
// - plugin(({ addVariant }) => addVariant("phx-no-feedback", [".phx-no-feedback&", ".phx-no-feedback &"])), - plugin(({ addVariant }) => addVariant("phx-click-loading", [".phx-click-loading&", ".phx-click-loading &"])), - plugin(({ addVariant }) => addVariant("phx-submit-loading", [".phx-submit-loading&", ".phx-submit-loading &"])), - plugin(({ addVariant }) => addVariant("phx-change-loading", [".phx-change-loading&", ".phx-change-loading &"])), + plugin(({ addVariant }) => + addVariant("phx-no-feedback", [".phx-no-feedback&", ".phx-no-feedback &"]) + ), + plugin(({ addVariant }) => + addVariant("phx-click-loading", [ + ".phx-click-loading&", + ".phx-click-loading &", + ]) + ), + plugin(({ addVariant }) => + addVariant("phx-submit-loading", [ + ".phx-submit-loading&", + ".phx-submit-loading &", + ]) + ), + plugin(({ addVariant }) => + addVariant("phx-change-loading", [ + ".phx-change-loading&", + ".phx-change-loading &", + ]) + ), // Embeds Hero Icons (https://heroicons.com) into your app.css bundle // See your `CoreComponents.icon/1` for more information. // - plugin(function({ matchComponents, theme }) { + plugin(function ({ matchComponents, theme }) { let iconsDir = path.join(__dirname, "./vendor/heroicons/optimized") let values = {} let icons = [ ["", "/24/outline"], ["-solid", "/24/solid"], - ["-mini", "/20/solid"] + ["-mini", "/20/solid"], ] icons.forEach(([suffix, dir]) => { - fs.readdirSync(path.join(iconsDir, dir)).map(file => { + fs.readdirSync(path.join(iconsDir, dir)).map((file) => { let name = path.basename(file, ".svg") + suffix values[name] = { name, fullPath: path.join(iconsDir, dir, file) } }) }) - matchComponents({ - "hero": ({ name, fullPath }) => { - let content = fs.readFileSync(fullPath).toString().replace(/\r?\n|\r/g, "") - return { - [`--hero-${name}`]: `url('data:image/svg+xml;utf8,${content}')`, - "-webkit-mask": `var(--hero-${name})`, - "mask": `var(--hero-${name})`, - "background-color": "currentColor", - "vertical-align": "middle", - "display": "inline-block", - "width": theme("spacing.5"), - "height": theme("spacing.5") - } - } - }, { values }) - }) - ] + matchComponents( + { + hero: ({ name, fullPath }) => { + let content = fs + .readFileSync(fullPath) + .toString() + .replace(/\r?\n|\r/g, "") + return { + [`--hero-${name}`]: `url('data:image/svg+xml;utf8,${content}')`, + "-webkit-mask": `var(--hero-${name})`, + mask: `var(--hero-${name})`, + "background-color": "currentColor", + "vertical-align": "middle", + display: "inline-block", + width: theme("spacing.5"), + height: theme("spacing.5"), + } + }, + }, + { values } + ) + }), + ], } diff --git a/assets/tsconfig.json b/assets/tsconfig.json new file mode 100644 index 00000000..2e2f98f2 --- /dev/null +++ b/assets/tsconfig.json @@ -0,0 +1,10 @@ +{ + "compilerOptions": { + "types": ["node"], + "baseUrl": ".", + "paths": { + "$lib": ["svelte"], + "$lib/*": ["svelte/*"] + } + } +} diff --git a/config/config.exs b/config/config.exs index b155d528..b2fa667b 100644 --- a/config/config.exs +++ b/config/config.exs @@ -7,32 +7,6 @@ config :logger, :console, config :phoenix, :json_library, Jason if Mix.env() == :dev do - esbuild = fn args -> - [ - args: ~w( - ./js/beacon_live_admin.js - --bundle - --sourcemap - --loader:.ttf=dataurl - --loader:.woff=dataurl - --loader:.woff2=dataurl - ) ++ args, - cd: Path.expand("../assets", __DIR__), - env: %{"NODE_PATH" => Path.expand("../deps", __DIR__)} - ] - end - - config :esbuild, - version: "0.17.18", - cdn: - esbuild.( - ~w(--format=iife --target=es2016 --global-name=BeaconLiveAdmin --outfile=../priv/static/beacon_live_admin.js) - ), - cdn_min: - esbuild.( - ~w(--format=iife --target=es2016 --global-name=BeaconLiveAdmin --minify --outfile=../priv/static/beacon_live_admin.min.js) - ) - config :tailwind, version: "3.3.3", default: [ diff --git a/dev.exs b/dev.exs index 2229145b..840f4128 100644 --- a/dev.exs +++ b/dev.exs @@ -19,8 +19,9 @@ Application.put_env(:beacon_live_admin, DemoWeb.Endpoint, check_origin: false, pubsub_server: Demo.PubSub, watchers: [ - esbuild: {Esbuild, :install_and_run, [:cdn_min, ~w(--watch)]}, - tailwind: {Tailwind, :install_and_run, [:default, ~w(--watch)]} + # esbuild: {Esbuild, :install_and_run, [:cdn_min, ~w(--watch)]}, + tailwind: {Tailwind, :install_and_run, [:default, ~w(--watch)]}, + node: ["build.js", "--watch", cd: Path.expand("./assets", __DIR__)] ], live_reload: [ patterns: [ diff --git a/lib/beacon/live_admin/components/layouts/admin.html.heex b/lib/beacon/live_admin/components/layouts/admin.html.heex index 06957b8e..7d68ac8d 100644 --- a/lib/beacon/live_admin/components/layouts/admin.html.heex +++ b/lib/beacon/live_admin/components/layouts/admin.html.heex @@ -6,6 +6,7 @@ <%= assigns[:page_title] || "Beacon LiveAdmin" %> + diff --git a/lib/beacon/live_admin/controllers/assets_controller.ex b/lib/beacon/live_admin/controllers/assets_controller.ex index 5741e320..6a16c23f 100644 --- a/lib/beacon/live_admin/controllers/assets_controller.ex +++ b/lib/beacon/live_admin/controllers/assets_controller.ex @@ -13,7 +13,7 @@ defmodule Beacon.LiveAdmin.AssetsController do @external_resource css_path @css File.read!(css_path) - js_path = Path.join(__DIR__, "../../../../priv/static/beacon_live_admin.min.js") + js_path = Path.join(__DIR__, "../../../../priv/static/beacon_live_admin.js") @external_resource js_path @js """ diff --git a/lib/beacon/live_admin/live/page_editor_live/edit.ex b/lib/beacon/live_admin/live/page_editor_live/edit.ex index 4cfd9341..131d4c50 100644 --- a/lib/beacon/live_admin/live/page_editor_live/edit.ex +++ b/lib/beacon/live_admin/live/page_editor_live/edit.ex @@ -1,8 +1,11 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do @moduledoc false + require Logger + require IEx use Beacon.LiveAdmin.PageBuilder alias Beacon.LiveAdmin.Content + alias Beacon.LiveAdmin.WebAPI @impl true def menu_link("/pages", :edit), do: {:submenu, "Pages"} @@ -10,13 +13,26 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do @impl true def mount(_params, _session, socket) do - {:ok, assign(socket, page: nil)} + components = Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) + {:ok, assign(socket, page: nil, visual_mode: true, components: components)} end @impl true def handle_params(%{"id" => id}, _url, socket) do - page = Content.get_page(socket.assigns.beacon_page.site, id) - {:noreply, assign(socket, page_title: "Edit Page", page: page)} + page = Content.get_page(socket.assigns.beacon_page.site, id, preloads: [:layout]) + + %{data: components} = + BeaconWeb.API.ComponentJSON.index(%{ + components: Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) + }) + + {:noreply, + assign(socket, + page_title: "Edit Page", + page: page, + visual_mode: false, + components: components + )} end @impl true @@ -29,6 +45,35 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do {:noreply, socket} end + @impl true + def handle_event("enable_visual_mode", _args, socket) do + {:noreply, assign(socket, visual_mode: true)} + end + + @impl true + def handle_event("disable_visual_mode", _args, socket) do + {:noreply, assign(socket, visual_mode: false)} + end + + @impl true + def handle_event("render_component_in_page", %{ "component_id" => component_id, "page_id" => page_id }, socket) do + page = Content.get_page(socket.assigns.beacon_page.site, page_id) + component = Content.get_component(socket.assigns.beacon_page.site, component_id) + %{data: %{ ast: ast } } = WebAPI.Component.show_ast(socket.assigns.beacon_page.site, component, page) + {:reply, %{ "ast" => ast }, socket} + end + + def handle_event("update_page_ast", %{ "id" => id, "ast" => ast }, socket) do + page = Content.get_page(socket.assigns.beacon_page.site, id, preloads: [:layout]) + + case Content.update_page(socket.assigns.beacon_page.site, page, %{ "ast" => ast }) do + {:ok, page} -> + {:noreply, assign(socket, :page, page)} + {:error, changeset} -> + throw("How should we handle this?") + end + end + @impl true def render(assigns) do ~H""" @@ -38,6 +83,8 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do site={@beacon_page.site} page_title={@page_title} live_action={@live_action} + visual_mode={@visual_mode} + components={@components} page={@page} patch="/pages" /> diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index c23400ff..53a8809d 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -3,11 +3,16 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do alias Beacon.LiveAdmin.Config alias Beacon.LiveAdmin.Content + alias Beacon.LiveAdmin.WebAPI @impl true def update(%{site: site, page: page} = assigns, socket) do + # FIXME: new pages + page = Map.put_new(page, :path, "/") + changeset = Content.change_page(site, page) layouts = Content.list_layouts(site) + %{data: builder_page} = WebAPI.Page.show(site, page) {:ok, socket @@ -15,6 +20,8 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do |> assign_form(changeset) |> assign(:layouts, layouts) |> assign(:language, language(page.format)) + |> assign(:template, page.template) + |> assign(:changed_template, page.template) |> assign_extra_fields(changeset)} end @@ -122,6 +129,8 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do <%= @page_title %> <:actions> <.button :if={@live_action == :new} phx-disable-with="Saving..." form="page-form" class="uppercase">Create Draft Page + <.button :if={@live_action == :edit && !@visual_mode} phx-click="enable_visual_mode" form="page-form" class="uppercase">Visual Editor + <.button :if={@live_action == :edit && @visual_mode} phx-click="disable_visual_mode" form="page-form" class="uppercase">Code Editor <.button :if={@live_action == :edit} phx-disable-with="Saving..." form="page-form" class="uppercase">Save Changes <.button :if={@live_action == :edit} phx-click={show_modal("publish-confirm-modal")} phx-target={@myself} class="uppercase">Publish @@ -161,7 +170,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do <.input field={f[:description]} type="textarea" label="Description" /> <.input field={f[:layout_id]} type="select" options={layouts_to_options(@layouts)} label="Layout" /> <.input field={f[:format]} type="select" label="Format" options={template_format_options(@site)} /> - + <%= for mod <- extra_page_fields(@site) do %> <%= extra_page_field(@site, @extra_fields, mod) %> @@ -171,13 +180,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do
<%= template_error(@form[:template]) %>
- @language})} - /> + @language})} />
diff --git a/lib/beacon/live_admin/page_builder.ex b/lib/beacon/live_admin/page_builder.ex index 0a6fe39b..31533edf 100644 --- a/lib/beacon/live_admin/page_builder.ex +++ b/lib/beacon/live_admin/page_builder.ex @@ -58,8 +58,6 @@ defmodule Beacon.LiveAdmin.PageBuilder do defmacro __using__(opts) do quote location: :keep, bind_quoted: [opts: opts] do use Phoenix.Component - import Beacon.LiveAdmin.AdminComponents - import Beacon.LiveAdmin.Components, only: [template_error: 1] import Beacon.LiveAdmin.Router, only: [ @@ -70,6 +68,10 @@ defmodule Beacon.LiveAdmin.PageBuilder do ] import Phoenix.LiveView + import Beacon.LiveAdmin.AdminComponents + import Beacon.LiveAdmin.Components, only: [template_error: 1] + import LiveSvelte + alias Phoenix.LiveView.JS @behaviour Beacon.LiveAdmin.PageBuilder diff --git a/lib/beacon/live_admin/web.ex b/lib/beacon/live_admin/web.ex index abb22ddc..72809d52 100644 --- a/lib/beacon/live_admin/web.ex +++ b/lib/beacon/live_admin/web.ex @@ -62,6 +62,7 @@ defmodule Beacon.LiveAdmin.Web do import Beacon.LiveAdmin.AdminComponents import Beacon.LiveAdmin.Components, only: [template_error: 1] import Beacon.LiveAdmin.Gettext + import LiveSvelte import Beacon.LiveAdmin.Router, only: [ diff --git a/lib/beacon/live_admin/web_api/component.ex b/lib/beacon/live_admin/web_api/component.ex new file mode 100644 index 00000000..ddbf1fe4 --- /dev/null +++ b/lib/beacon/live_admin/web_api/component.ex @@ -0,0 +1,14 @@ +defmodule Beacon.LiveAdmin.WebAPI.Component do + @moduledoc """ + Calls Beacon Web API through the cluster. + """ + + import Beacon.LiveAdmin.Cluster, only: [call: 4] + + def show_ast(site, component, page) do + path = for segment <- String.split(page.path, "/"), segment != "", do: segment + # beacon_live_data = Beacon.DataSource.live_data(site, path, []) + beacon_live_data = call(site, Beacon.DataSource, :live_data, [site, path, []]) + call(site, BeaconWeb.API.ComponentJSON, :show_ast, [%{component: component, assigns: %{beacon_live_data: beacon_live_data}}]) + end +end diff --git a/lib/beacon/live_admin/web_api/page.ex b/lib/beacon/live_admin/web_api/page.ex new file mode 100644 index 00000000..665c5acd --- /dev/null +++ b/lib/beacon/live_admin/web_api/page.ex @@ -0,0 +1,11 @@ +defmodule Beacon.LiveAdmin.WebAPI.Page do + @moduledoc """ + Calls Beacon Web API through the cluster. + """ + + import Beacon.LiveAdmin.Cluster, only: [call: 4] + + def show(site, page) do + call(site, BeaconWeb.API.PageJSON, :show, [%{page: page}]) + end +end diff --git a/mix.exs b/mix.exs index 7c9a6e4d..f18bce31 100644 --- a/mix.exs +++ b/mix.exs @@ -40,12 +40,12 @@ defmodule Beacon.LiveAdmin.MixProject do {:phoenix_live_reload, "~> 1.2", only: :dev}, phoenix_live_view_dep(), {:floki, ">= 0.30.0", only: :test}, - {:esbuild, "~> 0.5", only: :dev}, {:tailwind, "~> 0.2"}, {:gettext, "~> 0.20"}, {:jason, "~> 1.0"}, {:plug_cowboy, "~> 2.5"}, - {:dialyxir, "~> 1.2", only: :dev, runtime: false} + {:dialyxir, "~> 1.2", only: :dev, runtime: false}, + {:live_svelte, "~> 0.12"} ] end @@ -81,15 +81,26 @@ defmodule Beacon.LiveAdmin.MixProject do defp aliases do [ - setup: ["deps.get", "assets.setup", "assets.build"], + setup: ["deps.get", "assets.setup", "assets.build", "cmd --cd assets npm install"], + "format.all": ["format", "cmd npm run format --prefix ./assets"], dev: "run --no-halt dev.exs", "assets.setup": [ "cmd npm install --prefix assets", - "tailwind.install --if-missing --no-assets", - "esbuild.install --if-missing" + "tailwind.install --if-missing --no-assets" + # "esbuild.install --if-missing" ], - "assets.build": ["tailwind default", "esbuild cdn", "esbuild cdn_min"], - "assets.deploy": ["tailwind default --minify", "esbuild default --minify", "phx.digest"] + "assets.build": [ + "tailwind default", + # "esbuild cdn", + # "esbuild cdn_min" + "cmd --cd assets node build.js" + ], + "assets.deploy": [ + "tailwind default --minify", + # "esbuild default --minify", + "cmd --cd assets node build.js --deploy", + "phx.digest" + ] ] end end diff --git a/mix.lock b/mix.lock index ff67215c..61685a52 100644 --- a/mix.lock +++ b/mix.lock @@ -13,7 +13,6 @@ "ecto_sql": {:hex, :ecto_sql, "3.10.1", "6ea6b3036a0b0ca94c2a02613fd9f742614b5cfe494c41af2e6571bb034dd94c", [:mix], [{:db_connection, "~> 2.4.1 or ~> 2.5", [hex: :db_connection, repo: "hexpm", optional: false]}, {:ecto, "~> 3.10.0", [hex: :ecto, repo: "hexpm", optional: false]}, {:myxql, "~> 0.6.0", [hex: :myxql, repo: "hexpm", optional: true]}, {:postgrex, "~> 0.16.0 or ~> 0.17.0 or ~> 1.0", [hex: :postgrex, repo: "hexpm", optional: true]}, {:tds, "~> 2.1.1 or ~> 2.2", [hex: :tds, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.0 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "f6a25bdbbd695f12c8171eaff0851fa4c8e72eec1e98c7364402dda9ce11c56b"}, "elixir_make": {:hex, :elixir_make, "0.7.7", "7128c60c2476019ed978210c245badf08b03dbec4f24d05790ef791da11aa17c", [:mix], [{:castore, "~> 0.1 or ~> 1.0", [hex: :castore, repo: "hexpm", optional: true]}], "hexpm", "5bc19fff950fad52bbe5f211b12db9ec82c6b34a9647da0c2224b8b8464c7e6c"}, "erlex": {:hex, :erlex, "0.2.6", "c7987d15e899c7a2f34f5420d2a2ea0d659682c06ac607572df55a43753aa12e", [:mix], [], "hexpm", "2ed2e25711feb44d52b17d2780eabf998452f6efda104877a3881c2f8c0c0c75"}, - "esbuild": {:hex, :esbuild, "0.7.1", "fa0947e8c3c3c2f86c9bf7e791a0a385007ccd42b86885e8e893bdb6631f5169", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}], "hexpm", "66661cdf70b1378ee4dc16573fcee67750b59761b2605a0207c267ab9d19f13c"}, "ex_aws": {:hex, :ex_aws, "2.4.3", "6c6d88ba7b9c07e3b0f4b70406d5fccb9f5358f5ef18138f7bd396f7863e8255", [:mix], [{:configparser_ex, "~> 4.0", [hex: :configparser_ex, repo: "hexpm", optional: true]}, {:hackney, "~> 1.16", [hex: :hackney, repo: "hexpm", optional: true]}, {:jason, "~> 1.1", [hex: :jason, repo: "hexpm", optional: true]}, {:jsx, "~> 2.8 or ~> 3.0", [hex: :jsx, repo: "hexpm", optional: true]}, {:mime, "~> 1.2 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:sweet_xml, "~> 0.7", [hex: :sweet_xml, repo: "hexpm", optional: true]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "67f61f8b6aec740150d483a21f551fabce26a481d9917305ed2bb47717007519"}, "ex_aws_s3": {:hex, :ex_aws_s3, "2.4.0", "ce8decb6b523381812798396bc0e3aaa62282e1b40520125d1f4eff4abdff0f4", [:mix], [{:ex_aws, "~> 2.0", [hex: :ex_aws, repo: "hexpm", optional: false]}, {:sweet_xml, ">= 0.0.0", [hex: :sweet_xml, repo: "hexpm", optional: true]}], "hexpm", "85dda6e27754d94582869d39cba3241d9ea60b6aa4167f9c88e309dc687e56bb"}, "ex_brotli": {:hex, :ex_brotli, "0.3.0", "69d5f3720df70d5c89d1395d8fbe49ba37466b626834aaf6d77c72e0c93cf975", [:mix], [{:phoenix, ">= 0.0.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:rustler, "~> 0.29", [hex: :rustler, repo: "hexpm", optional: true]}, {:rustler_precompiled, "~> 0.6", [hex: :rustler_precompiled, repo: "hexpm", optional: false]}], "hexpm", "8e46982f7d20069419ca8c8c54f9f3ebd9fa0e1d094c54cbf8ce3d636d84dfa7"}, @@ -25,10 +24,12 @@ "image": {:hex, :image, "0.34.0", "4bd8b5f6b0a979607e56a40996cf5509318b2de32acf6abb1f0c0ab2b48f5e65", [:mix], [{:bumblebee, "~> 0.2", [hex: :bumblebee, repo: "hexpm", optional: true]}, {:evision, "~> 0.1.26", [hex: :evision, repo: "hexpm", optional: true]}, {:exla, "~> 0.5", [hex: :exla, repo: "hexpm", optional: true]}, {:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: true]}, {:kino, "~> 0.7", [hex: :kino, repo: "hexpm", optional: true]}, {:nx, "~> 0.5", [hex: :nx, repo: "hexpm", optional: true]}, {:phoenix_html, "~> 2.14 or ~> 3.2", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:plug, "~> 1.13", [hex: :plug, repo: "hexpm", optional: true]}, {:sweet_xml, "~> 0.7", [hex: :sweet_xml, repo: "hexpm", optional: false]}, {:vix, "~> 0.17", [hex: :vix, repo: "hexpm", optional: false]}], "hexpm", "5277d1864bb3fd44db80f6a4f244cf5a5cc5106bdf030931524f59db7080bb9f"}, "jason": {:hex, :jason, "1.4.1", "af1504e35f629ddcdd6addb3513c3853991f694921b1b9368b0bd32beb9f1b63", [:mix], [{:decimal, "~> 1.0 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: true]}], "hexpm", "fbb01ecdfd565b56261302f7e1fcc27c4fb8f32d56eab74db621fc154604a7a1"}, "live_monaco_editor": {:hex, :live_monaco_editor, "0.1.7", "61920be8d9b1c2045015079ff80f58441235923e4d7f82a722f24ca4f14e8ce5", [:mix], [{:jason, "~> 1.4", [hex: :jason, repo: "hexpm", optional: false]}, {:phoenix, "~> 1.7", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_live_view, "~> 0.18", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}], "hexpm", "4debb6fb3bbb6036f62180d69b9b9ecf1ff5cc613706c9f575d40bb78b211751"}, + "live_svelte": {:hex, :live_svelte, "0.12.0", "95f894b36e149dc897e63000d8fa779577a1c4b882c0df08ea42587ac14aae98", [:mix], [{:jason, "~> 1.2", [hex: :jason, repo: "hexpm", optional: false]}, {:nodejs, "~> 2.0", [hex: :nodejs, repo: "hexpm", optional: false]}, {:phoenix, ">= 1.7.0", [hex: :phoenix, repo: "hexpm", optional: false]}, {:phoenix_html, ">= 3.3.1", [hex: :phoenix_html, repo: "hexpm", optional: false]}, {:phoenix_live_view, ">= 0.18.0", [hex: :phoenix_live_view, repo: "hexpm", optional: false]}], "hexpm", "4b86828187db41d832e35cda2b7f23efd2cfeba453525b4469b8c5709b0371e9"}, "mdex": {:hex, :mdex, "0.1.12", "bf56aa5dfc9b4bd51e98c38a7f57ae58c3a20f7b091287a121c1f5219b5d5824", [:mix], [{:rustler, "~> 0.29", [hex: :rustler, repo: "hexpm", optional: false]}, {:rustler_precompiled, "~> 0.6", [hex: :rustler_precompiled, repo: "hexpm", optional: false]}], "hexpm", "9a0151217cf27055753a747ee3d6aa10609eaa5299d6c82ce1445d32035abbea"}, "mime": {:hex, :mime, "2.0.5", "dc34c8efd439abe6ae0343edbb8556f4d63f178594894720607772a041b04b02", [:mix], [], "hexpm", "da0d64a365c45bc9935cc5c8a7fc5e49a0e0f9932a761c55d6c52b142780a05c"}, "mix_test_watch": {:hex, :mix_test_watch, "1.1.0", "330bb91c8ed271fe408c42d07e0773340a7938d8a0d281d57a14243eae9dc8c3", [:mix], [{:file_system, "~> 0.2.1 or ~> 0.3", [hex: :file_system, repo: "hexpm", optional: false]}], "hexpm", "52b6b1c476cbb70fd899ca5394506482f12e5f6b0d6acff9df95c7f1e0812ec3"}, "nimble_parsec": {:hex, :nimble_parsec, "1.3.1", "2c54013ecf170e249e9291ed0a62e5832f70a476c61da16f6aac6dca0189f2af", [:mix], [], "hexpm", "2682e3c0b2eb58d90c6375fc0cc30bc7be06f365bf72608804fb9cffa5e1b167"}, + "nodejs": {:hex, :nodejs, "2.0.0", "9a00d00eabf84ba7a04269de46863e0f87bdf6bc488d5a20972b38ade9012764", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:poolboy, "~> 1.5.1", [hex: :poolboy, repo: "hexpm", optional: false]}], "hexpm", "3a03df7dbfba435223b4534fbf276db8be5287fbf83c828f2749bf1ffe73e930"}, "phoenix": {:hex, :phoenix, "1.7.10", "02189140a61b2ce85bb633a9b6fd02dff705a5f1596869547aeb2b2b95edd729", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.6", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:websock_adapter, "~> 0.5.3", [hex: :websock_adapter, repo: "hexpm", optional: false]}], "hexpm", "cf784932e010fd736d656d7fead6a584a4498efefe5b8227e9f383bf15bb79d0"}, "phoenix_ecto": {:hex, :phoenix_ecto, "4.4.2", "b21bd01fdeffcfe2fab49e4942aa938b6d3e89e93a480d4aee58085560a0bc0d", [:mix], [{:ecto, "~> 3.5", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "70242edd4601d50b69273b057ecf7b684644c19ee750989fd555625ae4ce8f5d"}, "phoenix_html": {:hex, :phoenix_html, "3.3.3", "380b8fb45912b5638d2f1d925a3771b4516b9a78587249cabe394e0a5d579dc9", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "923ebe6fec6e2e3b3e569dfbdc6560de932cd54b000ada0208b5f45024bdd76c"}, @@ -39,6 +40,7 @@ "plug": {:hex, :plug, "1.15.1", "b7efd81c1a1286f13efb3f769de343236bd8b7d23b4a9f40d3002fc39ad8f74c", [:mix], [{:mime, "~> 1.0 or ~> 2.0", [hex: :mime, repo: "hexpm", optional: false]}, {:plug_crypto, "~> 1.1.1 or ~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4.3 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}], "hexpm", "459497bd94d041d98d948054ec6c0b76feacd28eec38b219ca04c0de13c79d30"}, "plug_cowboy": {:hex, :plug_cowboy, "2.6.1", "9a3bbfceeb65eff5f39dab529e5cd79137ac36e913c02067dba3963a26efe9b2", [:mix], [{:cowboy, "~> 2.7", [hex: :cowboy, repo: "hexpm", optional: false]}, {:cowboy_telemetry, "~> 0.3", [hex: :cowboy_telemetry, repo: "hexpm", optional: false]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "de36e1a21f451a18b790f37765db198075c25875c64834bcc82d90b309eb6613"}, "plug_crypto": {:hex, :plug_crypto, "2.0.0", "77515cc10af06645abbfb5e6ad7a3e9714f805ae118fa1a70205f80d2d70fe73", [:mix], [], "hexpm", "53695bae57cc4e54566d993eb01074e4d894b65a3766f1c43e2c61a1b0f45ea9"}, + "poolboy": {:hex, :poolboy, "1.5.2", "392b007a1693a64540cead79830443abf5762f5d30cf50bc95cb2c1aaafa006b", [:rebar3], [], "hexpm", "dad79704ce5440f3d5a3681c8590b9dc25d1a561e8f5a9c995281012860901e3"}, "postgrex": {:hex, :postgrex, "0.17.1", "01c29fd1205940ee55f7addb8f1dc25618ca63a8817e56fac4f6846fc2cddcbe", [:mix], [{:db_connection, "~> 2.1", [hex: :db_connection, repo: "hexpm", optional: false]}, {:decimal, "~> 1.5 or ~> 2.0", [hex: :decimal, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:table, "~> 0.1.0", [hex: :table, repo: "hexpm", optional: true]}], "hexpm", "14b057b488e73be2beee508fb1955d8db90d6485c6466428fe9ccf1d6692a555"}, "ranch": {:hex, :ranch, "1.8.0", "8c7a100a139fd57f17327b6413e4167ac559fbc04ca7448e9be9057311597a1d", [:make, :rebar3], [], "hexpm", "49fbcfd3682fab1f5d109351b61257676da1a2fdbe295904176d5e521a2ddfe5"}, "rustler": {:hex, :rustler, "0.30.0", "cefc49922132b072853fa9b0ca4dc2ffcb452f68fb73b779042b02d545e097fb", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:toml, "~> 0.6", [hex: :toml, repo: "hexpm", optional: false]}], "hexpm", "9ef1abb6a7dda35c47cfc649e6a5a61663af6cf842a55814a554a84607dee389"}, diff --git a/priv/static/beacon_live_admin-00615a53acd95d4b0e607732a0ccf92f.js b/priv/static/beacon_live_admin-00615a53acd95d4b0e607732a0ccf92f.js new file mode 100644 index 00000000..79138018 --- /dev/null +++ b/priv/static/beacon_live_admin-00615a53acd95d4b0e607732a0ccf92f.js @@ -0,0 +1,17 @@ +var BeaconLiveAdmin=(()=>{var _e=Object.create;var z=Object.defineProperty;var ge=Object.getOwnPropertyDescriptor;var be=Object.getOwnPropertyNames;var ye=Object.getPrototypeOf,ve=Object.prototype.hasOwnProperty;var xe=(t,e,n)=>e in t?z(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var $e=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ut=(t,e)=>{for(var n in e)z(t,n,{get:e[n],enumerable:!0})},we=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of be(e))!ve.call(t,o)&&o!==n&&z(t,o,{get:()=>e[o],enumerable:!(r=ge(e,o))||r.enumerable});return t};var Ee=(t,e,n)=>(n=t!=null?_e(ye(t)):{},we(e||!t||!t.__esModule?z(n,"default",{value:t,enumerable:!0}):n,t));var g=(t,e,n)=>(xe(t,typeof e!="symbol"?e+"":e,n),n);var Tt=$e((At,H)=>{(function(t,e){"use strict";(function(){for(var f=0,_=["ms","moz","webkit","o"],y=0;y<_.length&&!t.requestAnimationFrame;++y)t.requestAnimationFrame=t[_[y]+"RequestAnimationFrame"],t.cancelAnimationFrame=t[_[y]+"CancelAnimationFrame"]||t[_[y]+"CancelRequestAnimationFrame"];t.requestAnimationFrame||(t.requestAnimationFrame=function(at,ir){var ct=new Date().getTime(),lt=Math.max(0,16-(ct-f)),me=t.setTimeout(function(){at(ct+lt)},lt);return f=ct+lt,me}),t.cancelAnimationFrame||(t.cancelAnimationFrame=function(at){clearTimeout(at)})})();var n,r,o,i=null,c=null,l=null,a=function(f,_,y){f.addEventListener?f.addEventListener(_,y,!1):f.attachEvent?f.attachEvent("on"+_,y):f["on"+_]=y},s={autoRun:!0,barThickness:3,barColors:{0:"rgba(26, 188, 156, .9)",".25":"rgba(52, 152, 219, .9)",".50":"rgba(241, 196, 15, .9)",".75":"rgba(230, 126, 34, .9)","1.0":"rgba(211, 84, 0, .9)"},shadowBlur:10,shadowColor:"rgba(0, 0, 0, .6)",className:null},d=function(){n.width=t.innerWidth,n.height=s.barThickness*5;var f=n.getContext("2d");f.shadowBlur=s.shadowBlur,f.shadowColor=s.shadowColor;var _=f.createLinearGradient(0,0,n.width,0);for(var y in s.barColors)_.addColorStop(y,s.barColors[y]);f.lineWidth=s.barThickness,f.beginPath(),f.moveTo(0,s.barThickness/2),f.lineTo(Math.ceil(r*n.width),s.barThickness/2),f.strokeStyle=_,f.stroke()},u=function(){n=e.createElement("canvas");var f=n.style;f.position="fixed",f.top=f.left=f.right=f.margin=f.padding=0,f.zIndex=100001,f.display="none",s.className&&n.classList.add(s.className),e.body.appendChild(n),a(t,"resize",d)},p={config:function(f){for(var _ in f)s.hasOwnProperty(_)&&(s[_]=f[_])},show:function(f){if(!o)if(f){if(l)return;l=setTimeout(()=>p.show(),f)}else o=!0,c!==null&&t.cancelAnimationFrame(c),n||u(),n.style.opacity=1,n.style.display="block",p.progress(0),s.autoRun&&function _(){i=t.requestAnimationFrame(_),p.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(f){return typeof f>"u"||(typeof f=="string"&&(f=(f.indexOf("+")>=0||f.indexOf("-")>=0?r:0)+parseFloat(f)),r=f>1?1:f,d()),r},hide:function(){clearTimeout(l),l=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function f(){if(p.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",c=null;return}c=t.requestAnimationFrame(f)}())}};typeof H=="object"&&typeof H.exports=="object"?H.exports=p:typeof define=="function"&&define.amd?define(function(){return p}):this.topbar=p}).call(At,window,document)});var st=Ee(Tt());function ke(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Mt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Dt(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function Oe(t,e){if(t==null)return{};var n=Fe(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function Se(t,e){return je(t)||Ce(t,e)||Ae(t,e)||Te()}function je(t){if(Array.isArray(t))return t}function Ce(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var c=t[Symbol.iterator](),l;!(r=(l=c.next()).done)&&(n.push(l.value),!(e&&n.length===e));r=!0);}catch(a){o=!0,i=a}finally{try{!r&&c.return!=null&&c.return()}finally{if(o)throw i}}return n}}function Ae(t,e){if(t){if(typeof t=="string")return Pt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Pt(t,e)}}function Pt(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var c=arguments.length,l=new Array(c),a=0;a1&&arguments[1]!==void 0?arguments[1]:{};W.initial(t),W.handler(e);var n={current:t},r=I(Ve)(n,e),o=I(Ge)(n),i=I(W.changes)(t),c=I(We)(n);function l(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(d){return d};return W.selector(s),s(n.current)}function a(s){De(r,o,i,c)(s)}return[l,a]}function We(t,e){return N(e)?e(t.current):e}function Ge(t,e){return t.current=It(It({},t.current),e),e}function Ve(t,e,n){return N(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var Ue={create:He},Je=Ue,Ke={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},Xe=Ke;function Ye(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var c=arguments.length,l=new Array(c),a=0;a[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],$n={base:"vs-dark",inherit:!1,rules:xn(pt),colors:{"editor.background":pt.background,"editor.foreground":pt.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},wn=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,Rt.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),Rt.init().then(t=>{t.editor.defineTheme("default",$n);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},En=wn,Wt={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new En(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function kn(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function q(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function Gt(t){t.parentNode?.removeChild(t)}function Vt(t,e,n){t.insertBefore(e,n||null)}function Ut(){}function Fn(t){let e={};for(let n in q(t,"data-slots")){let r=()=>({getElement(){let o=q(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){Gt(this.savedElement),this.savedElement=this.getElement(),Vt(this.savedTarget,this.savedElement,this.savedAnchor)},c:Ut,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),Vt(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&Gt(this.savedElement)},l:Ut});e[n]=[r]}return e}function On(t){let e=q(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function U(t){return{...q(t,"data-props"),...On(t),live:t,$$slots:Fn(t),$$scope:{}}}function Sn(t){return t.$$.ctx.find(e=>e?.default)}function Jt(t){return t=kn(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(q(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(U(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(U(this)),!1);this._instance=new r({target:this.el,props:U(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(U(this));let n=Sn(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var Ct={};ut(Ct,{default:()=>er,filenames:()=>nr});var Ot={};ut(Ot,{default:()=>Ft});function E(){}function ht(t){return t()}function J(){return Object.create(null)}function $(t){t.forEach(ht)}function K(t){return typeof t=="function"}function X(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}function Kt(t){return Object.keys(t).length===0}var mt=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var A=class{constructor(e){g(this,"_listeners","WeakMap"in mt?new WeakMap:void 0);g(this,"_observer");g(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)A.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};A.entries="WeakMap"in mt?new WeakMap:void 0;var Y=!1;function Xt(){Y=!0}function Yt(){Y=!1}function An(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function Tn(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let a=[];for(let s=0;s0&&e[n[o]].claim_order<=s?o+1:An(1,o,p=>e[n[p]].claim_order,s))-1;r[a]=n[d]+1;let u=d+1;n[u]=a,o=Math.max(u,o)}let i=[],c=[],l=e.length-1;for(let a=n[o]+1;a!=0;a=r[a-1]){for(i.push(e[a-1]);l>=a;l--)c.push(e[l]);l--}for(;l>=0;l--)c.push(e[l]);i.reverse(),c.sort((a,s)=>a.claim_order-s.claim_order);for(let a=0,s=0;a=i[s].claim_order;)s++;let d=st.removeEventListener(e,n,r)}function m(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function Qt(t){return t.dataset.svelteH}function x(t){return Array.from(t.childNodes)}function Mn(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function Zt(t,e,n,r,o=!1){Mn(t);let i=(()=>{for(let c=t.claim_info.last_index;c=0;c--){let l=t[c];if(e(l)){let a=n(l);return a===void 0?t.splice(c,1):t[c]=a,o?a===void 0&&t.claim_info.last_index--:t.claim_info.last_index=c,l}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function Dn(t,e,n,r){return Zt(t,o=>o.nodeName===e,o=>{let i=[];for(let c=0;co.removeAttribute(c))},()=>r(e))}function w(t,e,n){return Dn(t,e,n,b)}function tt(t,e){return Zt(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>T(e),!0)}function et(t){return tt(t," ")}function yt(t,e){e=""+e,t.data!==e&&(t.data=e)}function te(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var M;function F(t){M=t}var S=[];var ne=[],P=[],re=[],qn=Promise.resolve(),xt=!1;function oe(){xt||(xt=!0,qn.then(nt))}function B(t){P.push(t)}var vt=new Set,D=0;function nt(){if(D!==0)return;let t=M;do{try{for(;Dt.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),P=e}var rt=new Set,zn;function L(t,e){t&&t.i&&(rt.delete(t),t.i(e))}function ot(t,e,n,r){if(t&&t.o){if(rt.has(t))return;rt.add(t),zn.c.push(()=>{rt.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}function j(t){return t?.length!==void 0?t:Array.from(t)}var Hn=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Wn=new Set([...Hn]);function se(t){t&&t.c()}function ae(t,e){t&&t.l(e)}function wt(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),B(()=>{let i=t.$$.on_mount.map(ht).filter(K);t.$$.on_destroy?t.$$.on_destroy.push(...i):$(i),t.$$.on_mount=[]}),o.forEach(B)}function Et(t,e){let n=t.$$;n.fragment!==null&&(ie(n.after_update),$(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Vn(t,e){t.$$.dirty[0]===-1&&(S.push(t),oe(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let _=f.length?f[0]:p;return s.ctx&&o(s.ctx[u],s.ctx[u]=_)&&(!s.skip_bound&&s.bound[u]&&s.bound[u](_),d&&Vn(t,u)),p}):[],s.update(),d=!0,$(s.before_update),s.fragment=r?r(s.ctx):!1,e.target){if(e.hydrate){Xt();let u=x(e.target);s.fragment&&s.fragment.l(u),u.forEach(h)}else s.fragment&&s.fragment.c();e.intro&&L(t.$$.fragment),wt(t,e.target,e.anchor),Yt(),nt()}F(a)}var Un;typeof HTMLElement=="function"&&(Un=class extends HTMLElement{constructor(e,n,r){super();g(this,"$$ctor");g(this,"$$s");g(this,"$$c");g(this,"$$cn",!1);g(this,"$$d",{});g(this,"$$r",!1);g(this,"$$p_d",{});g(this,"$$l",{});g(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let c;return{c:function(){c=b("slot"),i!=="default"&&m(c,"name",i)},m:function(s,d){_t(s,c,d)},d:function(s){s&&h(c)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=te(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let c=this.$$g_p(i.name);c in this.$$d||(this.$$d[c]=$t(c,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let c=$t(i,this.$$d[i],this.$$p_d,"toAttribute");c==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,c)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let c of this.$$l[i]){let l=this.$$c.$on(i,c);this.$$l_u.set(c,l)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=$t(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function $t(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var C=class{constructor(){g(this,"$$");g(this,"$$set")}$destroy(){Et(this,1),this.$destroy=E}$on(e,n){if(!K(n))return E;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!Kt(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var ce="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(ce);function le(t,e,n){let r=t.slice();return r[4]=e[n],r}function ue(t,e,n){let r=t.slice();return r[7]=e[n],r}function fe(t){let e,n,r=sectionTitles[t[7].name]+"",o,i,c,l;function a(){return t[3](t[7])}return{c(){e=b("li"),n=b("div"),o=T(r),i=Q(),this.h()},l(s){e=w(s,"LI",{class:!0,"data-test-id":!0});var d=x(e);n=w(d,"DIV",{class:!0});var u=x(n);o=tt(u,r),u.forEach(h),i=et(d),d.forEach(h),this.h()},h(){m(n,"class","pl-2"),m(e,"class","pb-1"),m(e,"data-test-id","nav-item")},m(s,d){k(s,e,d),v(e,n),v(n,o),v(e,i),c||(l=[Z(e,"mouseenter",a),Z(e,"mouseleave",Kn)],c=!0)},p(s,d){t=s,d&1&&r!==(r=sectionTitles[t[7].name]+"")&&yt(o,r)},d(s){s&&h(e),c=!1,$(l)}}}function de(t){let e,n,r=t[4].name+"",o,i,c,l=j(t[4].items),a=[];for(let s=0;svoid 0;return t.$$set=l=>{"components"in l&&n(1,i=l.components)},t.$$.update=()=>{if(t.$$.dirty&2){t:n(2,o=i)}if(t.$$.dirty&4){t:n(0,r=[{name:"Base",items:Array.from(new Set(o.map(l=>l.category))).map(l=>({id:l,name:l}))}])}},[r,i,o,c]}var kt=class extends C{constructor(e){super(),it(this,e,Xn,Jn,X,{components:1})}},Ft=kt;var jt={};ut(jt,{default:()=>Zn});function Yn(t){let e,n,r;return n=new Ft({props:{components:t[0]}}),{c(){e=b("div"),se(n.$$.fragment),this.h()},l(o){e=w(o,"DIV",{class:!0,"data-test-id":!0});var i=x(e);ae(n.$$.fragment,i),i.forEach(h),this.h()},h(){m(e,"class","flex min-h-screen bg-gray-100"),m(e,"data-test-id","app-container")},m(o,i){k(o,e,i),wt(n,e,null),r=!0},p(o,[i]){let c={};i&1&&(c.components=o[0]),n.$set(c)},i(o){r||(L(n.$$.fragment,o),r=!0)},o(o){ot(n.$$.fragment,o),r=!1},d(o){o&&h(e),Et(n)}}}function Qn(t,e,n){let{components:r}=e;return t.$$set=o=>{"components"in o&&n(0,r=o.components)},[r]}var St=class extends C{constructor(e){super(),it(this,e,Qn,Yn,X,{components:0})}},Zn=St;var tr=[Ot,jt],er=tr,nr=["../svelte/components/ComponentsSidebar.svelte","../svelte/components/UiBuilder.svelte"];var pe={};pe.CodeEditorHook=Wt;st.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>st.default.show(300));window.addEventListener("phx:page-loading-stop",t=>st.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var rr=document.querySelector("html").getAttribute("phx-socket")||"/live",or=document.querySelector("meta[name='csrf-token']").getAttribute("content"),he=new LiveView.LiveSocket(rr,Phoenix.Socket,{hooks:{...Jt(Ct),...pe},params:{_csrf_token:or}});he.connect();window.liveSocket=he;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-00615a53acd95d4b0e607732a0ccf92f.js.gz b/priv/static/beacon_live_admin-00615a53acd95d4b0e607732a0ccf92f.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..5fd1ee1f79e8d870f2a75a142a9d848fc08f7975 GIT binary patch literal 11599 zcmV-VEwIubiwFP!000006YYI#ciXnI==c5#ne|c08e$~p(NqfKooACaY0@}p+G^=4 z6bV_ZDL^G5JFcYver5&$2}*L3?zPW7Yu$DC>W)d`H5kkr1Lz_yS`T@gNbw@O;1AMy zCL-StqWh~0C>itU)#Oi}s4yvbtoQ&w{%yade3}XVx{wQAs4FTvs~Vhf_3BdC!pFQ! zifo}|LDeSLRQoxe^O9;@xiz3zNp-d0ucqvxDp=UB;VdqlPN@Ay9{GxKCSWSOm5G)* z`I|nhxLD445l?d7Kj<=;_%u6PR_~WZrtI@YoG*D_Y=XWT@=+wH<3rssbc`FgE< zpGPbHaUly;_E(!t5SkaL#<+b6*izZ1tEnt}>`fqOJV4L{TftQOd?-e&0pljvuuD4~ zR$%jN>hpFR=Psu$9z~uclz0G4{cXAwiOQt#0vs*pswG=cG~qrEf`bblCUKrauQF)2 z&DyNg?_U6#hRPk9ql0rpuheLJ8&pamCAAd2FSZL2VYeBXrL! z77ik>yqZsB?w#->&+B6y_>UUBRnZ~${RfIYLzMa!U9?0iZ&~tIsfrA+I;hKnYUQR; zmyM&LH!nTr&E?Lx`V5G<1pvqOwHPDm}0^ITJlmo5ZOG&-kugf z?t`PFtKgclNDarstI?77W?v}`0(=>Zgy+{Zd$gy}8v&6t%CG5sa1BuFwSOJB6`Eqj zvLYZ6lBh`V%hqF%9)5t#{5G4z6U$ZfGFG#29)I+^taqp5C#o|I0*3I1rLHHJ%Ef)G zpwdyUfFa-?OL5bPK0?Dya1BNX=DnzLKn_+(&f~(43m<^<0$)=LFdlG5MpVoa{U_Id z;<}S58?!5*kuXlvCl_3(7g?#e;Kj-ACm*V^gI>^wBBkPFMx`f>H{S#HJ;FZw)1iJI zMOPbEMyq(KTRmv{{T*x%HBI?H?kxc0MRLO;Z#hgN5S%fWz zo@r`ZGXmfy{45i%fvbSOrr}&(@V63%Zq~bTjD^?>6cP(2Jj?y!TLWLPw?2qMdCpJO zRnDVv_3i^FE*nb_af5&-IiC{+1KVB1r59BAF0m7s$U>GGHUmwSedMVJy~3OUgE^ln z_*2lb!93yurUefRz)dF3K=4k(zn_bge~fxv_+Jm+)2v+N@m1srDYyqys3@h~7WxGl z57Fy8g{Yq=GQA4p#e$3U(JaeTA9O?vTEHuKnf(o&r7+7yw9=+Rzh?GY8H{lqr$M=8 ziTGnst$sNKrk%n+0n)s@Z1ez{{6GfquYS%0Ez|~ivfdcA~p2JxX>#7U;EqF(i-!rdg7$+^cCXj+}Y>`T9k)L=wSyKMn) zjbW*?=o&Quvv#}ij=ZC=d;41=wFOL}*P+MquR{4nz>b4pgLGsYG|*#>3a!tl_r0Zu zvfR9ak%KB)oOyueY2;6V@qsE{O>xlRe$-vBolhP5bW-%Y!OmIuPz`xtWxs@hVIg`fJ22~TjiT|hz-SLxL5s$zPmA6_R@g%@ zd(hF=f^{Om;`S=u!;b-qzOALyY@ijDQIwnH+7+AP5(Jygz+m=SZBkZd<}+)^)@3L4 zw?*Gn(@ueFezx2CTNuyN6aDBab+g0^G_z+}i827hPXzDUKm`Ns64p>&vQ#EZlqsN< zNtl!>dcys;3P2xJI6dda7PK83>wmA$qCEm*=d&;N3@VR+sZBNTOQkJGvKFk5a?Y+`G~l2mG^SMKh#J9{5o(FCWK>U#Z1e_gL1*oU`h^Hi;<8e-}} zQN&kaR?=VeZ+BPtQH|FFtHCq|v{pOt^;?($YsWw>D7OqHLWhB6t>Fmh0OXNYJJE&A z(pGn%imQq}LCz1i`Wm6fH9-H}&!Z$1XzT)Yr=TSWH6#N3JS0&VAi~jX(kl@~5eEs2 zg9d|55-VVbI9QSWkwx(axB#$xwL%aMigr5*_2jKawC{*GQ#C_kRI@@}wz5sV8a1*W zI7F!b)d*9y%C{(ft>x~ZA$M!CQ1X=O8&U|uGS3q3-({U1iDd!P^IlcDE(Ea;11u9j z8X_iYdGHWbJrVr1n)Q4fWbztU@lZQlZNpA-f3`QbSj_&HD^IIeuYP%S0F z3eYH97Q6+fNQdYU7!qi@RA?TBUp*HsS){zc>Jun1H5k>85weyxGs@O{S*q47zTmC6 zwTH4>bFOAG4L>-X`SO3u40!SXvKjFFf5r@W@g-)!%m2G(z>EJCGvG0ILX0Zf#x3Ix z-zpSDUEp0syo-Tj2jMjjyD(d30Fj(76aEHWY=?eWR#nM>nl?xU&g$dhZ*|&o0S0La z7CZ=-9k`_fcY&S|*(=&m0W-ycJFDQ9rt$qshMg!wo-~XMTnDXIemjHb&fwq=$1r$& zFB!xzcs`8X!Q*OhUNOROgc<jC#gor4>dwon_W$li6mcwB=oI*apco$Ubj7H zN(lpYUH4}P?~Wd<94trpG_9D=Y?N5*h&ymSZ}#wmk4Dcc-%Dn(IO8bvy@0v!a?q%9 z?s#;S$UPuv1Q0q{Yqp1{8P8Mbf;-bARQyZ^7t||x&QaIuvFd7XoN7PV%Ft(;b5ob$ z=gKl9aZdPb!dFf1;AeO?z?pu^?Lq&dK^2XaiA-g2{=CG1c?Jw*Msy1eAhf#FvH4B` zM$w>vhX&KNO4aHVRmyrzas@X)f(`At@o2R(e&6;Eo^Y%{!IiDTg2o(xw(FHMxy(~k zy0I`iwyJLc-QPrfqf9H*^H)_{XBGMumHS2kg%29MqFd%-z3%}rw(J+Tb=9Esm`fb} zid6R2_E=4`eGhoxB1?JNBC^1JFkM>i$A&|!{ckeWDtSCFTUT<~x{L)`IJyRohn2{< zm~n%x%UPDpa5;p8rVE~AP^qe8QS0g2-!QY%fC153igO_^0l`QMtvE@*f})lmsB$Nl zz_cG)i#R!t&$zc?ucGJvLmv2lgI)SQTA5k(pYsY={hztTbpH*v3*G;VZ|bPYGoo{? z)VJm5{a(9Wi^v`*a^rNIxL;A1zYk64sGHu0W>CK}&Q~y-0;x-(FZZV)u4!9{B>}t|eLl=tJgO_cZ%R}YIwu^Xgr>{BBMN_L)~zZWLi4dPT9G=M|S(b$TtYaycwm-r!vupfE!jJbkZ8q#T9{t2?qWGQve*=XK6ddLk9{uj%<`4dlZ51*>Mf8W$ z3m2{_vR?m;`#aeYT2mwbb+RZZK1BJiL9 zWX{9O7)bLk)Q^jTClthX*s>7+K&$?x?5>WhR8dA(ULSR8v{ysF))V_gi@mz#%f$V^ z8nk~SmofOtwcuyY^!pzk*Do!^53KCLS1tJ8@1U__@WGcQd}`S?FvKOg*V87{;aAk= zIk@ONPO+Gp(Z^Ox!xQQj{;Gvb)^Dv^^{Vw---KcKO>5KI1k`9*@@pFFwTITQ`fe+# z{uEF#mjLx5=g=*vTArMf>dZ57-m((oEK{@P1p1ucC;@Gv6DxTY3oA4<#=h1=Lcbq2 z>}M7I0uoyUKtG^#M75{K#fFt4l7ht|+QYNEN)cQyH-Z8pr8_9@@j(GROM%9kXNz4= ztajAJeoqWFimj6P8F*sgjcr&0F14uH@uAvh?pw2bN4|q@Kqt|LU|@Z9i*_4BK9%7d zmt}Sab}}X+;RuwF1plDR${s8Ku~tN=fQXB75j|9F3D{J`4SM@4);8F@JnMVtZfN2J z7MjOmi9x`Yt_Qs2*dbF<+aU)%gJkem=2_{O@St;n!$Y75;h?PcZcn7Y6hXg0#Oag} zj9JQ{&QcO)lg?di+d4YvZj1uMeQ3c_5&dYlwS7x6zkwxHKG)_>_BY540Jq>Ep)Pc8 z0=ytL^|K~PowE?Izg2X~{Zz2yfW3+SR$z~?U-55mRAXY{V4@V3bI9lCMpEK_0A^zi zJ^k*Dg2AtQqCpnq9KM;3z_G7@0%2Rr&zUfmm5Sapd?u|vouPTym_KMxj4BWU43<}R zge^=J6`~}JjX|*k)$EKyzQ6jbEev;QHFd95gxwD6S0!w!{8UHV^vWJyDHP}VD9D|xJ|~+(pN3EvMO{e$*a@u zFxVTGMG~ooS$O93^=8-9iwa8+89Zu|9W<#%T1w6~XxK#no#$DLgPZ0d3H0!yWS&t~ zV9a@e!*5dH_dWckaPuF_Ne2=U;c(0eJ5KfzrLf^r%N=OM*(Jlx_Wkp5sIM_I9+_1( zI)1<_rZW#v#~*qZRk1*)q>U`UG~Wf6q!19nj>%!MF7vOg1SJU-*< zB@Or7XqNsJ=+ieUx)5vuCe{ROma{@G1sGRfAKyJrZr*aNps$l#Nu1vCSdJ?24O(Dd z^X{GGyW1X{U_{>g`c5yN@~OwpK-t3U-Q@e@_$Iz`F5vz9yUES(zW3N-S%AfWJ>L25 zZVEOUnR8!H`0eg3=pT%l9A0nVncPW^p*9EQ2=8g{`}ocs@T5P2cM#nlu9Q5-ZaoGH zlpDA!!*RoGIp8zH*!fmHJBzv^?H|QLZB@j%?N&n1w}=x348+SMUTk;2-D-~FV5<(I zsjefI^9e6L*$ou%kBiSv1l9XzE1BK7ZHPFUShfyWD3`KGw<_u7t7~biL2iRi>sHr7 zk8zHhLE!}OcFtAEVZPga7Yz`zvn=1LfW%SPsAEWCI>WipUuN&qCp6_K{(*BhYnQU*EjjC zTeo|4wJE6WmuTTX1GExqoAqxW-GJH1m+F0%g63*W8Prqn`1bMSx~jBc zjn#U0dvR}iO*IWSPn%$X+Uwnnp-Cnd%k5!%lU{m!vo5@Dpodz<(R7_!R;li-wGVmV zOJ0hI(qLCkenWM}WJRfX;2$YQPiWpnTt5@#KGwkK zL`kYJmf|G_n>p6j`I1!4X&-C{d%U+ZZbA+%-5edyI0q9t zy=u*MJFuNKQ1t$Us(~qLK%{LS7iOIy170GM%7 zb@(YP*0na9Cd8|19n8wqiv%`U6>|CaLayM(16|i4*8saj%MWZ+a=*c10&CX7NL%56 z{5kjQ13ZT!7$8>AEPYpGA?4os6tuTbdAc zO`c#2L(9()>DFMrq5ryVpqN} z`KWeO=<}~7FRo6_?(Bm+_dPtg6@$?B>WDXvC9s-bpfI5XUEKfp)c z$a4oSIG(3+I>gEy?FD?U77~2jnS%hwa#*jo3ysCIVU$cMuZX#}DuMm5)ylCGoI?@9 zq|qL1B`R0@Ve9oy(KO3BVy&#RnT;M_Z3gB@@equ~5#}S=jzXY_0@Lh_DTEP5>m%Ta zp{moN7y-5xd7J>2!th3U!E?oLz!Jei)&=@AeI0Pzh?Scvrd4O@=l~XuhY7o|4rlJ# z^EwQ9;)o@Ihmf7UcWv`wAr`bgvGtTrm$!Bk0 zzKFo5ocI!qx+0r{eUNRKRueD~B8JpSe8E%GlQjdJPg+>HAhKWGmT%(%3U}K%Uml2L zCJUhWr2kH_xz0!2?je#pEu!py7Mv9KQe?Zm7ZV$n1GF0?Pce#y#b^(KzH-*QUNMwK z9rF0~CPUJ!AAm> zA!vQY4iAZ{`b4w%mdFK1u5k`dG*SY>!^1F9AIT?2epGIgh=dbcof4-% zLq)q~Oc?)Qo2@nIB-b_m#I7UwNX{3aUIcUk^>iZngtu%qn6Wnto%4=;6gz!Cs&%*$n^t1`4L=0cqR{mU?k4PCIuB%LwS&OenmcF0!Df}4aaM17eE?>@udVtj zb^Z`^l>d(U22;x}IX-rkW^uW_ zN@ZD~0<==4(qz{_VhH}!n1fZVz+nIomx8w1husmF!B$)~)#b)y!#q;RJ>bqlCH2YW(PFs(DgSL56eI^MzYp2z2SCI{$Zu1=6{ z&6mCo2n2(wnXDY^>YLQ=kXJ_(@HOHa>;Jl`b($!v!O_yBauWlI;`U#h!>IWl0jUk#~*(N6^e)B`LC-T6}T{PMPA)WHTns78N5o*@2 zXIBGz=9C8~A#G-&*;(}veRff3m4A;8dNo7+hQ`hBn1oR$_L)yT=YW`~W0g38fx5>B zRv)S(pLf*#`ykFR4dPx@oPgPI)a&!we00*w-dgKeg+`Q-1hz-s`VThJu zIiS`89`RNIJn{AH$%Dt91}Kh(qe^gMfDw?FQKvW1sOnaL>8!&Fu-F0y zOfZZ`E?6v$e2L*Euy}@Y)F`_bl_!X4Sf3t~Y=M^uiQ%GIiGhd*2nx(?6vK3Mq@h_x zDLjecaumf(*4M)ZZ=~rX)A-~1(;&Ye z#e=-l2@?A~$FH5vhKLD@ySv31_yfQ+6sk?aQWnbhW0*^HKXzx=Dc!fgMKCLMYG(t< zG-6pDd~LUrEqvdPG9V52%OC){8ECSpTb^JwN-`R3xh2>mUSm`#AK}ZGUAlN&| zPFp+ydzwx1Oq>k}zMU#3nB2057uRdPJGC7*aJRppzXvkz0z&tC_}jhXcupmQ5E|1> zAaW1!jQ@#ydT#6f-fka=6HOTX&x0ZMO?$Wd*|t}Wt?IXHUFzSkWM6 zD?#r*STe#pQ0gJVdW1nz6IWt&Uk;98LXIK#^T29z0navu64z%U05uCbTb{5Uo(xV% zjp?h$_Kg@N;Ad|(pM?xGT!Q*20e$qJg6br8uzuaRo&L3uBjEOkxUX+XtAa|dSZ;LC zSV4Au5wJGPoHMavhjD1ZWprP>b>uR5Q6j6RK zCkOOp?N2<#j$cNKzMmpxP%1M=Gx9avra_N?iO8fyR#}??`=}bOiNtW|M;O${f-bbt zo8UsZOZ^ZBd|l-W;Aj^*@A4GR|i{6M#E!3Ot-rFi}uf64pO;4xxNP_Q_a(tFsZ(46lnd zf1@FI2CVK2<)VEK7bwKlM?7-}Gn*=2n9eGyeCS%&nM2J$TX<>9;B{5CK;2&7X9G;# z>78&*Fh$T8_6hG~aM~1jHQDP(6L?Wm)ZfmDkQe6k6PadsON6o^1q|7TSyL!URZCXH zBes(CSm?E^F0vUEdO@L=zeQ-gB2ui45$MVk%4zY@38fqY7*?WjMp6YT6pagXTp@B& z3o5I;`i<*UXy(rVn|M}OUQS`D^=`e#^p{0^h0A3wIm55zl}PaKQpqV;cBOg7OVZ$x zP8Q)tFXrE>LgrXrC9dETX3lzPR$>Sk>%n@=g{1pVV%nFQWob$PWMG|PqpY0A3*2dx z693Ght89S@nD9uO%ASyOy6Bc3ov!49IzrgWOyH)whnEn>sTBDYJ=()(o^eF+(Po=@ zBlcccqVR`d7(NptCs0}HqwJ*a-6e>*Lo<29jJ~Y=2w32iWrlviTn^~VO@wj(0j_O0 z*MYEynm9}{2kr_;p|{n+qhDZD(_UWk6MB8R+yrhhYHkbykYZa_0L5mw)9g+Og@$k-AV#djLj6o$2Xkvib)n9C6DT$SMtAej9#O<; zkm$jP3!ID-_oY0EV4P)hc zy#kYH$riX-Hnl`PrfW+n2s6dw@vg)n_Eagk6wQ%C7^JD`ph`uK#Yv%o2oM<-46SBAk~Mu`wl z{aCAjccQwe^6kqPcEh)E<)r`4q_?(!Mz}~zw`y}gLF>PAxxiR@wIOhLh^3zUp=`V* z%{P$TxP4ZC!Stbx`=Qvbu^8{v$#*`CmmV`*VD=_7WHuWYz={O3i6Hv!=u^6u7>^F6 zysy;?xXahX8mcr_7z}T-a-P>~pfcxO%O<-M0B}?Rck><|;$cC&VcoVGFZDJ8hHweR z*M&Sb*9SWgLf!WII@f`O0MI@~KzrlTuWDk6v0MahTac;HGD3={kBmg|T?8cp`Rt%M zmUD@Cbq2N4eo1xutZ|!cH1R$3Uof>36j5b!wA*uV)J?Jy9{Ziw%}SOAtFeN=30+B? zIz>Rg?KZfic=~^Xk}JN9Gu7JlXe!u+>u#9aB~9LIZSrThC1lAg$Z*eHrrRbNbxEM-_PhX_VLqAlBFpOf(0nmT0}s zY__Ny3B0~GODg0SxFa`k=hX0wNLWa)3;bX&zVhmKDH4awau~1*bGc##N8T1I3Ck;J z@(6ePD^PVtam~i=xds3oD2}^i$%7inoG6g9VlVAglIBF`EUfS%JEtw~f!5YeLy$O9 zq{nu6Q^yiqQcFb57=Q$0QPmXOuviD!L!A$W9x8Uxp#SnR)5rW*3BYFWG3nC_xshJKI^wSxg$AIEKz&pz zo6>EV)WSknwK?%Ty|+fiIvv_6rOpO6Pozo#)ArDpL)LCP8H(4!vL6O>!{QO|^Ibr6 z8qA)2iaMR*@UUs_;H{>cn(9_hbov|XSpu|9&y$VS`;=q)lXGS16PsYA2`a1%buusf zeV@@=s_q}HOpZ#UVn(SAo}gAg(4JFaY{JFbPyHc1;te;wW+$?iaTyM z;?CSzTVrK-YZTG_9M1i$%g?v^ZnxF6j#MGTMx{P+_cl{GFNX@6=s5V1=V?ch@6#xO&ItA~^ z{a8Z;|E%WtTSU|;MP@q3FaeBl)ZZqZp8eK<6Ro%ly!dwRp&h5qw{!Tz;elP~ILQTB z#`Knf7Yoz^F8UwX7r4?T2Rj!7P;tQOZy*USz&QL#1egnfF?qJoovR4`w2>EpC;U&Y zC2+wN-WR2_Tdn!X@v=2gO^1HoxaTt6A`%7kM_oBo5&h}YXPj_}cUbM@yySJxOVkVE zVL6I``iN|E%m^7=PdKyNTXeJ4b-dFxIh$Z+tN$pCJ-hu+Ni5x=H^;nQ0Pu?%_=N_3 zF$xjRUFdh{ak&7eh*ZJ<1X1GW3_e%jE&<$S4enBdi=hhqH`Kii&MODSkR_;u230!5 zQW%pjMEeiRKR0&@Q5Ub%=x zixw@Sb1a?w%)76Dj<5CT<>|c}SmFLR4u^F|U&>p+wE6YCrA4tLl?&(5ITs*}oF@!Mf0u|18t~nVFOeV%05Yl3HpTtF8f{aJwkh)bA{Z=OadEvM*_H`K&HDOKcxTcw z4|o|!r`PS;cW^eqWmsHwZnYL4JGV$m6gyHPmuHfS5=W@m>d8*^DjmL~3a+J*Bc@7~ zCFfTyB^RCUwxqi3+_}}7oOLc|!1AAl*}N3C3k@irs!o}ud=eMeNW5m1PfEQ)|H<^9 zgz3B|5_-dQWW}D9Y2DEmO0)cP(k$IC&Gh*HmK4kSPnd-NHw=M266`0@$aVis zGz?Ds;mC>(%6_(qK&(c2bl)WAIY&gm#KwYEO*bWG2!#~@L&VACwSrOWUK4~8pLI(-jsD)bmB7J&iGu?djS0J=5uRf?63d{Em<-mC+l2oMV=pR=dYVsGs}!a#o2Fy{V3RP z4Gi|^gzZxmohuR~f7$~He{LN}_(Qnf_wP+TQyqPyNZC{6uS^Wg841-2p6%aO4|qtf z8KigRy3}%AeqQn#NtkJg9&h!E?3R5>x;f%vn)8pXc_uouj^6o2* z#J|{@q1652HI8(YOzkc2)hEq}1)tFUU=9QR;&Pn3fCVtyHiOAs29wBO$P2Q`V0dVa zvSa=Y%Kb&K-?u5ZOO*SEh)y--D&W3Xiv6iZ40FN?Cg6i}=(BEmqdKrvo@$9*p8(xk z|6TTQndNxjoT;bNdlr;MwBX^R>SQdQEQ{W&L0O+wwRdAQe=+mx-kW&8_ z-V8jT>FZ8id5hV{{vtl(bO&iB&N`HtZJJ_HE!*(dsE22qS||6-=DOV?X%)$Y+7n0>J*@v@lC z6@^Il|9`-wfzC1(m%;WebIPQ!`%Juc_yYu(uEH>+!b>*#0?! zUD1zoUMSx?l|^yI@P`MA)})Y^B?reya`Vdq;Qz}))oV_mho1d?#GdypjCMLs?5|(2nLbg9 zzcv4B#xFyBIHe)|qF}FQl8fwPsJ}3}bwlsg{fH+w>3s5ngLaOK7_7I|7)KrJo6%%} zdk`~96v2%bzY-XEHAXb!1IktY>c+Rce=N*%-)(bSuVxd@`{6m(ic!?@`i4QwSW_^=!a`tU=d&sz1G9!vh_2yfC@Lh N`foI}Drs_m005-Xo)-WB literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin-10c5d0bddc9044da983ae0050ade724d.js b/priv/static/beacon_live_admin-10c5d0bddc9044da983ae0050ade724d.js new file mode 100644 index 00000000..b3af15ee --- /dev/null +++ b/priv/static/beacon_live_admin-10c5d0bddc9044da983ae0050ade724d.js @@ -0,0 +1,946 @@ +var BeaconLiveAdmin = (() => { + var __create = Object.create; + var __defProp = Object.defineProperty; + var __getOwnPropDesc = Object.getOwnPropertyDescriptor; + var __getOwnPropNames = Object.getOwnPropertyNames; + var __getProtoOf = Object.getPrototypeOf; + var __hasOwnProp = Object.prototype.hasOwnProperty; + var __commonJS = (cb, mod) => function __require() { + return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; + }; + var __copyProps = (to, from, except, desc) => { + if (from && typeof from === "object" || typeof from === "function") { + for (let key of __getOwnPropNames(from)) + if (!__hasOwnProp.call(to, key) && key !== except) + __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable }); + } + return to; + }; + var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps( + // If the importer is in node compatibility mode or this is not an ESM + // file that has been converted to a CommonJS file using a Babel- + // compatible transform (i.e. "__esModule" has not been set), then set + // "default" to the CommonJS "module.exports" for node compatibility. + isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, + mod + )); + + // vendor/topbar.js + var require_topbar = __commonJS({ + "vendor/topbar.js"(exports, module) { + (function(window2, document2) { + "use strict"; + (function() { + var lastTime = 0; + var vendors = ["ms", "moz", "webkit", "o"]; + for (var x = 0; x < vendors.length && !window2.requestAnimationFrame; ++x) { + window2.requestAnimationFrame = window2[vendors[x] + "RequestAnimationFrame"]; + window2.cancelAnimationFrame = window2[vendors[x] + "CancelAnimationFrame"] || window2[vendors[x] + "CancelRequestAnimationFrame"]; + } + if (!window2.requestAnimationFrame) + window2.requestAnimationFrame = function(callback, element) { + var currTime = (/* @__PURE__ */ new Date()).getTime(); + var timeToCall = Math.max(0, 16 - (currTime - lastTime)); + var id = window2.setTimeout(function() { + callback(currTime + timeToCall); + }, timeToCall); + lastTime = currTime + timeToCall; + return id; + }; + if (!window2.cancelAnimationFrame) + window2.cancelAnimationFrame = function(id) { + clearTimeout(id); + }; + })(); + var canvas, currentProgress, showing, progressTimerId = null, fadeTimerId = null, delayTimerId = null, addEvent = function(elem, type, handler) { + if (elem.addEventListener) + elem.addEventListener(type, handler, false); + else if (elem.attachEvent) + elem.attachEvent("on" + type, handler); + else + elem["on" + type] = handler; + }, options = { + autoRun: true, + barThickness: 3, + barColors: { + 0: "rgba(26, 188, 156, .9)", + ".25": "rgba(52, 152, 219, .9)", + ".50": "rgba(241, 196, 15, .9)", + ".75": "rgba(230, 126, 34, .9)", + "1.0": "rgba(211, 84, 0, .9)" + }, + shadowBlur: 10, + shadowColor: "rgba(0, 0, 0, .6)", + className: null + }, repaint = function() { + canvas.width = window2.innerWidth; + canvas.height = options.barThickness * 5; + var ctx = canvas.getContext("2d"); + ctx.shadowBlur = options.shadowBlur; + ctx.shadowColor = options.shadowColor; + var lineGradient = ctx.createLinearGradient(0, 0, canvas.width, 0); + for (var stop in options.barColors) + lineGradient.addColorStop(stop, options.barColors[stop]); + ctx.lineWidth = options.barThickness; + ctx.beginPath(); + ctx.moveTo(0, options.barThickness / 2); + ctx.lineTo( + Math.ceil(currentProgress * canvas.width), + options.barThickness / 2 + ); + ctx.strokeStyle = lineGradient; + ctx.stroke(); + }, createCanvas = function() { + canvas = document2.createElement("canvas"); + var style = canvas.style; + style.position = "fixed"; + style.top = style.left = style.right = style.margin = style.padding = 0; + style.zIndex = 100001; + style.display = "none"; + if (options.className) + canvas.classList.add(options.className); + document2.body.appendChild(canvas); + addEvent(window2, "resize", repaint); + }, topbar2 = { + config: function(opts) { + for (var key in opts) + if (options.hasOwnProperty(key)) + options[key] = opts[key]; + }, + show: function(delay) { + if (showing) + return; + if (delay) { + if (delayTimerId) + return; + delayTimerId = setTimeout(() => topbar2.show(), delay); + } else { + showing = true; + if (fadeTimerId !== null) + window2.cancelAnimationFrame(fadeTimerId); + if (!canvas) + createCanvas(); + canvas.style.opacity = 1; + canvas.style.display = "block"; + topbar2.progress(0); + if (options.autoRun) { + (function loop() { + progressTimerId = window2.requestAnimationFrame(loop); + topbar2.progress( + "+" + 0.05 * Math.pow(1 - Math.sqrt(currentProgress), 2) + ); + })(); + } + } + }, + progress: function(to) { + if (typeof to === "undefined") + return currentProgress; + if (typeof to === "string") { + to = (to.indexOf("+") >= 0 || to.indexOf("-") >= 0 ? currentProgress : 0) + parseFloat(to); + } + currentProgress = to > 1 ? 1 : to; + repaint(); + return currentProgress; + }, + hide: function() { + clearTimeout(delayTimerId); + delayTimerId = null; + if (!showing) + return; + showing = false; + if (progressTimerId != null) { + window2.cancelAnimationFrame(progressTimerId); + progressTimerId = null; + } + (function loop() { + if (topbar2.progress("+.1") >= 1) { + canvas.style.opacity -= 0.05; + if (canvas.style.opacity <= 0.05) { + canvas.style.display = "none"; + fadeTimerId = null; + return; + } + } + fadeTimerId = window2.requestAnimationFrame(loop); + })(); + } + }; + if (typeof module === "object" && typeof module.exports === "object") { + module.exports = topbar2; + } else if (typeof define === "function" && define.amd) { + define(function() { + return topbar2; + }); + } else { + this.topbar = topbar2; + } + }).call(exports, window, document); + } + }); + + // js/beacon_live_admin.js + var import_topbar = __toESM(require_topbar()); + + // ../deps/live_monaco_editor/priv/static/live_monaco_editor.esm.js + function _defineProperty(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; + } + function ownKeys(object, enumerableOnly) { + var keys = Object.keys(object); + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + if (enumerableOnly) + symbols = symbols.filter(function(sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + keys.push.apply(keys, symbols); + } + return keys; + } + function _objectSpread2(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + if (i % 2) { + ownKeys(Object(source), true).forEach(function(key) { + _defineProperty(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys(Object(source)).forEach(function(key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + return target; + } + function _objectWithoutPropertiesLoose(source, excluded) { + if (source == null) + return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) + continue; + target[key] = source[key]; + } + return target; + } + function _objectWithoutProperties(source, excluded) { + if (source == null) + return {}; + var target = _objectWithoutPropertiesLoose(source, excluded); + var key, i; + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) + continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) + continue; + target[key] = source[key]; + } + } + return target; + } + function _slicedToArray(arr, i) { + return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); + } + function _arrayWithHoles(arr) { + if (Array.isArray(arr)) + return arr; + } + function _iterableToArrayLimit(arr, i) { + if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) + return; + var _arr = []; + var _n = true; + var _d = false; + var _e = void 0; + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + if (i && _arr.length === i) + break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) + _i["return"](); + } finally { + if (_d) + throw _e; + } + } + return _arr; + } + function _unsupportedIterableToArray(o, minLen) { + if (!o) + return; + if (typeof o === "string") + return _arrayLikeToArray(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) + n = o.constructor.name; + if (n === "Map" || n === "Set") + return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) + return _arrayLikeToArray(o, minLen); + } + function _arrayLikeToArray(arr, len) { + if (len == null || len > arr.length) + len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) + arr2[i] = arr[i]; + return arr2; + } + function _nonIterableRest() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + function _defineProperty2(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; + } + function ownKeys2(object, enumerableOnly) { + var keys = Object.keys(object); + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + if (enumerableOnly) + symbols = symbols.filter(function(sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + keys.push.apply(keys, symbols); + } + return keys; + } + function _objectSpread22(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + if (i % 2) { + ownKeys2(Object(source), true).forEach(function(key) { + _defineProperty2(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys2(Object(source)).forEach(function(key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + return target; + } + function compose() { + for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) { + fns[_key] = arguments[_key]; + } + return function(x) { + return fns.reduceRight(function(y, f) { + return f(y); + }, x); + }; + } + function curry(fn) { + return function curried() { + var _this = this; + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + return args.length >= fn.length ? fn.apply(this, args) : function() { + for (var _len3 = arguments.length, nextArgs = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + nextArgs[_key3] = arguments[_key3]; + } + return curried.apply(_this, [].concat(args, nextArgs)); + }; + }; + } + function isObject(value) { + return {}.toString.call(value).includes("Object"); + } + function isEmpty(obj) { + return !Object.keys(obj).length; + } + function isFunction(value) { + return typeof value === "function"; + } + function hasOwnProperty(object, property) { + return Object.prototype.hasOwnProperty.call(object, property); + } + function validateChanges(initial, changes) { + if (!isObject(changes)) + errorHandler("changeType"); + if (Object.keys(changes).some(function(field) { + return !hasOwnProperty(initial, field); + })) + errorHandler("changeField"); + return changes; + } + function validateSelector(selector) { + if (!isFunction(selector)) + errorHandler("selectorType"); + } + function validateHandler(handler) { + if (!(isFunction(handler) || isObject(handler))) + errorHandler("handlerType"); + if (isObject(handler) && Object.values(handler).some(function(_handler) { + return !isFunction(_handler); + })) + errorHandler("handlersType"); + } + function validateInitial(initial) { + if (!initial) + errorHandler("initialIsRequired"); + if (!isObject(initial)) + errorHandler("initialType"); + if (isEmpty(initial)) + errorHandler("initialContent"); + } + function throwError(errorMessages3, type) { + throw new Error(errorMessages3[type] || errorMessages3["default"]); + } + var errorMessages = { + initialIsRequired: "initial state is required", + initialType: "initial state should be an object", + initialContent: "initial state shouldn't be an empty object", + handlerType: "handler should be an object or a function", + handlersType: "all handlers should be a functions", + selectorType: "selector should be a function", + changeType: "provided value of changes should be an object", + changeField: 'it seams you want to change a field in the state which is not specified in the "initial" state', + "default": "an unknown error accured in `state-local` package" + }; + var errorHandler = curry(throwError)(errorMessages); + var validators = { + changes: validateChanges, + selector: validateSelector, + handler: validateHandler, + initial: validateInitial + }; + function create(initial) { + var handler = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + validators.initial(initial); + validators.handler(handler); + var state = { + current: initial + }; + var didUpdate = curry(didStateUpdate)(state, handler); + var update = curry(updateState)(state); + var validate = curry(validators.changes)(initial); + var getChanges = curry(extractChanges)(state); + function getState2() { + var selector = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function(state2) { + return state2; + }; + validators.selector(selector); + return selector(state.current); + } + function setState2(causedChanges) { + compose(didUpdate, update, validate, getChanges)(causedChanges); + } + return [getState2, setState2]; + } + function extractChanges(state, causedChanges) { + return isFunction(causedChanges) ? causedChanges(state.current) : causedChanges; + } + function updateState(state, changes) { + state.current = _objectSpread22(_objectSpread22({}, state.current), changes); + return changes; + } + function didStateUpdate(state, handler, changes) { + isFunction(handler) ? handler(state.current) : Object.keys(changes).forEach(function(field) { + var _handler$field; + return (_handler$field = handler[field]) === null || _handler$field === void 0 ? void 0 : _handler$field.call(handler, state.current[field]); + }); + return changes; + } + var index = { + create + }; + var state_local_default = index; + var config = { + paths: { + vs: "https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs" + } + }; + var config_default = config; + function curry2(fn) { + return function curried() { + var _this = this; + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return args.length >= fn.length ? fn.apply(this, args) : function() { + for (var _len2 = arguments.length, nextArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + nextArgs[_key2] = arguments[_key2]; + } + return curried.apply(_this, [].concat(args, nextArgs)); + }; + }; + } + var curry_default = curry2; + function isObject2(value) { + return {}.toString.call(value).includes("Object"); + } + var isObject_default = isObject2; + function validateConfig(config3) { + if (!config3) + errorHandler2("configIsRequired"); + if (!isObject_default(config3)) + errorHandler2("configType"); + if (config3.urls) { + informAboutDeprecation(); + return { + paths: { + vs: config3.urls.monacoBase + } + }; + } + return config3; + } + function informAboutDeprecation() { + console.warn(errorMessages2.deprecation); + } + function throwError2(errorMessages3, type) { + throw new Error(errorMessages3[type] || errorMessages3["default"]); + } + var errorMessages2 = { + configIsRequired: "the configuration object is required", + configType: "the configuration object should be an object", + "default": "an unknown error accured in `@monaco-editor/loader` package", + deprecation: "Deprecation warning!\n You are using deprecated way of configuration.\n\n Instead of using\n monaco.config({ urls: { monacoBase: '...' } })\n use\n monaco.config({ paths: { vs: '...' } })\n\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\n " + }; + var errorHandler2 = curry_default(throwError2)(errorMessages2); + var validators2 = { + config: validateConfig + }; + var validators_default = validators2; + var compose2 = function compose3() { + for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) { + fns[_key] = arguments[_key]; + } + return function(x) { + return fns.reduceRight(function(y, f) { + return f(y); + }, x); + }; + }; + var compose_default = compose2; + function merge(target, source) { + Object.keys(source).forEach(function(key) { + if (source[key] instanceof Object) { + if (target[key]) { + Object.assign(source[key], merge(target[key], source[key])); + } + } + }); + return _objectSpread2(_objectSpread2({}, target), source); + } + var deepMerge_default = merge; + var CANCELATION_MESSAGE = { + type: "cancelation", + msg: "operation is manually canceled" + }; + function makeCancelable(promise) { + var hasCanceled_ = false; + var wrappedPromise = new Promise(function(resolve, reject) { + promise.then(function(val) { + return hasCanceled_ ? reject(CANCELATION_MESSAGE) : resolve(val); + }); + promise["catch"](reject); + }); + return wrappedPromise.cancel = function() { + return hasCanceled_ = true; + }, wrappedPromise; + } + var makeCancelable_default = makeCancelable; + var _state$create = state_local_default.create({ + config: config_default, + isInitialized: false, + resolve: null, + reject: null, + monaco: null + }); + var _state$create2 = _slicedToArray(_state$create, 2); + var getState = _state$create2[0]; + var setState = _state$create2[1]; + function config2(globalConfig) { + var _validators$config = validators_default.config(globalConfig), monaco = _validators$config.monaco, config3 = _objectWithoutProperties(_validators$config, ["monaco"]); + setState(function(state) { + return { + config: deepMerge_default(state.config, config3), + monaco + }; + }); + } + function init() { + var state = getState(function(_ref) { + var monaco = _ref.monaco, isInitialized = _ref.isInitialized, resolve = _ref.resolve; + return { + monaco, + isInitialized, + resolve + }; + }); + if (!state.isInitialized) { + setState({ + isInitialized: true + }); + if (state.monaco) { + state.resolve(state.monaco); + return makeCancelable_default(wrapperPromise); + } + if (window.monaco && window.monaco.editor) { + storeMonacoInstance(window.monaco); + state.resolve(window.monaco); + return makeCancelable_default(wrapperPromise); + } + compose_default(injectScripts, getMonacoLoaderScript)(configureLoader); + } + return makeCancelable_default(wrapperPromise); + } + function injectScripts(script) { + return document.body.appendChild(script); + } + function createScript(src) { + var script = document.createElement("script"); + return src && (script.src = src), script; + } + function getMonacoLoaderScript(configureLoader2) { + var state = getState(function(_ref2) { + var config3 = _ref2.config, reject = _ref2.reject; + return { + config: config3, + reject + }; + }); + var loaderScript = createScript("".concat(state.config.paths.vs, "/loader.js")); + loaderScript.onload = function() { + return configureLoader2(); + }; + loaderScript.onerror = state.reject; + return loaderScript; + } + function configureLoader() { + var state = getState(function(_ref3) { + var config3 = _ref3.config, resolve = _ref3.resolve, reject = _ref3.reject; + return { + config: config3, + resolve, + reject + }; + }); + var require2 = window.require; + require2.config(state.config); + require2(["vs/editor/editor.main"], function(monaco) { + storeMonacoInstance(monaco); + state.resolve(monaco); + }, function(error) { + state.reject(error); + }); + } + function storeMonacoInstance(monaco) { + if (!getState().monaco) { + setState({ + monaco + }); + } + } + function __getMonacoInstance() { + return getState(function(_ref4) { + var monaco = _ref4.monaco; + return monaco; + }); + } + var wrapperPromise = new Promise(function(resolve, reject) { + return setState({ + resolve, + reject + }); + }); + var loader = { + config: config2, + init, + __getMonacoInstance + }; + var loader_default = loader; + var colors = { + background: "#282c34", + default: "#c4cad6", + lightRed: "#e06c75", + blue: "#61afef", + gray: "#8c92a3", + green: "#98c379", + purple: "#c678dd", + red: "#be5046", + teal: "#56b6c2", + peach: "#d19a66" + }; + var rules = (colors2) => [ + { token: "", foreground: colors2.default }, + { token: "variable", foreground: colors2.lightRed }, + { token: "constant", foreground: colors2.blue }, + { token: "constant.character.escape", foreground: colors2.blue }, + { token: "comment", foreground: colors2.gray }, + { token: "number", foreground: colors2.blue }, + { token: "regexp", foreground: colors2.lightRed }, + { token: "type", foreground: colors2.lightRed }, + { token: "string", foreground: colors2.green }, + { token: "keyword", foreground: colors2.purple }, + { token: "operator", foreground: colors2.peach }, + { token: "delimiter.bracket.embed", foreground: colors2.red }, + { token: "sigil", foreground: colors2.teal }, + { token: "function", foreground: colors2.blue }, + { token: "function.call", foreground: colors2.default }, + // Markdown specific + { token: "emphasis", fontStyle: "italic" }, + { token: "strong", fontStyle: "bold" }, + { token: "keyword.md", foreground: colors2.lightRed }, + { token: "keyword.table", foreground: colors2.lightRed }, + { token: "string.link.md", foreground: colors2.blue }, + { token: "variable.md", foreground: colors2.teal }, + { token: "string.md", foreground: colors2.default }, + { token: "variable.source.md", foreground: colors2.default }, + // XML specific + { token: "tag", foreground: colors2.lightRed }, + { token: "metatag", foreground: colors2.lightRed }, + { token: "attribute.name", foreground: colors2.peach }, + { token: "attribute.value", foreground: colors2.green }, + // JSON specific + { token: "string.key", foreground: colors2.lightRed }, + { token: "keyword.json", foreground: colors2.blue }, + // SQL specific + { token: "operator.sql", foreground: colors2.purple } + ]; + var theme = { + base: "vs-dark", + inherit: false, + rules: rules(colors), + colors: { + "editor.background": colors.background, + "editor.foreground": colors.default, + "editorLineNumber.foreground": "#636d83", + "editorCursor.foreground": "#636d83", + "editor.selectionBackground": "#3e4451", + "editor.findMatchHighlightBackground": "#528bff3d", + "editorSuggestWidget.background": "#21252b", + "editorSuggestWidget.border": "#181a1f", + "editorSuggestWidget.selectedBackground": "#2c313a", + "input.background": "#1b1d23", + "input.border": "#181a1f", + "editorBracketMatch.border": "#282c34", + "editorBracketMatch.background": "#3e4451" + } + }; + var CodeEditor = class { + constructor(el, path, value, opts) { + this.el = el; + this.path = path; + this.value = value; + this.opts = opts; + this.standalone_code_editor = null; + this._onMount = []; + } + isMounted() { + return !!this.standalone_code_editor; + } + mount() { + if (this.isMounted()) { + throw new Error("The monaco editor is already mounted"); + } + this._mountEditor(); + } + onMount(callback) { + this._onMount.push(callback); + } + dispose() { + if (this.isMounted()) { + const model = this.standalone_code_editor.getModel(); + if (model) { + model.dispose(); + } + this.standalone_code_editor.dispose(); + } + } + _mountEditor() { + this.opts.value = this.value; + loader_default.config({ + paths: { vs: "https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs" } + }); + loader_default.init().then((monaco) => { + monaco.editor.defineTheme("default", theme); + let modelUri = monaco.Uri.parse(this.path); + let language = this.opts.language; + let model = monaco.editor.createModel(this.value, language, modelUri); + this.opts.language = void 0; + this.opts.model = model; + this.standalone_code_editor = monaco.editor.create(this.el, this.opts); + this._onMount.forEach((callback) => callback(monaco)); + this._setScreenDependantEditorOptions(); + const resizeObserver = new ResizeObserver((entries) => { + console.log("resizeObserver"); + entries.forEach(() => { + if (this.el.offsetHeight > 0) { + this._setScreenDependantEditorOptions(); + this.standalone_code_editor.layout(); + } + }); + }); + resizeObserver.observe(this.el); + this.standalone_code_editor.onDidContentSizeChange(() => { + console.log("onDidContentSizeChanges"); + const contentHeight = this.standalone_code_editor.getContentHeight(); + this.el.style.height = `${contentHeight}px`; + }); + }); + } + _setScreenDependantEditorOptions() { + if (window.screen.width < 768) { + this.standalone_code_editor.updateOptions({ + folding: false, + lineDecorationsWidth: 16, + lineNumbersMinChars: Math.floor( + Math.log10(this.standalone_code_editor.getModel().getLineCount()) + ) + 3 + }); + } else { + this.standalone_code_editor.updateOptions({ + folding: true, + lineDecorationsWidth: 10, + lineNumbersMinChars: 5 + }); + } + } + }; + var code_editor_default = CodeEditor; + var CodeEditorHook = { + mounted() { + const opts = JSON.parse(this.el.dataset.opts); + this.codeEditor = new code_editor_default( + this.el, + this.el.dataset.path, + this.el.dataset.value, + opts + ); + this.codeEditor.onMount((monaco) => { + this.el.dispatchEvent( + new CustomEvent("lme:editor_mounted", { + detail: { hook: this, editor: this.codeEditor }, + bubbles: true + }) + ); + this.handleEvent( + "lme:change_language:" + this.el.dataset.path, + (data) => { + const model = this.codeEditor.standalone_code_editor.getModel(); + if (model.getLanguageId() !== data.mimeTypeOrLanguageId) { + monaco.editor.setModelLanguage(model, data.mimeTypeOrLanguageId); + } + } + ); + this.handleEvent("lme:set_value:" + this.el.dataset.path, (data) => { + this.codeEditor.standalone_code_editor.setValue(data.value); + }); + this.el.querySelectorAll("textarea").forEach((textarea) => { + textarea.setAttribute( + "name", + "live_monaco_editor[" + this.el.dataset.path + "]" + ); + }); + this.el.removeAttribute("data-value"); + this.el.removeAttribute("data-opts"); + }); + if (!this.codeEditor.isMounted()) { + this.codeEditor.mount(); + } + }, + destroyed() { + if (this.codeEditor) { + this.codeEditor.dispose(); + } + } + }; + + // js/beacon_live_admin.js + var Hooks = {}; + Hooks.CodeEditorHook = CodeEditorHook; + import_topbar.default.config({ barColors: { 0: "#29d" }, shadowColor: "rgba(0, 0, 0, .3)" }); + window.addEventListener("phx:page-loading-start", (_info) => import_topbar.default.show(300)); + window.addEventListener("phx:page-loading-stop", (_info) => import_topbar.default.hide()); + window.addEventListener("lme:editor_mounted", (ev) => { + const hook = ev.detail.hook; + const editor = ev.detail.editor.standalone_code_editor; + const eventName = ev.detail.editor.path + "_editor_lost_focus"; + editor.onDidBlurEditorWidget(() => { + hook.pushEvent(eventName, { value: editor.getValue() }); + }); + }); + window.addEventListener("beacon_admin:clipcopy", (event) => { + const result_id = `${event.target.id}-copy-to-clipboard-result`; + const el = document.getElementById(result_id); + if ("clipboard" in navigator) { + if (event.target.tagName === "INPUT") { + txt = event.target.value; + } else { + txt = event.target.textContent; + } + navigator.clipboard.writeText(txt).then(() => { + el.innerText = "Copied to clipboard"; + el.classList.remove("invisible", "text-red-500", "opacity-0"); + el.classList.add("text-green-500", "opacity-100", "-translate-y-2"); + setTimeout(function() { + el.classList.remove("text-green-500", "opacity-100", "-translate-y-2"); + el.classList.add("invisible", "text-red-500", "opacity-0"); + }, 2e3); + }).catch(() => { + el.innerText = "Could not copy"; + el.classList.remove("invisible", "text-green-500", "opacity-0"); + el.classList.add("text-red-500", "opacity-100", "-translate-y-2"); + }); + } else { + alert( + "Sorry, your browser does not support clipboard copy." + ); + } + }); + var socketPath = document.querySelector("html").getAttribute("phx-socket") || "/live"; + var csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute("content"); + var liveSocket = new LiveView.LiveSocket(socketPath, Phoenix.Socket, { + hooks: Hooks, + params: { _csrf_token: csrfToken } + }); + liveSocket.connect(); + window.liveSocket = liveSocket; +})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ +//# sourceMappingURL=./beacon_live_admin.js-4e23f33bde38e2239dfdb07799b3f322.map diff --git a/priv/static/beacon_live_admin-10c5d0bddc9044da983ae0050ade724d.js.gz b/priv/static/beacon_live_admin-10c5d0bddc9044da983ae0050ade724d.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..d5dea50fa7a797ab386838fec41303dc22e9c50a GIT binary patch literal 8546 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 literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin-23f685650495ba97f17625f559c5eb3f.js b/priv/static/beacon_live_admin-23f685650495ba97f17625f559c5eb3f.js new file mode 100644 index 00000000..47d1d210 --- /dev/null +++ b/priv/static/beacon_live_admin-23f685650495ba97f17625f559c5eb3f.js @@ -0,0 +1,17 @@ +var BeaconLiveAdmin=(()=>{var _e=Object.create;var W=Object.defineProperty;var ge=Object.getOwnPropertyDescriptor;var be=Object.getOwnPropertyNames;var ye=Object.getPrototypeOf,ve=Object.prototype.hasOwnProperty;var xe=(t,e,n)=>e in t?W(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var $e=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ut=(t,e)=>{for(var n in e)W(t,n,{get:e[n],enumerable:!0})},we=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of be(e))!ve.call(t,o)&&o!==n&&W(t,o,{get:()=>e[o],enumerable:!(r=ge(e,o))||r.enumerable});return t};var Ee=(t,e,n)=>(n=t!=null?_e(ye(t)):{},we(e||!t||!t.__esModule?W(n,"default",{value:t,enumerable:!0}):n,t));var g=(t,e,n)=>(xe(t,typeof e!="symbol"?e+"":e,n),n);var At=$e((Ct,G)=>{(function(t,e){"use strict";(function(){for(var f=0,_=["ms","moz","webkit","o"],v=0;v<_.length&&!t.requestAnimationFrame;++v)t.requestAnimationFrame=t[_[v]+"RequestAnimationFrame"],t.cancelAnimationFrame=t[_[v]+"CancelAnimationFrame"]||t[_[v]+"CancelRequestAnimationFrame"];t.requestAnimationFrame||(t.requestAnimationFrame=function(at,ir){var ct=new Date().getTime(),lt=Math.max(0,16-(ct-f)),me=t.setTimeout(function(){at(ct+lt)},lt);return f=ct+lt,me}),t.cancelAnimationFrame||(t.cancelAnimationFrame=function(at){clearTimeout(at)})})();var n,r,o,i=null,a=null,l=null,c=function(f,_,v){f.addEventListener?f.addEventListener(_,v,!1):f.attachEvent?f.attachEvent("on"+_,v):f["on"+_]=v},s={autoRun:!0,barThickness:3,barColors:{0:"rgba(26, 188, 156, .9)",".25":"rgba(52, 152, 219, .9)",".50":"rgba(241, 196, 15, .9)",".75":"rgba(230, 126, 34, .9)","1.0":"rgba(211, 84, 0, .9)"},shadowBlur:10,shadowColor:"rgba(0, 0, 0, .6)",className:null},d=function(){n.width=t.innerWidth,n.height=s.barThickness*5;var f=n.getContext("2d");f.shadowBlur=s.shadowBlur,f.shadowColor=s.shadowColor;var _=f.createLinearGradient(0,0,n.width,0);for(var v in s.barColors)_.addColorStop(v,s.barColors[v]);f.lineWidth=s.barThickness,f.beginPath(),f.moveTo(0,s.barThickness/2),f.lineTo(Math.ceil(r*n.width),s.barThickness/2),f.strokeStyle=_,f.stroke()},u=function(){n=e.createElement("canvas");var f=n.style;f.position="fixed",f.top=f.left=f.right=f.margin=f.padding=0,f.zIndex=100001,f.display="none",s.className&&n.classList.add(s.className),e.body.appendChild(n),c(t,"resize",d)},p={config:function(f){for(var _ in f)s.hasOwnProperty(_)&&(s[_]=f[_])},show:function(f){if(!o)if(f){if(l)return;l=setTimeout(()=>p.show(),f)}else o=!0,a!==null&&t.cancelAnimationFrame(a),n||u(),n.style.opacity=1,n.style.display="block",p.progress(0),s.autoRun&&function _(){i=t.requestAnimationFrame(_),p.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(f){return typeof f>"u"||(typeof f=="string"&&(f=(f.indexOf("+")>=0||f.indexOf("-")>=0?r:0)+parseFloat(f)),r=f>1?1:f,d()),r},hide:function(){clearTimeout(l),l=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function f(){if(p.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",a=null;return}a=t.requestAnimationFrame(f)}())}};typeof G=="object"&&typeof G.exports=="object"?G.exports=p:typeof define=="function"&&define.amd?define(function(){return p}):this.topbar=p}).call(Ct,window,document)});var st=Ee(At());function ke(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Tt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Mt(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function Oe(t,e){if(t==null)return{};var n=Fe(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function Se(t,e){return je(t)||Ce(t,e)||Ae(t,e)||Te()}function je(t){if(Array.isArray(t))return t}function Ce(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var a=t[Symbol.iterator](),l;!(r=(l=a.next()).done)&&(n.push(l.value),!(e&&n.length===e));r=!0);}catch(c){o=!0,i=c}finally{try{!r&&a.return!=null&&a.return()}finally{if(o)throw i}}return n}}function Ae(t,e){if(t){if(typeof t=="string")return Dt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Dt(t,e)}}function Dt(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var a=arguments.length,l=new Array(a),c=0;c1&&arguments[1]!==void 0?arguments[1]:{};U.initial(t),U.handler(e);var n={current:t},r=R(Ue)(n,e),o=R(Ge)(n),i=R(U.changes)(t),a=R(We)(n);function l(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(d){return d};return U.selector(s),s(n.current)}function c(s){De(r,o,i,a)(s)}return[l,c]}function We(t,e){return q(e)?e(t.current):e}function Ge(t,e){return t.current=Lt(Lt({},t.current),e),e}function Ue(t,e,n){return q(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var Ve={create:He},Je=Ve,Ke={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},Xe=Ke;function Ye(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var a=arguments.length,l=new Array(a),c=0;c[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],$n={base:"vs-dark",inherit:!1,rules:xn(pt),colors:{"editor.background":pt.background,"editor.foreground":pt.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},wn=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,Nt.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),Nt.init().then(t=>{t.editor.defineTheme("default",$n);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},En=wn,Ht={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new En(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function kn(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function z(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function Wt(t){t.parentNode?.removeChild(t)}function Gt(t,e,n){t.insertBefore(e,n||null)}function Ut(){}function Fn(t){let e={};for(let n in z(t,"data-slots")){let r=()=>({getElement(){let o=z(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){Wt(this.savedElement),this.savedElement=this.getElement(),Gt(this.savedTarget,this.savedElement,this.savedAnchor)},c:Ut,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),Gt(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&Wt(this.savedElement)},l:Ut});e[n]=[r]}return e}function On(t){let e=z(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function K(t){return{...z(t,"data-props"),...On(t),live:t,$$slots:Fn(t),$$scope:{}}}function Sn(t){return t.$$.ctx.find(e=>e?.default)}function Vt(t){return t=kn(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(z(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(K(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(K(this)),!1);this._instance=new r({target:this.el,props:K(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(K(this));let n=Sn(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var jt={};ut(jt,{default:()=>er,filenames:()=>nr});var Ft={};ut(Ft,{default:()=>kt});function x(){}function ht(t){return t()}function X(){return Object.create(null)}function E(t){t.forEach(ht)}function Y(t){return typeof t=="function"}function Q(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}function Jt(t){return Object.keys(t).length===0}var mt=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var A=class{constructor(e){g(this,"_listeners","WeakMap"in mt?new WeakMap:void 0);g(this,"_observer");g(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)A.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};A.entries="WeakMap"in mt?new WeakMap:void 0;var Z=!1;function Kt(){Z=!0}function Xt(){Z=!1}function An(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function Tn(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let c=[];for(let s=0;s0&&e[n[o]].claim_order<=s?o+1:An(1,o,p=>e[n[p]].claim_order,s))-1;r[c]=n[d]+1;let u=d+1;n[u]=c,o=Math.max(u,o)}let i=[],a=[],l=e.length-1;for(let c=n[o]+1;c!=0;c=r[c-1]){for(i.push(e[c-1]);l>=c;l--)a.push(e[l]);l--}for(;l>=0;l--)a.push(e[l]);i.reverse(),a.sort((c,s)=>c.claim_order-s.claim_order);for(let c=0,s=0;c=i[s].claim_order;)s++;let d=st.removeEventListener(e,n,r)}function m(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function Yt(t){return t.dataset.svelteH}function $(t){return Array.from(t.childNodes)}function Mn(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function Qt(t,e,n,r,o=!1){Mn(t);let i=(()=>{for(let a=t.claim_info.last_index;a=0;a--){let l=t[a];if(e(l)){let c=n(l);return c===void 0?t.splice(a,1):t[a]=c,o?c===void 0&&t.claim_info.last_index--:t.claim_info.last_index=a,l}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function Dn(t,e,n,r){return Qt(t,o=>o.nodeName===e,o=>{let i=[];for(let a=0;ao.removeAttribute(a))},()=>r(e))}function w(t,e,n){return Dn(t,e,n,b)}function et(t,e){return Qt(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>T(e),!0)}function D(t){return et(t," ")}function Zt(t,e){let n=[],r=0;for(let o of e.childNodes)if(o.nodeType===8){let i=o.textContent.trim();i===`HEAD_${t}_END`?(r-=1,n.push(o)):i===`HEAD_${t}_START`&&(r+=1,n.push(o))}else r>0&&n.push(o);return n}function te(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var P;function F(t){P=t}var S=[];var ne=[],I=[],re=[],qn=Promise.resolve(),vt=!1;function oe(){vt||(vt=!0,qn.then(nt))}function H(t){I.push(t)}var yt=new Set,L=0;function nt(){if(L!==0)return;let t=P;do{try{for(;Lt.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),I=e}var rt=new Set,zn;function N(t,e){t&&t.i&&(rt.delete(t),t.i(e))}function ot(t,e,n,r){if(t&&t.o){if(rt.has(t))return;rt.add(t),zn.c.push(()=>{rt.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}function j(t){return t?.length!==void 0?t:Array.from(t)}var Hn=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Wn=new Set([...Hn]);function se(t){t&&t.c()}function ae(t,e){t&&t.l(e)}function $t(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),H(()=>{let i=t.$$.on_mount.map(ht).filter(Y);t.$$.on_destroy?t.$$.on_destroy.push(...i):E(i),t.$$.on_mount=[]}),o.forEach(H)}function wt(t,e){let n=t.$$;n.fragment!==null&&(ie(n.after_update),E(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Un(t,e){t.$$.dirty[0]===-1&&(S.push(t),oe(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let _=f.length?f[0]:p;return s.ctx&&o(s.ctx[u],s.ctx[u]=_)&&(!s.skip_bound&&s.bound[u]&&s.bound[u](_),d&&Un(t,u)),p}):[],s.update(),d=!0,E(s.before_update),s.fragment=r?r(s.ctx):!1,e.target){if(e.hydrate){Kt();let u=$(e.target);s.fragment&&s.fragment.l(u),u.forEach(h)}else s.fragment&&s.fragment.c();e.intro&&N(t.$$.fragment),$t(t,e.target,e.anchor),Xt(),nt()}F(c)}var Vn;typeof HTMLElement=="function"&&(Vn=class extends HTMLElement{constructor(e,n,r){super();g(this,"$$ctor");g(this,"$$s");g(this,"$$c");g(this,"$$cn",!1);g(this,"$$d",{});g(this,"$$r",!1);g(this,"$$p_d",{});g(this,"$$l",{});g(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let a;return{c:function(){a=b("slot"),i!=="default"&&m(a,"name",i)},m:function(s,d){_t(s,a,d)},d:function(s){s&&h(a)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=te(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let a=this.$$g_p(i.name);a in this.$$d||(this.$$d[a]=xt(a,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let a=xt(i,this.$$d[i],this.$$p_d,"toAttribute");a==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,a)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let a of this.$$l[i]){let l=this.$$c.$on(i,a);this.$$l_u.set(a,l)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=xt(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function xt(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var C=class{constructor(){g(this,"$$");g(this,"$$set")}$destroy(){wt(this,1),this.$destroy=x}$on(e,n){if(!Y(n))return x;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!Jt(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var ce="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(ce);function le(t,e,n){let r=t.slice();return r[3]=e[n],r}function ue(t,e,n){let r=t.slice();return r[6]=e[n],r}function fe(t){let e,n,r=t[1][t[6].name]+"",o,i,a,l;function c(){return t[2](t[6])}return{c(){e=b("li"),n=b("div"),o=T(r),i=M(),this.h()},l(s){e=w(s,"LI",{class:!0,"data-test-id":!0});var d=$(e);n=w(d,"DIV",{class:!0});var u=$(n);o=et(u,r),u.forEach(h),i=D(d),d.forEach(h),this.h()},h(){m(n,"class","pl-2"),m(e,"class","pb-1"),m(e,"data-test-id","nav-item")},m(s,d){k(s,e,d),y(e,n),y(n,o),y(e,i),a||(l=[tt(e,"mouseenter",c),tt(e,"mouseleave",Kn)],a=!0)},p(s,d){t=s},d(s){s&&h(e),a=!1,E(l)}}}function de(t){let e,n,r=t[3].name+"",o,i,a,l=j(t[3].items),c=[];for(let s=0;svoid 0]}var Et=class extends C{constructor(e){super(),it(this,e,Xn,Jn,Q,{})}},kt=Et;var St={};ut(St,{default:()=>Zn});function Yn(t){let e,n,r,o,i;return o=new kt({}),{c(){e=b("meta"),n=M(),r=b("div"),se(o.$$.fragment),this.h()},l(a){let l=Zt("svelte-brtbho",document.head);e=w(l,"META",{name:!0,content:!0}),l.forEach(h),n=D(a),r=w(a,"DIV",{class:!0,"data-test-id":!0});var c=$(r);ae(o.$$.fragment,c),c.forEach(h),this.h()},h(){document.title="Beacon UI Builder",m(e,"name","description"),m(e,"content","UI builder to compose beacon pages"),m(r,"class","flex min-h-screen bg-gray-100"),m(r,"data-test-id","app-container")},m(a,l){y(document.head,e),k(a,n,l),k(a,r,l),$t(o,r,null),i=!0},p:x,i(a){i||(N(o.$$.fragment,a),i=!0)},o(a){ot(o.$$.fragment,a),i=!1},d(a){a&&(h(n),h(r)),h(e),wt(o)}}}function Qn(t,e,n){let{components:r}=e;return t.$$set=o=>{"components"in o&&n(0,r=o.components)},t.$$.update=()=>{if(t.$$.dirty&1){t:console.log("components",r)}},[r]}var Ot=class extends C{constructor(e){super(),it(this,e,Qn,Yn,Q,{components:0})}},Zn=Ot;var tr=[Ft,St],er=tr,nr=["../svelte/components/ComponentsSidebar.svelte","../svelte/components/UiBuilder.svelte"];var pe={};pe.CodeEditorHook=Ht;st.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>st.default.show(300));window.addEventListener("phx:page-loading-stop",t=>st.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var rr=document.querySelector("html").getAttribute("phx-socket")||"/live",or=document.querySelector("meta[name='csrf-token']").getAttribute("content"),he=new LiveView.LiveSocket(rr,Phoenix.Socket,{hooks:{...Vt(jt),...pe},params:{_csrf_token:or}});he.connect();window.liveSocket=he;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-23f685650495ba97f17625f559c5eb3f.js.gz b/priv/static/beacon_live_admin-23f685650495ba97f17625f559c5eb3f.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..e8dc60528d8dca751cf94d019743eb9a1da7c729 GIT binary patch literal 11670 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 literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin-2448469d538e9ceefe08eae875520e6f.js b/priv/static/beacon_live_admin-2448469d538e9ceefe08eae875520e6f.js new file mode 100644 index 00000000..63d55321 --- /dev/null +++ b/priv/static/beacon_live_admin-2448469d538e9ceefe08eae875520e6f.js @@ -0,0 +1,17 @@ +var BeaconLiveAdmin=(()=>{var _e=Object.create;var W=Object.defineProperty;var ge=Object.getOwnPropertyDescriptor;var be=Object.getOwnPropertyNames;var ye=Object.getPrototypeOf,ve=Object.prototype.hasOwnProperty;var xe=(t,e,n)=>e in t?W(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var $e=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ut=(t,e)=>{for(var n in e)W(t,n,{get:e[n],enumerable:!0})},we=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of be(e))!ve.call(t,o)&&o!==n&&W(t,o,{get:()=>e[o],enumerable:!(r=ge(e,o))||r.enumerable});return t};var Ee=(t,e,n)=>(n=t!=null?_e(ye(t)):{},we(e||!t||!t.__esModule?W(n,"default",{value:t,enumerable:!0}):n,t));var g=(t,e,n)=>(xe(t,typeof e!="symbol"?e+"":e,n),n);var At=$e((Ct,G)=>{(function(t,e){"use strict";(function(){for(var f=0,_=["ms","moz","webkit","o"],v=0;v<_.length&&!t.requestAnimationFrame;++v)t.requestAnimationFrame=t[_[v]+"RequestAnimationFrame"],t.cancelAnimationFrame=t[_[v]+"CancelAnimationFrame"]||t[_[v]+"CancelRequestAnimationFrame"];t.requestAnimationFrame||(t.requestAnimationFrame=function(at,ir){var ct=new Date().getTime(),lt=Math.max(0,16-(ct-f)),me=t.setTimeout(function(){at(ct+lt)},lt);return f=ct+lt,me}),t.cancelAnimationFrame||(t.cancelAnimationFrame=function(at){clearTimeout(at)})})();var n,r,o,i=null,a=null,l=null,c=function(f,_,v){f.addEventListener?f.addEventListener(_,v,!1):f.attachEvent?f.attachEvent("on"+_,v):f["on"+_]=v},s={autoRun:!0,barThickness:3,barColors:{0:"rgba(26, 188, 156, .9)",".25":"rgba(52, 152, 219, .9)",".50":"rgba(241, 196, 15, .9)",".75":"rgba(230, 126, 34, .9)","1.0":"rgba(211, 84, 0, .9)"},shadowBlur:10,shadowColor:"rgba(0, 0, 0, .6)",className:null},d=function(){n.width=t.innerWidth,n.height=s.barThickness*5;var f=n.getContext("2d");f.shadowBlur=s.shadowBlur,f.shadowColor=s.shadowColor;var _=f.createLinearGradient(0,0,n.width,0);for(var v in s.barColors)_.addColorStop(v,s.barColors[v]);f.lineWidth=s.barThickness,f.beginPath(),f.moveTo(0,s.barThickness/2),f.lineTo(Math.ceil(r*n.width),s.barThickness/2),f.strokeStyle=_,f.stroke()},u=function(){n=e.createElement("canvas");var f=n.style;f.position="fixed",f.top=f.left=f.right=f.margin=f.padding=0,f.zIndex=100001,f.display="none",s.className&&n.classList.add(s.className),e.body.appendChild(n),c(t,"resize",d)},p={config:function(f){for(var _ in f)s.hasOwnProperty(_)&&(s[_]=f[_])},show:function(f){if(!o)if(f){if(l)return;l=setTimeout(()=>p.show(),f)}else o=!0,a!==null&&t.cancelAnimationFrame(a),n||u(),n.style.opacity=1,n.style.display="block",p.progress(0),s.autoRun&&function _(){i=t.requestAnimationFrame(_),p.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(f){return typeof f>"u"||(typeof f=="string"&&(f=(f.indexOf("+")>=0||f.indexOf("-")>=0?r:0)+parseFloat(f)),r=f>1?1:f,d()),r},hide:function(){clearTimeout(l),l=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function f(){if(p.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",a=null;return}a=t.requestAnimationFrame(f)}())}};typeof G=="object"&&typeof G.exports=="object"?G.exports=p:typeof define=="function"&&define.amd?define(function(){return p}):this.topbar=p}).call(Ct,window,document)});var st=Ee(At());function ke(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Tt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Mt(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function Oe(t,e){if(t==null)return{};var n=Fe(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function Se(t,e){return je(t)||Ce(t,e)||Ae(t,e)||Te()}function je(t){if(Array.isArray(t))return t}function Ce(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var a=t[Symbol.iterator](),l;!(r=(l=a.next()).done)&&(n.push(l.value),!(e&&n.length===e));r=!0);}catch(c){o=!0,i=c}finally{try{!r&&a.return!=null&&a.return()}finally{if(o)throw i}}return n}}function Ae(t,e){if(t){if(typeof t=="string")return Dt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Dt(t,e)}}function Dt(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var a=arguments.length,l=new Array(a),c=0;c1&&arguments[1]!==void 0?arguments[1]:{};U.initial(t),U.handler(e);var n={current:t},r=R(Ue)(n,e),o=R(Ge)(n),i=R(U.changes)(t),a=R(We)(n);function l(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(d){return d};return U.selector(s),s(n.current)}function c(s){De(r,o,i,a)(s)}return[l,c]}function We(t,e){return q(e)?e(t.current):e}function Ge(t,e){return t.current=Lt(Lt({},t.current),e),e}function Ue(t,e,n){return q(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var Ve={create:He},Je=Ve,Ke={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},Xe=Ke;function Ye(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var a=arguments.length,l=new Array(a),c=0;c[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],$n={base:"vs-dark",inherit:!1,rules:xn(pt),colors:{"editor.background":pt.background,"editor.foreground":pt.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},wn=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,Nt.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),Nt.init().then(t=>{t.editor.defineTheme("default",$n);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},En=wn,Ht={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new En(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function kn(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function z(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function Wt(t){t.parentNode?.removeChild(t)}function Gt(t,e,n){t.insertBefore(e,n||null)}function Ut(){}function Fn(t){let e={};for(let n in z(t,"data-slots")){let r=()=>({getElement(){let o=z(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){Wt(this.savedElement),this.savedElement=this.getElement(),Gt(this.savedTarget,this.savedElement,this.savedAnchor)},c:Ut,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),Gt(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&Wt(this.savedElement)},l:Ut});e[n]=[r]}return e}function On(t){let e=z(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function K(t){return{...z(t,"data-props"),...On(t),live:t,$$slots:Fn(t),$$scope:{}}}function Sn(t){return t.$$.ctx.find(e=>e?.default)}function Vt(t){return t=kn(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(z(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(K(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(K(this)),!1);this._instance=new r({target:this.el,props:K(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(K(this));let n=Sn(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var jt={};ut(jt,{default:()=>er,filenames:()=>nr});var Ft={};ut(Ft,{default:()=>kt});function x(){}function ht(t){return t()}function X(){return Object.create(null)}function E(t){t.forEach(ht)}function Y(t){return typeof t=="function"}function Q(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}function Jt(t){return Object.keys(t).length===0}var mt=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var A=class{constructor(e){g(this,"_listeners","WeakMap"in mt?new WeakMap:void 0);g(this,"_observer");g(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)A.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};A.entries="WeakMap"in mt?new WeakMap:void 0;var Z=!1;function Kt(){Z=!0}function Xt(){Z=!1}function An(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function Tn(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let c=[];for(let s=0;s0&&e[n[o]].claim_order<=s?o+1:An(1,o,p=>e[n[p]].claim_order,s))-1;r[c]=n[d]+1;let u=d+1;n[u]=c,o=Math.max(u,o)}let i=[],a=[],l=e.length-1;for(let c=n[o]+1;c!=0;c=r[c-1]){for(i.push(e[c-1]);l>=c;l--)a.push(e[l]);l--}for(;l>=0;l--)a.push(e[l]);i.reverse(),a.sort((c,s)=>c.claim_order-s.claim_order);for(let c=0,s=0;c=i[s].claim_order;)s++;let d=st.removeEventListener(e,n,r)}function m(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function Yt(t){return t.dataset.svelteH}function $(t){return Array.from(t.childNodes)}function Mn(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function Qt(t,e,n,r,o=!1){Mn(t);let i=(()=>{for(let a=t.claim_info.last_index;a=0;a--){let l=t[a];if(e(l)){let c=n(l);return c===void 0?t.splice(a,1):t[a]=c,o?c===void 0&&t.claim_info.last_index--:t.claim_info.last_index=a,l}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function Dn(t,e,n,r){return Qt(t,o=>o.nodeName===e,o=>{let i=[];for(let a=0;ao.removeAttribute(a))},()=>r(e))}function w(t,e,n){return Dn(t,e,n,b)}function et(t,e){return Qt(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>T(e),!0)}function D(t){return et(t," ")}function Zt(t,e){let n=[],r=0;for(let o of e.childNodes)if(o.nodeType===8){let i=o.textContent.trim();i===`HEAD_${t}_END`?(r-=1,n.push(o)):i===`HEAD_${t}_START`&&(r+=1,n.push(o))}else r>0&&n.push(o);return n}function te(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var P;function F(t){P=t}var S=[];var ne=[],I=[],re=[],qn=Promise.resolve(),vt=!1;function oe(){vt||(vt=!0,qn.then(nt))}function H(t){I.push(t)}var yt=new Set,L=0;function nt(){if(L!==0)return;let t=P;do{try{for(;Lt.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),I=e}var rt=new Set,zn;function N(t,e){t&&t.i&&(rt.delete(t),t.i(e))}function ot(t,e,n,r){if(t&&t.o){if(rt.has(t))return;rt.add(t),zn.c.push(()=>{rt.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}function j(t){return t?.length!==void 0?t:Array.from(t)}var Hn=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Wn=new Set([...Hn]);function se(t){t&&t.c()}function ae(t,e){t&&t.l(e)}function $t(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),H(()=>{let i=t.$$.on_mount.map(ht).filter(Y);t.$$.on_destroy?t.$$.on_destroy.push(...i):E(i),t.$$.on_mount=[]}),o.forEach(H)}function wt(t,e){let n=t.$$;n.fragment!==null&&(ie(n.after_update),E(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Un(t,e){t.$$.dirty[0]===-1&&(S.push(t),oe(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let _=f.length?f[0]:p;return s.ctx&&o(s.ctx[u],s.ctx[u]=_)&&(!s.skip_bound&&s.bound[u]&&s.bound[u](_),d&&Un(t,u)),p}):[],s.update(),d=!0,E(s.before_update),s.fragment=r?r(s.ctx):!1,e.target){if(e.hydrate){Kt();let u=$(e.target);s.fragment&&s.fragment.l(u),u.forEach(h)}else s.fragment&&s.fragment.c();e.intro&&N(t.$$.fragment),$t(t,e.target,e.anchor),Xt(),nt()}F(c)}var Vn;typeof HTMLElement=="function"&&(Vn=class extends HTMLElement{constructor(e,n,r){super();g(this,"$$ctor");g(this,"$$s");g(this,"$$c");g(this,"$$cn",!1);g(this,"$$d",{});g(this,"$$r",!1);g(this,"$$p_d",{});g(this,"$$l",{});g(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let a;return{c:function(){a=b("slot"),i!=="default"&&m(a,"name",i)},m:function(s,d){_t(s,a,d)},d:function(s){s&&h(a)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=te(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let a=this.$$g_p(i.name);a in this.$$d||(this.$$d[a]=xt(a,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let a=xt(i,this.$$d[i],this.$$p_d,"toAttribute");a==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,a)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let a of this.$$l[i]){let l=this.$$c.$on(i,a);this.$$l_u.set(a,l)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=xt(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function xt(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var C=class{constructor(){g(this,"$$");g(this,"$$set")}$destroy(){wt(this,1),this.$destroy=x}$on(e,n){if(!Y(n))return x;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!Jt(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var ce="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(ce);function le(t,e,n){let r=t.slice();return r[3]=e[n],r}function ue(t,e,n){let r=t.slice();return r[6]=e[n],r}function fe(t){let e,n,r=t[1][t[6].name]+"",o,i,a,l;function c(){return t[2](t[6])}return{c(){e=b("li"),n=b("div"),o=T(r),i=M(),this.h()},l(s){e=w(s,"LI",{class:!0,"data-test-id":!0});var d=$(e);n=w(d,"DIV",{class:!0});var u=$(n);o=et(u,r),u.forEach(h),i=D(d),d.forEach(h),this.h()},h(){m(n,"class","pl-2"),m(e,"class","pb-1"),m(e,"data-test-id","nav-item")},m(s,d){k(s,e,d),y(e,n),y(n,o),y(e,i),a||(l=[tt(e,"mouseenter",c),tt(e,"mouseleave",Kn)],a=!0)},p(s,d){t=s},d(s){s&&h(e),a=!1,E(l)}}}function de(t){let e,n,r=t[3].name+"",o,i,a,l=j(t[3].items),c=[];for(let s=0;svoid 0]}var Et=class extends C{constructor(e){super(),it(this,e,Xn,Jn,Q,{})}},kt=Et;var St={};ut(St,{default:()=>Zn});function Yn(t){let e,n,r,o,i;return o=new kt({}),{c(){e=b("meta"),n=M(),r=b("div"),se(o.$$.fragment),this.h()},l(a){let l=Zt("svelte-brtbho",document.head);e=w(l,"META",{name:!0,content:!0}),l.forEach(h),n=D(a),r=w(a,"DIV",{class:!0,"data-test-id":!0});var c=$(r);ae(o.$$.fragment,c),c.forEach(h),this.h()},h(){document.title="Beacon UI Builder",m(e,"name","description"),m(e,"content","UI builder to compose beacon pages"),m(r,"class","flex min-h-screen bg-gray-100"),m(r,"data-test-id","app-container")},m(a,l){y(document.head,e),k(a,n,l),k(a,r,l),$t(o,r,null),i=!0},p:x,i(a){i||(N(o.$$.fragment,a),i=!0)},o(a){ot(o.$$.fragment,a),i=!1},d(a){a&&(h(n),h(r)),h(e),wt(o)}}}function Qn(t,e,n){let{components:r=["not yet"]}=e;return t.$$set=o=>{"components"in o&&n(0,r=o.components)},t.$$.update=()=>{if(t.$$.dirty&1){t:console.log("components",r)}},[r]}var Ot=class extends C{constructor(e){super(),it(this,e,Qn,Yn,Q,{components:0})}},Zn=Ot;var tr=[Ft,St],er=tr,nr=["../svelte/components/ComponentsSidebar.svelte","../svelte/components/UiBuilder.svelte"];var pe={};pe.CodeEditorHook=Ht;st.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>st.default.show(300));window.addEventListener("phx:page-loading-stop",t=>st.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var rr=document.querySelector("html").getAttribute("phx-socket")||"/live",or=document.querySelector("meta[name='csrf-token']").getAttribute("content"),he=new LiveView.LiveSocket(rr,Phoenix.Socket,{hooks:{...Vt(jt),...pe},params:{_csrf_token:or}});he.connect();window.liveSocket=he;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-2448469d538e9ceefe08eae875520e6f.js.gz b/priv/static/beacon_live_admin-2448469d538e9ceefe08eae875520e6f.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..248e5e71488c22b65b62cad4f4968d713cab0d83 GIT binary patch literal 11678 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 literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin-25615e47dd72126d1fad179a2a46b3d9.js b/priv/static/beacon_live_admin-25615e47dd72126d1fad179a2a46b3d9.js new file mode 100644 index 00000000..e881c9ba --- /dev/null +++ b/priv/static/beacon_live_admin-25615e47dd72126d1fad179a2a46b3d9.js @@ -0,0 +1,22 @@ +var BeaconLiveAdmin=(()=>{var bn=Object.create;var wt=Object.defineProperty;var yn=Object.getOwnPropertyDescriptor;var xn=Object.getOwnPropertyNames;var vn=Object.getPrototypeOf,$n=Object.prototype.hasOwnProperty;var wn=(t,e,n)=>e in t?wt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var kn=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),kt=(t,e)=>{for(var n in e)wt(t,n,{get:e[n],enumerable:!0})},En=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of xn(e))!$n.call(t,o)&&o!==n&&wt(t,o,{get:()=>e[o],enumerable:!(r=yn(e,o))||r.enumerable});return t};var On=(t,e,n)=>(n=t!=null?bn(vn(t)):{},En(e||!t||!t.__esModule?wt(n,"default",{value:t,enumerable:!0}):n,t));var C=(t,e,n)=>(wn(t,typeof e!="symbol"?e+"":e,n),n);var Fe=kn((Oe,Et)=>{(function(t,e){"use strict";(function(){for(var f=0,p=["ms","moz","webkit","o"],y=0;yb.show(),f)}else o=!0,a!==null&&t.cancelAnimationFrame(a),n||d(),n.style.opacity=1,n.style.display="block",b.progress(0),s.autoRun&&function p(){i=t.requestAnimationFrame(p),b.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(f){return typeof f>"u"||(typeof f=="string"&&(f=(f.indexOf("+")>=0||f.indexOf("-")>=0?r:0)+parseFloat(f)),r=f>1?1:f,u()),r},hide:function(){clearTimeout(c),c=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function f(){if(b.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",a=null;return}a=t.requestAnimationFrame(f)}())}};typeof Et=="object"&&typeof Et.exports=="object"?Et.exports=b:typeof define=="function"&&define.amd?define(function(){return b}):this.topbar=b}).call(Oe,window,document)});var Gt=On(Fe());function Fn(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Se(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Ce(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function Cn(t,e){if(t==null)return{};var n=Sn(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function Mn(t,e){return jn(t)||An(t,e)||Tn(t,e)||In()}function jn(t){if(Array.isArray(t))return t}function An(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var a=t[Symbol.iterator](),c;!(r=(c=a.next()).done)&&(n.push(c.value),!(e&&n.length===e));r=!0);}catch(l){o=!0,i=l}finally{try{!r&&a.return!=null&&a.return()}finally{if(o)throw i}}return n}}function Tn(t,e){if(t){if(typeof t=="string")return Me(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Me(t,e)}}function Me(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var a=arguments.length,c=new Array(a),l=0;l1&&arguments[1]!==void 0?arguments[1]:{};Ot.initial(t),Ot.handler(e);var n={current:t},r=ht(Jn)(n,e),o=ht(Un)(n),i=ht(Ot.changes)(t),a=ht(Gn)(n);function c(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(u){return u};return Ot.selector(s),s(n.current)}function l(s){Pn(r,o,i,a)(s)}return[c,l]}function Gn(t,e){return mt(e)?e(t.current):e}function Un(t,e){return t.current=Ae(Ae({},t.current),e),e}function Jn(t,e,n){return mt(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var Kn={create:Vn},Xn=Kn,Yn={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},Qn=Yn;function Zn(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var a=arguments.length,c=new Array(a),l=0;l[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],wr={base:"vs-dark",inherit:!1,rules:$r(Xt),colors:{"editor.background":Xt.background,"editor.foreground":Xt.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},kr=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,Ie.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),Ie.init().then(t=>{t.editor.defineTheme("default",wr);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},Er=kr,Ne={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new Er(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function Or(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function gt(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function Re(t){t.parentNode?.removeChild(t)}function Be(t,e,n){t.insertBefore(e,n||null)}function ze(){}function Fr(t){let e={};for(let n in gt(t,"data-slots")){let r=()=>({getElement(){let o=gt(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){Re(this.savedElement),this.savedElement=this.getElement(),Be(this.savedTarget,this.savedElement,this.savedAnchor)},c:ze,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),Be(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&Re(this.savedElement)},l:ze});e[n]=[r]}return e}function Sr(t){let e=gt(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function Ct(t){return{...gt(t,"data-props"),...Sr(t),live:t,$$slots:Fr(t),$$scope:{}}}function Cr(t){return t.$$.ctx.find(e=>e?.default)}function He(t){return t=Or(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(gt(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(Ct(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(Ct(this)),!1);this._instance=new r({target:this.el,props:Ct(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(Ct(this));let n=Cr(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var ke={};kt(ke,{default:()=>no,filenames:()=>ro});var me={};kt(me,{backdropVisible:()=>Vt,default:()=>he});function A(){}var rt=t=>t;function Yt(t){return t()}function jt(){return Object.create(null)}function T(t){t.forEach(Yt)}function Z(t){return typeof t=="function"}function K(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}var Mt;function Qt(t,e){return t===e?!0:(Mt||(Mt=document.createElement("a")),Mt.href=e,t===Mt.href)}function We(t){return Object.keys(t).length===0}function At(t,...e){if(t==null){for(let r of e)r(void 0);return A}let n=t.subscribe(...e);return n.unsubscribe?()=>n.unsubscribe():n}function bt(t,e,n){t.$$.on_destroy.push(At(e,n))}function Zt(t,e,n){return t.set(n),e}var Ve=typeof window<"u",te=Ve?()=>window.performance.now():()=>Date.now(),yt=Ve?t=>requestAnimationFrame(t):A;var ot=new Set;function Ge(t){ot.forEach(e=>{e.c(t)||(ot.delete(e),e.f())}),ot.size!==0&&yt(Ge)}function ee(t){let e;return ot.size===0&&yt(Ge),{promise:new Promise(n=>{ot.add(e={c:t,f:n})}),abort(){ot.delete(e)}}}var ne=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var it=class{constructor(e){C(this,"_listeners","WeakMap"in ne?new WeakMap:void 0);C(this,"_observer");C(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)it.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};it.entries="WeakMap"in ne?new WeakMap:void 0;var Tt=!1;function Ue(){Tt=!0}function Je(){Tt=!1}function jr(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function Ar(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let l=[];for(let s=0;s0&&e[n[o]].claim_order<=s?o+1:jr(1,o,b=>e[n[b]].claim_order,s))-1;r[l]=n[u]+1;let d=u+1;n[d]=l,o=Math.max(d,o)}let i=[],a=[],c=e.length-1;for(let l=n[o]+1;l!=0;l=r[l-1]){for(i.push(e[l-1]);c>=l;c--)a.push(e[c]);c--}for(;c>=0;c--)a.push(e[c]);i.reverse(),a.sort((l,s)=>l.claim_order-s.claim_order);for(let l=0,s=0;l=i[s].claim_order;)s++;let u=st.removeEventListener(e,n,r)}function m(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function oe(t){return t.dataset.svelteH}function M(t){return Array.from(t.childNodes)}function Tr(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function Ze(t,e,n,r,o=!1){Tr(t);let i=(()=>{for(let a=t.claim_info.last_index;a=0;a--){let c=t[a];if(e(c)){let l=n(c);return l===void 0?t.splice(a,1):t[a]=l,o?l===void 0&&t.claim_info.last_index--:t.claim_info.last_index=a,c}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function Ir(t,e,n,r){return Ze(t,o=>o.nodeName===e,o=>{let i=[];for(let a=0;ao.removeAttribute(a))},()=>r(e))}function F(t,e,n){return Ir(t,e,n,x)}function tt(t,e){return Ze(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>z(e),!0)}function N(t){return tt(t," ")}function Pt(t,e){e=""+e,t.data!==e&&(t.data=e)}function ie(t,e,n){t.classList.toggle(e,!!n)}function qt(t,e,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(t,{detail:e,bubbles:n,cancelable:r})}function tn(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var Lt=new Map,Nt=0;function Dr(t){let e=5381,n=t.length;for(;n--;)e=(e<<5)-e^t.charCodeAt(n);return e>>>0}function Pr(t,e){let n={stylesheet:Ye(e),rules:{}};return Lt.set(t,n),n}function Rt(t,e,n,r,o,i,a,c=0){let l=16.666/r,s=`{ +`;for(let $=0;$<=1;$+=l){let S=e+(n-e)*i($);s+=$*100+`%{${a(S,1-S)}} +`}let u=s+`100% {${a(n,1-n)}} +}`,d=`__svelte_${Dr(u)}_${c}`,b=It(t),{stylesheet:f,rules:p}=Lt.get(b)||Pr(b,t);p[d]||(p[d]=!0,f.insertRule(`@keyframes ${d} ${u}`,f.cssRules.length));let y=t.style.animation||"";return t.style.animation=`${y?`${y}, `:""}${d} ${r}ms linear ${o}ms 1 both`,Nt+=1,d}function se(t,e){let n=(t.style.animation||"").split(", "),r=n.filter(e?i=>i.indexOf(e)<0:i=>i.indexOf("__svelte")===-1),o=n.length-r.length;o&&(t.style.animation=r.join(", "),Nt-=o,Nt||qr())}function qr(){yt(()=>{Nt||(Lt.forEach(t=>{let{ownerNode:e}=t.stylesheet;e&&_(e)}),Lt.clear())})}var st;function H(t){st=t}var et=[];var en=[],ct=[],nn=[],Lr=Promise.resolve(),ce=!1;function rn(){ce||(ce=!0,Lr.then(Bt))}function R(t){ct.push(t)}var ae=new Set,at=0;function Bt(){if(at!==0)return;let t=st;do{try{for(;att.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),ct=e}var xt;function Rr(){return xt||(xt=Promise.resolve(),xt.then(()=>{xt=null})),xt}function le(t,e,n){t.dispatchEvent(qt(`${e?"intro":"outro"}${n}`))}var zt=new Set,W;function vt(){W={r:0,c:[],p:W}}function $t(){W.r||T(W.c),W=W.p}function D(t,e){t&&t.i&&(zt.delete(t),t.i(e))}function B(t,e,n,r){if(t&&t.o){if(zt.has(t))return;zt.add(t),W.c.push(()=>{zt.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}var Br={duration:0};function Q(t,e,n,r){let i=e(t,n,{direction:"both"}),a=r?0:1,c=null,l=null,s=null,u;function d(){s&&se(t,s)}function b(p,y){let $=p.b-a;return y*=Math.abs($),{a,b:p.b,d:$,duration:y,start:p.start,end:p.start+y,group:p.group}}function f(p){let{delay:y=0,duration:$=300,easing:S=rt,tick:g=A,css:P}=i||Br,U={start:te()+y,b:p};p||(U.group=W,W.r+=1),"inert"in t&&(p?u!==void 0&&(t.inert=u):(u=t.inert,t.inert=!0)),c||l?l=U:(P&&(d(),s=Rt(t,a,p,$,y,S,P)),p&&g(0,1),c=b(U,$),R(()=>le(t,p,"start")),ee(q=>{if(l&&q>l.start&&(c=b(l,$),l=null,le(t,c.b,"start"),P&&(d(),s=Rt(t,a,c.b,c.duration,0,S,i.css))),c){if(q>=c.end)g(a=c.b,1-a),le(t,c.b,"end"),l||(c.b?d():--c.group.r||T(c.group.c)),c=null;else if(q>=c.start){let k=q-c.start;a=c.a+c.d*S(k/c.duration),g(a,1-a)}}return!!(c||l)}))}return{run(p){Z(i)?Rr().then(()=>{i=i({direction:p?"in":"out"}),f(p)}):f(p)},end(){d(),c=l=null}}}function V(t){return t?.length!==void 0?t:Array.from(t)}var zr=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Hr=new Set([...zr]);function fe(t){t&&t.c()}function de(t,e){t&&t.l(e)}function Ht(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),R(()=>{let i=t.$$.on_mount.map(Yt).filter(Z);t.$$.on_destroy?t.$$.on_destroy.push(...i):T(i),t.$$.on_mount=[]}),o.forEach(R)}function Wt(t,e){let n=t.$$;n.fragment!==null&&(on(n.after_update),T(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Vr(t,e){t.$$.dirty[0]===-1&&(et.push(t),rn(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let p=f.length?f[0]:b;return s.ctx&&o(s.ctx[d],s.ctx[d]=p)&&(!s.skip_bound&&s.bound[d]&&s.bound[d](p),u&&Vr(t,d)),b}):[],s.update(),u=!0,T(s.before_update),s.fragment=r?r(s.ctx):!1,e.target){if(e.hydrate){Ue();let d=M(e.target);s.fragment&&s.fragment.l(d),d.forEach(_)}else s.fragment&&s.fragment.c();e.intro&&D(t.$$.fragment),Ht(t,e.target,e.anchor),Je(),Bt()}H(l)}var Gr;typeof HTMLElement=="function"&&(Gr=class extends HTMLElement{constructor(e,n,r){super();C(this,"$$ctor");C(this,"$$s");C(this,"$$c");C(this,"$$cn",!1);C(this,"$$d",{});C(this,"$$r",!1);C(this,"$$p_d",{});C(this,"$$l",{});C(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let a;return{c:function(){a=x("slot"),i!=="default"&&m(a,"name",i)},m:function(s,u){re(s,a,u)},d:function(s){s&&_(a)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=tn(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let a=this.$$g_p(i.name);a in this.$$d||(this.$$d[a]=ue(a,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let a=ue(i,this.$$d[i],this.$$p_d,"toAttribute");a==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,a)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let a of this.$$l[i]){let c=this.$$c.$on(i,a);this.$$l_u.set(a,c)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=ue(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function ue(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var G=class{constructor(){C(this,"$$");C(this,"$$set")}$destroy(){Wt(this,1),this.$destroy=A}$on(e,n){if(!Z(n))return A;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!We(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var sn="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(sn);function ut(t,{delay:e=0,duration:n=400,easing:r=rt}={}){let o=+getComputedStyle(t).opacity;return{delay:e,duration:n,easing:r,css:i=>`opacity: ${i*o}`}}var ft=[];function dt(t,e=A){let n,r=new Set;function o(c){if(K(t,c)&&(t=c,n)){let l=!ft.length;for(let s of r)s[1](),ft.push(s,t);if(l){for(let s=0;s{r.delete(s),r.size===0&&n&&(n(),n=null)}}return{set:o,update:i,subscribe:a}}function an(t){let e,n,r;return{c(){e=x("div"),this.h()},l(o){e=F(o,"DIV",{class:!0,"data-test-id":!0}),M(e).forEach(_),this.h()},h(){m(e,"class","bg-black/50 absolute inset-0 z-30"),m(e,"data-test-id","backdrop")},m(o,i){w(o,e,i),r=!0},i(o){r||(o&&R(()=>{r&&(n||(n=Q(e,ut,{},!0)),n.run(1))}),r=!0)},o(o){o&&(n||(n=Q(e,ut,{},!1)),n.run(0)),r=!1},d(o){o&&_(e),o&&n&&n.end()}}}function Ur(t){let e,n=t[0]&&an(t);return{c(){n&&n.c(),e=X()},l(r){n&&n.l(r),e=X()},m(r,o){n&&n.m(r,o),w(r,e,o)},p(r,[o]){r[0]?n?o&1&&D(n,1):(n=an(r),n.c(),D(n,1),n.m(e.parentNode,e)):n&&(vt(),B(n,1,1,()=>{n=null}),$t())},i(r){D(n)},o(r){B(n)},d(r){r&&_(e),n&&n.d(r)}}}var Vt=dt(!1);function Jr(t,e,n){let r,o=A,i=()=>(o(),o=At(Vt,a=>n(0,r=a)),Vt);return bt(t,Vt,a=>n(0,r=a)),t.$$.on_destroy.push(()=>o()),[r]}var pe=class extends G{constructor(e){super(),lt(this,e,Jr,Ur,K,{})}},he=pe;var ve={};kt(ve,{default:()=>xe});function _e(t,{delay:e=0,duration:n=300,x:r=0,y:o=0}){return{delay:e,duration:n,css:i=>`transform: translate(${r*i}px, ${o*i}px)`}}var ge=dt(null);var be=dt(null);function Kr(t){Xe(t,"svelte-1q6nykn","#left-sidebar.svelte-1q6nykn{z-index:1000}#component-previews.svelte-1q6nykn,#backdrop.svelte-1q6nykn{z-index:999}")}function cn(t,e,n){let r=t.slice();return r[15]=e[n],r}function ln(t,e,n){let r=t.slice();return r[18]=e[n],r}function un(t,e,n){let r=t.slice();return r[21]=e[n],r}function fn(t){let e,n,r=t[4][t[21].name]+"",o,i,a,c;function l(){return t[11](t[21])}return{c(){e=x("li"),n=x("div"),o=z(r),i=L(),this.h()},l(s){e=F(s,"LI",{class:!0,"data-test-id":!0});var u=M(e);n=F(u,"DIV",{class:!0});var d=M(n);o=tt(d,r),d.forEach(_),i=N(u),u.forEach(_),this.h()},h(){m(n,"class","pl-2"),m(e,"class","pb-1"),m(e,"data-test-id","nav-item")},m(s,u){w(s,e,u),O(e,n),O(n,o),O(e,i),a||(c=[Y(e,"mouseenter",l),Y(e,"mouseleave",t[5])],a=!0)},p(s,u){t=s,u&8&&r!==(r=t[4][t[21].name]+"")&&Pt(o,r)},d(s){s&&_(e),a=!1,T(c)}}}function dn(t){let e,n,r=t[18].name+"",o,i,a,c=V(t[18].items),l=[];for(let s=0;s{r&&(n||(n=Q(e,ut,{duration:300},!0)),n.run(1))}),r=!0)},o(o){o&&(n||(n=Q(e,ut,{duration:300},!1)),n.run(0)),r=!1},d(o){o&&_(e),o&&n&&n.end()}}}function hn(t){let e,n=V(t[2]),r=[];for(let o=0;o{E=null}),$t()),(!g||I&1)&&d!==(d=h[4][h[0]?.name]+"")&&Pt(b,d),h[2]?j?j.p(h,I):(j=hn(h),j.c(),j.m(s,null)):j&&(j.d(1),j=null),(!g||I&2)&&ie(s,"translate-x-96",h[1])},i(h){g||(D(E),h&&R(()=>{g&&(S||(S=Q(s,_e,{x:384},!0)),S.run(1))}),g=!0)},o(h){B(E),h&&(S||(S=Q(s,_e,{x:384},!1)),S.run(0)),g=!1},d(h){h&&(_(e),_(c),_(l),_(s)),Dt(k,h),E&&E.d(h),j&&j.d(),h&&S&&S.end(),P=!1,T(U)}}}function Yr(t,e,n){let r,o,i,a,c;bt(t,be,g=>n(14,a=g)),bt(t,ge,g=>n(0,c=g));let{components:l}=e,s={nav:"Navs",header:"Headers",sign_in:"Sign ins",sign_up:"Sign ups",stats:"Stats",footer:"Footers",basic:"Basics",other:"Other"},u=!1,d=!1;function b(){d=setTimeout(()=>{n(1,u=!1)},400)}function f(){clearTimeout(d)}function p(g){a||(clearTimeout(d),Zt(ge,c=g,c),n(1,u=!0))}function y(g,P){setTimeout(()=>{Zt(be,a=g,a),n(1,u=!1)},100)}let $=g=>p(g),S=(g,P)=>y(g,P);return t.$$set=g=>{"components"in g&&n(9,l=g.components)},t.$$.update=()=>{if(t.$$.dirty&512){t:n(10,o=l)}if(t.$$.dirty&1024){t:n(3,r=[{name:"Base",items:Array.from(new Set(o.map(g=>g.category))).map(g=>({id:g,name:g}))}])}if(t.$$.dirty&1){t:n(2,i=c?componentDefinitionsByCategory[c.id]:[])}},[c,u,i,r,s,b,f,p,y,l,o,$,S]}var ye=class extends G{constructor(e){super(),lt(this,e,Yr,Xr,K,{components:9},Kr)}},xe=ye;var we={};kt(we,{default:()=>to});function Qr(t){let e,n,r,o,i,a;return n=new he({}),i=new xe({props:{components:t[0]}}),{c(){e=z(`adljajkdahljashadlshlj +`),fe(n.$$.fragment),r=L(),o=x("div"),fe(i.$$.fragment),this.h()},l(c){e=tt(c,`adljajkdahljashadlshlj +`),de(n.$$.fragment,c),r=N(c),o=F(c,"DIV",{class:!0,"data-test-id":!0});var l=M(o);de(i.$$.fragment,l),l.forEach(_),this.h()},h(){m(o,"class","flex min-h-screen bg-gray-100"),m(o,"data-test-id","app-container")},m(c,l){w(c,e,l),Ht(n,c,l),w(c,r,l),w(c,o,l),Ht(i,o,null),a=!0},p(c,[l]){let s={};l&1&&(s.components=c[0]),i.$set(s)},i(c){a||(D(n.$$.fragment,c),D(i.$$.fragment,c),a=!0)},o(c){B(n.$$.fragment,c),B(i.$$.fragment,c),a=!1},d(c){c&&(_(e),_(r),_(o)),Wt(n,c),Wt(i)}}}function Zr(t,e,n){let{components:r}=e;return t.$$set=o=>{"components"in o&&n(0,r=o.components)},[r]}var $e=class extends G{constructor(e){super(),lt(this,e,Zr,Qr,K,{components:0})}},to=$e;var eo=[me,ve,we],no=eo,ro=["../svelte/components/Backdrop.svelte","../svelte/components/ComponentsSidebar.svelte","../svelte/components/UiBuilder.svelte"];var _n={};_n.CodeEditorHook=Ne;Gt.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>Gt.default.show(300));window.addEventListener("phx:page-loading-stop",t=>Gt.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var oo=document.querySelector("html").getAttribute("phx-socket")||"/live",io=document.querySelector("meta[name='csrf-token']").getAttribute("content"),gn=new LiveView.LiveSocket(oo,Phoenix.Socket,{hooks:{...He(ke),..._n},params:{_csrf_token:io}});gn.connect();window.liveSocket=gn;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-25615e47dd72126d1fad179a2a46b3d9.js.gz b/priv/static/beacon_live_admin-25615e47dd72126d1fad179a2a46b3d9.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..64056065b26ab0792a68776aa532a867637b0959 GIT binary patch literal 15198 zcmV-kJE6oMiwFP!000006YYI#ciXnI==c5#ne|r58e$~pu~RCvc3y4L=G8clw!S_N zMM4r|ic~UKmFc{1W1Mngetp_}ci~L!7!S5&2 zG!I?Z3y+o;kTcA~m&1=dmVPXFBzYebFQrLL_$bZ!D^bk2kPFIOR5iw2zP!v$<|AIl zBAv-XP_e6PioJ-YyrdErb_vLqg#pG2kAh=LNvAsJ^mjD@$-yd?*h zl2VpDpHI1nh8Yj`x(tRsO2_l+{ZgdTJYPiFoCo>Z3*-qu4RdPwT(u1CBA#5nT1nUC z;gVm?3L(p2xn6s|et}|)n-`CrOH*|@Duj!z

-12)3LpVXy%|$xm4W$hEg-kIjIX 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 Qt=Object.create;var D=Object.defineProperty;var Zt=Object.getOwnPropertyDescriptor;var te=Object.getOwnPropertyNames;var ee=Object.getPrototypeOf,ne=Object.prototype.hasOwnProperty;var re=(t,e,n)=>e in t?D(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var oe=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Q=(t,e)=>{for(var n in e)D(t,n,{get:e[n],enumerable:!0})},ie=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of te(e))!ne.call(t,o)&&o!==n&&D(t,o,{get:()=>e[o],enumerable:!(r=Zt(e,o))||r.enumerable});return t};var se=(t,e,n)=>(n=t!=null?Qt(ee(t)):{},ie(e||!t||!t.__esModule?D(n,"default",{value:t,enumerable:!0}):n,t));var d=(t,e,n)=>(re(t,typeof e!="symbol"?e+"":e,n),n);var _t=oe((mt,L)=>{(function(t,e){"use strict";(function(){for(var l=0,f=["ms","moz","webkit","o"],g=0;g_.show(),l)}else o=!0,s!==null&&t.cancelAnimationFrame(s),n||m(),n.style.opacity=1,n.style.display="block",_.progress(0),a.autoRun&&function f(){i=t.requestAnimationFrame(f),_.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(l){return typeof l>"u"||(typeof l=="string"&&(l=(l.indexOf("+")>=0||l.indexOf("-")>=0?r:0)+parseFloat(l)),r=l>1?1:l,p()),r},hide:function(){clearTimeout(u),u=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function l(){if(_.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",s=null;return}s=t.requestAnimationFrame(l)}())}};typeof L=="object"&&typeof L.exports=="object"?L.exports=_:typeof define=="function"&&define.amd?define(function(){return _}):this.topbar=_}).call(mt,window,document)});var V=se(_t());function ae(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function gt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function bt(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function le(t,e){if(t==null)return{};var n=ce(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function ue(t,e){return fe(t)||de(t,e)||pe(t,e)||he()}function fe(t){if(Array.isArray(t))return t}function de(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var s=t[Symbol.iterator](),u;!(r=(u=s.next()).done)&&(n.push(u.value),!(e&&n.length===e));r=!0);}catch(c){o=!0,i=c}finally{try{!r&&s.return!=null&&s.return()}finally{if(o)throw i}}return n}}function pe(t,e){if(t){if(typeof t=="string")return yt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return yt(t,e)}}function yt(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var s=arguments.length,u=new Array(s),c=0;c1&&arguments[1]!==void 0?arguments[1]:{};I.initial(t),I.handler(e);var n={current:t},r=S(Se)(n,e),o=S(Oe)(n),i=S(I.changes)(t),s=S(Fe)(n);function u(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(p){return p};return I.selector(a),a(n.current)}function c(a){_e(r,o,i,s)(a)}return[u,c]}function Fe(t,e){return j(e)?e(t.current):e}function Oe(t,e){return t.current=vt(vt({},t.current),e),e}function Se(t,e,n){return j(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var je={create:Ee},Ae=je,Ce={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},Te=Ce;function Me(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var s=arguments.length,u=new Array(s),c=0;c[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],rn={base:"vs-dark",inherit:!1,rules:nn(et),colors:{"editor.background":et.background,"editor.foreground":et.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},on=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,wt.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),wt.init().then(t=>{t.editor.defineTheme("default",rn);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},sn=on,St={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new sn(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function an(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function C(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function jt(t){t.parentNode?.removeChild(t)}function At(t,e,n){t.insertBefore(e,n||null)}function Ct(){}function cn(t){let e={};for(let n in C(t,"data-slots")){let r=()=>({getElement(){let o=C(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){jt(this.savedElement),this.savedElement=this.getElement(),At(this.savedTarget,this.savedElement,this.savedAnchor)},c:Ct,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),At(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&jt(this.savedElement)},l:Ct});e[n]=[r]}return e}function ln(t){let e=C(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function q(t){return{...C(t,"data-props"),...ln(t),live:t,$$slots:cn(t),$$scope:{}}}function un(t){return t.$$.ctx.find(e=>e?.default)}function Tt(t){return t=an(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(C(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(q(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(q(this)),!1);this._instance=new r({target:this.el,props:q(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(q(this));let n=un(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var ht={};Q(ht,{default:()=>qn,filenames:()=>Bn});var ft={};Q(ft,{default:()=>Ln});function h(){}function nt(t){return t()}function B(){return Object.create(null)}function b(t){t.forEach(nt)}function z(t){return typeof t=="function"}function H(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}function Mt(t){return Object.keys(t).length===0}var rt=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var k=class{constructor(e){d(this,"_listeners","WeakMap"in rt?new WeakMap:void 0);d(this,"_observer");d(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)k.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};k.entries="WeakMap"in rt?new WeakMap:void 0;var W=!1;function Pt(){W=!0}function Dt(){W=!1}function pn(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function hn(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let c=[];for(let a=0;a0&&e[n[o]].claim_order<=a?o+1:pn(1,o,_=>e[n[_]].claim_order,a))-1;r[c]=n[p]+1;let m=p+1;n[m]=c,o=Math.max(m,o)}let i=[],s=[],u=e.length-1;for(let c=n[o]+1;c!=0;c=r[c-1]){for(i.push(e[c-1]);u>=c;u--)s.push(e[u]);u--}for(;u>=0;u--)s.push(e[u]);i.reverse(),s.sort((c,a)=>c.claim_order-a.claim_order);for(let c=0,a=0;c=i[a].claim_order;)a++;let p=a{for(let s=t.claim_info.last_index;s=0;s--){let u=t[s];if(e(u)){let c=n(u);return c===void 0?t.splice(s,1):t[s]=c,o?c===void 0&&t.claim_info.last_index--:t.claim_info.last_index=s,u}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function _n(t,e,n,r){return Rt(t,o=>o.nodeName===e,o=>{let i=[];for(let s=0;so.removeAttribute(s))},()=>r(e))}function qt(t,e,n){return _n(t,e,n,M)}function Bt(t,e){return Rt(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>it(e),!0)}function zt(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var E;function x(t){E=t}var $=[];var Wt=[],O=[],Gt=[],$n=Promise.resolve(),ct=!1;function Ut(){ct||(ct=!0,$n.then(G))}function P(t){O.push(t)}var at=new Set,F=0;function G(){if(F!==0)return;let t=E;do{try{for(;F<$.length;){let e=$[F];F++,x(e),wn(e.$$)}}catch(e){throw $.length=0,F=0,e}for(x(null),$.length=0,F=0;Wt.length;)Wt.pop()();for(let e=0;et.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),O=e}var kn=new Set;function U(t,e){t&&t.i&&(kn.delete(t),t.i(e))}var Fn=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],On=new Set([...Fn]);function An(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),P(()=>{let i=t.$$.on_mount.map(nt).filter(z);t.$$.on_destroy?t.$$.on_destroy.push(...i):b(i),t.$$.on_mount=[]}),o.forEach(P)}function Cn(t,e){let n=t.$$;n.fragment!==null&&(Jt(n.after_update),b(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Tn(t,e){t.$$.dirty[0]===-1&&($.push(t),Ut(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let f=l.length?l[0]:_;return a.ctx&&o(a.ctx[m],a.ctx[m]=f)&&(!a.skip_bound&&a.bound[m]&&a.bound[m](f),p&&Tn(t,m)),_}):[],a.update(),p=!0,b(a.before_update),a.fragment=r?r(a.ctx):!1,e.target){if(e.hydrate){Pt();let m=Nt(e.target);a.fragment&&a.fragment.l(m),m.forEach(y)}else a.fragment&&a.fragment.c();e.intro&&U(t.$$.fragment),An(t,e.target,e.anchor),Dt(),G()}x(c)}var Mn;typeof HTMLElement=="function"&&(Mn=class extends HTMLElement{constructor(e,n,r){super();d(this,"$$ctor");d(this,"$$s");d(this,"$$c");d(this,"$$cn",!1);d(this,"$$d",{});d(this,"$$r",!1);d(this,"$$p_d",{});d(this,"$$l",{});d(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let s;return{c:function(){s=M("slot"),i!=="default"&&st(s,"name",i)},m:function(a,p){ot(a,s,p)},d:function(a){a&&y(s)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=zt(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let s=this.$$g_p(i.name);s in this.$$d||(this.$$d[s]=lt(s,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let s=lt(i,this.$$d[i],this.$$p_d,"toAttribute");s==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,s)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let s of this.$$l[i]){let u=this.$$c.$on(i,s);this.$$l_u.set(s,u)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=lt(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function lt(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var w=class{constructor(){d(this,"$$");d(this,"$$set")}$destroy(){Cn(this,1),this.$destroy=h}$on(e,n){if(!z(n))return h;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!Mt(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var Vt="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(Vt);function Pn(t){let e,n="I'm the hello world";return{c(){e=M("h1"),e.textContent=n},l(r){e=qt(r,"H1",{["data-svelte-h"]:!0}),It(e)!=="svelte-63otw6"&&(e.textContent=n)},m(r,o){T(r,e,o)},p:h,i:h,o:h,d(r){r&&y(e)}}}function Dn(t){return alert("Does this work????"),[]}var ut=class extends w{constructor(e){super(),J(this,e,Dn,Pn,H,{})}},Ln=ut;var pt={};Q(pt,{default:()=>Nn});function In(t){let e;return{c(){e=it("I am an svelte component rendering inside live_view!!!")},l(n){e=Bt(n,"I am an svelte component rendering inside live_view!!!")},m(n,r){T(n,e,r)},p:h,i:h,o:h,d(n){n&&y(e)}}}var dt=class extends w{constructor(e){super(),J(this,e,null,In,H,{})}},Nn=dt;var Rn=[ft,pt],qn=Rn,Bn=["../svelte/HelloSvelte.svelte","../svelte/UiBuilder.svelte"];var Kt={};Kt.CodeEditorHook=St;V.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>V.default.show(300));window.addEventListener("phx:page-loading-stop",t=>V.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var zn=document.querySelector("html").getAttribute("phx-socket")||"/live",Hn=document.querySelector("meta[name='csrf-token']").getAttribute("content"),Xt=new LiveView.LiveSocket(zn,Phoenix.Socket,{hooks:{...Tt(ht),...Kt},params:{_csrf_token:Hn}});Xt.connect();window.liveSocket=Xt;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-5a7b6b130ea27e06f1bdfd021a38654b.js.gz b/priv/static/beacon_live_admin-5a7b6b130ea27e06f1bdfd021a38654b.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..820b7a5f8fcf66a261f2de9335668a522095f078 GIT binary patch literal 10469 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 bAcSt~@oLq2En7f^JKy|IH)9)+`)~jN387!M literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin-610c331d5cf247d67477834d631423ab.js b/priv/static/beacon_live_admin-610c331d5cf247d67477834d631423ab.js new file mode 100644 index 00000000..87cf84e6 --- /dev/null +++ b/priv/static/beacon_live_admin-610c331d5cf247d67477834d631423ab.js @@ -0,0 +1,17 @@ +var BeaconLiveAdmin=(()=>{var _e=Object.create;var W=Object.defineProperty;var ge=Object.getOwnPropertyDescriptor;var be=Object.getOwnPropertyNames;var ye=Object.getPrototypeOf,ve=Object.prototype.hasOwnProperty;var xe=(t,e,n)=>e in t?W(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var $e=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ut=(t,e)=>{for(var n in e)W(t,n,{get:e[n],enumerable:!0})},we=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of be(e))!ve.call(t,o)&&o!==n&&W(t,o,{get:()=>e[o],enumerable:!(r=ge(e,o))||r.enumerable});return t};var Ee=(t,e,n)=>(n=t!=null?_e(ye(t)):{},we(e||!t||!t.__esModule?W(n,"default",{value:t,enumerable:!0}):n,t));var g=(t,e,n)=>(xe(t,typeof e!="symbol"?e+"":e,n),n);var At=$e((Ct,G)=>{(function(t,e){"use strict";(function(){for(var f=0,_=["ms","moz","webkit","o"],v=0;v<_.length&&!t.requestAnimationFrame;++v)t.requestAnimationFrame=t[_[v]+"RequestAnimationFrame"],t.cancelAnimationFrame=t[_[v]+"CancelAnimationFrame"]||t[_[v]+"CancelRequestAnimationFrame"];t.requestAnimationFrame||(t.requestAnimationFrame=function(at,ir){var ct=new Date().getTime(),lt=Math.max(0,16-(ct-f)),me=t.setTimeout(function(){at(ct+lt)},lt);return f=ct+lt,me}),t.cancelAnimationFrame||(t.cancelAnimationFrame=function(at){clearTimeout(at)})})();var n,r,o,i=null,a=null,l=null,c=function(f,_,v){f.addEventListener?f.addEventListener(_,v,!1):f.attachEvent?f.attachEvent("on"+_,v):f["on"+_]=v},s={autoRun:!0,barThickness:3,barColors:{0:"rgba(26, 188, 156, .9)",".25":"rgba(52, 152, 219, .9)",".50":"rgba(241, 196, 15, .9)",".75":"rgba(230, 126, 34, .9)","1.0":"rgba(211, 84, 0, .9)"},shadowBlur:10,shadowColor:"rgba(0, 0, 0, .6)",className:null},d=function(){n.width=t.innerWidth,n.height=s.barThickness*5;var f=n.getContext("2d");f.shadowBlur=s.shadowBlur,f.shadowColor=s.shadowColor;var _=f.createLinearGradient(0,0,n.width,0);for(var v in s.barColors)_.addColorStop(v,s.barColors[v]);f.lineWidth=s.barThickness,f.beginPath(),f.moveTo(0,s.barThickness/2),f.lineTo(Math.ceil(r*n.width),s.barThickness/2),f.strokeStyle=_,f.stroke()},u=function(){n=e.createElement("canvas");var f=n.style;f.position="fixed",f.top=f.left=f.right=f.margin=f.padding=0,f.zIndex=100001,f.display="none",s.className&&n.classList.add(s.className),e.body.appendChild(n),c(t,"resize",d)},p={config:function(f){for(var _ in f)s.hasOwnProperty(_)&&(s[_]=f[_])},show:function(f){if(!o)if(f){if(l)return;l=setTimeout(()=>p.show(),f)}else o=!0,a!==null&&t.cancelAnimationFrame(a),n||u(),n.style.opacity=1,n.style.display="block",p.progress(0),s.autoRun&&function _(){i=t.requestAnimationFrame(_),p.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(f){return typeof f>"u"||(typeof f=="string"&&(f=(f.indexOf("+")>=0||f.indexOf("-")>=0?r:0)+parseFloat(f)),r=f>1?1:f,d()),r},hide:function(){clearTimeout(l),l=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function f(){if(p.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",a=null;return}a=t.requestAnimationFrame(f)}())}};typeof G=="object"&&typeof G.exports=="object"?G.exports=p:typeof define=="function"&&define.amd?define(function(){return p}):this.topbar=p}).call(Ct,window,document)});var st=Ee(At());function ke(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Tt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Mt(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function Oe(t,e){if(t==null)return{};var n=Fe(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function Se(t,e){return je(t)||Ce(t,e)||Ae(t,e)||Te()}function je(t){if(Array.isArray(t))return t}function Ce(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var a=t[Symbol.iterator](),l;!(r=(l=a.next()).done)&&(n.push(l.value),!(e&&n.length===e));r=!0);}catch(c){o=!0,i=c}finally{try{!r&&a.return!=null&&a.return()}finally{if(o)throw i}}return n}}function Ae(t,e){if(t){if(typeof t=="string")return Dt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Dt(t,e)}}function Dt(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var a=arguments.length,l=new Array(a),c=0;c1&&arguments[1]!==void 0?arguments[1]:{};U.initial(t),U.handler(e);var n={current:t},r=R(Ue)(n,e),o=R(Ge)(n),i=R(U.changes)(t),a=R(We)(n);function l(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(d){return d};return U.selector(s),s(n.current)}function c(s){De(r,o,i,a)(s)}return[l,c]}function We(t,e){return q(e)?e(t.current):e}function Ge(t,e){return t.current=Lt(Lt({},t.current),e),e}function Ue(t,e,n){return q(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var Ve={create:He},Je=Ve,Ke={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},Xe=Ke;function Ye(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var a=arguments.length,l=new Array(a),c=0;c[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],$n={base:"vs-dark",inherit:!1,rules:xn(pt),colors:{"editor.background":pt.background,"editor.foreground":pt.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},wn=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,Nt.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),Nt.init().then(t=>{t.editor.defineTheme("default",$n);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},En=wn,Ht={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new En(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function kn(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function z(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function Wt(t){t.parentNode?.removeChild(t)}function Gt(t,e,n){t.insertBefore(e,n||null)}function Ut(){}function Fn(t){let e={};for(let n in z(t,"data-slots")){let r=()=>({getElement(){let o=z(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){Wt(this.savedElement),this.savedElement=this.getElement(),Gt(this.savedTarget,this.savedElement,this.savedAnchor)},c:Ut,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),Gt(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&Wt(this.savedElement)},l:Ut});e[n]=[r]}return e}function On(t){let e=z(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function K(t){return{...z(t,"data-props"),...On(t),live:t,$$slots:Fn(t),$$scope:{}}}function Sn(t){return t.$$.ctx.find(e=>e?.default)}function Vt(t){return t=kn(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(z(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(K(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(K(this)),!1);this._instance=new r({target:this.el,props:K(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(K(this));let n=Sn(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var jt={};ut(jt,{default:()=>er,filenames:()=>nr});var Ft={};ut(Ft,{default:()=>kt});function x(){}function ht(t){return t()}function X(){return Object.create(null)}function E(t){t.forEach(ht)}function Y(t){return typeof t=="function"}function Q(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}function Jt(t){return Object.keys(t).length===0}var mt=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var A=class{constructor(e){g(this,"_listeners","WeakMap"in mt?new WeakMap:void 0);g(this,"_observer");g(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)A.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};A.entries="WeakMap"in mt?new WeakMap:void 0;var Z=!1;function Kt(){Z=!0}function Xt(){Z=!1}function An(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function Tn(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let c=[];for(let s=0;s0&&e[n[o]].claim_order<=s?o+1:An(1,o,p=>e[n[p]].claim_order,s))-1;r[c]=n[d]+1;let u=d+1;n[u]=c,o=Math.max(u,o)}let i=[],a=[],l=e.length-1;for(let c=n[o]+1;c!=0;c=r[c-1]){for(i.push(e[c-1]);l>=c;l--)a.push(e[l]);l--}for(;l>=0;l--)a.push(e[l]);i.reverse(),a.sort((c,s)=>c.claim_order-s.claim_order);for(let c=0,s=0;c=i[s].claim_order;)s++;let d=st.removeEventListener(e,n,r)}function m(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function Yt(t){return t.dataset.svelteH}function $(t){return Array.from(t.childNodes)}function Mn(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function Qt(t,e,n,r,o=!1){Mn(t);let i=(()=>{for(let a=t.claim_info.last_index;a=0;a--){let l=t[a];if(e(l)){let c=n(l);return c===void 0?t.splice(a,1):t[a]=c,o?c===void 0&&t.claim_info.last_index--:t.claim_info.last_index=a,l}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function Dn(t,e,n,r){return Qt(t,o=>o.nodeName===e,o=>{let i=[];for(let a=0;ao.removeAttribute(a))},()=>r(e))}function w(t,e,n){return Dn(t,e,n,b)}function et(t,e){return Qt(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>T(e),!0)}function D(t){return et(t," ")}function Zt(t,e){let n=[],r=0;for(let o of e.childNodes)if(o.nodeType===8){let i=o.textContent.trim();i===`HEAD_${t}_END`?(r-=1,n.push(o)):i===`HEAD_${t}_START`&&(r+=1,n.push(o))}else r>0&&n.push(o);return n}function te(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var P;function F(t){P=t}var S=[];var ne=[],I=[],re=[],qn=Promise.resolve(),vt=!1;function oe(){vt||(vt=!0,qn.then(nt))}function H(t){I.push(t)}var yt=new Set,L=0;function nt(){if(L!==0)return;let t=P;do{try{for(;Lt.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),I=e}var rt=new Set,zn;function N(t,e){t&&t.i&&(rt.delete(t),t.i(e))}function ot(t,e,n,r){if(t&&t.o){if(rt.has(t))return;rt.add(t),zn.c.push(()=>{rt.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}function j(t){return t?.length!==void 0?t:Array.from(t)}var Hn=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Wn=new Set([...Hn]);function se(t){t&&t.c()}function ae(t,e){t&&t.l(e)}function $t(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),H(()=>{let i=t.$$.on_mount.map(ht).filter(Y);t.$$.on_destroy?t.$$.on_destroy.push(...i):E(i),t.$$.on_mount=[]}),o.forEach(H)}function wt(t,e){let n=t.$$;n.fragment!==null&&(ie(n.after_update),E(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Un(t,e){t.$$.dirty[0]===-1&&(S.push(t),oe(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let _=f.length?f[0]:p;return s.ctx&&o(s.ctx[u],s.ctx[u]=_)&&(!s.skip_bound&&s.bound[u]&&s.bound[u](_),d&&Un(t,u)),p}):[],s.update(),d=!0,E(s.before_update),s.fragment=r?r(s.ctx):!1,e.target){if(e.hydrate){Kt();let u=$(e.target);s.fragment&&s.fragment.l(u),u.forEach(h)}else s.fragment&&s.fragment.c();e.intro&&N(t.$$.fragment),$t(t,e.target,e.anchor),Xt(),nt()}F(c)}var Vn;typeof HTMLElement=="function"&&(Vn=class extends HTMLElement{constructor(e,n,r){super();g(this,"$$ctor");g(this,"$$s");g(this,"$$c");g(this,"$$cn",!1);g(this,"$$d",{});g(this,"$$r",!1);g(this,"$$p_d",{});g(this,"$$l",{});g(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let a;return{c:function(){a=b("slot"),i!=="default"&&m(a,"name",i)},m:function(s,d){_t(s,a,d)},d:function(s){s&&h(a)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=te(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let a=this.$$g_p(i.name);a in this.$$d||(this.$$d[a]=xt(a,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let a=xt(i,this.$$d[i],this.$$p_d,"toAttribute");a==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,a)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let a of this.$$l[i]){let l=this.$$c.$on(i,a);this.$$l_u.set(a,l)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=xt(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function xt(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var C=class{constructor(){g(this,"$$");g(this,"$$set")}$destroy(){wt(this,1),this.$destroy=x}$on(e,n){if(!Y(n))return x;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!Jt(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var ce="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(ce);function le(t,e,n){let r=t.slice();return r[3]=e[n],r}function ue(t,e,n){let r=t.slice();return r[6]=e[n],r}function fe(t){let e,n,r=t[1][t[6].name]+"",o,i,a,l;function c(){return t[2](t[6])}return{c(){e=b("li"),n=b("div"),o=T(r),i=M(),this.h()},l(s){e=w(s,"LI",{class:!0,"data-test-id":!0});var d=$(e);n=w(d,"DIV",{class:!0});var u=$(n);o=et(u,r),u.forEach(h),i=D(d),d.forEach(h),this.h()},h(){m(n,"class","pl-2"),m(e,"class","pb-1"),m(e,"data-test-id","nav-item")},m(s,d){k(s,e,d),y(e,n),y(n,o),y(e,i),a||(l=[tt(e,"mouseenter",c),tt(e,"mouseleave",Kn)],a=!0)},p(s,d){t=s},d(s){s&&h(e),a=!1,E(l)}}}function de(t){let e,n,r=t[3].name+"",o,i,a,l=j(t[3].items),c=[];for(let s=0;svoid 0]}var Et=class extends C{constructor(e){super(),it(this,e,Xn,Jn,Q,{})}},kt=Et;var St={};ut(St,{default:()=>Zn});function Yn(t){let e,n,r,o,i;return o=new kt({}),{c(){e=b("meta"),n=M(),r=b("div"),se(o.$$.fragment),this.h()},l(a){let l=Zt("svelte-brtbho",document.head);e=w(l,"META",{name:!0,content:!0}),l.forEach(h),n=D(a),r=w(a,"DIV",{class:!0,"data-test-id":!0});var c=$(r);ae(o.$$.fragment,c),c.forEach(h),this.h()},h(){document.title="Beacon UI Builder",m(e,"name","description"),m(e,"content","UI builder to compose beacon pages"),m(r,"class","flex min-h-screen bg-gray-100"),m(r,"data-test-id","app-container")},m(a,l){y(document.head,e),k(a,n,l),k(a,r,l),$t(o,r,null),i=!0},p:x,i(a){i||(N(o.$$.fragment,a),i=!0)},o(a){ot(o.$$.fragment,a),i=!1},d(a){a&&(h(n),h(r)),h(e),wt(o)}}}function Qn(t,e,n){let{components:r=["not yet"]}=e,{test:o="test string"}=e;return t.$$set=i=>{"components"in i&&n(0,r=i.components),"test"in i&&n(1,o=i.test)},t.$$.update=()=>{if(t.$$.dirty&2){t:console.log("test",o)}if(t.$$.dirty&1){t:console.log("components",r)}},[r,o]}var Ot=class extends C{constructor(e){super(),it(this,e,Qn,Yn,Q,{components:0,test:1})}},Zn=Ot;var tr=[Ft,St],er=tr,nr=["../svelte/components/ComponentsSidebar.svelte","../svelte/components/UiBuilder.svelte"];var pe={};pe.CodeEditorHook=Ht;st.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>st.default.show(300));window.addEventListener("phx:page-loading-stop",t=>st.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var rr=document.querySelector("html").getAttribute("phx-socket")||"/live",or=document.querySelector("meta[name='csrf-token']").getAttribute("content"),he=new LiveView.LiveSocket(rr,Phoenix.Socket,{hooks:{...Vt(jt),...pe},params:{_csrf_token:or}});he.connect();window.liveSocket=he;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-610c331d5cf247d67477834d631423ab.js.gz b/priv/static/beacon_live_admin-610c331d5cf247d67477834d631423ab.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..3b0b974212fb7bb6e8c8a33a016dce68f41365c8 GIT binary patch literal 11719 zcmV;&EjZF2iwFP!000006YYI#bK5ww==c2}lWax`qs?>TnLK9VWL_#= zg(4w~V+v$Q$c`iFzn|^~K!TE-WVZI)Q+4ZZ&Bi40YBc(d26Pz~tw%hJGVvn0`H z6-h3$f~rk#sP-yc@RDj=+cltAX7W1cuV?JCD#*=Oe;$@rC)EBU4_wJO6EGFtN<>Qz zf1?j8E|v>kgwvGw54sE{K1jbs_)v8W-6ED;zFte$ z<-v-7%(Ft4{ncjU`T7N_F>YQwwv?vnYL*o)_9hTC?jdM`tzfEsJ`!WrfN|q(*p-jU{Z*_1Bw6lClg-2%;IIrVW9+bfVjeCDjl{`%OJOr(iaT+QB-G*^%1&f z1`7v)Q(iBoS?Ub=k>m8S4*W-r9?Ia5yY6Gjen6DE23@p7D`#2qRw;`FusW#AylUlU zL6=Q}k+Ucr<}9*L@b49$UL*jqlR0B{8FUAi_a}bJ#krif+c3p~e^~NTJ`~9!#NM72 zK<$Q6mxD}d0 z$&$h&5faHj@T=AnkRGmw%=|W4z!OVl@G_Khe-VCkyR3J&<3_SG^E`&|`=zRvEv1e7 zP(r1nR02c5KZfFF0eysq8}9~;5X^f~Wr6IiqLhb)85ceP=XtK87GON!jD)C|h3ZeL z{zP>rGd5wDKqGz_$4@W0kS~%_a>0w??k5+jvV)%2haxG%XilZW#+&N^`yOGR{n$kN-21*Nztc74$G3aX^!vNm9%}0He^%{}Pr6WqqnzBX%6op@ zz6b5^VG-0*1WY@Fe>|l5?5fcNX!3*1gMZa?>M5Z%NCQg*qAt#TY>Nx)ZFmaGDGPx0 zL)6>A31AHDm2Ykc`fj~mLOYFkKg+`?k=H@5`cmO;nr6|3!*VpO&SCbY+eK>7qNd$8 zfVU>F)JbrI8h}~bT{uV1k>9=Z9g$iNQ|NW*vHVa-xA54p=WURVOoIk`j8UQV`RswS zbWoP-S1@u=MT>I>&^!y=88ALj#p@Xk>OBa$>$UZ%L!X94zv~_4VNvpDX$Bevbxsk? z9`uI2{*1*gzHZn&iFw~5?1pMcJtO-w7#J3!$C3lR4mT(oH}SOgfE6@ooVm2<4P^N} z1hWSnZ7oO|!bv5M_*yd-ut-kr;A|9$oTdC_M&e6=CCnd@N5I+IDD+3h_v@2M{?25%%v_zQ# zTA74NDTAlneJBC+L50%`u5Cfnv9|vA`Yg&L&~`riYR{nZ2$nNLtZ?iBSO()a!p?hUMOsPB`F?eW@ux;q`5p_5*YiDHUHD zfUt{JW#ubX2!6&D^#GwrCDOGfSSf!>1mG|gTV#b6DcKSUI2+0R!Yo7r3y}rIC>gT@ zmsb)nL-~gqNq}DmPC_=WY-nq#Uw;u24J%s2Uq{%<7YQ3Dk-;Rg`-z!E29qd)1YJ;j z5`~_`P7om1y`Gj&EAlojZlPvf;H;5~c4vL2XRS;ALML^-eyqN(*ALCZTeNwqR#Xi! z^{^w(c=3Ij^39k}YvPk^;Upca%{ni8Qy&#=~L40HhUNU5FR zGE3rCcOZ-FiakNjkGA?6qsKKs|J_Z4&=+Xz0(HlrB?vVn0^HOmQRpGU(QHyH5d;AT z35$bzgH04lV28+Ck^PYb(FV8xuzbBj5DtoVJM`7$jYc%@h&Wv}L1L8iBD-oOn|d{B zWIeQqQ2nbACTo>%Q2a#6-9ba{)?^{GGpesi!Sl;BiMV@@b$TS01x(L*UFkX>#6AqL zi~wnfn4s~+7i2S1o0nk@t45D!Tvp&HN|+VdLd$)s@z4lAXmacSxWoRtWPR#^c|7dj zTlem+PmVo!e4K`hoX6gfIyt=MOHkD)hMH5g@T9-2T&`Gkz2*<3UN>A=^riJ%<#Y%z zpbK)!6}1BH#C<*x$ZsQoEF#86E)}USRbp6zCd^>W2tfOPLvEYq2b4YaU+m zR@mA@*{uba^DOq?Tb%jwf6EN``Tu1z;Kl!p8SwMhm;o>U@0tNW|F4(;esuX)&p*)Ri$N&?ihK`N+$dxML=)oIHH z7^Edw@E}}v;La?#3-pA@UQvb$m?;+ANd$V3?DWSox>wd8CZt20w!LsTu`s%DMwwa#z1QH$_JXr0F-#5L3Cmc#paAm77pfL-e?Rw=r zTc$B8-B4&9Th-Tq?r$Q#mAVz``Rl5!wF-TM%6+4N!Uqjr(JiyF-gkf)Tjq=1x@u55 z%qEV0MJju1JFKSJz5_gPnZ!J95n13qm?|yzW5XiW{-V4P^qe8Q0u7L-!i?@fC153iVKll0fLbhT45A{1w}32 zQ{_&Y0n@&3qHsGHvTdQi7A&Q~y-0;x-)FZ;%Q2XG7Y zBr|yV0bfuxz;|Cy!^4h3`0^VS*6^mTg0|d+wrfM%-3x7ZTx*WFl6CRM2>*A!!JS)r z4D11418%Wz1Vt-Q*R(CfLJwZGJ|Cql8rKznYf4lUIzx_8LfvKG5`{lB>sFNlFudTu z)rQsWXmh!4`fl6c-5tml+hV^>gE-AJ8o(jvXlw<>wa9`Bm+DVHQ!0elU@7a236fgB zg49yG0sZHE!+zw!ublk^AM;So%l_)J1aTo{UiNR@ielmaRmMC`F2T*>@|MUKw-%WQ zqpZW@1lHnTUH{~+-@CO)#I4KH*=*SFJot&%MDYjz{{{*fC^*b7Jov-H&7b^l+bU#& zir`PH7cOj5WW7Gc{T*_U8d^~bQj2w|R*TYK7HK(j1>l2OM4-O=YPBDQCEuWHRnxYh z2s|i&Eam=H2&DN2^iLHoDTECgS<7W~Ybe*gWG`lW^Vft5Y@M+^S<2WYGieDGxnpIW933~`0-^{ffC z{|{<&3NAViV=Sg-^s&`a@c62QyK3Q*^;@e}y=wi|x4!Rx+uF1?9yMB){D#JA?V&ZS zzTJwdKLb=OGJrZyIdluEmPZ$)I@3g4w2Z_!Pvm?#g+3RzNH#lVcF0WBcE~|bBN_aaMN(QOJm_5Da33f_SSYK#+hOJ|h1V|- zaVjMQW0sj$XDJE2NoOy%X&oGNH(G(=KD1!52!1r%+O8p)-@%e9PnEfod;+-v;1(Pt z)TPQzfEUE3dR8QraJ=1z5)t_Z7o0NLR(fcc+~Kjl=`%W=6+-Tpg}RJKnT!S zUYQZLFjZ8D%3y2^iXF&iXB6`N(Oqp}xJ#?4daWYtW>B{(VKeE*D%z%Y4s}7h-FWqt zXf+*ulFiyUl<9h_K=&UBcOlq0h?A+Pf;p#KIjj#**H>0Y7~CR}Q`1C2PdWVqSBe?AuVHD<;G zy~=Bj>WbrFF9U<1fNQIAdnR^@$>xHT?j2G|Ht04GXM=|3u-{N3N$S zZM_B_&`c!liq{tYER0kuZCIf)7B@;%$8x_wwY3NgX%Hk0g0Q{EE^CFE3-TlTbHOH) zb1q-faHm?c^shmmzLLSEU^$prQ?Oaii)<;txccV!-f?tt+p>bbiEc+>eAi(qs=zmB zfqlcfccXvaao7|i^3FGRd*O`F9Ci-M7GCc~-yer3_{zC}_wVmTC;$B3VfnHEivfGQ z`_FqZ*l1+VeKX~Ey0@W!FlthGy>oYZH#&ye9F!xx$Gz{vyLZ8p{s`Vd@L;r(*#&m% zFi@ae!(ADU8)nJ@p9#j!x9XW$)D>y}C=_z5BF=5M5_-Nx7)f9tUPfWQ-Tii}1&V{M zI*6vaj#w_Hy!dQ4P{2RtUz`Z4_b*n`yK~zRaWt_^9k5WYvLfE9q?WI)rL2Z*8+2N? zx)yqj3)~Fyr+~K$E`1L3-R`?+fS8;o=~e|Kj=Dx2L;4KXOeON6zCQux`C*&pH2;j*p+K1n{ut=0P8=2&7~P%o0^~Issmqj?{g1-U!BU8HqOhZN zSuLuaelD$7W@^+!QVqQ_rWn&+Uy;CRR0I)zayPyQGF#Vsye!J>3w3l54mj+Q1(oy7 z3BP^&POq*u1GW7UE&S(zRzhvF{+;7{)7k7Ku3DTe&(C=&e@kM}T#YG%dg>kDIiB8B zl{T!gTJK&j?9Fbdrr_pr6AVy$y^|1{BqCpK58Ipe;^ULL@TP$tDH%u8wQ3oqy0_Lo zzecNsm0PESZCY&-AicU~QEzN!6_O-gdCZc{}GiZVw8GL3YKAB6Pwp;)J zGft`wKZnJ-)@IX$cvY=~UYUB4zy_;AF8^N072J5B>pJA>VV7w6fsIP;H&{$y%^DbK zD;$u&;BI|@=TLY9#0r|F?~25y+*`LIEA%PqDWst|Uxw!#9L%a)<@zX`S(C$^gTZb~ z9ipzu6Kr8<`2`}~8qC%7U-#lQNw|uxB*B9O^Rsku$>mvuYTyY+=Poqs^g5>0O zGJQjt<*%nDFD^Nz?>(r(n`w6L>dbRf?szPz#-p=&8ah9l&0xUibie^OKHRSb;&YUi zhS!+nOc@HEpD7>=LO$O#6Hk&@Zy}z+3?9=qj)J){!TlBSlmJpn@+JP!E!D(bO$C4t zl?1I1e7rwgC7b-?dz{AR%Q#tS_phW{>MX?lf8M<}{2VOHJO*kpeXM3+tbxi$HH!x< zp71DBfv=KIZ1j6~>ATX9<;z6Cyg~g^KKv}rfSu_PP}J+XUnfKG5w-4PB_BQS=)`1F z|4o>?H^AK83-g@~1|*+~;7YLP;N&eTX|5#Tk7uu6*{lw$1H*zxx0nSbC~8D?vI>WLyewt5&?l|Z1@9{iO^k+Ms~Bv^ zB<-)}S$084WvWVlYrqYgE~is8tT0HW;ZggaR`+UGb7CY_-#OYlO94P55{qDaT3^;E z^zuRva0<(T2SofuvY>tN*F{~_ZgV5^O5NTRx&_+CiRumfi}Nl zSFX_csAg2?^TU!C*JpZn_FIx+Tz(TN~X-NiMh5af&H-6%CZxz zLlHu!(H?9iDp&hq>-A32EJ-2Kq?x2#m!s<|CPoe4vN|)9kbaHBCZ=Nz(q>AOE!IRL)z*O1`Z37{PY z9|=^3p!Fp?JS3{>6V2jVl;s?`#yU9BND1%{5B*4fB%d6WFYr*c<6fstO1nuw!ilZU zh|`~=qTMnkw12S8)(Uiz>k5Bj*AaZ2EpkvV0y=?uDv^B3TP7P!+na^TdB;AAoj%^b z6O_3wvlh;(b+{6nR%H71-+R@f(De%TChRAb2ePx;o~LcioipKJvu2w~Qg3>_2WEbt ztokZ-{t$GO`xEsIrp7_fW1sJite&szYS64eR$1Y$BymgM7-vK;ecg`Duj2x9e9S7% z!*Y9-%CbNOXrxM|$!>r|6a1Mr2di41#Q-2K1#PvDx??bdjks#6%Z<*4`AZ`AfLHUE zM59h^JFinhb|-^Fy#F^1$_7G|B=Yo$}C_a5OF9 zE7q@PR|9))m3u>3wXp^1@Oez^QRA=I0~RB7>z5zRR-Nbd7qoZG9@0C!S8XvN9A}BvAeozh()3820ma!Z!5fY=kS&4y&2M7wxZ4{$;e59aR z1~EK|(Q+I_EUT}FSz_{&iVKa#EX04(zyJ#U)H6VEpo{1L=Mq5wo!(f{N22h@)u%!F zAczKOr{jg@dx~E>oedEa6nA%v6YvLsX(&`1`ejx~*NtEZ} zB-4mxb?~*_4!7|AAV`2T>@Nck=w_hErfxaJYLsL&*m6s-N4&oKe1h8IZ{vyk3;P196iFKl;mQ8?EPBV9%0inuzlO!M9Uoh{-K`cyYbvyHne719$uL`g%r26$R#}z5v}3ZX z3S=EfjhuZItOPT&enL^kQ0_#bIMUu$NJL%uCYw<*?8h=U8^&xE9aABh=XJe9tD1fM z+0u_T@`R!Y#aoG()yE3d?J4#56&QbVLMQ+GT_!ULyhFu2?sx5cs9!47(y@4NMT6+Q z1hxHO=m;-CsfY0E5e8vRU7=BaDR_nJFaUqVs&1)f;z{I`isaPa>wRJqFn$*;)#G47-G)n|V2p(R1YAyLY?Rhhb9N;M4%HJi8SlN@v{ zSf5y2PjEK{;h)kD%F?A3-DaeO+wuW#gs^9M&(jMDqyfO`4L=>893)WVJzCh4!jlEAzbmR;9DI58u3fk0}QuGV&uH3WS->BrkMl6;(dB&Hu!rW}q!( z(7|a{wLsgWzHkTlsM8yAMKFce7v>2sjj-Ajcz4=qpa{IEDe9ATWaX7Uo<+7JGNUvx z58PAmlcvzjERzZGh^;buEYw<7H|-1xwV=?;C*f;vnG}Cx1iI6Ol5Sk|k}1gnhRx7= zRC1u*E*dxd*e1}h7NkbG_8a%T(9E9$Ht{fXb~S^gR_O!|Q(yA%8kbAo!iHbVYZ2k! zrOakvdY1YbZ*hZ1I{Jh=(U>4Ci!8+OhaK{xTzqt#WGQ%49}nF!1ZaPXGIFwR7J zO^@buoTEKud^G8B&Y1ls3{kiv-}j%3u@y-z)meKoN9-jCxkWQ+!_Ggf935ETm0^Z{ z!E6rbXPW>wCI+~+{z66So-5+e*(SJckqNc$?*n!)>}qaT`2*cjRjwn;!>xBkY%rh1 z>p#Vd{u=#ZvYW>;n-6QFKsI+S0Z6eeD}Z7X+zPj+ghE4D5D+6)VxfK}w}{y_gSt>9 z<_Q!V0HeKOY0gmMG)VMd$Owf1z;b5v2FoaAt*V3gO5Lt!e;e^zC%tudybgNz@ALmU zu>yFBWwPS|YICLTh(b2XqWyXB%$V^dVJE29SY5pRB=KB0S6DM~cM^Y6K_V5o<7J5ybamSbif0=m8Q zp!91f+wIb)2Pn3m@ybsqB*Iz3Z1FP35%yFmxfsonr!YuU(?OMr9E)M0fbb9*1`j0d zxe38~D+~|oXyKt-RT`8Q{nyVRE|wl!*1IWM%HL2M#LfV3nggRNDPd#c z;oJ|^_AtZfG^0$7XKtiaz^}sGq=}pBW=FblC#L(W&cAH|jc^f{cGc#FhthxLGRI(l zwPSI3h^3DGp=`WG%{P$TxW89_!ThF;{h`>dkxzE&q&pubONVJL(3>X;GLtS0UopjAxr--dAb`-1!?~Ayu9&42IWjS_ z0^YQmEY&^-#+V7kH-%(2HwR-7Le=)>IyZrY0MJH?N1OMVTh+u8ZMg{CS0PiOrG*ra zA8U!?+6amS^4URiEbEr@>X2-u{le;aoPAkA7))IU{TIwV1w~ZZ9PReP4VliS!gI-s zx>?C$Z#9wdH>5k0W2*@0x7`Mp8LubUpyUd#!bG-qJ(>!3VY?gp`b(XdTbuj|I+BLW zyaYFe$;87liW>|pFarIeJ%7o#vqP^U_&Bkk<7%=Px-E3JMwBecjYg#oKD zoGn&xLOsup39_LDI6!%Smu20=}rDs@QcOck}l z!dl^g5*Q9{C`IE}W-qcUUOWzQqmC{wU9a&*5i4iIaw`@8h>;u*ebm_$RShsE?L5jd z@asi=1vdVk$W(tEa&@6$pR)s4tOM+!PS`>Z6}xEAe|eRtdk9t$z-BI5>C+3jkxsw5 zgFrC~4L~W2>MU6@qw6}Ug@LYWGjtra`A5YnU)w6B&ITrtrOHuL_R!Zu)^1xVlsCe% z9|nB|R`tdJ&btZ+;#>#NjT8A&J~+X)IJW(aqCO4y6kH&9YlqH zNpTg*y{c~C;+ETuxYL*F)>s*xj03tr#JWIs`Q=u3cU#TsNEI?{fVX6fB-B*l`6I_s z{v%6k_#!JOW^_DuvAW5JTwx(c^CnFkJbN_NS+Oh&-m0sgUK#;5$8@q3jTatVfm!3c zI0f^UC=`!NsMIz*Ak|4?hcf>O`7wGX-atSb5X(O@J+23k_;Gfk3e6vd0Fwu6q#QS&`4q9)@XuE(v93I%U zijG{9Jxp(j$3mbHaLgsD90xq;l7o4Rai<8tsy~7RxCEo{C*fg|2JRKGTy-yl5|e0+ z5yrh>N?u#np{ROmgRqxWS-yoyA%^|laFO1=Ky(j=q7pWTvBq8%^*LD27>^petW;nLlAhlA^{zR>7?h*1NDo3t;a9V z?%%=+55BdyrwgESv3v|B@Og%5dSA;%z@O>OY@~#!B~J_M(K>06X$ea%<}!7@lF9aS zS5vsMB>vCH3QdB4g%owFzc7XbfEy{GubJVm`}sv2I1DM@>u~_s6UDN6aEb;7c!Md zMe=PFkGCbj>f-&PPJ#1piMXWyk!A4zh6S)ky!|8^x%9tVCrd`F=43JY z!B!hg_)s3^nB0e_ax13#csq4mM^Ra#T?Nj57wkvDe!;LNz1pURpMXItilCg$)b-u|WJ%CwNv zdFE69YS+Z1+%0#B%qi99-?zHu2nWT7|h2l7US~J#n=3~g*@VUN88>HoFYpNR2 zeat8^z?Ge<9`lfnle2~>o2C3?Ymtb~yrZ^dQBWA!aD(6q^Spy&hPZvIxE+H!t82G` zb=-KrKrVqYdMNPW5btCy6zhPj$BPAXV1xu$GXbmm)fVzXRSU0s#44HGTi!#f0g6Mi z8Uz{)xED`s1uk&bV5(n)y+vBd)v{j%BM0xNz6LLPya_m4;iUT+nh~XJ>3f`@pw4w6 z-!s753TgpeVs3xZZVMNGRV4B20*_HoRe2A%HKCt0@iuCYP{rX?@RHIb%)Vj!7@UTF zzUe?vU{BG?}!9xT*>D~_n@k;M2@1h19Ekbu%> zlAXyh!^}5Wcf@ghwzclzR&_3|JX3n4KIpo){<}o;hpDHMgmTJ7%DMlzIsl9Z=z`~R zP}WCs%@rWc9|ryA`1`o}70#{S-BkbiC!Pb`e$(MHC!c@pBcIV#t3WIr%0F|M3?5jc z)6W*3bi3Z)>j`rcnjPU!^0}YuW#0*Yse>|# zn&eTIU)wW$e~6c&((Zzv#G4M5cVyPVy3;Hy;!eR!z~pl=6S9x4PcdC!;8gXI zb-|NM&hf^np<8t>!*g@Y<@D9h@7_8?`B4T{vHrnk`;(Q!$EqIvY9JqfRflq|U1(+p znuW5Lu_$mJXF1-ZkJ7#Zk=eiQsrD4`R~IgmGNEhFlv7mjxN`?&Jm#>dUsFVRzx~6Y zsxIB)wN<-EZ(xjuqQpCKI@c6(+5a=e`yl$eJ@0__byM1~V}9b%PbW%qS(b z1iJ5-pMfljnwlHeL%7adF2KRuIyMZ#1{?sqAj|RAYv&do%mvMIb1!JHjnEYf3+VaRgkSmia7IJAMZtcaXIvy7ef5RWq0htpr9|jSk0GzX9ZRNts!I003lqw(tM| literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin-643e385aefb4436bd41249b584077e24.js b/priv/static/beacon_live_admin-643e385aefb4436bd41249b584077e24.js new file mode 100644 index 00000000..0654c732 --- /dev/null +++ b/priv/static/beacon_live_admin-643e385aefb4436bd41249b584077e24.js @@ -0,0 +1,23 @@ +var BeaconLiveAdmin=(()=>{var ge=Object.create;var G=Object.defineProperty;var be=Object.getOwnPropertyDescriptor;var ye=Object.getOwnPropertyNames;var ve=Object.getPrototypeOf,xe=Object.prototype.hasOwnProperty;var $e=(t,e,n)=>e in t?G(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var we=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ut=(t,e)=>{for(var n in e)G(t,n,{get:e[n],enumerable:!0})},Ee=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of ye(e))!xe.call(t,o)&&o!==n&&G(t,o,{get:()=>e[o],enumerable:!(r=be(e,o))||r.enumerable});return t};var ke=(t,e,n)=>(n=t!=null?ge(ve(t)):{},Ee(e||!t||!t.__esModule?G(n,"default",{value:t,enumerable:!0}):n,t));var g=(t,e,n)=>($e(t,typeof e!="symbol"?e+"":e,n),n);var At=we((Ct,U)=>{(function(t,e){"use strict";(function(){for(var f=0,_=["ms","moz","webkit","o"],v=0;v<_.length&&!t.requestAnimationFrame;++v)t.requestAnimationFrame=t[_[v]+"RequestAnimationFrame"],t.cancelAnimationFrame=t[_[v]+"CancelAnimationFrame"]||t[_[v]+"CancelRequestAnimationFrame"];t.requestAnimationFrame||(t.requestAnimationFrame=function(at,sr){var ct=new Date().getTime(),lt=Math.max(0,16-(ct-f)),_e=t.setTimeout(function(){at(ct+lt)},lt);return f=ct+lt,_e}),t.cancelAnimationFrame||(t.cancelAnimationFrame=function(at){clearTimeout(at)})})();var n,r,o,i=null,c=null,l=null,a=function(f,_,v){f.addEventListener?f.addEventListener(_,v,!1):f.attachEvent?f.attachEvent("on"+_,v):f["on"+_]=v},s={autoRun:!0,barThickness:3,barColors:{0:"rgba(26, 188, 156, .9)",".25":"rgba(52, 152, 219, .9)",".50":"rgba(241, 196, 15, .9)",".75":"rgba(230, 126, 34, .9)","1.0":"rgba(211, 84, 0, .9)"},shadowBlur:10,shadowColor:"rgba(0, 0, 0, .6)",className:null},d=function(){n.width=t.innerWidth,n.height=s.barThickness*5;var f=n.getContext("2d");f.shadowBlur=s.shadowBlur,f.shadowColor=s.shadowColor;var _=f.createLinearGradient(0,0,n.width,0);for(var v in s.barColors)_.addColorStop(v,s.barColors[v]);f.lineWidth=s.barThickness,f.beginPath(),f.moveTo(0,s.barThickness/2),f.lineTo(Math.ceil(r*n.width),s.barThickness/2),f.strokeStyle=_,f.stroke()},u=function(){n=e.createElement("canvas");var f=n.style;f.position="fixed",f.top=f.left=f.right=f.margin=f.padding=0,f.zIndex=100001,f.display="none",s.className&&n.classList.add(s.className),e.body.appendChild(n),a(t,"resize",d)},h={config:function(f){for(var _ in f)s.hasOwnProperty(_)&&(s[_]=f[_])},show:function(f){if(!o)if(f){if(l)return;l=setTimeout(()=>h.show(),f)}else o=!0,c!==null&&t.cancelAnimationFrame(c),n||u(),n.style.opacity=1,n.style.display="block",h.progress(0),s.autoRun&&function _(){i=t.requestAnimationFrame(_),h.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(f){return typeof f>"u"||(typeof f=="string"&&(f=(f.indexOf("+")>=0||f.indexOf("-")>=0?r:0)+parseFloat(f)),r=f>1?1:f,d()),r},hide:function(){clearTimeout(l),l=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function f(){if(h.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",c=null;return}c=t.requestAnimationFrame(f)}())}};typeof U=="object"&&typeof U.exports=="object"?U.exports=h:typeof define=="function"&&define.amd?define(function(){return h}):this.topbar=h}).call(Ct,window,document)});var st=ke(At());function Fe(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Tt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Mt(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function Se(t,e){if(t==null)return{};var n=Oe(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function je(t,e){return Ce(t)||Ae(t,e)||Te(t,e)||Me()}function Ce(t){if(Array.isArray(t))return t}function Ae(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var c=t[Symbol.iterator](),l;!(r=(l=c.next()).done)&&(n.push(l.value),!(e&&n.length===e));r=!0);}catch(a){o=!0,i=a}finally{try{!r&&c.return!=null&&c.return()}finally{if(o)throw i}}return n}}function Te(t,e){if(t){if(typeof t=="string")return Dt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Dt(t,e)}}function Dt(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var c=arguments.length,l=new Array(c),a=0;a1&&arguments[1]!==void 0?arguments[1]:{};V.initial(t),V.handler(e);var n={current:t},r=q(Ve)(n,e),o=q(Ue)(n),i=q(V.changes)(t),c=q(Ge)(n);function l(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(d){return d};return V.selector(s),s(n.current)}function a(s){Pe(r,o,i,c)(s)}return[l,a]}function Ge(t,e){return B(e)?e(t.current):e}function Ue(t,e){return t.current=Lt(Lt({},t.current),e),e}function Ve(t,e,n){return B(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var Je={create:We},Ke=Je,Xe={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},Ye=Xe;function Qe(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var c=arguments.length,l=new Array(c),a=0;a[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],wn={base:"vs-dark",inherit:!1,rules:$n(pt),colors:{"editor.background":pt.background,"editor.foreground":pt.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},En=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,Nt.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),Nt.init().then(t=>{t.editor.defineTheme("default",wn);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},kn=En,Ht={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new kn(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function Fn(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function H(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function Wt(t){t.parentNode?.removeChild(t)}function Gt(t,e,n){t.insertBefore(e,n||null)}function Ut(){}function On(t){let e={};for(let n in H(t,"data-slots")){let r=()=>({getElement(){let o=H(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){Wt(this.savedElement),this.savedElement=this.getElement(),Gt(this.savedTarget,this.savedElement,this.savedAnchor)},c:Ut,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),Gt(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&Wt(this.savedElement)},l:Ut});e[n]=[r]}return e}function Sn(t){let e=H(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function X(t){return{...H(t,"data-props"),...Sn(t),live:t,$$slots:On(t),$$scope:{}}}function jn(t){return t.$$.ctx.find(e=>e?.default)}function Vt(t){return t=Fn(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(H(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(X(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(X(this)),!1);this._instance=new r({target:this.el,props:X(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(X(this));let n=jn(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var jt={};ut(jt,{default:()=>nr,filenames:()=>rr});var Ft={};ut(Ft,{default:()=>kt});function k(){}function ht(t){return t()}function Y(){return Object.create(null)}function E(t){t.forEach(ht)}function Q(t){return typeof t=="function"}function Z(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}function Jt(t){return Object.keys(t).length===0}var mt=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var M=class{constructor(e){g(this,"_listeners","WeakMap"in mt?new WeakMap:void 0);g(this,"_observer");g(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)M.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};M.entries="WeakMap"in mt?new WeakMap:void 0;var tt=!1;function Kt(){tt=!0}function Xt(){tt=!1}function Tn(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function Mn(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let a=[];for(let s=0;s0&&e[n[o]].claim_order<=s?o+1:Tn(1,o,h=>e[n[h]].claim_order,s))-1;r[a]=n[d]+1;let u=d+1;n[u]=a,o=Math.max(u,o)}let i=[],c=[],l=e.length-1;for(let a=n[o]+1;a!=0;a=r[a-1]){for(i.push(e[a-1]);l>=a;l--)c.push(e[l]);l--}for(;l>=0;l--)c.push(e[l]);i.reverse(),c.sort((a,s)=>a.claim_order-s.claim_order);for(let a=0,s=0;a=i[s].claim_order;)s++;let d=st.removeEventListener(e,n,r)}function m(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function Yt(t){return t.dataset.svelteH}function $(t){return Array.from(t.childNodes)}function Dn(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function Qt(t,e,n,r,o=!1){Dn(t);let i=(()=>{for(let c=t.claim_info.last_index;c=0;c--){let l=t[c];if(e(l)){let a=n(l);return a===void 0?t.splice(c,1):t[c]=a,o?a===void 0&&t.claim_info.last_index--:t.claim_info.last_index=c,l}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function Pn(t,e,n,r){return Qt(t,o=>o.nodeName===e,o=>{let i=[];for(let c=0;co.removeAttribute(c))},()=>r(e))}function w(t,e,n){return Pn(t,e,n,b)}function j(t,e){return Qt(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>F(e),!0)}function P(t){return j(t," ")}function Zt(t,e){e=""+e,t.data!==e&&(t.data=e)}function te(t,e){let n=[],r=0;for(let o of e.childNodes)if(o.nodeType===8){let i=o.textContent.trim();i===`HEAD_${t}_END`?(r-=1,n.push(o)):i===`HEAD_${t}_START`&&(r+=1,n.push(o))}else r>0&&n.push(o);return n}function ee(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var L;function O(t){L=t}var C=[];var re=[],N=[],oe=[],Bn=Promise.resolve(),vt=!1;function ie(){vt||(vt=!0,Bn.then(nt))}function W(t){N.push(t)}var yt=new Set,I=0;function nt(){if(I!==0)return;let t=L;do{try{for(;It.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),N=e}var rt=new Set,Hn;function R(t,e){t&&t.i&&(rt.delete(t),t.i(e))}function ot(t,e,n,r){if(t&&t.o){if(rt.has(t))return;rt.add(t),Hn.c.push(()=>{rt.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}function A(t){return t?.length!==void 0?t:Array.from(t)}var Wn=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Gn=new Set([...Wn]);function ae(t){t&&t.c()}function ce(t,e){t&&t.l(e)}function $t(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),W(()=>{let i=t.$$.on_mount.map(ht).filter(Q);t.$$.on_destroy?t.$$.on_destroy.push(...i):E(i),t.$$.on_mount=[]}),o.forEach(W)}function wt(t,e){let n=t.$$;n.fragment!==null&&(se(n.after_update),E(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Vn(t,e){t.$$.dirty[0]===-1&&(C.push(t),ie(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let _=f.length?f[0]:h;return s.ctx&&o(s.ctx[u],s.ctx[u]=_)&&(!s.skip_bound&&s.bound[u]&&s.bound[u](_),d&&Vn(t,u)),h}):[],s.update(),d=!0,E(s.before_update),s.fragment=r?r(s.ctx):!1,e.target){if(e.hydrate){Kt();let u=$(e.target);s.fragment&&s.fragment.l(u),u.forEach(p)}else s.fragment&&s.fragment.c();e.intro&&R(t.$$.fragment),$t(t,e.target,e.anchor),Xt(),nt()}O(a)}var Jn;typeof HTMLElement=="function"&&(Jn=class extends HTMLElement{constructor(e,n,r){super();g(this,"$$ctor");g(this,"$$s");g(this,"$$c");g(this,"$$cn",!1);g(this,"$$d",{});g(this,"$$r",!1);g(this,"$$p_d",{});g(this,"$$l",{});g(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let c;return{c:function(){c=b("slot"),i!=="default"&&m(c,"name",i)},m:function(s,d){_t(s,c,d)},d:function(s){s&&p(c)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=ee(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let c=this.$$g_p(i.name);c in this.$$d||(this.$$d[c]=xt(c,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let c=xt(i,this.$$d[i],this.$$p_d,"toAttribute");c==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,c)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let c of this.$$l[i]){let l=this.$$c.$on(i,c);this.$$l_u.set(c,l)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=xt(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function xt(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var T=class{constructor(){g(this,"$$");g(this,"$$set")}$destroy(){wt(this,1),this.$destroy=k}$on(e,n){if(!Q(n))return k;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!Jt(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var le="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(le);function ue(t,e,n){let r=t.slice();return r[3]=e[n],r}function fe(t,e,n){let r=t.slice();return r[6]=e[n],r}function de(t){let e,n,r=t[1][t[6].name]+"",o,i,c,l;function a(){return t[2](t[6])}return{c(){e=b("li"),n=b("div"),o=F(r),i=D(),this.h()},l(s){e=w(s,"LI",{class:!0,"data-test-id":!0});var d=$(e);n=w(d,"DIV",{class:!0});var u=$(n);o=j(u,r),u.forEach(p),i=P(d),d.forEach(p),this.h()},h(){m(n,"class","pl-2"),m(e,"class","pb-1"),m(e,"data-test-id","nav-item")},m(s,d){x(s,e,d),y(e,n),y(n,o),y(e,i),c||(l=[et(e,"mouseenter",a),et(e,"mouseleave",Xn)],c=!0)},p(s,d){t=s},d(s){s&&p(e),c=!1,E(l)}}}function pe(t){let e,n,r=t[3].name+"",o,i,c,l=A(t[3].items),a=[];for(let s=0;svoid 0]}var Et=class extends T{constructor(e){super(),it(this,e,Yn,Kn,Z,{})}},kt=Et;var St={};ut(St,{default:()=>tr});function Qn(t){let e,n,r,o,i,c,l;return c=new kt({}),{c(){e=b("meta"),n=F(` + + +components: `),r=F(t[0]),o=D(),i=b("div"),ae(c.$$.fragment),this.h()},l(a){let s=te("svelte-brtbho",document.head);e=w(s,"META",{name:!0,content:!0}),s.forEach(p),n=j(a,` + + +components: `),r=j(a,t[0]),o=P(a),i=w(a,"DIV",{class:!0,"data-test-id":!0});var d=$(i);ce(c.$$.fragment,d),d.forEach(p),this.h()},h(){document.title="Beacon UI Builder",m(e,"name","description"),m(e,"content","UI builder to compose beacon pages"),m(i,"class","flex min-h-screen bg-gray-100"),m(i,"data-test-id","app-container")},m(a,s){y(document.head,e),x(a,n,s),x(a,r,s),x(a,o,s),x(a,i,s),$t(c,i,null),l=!0},p(a,[s]){(!l||s&1)&&Zt(r,a[0])},i(a){l||(R(c.$$.fragment,a),l=!0)},o(a){ot(c.$$.fragment,a),l=!1},d(a){a&&(p(n),p(r),p(o),p(i)),p(e),wt(c)}}}function Zn(t,e,n){let{components:r}=e;debugger;return console.log("components",r),t.$$set=o=>{"components"in o&&n(0,r=o.components)},[r]}var Ot=class extends T{constructor(e){super(),it(this,e,Zn,Qn,Z,{components:0})}},tr=Ot;var er=[Ft,St],nr=er,rr=["../svelte/components/ComponentsSidebar.svelte","../svelte/components/UiBuilder.svelte"];var he={};he.CodeEditorHook=Ht;st.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>st.default.show(300));window.addEventListener("phx:page-loading-stop",t=>st.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var or=document.querySelector("html").getAttribute("phx-socket")||"/live",ir=document.querySelector("meta[name='csrf-token']").getAttribute("content"),me=new LiveView.LiveSocket(or,Phoenix.Socket,{hooks:{...Vt(jt),...he},params:{_csrf_token:ir}});me.connect();window.liveSocket=me;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-643e385aefb4436bd41249b584077e24.js.gz b/priv/static/beacon_live_admin-643e385aefb4436bd41249b584077e24.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..fcb7fa715effe9aa00c2863ec158c603afffb387 GIT binary patch literal 11730 zcmV;@EiKX?iwFP!000006YYKbciT3y@bCRAWY$+DYlxBTB%4ZMw26~6Zu4m4q-m?8 zPoYT2VoiYx3HcF8|NEU803;~Mak^*s-gEBx_H-SRcnt>g#sInq^Trb%Mwxh-T=2*7 zED?e0dcmXR1(cle;LZ3i9!WpSc_?`gKmKUG#e9+o{!56zMpf(;<1G^O_!4_cd<8tpm7gD6Kn}n?ec*bvKowQZ_S>W z>98D|Cli-9n>hDu(%?bhWP}n2fT_Ms79x^KCL9k(OSx=h4Jf+iF892>EAB^OnnJIc z*KB5cK_HqQv3IpBFsXgas>?}|X~1!9q= z{WI=fa94UB;0Y#$=-ZR{e}6RM#j7k{q#PDXFb9Y$T%^)rOSKGg6DeK6pdT9S%o=MS zx@QIpdx2A2&&FBm^!b6~bg>TnM~xoK;F7!Uv1IQNrLI92Ez#0h6ueQ$JOQlssxq%! zxk=DwqhR373Wqtf>@)nmKc5y0;ks$RB` zHts_Sl@3w~3;}-(#Z3bG2o2ZX4HzMqccRJy*;_^_4|6jvd;re#TtzLwc)%G6Q8A0u zKdJgBtU8&n5xW2y@xwTNcEN>wnG})>p7*yuxlonub-XSVNf|~{D(%At z2I_ejT&!6UEW?G&-Yx{nsWAXOO`>zbi=umkug6)MWZORYtcA)7G_pv?H)aCyu+aDgap$JDgx?7fa z{HlEi+CRV|sHe(d64NlwE}x`}yxVE(Hv(KYqN>#&|2}jYrD0K^mgpkt*DMY!@(})I z63Z!&Pa*)pAMk|*YJ5e>w_rF z&iSdlPI)jY-(BFuMQsTJt`YDoY6RtspS5$|X7FiPZg&?&!^xErTgbndVznpS5p`@(G_HE2=O zY#P8DBUtJrxIqoTtnDtG1LweR-}|0OZ4OiDwCJ(;luI}F*rDgGk&aA*8hVUTq4fFW zk+X16mg`qAa!^H!GY8N-3ET-VK2XJ*2@dK#3filc^{GXl`gynQ9n8bL;LpG*w7(dm_z>1_5&6ybFAVIzEEi){3u5`iyf9$rV0EO4JVcHGQO{A3H zHUME4t;*6@DiQpKE9wD4kxHa%O|Vq{lnB6K$~VXgEmE>25^y$>hq+mZ1QsF-@|tUik-;SLAVC+@ zot0WaXC-+X7dKb4&T-aAMccFfOV3)D9HW!ET0K@@SF3mC;T76EWh<(N zn0lP&;kBO>^e_6i+bjII!t0*VUykY|&JQ;F8luP5L;u}PgUA;iSipd|=3Bm&&jCsF7j!qIF}D-i?% z2MLRVdcAcNN??c3Tax{e1mPOE0I+<$L=g7!W;62D%LuBw2?!SjnWiMacKwK^o01x(L*Q|dYAqL zhyZDbn4tE>7i2S1n^)l+R*fD{xh%m^lrYJ&nU?!h7U$=u7Lj(&-Rj zK%l~CF;N^eD4EW`1%z&r=vu40A|0`y|FWd?-%3u?> zj9YvwQ4qC(cO~&I297O+S3GRPY?uK=a=eK6TXeB4`e8{~B>`$$BNbG@eZs}x=(J%2 z4AK%Tcn~gIaAy|WIeJ25uP8$W%oGdmq=Y-ujUSaVtS>cr(lD84J7|^i+ZsHz1_ysQ zgu%myQ7?qS(?Mtt9+rdik`V?&)BvFN06i%>NfknVst~eVZ)=)FMCk$~p=;TY9i`u&SCTbt~qUjS^!WaSN{3^&Wn5(dapKooE`0Gmb*v@t6%S z2aTG|ERU`fxqAeS077pz%O0L5JdL3XUJdz{Q1OHeE~r=Vl%uXyV_DQ^Rr|?QhCbtz z>$(g-mzE)kbHZmGzH)MVPvBVtr~4^32Yo_=N*XH>iA=)uq`-iA0t}=_v z{!Rf#QKNv*8q<|ZRq7N~%4$V&1vfyvHB$8p9xS)U@0#Ah6AmRPxT298(3l0#X1!vX zEz%g3ZYZ>lE$eGQcQ+B=N!<$d{B_yZT7|Ab<*rdc;e!S*>6Y18?>az?4fDlrT{b8j zW)nxZB$b`D9ahn7*8v{5NMas0h%9g)OqCY9v0)Kw_q#+k3Legi#&x!6T!w-y9909y z!%AdaOu5F^hL%){tBJmb!qod%!W&)jogfL;1qu++2azUC#ax^KC`boUcC3*CLf*HzTy z1JSus>YMWOQK#9gL}UjPxpq4G_E*&9zxldz)J?zndQi7C&X+Ko9H~p9FZ;>;4d52& zNoMf!9$!#3z;|Cy!^4gu`0^taR`8~-g0|R(wrxY(-U)4cSZR*9ly&ji2>;)FgFCnI z7}x{82Haxb5Q>(du4!9{MIO9reLhH8IIJrESeK|Mbov~lgu2VFB?{ly>z0)QFudTu z<(gIPXmh!0`rD?#yFHLCw#9Cn2638cG=M|S(bx)%Ymo&dF4aHXOsNoFfu*c7CP-@i z1X4@w26R90HT#(dKXLXue4K}JT6C8e1&9kN=SBC?9MC` zVU)FaoWNTAv+W<<_d9oHiMVr7IO{e0g9pF!iYR{N|KC6%0|kfqlLxI6vVdJ((K=Vl~#Q#&908ER8dBkUZ3hzX|I}ottR$`7CUvz z*NOXo)@c7unuXviSAw5e)9-$KTD>$7Kd`cU-!$NVe}Kjc!3SRy@TpktmI93x z&*s~nSmmgT-JTd~6jLQ~6Y#{q8(Xtf1d+v#pX4rc-S=T{# zLlGyi&@2=S3<5S(J>VtF4v9r&hwODUlEGh@C52_egU$sG_kkjWg|f=K?Pu;pc-G zs0)>w056D5^{hxzJyhKz6V`ETkPu4r5knhj#as$I{T20k!8DTerx@8HQNH>FBep*T$ht*Bb@8|5Ugm!Nwp?u0P)Yw61t8(9@9 zmgH1vcNpyTi#!Ts%`6;SeSO|G^@7|GL;{bBWP5e0$qXeYYc%WvfX;D@#ldxRp9H#p zQ7}iVDlq08&*HaC;P)N;CUNs0%Si_k5#eym3Oio!BuZhzrG`7uh%-xuo9(;jV^Lpi zW<1cVtaW^kmrSQ0ppH9mE{Z!^C#!$_S(pfC$ZWViQzWyZA0UrfxzwOxfgKW{@akvR z)0DPa0S{;(P#TMCC8}e&TcFxn1co#Sk_JK8-eXsl!kh~7BfB%f zMx!$>U(s+UTC;R7K%c&r!4=3(FtNs9vz+DGLV$7g?csyN=;*Fx1$`Ucjl%f8!%|d% zZ_xt#mbdRm|G4L{F-GK_Z|`@)37idykvaG6nBQyPh5o^)N#XV0{qgx{EBcD7LG&o*bcy%MIX{3xOxO=i8mvCvGTzyIviO zy34IvH?opnWQ#o7(eG9Z8E%r;_Kap+hF?=JlmO>=Avx{tewo^;x)ewJGMVf7!#aHR zTK!erLUe{H{NmFl&1wD_vP*$77yL2MRjoM8&oR0?CUC~%1n)FNUEV%#uQ`P>uVA?wTd9ZkM740KxXTD$BVqkZmFY#aKK?tEU27s zkNDlY_c~Rz38?K?XyLyAv=VCT_3s@%7*8fgaoOT@adyTF`5}oxbJeB{>Zx;h?{Ium zRobw|YMlq2urs-#nu43hbud8fb&f)4l8E_YbJ)(f6CWN`g*OfKM9Dasu2st@)t$9= zArE}XXW&a>8tl@_Zz#{0EGZQa{3FTe3C+8Jt7oEo-1NqmY%Yr+SI?-x;xGkEZWLuP zA1Po|q9j!qW#Sb8B7?zjofP!QlxNo`I1!4YVU0Zdz^Puu0swD)f^qq zFa;AjzHZD^JFuM-b%>YcI_QJ$a7^EORE9Ux?9A1f=ce58SW=EhXY(|4em0rFfG_BP18#h{Ukk*S zC@l@IG0B-S6g)puKp2F4xoIYzCb8Z^JcSt?(>9KRxi-Pw74eh+Qc7|g|LB%#;;yCw zz=ukL)(1X5?k|(|{OTi4V|_bLmfHO*sFpel@$et_AN0Qj%VHh_wU|DZ6EN05<)fO# z0~Swtl&Qd1K_@o4o%{4%X~^PLB4FO2ekmV*l4iip^av>GwB4_hA^3<|_gKkC&pS9W znbdz1=JpLRw|ByPZ;b)Ta}hif>;*V^vr?KX3Ha0Lo7Xn0!|K4WV3kP4PHN2%u4h_J z0AHMoI^$W5P*iMvRDwWiqO3aejTGk=v!Db;ji^pm;c&-`LS{34(kh+tuENmBXb859 z!G=uI?sA%C=Y&+Is&qF7T(j|FJVwI`gH#$Gwf|{#uXZ&@MpAX1gPpS!05l>o4>qTD zyGEgxmwJE`SPncO;?I&9?SsF`tDYnIF`U}9vgGrb(C%IfUe^srQ`H) zgWUihI77!CIOlkt%IXj+x0DxfTP-B`sxu1#mgTToZ5C>aXU!;?GP@?`+NcEf!$vF1 zPOuI|2%Sc|w~?q^?uV^bTSb#3<%qSS%4XJje7WxFBgF$S7KfORWIFPJB63W#)20wc z7>$pBCx*&S2Vw}=nx|m|Sn~Zl#RX3#zXMAI3t1JY&-As&aU(Wcmocq!dM{J}3&+ER zU08=Rd+m7@hU{BnN#G&ms*?}O=EFjm!)w53UoYo&g!V^iHrvq}0tG3baP(zdj;F0C zXWrV>N3+$+^ryAhM5HLk42vF^#30oEratZWe3k9Nyq@r2PgK<)=E!CBWa`_ak{lJ~=91;GuHIy-HP)c9VdF z6I-4Vr@uf&yJ1Xd|6r4?73d__75>DwBY2$6=Ad2#bOQBMBKep%Og5OdH*=Nqj(y}? zeSCZ`D05wA4V+bDe<{|D$n@)f^vXq{>lN%x*cU1fWNWoOPurSXXTrf|&DNu&+VuJe z%=}1M^=0b(KIka-cj_BVjlGV?zT6#IJzv>XuU>(yvfN!t;+C#4&WK*Rx*eNd$2sQs zm{ppF#pWs%MUD#4NR?8P-2jOu_`kF{Sl03^1^{s>XsdnD9)cNc#8q8gu5~udUlO?o zyqdox8g**x0fnl_S*eofL!Rr?h0jfs=NnDVk=aXPKCcP)X^ph)qe6eUoBQ5%|w~9@$iNGAhD@)2#opQ(JAvg5-lRdYcDa%0+v8gN$*DIT4rDI)w%al9hR1pPy4fxvlzjkV!BFb`bv^1$)#{e+z-?;Xb z1I?M;v&Sk&-s%aAa84GBi8knd{Dmm{!3a=oh&ouNNx$#bKLk4>4_x0xqbv~8DX)wP zN7E9%V*P4%6|iSkx!3n;GZW3uvWMW-MWI!eGT7@>9Q89=H~6h>X)g1vW1SHbRk#x8 z(31~&&!|Ls;PRGy^avyxW@zy1{7CmY$;1Mqtz(Zdzo;`l*D1gFXFf3(P5wv^7LvGH?6nI_+zsCU|6vJMO*ApbO z5k+^)^wnlFR3S)k!gvs_m4rl$o(Oq#sBH$_=RwEQN4$0v0!Bb&2CYs{p{iX1rV2b%u&Q5`{mm zKK0T^LD)-MEiW?PQ~cU$t%;bRxV>GRfJ*>;L($sEFS1;^ZU}P;9)TonMN$iv#-r&w1MwOK?0;N$YKx~}Pm^()h_fESw^gN&2`)RBakb*xQ`>R{xBK(DJ0RmWAau8fyV*OAXI0V& zp)u_wBKsiE=(A5eWnu}OBJQgyBXdQ z2SLYExr_MMuVY}mEAguC58Goszq$H5m@>jytN*l8yw6>yVIS=o%UYRT#AT(lN~dYd zZdVn^M35ReyDC^|du9QJB8|S>3Po`wzKytuy7f)gLuJ^HWw+KW+A>6@;xaF)diz#2 z`wXwN%LI;M$1>Z+h+8p8DJNvO zS|#R&1iArWUG2w3IQ}NDMPLUL_oBOEk?7^d8J%)cW2@3%HQ$XUDZo*sNn$`ACV6D- z5jf5Pr+Ws7H!-H3%i=>Kr*7_%cGm@Jy1?<~nh+CS5=0vkg`8WKsXL}r(;!!qd5(U` zUfTlo7mMi;?7A5IQ%i47Fft`P&;cbDr=D$jEx8@WrE4zQ_1Frxg$dpvVdLb1r&k^5 z2&SU92z5ZSmq3k=XpoQgmvTLN_WJ3^zMHq`7A#uX%=5Y%l}_J1e*5ktp0z)y)l<01 z(flnx?zl*W^ID*{I@49op|)WGMzW95w$-ZKIv)m<^32Jnepz`)Z?NN+fu!%pNamCX z%Mod>@lQsNPehy7ci)c1#M`f_VtCd>GlH-__|DipetNeD(NY> zh9|gAd|lmK0QQ8Yzt;mk z>|IL?W`Sc1__$KeH{xHtZ~9A|wA3(DQ&(!HYTW!1o0H85eHU8B_FA;?Vjre;%o zuH4W`9-g5IVr)H7mL|l-o9DFV6!PZTpQA>SS9pvN zW;T&L*PWGA`N8%U3X7V7wva)4ugj`A8Y>5qnt=$kqGyeeC#N*G|m zB_KFVeVK>XxLo?)HvC##iwOT+$ZP_3YN4O;-Zyxp!&10+jVZ-4&r&Qeb8+wqlYyN$ zDKM&y^psJ)0c-tXdYs2Hn-41sLe}>>0Z6eaEAY-q+&s6Z zghE4D5D+7lVxf8_ABx#EgQ`%a@(C0h0HeL5V@_S-G)VMdgb9TJz;bN#21_W(t*nFi zO5L_+e;e>SN1auBxC%NCAM*b?vf_P-W#8kGYjX+jfFeA~{C(MbV{HC{uoF~ktgh~r zS6vWaY6BzD+Y#M!CNen!S`5=}#>SLT`v<^kRs@?=7%^{20W2o)d<1-`$z%LbBPa}7 zsXJ!7NY1Z-VCZ-WegWMQ_Cwk^(^UYs9>c71%-t*q5<*TlWyN_iA1MGamp98~m+KJh zYDJykw{dT2H?)zx4zWac5D`%d=?zk;&aEPQ%^V*42{357x;oCVAluYVk1PoL@h^@E8c(M*I?z?5BUSZLH^$g--;ju-@dvh)2Z>SAo zr-ygb0a-Mgps8>HOrgh=urU#I?uTkanPD`WQEtZ@H&iO%Ct>d1#O-*qhh4ix)BQ^6W#xQGk8YJH1D>Azwz$L)b~k7IuyOC9?|QG1K(Zy>pGN3i;W8BuHdL%vyKKH932 zZhaUn9HzNIZ?`DOOoB0h6$oZ>Thw*fr*zXYo`#BfSE&{7{ci}Il$p6O7+%n2J+D?k zW!AfrO=fcg;3zi`^t->0=O6LXc++aMP&*?Sk|q@26u(*D9JxUVRok2E+yoK=KwB>! zZTDwxSrbdN>HI4^$vmr?6)g6aBMJXTbjxyV6#@M=n{#lbaSsG45zpldfg~5PB7<#E7GcFDTPvV80V6P-$q*5ME)e zCTP$Z)B!FMX7#y&k1~t`(kL?FOsugPWvLHRF41b0m;_imta)>77L~})afh*I&#C4a zX=k5huD26kY57wdkws=H3|PkOY_WnPZ;F+Or6n|JfC&sGs47XiVq^QL27nF}$8ECY zUWH^%6v$b=llDqU(^qL2OT3%UYKz;tm9_mcB2h60AVFJHl?aQp zpM=RGW*R$l4k`jw$worwwx|^r)(Qud^00S9DH^{rdzoGG{5ZsYJ-Y66wZc0{Do^9e zaw`@8h=CmTebm_$f($yk5vb9Dt`m$N-stUc_ZO7TJu6}za> ze{q?pn+ui^z-F#y>Cy|ikxsX~wLmcn4M0hb>hxJMp$k5#g@LYY({~)TS4hPw!`mvQ z&Uz;GrOawm_R!Zu)@)iymp8()8wP!8;iHcv0)RqPpd! z%IISqLx9HVIbR#SPieEiTDP#Co18I4P=0BslX>Cp`i$OEd8KM;a+DeslVnZs1hx8} z@||uAH6R-s=8# ztGJ3(A;SiEuf{+^O%=;Oa2(}7veb$sSXnfK!=a1SO$Ox>jQk}>^CnFkJgqd=d9*AG zo~z5Eo*Dr*#RRkzjTatVf?4CdJOT5UC=?G^sAM=iQq@Xght3KR@?-Q&yqk1?SemP}DIp9DS9IRUmJB1#zK7s(a z0Gsf4;bBS#ZY;35>Rtu~X5AVakmDtApkJQ3Y3=^a`PNDwsYSNdIC$*RXPiKRcWZ4W z;-pm~PSEkfK`{(~goyT1OjGIIOa{|?8&t5-b-2|vd5mBy%YQ4yytwx_2`1j89?L?W z0_f8U^r-@UI`k3BZP>S{YcU7EhNSs_g2eE10-sB87Xa>}0(YUn#b^Wm^;K`ZtJ25N zBnDDFZXN;k0D%-0fv7+Mb*?&2YaK5Yf`B**AdZFC!!i0a(A=Fuzg-t!kbtH@Z1^1( zoM}iRE9ZgX9wF@%>;j&m%{}uyFhHy;u5gJh<`_IgC&^=Hk}{EO{`gtc_yZ{QyNAU* z6b)LDfR4_z(lh6g`USwo@vGB^cd){v?=0qN1L#~Vj==yv%P_6)Yq<#6b8#~lDG_Q( z)7*NrP9|hpzLJBvNS&|bvE9s77p*Lb|2`TC+8EhU!kEKk$ce z&}Y^Ko!O_hY~MxQTf>B6)dk{$#(V$rYedBqV2moPO>noa!rDY(ZG!AQ^?FlVFx)IM zHrYR~xLln|Z;c!J0dFH|b=qz74z2+h`19-5-NyW?b(aJ}z9kUS>@1_A$dVtXdbCx& z%*SuZoGZa&Nu)w1(fM^lX7g5iQz%`w?%!>U&svvL5CC6>S-<3_3k4{j$X1cWd>rOC z2)BBbFABI^{gbGFqQ4>KBBpY#NWKl?;iiP!=Hjmtb&K0X-F&yGQ{endA};Bkvkd-U zGXQpox8FrA_x=y-B+6h}pDe~c*m8}zA-jq?IBw>`;UH)XOmMa^Y@>KrUyvFEW$SmIqKBrTu2AHVtL zo08m%ZsQ|L&gUej(H22bnN*TAUbX_!wvBH)R0_={E?F1GJ47k4l3;^#Xe7aS9T4Ff?Lu6xS?8^pl zIUSiu^mVk#dw+hJ|`OM+xju|ZX|}j!yDx8Nn@-U(M`}eKX8f1s>gXq z2ic)bQc0Of%C8!;M6{+YwY`fX$4D7dc|&Z3^LY!$3~?J)$qnRy<+WQ|8r;CYf)W8` z^pKl}%seFcuul<4#g?Gi@sh(il!3nVmhN7c#?mDE&?WQhxP|5L6rtB8{3$TL=9@W_TPhoG-TGW%T1B?QU@v@b? zWElHefvU1Y0d(d22AC0MmnEW+HJif4-$B6}5lsQi2hZ;zk-hmBB*UMA{YsL-g1Jpn zLgv96B_((s44zANDu+zu0nb?uAFT7QRnt4=*|p+S>5l3!?9Te{6HUpco=OXvQufi5 z`^V)WVLW6PypX-3I<{-B390{h=(mSI#N{t_Zu~Z<`p-Y|9N^2F4xl;n=~Wjwg05pt z#952-(;Oy)N7m@{(}qXww)gjX!fb?kNBFaS?w5Mmb;@7rFbw6-(1Cv+&->%OB<7ue z>A*VORZ_30PLS*JQJNKUq;fTSLS2%9KPRddLtPrAf}|?Ktd7;^lT)`WY)sE<1EbMR?Z8+|X#?y9oHp3>Qg}(A8+l5z2Yox(Cu2 zvsTnEE}~@K{P9p#mu~vnsNJDAFhE05;JrDmYl^b${wd>K5dGbrw?O;4DXrNdKl143 z6{WdQW&?$IX*K?Kfuf$T!rm^pZ^qv?V7uqI_PlPG@?5&kX_n{L41a?mZ;bQovH@i%DIDwcO918 z+zT3L1GF82@1i1~wCK9F?}l3)8zTZ#zB*j{5_!>oYIgkh?HNZ85hZwuf8z4 zfJE)`{f38F>8SRUg9;Dxa0Ue<9Cf5FiA!?ayO>de32xZ9rNBtbF@hQIQNs2&cfSAr zo5uHze_~`+fEn}ZsMS7fweMn?xj<^XSctR5H3tc$?&40e oJE|Sl0#3Z9-|%gKg2x^@U}`NIuc-x8xbw|_1FVtRu6=+20NA9OYybcN literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin-6d30d7f04ccc39520fedc2eacceec95e.js b/priv/static/beacon_live_admin-6d30d7f04ccc39520fedc2eacceec95e.js new file mode 100644 index 00000000..535bfba2 --- /dev/null +++ b/priv/static/beacon_live_admin-6d30d7f04ccc39520fedc2eacceec95e.js @@ -0,0 +1,22 @@ +var BeaconLiveAdmin=(()=>{var bn=Object.create;var wt=Object.defineProperty;var yn=Object.getOwnPropertyDescriptor;var xn=Object.getOwnPropertyNames;var vn=Object.getPrototypeOf,$n=Object.prototype.hasOwnProperty;var wn=(t,e,n)=>e in t?wt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var kn=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),kt=(t,e)=>{for(var n in e)wt(t,n,{get:e[n],enumerable:!0})},En=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of xn(e))!$n.call(t,o)&&o!==n&&wt(t,o,{get:()=>e[o],enumerable:!(r=yn(e,o))||r.enumerable});return t};var On=(t,e,n)=>(n=t!=null?bn(vn(t)):{},En(e||!t||!t.__esModule?wt(n,"default",{value:t,enumerable:!0}):n,t));var S=(t,e,n)=>(wn(t,typeof e!="symbol"?e+"":e,n),n);var Fe=kn((Oe,Et)=>{(function(t,e){"use strict";(function(){for(var f=0,p=["ms","moz","webkit","o"],y=0;yb.show(),f)}else o=!0,a!==null&&t.cancelAnimationFrame(a),n||d(),n.style.opacity=1,n.style.display="block",b.progress(0),s.autoRun&&function p(){i=t.requestAnimationFrame(p),b.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(f){return typeof f>"u"||(typeof f=="string"&&(f=(f.indexOf("+")>=0||f.indexOf("-")>=0?r:0)+parseFloat(f)),r=f>1?1:f,u()),r},hide:function(){clearTimeout(c),c=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function f(){if(b.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",a=null;return}a=t.requestAnimationFrame(f)}())}};typeof Et=="object"&&typeof Et.exports=="object"?Et.exports=b:typeof define=="function"&&define.amd?define(function(){return b}):this.topbar=b}).call(Oe,window,document)});var Gt=On(Fe());function Fn(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Se(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Ce(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function Cn(t,e){if(t==null)return{};var n=Sn(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function Mn(t,e){return jn(t)||An(t,e)||Tn(t,e)||In()}function jn(t){if(Array.isArray(t))return t}function An(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var a=t[Symbol.iterator](),c;!(r=(c=a.next()).done)&&(n.push(c.value),!(e&&n.length===e));r=!0);}catch(l){o=!0,i=l}finally{try{!r&&a.return!=null&&a.return()}finally{if(o)throw i}}return n}}function Tn(t,e){if(t){if(typeof t=="string")return Me(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Me(t,e)}}function Me(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var a=arguments.length,c=new Array(a),l=0;l1&&arguments[1]!==void 0?arguments[1]:{};Ot.initial(t),Ot.handler(e);var n={current:t},r=ht(Jn)(n,e),o=ht(Un)(n),i=ht(Ot.changes)(t),a=ht(Gn)(n);function c(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(u){return u};return Ot.selector(s),s(n.current)}function l(s){Pn(r,o,i,a)(s)}return[c,l]}function Gn(t,e){return mt(e)?e(t.current):e}function Un(t,e){return t.current=Ae(Ae({},t.current),e),e}function Jn(t,e,n){return mt(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var Kn={create:Vn},Xn=Kn,Yn={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},Qn=Yn;function Zn(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var a=arguments.length,c=new Array(a),l=0;l[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],wr={base:"vs-dark",inherit:!1,rules:$r(Xt),colors:{"editor.background":Xt.background,"editor.foreground":Xt.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},kr=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,Ie.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),Ie.init().then(t=>{t.editor.defineTheme("default",wr);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},Er=kr,Ne={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new Er(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function Or(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function gt(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function Re(t){t.parentNode?.removeChild(t)}function Be(t,e,n){t.insertBefore(e,n||null)}function ze(){}function Fr(t){let e={};for(let n in gt(t,"data-slots")){let r=()=>({getElement(){let o=gt(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){Re(this.savedElement),this.savedElement=this.getElement(),Be(this.savedTarget,this.savedElement,this.savedAnchor)},c:ze,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),Be(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&Re(this.savedElement)},l:ze});e[n]=[r]}return e}function Sr(t){let e=gt(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function Ct(t){return{...gt(t,"data-props"),...Sr(t),live:t,$$slots:Fr(t),$$scope:{}}}function Cr(t){return t.$$.ctx.find(e=>e?.default)}function He(t){return t=Or(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(gt(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(Ct(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(Ct(this)),!1);this._instance=new r({target:this.el,props:Ct(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(Ct(this));let n=Cr(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var ke={};kt(ke,{default:()=>ro,filenames:()=>oo});var me={};kt(me,{backdropVisible:()=>Vt,default:()=>he});function j(){}var rt=t=>t;function Yt(t){return t()}function jt(){return Object.create(null)}function A(t){t.forEach(Yt)}function Z(t){return typeof t=="function"}function K(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}var Mt;function Qt(t,e){return t===e?!0:(Mt||(Mt=document.createElement("a")),Mt.href=e,t===Mt.href)}function We(t){return Object.keys(t).length===0}function At(t,...e){if(t==null){for(let r of e)r(void 0);return j}let n=t.subscribe(...e);return n.unsubscribe?()=>n.unsubscribe():n}function bt(t,e,n){t.$$.on_destroy.push(At(e,n))}function Zt(t,e,n){return t.set(n),e}var Ve=typeof window<"u",te=Ve?()=>window.performance.now():()=>Date.now(),yt=Ve?t=>requestAnimationFrame(t):j;var ot=new Set;function Ge(t){ot.forEach(e=>{e.c(t)||(ot.delete(e),e.f())}),ot.size!==0&&yt(Ge)}function ee(t){let e;return ot.size===0&&yt(Ge),{promise:new Promise(n=>{ot.add(e={c:t,f:n})}),abort(){ot.delete(e)}}}var ne=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var it=class{constructor(e){S(this,"_listeners","WeakMap"in ne?new WeakMap:void 0);S(this,"_observer");S(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)it.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};it.entries="WeakMap"in ne?new WeakMap:void 0;var Tt=!1;function Ue(){Tt=!0}function Je(){Tt=!1}function jr(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function Ar(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let l=[];for(let s=0;s0&&e[n[o]].claim_order<=s?o+1:jr(1,o,b=>e[n[b]].claim_order,s))-1;r[l]=n[u]+1;let d=u+1;n[d]=l,o=Math.max(d,o)}let i=[],a=[],c=e.length-1;for(let l=n[o]+1;l!=0;l=r[l-1]){for(i.push(e[l-1]);c>=l;c--)a.push(e[c]);c--}for(;c>=0;c--)a.push(e[c]);i.reverse(),a.sort((l,s)=>l.claim_order-s.claim_order);for(let l=0,s=0;l=i[s].claim_order;)s++;let u=st.removeEventListener(e,n,r)}function _(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function oe(t){return t.dataset.svelteH}function C(t){return Array.from(t.childNodes)}function Tr(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function Ze(t,e,n,r,o=!1){Tr(t);let i=(()=>{for(let a=t.claim_info.last_index;a=0;a--){let c=t[a];if(e(c)){let l=n(c);return l===void 0?t.splice(a,1):t[a]=l,o?l===void 0&&t.claim_info.last_index--:t.claim_info.last_index=a,c}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function Ir(t,e,n,r){return Ze(t,o=>o.nodeName===e,o=>{let i=[];for(let a=0;ao.removeAttribute(a))},()=>r(e))}function F(t,e,n){return Ir(t,e,n,x)}function tt(t,e){return Ze(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>z(e),!0)}function N(t){return tt(t," ")}function Pt(t,e){e=""+e,t.data!==e&&(t.data=e)}function ie(t,e,n){t.classList.toggle(e,!!n)}function qt(t,e,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(t,{detail:e,bubbles:n,cancelable:r})}function tn(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var Lt=new Map,Nt=0;function Dr(t){let e=5381,n=t.length;for(;n--;)e=(e<<5)-e^t.charCodeAt(n);return e>>>0}function Pr(t,e){let n={stylesheet:Ye(e),rules:{}};return Lt.set(t,n),n}function Rt(t,e,n,r,o,i,a,c=0){let l=16.666/r,s=`{ +`;for(let m=0;m<=1;m+=l){let w=e+(n-e)*i(m);s+=m*100+`%{${a(w,1-w)}} +`}let u=s+`100% {${a(n,1-n)}} +}`,d=`__svelte_${Dr(u)}_${c}`,b=It(t),{stylesheet:f,rules:p}=Lt.get(b)||Pr(b,t);p[d]||(p[d]=!0,f.insertRule(`@keyframes ${d} ${u}`,f.cssRules.length));let y=t.style.animation||"";return t.style.animation=`${y?`${y}, `:""}${d} ${r}ms linear ${o}ms 1 both`,Nt+=1,d}function se(t,e){let n=(t.style.animation||"").split(", "),r=n.filter(e?i=>i.indexOf(e)<0:i=>i.indexOf("__svelte")===-1),o=n.length-r.length;o&&(t.style.animation=r.join(", "),Nt-=o,Nt||qr())}function qr(){yt(()=>{Nt||(Lt.forEach(t=>{let{ownerNode:e}=t.stylesheet;e&&g(e)}),Lt.clear())})}var st;function H(t){st=t}var et=[];var en=[],ct=[],nn=[],Lr=Promise.resolve(),ce=!1;function rn(){ce||(ce=!0,Lr.then(Bt))}function R(t){ct.push(t)}var ae=new Set,at=0;function Bt(){if(at!==0)return;let t=st;do{try{for(;att.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),ct=e}var xt;function Rr(){return xt||(xt=Promise.resolve(),xt.then(()=>{xt=null})),xt}function le(t,e,n){t.dispatchEvent(qt(`${e?"intro":"outro"}${n}`))}var zt=new Set,W;function vt(){W={r:0,c:[],p:W}}function $t(){W.r||A(W.c),W=W.p}function D(t,e){t&&t.i&&(zt.delete(t),t.i(e))}function B(t,e,n,r){if(t&&t.o){if(zt.has(t))return;zt.add(t),W.c.push(()=>{zt.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}var Br={duration:0};function Q(t,e,n,r){let i=e(t,n,{direction:"both"}),a=r?0:1,c=null,l=null,s=null,u;function d(){s&&se(t,s)}function b(p,y){let m=p.b-a;return y*=Math.abs(m),{a,b:p.b,d:m,duration:y,start:p.start,end:p.start+y,group:p.group}}function f(p){let{delay:y=0,duration:m=300,easing:w=rt,tick:T=j,css:P}=i||Br,U={start:te()+y,b:p};p||(U.group=W,W.r+=1),"inert"in t&&(p?u!==void 0&&(t.inert=u):(u=t.inert,t.inert=!0)),c||l?l=U:(P&&(d(),s=Rt(t,a,p,m,y,w,P)),p&&T(0,1),c=b(U,m),R(()=>le(t,p,"start")),ee(q=>{if(l&&q>l.start&&(c=b(l,m),l=null,le(t,c.b,"start"),P&&(d(),s=Rt(t,a,c.b,c.duration,0,w,i.css))),c){if(q>=c.end)T(a=c.b,1-a),le(t,c.b,"end"),l||(c.b?d():--c.group.r||A(c.group.c)),c=null;else if(q>=c.start){let k=q-c.start;a=c.a+c.d*w(k/c.duration),T(a,1-a)}}return!!(c||l)}))}return{run(p){Z(i)?Rr().then(()=>{i=i({direction:p?"in":"out"}),f(p)}):f(p)},end(){d(),c=l=null}}}function V(t){return t?.length!==void 0?t:Array.from(t)}var zr=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Hr=new Set([...zr]);function fe(t){t&&t.c()}function de(t,e){t&&t.l(e)}function Ht(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),R(()=>{let i=t.$$.on_mount.map(Yt).filter(Z);t.$$.on_destroy?t.$$.on_destroy.push(...i):A(i),t.$$.on_mount=[]}),o.forEach(R)}function Wt(t,e){let n=t.$$;n.fragment!==null&&(on(n.after_update),A(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Vr(t,e){t.$$.dirty[0]===-1&&(et.push(t),rn(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let p=f.length?f[0]:b;return s.ctx&&o(s.ctx[d],s.ctx[d]=p)&&(!s.skip_bound&&s.bound[d]&&s.bound[d](p),u&&Vr(t,d)),b}):[],s.update(),u=!0,A(s.before_update),s.fragment=r?r(s.ctx):!1,e.target){if(e.hydrate){Ue();let d=C(e.target);s.fragment&&s.fragment.l(d),d.forEach(g)}else s.fragment&&s.fragment.c();e.intro&&D(t.$$.fragment),Ht(t,e.target,e.anchor),Je(),Bt()}H(l)}var Gr;typeof HTMLElement=="function"&&(Gr=class extends HTMLElement{constructor(e,n,r){super();S(this,"$$ctor");S(this,"$$s");S(this,"$$c");S(this,"$$cn",!1);S(this,"$$d",{});S(this,"$$r",!1);S(this,"$$p_d",{});S(this,"$$l",{});S(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let a;return{c:function(){a=x("slot"),i!=="default"&&_(a,"name",i)},m:function(s,u){re(s,a,u)},d:function(s){s&&g(a)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=tn(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let a=this.$$g_p(i.name);a in this.$$d||(this.$$d[a]=ue(a,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let a=ue(i,this.$$d[i],this.$$p_d,"toAttribute");a==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,a)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let a of this.$$l[i]){let c=this.$$c.$on(i,a);this.$$l_u.set(a,c)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=ue(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function ue(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var G=class{constructor(){S(this,"$$");S(this,"$$set")}$destroy(){Wt(this,1),this.$destroy=j}$on(e,n){if(!Z(n))return j;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!We(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var sn="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(sn);function ut(t,{delay:e=0,duration:n=400,easing:r=rt}={}){let o=+getComputedStyle(t).opacity;return{delay:e,duration:n,easing:r,css:i=>`opacity: ${i*o}`}}var ft=[];function dt(t,e=j){let n,r=new Set;function o(c){if(K(t,c)&&(t=c,n)){let l=!ft.length;for(let s of r)s[1](),ft.push(s,t);if(l){for(let s=0;s{r.delete(s),r.size===0&&n&&(n(),n=null)}}return{set:o,update:i,subscribe:a}}function an(t){let e,n,r;return{c(){e=x("div"),this.h()},l(o){e=F(o,"DIV",{class:!0,"data-test-id":!0}),C(e).forEach(g),this.h()},h(){_(e,"class","bg-black/50 absolute inset-0 z-30"),_(e,"data-test-id","backdrop")},m(o,i){$(o,e,i),r=!0},i(o){r||(o&&R(()=>{r&&(n||(n=Q(e,ut,{},!0)),n.run(1))}),r=!0)},o(o){o&&(n||(n=Q(e,ut,{},!1)),n.run(0)),r=!1},d(o){o&&g(e),o&&n&&n.end()}}}function Ur(t){let e,n=t[0]&&an(t);return{c(){n&&n.c(),e=X()},l(r){n&&n.l(r),e=X()},m(r,o){n&&n.m(r,o),$(r,e,o)},p(r,[o]){r[0]?n?o&1&&D(n,1):(n=an(r),n.c(),D(n,1),n.m(e.parentNode,e)):n&&(vt(),B(n,1,1,()=>{n=null}),$t())},i(r){D(n)},o(r){B(n)},d(r){r&&g(e),n&&n.d(r)}}}var Vt=dt(!1);function Jr(t,e,n){let r,o=j,i=()=>(o(),o=At(Vt,a=>n(0,r=a)),Vt);return bt(t,Vt,a=>n(0,r=a)),t.$$.on_destroy.push(()=>o()),[r]}var pe=class extends G{constructor(e){super(),lt(this,e,Jr,Ur,K,{})}},he=pe;var ve={};kt(ve,{default:()=>xe});function _e(t,{delay:e=0,duration:n=300,x:r=0,y:o=0}){return{delay:e,duration:n,css:i=>`transform: translate(${r*i}px, ${o*i}px)`}}var ge=dt(null);var be=dt(null);function Kr(t){Xe(t,"svelte-1q6nykn","#left-sidebar.svelte-1q6nykn{z-index:1000}#component-previews.svelte-1q6nykn,#backdrop.svelte-1q6nykn{z-index:999}")}function cn(t,e,n){let r=t.slice();return r[13]=e[n],r}function ln(t,e,n){let r=t.slice();return r[16]=e[n],r}function un(t,e,n){let r=t.slice();return r[19]=e[n],r}function fn(t){let e,n,r=t[4][t[19].name]+"",o,i,a,c;function l(){return t[10](t[19])}return{c(){e=x("li"),n=x("div"),o=z(r),i=L(),this.h()},l(s){e=F(s,"LI",{class:!0,"data-test-id":!0});var u=C(e);n=F(u,"DIV",{class:!0});var d=C(n);o=tt(d,r),d.forEach(g),i=N(u),u.forEach(g),this.h()},h(){_(n,"class","pl-2"),_(e,"class","pb-1"),_(e,"data-test-id","nav-item")},m(s,u){$(s,e,u),O(e,n),O(n,o),O(e,i),a||(c=[Y(e,"mouseenter",l),Y(e,"mouseleave",t[5])],a=!0)},p(s,u){t=s,u&8&&r!==(r=t[4][t[19].name]+"")&&Pt(o,r)},d(s){s&&g(e),a=!1,A(c)}}}function dn(t){let e,n,r=t[16].name+"",o,i,a,c=V(t[16].items),l=[];for(let s=0;s{r&&(n||(n=Q(e,ut,{duration:300},!0)),n.run(1))}),r=!0)},o(o){o&&(n||(n=Q(e,ut,{duration:300},!1)),n.run(0)),r=!1},d(o){o&&g(e),o&&n&&n.end()}}}function hn(t){let e,n=V(t[2]),r=[];for(let o=0;o{E=null}),$t()),(!T||I&1)&&d!==(d=h[4][h[0]?.name]+"")&&Pt(b,d),h[2]?M?M.p(h,I):(M=hn(h),M.c(),M.m(s,null)):M&&(M.d(1),M=null),(!T||I&2)&&ie(s,"translate-x-96",h[1])},i(h){T||(D(E),h&&R(()=>{T&&(w||(w=Q(s,_e,{x:384},!0)),w.run(1))}),T=!0)},o(h){B(E),h&&(w||(w=Q(s,_e,{x:384},!1)),w.run(0)),T=!1},d(h){h&&(g(e),g(c),g(l),g(s)),Dt(k,h),E&&E.d(h),M&&M.d(),h&&w&&w.end(),P=!1,A(U)}}}function Yr(){clearTimeout(hideComponentTimer)}function Qr(t,e,n){let r,o,i,a,c;bt(t,be,m=>n(12,a=m)),bt(t,ge,m=>n(0,c=m));let{components:l}=e,s={nav:"Navs",header:"Headers",sign_in:"Sign ins",sign_up:"Sign ups",stats:"Stats",footer:"Footers",basic:"Basics",other:"Other"},u=!1;function d(){hideComponentTimer=setTimeout(()=>{n(1,u=!1)},400)}function b(m){a||(clearTimeout(hideComponentTimer),Zt(ge,c=m,c),n(1,u=!0))}function f(m,w){setTimeout(()=>{Zt(be,a=m,a),n(1,u=!1)},100)}let p=m=>b(m),y=(m,w)=>f(m,w);return t.$$set=m=>{"components"in m&&n(8,l=m.components)},t.$$.update=()=>{if(t.$$.dirty&256){t:n(9,o=l)}if(t.$$.dirty&512){t:n(3,r=[{name:"Base",items:Array.from(new Set(o.map(m=>m.category))).map(m=>({id:m,name:m}))}])}if(t.$$.dirty&1){t:n(2,i=c?componentDefinitionsByCategory[c.id]:[])}},[c,u,i,r,s,d,b,f,l,o,p,y]}var ye=class extends G{constructor(e){super(),lt(this,e,Qr,Xr,K,{components:8},Kr)}},xe=ye;var we={};kt(we,{default:()=>eo});function Zr(t){let e,n,r,o,i,a;return n=new he({}),i=new xe({props:{components:t[0]}}),{c(){e=z(`adljajkdahljashadlshlj +`),fe(n.$$.fragment),r=L(),o=x("div"),fe(i.$$.fragment),this.h()},l(c){e=tt(c,`adljajkdahljashadlshlj +`),de(n.$$.fragment,c),r=N(c),o=F(c,"DIV",{class:!0,"data-test-id":!0});var l=C(o);de(i.$$.fragment,l),l.forEach(g),this.h()},h(){_(o,"class","flex min-h-screen bg-gray-100"),_(o,"data-test-id","app-container")},m(c,l){$(c,e,l),Ht(n,c,l),$(c,r,l),$(c,o,l),Ht(i,o,null),a=!0},p(c,[l]){let s={};l&1&&(s.components=c[0]),i.$set(s)},i(c){a||(D(n.$$.fragment,c),D(i.$$.fragment,c),a=!0)},o(c){B(n.$$.fragment,c),B(i.$$.fragment,c),a=!1},d(c){c&&(g(e),g(r),g(o)),Wt(n,c),Wt(i)}}}function to(t,e,n){let{components:r}=e;return t.$$set=o=>{"components"in o&&n(0,r=o.components)},[r]}var $e=class extends G{constructor(e){super(),lt(this,e,to,Zr,K,{components:0})}},eo=$e;var no=[me,ve,we],ro=no,oo=["../svelte/components/Backdrop.svelte","../svelte/components/ComponentsSidebar.svelte","../svelte/components/UiBuilder.svelte"];var _n={};_n.CodeEditorHook=Ne;Gt.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>Gt.default.show(300));window.addEventListener("phx:page-loading-stop",t=>Gt.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var io=document.querySelector("html").getAttribute("phx-socket")||"/live",so=document.querySelector("meta[name='csrf-token']").getAttribute("content"),gn=new LiveView.LiveSocket(io,Phoenix.Socket,{hooks:{...He(ke),..._n},params:{_csrf_token:so}});gn.connect();window.liveSocket=gn;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-6d30d7f04ccc39520fedc2eacceec95e.js.gz b/priv/static/beacon_live_admin-6d30d7f04ccc39520fedc2eacceec95e.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..e5575939a57b79d01f3b637a55547531a80be1a2 GIT binary patch literal 15204 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 literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin-6e9fc9d0610c35b8b667145f536f03b7.js b/priv/static/beacon_live_admin-6e9fc9d0610c35b8b667145f536f03b7.js new file mode 100644 index 00000000..cdee1cfc --- /dev/null +++ b/priv/static/beacon_live_admin-6e9fc9d0610c35b8b667145f536f03b7.js @@ -0,0 +1,22 @@ +var BeaconLiveAdmin=(()=>{var bn=Object.create;var wt=Object.defineProperty;var yn=Object.getOwnPropertyDescriptor;var xn=Object.getOwnPropertyNames;var vn=Object.getPrototypeOf,$n=Object.prototype.hasOwnProperty;var wn=(t,e,n)=>e in t?wt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var kn=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),kt=(t,e)=>{for(var n in e)wt(t,n,{get:e[n],enumerable:!0})},En=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of xn(e))!$n.call(t,o)&&o!==n&&wt(t,o,{get:()=>e[o],enumerable:!(r=yn(e,o))||r.enumerable});return t};var On=(t,e,n)=>(n=t!=null?bn(vn(t)):{},En(e||!t||!t.__esModule?wt(n,"default",{value:t,enumerable:!0}):n,t));var C=(t,e,n)=>(wn(t,typeof e!="symbol"?e+"":e,n),n);var Fe=kn((Oe,Et)=>{(function(t,e){"use strict";(function(){for(var d=0,p=["ms","moz","webkit","o"],y=0;yb.show(),d)}else o=!0,a!==null&&t.cancelAnimationFrame(a),n||f(),n.style.opacity=1,n.style.display="block",b.progress(0),s.autoRun&&function p(){i=t.requestAnimationFrame(p),b.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(d){return typeof d>"u"||(typeof d=="string"&&(d=(d.indexOf("+")>=0||d.indexOf("-")>=0?r:0)+parseFloat(d)),r=d>1?1:d,u()),r},hide:function(){clearTimeout(c),c=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function d(){if(b.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",a=null;return}a=t.requestAnimationFrame(d)}())}};typeof Et=="object"&&typeof Et.exports=="object"?Et.exports=b:typeof define=="function"&&define.amd?define(function(){return b}):this.topbar=b}).call(Oe,window,document)});var Gt=On(Fe());function Fn(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Se(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Ce(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function Cn(t,e){if(t==null)return{};var n=Sn(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function Mn(t,e){return jn(t)||An(t,e)||Tn(t,e)||In()}function jn(t){if(Array.isArray(t))return t}function An(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var a=t[Symbol.iterator](),c;!(r=(c=a.next()).done)&&(n.push(c.value),!(e&&n.length===e));r=!0);}catch(l){o=!0,i=l}finally{try{!r&&a.return!=null&&a.return()}finally{if(o)throw i}}return n}}function Tn(t,e){if(t){if(typeof t=="string")return Me(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Me(t,e)}}function Me(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var a=arguments.length,c=new Array(a),l=0;l1&&arguments[1]!==void 0?arguments[1]:{};Ot.initial(t),Ot.handler(e);var n={current:t},r=ht(Jn)(n,e),o=ht(Un)(n),i=ht(Ot.changes)(t),a=ht(Gn)(n);function c(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(u){return u};return Ot.selector(s),s(n.current)}function l(s){Pn(r,o,i,a)(s)}return[c,l]}function Gn(t,e){return mt(e)?e(t.current):e}function Un(t,e){return t.current=Ae(Ae({},t.current),e),e}function Jn(t,e,n){return mt(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var Kn={create:Vn},Xn=Kn,Yn={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},Qn=Yn;function Zn(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var a=arguments.length,c=new Array(a),l=0;l[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],wr={base:"vs-dark",inherit:!1,rules:$r(Xt),colors:{"editor.background":Xt.background,"editor.foreground":Xt.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},kr=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,Ie.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),Ie.init().then(t=>{t.editor.defineTheme("default",wr);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},Er=kr,Ne={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new Er(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function Or(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function gt(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function Re(t){t.parentNode?.removeChild(t)}function Be(t,e,n){t.insertBefore(e,n||null)}function ze(){}function Fr(t){let e={};for(let n in gt(t,"data-slots")){let r=()=>({getElement(){let o=gt(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){Re(this.savedElement),this.savedElement=this.getElement(),Be(this.savedTarget,this.savedElement,this.savedAnchor)},c:ze,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),Be(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&Re(this.savedElement)},l:ze});e[n]=[r]}return e}function Sr(t){let e=gt(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function Ct(t){return{...gt(t,"data-props"),...Sr(t),live:t,$$slots:Fr(t),$$scope:{}}}function Cr(t){return t.$$.ctx.find(e=>e?.default)}function He(t){return t=Or(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(gt(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(Ct(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(Ct(this)),!1);this._instance=new r({target:this.el,props:Ct(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(Ct(this));let n=Cr(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var ke={};kt(ke,{default:()=>no,filenames:()=>ro});var me={};kt(me,{backdropVisible:()=>Vt,default:()=>he});function T(){}var rt=t=>t;function Yt(t){return t()}function jt(){return Object.create(null)}function I(t){t.forEach(Yt)}function Z(t){return typeof t=="function"}function K(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}var Mt;function Qt(t,e){return t===e?!0:(Mt||(Mt=document.createElement("a")),Mt.href=e,t===Mt.href)}function We(t){return Object.keys(t).length===0}function At(t,...e){if(t==null){for(let r of e)r(void 0);return T}let n=t.subscribe(...e);return n.unsubscribe?()=>n.unsubscribe():n}function bt(t,e,n){t.$$.on_destroy.push(At(e,n))}function Zt(t,e,n){return t.set(n),e}var Ve=typeof window<"u",te=Ve?()=>window.performance.now():()=>Date.now(),yt=Ve?t=>requestAnimationFrame(t):T;var ot=new Set;function Ge(t){ot.forEach(e=>{e.c(t)||(ot.delete(e),e.f())}),ot.size!==0&&yt(Ge)}function ee(t){let e;return ot.size===0&&yt(Ge),{promise:new Promise(n=>{ot.add(e={c:t,f:n})}),abort(){ot.delete(e)}}}var ne=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var it=class{constructor(e){C(this,"_listeners","WeakMap"in ne?new WeakMap:void 0);C(this,"_observer");C(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)it.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};it.entries="WeakMap"in ne?new WeakMap:void 0;var Tt=!1;function Ue(){Tt=!0}function Je(){Tt=!1}function jr(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function Ar(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let l=[];for(let s=0;s0&&e[n[o]].claim_order<=s?o+1:jr(1,o,b=>e[n[b]].claim_order,s))-1;r[l]=n[u]+1;let f=u+1;n[f]=l,o=Math.max(f,o)}let i=[],a=[],c=e.length-1;for(let l=n[o]+1;l!=0;l=r[l-1]){for(i.push(e[l-1]);c>=l;c--)a.push(e[c]);c--}for(;c>=0;c--)a.push(e[c]);i.reverse(),a.sort((l,s)=>l.claim_order-s.claim_order);for(let l=0,s=0;l=i[s].claim_order;)s++;let u=st.removeEventListener(e,n,r)}function m(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function oe(t){return t.dataset.svelteH}function M(t){return Array.from(t.childNodes)}function Tr(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function Ze(t,e,n,r,o=!1){Tr(t);let i=(()=>{for(let a=t.claim_info.last_index;a=0;a--){let c=t[a];if(e(c)){let l=n(c);return l===void 0?t.splice(a,1):t[a]=l,o?l===void 0&&t.claim_info.last_index--:t.claim_info.last_index=a,c}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function Ir(t,e,n,r){return Ze(t,o=>o.nodeName===e,o=>{let i=[];for(let a=0;ao.removeAttribute(a))},()=>r(e))}function F(t,e,n){return Ir(t,e,n,x)}function tt(t,e){return Ze(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>H(e),!0)}function R(t){return tt(t," ")}function Pt(t,e){e=""+e,t.data!==e&&(t.data=e)}function ie(t,e,n){t.classList.toggle(e,!!n)}function qt(t,e,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(t,{detail:e,bubbles:n,cancelable:r})}function tn(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var Lt=new Map,Nt=0;function Dr(t){let e=5381,n=t.length;for(;n--;)e=(e<<5)-e^t.charCodeAt(n);return e>>>0}function Pr(t,e){let n={stylesheet:Ye(e),rules:{}};return Lt.set(t,n),n}function Rt(t,e,n,r,o,i,a,c=0){let l=16.666/r,s=`{ +`;for(let v=0;v<=1;v+=l){let S=e+(n-e)*i(v);s+=v*100+`%{${a(S,1-S)}} +`}let u=s+`100% {${a(n,1-n)}} +}`,f=`__svelte_${Dr(u)}_${c}`,b=It(t),{stylesheet:d,rules:p}=Lt.get(b)||Pr(b,t);p[f]||(p[f]=!0,d.insertRule(`@keyframes ${f} ${u}`,d.cssRules.length));let y=t.style.animation||"";return t.style.animation=`${y?`${y}, `:""}${f} ${r}ms linear ${o}ms 1 both`,Nt+=1,f}function se(t,e){let n=(t.style.animation||"").split(", "),r=n.filter(e?i=>i.indexOf(e)<0:i=>i.indexOf("__svelte")===-1),o=n.length-r.length;o&&(t.style.animation=r.join(", "),Nt-=o,Nt||qr())}function qr(){yt(()=>{Nt||(Lt.forEach(t=>{let{ownerNode:e}=t.stylesheet;e&&_(e)}),Lt.clear())})}var st;function W(t){st=t}var et=[];var en=[],ct=[],nn=[],Lr=Promise.resolve(),ce=!1;function rn(){ce||(ce=!0,Lr.then(Bt))}function B(t){ct.push(t)}var ae=new Set,at=0;function Bt(){if(at!==0)return;let t=st;do{try{for(;att.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),ct=e}var xt;function Rr(){return xt||(xt=Promise.resolve(),xt.then(()=>{xt=null})),xt}function le(t,e,n){t.dispatchEvent(qt(`${e?"intro":"outro"}${n}`))}var zt=new Set,V;function vt(){V={r:0,c:[],p:V}}function $t(){V.r||I(V.c),V=V.p}function q(t,e){t&&t.i&&(zt.delete(t),t.i(e))}function z(t,e,n,r){if(t&&t.o){if(zt.has(t))return;zt.add(t),V.c.push(()=>{zt.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}var Br={duration:0};function Q(t,e,n,r){let i=e(t,n,{direction:"both"}),a=r?0:1,c=null,l=null,s=null,u;function f(){s&&se(t,s)}function b(p,y){let v=p.b-a;return y*=Math.abs(v),{a,b:p.b,d:v,duration:y,start:p.start,end:p.start+y,group:p.group}}function d(p){let{delay:y=0,duration:v=300,easing:S=rt,tick:j=T,css:g}=i||Br,D={start:te()+y,b:p};p||(D.group=V,V.r+=1),"inert"in t&&(p?u!==void 0&&(t.inert=u):(u=t.inert,t.inert=!0)),c||l?l=D:(g&&(f(),s=Rt(t,a,p,v,y,S,g)),p&&j(0,1),c=b(D,v),B(()=>le(t,p,"start")),ee(L=>{if(l&&L>l.start&&(c=b(l,v),l=null,le(t,c.b,"start"),g&&(f(),s=Rt(t,a,c.b,c.duration,0,S,i.css))),c){if(L>=c.end)j(a=c.b,1-a),le(t,c.b,"end"),l||(c.b?f():--c.group.r||I(c.group.c)),c=null;else if(L>=c.start){let k=L-c.start;a=c.a+c.d*S(k/c.duration),j(a,1-a)}}return!!(c||l)}))}return{run(p){Z(i)?Rr().then(()=>{i=i({direction:p?"in":"out"}),d(p)}):d(p)},end(){f(),c=l=null}}}function G(t){return t?.length!==void 0?t:Array.from(t)}var zr=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Hr=new Set([...zr]);function fe(t){t&&t.c()}function de(t,e){t&&t.l(e)}function Ht(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),B(()=>{let i=t.$$.on_mount.map(Yt).filter(Z);t.$$.on_destroy?t.$$.on_destroy.push(...i):I(i),t.$$.on_mount=[]}),o.forEach(B)}function Wt(t,e){let n=t.$$;n.fragment!==null&&(on(n.after_update),I(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Vr(t,e){t.$$.dirty[0]===-1&&(et.push(t),rn(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let p=d.length?d[0]:b;return s.ctx&&o(s.ctx[f],s.ctx[f]=p)&&(!s.skip_bound&&s.bound[f]&&s.bound[f](p),u&&Vr(t,f)),b}):[],s.update(),u=!0,I(s.before_update),s.fragment=r?r(s.ctx):!1,e.target){if(e.hydrate){Ue();let f=M(e.target);s.fragment&&s.fragment.l(f),f.forEach(_)}else s.fragment&&s.fragment.c();e.intro&&q(t.$$.fragment),Ht(t,e.target,e.anchor),Je(),Bt()}W(l)}var Gr;typeof HTMLElement=="function"&&(Gr=class extends HTMLElement{constructor(e,n,r){super();C(this,"$$ctor");C(this,"$$s");C(this,"$$c");C(this,"$$cn",!1);C(this,"$$d",{});C(this,"$$r",!1);C(this,"$$p_d",{});C(this,"$$l",{});C(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let a;return{c:function(){a=x("slot"),i!=="default"&&m(a,"name",i)},m:function(s,u){re(s,a,u)},d:function(s){s&&_(a)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=tn(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let a=this.$$g_p(i.name);a in this.$$d||(this.$$d[a]=ue(a,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let a=ue(i,this.$$d[i],this.$$p_d,"toAttribute");a==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,a)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let a of this.$$l[i]){let c=this.$$c.$on(i,a);this.$$l_u.set(a,c)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=ue(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function ue(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var U=class{constructor(){C(this,"$$");C(this,"$$set")}$destroy(){Wt(this,1),this.$destroy=T}$on(e,n){if(!Z(n))return T;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!We(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var sn="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(sn);function ut(t,{delay:e=0,duration:n=400,easing:r=rt}={}){let o=+getComputedStyle(t).opacity;return{delay:e,duration:n,easing:r,css:i=>`opacity: ${i*o}`}}var ft=[];function dt(t,e=T){let n,r=new Set;function o(c){if(K(t,c)&&(t=c,n)){let l=!ft.length;for(let s of r)s[1](),ft.push(s,t);if(l){for(let s=0;s{r.delete(s),r.size===0&&n&&(n(),n=null)}}return{set:o,update:i,subscribe:a}}function an(t){let e,n,r;return{c(){e=x("div"),this.h()},l(o){e=F(o,"DIV",{class:!0,"data-test-id":!0}),M(e).forEach(_),this.h()},h(){m(e,"class","bg-black/50 absolute inset-0 z-30"),m(e,"data-test-id","backdrop")},m(o,i){w(o,e,i),r=!0},i(o){r||(o&&B(()=>{r&&(n||(n=Q(e,ut,{},!0)),n.run(1))}),r=!0)},o(o){o&&(n||(n=Q(e,ut,{},!1)),n.run(0)),r=!1},d(o){o&&_(e),o&&n&&n.end()}}}function Ur(t){let e,n=t[0]&&an(t);return{c(){n&&n.c(),e=X()},l(r){n&&n.l(r),e=X()},m(r,o){n&&n.m(r,o),w(r,e,o)},p(r,[o]){r[0]?n?o&1&&q(n,1):(n=an(r),n.c(),q(n,1),n.m(e.parentNode,e)):n&&(vt(),z(n,1,1,()=>{n=null}),$t())},i(r){q(n)},o(r){z(n)},d(r){r&&_(e),n&&n.d(r)}}}var Vt=dt(!1);function Jr(t,e,n){let r,o=T,i=()=>(o(),o=At(Vt,a=>n(0,r=a)),Vt);return bt(t,Vt,a=>n(0,r=a)),t.$$.on_destroy.push(()=>o()),[r]}var pe=class extends U{constructor(e){super(),lt(this,e,Jr,Ur,K,{})}},he=pe;var ve={};kt(ve,{default:()=>xe});function _e(t,{delay:e=0,duration:n=300,x:r=0,y:o=0}){return{delay:e,duration:n,css:i=>`transform: translate(${r*i}px, ${o*i}px)`}}var ge=dt(null);var be=dt(null);function Kr(t){Xe(t,"svelte-1q6nykn","#left-sidebar.svelte-1q6nykn{z-index:1000}#component-previews.svelte-1q6nykn,#backdrop.svelte-1q6nykn{z-index:999}")}function cn(t,e,n){let r=t.slice();return r[16]=e[n],r}function ln(t,e,n){let r=t.slice();return r[19]=e[n],r}function un(t,e,n){let r=t.slice();return r[22]=e[n],r}function fn(t){let e,n,r=t[4][t[22].name]+"",o,i,a,c;function l(){return t[12](t[22])}return{c(){e=x("li"),n=x("div"),o=H(r),i=N(),this.h()},l(s){e=F(s,"LI",{class:!0,"data-test-id":!0});var u=M(e);n=F(u,"DIV",{class:!0});var f=M(n);o=tt(f,r),f.forEach(_),i=R(u),u.forEach(_),this.h()},h(){m(n,"class","pl-2"),m(e,"class","pb-1"),m(e,"data-test-id","nav-item")},m(s,u){w(s,e,u),O(e,n),O(n,o),O(e,i),a||(c=[Y(e,"mouseenter",l),Y(e,"mouseleave",t[5])],a=!0)},p(s,u){t=s,u&8&&r!==(r=t[4][t[22].name]+"")&&Pt(o,r)},d(s){s&&_(e),a=!1,I(c)}}}function dn(t){let e,n,r=t[19].name+"",o,i,a,c=G(t[19].items),l=[];for(let s=0;s{r&&(n||(n=Q(e,ut,{duration:300},!0)),n.run(1))}),r=!0)},o(o){o&&(n||(n=Q(e,ut,{duration:300},!1)),n.run(0)),r=!1},d(o){o&&_(e),o&&n&&n.end()}}}function hn(t){let e,n=G(t[2]),r=[];for(let o=0;o{E=null}),$t()),(!j||P&1)&&f!==(f=h[4][h[0]?.name]+"")&&Pt(b,f),h[2]?A?A.p(h,P):(A=hn(h),A.c(),A.m(s,null)):A&&(A.d(1),A=null),(!j||P&2)&&ie(s,"translate-x-96",h[1])},i(h){j||(q(E),h&&B(()=>{j&&(S||(S=Q(s,_e,{x:384},!0)),S.run(1))}),j=!0)},o(h){z(E),h&&(S||(S=Q(s,_e,{x:384},!1)),S.run(0)),j=!1},d(h){h&&(_(e),_(c),_(l),_(s)),Dt(k,h),E&&E.d(h),A&&A.d(),h&&S&&S.end(),g=!1,I(D)}}}function Yr(t,e,n){let r,o,i,a,c,l;bt(t,be,g=>n(15,c=g)),bt(t,ge,g=>n(0,l=g));let{components:s}=e,u={nav:"Navs",header:"Headers",sign_in:"Sign ins",sign_up:"Sign ups",stats:"Stats",footer:"Footers",basic:"Basics",other:"Other"},f=!1,b=!1;function d(){b=setTimeout(()=>{n(1,f=!1)},400)}function p(){clearTimeout(b)}function y(g){c||(clearTimeout(b),Zt(ge,l=g,l),n(1,f=!0))}function v(g,D){setTimeout(()=>{Zt(be,c=g,c),n(1,f=!1)},100)}let S=g=>y(g),j=(g,D)=>v(g,D);return t.$$set=g=>{"components"in g&&n(9,s=g.components)},t.$$.update=()=>{if(t.$$.dirty&512){t:n(11,o=s)}if(t.$$.dirty&2048){t:n(3,r=[{name:"Base",items:Array.from(new Set(o.map(g=>g.category))).map(g=>({id:g,name:g}))}])}if(t.$$.dirty&2048){t:n(10,i=(o||[]).reduce((g,D)=>{var L;return g[L=D.category]||(g[L]=[]),g[D.category].push(D),g},{}))}if(t.$$.dirty&1025){t:n(2,a=l?i[l.id]:[])}},[l,f,a,r,u,d,p,y,v,s,i,o,S,j]}var ye=class extends U{constructor(e){super(),lt(this,e,Yr,Xr,K,{components:9},Kr)}},xe=ye;var we={};kt(we,{default:()=>to});function Qr(t){let e,n,r,o,i,a;return n=new he({}),i=new xe({props:{components:t[0]}}),{c(){e=H(`adljajkdahljashadlshlj +`),fe(n.$$.fragment),r=N(),o=x("div"),fe(i.$$.fragment),this.h()},l(c){e=tt(c,`adljajkdahljashadlshlj +`),de(n.$$.fragment,c),r=R(c),o=F(c,"DIV",{class:!0,"data-test-id":!0});var l=M(o);de(i.$$.fragment,l),l.forEach(_),this.h()},h(){m(o,"class","flex min-h-screen bg-gray-100"),m(o,"data-test-id","app-container")},m(c,l){w(c,e,l),Ht(n,c,l),w(c,r,l),w(c,o,l),Ht(i,o,null),a=!0},p(c,[l]){let s={};l&1&&(s.components=c[0]),i.$set(s)},i(c){a||(q(n.$$.fragment,c),q(i.$$.fragment,c),a=!0)},o(c){z(n.$$.fragment,c),z(i.$$.fragment,c),a=!1},d(c){c&&(_(e),_(r),_(o)),Wt(n,c),Wt(i)}}}function Zr(t,e,n){let{components:r}=e;return t.$$set=o=>{"components"in o&&n(0,r=o.components)},[r]}var $e=class extends U{constructor(e){super(),lt(this,e,Zr,Qr,K,{components:0})}},to=$e;var eo=[me,ve,we],no=eo,ro=["../svelte/components/Backdrop.svelte","../svelte/components/ComponentsSidebar.svelte","../svelte/components/UiBuilder.svelte"];var _n={};_n.CodeEditorHook=Ne;Gt.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>Gt.default.show(300));window.addEventListener("phx:page-loading-stop",t=>Gt.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var oo=document.querySelector("html").getAttribute("phx-socket")||"/live",io=document.querySelector("meta[name='csrf-token']").getAttribute("content"),gn=new LiveView.LiveSocket(oo,Phoenix.Socket,{hooks:{...He(ke),..._n},params:{_csrf_token:io}});gn.connect();window.liveSocket=gn;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-6e9fc9d0610c35b8b667145f536f03b7.js.gz b/priv/static/beacon_live_admin-6e9fc9d0610c35b8b667145f536f03b7.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..a4ff95a59b1a04caaa2fe414aa3fc69698d91d85 GIT binary patch literal 15243 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 R3f%bae*?H>J^M$Z008^Xy}bYc literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin-7b0f0a375ef9b66b69f423da1064e23f.js b/priv/static/beacon_live_admin-7b0f0a375ef9b66b69f423da1064e23f.js new file mode 100644 index 00000000..3d28a3f2 --- /dev/null +++ b/priv/static/beacon_live_admin-7b0f0a375ef9b66b69f423da1064e23f.js @@ -0,0 +1,17 @@ +var BeaconLiveAdmin=(()=>{var ge=Object.create;var z=Object.defineProperty;var be=Object.getOwnPropertyDescriptor;var ye=Object.getOwnPropertyNames;var ve=Object.getPrototypeOf,xe=Object.prototype.hasOwnProperty;var $e=(t,e,n)=>e in t?z(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var we=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ut=(t,e)=>{for(var n in e)z(t,n,{get:e[n],enumerable:!0})},Ee=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of ye(e))!xe.call(t,o)&&o!==n&&z(t,o,{get:()=>e[o],enumerable:!(r=be(e,o))||r.enumerable});return t};var ke=(t,e,n)=>(n=t!=null?ge(ve(t)):{},Ee(e||!t||!t.__esModule?z(n,"default",{value:t,enumerable:!0}):n,t));var g=(t,e,n)=>($e(t,typeof e!="symbol"?e+"":e,n),n);var Mt=we((Tt,H)=>{(function(t,e){"use strict";(function(){for(var f=0,_=["ms","moz","webkit","o"],y=0;y<_.length&&!t.requestAnimationFrame;++y)t.requestAnimationFrame=t[_[y]+"RequestAnimationFrame"],t.cancelAnimationFrame=t[_[y]+"CancelAnimationFrame"]||t[_[y]+"CancelRequestAnimationFrame"];t.requestAnimationFrame||(t.requestAnimationFrame=function(at,sr){var ct=new Date().getTime(),lt=Math.max(0,16-(ct-f)),_e=t.setTimeout(function(){at(ct+lt)},lt);return f=ct+lt,_e}),t.cancelAnimationFrame||(t.cancelAnimationFrame=function(at){clearTimeout(at)})})();var n,r,o,i=null,c=null,u=null,a=function(f,_,y){f.addEventListener?f.addEventListener(_,y,!1):f.attachEvent?f.attachEvent("on"+_,y):f["on"+_]=y},s={autoRun:!0,barThickness:3,barColors:{0:"rgba(26, 188, 156, .9)",".25":"rgba(52, 152, 219, .9)",".50":"rgba(241, 196, 15, .9)",".75":"rgba(230, 126, 34, .9)","1.0":"rgba(211, 84, 0, .9)"},shadowBlur:10,shadowColor:"rgba(0, 0, 0, .6)",className:null},d=function(){n.width=t.innerWidth,n.height=s.barThickness*5;var f=n.getContext("2d");f.shadowBlur=s.shadowBlur,f.shadowColor=s.shadowColor;var _=f.createLinearGradient(0,0,n.width,0);for(var y in s.barColors)_.addColorStop(y,s.barColors[y]);f.lineWidth=s.barThickness,f.beginPath(),f.moveTo(0,s.barThickness/2),f.lineTo(Math.ceil(r*n.width),s.barThickness/2),f.strokeStyle=_,f.stroke()},l=function(){n=e.createElement("canvas");var f=n.style;f.position="fixed",f.top=f.left=f.right=f.margin=f.padding=0,f.zIndex=100001,f.display="none",s.className&&n.classList.add(s.className),e.body.appendChild(n),a(t,"resize",d)},p={config:function(f){for(var _ in f)s.hasOwnProperty(_)&&(s[_]=f[_])},show:function(f){if(!o)if(f){if(u)return;u=setTimeout(()=>p.show(),f)}else o=!0,c!==null&&t.cancelAnimationFrame(c),n||l(),n.style.opacity=1,n.style.display="block",p.progress(0),s.autoRun&&function _(){i=t.requestAnimationFrame(_),p.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(f){return typeof f>"u"||(typeof f=="string"&&(f=(f.indexOf("+")>=0||f.indexOf("-")>=0?r:0)+parseFloat(f)),r=f>1?1:f,d()),r},hide:function(){clearTimeout(u),u=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function f(){if(p.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",c=null;return}c=t.requestAnimationFrame(f)}())}};typeof H=="object"&&typeof H.exports=="object"?H.exports=p:typeof define=="function"&&define.amd?define(function(){return p}):this.topbar=p}).call(Tt,window,document)});var st=ke(Mt());function Fe(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Dt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Pt(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function Se(t,e){if(t==null)return{};var n=Oe(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function je(t,e){return Ce(t)||Ae(t,e)||Te(t,e)||Me()}function Ce(t){if(Array.isArray(t))return t}function Ae(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var c=t[Symbol.iterator](),u;!(r=(u=c.next()).done)&&(n.push(u.value),!(e&&n.length===e));r=!0);}catch(a){o=!0,i=a}finally{try{!r&&c.return!=null&&c.return()}finally{if(o)throw i}}return n}}function Te(t,e){if(t){if(typeof t=="string")return Lt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Lt(t,e)}}function Lt(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var c=arguments.length,u=new Array(c),a=0;a1&&arguments[1]!==void 0?arguments[1]:{};W.initial(t),W.handler(e);var n={current:t},r=I(Ue)(n,e),o=I(Ve)(n),i=I(W.changes)(t),c=I(Ge)(n);function u(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(d){return d};return W.selector(s),s(n.current)}function a(s){Pe(r,o,i,c)(s)}return[u,a]}function Ge(t,e){return N(e)?e(t.current):e}function Ve(t,e){return t.current=Nt(Nt({},t.current),e),e}function Ue(t,e,n){return N(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var Je={create:We},Ke=Je,Xe={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},Ye=Xe;function Qe(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var c=arguments.length,u=new Array(c),a=0;a[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],wn={base:"vs-dark",inherit:!1,rules:$n(pt),colors:{"editor.background":pt.background,"editor.foreground":pt.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},En=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,qt.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),qt.init().then(t=>{t.editor.defineTheme("default",wn);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},kn=En,Gt={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new kn(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function Fn(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function q(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function Vt(t){t.parentNode?.removeChild(t)}function Ut(t,e,n){t.insertBefore(e,n||null)}function Jt(){}function On(t){let e={};for(let n in q(t,"data-slots")){let r=()=>({getElement(){let o=q(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){Vt(this.savedElement),this.savedElement=this.getElement(),Ut(this.savedTarget,this.savedElement,this.savedAnchor)},c:Jt,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),Ut(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&Vt(this.savedElement)},l:Jt});e[n]=[r]}return e}function Sn(t){let e=q(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function U(t){return{...q(t,"data-props"),...Sn(t),live:t,$$slots:On(t),$$scope:{}}}function jn(t){return t.$$.ctx.find(e=>e?.default)}function Kt(t){return t=Fn(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(q(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(U(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(U(this)),!1);this._instance=new r({target:this.el,props:U(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(U(this));let n=jn(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var At={};ut(At,{default:()=>nr,filenames:()=>rr});var St={};ut(St,{default:()=>Ot});function v(){}function ht(t,e){for(let n in e)t[n]=e[n];return t}function mt(t){return t()}function J(){return Object.create(null)}function w(t){t.forEach(mt)}function K(t){return typeof t=="function"}function X(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}function Xt(t){return Object.keys(t).length===0}function _t(t){let e={};for(let n in t)n[0]!=="$"&&(e[n]=t[n]);return e}var gt=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var A=class{constructor(e){g(this,"_listeners","WeakMap"in gt?new WeakMap:void 0);g(this,"_observer");g(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)A.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};A.entries="WeakMap"in gt?new WeakMap:void 0;var Y=!1;function Yt(){Y=!0}function Qt(){Y=!1}function Tn(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function Mn(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let a=[];for(let s=0;s0&&e[n[o]].claim_order<=s?o+1:Tn(1,o,p=>e[n[p]].claim_order,s))-1;r[a]=n[d]+1;let l=d+1;n[l]=a,o=Math.max(l,o)}let i=[],c=[],u=e.length-1;for(let a=n[o]+1;a!=0;a=r[a-1]){for(i.push(e[a-1]);u>=a;u--)c.push(e[u]);u--}for(;u>=0;u--)c.push(e[u]);i.reverse(),c.sort((a,s)=>a.claim_order-s.claim_order);for(let a=0,s=0;a=i[s].claim_order;)s++;let d=st.removeEventListener(e,n,r)}function m(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function Zt(t){return t.dataset.svelteH}function $(t){return Array.from(t.childNodes)}function Dn(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function te(t,e,n,r,o=!1){Dn(t);let i=(()=>{for(let c=t.claim_info.last_index;c=0;c--){let u=t[c];if(e(u)){let a=n(u);return a===void 0?t.splice(c,1):t[c]=a,o?a===void 0&&t.claim_info.last_index--:t.claim_info.last_index=c,u}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function Pn(t,e,n,r){return te(t,o=>o.nodeName===e,o=>{let i=[];for(let c=0;co.removeAttribute(c))},()=>r(e))}function E(t,e,n){return Pn(t,e,n,b)}function tt(t,e){return te(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>T(e),!0)}function et(t){return tt(t," ")}function ee(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var M;function F(t){M=t}var S=[];var re=[],P=[],oe=[],Bn=Promise.resolve(),$t=!1;function ie(){$t||($t=!0,Bn.then(nt))}function B(t){P.push(t)}var xt=new Set,D=0;function nt(){if(D!==0)return;let t=M;do{try{for(;Dt.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),P=e}var rt=new Set,Hn;function L(t,e){t&&t.i&&(rt.delete(t),t.i(e))}function ot(t,e,n,r){if(t&&t.o){if(rt.has(t))return;rt.add(t),Hn.c.push(()=>{rt.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}function j(t){return t?.length!==void 0?t:Array.from(t)}var Wn=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Gn=new Set([...Wn]);function ae(t){t&&t.c()}function ce(t,e){t&&t.l(e)}function Et(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),B(()=>{let i=t.$$.on_mount.map(mt).filter(K);t.$$.on_destroy?t.$$.on_destroy.push(...i):w(i),t.$$.on_mount=[]}),o.forEach(B)}function kt(t,e){let n=t.$$;n.fragment!==null&&(se(n.after_update),w(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Un(t,e){t.$$.dirty[0]===-1&&(S.push(t),ie(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let _=f.length?f[0]:p;return s.ctx&&o(s.ctx[l],s.ctx[l]=_)&&(!s.skip_bound&&s.bound[l]&&s.bound[l](_),d&&Un(t,l)),p}):[],s.update(),d=!0,w(s.before_update),s.fragment=r?r(s.ctx):!1,e.target){if(e.hydrate){Yt();let l=$(e.target);s.fragment&&s.fragment.l(l),l.forEach(h)}else s.fragment&&s.fragment.c();e.intro&&L(t.$$.fragment),Et(t,e.target,e.anchor),Qt(),nt()}F(a)}var Jn;typeof HTMLElement=="function"&&(Jn=class extends HTMLElement{constructor(e,n,r){super();g(this,"$$ctor");g(this,"$$s");g(this,"$$c");g(this,"$$cn",!1);g(this,"$$d",{});g(this,"$$r",!1);g(this,"$$p_d",{});g(this,"$$l",{});g(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let c;return{c:function(){c=b("slot"),i!=="default"&&m(c,"name",i)},m:function(s,d){bt(s,c,d)},d:function(s){s&&h(c)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=ee(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let c=this.$$g_p(i.name);c in this.$$d||(this.$$d[c]=wt(c,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let c=wt(i,this.$$d[i],this.$$p_d,"toAttribute");c==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,c)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let c of this.$$l[i]){let u=this.$$c.$on(i,c);this.$$l_u.set(c,u)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=wt(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function wt(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var C=class{constructor(){g(this,"$$");g(this,"$$set")}$destroy(){kt(this,1),this.$destroy=v}$on(e,n){if(!K(n))return v;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!Xt(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var le="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(le);function ue(t,e,n){let r=t.slice();return r[3]=e[n],r}function fe(t,e,n){let r=t.slice();return r[6]=e[n],r}function de(t){let e,n,r=t[1][t[6].name]+"",o,i,c,u;function a(){return t[2](t[6])}return{c(){e=b("li"),n=b("div"),o=T(r),i=Q(),this.h()},l(s){e=E(s,"LI",{class:!0,"data-test-id":!0});var d=$(e);n=E(d,"DIV",{class:!0});var l=$(n);o=tt(l,r),l.forEach(h),i=et(d),d.forEach(h),this.h()},h(){m(n,"class","pl-2"),m(e,"class","pb-1"),m(e,"data-test-id","nav-item")},m(s,d){k(s,e,d),x(e,n),x(n,o),x(e,i),c||(u=[Z(e,"mouseenter",a),Z(e,"mouseleave",Xn)],c=!0)},p(s,d){t=s},d(s){s&&h(e),c=!1,w(u)}}}function pe(t){let e,n,r=t[3].name+"",o,i,c,u=j(t[3].items),a=[];for(let s=0;svoid 0]}var Ft=class extends C{constructor(e){super(),it(this,e,Yn,Kn,X,{})}},Ot=Ft;var Ct={};ut(Ct,{default:()=>tr});function Qn(t){let e,n,r;return n=new Ot({}),{c(){e=b("div"),ae(n.$$.fragment),this.h()},l(o){e=E(o,"DIV",{class:!0,"data-test-id":!0});var i=$(e);ce(n.$$.fragment,i),i.forEach(h),this.h()},h(){m(e,"class","flex min-h-screen bg-gray-100"),m(e,"data-test-id","app-container")},m(o,i){k(o,e,i),Et(n,e,null),r=!0},p:v,i(o){r||(L(n.$$.fragment,o),r=!0)},o(o){ot(n.$$.fragment,o),r=!1},d(o){o&&h(e),kt(n)}}}function Zn(t,e,n){let{components:r=["not yet"]}=e,{test:o="test string"}=e;return t.$$set=i=>{n(2,e=ht(ht({},e),_t(i))),"components"in i&&n(0,r=i.components),"test"in i&&n(1,o=i.test)},t.$$.update=()=>{if(t.$$.dirty&2){t:console.log("test",o)}if(t.$$.dirty&1){t:console.log("components",r)}t:console.log("$$props",e)},e=_t(e),[r,o]}var jt=class extends C{constructor(e){super(),it(this,e,Zn,Qn,X,{components:0,test:1})}},tr=jt;var er=[St,Ct],nr=er,rr=["../svelte/components/ComponentsSidebar.svelte","../svelte/components/UiBuilder.svelte"];var he={};he.CodeEditorHook=Gt;st.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>st.default.show(300));window.addEventListener("phx:page-loading-stop",t=>st.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var or=document.querySelector("html").getAttribute("phx-socket")||"/live",ir=document.querySelector("meta[name='csrf-token']").getAttribute("content"),me=new LiveView.LiveSocket(or,Phoenix.Socket,{hooks:{...Kt(At),...he},params:{_csrf_token:ir}});me.connect();window.liveSocket=me;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-7b0f0a375ef9b66b69f423da1064e23f.js.gz b/priv/static/beacon_live_admin-7b0f0a375ef9b66b69f423da1064e23f.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..b454fb31b81f385592195c56a94a8e7ec961fb6c GIT binary patch literal 11574 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

g4q;ET^xPc7w!juo1rI}!^^Mu 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 cn=Object.create;var _t=Object.defineProperty;var ln=Object.getOwnPropertyDescriptor;var un=Object.getOwnPropertyNames;var fn=Object.getPrototypeOf,dn=Object.prototype.hasOwnProperty;var pn=(t,e,n)=>e in t?_t(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var hn=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Dt=(t,e)=>{for(var n in e)_t(t,n,{get:e[n],enumerable:!0})},mn=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of un(e))!dn.call(t,o)&&o!==n&&_t(t,o,{get:()=>e[o],enumerable:!(r=ln(e,o))||r.enumerable});return t};var _n=(t,e,n)=>(n=t!=null?cn(fn(t)):{},mn(e||!t||!t.__esModule?_t(n,"default",{value:t,enumerable:!0}):n,t));var k=(t,e,n)=>(pn(t,typeof e!="symbol"?e+"":e,n),n);var de=hn((fe,gt)=>{(function(t,e){"use strict";(function(){for(var d=0,p=["ms","moz","webkit","o"],b=0;b_.show(),d)}else o=!0,a!==null&&t.cancelAnimationFrame(a),n||u(),n.style.opacity=1,n.style.display="block",_.progress(0),s.autoRun&&function p(){i=t.requestAnimationFrame(p),_.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(d){return typeof d>"u"||(typeof d=="string"&&(d=(d.indexOf("+")>=0||d.indexOf("-")>=0?r:0)+parseFloat(d)),r=d>1?1:d,f()),r},hide:function(){clearTimeout(l),l=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function d(){if(_.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",a=null;return}a=t.requestAnimationFrame(d)}())}};typeof gt=="object"&&typeof gt.exports=="object"?gt.exports=_:typeof define=="function"&&define.amd?define(function(){return _}):this.topbar=_}).call(fe,window,document)});var Tt=_n(de());function gn(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function pe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function he(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function yn(t,e){if(t==null)return{};var n=bn(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function xn(t,e){return vn(t)||$n(t,e)||wn(t,e)||kn()}function vn(t){if(Array.isArray(t))return t}function $n(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var a=t[Symbol.iterator](),l;!(r=(l=a.next()).done)&&(n.push(l.value),!(e&&n.length===e));r=!0);}catch(c){o=!0,i=c}finally{try{!r&&a.return!=null&&a.return()}finally{if(o)throw i}}return n}}function wn(t,e){if(t){if(typeof t=="string")return me(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return me(t,e)}}function me(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var a=arguments.length,l=new Array(a),c=0;c1&&arguments[1]!==void 0?arguments[1]:{};bt.initial(t),bt.handler(e);var n={current:t},r=at(qn)(n,e),o=at(Ln)(n),i=at(bt.changes)(t),a=at(Dn)(n);function l(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(f){return f};return bt.selector(s),s(n.current)}function c(s){On(r,o,i,a)(s)}return[l,c]}function Dn(t,e){return ct(e)?e(t.current):e}function Ln(t,e){return t.current=ge(ge({},t.current),e),e}function qn(t,e,n){return ct(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var Nn={create:Pn},Rn=Nn,Bn={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},zn=Bn;function Hn(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var a=arguments.length,l=new Array(a),c=0;c[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],pr={base:"vs-dark",inherit:!1,rules:dr(Nt),colors:{"editor.background":Nt.background,"editor.foreground":Nt.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},hr=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,ye.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),ye.init().then(t=>{t.editor.defineTheme("default",pr);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},mr=hr,ke={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new mr(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function _r(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function ut(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function Ee(t){t.parentNode?.removeChild(t)}function Oe(t,e,n){t.insertBefore(e,n||null)}function Fe(){}function gr(t){let e={};for(let n in ut(t,"data-slots")){let r=()=>({getElement(){let o=ut(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){Ee(this.savedElement),this.savedElement=this.getElement(),Oe(this.savedTarget,this.savedElement,this.savedAnchor)},c:Fe,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),Oe(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&Ee(this.savedElement)},l:Fe});e[n]=[r]}return e}function br(t){let e=ut(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function vt(t){return{...ut(t,"data-props"),...br(t),live:t,$$slots:gr(t),$$scope:{}}}function yr(t){return t.$$.ctx.find(e=>e?.default)}function Se(t){return t=_r(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(ut(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(vt(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(vt(this)),!1);this._instance=new r({target:this.el,props:vt(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(vt(this));let n=yr(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var le={};Dt(le,{default:()=>Jr,filenames:()=>Kr});var se={};Dt(se,{default:()=>ie});function A(){}var Y=t=>t;function Rt(t){return t()}function wt(){return Object.create(null)}function C(t){t.forEach(Rt)}function G(t){return typeof t=="function"}function Q(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}var $t;function Bt(t,e){return t===e?!0:($t||($t=document.createElement("a")),$t.href=e,t===$t.href)}function Ce(t){return Object.keys(t).length===0}function Me(t,...e){if(t==null){for(let r of e)r(void 0);return A}let n=t.subscribe(...e);return n.unsubscribe?()=>n.unsubscribe():n}function je(t,e,n){t.$$.on_destroy.push(Me(e,n))}var Ae=typeof window<"u",zt=Ae?()=>window.performance.now():()=>Date.now(),ft=Ae?t=>requestAnimationFrame(t):A;var Z=new Set;function Ie(t){Z.forEach(e=>{e.c(t)||(Z.delete(e),e.f())}),Z.size!==0&&ft(Ie)}function Ht(t){let e;return Z.size===0&&ft(Ie),{promise:new Promise(n=>{Z.add(e={c:t,f:n})}),abort(){Z.delete(e)}}}var Wt=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var tt=class{constructor(e){k(this,"_listeners","WeakMap"in Wt?new WeakMap:void 0);k(this,"_observer");k(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)tt.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};tt.entries="WeakMap"in Wt?new WeakMap:void 0;var kt=!1;function Te(){kt=!0}function Pe(){kt=!1}function vr(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function $r(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let c=[];for(let s=0;s0&&e[n[o]].claim_order<=s?o+1:vr(1,o,_=>e[n[_]].claim_order,s))-1;r[c]=n[f]+1;let u=f+1;n[u]=c,o=Math.max(u,o)}let i=[],a=[],l=e.length-1;for(let c=n[o]+1;c!=0;c=r[c-1]){for(i.push(e[c-1]);l>=c;l--)a.push(e[l]);l--}for(;l>=0;l--)a.push(e[l]);i.reverse(),a.sort((c,s)=>c.claim_order-s.claim_order);for(let c=0,s=0;c=i[s].claim_order;)s++;let f=st.removeEventListener(e,n,r)}function m(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function Ut(t){return t.dataset.svelteH}function S(t){return Array.from(t.childNodes)}function kr(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function qe(t,e,n,r,o=!1){kr(t);let i=(()=>{for(let a=t.claim_info.last_index;a=0;a--){let l=t[a];if(e(l)){let c=n(l);return c===void 0?t.splice(a,1):t[a]=c,o?c===void 0&&t.claim_info.last_index--:t.claim_info.last_index=a,l}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function Er(t,e,n,r){return qe(t,o=>o.nodeName===e,o=>{let i=[];for(let a=0;ao.removeAttribute(a))},()=>r(e))}function E(t,e,n){return Er(t,e,n,x)}function pt(t,e){return qe(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>U(e),!0)}function q(t){return pt(t," ")}function Ot(t,e){e=""+e,t.data!==e&&(t.data=e)}function Ne(t,e,n){t.classList.toggle(e,!!n)}function Ft(t,e,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(t,{detail:e,bubbles:n,cancelable:r})}function Re(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var St=new Map,Ct=0;function Or(t){let e=5381,n=t.length;for(;n--;)e=(e<<5)-e^t.charCodeAt(n);return e>>>0}function Fr(t,e){let n={stylesheet:Le(e),rules:{}};return St.set(t,n),n}function Mt(t,e,n,r,o,i,a,l=0){let c=16.666/r,s=`{ +`;for(let v=0;v<=1;v+=c){let O=e+(n-e)*i(v);s+=v*100+`%{${a(O,1-O)}} +`}let f=s+`100% {${a(n,1-n)}} +}`,u=`__svelte_${Or(f)}_${l}`,_=Vt(t),{stylesheet:d,rules:p}=St.get(_)||Fr(_,t);p[u]||(p[u]=!0,d.insertRule(`@keyframes ${u} ${f}`,d.cssRules.length));let b=t.style.animation||"";return t.style.animation=`${b?`${b}, `:""}${u} ${r}ms linear ${o}ms 1 both`,Ct+=1,u}function Jt(t,e){let n=(t.style.animation||"").split(", "),r=n.filter(e?i=>i.indexOf(e)<0:i=>i.indexOf("__svelte")===-1),o=n.length-r.length;o&&(t.style.animation=r.join(", "),Ct-=o,Ct||Sr())}function Sr(){ft(()=>{Ct||(St.forEach(t=>{let{ownerNode:e}=t.stylesheet;e&&g(e)}),St.clear())})}var et;function N(t){et=t}var J=[];var Be=[],rt=[],ze=[],Cr=Promise.resolve(),Xt=!1;function He(){Xt||(Xt=!0,Cr.then(jt))}function R(t){rt.push(t)}var Kt=new Set,nt=0;function jt(){if(nt!==0)return;let t=et;do{try{for(;ntt.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),rt=e}var ht;function jr(){return ht||(ht=Promise.resolve(),ht.then(()=>{ht=null})),ht}function Yt(t,e,n){t.dispatchEvent(Ft(`${e?"intro":"outro"}${n}`))}var At=new Set,Qt;function V(t,e){t&&t.i&&(At.delete(t),t.i(e))}function ot(t,e,n,r){if(t&&t.o){if(At.has(t))return;At.add(t),Qt.c.push(()=>{At.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}var Ar={duration:0};function mt(t,e,n,r){let i=e(t,n,{direction:"both"}),a=r?0:1,l=null,c=null,s=null,f;function u(){s&&Jt(t,s)}function _(p,b){let v=p.b-a;return b*=Math.abs(v),{a,b:p.b,d:v,duration:b,start:p.start,end:p.start+b,group:p.group}}function d(p){let{delay:b=0,duration:v=300,easing:O=Y,tick:j=A,css:T}=i||Ar,z={start:zt()+b,b:p};p||(z.group=Qt,Qt.r+=1),"inert"in t&&(p?f!==void 0&&(t.inert=f):(f=t.inert,t.inert=!0)),l||c?c=z:(T&&(u(),s=Mt(t,a,p,v,b,O,T)),p&&j(0,1),l=_(z,v),R(()=>Yt(t,p,"start")),Ht(P=>{if(c&&P>c.start&&(l=_(c,v),c=null,Yt(t,l.b,"start"),T&&(u(),s=Mt(t,a,l.b,l.duration,0,O,i.css))),l){if(P>=l.end)j(a=l.b,1-a),Yt(t,l.b,"end"),c||(l.b?u():--l.group.r||C(l.group.c)),l=null;else if(P>=l.start){let $=P-l.start;a=l.a+l.d*O($/l.duration),j(a,1-a)}}return!!(l||c)}))}return{run(p){G(i)?jr().then(()=>{i=i({direction:p?"in":"out"}),d(p)}):d(p)},end(){u(),l=c=null}}}function B(t){return t?.length!==void 0?t:Array.from(t)}var Ir=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Tr=new Set([...Ir]);function Ve(t){t&&t.c()}function Ge(t,e){t&&t.l(e)}function te(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),R(()=>{let i=t.$$.on_mount.map(Rt).filter(G);t.$$.on_destroy?t.$$.on_destroy.push(...i):C(i),t.$$.on_mount=[]}),o.forEach(R)}function ee(t,e){let n=t.$$;n.fragment!==null&&(We(n.after_update),C(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Dr(t,e){t.$$.dirty[0]===-1&&(J.push(t),He(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let p=d.length?d[0]:_;return s.ctx&&o(s.ctx[u],s.ctx[u]=p)&&(!s.skip_bound&&s.bound[u]&&s.bound[u](p),f&&Dr(t,u)),_}):[],s.update(),f=!0,C(s.before_update),s.fragment=r?r(s.ctx):!1,e.target){if(e.hydrate){Te();let u=S(e.target);s.fragment&&s.fragment.l(u),u.forEach(g)}else s.fragment&&s.fragment.c();e.intro&&V(t.$$.fragment),te(t,e.target,e.anchor),Pe(),jt()}N(c)}var Lr;typeof HTMLElement=="function"&&(Lr=class extends HTMLElement{constructor(e,n,r){super();k(this,"$$ctor");k(this,"$$s");k(this,"$$c");k(this,"$$cn",!1);k(this,"$$d",{});k(this,"$$r",!1);k(this,"$$p_d",{});k(this,"$$l",{});k(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let a;return{c:function(){a=x("slot"),i!=="default"&&m(a,"name",i)},m:function(s,f){Gt(s,a,f)},d:function(s){s&&g(a)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=Re(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let a=this.$$g_p(i.name);a in this.$$d||(this.$$d[a]=Zt(a,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let a=Zt(i,this.$$d[i],this.$$p_d,"toAttribute");a==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,a)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let a of this.$$l[i]){let l=this.$$c.$on(i,a);this.$$l_u.set(a,l)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=Zt(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function Zt(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var K=class{constructor(){k(this,"$$");k(this,"$$set")}$destroy(){ee(this,1),this.$destroy=A}$on(e,n){if(!G(n))return A;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!Ce(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var Ue="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(Ue);function ne(t,{delay:e=0,duration:n=400,easing:r=Y}={}){let o=+getComputedStyle(t).opacity;return{delay:e,duration:n,easing:r,css:i=>`opacity: ${i*o}`}}function re(t,{delay:e=0,duration:n=300,x:r=0,y:o=0}){return{delay:e,duration:n,css:i=>`transform: translate(${r*i}px, ${o*i}px)`}}var it=[];function Je(t,e=A){let n,r=new Set;function o(l){if(Q(t,l)&&(t=l,n)){let c=!it.length;for(let s of r)s[1](),it.push(s,t);if(c){for(let s=0;s{r.delete(s),r.size===0&&n&&(n(),n=null)}}return{set:o,update:i,subscribe:a}}var Ke=Je(null);function Xe(t,e,n){let r=t.slice();return r[8]=e[n],r}function Ye(t,e,n){let r=t.slice();return r[11]=e[n],r}function Qe(t,e,n){let r=t.slice();return r[14]=e[n],r}function Ze(t){let e,n,r=t[3][t[14].name]+"",o,i,a,l;function c(){return t[6](t[14])}return{c(){e=x("li"),n=x("div"),o=U(r),i=L(),this.h()},l(s){e=E(s,"LI",{class:!0,"data-test-id":!0});var f=S(e);n=E(f,"DIV",{class:!0});var u=S(n);o=pt(u,r),u.forEach(g),i=q(f),f.forEach(g),this.h()},h(){m(n,"class","pl-2"),m(e,"class","pb-1"),m(e,"data-test-id","nav-item")},m(s,f){M(s,e,f),w(e,n),w(n,o),w(e,i),a||(l=[W(e,"mouseenter",c),W(e,"mouseleave",on)],a=!0)},p(s,f){t=s,f&4&&r!==(r=t[3][t[14].name]+"")&&Ot(o,r)},d(s){s&&g(e),a=!1,C(l)}}}function tn(t){let e,n,r=t[11].name+"",o,i,a,l=B(t[11].items),c=[];for(let s=0;s{r&&(n||(n=mt(e,ne,{duration:300},!0)),n.run(1))}),r=!0)},o(o){o&&(n||(n=mt(e,ne,{duration:300},!1)),n.run(0)),r=!1},d(o){o&&g(e),o&&n&&n.end()}}}function en(t){let e,n=B(t[1]),r=[];for(let o=0;o{j&&(O||(O=mt(s,re,{x:384},!0)),O.run(1))}),j=!0)},o(h){ot(D),h&&(O||(O=mt(s,re,{x:384},!1)),O.run(0)),j=!1},d(h){h&&(g(e),g(l),g(c),g(s)),Et($,h),D&&D.d(h),F&&F.d(),h&&O&&O.end(),T=!1,C(z)}}}var rn=!1;function Rr(){console.log("expandCategoryMenu!!")}function Br(){console.log("dragStart!!")}function on(){console.log("collapseCategoryMenu!!")}function zr(){console.log("abortCollapseCategoryMenu!!")}function Hr(t,e,n){let r,o,i,a;je(t,Ke,u=>n(0,a=u));let{components:l}=e,c={nav:"Navs",header:"Headers",sign_in:"Sign ins",sign_up:"Sign ups",stats:"Stats",footer:"Footers",basic:"Basics",other:"Other"},s=u=>Rr(u),f=(u,_)=>Br(u,_);return t.$$set=u=>{"components"in u&&n(4,l=u.components)},t.$$.update=()=>{if(t.$$.dirty&16){t:n(5,o=l)}if(t.$$.dirty&32){t:n(2,r=[{name:"Base",items:Array.from(new Set(o.map(u=>u.category))).map(u=>({id:u,name:u}))}])}if(t.$$.dirty&1){t:n(1,i=a?componentDefinitionsByCategory[a.id]:[])}},[a,i,r,c,l,o,s,f]}var oe=class extends K{constructor(e){super(),It(this,e,Hr,Nr,Q,{components:4})}},ie=oe;var ce={};Dt(ce,{default:()=>Gr});function Wr(t){let e,n,r;return n=new ie({props:{components:t[0]}}),{c(){e=x("div"),Ve(n.$$.fragment),this.h()},l(o){e=E(o,"DIV",{class:!0,"data-test-id":!0});var i=S(e);Ge(n.$$.fragment,i),i.forEach(g),this.h()},h(){m(e,"class","flex min-h-screen bg-gray-100"),m(e,"data-test-id","app-container")},m(o,i){M(o,e,i),te(n,e,null),r=!0},p(o,[i]){let a={};i&1&&(a.components=o[0]),n.$set(a)},i(o){r||(V(n.$$.fragment,o),r=!0)},o(o){ot(n.$$.fragment,o),r=!1},d(o){o&&g(e),ee(n)}}}function Vr(t,e,n){let{components:r}=e;return t.$$set=o=>{"components"in o&&n(0,r=o.components)},[r]}var ae=class extends K{constructor(e){super(),It(this,e,Vr,Wr,Q,{components:0})}},Gr=ae;var Ur=[se,ce],Jr=Ur,Kr=["../svelte/components/ComponentsSidebar.svelte","../svelte/components/UiBuilder.svelte"];var sn={};sn.CodeEditorHook=ke;Tt.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>Tt.default.show(300));window.addEventListener("phx:page-loading-stop",t=>Tt.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var Xr=document.querySelector("html").getAttribute("phx-socket")||"/live",Yr=document.querySelector("meta[name='csrf-token']").getAttribute("content"),an=new LiveView.LiveSocket(Xr,Phoenix.Socket,{hooks:{...Se(le),...sn},params:{_csrf_token:Yr}});an.connect();window.liveSocket=an;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-7d3dff1249cc1308fdc7c93154470f15.js.gz b/priv/static/beacon_live_admin-7d3dff1249cc1308fdc7c93154470f15.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..355e6eb1472e58227660f4bc5de2b8685ba24e77 GIT binary patch literal 14585 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 cn=Object.create;var _t=Object.defineProperty;var ln=Object.getOwnPropertyDescriptor;var un=Object.getOwnPropertyNames;var fn=Object.getPrototypeOf,dn=Object.prototype.hasOwnProperty;var pn=(t,e,n)=>e in t?_t(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var hn=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Dt=(t,e)=>{for(var n in e)_t(t,n,{get:e[n],enumerable:!0})},mn=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of un(e))!dn.call(t,o)&&o!==n&&_t(t,o,{get:()=>e[o],enumerable:!(r=ln(e,o))||r.enumerable});return t};var _n=(t,e,n)=>(n=t!=null?cn(fn(t)):{},mn(e||!t||!t.__esModule?_t(n,"default",{value:t,enumerable:!0}):n,t));var k=(t,e,n)=>(pn(t,typeof e!="symbol"?e+"":e,n),n);var de=hn((fe,gt)=>{(function(t,e){"use strict";(function(){for(var d=0,p=["ms","moz","webkit","o"],b=0;b_.show(),d)}else o=!0,a!==null&&t.cancelAnimationFrame(a),n||u(),n.style.opacity=1,n.style.display="block",_.progress(0),s.autoRun&&function p(){i=t.requestAnimationFrame(p),_.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(d){return typeof d>"u"||(typeof d=="string"&&(d=(d.indexOf("+")>=0||d.indexOf("-")>=0?r:0)+parseFloat(d)),r=d>1?1:d,f()),r},hide:function(){clearTimeout(l),l=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function d(){if(_.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",a=null;return}a=t.requestAnimationFrame(d)}())}};typeof gt=="object"&&typeof gt.exports=="object"?gt.exports=_:typeof define=="function"&&define.amd?define(function(){return _}):this.topbar=_}).call(fe,window,document)});var Tt=_n(de());function gn(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function pe(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function he(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function yn(t,e){if(t==null)return{};var n=bn(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function xn(t,e){return vn(t)||$n(t,e)||wn(t,e)||kn()}function vn(t){if(Array.isArray(t))return t}function $n(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var a=t[Symbol.iterator](),l;!(r=(l=a.next()).done)&&(n.push(l.value),!(e&&n.length===e));r=!0);}catch(c){o=!0,i=c}finally{try{!r&&a.return!=null&&a.return()}finally{if(o)throw i}}return n}}function wn(t,e){if(t){if(typeof t=="string")return me(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return me(t,e)}}function me(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var a=arguments.length,l=new Array(a),c=0;c1&&arguments[1]!==void 0?arguments[1]:{};bt.initial(t),bt.handler(e);var n={current:t},r=at(qn)(n,e),o=at(Ln)(n),i=at(bt.changes)(t),a=at(Dn)(n);function l(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(f){return f};return bt.selector(s),s(n.current)}function c(s){On(r,o,i,a)(s)}return[l,c]}function Dn(t,e){return ct(e)?e(t.current):e}function Ln(t,e){return t.current=ge(ge({},t.current),e),e}function qn(t,e,n){return ct(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var Nn={create:Pn},Rn=Nn,Bn={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},zn=Bn;function Hn(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var a=arguments.length,l=new Array(a),c=0;c[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],pr={base:"vs-dark",inherit:!1,rules:dr(Nt),colors:{"editor.background":Nt.background,"editor.foreground":Nt.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},hr=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,ye.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),ye.init().then(t=>{t.editor.defineTheme("default",pr);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},mr=hr,ke={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new mr(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function _r(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function ut(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function Ee(t){t.parentNode?.removeChild(t)}function Oe(t,e,n){t.insertBefore(e,n||null)}function Fe(){}function gr(t){let e={};for(let n in ut(t,"data-slots")){let r=()=>({getElement(){let o=ut(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){Ee(this.savedElement),this.savedElement=this.getElement(),Oe(this.savedTarget,this.savedElement,this.savedAnchor)},c:Fe,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),Oe(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&Ee(this.savedElement)},l:Fe});e[n]=[r]}return e}function br(t){let e=ut(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function vt(t){return{...ut(t,"data-props"),...br(t),live:t,$$slots:gr(t),$$scope:{}}}function yr(t){return t.$$.ctx.find(e=>e?.default)}function Se(t){return t=_r(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(ut(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(vt(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(vt(this)),!1);this._instance=new r({target:this.el,props:vt(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(vt(this));let n=yr(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var le={};Dt(le,{default:()=>Ur,filenames:()=>Jr});var se={};Dt(se,{default:()=>ie});function A(){}var Y=t=>t;function Rt(t){return t()}function wt(){return Object.create(null)}function C(t){t.forEach(Rt)}function G(t){return typeof t=="function"}function Q(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}var $t;function Bt(t,e){return t===e?!0:($t||($t=document.createElement("a")),$t.href=e,t===$t.href)}function Ce(t){return Object.keys(t).length===0}function Me(t,...e){if(t==null){for(let r of e)r(void 0);return A}let n=t.subscribe(...e);return n.unsubscribe?()=>n.unsubscribe():n}function je(t,e,n){t.$$.on_destroy.push(Me(e,n))}var Ae=typeof window<"u",zt=Ae?()=>window.performance.now():()=>Date.now(),ft=Ae?t=>requestAnimationFrame(t):A;var Z=new Set;function Ie(t){Z.forEach(e=>{e.c(t)||(Z.delete(e),e.f())}),Z.size!==0&&ft(Ie)}function Ht(t){let e;return Z.size===0&&ft(Ie),{promise:new Promise(n=>{Z.add(e={c:t,f:n})}),abort(){Z.delete(e)}}}var Wt=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var tt=class{constructor(e){k(this,"_listeners","WeakMap"in Wt?new WeakMap:void 0);k(this,"_observer");k(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)tt.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};tt.entries="WeakMap"in Wt?new WeakMap:void 0;var kt=!1;function Te(){kt=!0}function Pe(){kt=!1}function vr(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function $r(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let c=[];for(let s=0;s0&&e[n[o]].claim_order<=s?o+1:vr(1,o,_=>e[n[_]].claim_order,s))-1;r[c]=n[f]+1;let u=f+1;n[u]=c,o=Math.max(u,o)}let i=[],a=[],l=e.length-1;for(let c=n[o]+1;c!=0;c=r[c-1]){for(i.push(e[c-1]);l>=c;l--)a.push(e[l]);l--}for(;l>=0;l--)a.push(e[l]);i.reverse(),a.sort((c,s)=>c.claim_order-s.claim_order);for(let c=0,s=0;c=i[s].claim_order;)s++;let f=st.removeEventListener(e,n,r)}function m(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function Ut(t){return t.dataset.svelteH}function S(t){return Array.from(t.childNodes)}function kr(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function qe(t,e,n,r,o=!1){kr(t);let i=(()=>{for(let a=t.claim_info.last_index;a=0;a--){let l=t[a];if(e(l)){let c=n(l);return c===void 0?t.splice(a,1):t[a]=c,o?c===void 0&&t.claim_info.last_index--:t.claim_info.last_index=a,l}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function Er(t,e,n,r){return qe(t,o=>o.nodeName===e,o=>{let i=[];for(let a=0;ao.removeAttribute(a))},()=>r(e))}function E(t,e,n){return Er(t,e,n,x)}function pt(t,e){return qe(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>U(e),!0)}function q(t){return pt(t," ")}function Ot(t,e){e=""+e,t.data!==e&&(t.data=e)}function Ne(t,e,n){t.classList.toggle(e,!!n)}function Ft(t,e,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(t,{detail:e,bubbles:n,cancelable:r})}function Re(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var St=new Map,Ct=0;function Or(t){let e=5381,n=t.length;for(;n--;)e=(e<<5)-e^t.charCodeAt(n);return e>>>0}function Fr(t,e){let n={stylesheet:Le(e),rules:{}};return St.set(t,n),n}function Mt(t,e,n,r,o,i,a,l=0){let c=16.666/r,s=`{ +`;for(let v=0;v<=1;v+=c){let O=e+(n-e)*i(v);s+=v*100+`%{${a(O,1-O)}} +`}let f=s+`100% {${a(n,1-n)}} +}`,u=`__svelte_${Or(f)}_${l}`,_=Vt(t),{stylesheet:d,rules:p}=St.get(_)||Fr(_,t);p[u]||(p[u]=!0,d.insertRule(`@keyframes ${u} ${f}`,d.cssRules.length));let b=t.style.animation||"";return t.style.animation=`${b?`${b}, `:""}${u} ${r}ms linear ${o}ms 1 both`,Ct+=1,u}function Jt(t,e){let n=(t.style.animation||"").split(", "),r=n.filter(e?i=>i.indexOf(e)<0:i=>i.indexOf("__svelte")===-1),o=n.length-r.length;o&&(t.style.animation=r.join(", "),Ct-=o,Ct||Sr())}function Sr(){ft(()=>{Ct||(St.forEach(t=>{let{ownerNode:e}=t.stylesheet;e&&g(e)}),St.clear())})}var et;function N(t){et=t}var J=[];var Be=[],rt=[],ze=[],Cr=Promise.resolve(),Xt=!1;function He(){Xt||(Xt=!0,Cr.then(jt))}function R(t){rt.push(t)}var Kt=new Set,nt=0;function jt(){if(nt!==0)return;let t=et;do{try{for(;ntt.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),rt=e}var ht;function jr(){return ht||(ht=Promise.resolve(),ht.then(()=>{ht=null})),ht}function Yt(t,e,n){t.dispatchEvent(Ft(`${e?"intro":"outro"}${n}`))}var At=new Set,Qt;function V(t,e){t&&t.i&&(At.delete(t),t.i(e))}function ot(t,e,n,r){if(t&&t.o){if(At.has(t))return;At.add(t),Qt.c.push(()=>{At.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}var Ar={duration:0};function mt(t,e,n,r){let i=e(t,n,{direction:"both"}),a=r?0:1,l=null,c=null,s=null,f;function u(){s&&Jt(t,s)}function _(p,b){let v=p.b-a;return b*=Math.abs(v),{a,b:p.b,d:v,duration:b,start:p.start,end:p.start+b,group:p.group}}function d(p){let{delay:b=0,duration:v=300,easing:O=Y,tick:j=A,css:T}=i||Ar,z={start:zt()+b,b:p};p||(z.group=Qt,Qt.r+=1),"inert"in t&&(p?f!==void 0&&(t.inert=f):(f=t.inert,t.inert=!0)),l||c?c=z:(T&&(u(),s=Mt(t,a,p,v,b,O,T)),p&&j(0,1),l=_(z,v),R(()=>Yt(t,p,"start")),Ht(P=>{if(c&&P>c.start&&(l=_(c,v),c=null,Yt(t,l.b,"start"),T&&(u(),s=Mt(t,a,l.b,l.duration,0,O,i.css))),l){if(P>=l.end)j(a=l.b,1-a),Yt(t,l.b,"end"),c||(l.b?u():--l.group.r||C(l.group.c)),l=null;else if(P>=l.start){let $=P-l.start;a=l.a+l.d*O($/l.duration),j(a,1-a)}}return!!(l||c)}))}return{run(p){G(i)?jr().then(()=>{i=i({direction:p?"in":"out"}),d(p)}):d(p)},end(){u(),l=c=null}}}function B(t){return t?.length!==void 0?t:Array.from(t)}var Ir=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Tr=new Set([...Ir]);function Ve(t){t&&t.c()}function Ge(t,e){t&&t.l(e)}function te(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),R(()=>{let i=t.$$.on_mount.map(Rt).filter(G);t.$$.on_destroy?t.$$.on_destroy.push(...i):C(i),t.$$.on_mount=[]}),o.forEach(R)}function ee(t,e){let n=t.$$;n.fragment!==null&&(We(n.after_update),C(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Dr(t,e){t.$$.dirty[0]===-1&&(J.push(t),He(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let p=d.length?d[0]:_;return s.ctx&&o(s.ctx[u],s.ctx[u]=p)&&(!s.skip_bound&&s.bound[u]&&s.bound[u](p),f&&Dr(t,u)),_}):[],s.update(),f=!0,C(s.before_update),s.fragment=r?r(s.ctx):!1,e.target){if(e.hydrate){Te();let u=S(e.target);s.fragment&&s.fragment.l(u),u.forEach(g)}else s.fragment&&s.fragment.c();e.intro&&V(t.$$.fragment),te(t,e.target,e.anchor),Pe(),jt()}N(c)}var Lr;typeof HTMLElement=="function"&&(Lr=class extends HTMLElement{constructor(e,n,r){super();k(this,"$$ctor");k(this,"$$s");k(this,"$$c");k(this,"$$cn",!1);k(this,"$$d",{});k(this,"$$r",!1);k(this,"$$p_d",{});k(this,"$$l",{});k(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let a;return{c:function(){a=x("slot"),i!=="default"&&m(a,"name",i)},m:function(s,f){Gt(s,a,f)},d:function(s){s&&g(a)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=Re(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let a=this.$$g_p(i.name);a in this.$$d||(this.$$d[a]=Zt(a,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let a=Zt(i,this.$$d[i],this.$$p_d,"toAttribute");a==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,a)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let a of this.$$l[i]){let l=this.$$c.$on(i,a);this.$$l_u.set(a,l)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=Zt(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function Zt(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var K=class{constructor(){k(this,"$$");k(this,"$$set")}$destroy(){ee(this,1),this.$destroy=A}$on(e,n){if(!G(n))return A;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!Ce(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var Ue="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(Ue);function ne(t,{delay:e=0,duration:n=400,easing:r=Y}={}){let o=+getComputedStyle(t).opacity;return{delay:e,duration:n,easing:r,css:i=>`opacity: ${i*o}`}}function re(t,{delay:e=0,duration:n=300,x:r=0,y:o=0}){return{delay:e,duration:n,css:i=>`transform: translate(${r*i}px, ${o*i}px)`}}var it=[];function Je(t,e=A){let n,r=new Set;function o(l){if(Q(t,l)&&(t=l,n)){let c=!it.length;for(let s of r)s[1](),it.push(s,t);if(c){for(let s=0;s{r.delete(s),r.size===0&&n&&(n(),n=null)}}return{set:o,update:i,subscribe:a}}var Ke=Je(null);function Xe(t,e,n){let r=t.slice();return r[8]=e[n],r}function Ye(t,e,n){let r=t.slice();return r[11]=e[n],r}function Qe(t,e,n){let r=t.slice();return r[14]=e[n],r}function Ze(t){let e,n,r=t[3][t[14].name]+"",o,i,a,l;function c(){return t[6](t[14])}return{c(){e=x("li"),n=x("div"),o=U(r),i=L(),this.h()},l(s){e=E(s,"LI",{class:!0,"data-test-id":!0});var f=S(e);n=E(f,"DIV",{class:!0});var u=S(n);o=pt(u,r),u.forEach(g),i=q(f),f.forEach(g),this.h()},h(){m(n,"class","pl-2"),m(e,"class","pb-1"),m(e,"data-test-id","nav-item")},m(s,f){M(s,e,f),w(e,n),w(n,o),w(e,i),a||(l=[W(e,"mouseenter",c),W(e,"mouseleave",on)],a=!0)},p(s,f){t=s,f&4&&r!==(r=t[3][t[14].name]+"")&&Ot(o,r)},d(s){s&&g(e),a=!1,C(l)}}}function tn(t){let e,n,r=t[11].name+"",o,i,a,l=B(t[11].items),c=[];for(let s=0;s{r&&(n||(n=mt(e,ne,{duration:300},!0)),n.run(1))}),r=!0)},o(o){o&&(n||(n=mt(e,ne,{duration:300},!1)),n.run(0)),r=!1},d(o){o&&g(e),o&&n&&n.end()}}}function en(t){let e,n=B(t[1]),r=[];for(let o=0;o{j&&(O||(O=mt(s,re,{x:384},!0)),O.run(1))}),j=!0)},o(h){ot(D),h&&(O||(O=mt(s,re,{x:384},!1)),O.run(0)),j=!1},d(h){h&&(g(e),g(l),g(c),g(s)),Et($,h),D&&D.d(h),F&&F.d(),h&&O&&O.end(),T=!1,C(z)}}}var rn=!1;function Rr(){console.log("expandCategoryMenu!!")}function Br(){console.log("dragStart!!")}function on(){console.log("collapseCategoryMenu!!")}function zr(t,e,n){let r,o,i,a;je(t,Ke,u=>n(0,a=u));let{components:l}=e,c={nav:"Navs",header:"Headers",sign_in:"Sign ins",sign_up:"Sign ups",stats:"Stats",footer:"Footers",basic:"Basics",other:"Other"},s=u=>Rr(u),f=(u,_)=>Br(u,_);return t.$$set=u=>{"components"in u&&n(4,l=u.components)},t.$$.update=()=>{if(t.$$.dirty&16){t:n(5,o=l)}if(t.$$.dirty&32){t:n(2,r=[{name:"Base",items:Array.from(new Set(o.map(u=>u.category))).map(u=>({id:u,name:u}))}])}if(t.$$.dirty&1){t:n(1,i=a?componentDefinitionsByCategory[a.id]:[])}},[a,i,r,c,l,o,s,f]}var oe=class extends K{constructor(e){super(),It(this,e,zr,Nr,Q,{components:4})}},ie=oe;var ce={};Dt(ce,{default:()=>Vr});function Hr(t){let e,n,r;return n=new ie({props:{components:t[0]}}),{c(){e=x("div"),Ve(n.$$.fragment),this.h()},l(o){e=E(o,"DIV",{class:!0,"data-test-id":!0});var i=S(e);Ge(n.$$.fragment,i),i.forEach(g),this.h()},h(){m(e,"class","flex min-h-screen bg-gray-100"),m(e,"data-test-id","app-container")},m(o,i){M(o,e,i),te(n,e,null),r=!0},p(o,[i]){let a={};i&1&&(a.components=o[0]),n.$set(a)},i(o){r||(V(n.$$.fragment,o),r=!0)},o(o){ot(n.$$.fragment,o),r=!1},d(o){o&&g(e),ee(n)}}}function Wr(t,e,n){let{components:r}=e;return t.$$set=o=>{"components"in o&&n(0,r=o.components)},[r]}var ae=class extends K{constructor(e){super(),It(this,e,Wr,Hr,Q,{components:0})}},Vr=ae;var Gr=[se,ce],Ur=Gr,Jr=["../svelte/components/ComponentsSidebar.svelte","../svelte/components/UiBuilder.svelte"];var sn={};sn.CodeEditorHook=ke;Tt.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>Tt.default.show(300));window.addEventListener("phx:page-loading-stop",t=>Tt.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var Kr=document.querySelector("html").getAttribute("phx-socket")||"/live",Xr=document.querySelector("meta[name='csrf-token']").getAttribute("content"),an=new LiveView.LiveSocket(Kr,Phoenix.Socket,{hooks:{...Se(le),...sn},params:{_csrf_token:Xr}});an.connect();window.liveSocket=an;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-7eeb6ca344dfa7ba92c508dd86fb5221.js.gz b/priv/static/beacon_live_admin-7eeb6ca344dfa7ba92c508dd86fb5221.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..59db8e5d2dbf7fb0ae0b692cce1f4dab9081f21a GIT binary patch literal 14581 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 bn=Object.create;var wt=Object.defineProperty;var yn=Object.getOwnPropertyDescriptor;var vn=Object.getOwnPropertyNames;var xn=Object.getPrototypeOf,$n=Object.prototype.hasOwnProperty;var wn=(t,e,n)=>e in t?wt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var kn=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),kt=(t,e)=>{for(var n in e)wt(t,n,{get:e[n],enumerable:!0})},En=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of vn(e))!$n.call(t,o)&&o!==n&&wt(t,o,{get:()=>e[o],enumerable:!(r=yn(e,o))||r.enumerable});return t};var On=(t,e,n)=>(n=t!=null?bn(xn(t)):{},En(e||!t||!t.__esModule?wt(n,"default",{value:t,enumerable:!0}):n,t));var M=(t,e,n)=>(wn(t,typeof e!="symbol"?e+"":e,n),n);var Fe=kn((Oe,Et)=>{(function(t,e){"use strict";(function(){for(var d=0,p=["ms","moz","webkit","o"],y=0;yg.show(),d)}else o=!0,s!==null&&t.cancelAnimationFrame(s),n||f(),n.style.opacity=1,n.style.display="block",g.progress(0),a.autoRun&&function p(){i=t.requestAnimationFrame(p),g.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(d){return typeof d>"u"||(typeof d=="string"&&(d=(d.indexOf("+")>=0||d.indexOf("-")>=0?r:0)+parseFloat(d)),r=d>1?1:d,u()),r},hide:function(){clearTimeout(c),c=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function d(){if(g.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",s=null;return}s=t.requestAnimationFrame(d)}())}};typeof Et=="object"&&typeof Et.exports=="object"?Et.exports=g:typeof define=="function"&&define.amd?define(function(){return g}):this.topbar=g}).call(Oe,window,document)});var Jt=On(Fe());function Fn(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Se(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Ce(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function Cn(t,e){if(t==null)return{};var n=Sn(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function Mn(t,e){return jn(t)||An(t,e)||Tn(t,e)||In()}function jn(t){if(Array.isArray(t))return t}function An(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var s=t[Symbol.iterator](),c;!(r=(c=s.next()).done)&&(n.push(c.value),!(e&&n.length===e));r=!0);}catch(l){o=!0,i=l}finally{try{!r&&s.return!=null&&s.return()}finally{if(o)throw i}}return n}}function Tn(t,e){if(t){if(typeof t=="string")return Me(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Me(t,e)}}function Me(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var s=arguments.length,c=new Array(s),l=0;l1&&arguments[1]!==void 0?arguments[1]:{};Ot.initial(t),Ot.handler(e);var n={current:t},r=pt(Jn)(n,e),o=pt(Un)(n),i=pt(Ot.changes)(t),s=pt(Gn)(n);function c(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(u){return u};return Ot.selector(a),a(n.current)}function l(a){Pn(r,o,i,s)(a)}return[c,l]}function Gn(t,e){return ht(e)?e(t.current):e}function Un(t,e){return t.current=Ae(Ae({},t.current),e),e}function Jn(t,e,n){return ht(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var Kn={create:Vn},Xn=Kn,Yn={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},Qn=Yn;function Zn(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var s=arguments.length,c=new Array(s),l=0;l[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],wr={base:"vs-dark",inherit:!1,rules:$r(Qt),colors:{"editor.background":Qt.background,"editor.foreground":Qt.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},kr=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,Ie.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),Ie.init().then(t=>{t.editor.defineTheme("default",wr);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},Er=kr,Ne={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new Er(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function Or(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function _t(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function Re(t){t.parentNode?.removeChild(t)}function Be(t,e,n){t.insertBefore(e,n||null)}function ze(){}function Fr(t){let e={};for(let n in _t(t,"data-slots")){let r=()=>({getElement(){let o=_t(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){Re(this.savedElement),this.savedElement=this.getElement(),Be(this.savedTarget,this.savedElement,this.savedAnchor)},c:ze,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),Be(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&Re(this.savedElement)},l:ze});e[n]=[r]}return e}function Sr(t){let e=_t(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function Ct(t){return{..._t(t,"data-props"),...Sr(t),live:t,$$slots:Fr(t),$$scope:{}}}function Cr(t){return t.$$.ctx.find(e=>e?.default)}function He(t){return t=Or(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(_t(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(Ct(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(Ct(this)),!1);this._instance=new r({target:this.el,props:Ct(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(Ct(this));let n=Cr(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var ke={};kt(ke,{default:()=>no,filenames:()=>ro});var _e={};kt(_e,{backdropVisible:()=>Gt,default:()=>me});function I(){}var nt=t=>t;function Zt(t){return t()}function jt(){return Object.create(null)}function D(t){t.forEach(Zt)}function Q(t){return typeof t=="function"}function J(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}var Mt;function te(t,e){return t===e?!0:(Mt||(Mt=document.createElement("a")),Mt.href=e,t===Mt.href)}function We(t){return Object.keys(t).length===0}function At(t,...e){if(t==null){for(let r of e)r(void 0);return I}let n=t.subscribe(...e);return n.unsubscribe?()=>n.unsubscribe():n}function gt(t,e,n){t.$$.on_destroy.push(At(e,n))}function Tt(t,e,n){return t.set(n),e}var Ve=typeof window<"u",ee=Ve?()=>window.performance.now():()=>Date.now(),bt=Ve?t=>requestAnimationFrame(t):I;var rt=new Set;function Ge(t){rt.forEach(e=>{e.c(t)||(rt.delete(e),e.f())}),rt.size!==0&&bt(Ge)}function ne(t){let e;return rt.size===0&&bt(Ge),{promise:new Promise(n=>{rt.add(e={c:t,f:n})}),abort(){rt.delete(e)}}}var re=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var ot=class{constructor(e){M(this,"_listeners","WeakMap"in re?new WeakMap:void 0);M(this,"_observer");M(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)ot.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};ot.entries="WeakMap"in re?new WeakMap:void 0;var It=!1;function Ue(){It=!0}function Je(){It=!1}function jr(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function Ar(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let l=[];for(let a=0;a0&&e[n[o]].claim_order<=a?o+1:jr(1,o,g=>e[n[g]].claim_order,a))-1;r[l]=n[u]+1;let f=u+1;n[f]=l,o=Math.max(f,o)}let i=[],s=[],c=e.length-1;for(let l=n[o]+1;l!=0;l=r[l-1]){for(i.push(e[l-1]);c>=l;c--)s.push(e[c]);c--}for(;c>=0;c--)s.push(e[c]);i.reverse(),s.sort((l,a)=>l.claim_order-a.claim_order);for(let l=0,a=0;l=i[a].claim_order;)a++;let u=at.removeEventListener(e,n,r)}function m(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function ie(t){return t.dataset.svelteH}function j(t){return Array.from(t.childNodes)}function Tr(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function Ze(t,e,n,r,o=!1){Tr(t);let i=(()=>{for(let s=t.claim_info.last_index;s=0;s--){let c=t[s];if(e(c)){let l=n(c);return l===void 0?t.splice(s,1):t[s]=l,o?l===void 0&&t.claim_info.last_index--:t.claim_info.last_index=s,c}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function Ir(t,e,n,r){return Ze(t,o=>o.nodeName===e,o=>{let i=[];for(let s=0;so.removeAttribute(s))},()=>r(e))}function F(t,e,n){return Ir(t,e,n,v)}function yt(t,e){return Ze(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>Z(e),!0)}function R(t){return yt(t," ")}function qt(t,e){e=""+e,t.data!==e&&(t.data=e)}function se(t,e,n){t.classList.toggle(e,!!n)}function Lt(t,e,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(t,{detail:e,bubbles:n,cancelable:r})}function tn(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var Nt=new Map,Rt=0;function Dr(t){let e=5381,n=t.length;for(;n--;)e=(e<<5)-e^t.charCodeAt(n);return e>>>0}function Pr(t,e){let n={stylesheet:Ye(e),rules:{}};return Nt.set(t,n),n}function Bt(t,e,n,r,o,i,s,c=0){let l=16.666/r,a=`{ +`;for(let x=0;x<=1;x+=l){let S=e+(n-e)*i(x);a+=x*100+`%{${s(S,1-S)}} +`}let u=a+`100% {${s(n,1-n)}} +}`,f=`__svelte_${Dr(u)}_${c}`,g=Dt(t),{stylesheet:d,rules:p}=Nt.get(g)||Pr(g,t);p[f]||(p[f]=!0,d.insertRule(`@keyframes ${f} ${u}`,d.cssRules.length));let y=t.style.animation||"";return t.style.animation=`${y?`${y}, `:""}${f} ${r}ms linear ${o}ms 1 both`,Rt+=1,f}function ae(t,e){let n=(t.style.animation||"").split(", "),r=n.filter(e?i=>i.indexOf(e)<0:i=>i.indexOf("__svelte")===-1),o=n.length-r.length;o&&(t.style.animation=r.join(", "),Rt-=o,Rt||qr())}function qr(){bt(()=>{Rt||(Nt.forEach(t=>{let{ownerNode:e}=t.stylesheet;e&&_(e)}),Nt.clear())})}var it;function H(t){it=t}var tt=[];var en=[],at=[],nn=[],Lr=Promise.resolve(),le=!1;function rn(){le||(le=!0,Lr.then(zt))}function B(t){at.push(t)}var ce=new Set,st=0;function zt(){if(st!==0)return;let t=it;do{try{for(;stt.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),at=e}var vt;function Rr(){return vt||(vt=Promise.resolve(),vt.then(()=>{vt=null})),vt}function ue(t,e,n){t.dispatchEvent(Lt(`${e?"intro":"outro"}${n}`))}var Ht=new Set,W;function xt(){W={r:0,c:[],p:W}}function $t(){W.r||D(W.c),W=W.p}function q(t,e){t&&t.i&&(Ht.delete(t),t.i(e))}function z(t,e,n,r){if(t&&t.o){if(Ht.has(t))return;Ht.add(t),W.c.push(()=>{Ht.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}var Br={duration:0};function Y(t,e,n,r){let i=e(t,n,{direction:"both"}),s=r?0:1,c=null,l=null,a=null,u;function f(){a&&ae(t,a)}function g(p,y){let x=p.b-s;return y*=Math.abs(x),{a:s,b:p.b,d:x,duration:y,start:p.start,end:p.start+y,group:p.group}}function d(p){let{delay:y=0,duration:x=300,easing:S=nt,tick:A=I,css:L}=i||Br,b={start:ee()+y,b:p};p||(b.group=W,W.r+=1),"inert"in t&&(p?u!==void 0&&(t.inert=u):(u=t.inert,t.inert=!0)),c||l?l=b:(L&&(f(),a=Bt(t,s,p,x,y,S,L)),p&&A(0,1),c=g(b,x),B(()=>ue(t,p,"start")),ne(C=>{if(l&&C>l.start&&(c=g(l,x),l=null,ue(t,c.b,"start"),L&&(f(),a=Bt(t,s,c.b,c.duration,0,S,i.css))),c){if(C>=c.end)A(s=c.b,1-s),ue(t,c.b,"end"),l||(c.b?f():--c.group.r||D(c.group.c)),c=null;else if(C>=c.start){let $=C-c.start;s=c.a+c.d*S($/c.duration),A(s,1-s)}}return!!(c||l)}))}return{run(p){Q(i)?Rr().then(()=>{i=i({direction:p?"in":"out"}),d(p)}):d(p)},end(){f(),c=l=null}}}function V(t){return t?.length!==void 0?t:Array.from(t)}var zr=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Hr=new Set([...zr]);function de(t){t&&t.c()}function pe(t,e){t&&t.l(e)}function Wt(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),B(()=>{let i=t.$$.on_mount.map(Zt).filter(Q);t.$$.on_destroy?t.$$.on_destroy.push(...i):D(i),t.$$.on_mount=[]}),o.forEach(B)}function Vt(t,e){let n=t.$$;n.fragment!==null&&(on(n.after_update),D(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Vr(t,e){t.$$.dirty[0]===-1&&(tt.push(t),rn(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let p=d.length?d[0]:g;return a.ctx&&o(a.ctx[f],a.ctx[f]=p)&&(!a.skip_bound&&a.bound[f]&&a.bound[f](p),u&&Vr(t,f)),g}):[],a.update(),u=!0,D(a.before_update),a.fragment=r?r(a.ctx):!1,e.target){if(e.hydrate){Ue();let f=j(e.target);a.fragment&&a.fragment.l(f),f.forEach(_)}else a.fragment&&a.fragment.c();e.intro&&q(t.$$.fragment),Wt(t,e.target,e.anchor),Je(),zt()}H(l)}var Gr;typeof HTMLElement=="function"&&(Gr=class extends HTMLElement{constructor(e,n,r){super();M(this,"$$ctor");M(this,"$$s");M(this,"$$c");M(this,"$$cn",!1);M(this,"$$d",{});M(this,"$$r",!1);M(this,"$$p_d",{});M(this,"$$l",{});M(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let s;return{c:function(){s=v("slot"),i!=="default"&&m(s,"name",i)},m:function(a,u){oe(a,s,u)},d:function(a){a&&_(s)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=tn(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let s=this.$$g_p(i.name);s in this.$$d||(this.$$d[s]=fe(s,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let s=fe(i,this.$$d[i],this.$$p_d,"toAttribute");s==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,s)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let s of this.$$l[i]){let c=this.$$c.$on(i,s);this.$$l_u.set(s,c)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=fe(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function fe(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var G=class{constructor(){M(this,"$$");M(this,"$$set")}$destroy(){Vt(this,1),this.$destroy=I}$on(e,n){if(!Q(n))return I;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!We(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var sn="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(sn);function lt(t,{delay:e=0,duration:n=400,easing:r=nt}={}){let o=+getComputedStyle(t).opacity;return{delay:e,duration:n,easing:r,css:i=>`opacity: ${i*o}`}}var ut=[];function ft(t,e=I){let n,r=new Set;function o(c){if(J(t,c)&&(t=c,n)){let l=!ut.length;for(let a of r)a[1](),ut.push(a,t);if(l){for(let a=0;a{r.delete(a),r.size===0&&n&&(n(),n=null)}}return{set:o,update:i,subscribe:s}}function an(t){let e,n,r;return{c(){e=v("div"),this.h()},l(o){e=F(o,"DIV",{class:!0,"data-test-id":!0}),j(e).forEach(_),this.h()},h(){m(e,"class","bg-black/50 absolute inset-0 z-30"),m(e,"data-test-id","backdrop")},m(o,i){O(o,e,i),r=!0},i(o){r||(o&&B(()=>{r&&(n||(n=Y(e,lt,{},!0)),n.run(1))}),r=!0)},o(o){o&&(n||(n=Y(e,lt,{},!1)),n.run(0)),r=!1},d(o){o&&_(e),o&&n&&n.end()}}}function Ur(t){let e,n=t[0]&&an(t);return{c(){n&&n.c(),e=K()},l(r){n&&n.l(r),e=K()},m(r,o){n&&n.m(r,o),O(r,e,o)},p(r,[o]){r[0]?n?o&1&&q(n,1):(n=an(r),n.c(),q(n,1),n.m(e.parentNode,e)):n&&(xt(),z(n,1,1,()=>{n=null}),$t())},i(r){q(n)},o(r){z(n)},d(r){r&&_(e),n&&n.d(r)}}}var Gt=ft(!1);function Jr(t,e,n){let r,o=I,i=()=>(o(),o=At(Gt,s=>n(0,r=s)),Gt);return gt(t,Gt,s=>n(0,r=s)),t.$$.on_destroy.push(()=>o()),[r]}var he=class extends G{constructor(e){super(),ct(this,e,Jr,Ur,J,{})}},me=he;var xe={};kt(xe,{default:()=>ve});function ge(t,{delay:e=0,duration:n=300,x:r=0,y:o=0}){return{delay:e,duration:n,css:i=>`transform: translate(${r*i}px, ${o*i}px)`}}var be=ft(null);var Ut=ft(null);function Kr(t){Xe(t,"svelte-1q6nykn","#left-sidebar.svelte-1q6nykn{z-index:1000}#component-previews.svelte-1q6nykn,#backdrop.svelte-1q6nykn{z-index:999}")}function cn(t,e,n){let r=t.slice();return r[17]=e[n],r}function ln(t,e,n){let r=t.slice();return r[20]=e[n],r}function un(t,e,n){let r=t.slice();return r[23]=e[n],r}function fn(t){let e,n,r=t[4][t[23].name]+"",o,i,s,c;function l(){return t[13](t[23])}return{c(){e=v("li"),n=v("div"),o=Z(r),i=N(),this.h()},l(a){e=F(a,"LI",{class:!0,"data-test-id":!0});var u=j(e);n=F(u,"DIV",{class:!0});var f=j(n);o=yt(f,r),f.forEach(_),i=R(u),u.forEach(_),this.h()},h(){m(n,"class","pl-2"),m(e,"class","pb-1"),m(e,"data-test-id","nav-item")},m(a,u){O(a,e,u),E(e,n),E(n,o),E(e,i),s||(c=[X(e,"mouseenter",l),X(e,"mouseleave",t[5])],s=!0)},p(a,u){t=a,u&8&&r!==(r=t[4][t[23].name]+"")&&qt(o,r)},d(a){a&&_(e),s=!1,D(c)}}}function dn(t){let e,n,r=t[20].name+"",o,i,s,c=V(t[20].items),l=[];for(let a=0;a{r&&(n||(n=Y(e,lt,{duration:300},!0)),n.run(1))}),r=!0)},o(o){o&&(n||(n=Y(e,lt,{duration:300},!1)),n.run(0)),r=!1},d(o){o&&_(e),o&&n&&n.end()}}}function hn(t){let e,n=V(t[2]),r=[];for(let o=0;o{k=null}),$t()),(!A||P&1)&&f!==(f=h[4][h[0]?.name]+"")&&qt(g,f),h[2]?T?T.p(h,P):(T=hn(h),T.c(),T.m(a,null)):T&&(T.d(1),T=null),(!A||P&2)&&se(a,"translate-x-96",h[1])},i(h){A||(q(k),h&&B(()=>{A&&(S||(S=Y(a,ge,{x:384},!0)),S.run(1))}),A=!0)},o(h){z(k),h&&(S||(S=Y(a,ge,{x:384},!1)),S.run(0)),A=!1},d(h){h&&(_(e),_(c),_(l),_(a)),Pt($,h),k&&k.d(h),T&&T.d(),h&&S&&S.end(),L=!1,D(b)}}}function Yr(t,e,n){let r,o,i,s,c,l;gt(t,Ut,b=>n(16,c=b)),gt(t,be,b=>n(0,l=b));let{components:a}=e,u={nav:"Navs",header:"Headers",sign_in:"Sign ins",sign_up:"Sign ups",stats:"Stats",footer:"Footers",basic:"Basics",other:"Other"},f=!1,g;function d(){g=setTimeout(()=>{n(1,f=!1)},400)}function p(){clearTimeout(g)}function y(b){c||(clearTimeout(g),Tt(be,l=b,l),n(1,f=!0))}function x(b,C){setTimeout(()=>{Tt(Ut,c=b,c),n(1,f=!1)},100)}function S(){Tt(Ut,c=null,c)}let A=b=>y(b),L=(b,C)=>x(b,C);return t.$$set=b=>{"components"in b&&n(10,a=b.components)},t.$$.update=()=>{if(t.$$.dirty&1024){t:n(12,o=a)}if(t.$$.dirty&4096){t:n(3,r=[{name:"Base",items:Array.from(new Set(o.map(b=>b.category))).map(b=>({id:b,name:b}))}])}if(t.$$.dirty&4096){t:n(11,i=(o||[]).reduce((b,C)=>{var $;return b[$=C.category]||(b[$]=[]),b[C.category].push(C),b},{}))}if(t.$$.dirty&2049){t:n(2,s=l?i[l.id]:[])}},[l,f,s,r,u,d,p,y,x,S,a,i,o,A,L]}var ye=class extends G{constructor(e){super(),ct(this,e,Yr,Xr,J,{components:10},Kr)}},ve=ye;var we={};kt(we,{default:()=>to});function Qr(t){let e,n,r,o,i;return e=new me({}),o=new ve({props:{components:t[0]}}),{c(){de(e.$$.fragment),n=N(),r=v("div"),de(o.$$.fragment),this.h()},l(s){pe(e.$$.fragment,s),n=R(s),r=F(s,"DIV",{class:!0,"data-test-id":!0});var c=j(r);pe(o.$$.fragment,c),c.forEach(_),this.h()},h(){m(r,"class","flex min-h-screen bg-gray-100"),m(r,"data-test-id","app-container")},m(s,c){Wt(e,s,c),O(s,n,c),O(s,r,c),Wt(o,r,null),i=!0},p(s,[c]){let l={};c&1&&(l.components=s[0]),o.$set(l)},i(s){i||(q(e.$$.fragment,s),q(o.$$.fragment,s),i=!0)},o(s){z(e.$$.fragment,s),z(o.$$.fragment,s),i=!1},d(s){s&&(_(n),_(r)),Vt(e,s),Vt(o)}}}function Zr(t,e,n){let{components:r}=e;return t.$$set=o=>{"components"in o&&n(0,r=o.components)},[r]}var $e=class extends G{constructor(e){super(),ct(this,e,Zr,Qr,J,{components:0})}},to=$e;var eo=[_e,xe,we],no=eo,ro=["../svelte/components/Backdrop.svelte","../svelte/components/ComponentsSidebar.svelte","../svelte/components/UiBuilder.svelte"];var _n={};_n.CodeEditorHook=Ne;Jt.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>Jt.default.show(300));window.addEventListener("phx:page-loading-stop",t=>Jt.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var oo=document.querySelector("html").getAttribute("phx-socket")||"/live",io=document.querySelector("meta[name='csrf-token']").getAttribute("content"),gn=new LiveView.LiveSocket(oo,Phoenix.Socket,{hooks:{...He(ke),..._n},params:{_csrf_token:io}});gn.connect();window.liveSocket=gn;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-9bde4a813d0f1a6b2c5f1dd67b298826.js.gz b/priv/static/beacon_live_admin-9bde4a813d0f1a6b2c5f1dd67b298826.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..3f302476d8813137d3079fa919c44521b953ad93 GIT binary patch literal 15218 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 fe=Object.create;var G=Object.defineProperty;var de=Object.getOwnPropertyDescriptor;var pe=Object.getOwnPropertyNames;var he=Object.getPrototypeOf,me=Object.prototype.hasOwnProperty;var _e=(t,e,n)=>e in t?G(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var ge=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),xt=(t,e)=>{for(var n in e)G(t,n,{get:e[n],enumerable:!0})},be=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of pe(e))!me.call(t,o)&&o!==n&&G(t,o,{get:()=>e[o],enumerable:!(r=de(e,o))||r.enumerable});return t};var ye=(t,e,n)=>(n=t!=null?fe(he(t)):{},be(e||!t||!t.__esModule?G(n,"default",{value:t,enumerable:!0}):n,t));var b=(t,e,n)=>(_e(t,typeof e!="symbol"?e+"":e,n),n);var wt=ge(($t,U)=>{(function(t,e){"use strict";(function(){for(var l=0,p=["ms","moz","webkit","o"],g=0;gh.show(),l)}else o=!0,a!==null&&t.cancelAnimationFrame(a),n||u(),n.style.opacity=1,n.style.display="block",h.progress(0),s.autoRun&&function p(){i=t.requestAnimationFrame(p),h.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(l){return typeof l>"u"||(typeof l=="string"&&(l=(l.indexOf("+")>=0||l.indexOf("-")>=0?r:0)+parseFloat(l)),r=l>1?1:l,d()),r},hide:function(){clearTimeout(f),f=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function l(){if(h.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",a=null;return}a=t.requestAnimationFrame(l)}())}};typeof U=="object"&&typeof U.exports=="object"?U.exports=h:typeof define=="function"&&define.amd?define(function(){return h}):this.topbar=h}).call($t,window,document)});var ot=ye(wt());function ve(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Et(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function kt(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function $e(t,e){if(t==null)return{};var n=xe(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function we(t,e){return Ee(t)||ke(t,e)||Fe(t,e)||Oe()}function Ee(t){if(Array.isArray(t))return t}function ke(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var a=t[Symbol.iterator](),f;!(r=(f=a.next()).done)&&(n.push(f.value),!(e&&n.length===e));r=!0);}catch(c){o=!0,i=c}finally{try{!r&&a.return!=null&&a.return()}finally{if(o)throw i}}return n}}function Fe(t,e){if(t){if(typeof t=="string")return Ft(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Ft(t,e)}}function Ft(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var a=arguments.length,f=new Array(a),c=0;c1&&arguments[1]!==void 0?arguments[1]:{};V.initial(t),V.handler(e);var n={current:t},r=I(Be)(n,e),o=I(qe)(n),i=I(V.changes)(t),a=I(Re)(n);function f(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(d){return d};return V.selector(s),s(n.current)}function c(s){je(r,o,i,a)(s)}return[f,c]}function Re(t,e){return N(e)?e(t.current):e}function qe(t,e){return t.current=St(St({},t.current),e),e}function Be(t,e,n){return N(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var ze={create:Ne},He=ze,We={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},Ge=We;function Ue(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var a=arguments.length,f=new Array(a),c=0;c[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],gn={base:"vs-dark",inherit:!1,rules:_n(lt),colors:{"editor.background":lt.background,"editor.foreground":lt.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},bn=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,Ct.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),Ct.init().then(t=>{t.editor.defineTheme("default",gn);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},yn=bn,Pt={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new yn(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function vn(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function q(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function Lt(t){t.parentNode?.removeChild(t)}function It(t,e,n){t.insertBefore(e,n||null)}function Nt(){}function xn(t){let e={};for(let n in q(t,"data-slots")){let r=()=>({getElement(){let o=q(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){Lt(this.savedElement),this.savedElement=this.getElement(),It(this.savedTarget,this.savedElement,this.savedAnchor)},c:Nt,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),It(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&Lt(this.savedElement)},l:Nt});e[n]=[r]}return e}function $n(t){let e=q(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function X(t){return{...q(t,"data-props"),...$n(t),live:t,$$slots:xn(t),$$scope:{}}}function wn(t){return t.$$.ctx.find(e=>e?.default)}function Rt(t){return t=vn(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(q(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(X(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(X(this)),!1);this._instance=new r({target:this.el,props:X(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(X(this));let n=wn(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var vt={};xt(vt,{default:()=>Qn,filenames:()=>Zn});var yt={};xt(yt,{default:()=>Xn});function E(){}function ut(t){return t()}function Y(){return Object.create(null)}function x(t){t.forEach(ut)}function Q(t){return typeof t=="function"}function qt(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}function Bt(t){return Object.keys(t).length===0}var ft=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var T=class{constructor(e){b(this,"_listeners","WeakMap"in ft?new WeakMap:void 0);b(this,"_observer");b(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)T.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};T.entries="WeakMap"in ft?new WeakMap:void 0;var Z=!1;function zt(){Z=!0}function Ht(){Z=!1}function Fn(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function On(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let c=[];for(let s=0;s0&&e[n[o]].claim_order<=s?o+1:Fn(1,o,h=>e[n[h]].claim_order,s))-1;r[c]=n[d]+1;let u=d+1;n[u]=c,o=Math.max(u,o)}let i=[],a=[],f=e.length-1;for(let c=n[o]+1;c!=0;c=r[c-1]){for(i.push(e[c-1]);f>=c;f--)a.push(e[f]);f--}for(;f>=0;f--)a.push(e[f]);i.reverse(),a.sort((c,s)=>c.claim_order-s.claim_order);for(let c=0,s=0;c=i[s].claim_order;)s++;let d=st.removeEventListener(e,n,r)}function _(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function Vt(t){return t.dataset.svelteH}function $(t){return Array.from(t.childNodes)}function jn(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function Jt(t,e,n,r,o=!1){jn(t);let i=(()=>{for(let a=t.claim_info.last_index;a=0;a--){let f=t[a];if(e(f)){let c=n(f);return c===void 0?t.splice(a,1):t[a]=c,o?c===void 0&&t.claim_info.last_index--:t.claim_info.last_index=a,f}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function Cn(t,e,n,r){return Jt(t,o=>o.nodeName===e,o=>{let i=[];for(let a=0;ao.removeAttribute(a))},()=>r(e))}function w(t,e,n){return Cn(t,e,n,y)}function et(t,e){return Jt(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>M(e),!0)}function z(t){return et(t," ")}function Kt(t,e){let n=[],r=0;for(let o of e.childNodes)if(o.nodeType===8){let i=o.textContent.trim();i===`HEAD_${t}_END`?(r-=1,n.push(o)):i===`HEAD_${t}_START`&&(r+=1,n.push(o))}else r>0&&n.push(o);return n}function Xt(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var D;function k(t){D=t}var C=[];var Qt=[],L=[],Zt=[],Ln=Promise.resolve(),_t=!1;function te(){_t||(_t=!0,Ln.then(nt))}function H(t){L.push(t)}var mt=new Set,P=0;function nt(){if(P!==0)return;let t=D;do{try{for(;Pt.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),L=e}var Nn=new Set;function rt(t,e){t&&t.i&&(Nn.delete(t),t.i(e))}function A(t){return t?.length!==void 0?t:Array.from(t)}var qn=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Bn=new Set([...qn]);function Hn(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),H(()=>{let i=t.$$.on_mount.map(ut).filter(Q);t.$$.on_destroy?t.$$.on_destroy.push(...i):x(i),t.$$.on_mount=[]}),o.forEach(H)}function Wn(t,e){let n=t.$$;n.fragment!==null&&(ee(n.after_update),x(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Gn(t,e){t.$$.dirty[0]===-1&&(C.push(t),te(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let p=l.length?l[0]:h;return s.ctx&&o(s.ctx[u],s.ctx[u]=p)&&(!s.skip_bound&&s.bound[u]&&s.bound[u](p),d&&Gn(t,u)),h}):[],s.update(),d=!0,x(s.before_update),s.fragment=r?r(s.ctx):!1,e.target){if(e.hydrate){zt();let u=$(e.target);s.fragment&&s.fragment.l(u),u.forEach(m)}else s.fragment&&s.fragment.c();e.intro&&rt(t.$$.fragment),Hn(t,e.target,e.anchor),Ht(),nt()}k(c)}var Un;typeof HTMLElement=="function"&&(Un=class extends HTMLElement{constructor(e,n,r){super();b(this,"$$ctor");b(this,"$$s");b(this,"$$c");b(this,"$$cn",!1);b(this,"$$d",{});b(this,"$$r",!1);b(this,"$$p_d",{});b(this,"$$l",{});b(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let a;return{c:function(){a=y("slot"),i!=="default"&&_(a,"name",i)},m:function(s,d){dt(s,a,d)},d:function(s){s&&m(a)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=Xt(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let a=this.$$g_p(i.name);a in this.$$d||(this.$$d[a]=gt(a,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let a=gt(i,this.$$d[i],this.$$p_d,"toAttribute");a==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,a)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let a of this.$$l[i]){let f=this.$$c.$on(i,a);this.$$l_u.set(a,f)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=gt(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function gt(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var W=class{constructor(){b(this,"$$");b(this,"$$set")}$destroy(){Wn(this,1),this.$destroy=E}$on(e,n){if(!Q(n))return E;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!Bt(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var re="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(re);function Vn(t){Gt(t,"svelte-1q6nykn","#left-sidebar.svelte-1q6nykn{z-index:1000}")}function oe(t,e,n){let r=t.slice();return r[2]=e[n],r}function ie(t,e,n){let r=t.slice();return r[5]=e[n],r}function se(t){let e,n,r=sectionTitles[t[5].name]+"",o,i,a,f;function c(){return t[1](t[5])}return{c(){e=y("li"),n=y("div"),o=M(r),i=B(),this.h()},l(s){e=w(s,"LI",{class:!0,"data-test-id":!0});var d=$(e);n=w(d,"DIV",{class:!0});var u=$(n);o=et(u,r),u.forEach(m),i=z(d),d.forEach(m),this.h()},h(){_(n,"class","pl-2"),_(e,"class","pb-1"),_(e,"data-test-id","nav-item")},m(s,d){S(s,e,d),v(e,n),v(n,o),v(e,i),a||(f=[tt(e,"mouseenter",c),tt(e,"mouseleave",collapseCategoryMenu)],a=!0)},p(s,d){t=s},d(s){s&&m(e),a=!1,x(f)}}}function ae(t){let e,n,r=t[2].name+"",o,i,a,f=A(t[2].items),c=[];for(let s=0;svoid 0]}var bt=class extends W{constructor(e){super(),ne(this,e,Kn,Jn,qt,{},Vn)}},Xn=bt;var Yn=[yt],Qn=Yn,Zn=["../svelte/UiBuilder.svelte"];var ce={};ce.CodeEditorHook=Pt;ot.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>ot.default.show(300));window.addEventListener("phx:page-loading-stop",t=>ot.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var tr=document.querySelector("html").getAttribute("phx-socket")||"/live",er=document.querySelector("meta[name='csrf-token']").getAttribute("content"),le=new LiveView.LiveSocket(tr,Phoenix.Socket,{hooks:{...Rt(vt),...ce},params:{_csrf_token:er}});le.connect();window.liveSocket=le;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-a55ad950af1653ed4bd985f68d61272e.js.gz b/priv/static/beacon_live_admin-a55ad950af1653ed4bd985f68d61272e.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..1305063283d82fb7b3b162679f03585b97b20e9b GIT binary patch literal 11691 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 BrF{SZ literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin-b0cfa4e849fe24ab99b56c0ef9a03f88.js b/priv/static/beacon_live_admin-b0cfa4e849fe24ab99b56c0ef9a03f88.js new file mode 100644 index 00000000..0ee2a0a8 --- /dev/null +++ b/priv/static/beacon_live_admin-b0cfa4e849fe24ab99b56c0ef9a03f88.js @@ -0,0 +1,17 @@ +var BeaconLiveAdmin=(()=>{var ge=Object.create;var z=Object.defineProperty;var be=Object.getOwnPropertyDescriptor;var ye=Object.getOwnPropertyNames;var ve=Object.getPrototypeOf,xe=Object.prototype.hasOwnProperty;var $e=(t,e,n)=>e in t?z(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var we=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ut=(t,e)=>{for(var n in e)z(t,n,{get:e[n],enumerable:!0})},Ee=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of ye(e))!xe.call(t,o)&&o!==n&&z(t,o,{get:()=>e[o],enumerable:!(r=be(e,o))||r.enumerable});return t};var ke=(t,e,n)=>(n=t!=null?ge(ve(t)):{},Ee(e||!t||!t.__esModule?z(n,"default",{value:t,enumerable:!0}):n,t));var g=(t,e,n)=>($e(t,typeof e!="symbol"?e+"":e,n),n);var Mt=we((Tt,H)=>{(function(t,e){"use strict";(function(){for(var f=0,_=["ms","moz","webkit","o"],y=0;y<_.length&&!t.requestAnimationFrame;++y)t.requestAnimationFrame=t[_[y]+"RequestAnimationFrame"],t.cancelAnimationFrame=t[_[y]+"CancelAnimationFrame"]||t[_[y]+"CancelRequestAnimationFrame"];t.requestAnimationFrame||(t.requestAnimationFrame=function(at,sr){var ct=new Date().getTime(),lt=Math.max(0,16-(ct-f)),_e=t.setTimeout(function(){at(ct+lt)},lt);return f=ct+lt,_e}),t.cancelAnimationFrame||(t.cancelAnimationFrame=function(at){clearTimeout(at)})})();var n,r,o,i=null,c=null,u=null,a=function(f,_,y){f.addEventListener?f.addEventListener(_,y,!1):f.attachEvent?f.attachEvent("on"+_,y):f["on"+_]=y},s={autoRun:!0,barThickness:3,barColors:{0:"rgba(26, 188, 156, .9)",".25":"rgba(52, 152, 219, .9)",".50":"rgba(241, 196, 15, .9)",".75":"rgba(230, 126, 34, .9)","1.0":"rgba(211, 84, 0, .9)"},shadowBlur:10,shadowColor:"rgba(0, 0, 0, .6)",className:null},d=function(){n.width=t.innerWidth,n.height=s.barThickness*5;var f=n.getContext("2d");f.shadowBlur=s.shadowBlur,f.shadowColor=s.shadowColor;var _=f.createLinearGradient(0,0,n.width,0);for(var y in s.barColors)_.addColorStop(y,s.barColors[y]);f.lineWidth=s.barThickness,f.beginPath(),f.moveTo(0,s.barThickness/2),f.lineTo(Math.ceil(r*n.width),s.barThickness/2),f.strokeStyle=_,f.stroke()},l=function(){n=e.createElement("canvas");var f=n.style;f.position="fixed",f.top=f.left=f.right=f.margin=f.padding=0,f.zIndex=100001,f.display="none",s.className&&n.classList.add(s.className),e.body.appendChild(n),a(t,"resize",d)},p={config:function(f){for(var _ in f)s.hasOwnProperty(_)&&(s[_]=f[_])},show:function(f){if(!o)if(f){if(u)return;u=setTimeout(()=>p.show(),f)}else o=!0,c!==null&&t.cancelAnimationFrame(c),n||l(),n.style.opacity=1,n.style.display="block",p.progress(0),s.autoRun&&function _(){i=t.requestAnimationFrame(_),p.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(f){return typeof f>"u"||(typeof f=="string"&&(f=(f.indexOf("+")>=0||f.indexOf("-")>=0?r:0)+parseFloat(f)),r=f>1?1:f,d()),r},hide:function(){clearTimeout(u),u=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function f(){if(p.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",c=null;return}c=t.requestAnimationFrame(f)}())}};typeof H=="object"&&typeof H.exports=="object"?H.exports=p:typeof define=="function"&&define.amd?define(function(){return p}):this.topbar=p}).call(Tt,window,document)});var st=ke(Mt());function Fe(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Dt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Pt(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function Se(t,e){if(t==null)return{};var n=Oe(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function je(t,e){return Ce(t)||Ae(t,e)||Te(t,e)||Me()}function Ce(t){if(Array.isArray(t))return t}function Ae(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var c=t[Symbol.iterator](),u;!(r=(u=c.next()).done)&&(n.push(u.value),!(e&&n.length===e));r=!0);}catch(a){o=!0,i=a}finally{try{!r&&c.return!=null&&c.return()}finally{if(o)throw i}}return n}}function Te(t,e){if(t){if(typeof t=="string")return Lt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Lt(t,e)}}function Lt(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var c=arguments.length,u=new Array(c),a=0;a1&&arguments[1]!==void 0?arguments[1]:{};W.initial(t),W.handler(e);var n={current:t},r=I(Ue)(n,e),o=I(Ve)(n),i=I(W.changes)(t),c=I(Ge)(n);function u(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(d){return d};return W.selector(s),s(n.current)}function a(s){Pe(r,o,i,c)(s)}return[u,a]}function Ge(t,e){return N(e)?e(t.current):e}function Ve(t,e){return t.current=Nt(Nt({},t.current),e),e}function Ue(t,e,n){return N(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var Je={create:We},Ke=Je,Xe={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},Ye=Xe;function Qe(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var c=arguments.length,u=new Array(c),a=0;a[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],wn={base:"vs-dark",inherit:!1,rules:$n(pt),colors:{"editor.background":pt.background,"editor.foreground":pt.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},En=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,qt.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),qt.init().then(t=>{t.editor.defineTheme("default",wn);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},kn=En,Gt={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new kn(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function Fn(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function q(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function Vt(t){t.parentNode?.removeChild(t)}function Ut(t,e,n){t.insertBefore(e,n||null)}function Jt(){}function On(t){let e={};for(let n in q(t,"data-slots")){let r=()=>({getElement(){let o=q(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){Vt(this.savedElement),this.savedElement=this.getElement(),Ut(this.savedTarget,this.savedElement,this.savedAnchor)},c:Jt,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),Ut(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&Vt(this.savedElement)},l:Jt});e[n]=[r]}return e}function Sn(t){let e=q(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function U(t){return{...q(t,"data-props"),...Sn(t),live:t,$$slots:On(t),$$scope:{}}}function jn(t){return t.$$.ctx.find(e=>e?.default)}function Kt(t){return t=Fn(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(q(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(U(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(U(this)),!1);this._instance=new r({target:this.el,props:U(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(U(this));let n=jn(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var At={};ut(At,{default:()=>nr,filenames:()=>rr});var St={};ut(St,{default:()=>Ot});function v(){}function ht(t,e){for(let n in e)t[n]=e[n];return t}function mt(t){return t()}function J(){return Object.create(null)}function w(t){t.forEach(mt)}function K(t){return typeof t=="function"}function X(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}function Xt(t){return Object.keys(t).length===0}function _t(t){let e={};for(let n in t)n[0]!=="$"&&(e[n]=t[n]);return e}var gt=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var A=class{constructor(e){g(this,"_listeners","WeakMap"in gt?new WeakMap:void 0);g(this,"_observer");g(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)A.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};A.entries="WeakMap"in gt?new WeakMap:void 0;var Y=!1;function Yt(){Y=!0}function Qt(){Y=!1}function Tn(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function Mn(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let a=[];for(let s=0;s0&&e[n[o]].claim_order<=s?o+1:Tn(1,o,p=>e[n[p]].claim_order,s))-1;r[a]=n[d]+1;let l=d+1;n[l]=a,o=Math.max(l,o)}let i=[],c=[],u=e.length-1;for(let a=n[o]+1;a!=0;a=r[a-1]){for(i.push(e[a-1]);u>=a;u--)c.push(e[u]);u--}for(;u>=0;u--)c.push(e[u]);i.reverse(),c.sort((a,s)=>a.claim_order-s.claim_order);for(let a=0,s=0;a=i[s].claim_order;)s++;let d=st.removeEventListener(e,n,r)}function m(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function Zt(t){return t.dataset.svelteH}function $(t){return Array.from(t.childNodes)}function Dn(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function te(t,e,n,r,o=!1){Dn(t);let i=(()=>{for(let c=t.claim_info.last_index;c=0;c--){let u=t[c];if(e(u)){let a=n(u);return a===void 0?t.splice(c,1):t[c]=a,o?a===void 0&&t.claim_info.last_index--:t.claim_info.last_index=c,u}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function Pn(t,e,n,r){return te(t,o=>o.nodeName===e,o=>{let i=[];for(let c=0;co.removeAttribute(c))},()=>r(e))}function E(t,e,n){return Pn(t,e,n,b)}function tt(t,e){return te(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>T(e),!0)}function et(t){return tt(t," ")}function ee(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var M;function F(t){M=t}var S=[];var re=[],P=[],oe=[],Bn=Promise.resolve(),$t=!1;function ie(){$t||($t=!0,Bn.then(nt))}function B(t){P.push(t)}var xt=new Set,D=0;function nt(){if(D!==0)return;let t=M;do{try{for(;Dt.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),P=e}var rt=new Set,Hn;function L(t,e){t&&t.i&&(rt.delete(t),t.i(e))}function ot(t,e,n,r){if(t&&t.o){if(rt.has(t))return;rt.add(t),Hn.c.push(()=>{rt.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}function j(t){return t?.length!==void 0?t:Array.from(t)}var Wn=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Gn=new Set([...Wn]);function ae(t){t&&t.c()}function ce(t,e){t&&t.l(e)}function Et(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),B(()=>{let i=t.$$.on_mount.map(mt).filter(K);t.$$.on_destroy?t.$$.on_destroy.push(...i):w(i),t.$$.on_mount=[]}),o.forEach(B)}function kt(t,e){let n=t.$$;n.fragment!==null&&(se(n.after_update),w(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Un(t,e){t.$$.dirty[0]===-1&&(S.push(t),ie(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let _=f.length?f[0]:p;return s.ctx&&o(s.ctx[l],s.ctx[l]=_)&&(!s.skip_bound&&s.bound[l]&&s.bound[l](_),d&&Un(t,l)),p}):[],s.update(),d=!0,w(s.before_update),s.fragment=r?r(s.ctx):!1,e.target){if(e.hydrate){Yt();let l=$(e.target);s.fragment&&s.fragment.l(l),l.forEach(h)}else s.fragment&&s.fragment.c();e.intro&&L(t.$$.fragment),Et(t,e.target,e.anchor),Qt(),nt()}F(a)}var Jn;typeof HTMLElement=="function"&&(Jn=class extends HTMLElement{constructor(e,n,r){super();g(this,"$$ctor");g(this,"$$s");g(this,"$$c");g(this,"$$cn",!1);g(this,"$$d",{});g(this,"$$r",!1);g(this,"$$p_d",{});g(this,"$$l",{});g(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let c;return{c:function(){c=b("slot"),i!=="default"&&m(c,"name",i)},m:function(s,d){bt(s,c,d)},d:function(s){s&&h(c)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=ee(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let c=this.$$g_p(i.name);c in this.$$d||(this.$$d[c]=wt(c,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let c=wt(i,this.$$d[i],this.$$p_d,"toAttribute");c==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,c)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let c of this.$$l[i]){let u=this.$$c.$on(i,c);this.$$l_u.set(c,u)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=wt(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function wt(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var C=class{constructor(){g(this,"$$");g(this,"$$set")}$destroy(){kt(this,1),this.$destroy=v}$on(e,n){if(!K(n))return v;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!Xt(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var le="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(le);function ue(t,e,n){let r=t.slice();return r[3]=e[n],r}function fe(t,e,n){let r=t.slice();return r[6]=e[n],r}function de(t){let e,n,r=t[1][t[6].name]+"",o,i,c,u;function a(){return t[2](t[6])}return{c(){e=b("li"),n=b("div"),o=T(r),i=Q(),this.h()},l(s){e=E(s,"LI",{class:!0,"data-test-id":!0});var d=$(e);n=E(d,"DIV",{class:!0});var l=$(n);o=tt(l,r),l.forEach(h),i=et(d),d.forEach(h),this.h()},h(){m(n,"class","pl-2"),m(e,"class","pb-1"),m(e,"data-test-id","nav-item")},m(s,d){k(s,e,d),x(e,n),x(n,o),x(e,i),c||(u=[Z(e,"mouseenter",a),Z(e,"mouseleave",Xn)],c=!0)},p(s,d){t=s},d(s){s&&h(e),c=!1,w(u)}}}function pe(t){let e,n,r=t[3].name+"",o,i,c,u=j(t[3].items),a=[];for(let s=0;svoid 0]}var Ft=class extends C{constructor(e){super(),it(this,e,Yn,Kn,X,{})}},Ot=Ft;var Ct={};ut(Ct,{default:()=>tr});function Qn(t){let e,n,r;return n=new Ot({}),{c(){e=b("div"),ae(n.$$.fragment),this.h()},l(o){e=E(o,"DIV",{class:!0,"data-test-id":!0});var i=$(e);ce(n.$$.fragment,i),i.forEach(h),this.h()},h(){m(e,"class","flex min-h-screen bg-gray-100"),m(e,"data-test-id","app-container")},m(o,i){k(o,e,i),Et(n,e,null),r=!0},p:v,i(o){r||(L(n.$$.fragment,o),r=!0)},o(o){ot(n.$$.fragment,o),r=!1},d(o){o&&h(e),kt(n)}}}function Zn(t,e,n){let{components:r=["none yet"]}=e,{test:o="default string"}=e;return t.$$set=i=>{n(2,e=ht(ht({},e),_t(i))),"components"in i&&n(0,r=i.components),"test"in i&&n(1,o=i.test)},t.$$.update=()=>{if(t.$$.dirty&2){t:console.log("test",o)}if(t.$$.dirty&1){t:console.log("components",r)}t:console.log("$$props",e)},e=_t(e),[r,o]}var jt=class extends C{constructor(e){super(),it(this,e,Zn,Qn,X,{components:0,test:1})}},tr=jt;var er=[St,Ct],nr=er,rr=["../svelte/components/ComponentsSidebar.svelte","../svelte/components/UiBuilder.svelte"];var he={};he.CodeEditorHook=Gt;st.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>st.default.show(300));window.addEventListener("phx:page-loading-stop",t=>st.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var or=document.querySelector("html").getAttribute("phx-socket")||"/live",ir=document.querySelector("meta[name='csrf-token']").getAttribute("content"),me=new LiveView.LiveSocket(or,Phoenix.Socket,{hooks:{...Kt(At),...he},params:{_csrf_token:ir}});me.connect();window.liveSocket=me;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-b0cfa4e849fe24ab99b56c0ef9a03f88.js.gz b/priv/static/beacon_live_admin-b0cfa4e849fe24ab99b56c0ef9a03f88.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..a708d70e872b02f3a0eb47227517c27aa85c8dfd GIT binary patch literal 11574 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

g4q;ET^xPc7w!juo1rI}!^^Mu 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 literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin-be32b6b8c1d33c28473eaf88f185feff.js b/priv/static/beacon_live_admin-be32b6b8c1d33c28473eaf88f185feff.js new file mode 100644 index 00000000..04809415 --- /dev/null +++ b/priv/static/beacon_live_admin-be32b6b8c1d33c28473eaf88f185feff.js @@ -0,0 +1,22 @@ +var BeaconLiveAdmin=(()=>{var bn=Object.create;var wt=Object.defineProperty;var yn=Object.getOwnPropertyDescriptor;var xn=Object.getOwnPropertyNames;var vn=Object.getPrototypeOf,$n=Object.prototype.hasOwnProperty;var wn=(t,e,n)=>e in t?wt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var kn=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),kt=(t,e)=>{for(var n in e)wt(t,n,{get:e[n],enumerable:!0})},En=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of xn(e))!$n.call(t,o)&&o!==n&&wt(t,o,{get:()=>e[o],enumerable:!(r=yn(e,o))||r.enumerable});return t};var On=(t,e,n)=>(n=t!=null?bn(vn(t)):{},En(e||!t||!t.__esModule?wt(n,"default",{value:t,enumerable:!0}):n,t));var M=(t,e,n)=>(wn(t,typeof e!="symbol"?e+"":e,n),n);var Fe=kn((Oe,Et)=>{(function(t,e){"use strict";(function(){for(var d=0,p=["ms","moz","webkit","o"],y=0;yg.show(),d)}else o=!0,a!==null&&t.cancelAnimationFrame(a),n||f(),n.style.opacity=1,n.style.display="block",g.progress(0),s.autoRun&&function p(){i=t.requestAnimationFrame(p),g.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(d){return typeof d>"u"||(typeof d=="string"&&(d=(d.indexOf("+")>=0||d.indexOf("-")>=0?r:0)+parseFloat(d)),r=d>1?1:d,u()),r},hide:function(){clearTimeout(c),c=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function d(){if(g.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",a=null;return}a=t.requestAnimationFrame(d)}())}};typeof Et=="object"&&typeof Et.exports=="object"?Et.exports=g:typeof define=="function"&&define.amd?define(function(){return g}):this.topbar=g}).call(Oe,window,document)});var Jt=On(Fe());function Fn(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Se(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Ce(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function Cn(t,e){if(t==null)return{};var n=Sn(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function Mn(t,e){return jn(t)||An(t,e)||Tn(t,e)||In()}function jn(t){if(Array.isArray(t))return t}function An(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var a=t[Symbol.iterator](),c;!(r=(c=a.next()).done)&&(n.push(c.value),!(e&&n.length===e));r=!0);}catch(l){o=!0,i=l}finally{try{!r&&a.return!=null&&a.return()}finally{if(o)throw i}}return n}}function Tn(t,e){if(t){if(typeof t=="string")return Me(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Me(t,e)}}function Me(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var a=arguments.length,c=new Array(a),l=0;l1&&arguments[1]!==void 0?arguments[1]:{};Ot.initial(t),Ot.handler(e);var n={current:t},r=ht(Jn)(n,e),o=ht(Un)(n),i=ht(Ot.changes)(t),a=ht(Gn)(n);function c(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(u){return u};return Ot.selector(s),s(n.current)}function l(s){Pn(r,o,i,a)(s)}return[c,l]}function Gn(t,e){return mt(e)?e(t.current):e}function Un(t,e){return t.current=Ae(Ae({},t.current),e),e}function Jn(t,e,n){return mt(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var Kn={create:Vn},Xn=Kn,Yn={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},Qn=Yn;function Zn(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var a=arguments.length,c=new Array(a),l=0;l[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],wr={base:"vs-dark",inherit:!1,rules:$r(Qt),colors:{"editor.background":Qt.background,"editor.foreground":Qt.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},kr=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,Ie.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),Ie.init().then(t=>{t.editor.defineTheme("default",wr);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},Er=kr,Ne={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new Er(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function Or(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function gt(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function Re(t){t.parentNode?.removeChild(t)}function Be(t,e,n){t.insertBefore(e,n||null)}function ze(){}function Fr(t){let e={};for(let n in gt(t,"data-slots")){let r=()=>({getElement(){let o=gt(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){Re(this.savedElement),this.savedElement=this.getElement(),Be(this.savedTarget,this.savedElement,this.savedAnchor)},c:ze,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),Be(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&Re(this.savedElement)},l:ze});e[n]=[r]}return e}function Sr(t){let e=gt(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function Ct(t){return{...gt(t,"data-props"),...Sr(t),live:t,$$slots:Fr(t),$$scope:{}}}function Cr(t){return t.$$.ctx.find(e=>e?.default)}function He(t){return t=Or(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(gt(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(Ct(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(Ct(this)),!1);this._instance=new r({target:this.el,props:Ct(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(Ct(this));let n=Cr(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var ke={};kt(ke,{default:()=>no,filenames:()=>ro});var _e={};kt(_e,{backdropVisible:()=>Gt,default:()=>me});function I(){}var rt=t=>t;function Zt(t){return t()}function jt(){return Object.create(null)}function D(t){t.forEach(Zt)}function Z(t){return typeof t=="function"}function K(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}var Mt;function te(t,e){return t===e?!0:(Mt||(Mt=document.createElement("a")),Mt.href=e,t===Mt.href)}function We(t){return Object.keys(t).length===0}function At(t,...e){if(t==null){for(let r of e)r(void 0);return I}let n=t.subscribe(...e);return n.unsubscribe?()=>n.unsubscribe():n}function bt(t,e,n){t.$$.on_destroy.push(At(e,n))}function Tt(t,e,n){return t.set(n),e}var Ve=typeof window<"u",ee=Ve?()=>window.performance.now():()=>Date.now(),yt=Ve?t=>requestAnimationFrame(t):I;var ot=new Set;function Ge(t){ot.forEach(e=>{e.c(t)||(ot.delete(e),e.f())}),ot.size!==0&&yt(Ge)}function ne(t){let e;return ot.size===0&&yt(Ge),{promise:new Promise(n=>{ot.add(e={c:t,f:n})}),abort(){ot.delete(e)}}}var re=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var it=class{constructor(e){M(this,"_listeners","WeakMap"in re?new WeakMap:void 0);M(this,"_observer");M(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)it.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};it.entries="WeakMap"in re?new WeakMap:void 0;var It=!1;function Ue(){It=!0}function Je(){It=!1}function jr(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function Ar(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let l=[];for(let s=0;s0&&e[n[o]].claim_order<=s?o+1:jr(1,o,g=>e[n[g]].claim_order,s))-1;r[l]=n[u]+1;let f=u+1;n[f]=l,o=Math.max(f,o)}let i=[],a=[],c=e.length-1;for(let l=n[o]+1;l!=0;l=r[l-1]){for(i.push(e[l-1]);c>=l;c--)a.push(e[c]);c--}for(;c>=0;c--)a.push(e[c]);i.reverse(),a.sort((l,s)=>l.claim_order-s.claim_order);for(let l=0,s=0;l=i[s].claim_order;)s++;let u=st.removeEventListener(e,n,r)}function m(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function ie(t){return t.dataset.svelteH}function j(t){return Array.from(t.childNodes)}function Tr(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function Ze(t,e,n,r,o=!1){Tr(t);let i=(()=>{for(let a=t.claim_info.last_index;a=0;a--){let c=t[a];if(e(c)){let l=n(c);return l===void 0?t.splice(a,1):t[a]=l,o?l===void 0&&t.claim_info.last_index--:t.claim_info.last_index=a,c}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function Ir(t,e,n,r){return Ze(t,o=>o.nodeName===e,o=>{let i=[];for(let a=0;ao.removeAttribute(a))},()=>r(e))}function F(t,e,n){return Ir(t,e,n,x)}function tt(t,e){return Ze(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>H(e),!0)}function R(t){return tt(t," ")}function qt(t,e){e=""+e,t.data!==e&&(t.data=e)}function se(t,e,n){t.classList.toggle(e,!!n)}function Lt(t,e,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(t,{detail:e,bubbles:n,cancelable:r})}function tn(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var Nt=new Map,Rt=0;function Dr(t){let e=5381,n=t.length;for(;n--;)e=(e<<5)-e^t.charCodeAt(n);return e>>>0}function Pr(t,e){let n={stylesheet:Ye(e),rules:{}};return Nt.set(t,n),n}function Bt(t,e,n,r,o,i,a,c=0){let l=16.666/r,s=`{ +`;for(let v=0;v<=1;v+=l){let S=e+(n-e)*i(v);s+=v*100+`%{${a(S,1-S)}} +`}let u=s+`100% {${a(n,1-n)}} +}`,f=`__svelte_${Dr(u)}_${c}`,g=Dt(t),{stylesheet:d,rules:p}=Nt.get(g)||Pr(g,t);p[f]||(p[f]=!0,d.insertRule(`@keyframes ${f} ${u}`,d.cssRules.length));let y=t.style.animation||"";return t.style.animation=`${y?`${y}, `:""}${f} ${r}ms linear ${o}ms 1 both`,Rt+=1,f}function ae(t,e){let n=(t.style.animation||"").split(", "),r=n.filter(e?i=>i.indexOf(e)<0:i=>i.indexOf("__svelte")===-1),o=n.length-r.length;o&&(t.style.animation=r.join(", "),Rt-=o,Rt||qr())}function qr(){yt(()=>{Rt||(Nt.forEach(t=>{let{ownerNode:e}=t.stylesheet;e&&_(e)}),Nt.clear())})}var st;function W(t){st=t}var et=[];var en=[],ct=[],nn=[],Lr=Promise.resolve(),le=!1;function rn(){le||(le=!0,Lr.then(zt))}function B(t){ct.push(t)}var ce=new Set,at=0;function zt(){if(at!==0)return;let t=st;do{try{for(;att.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),ct=e}var xt;function Rr(){return xt||(xt=Promise.resolve(),xt.then(()=>{xt=null})),xt}function ue(t,e,n){t.dispatchEvent(Lt(`${e?"intro":"outro"}${n}`))}var Ht=new Set,V;function vt(){V={r:0,c:[],p:V}}function $t(){V.r||D(V.c),V=V.p}function q(t,e){t&&t.i&&(Ht.delete(t),t.i(e))}function z(t,e,n,r){if(t&&t.o){if(Ht.has(t))return;Ht.add(t),V.c.push(()=>{Ht.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}var Br={duration:0};function Q(t,e,n,r){let i=e(t,n,{direction:"both"}),a=r?0:1,c=null,l=null,s=null,u;function f(){s&&ae(t,s)}function g(p,y){let v=p.b-a;return y*=Math.abs(v),{a,b:p.b,d:v,duration:y,start:p.start,end:p.start+y,group:p.group}}function d(p){let{delay:y=0,duration:v=300,easing:S=rt,tick:A=I,css:L}=i||Br,b={start:ee()+y,b:p};p||(b.group=V,V.r+=1),"inert"in t&&(p?u!==void 0&&(t.inert=u):(u=t.inert,t.inert=!0)),c||l?l=b:(L&&(f(),s=Bt(t,a,p,v,y,S,L)),p&&A(0,1),c=g(b,v),B(()=>ue(t,p,"start")),ne(C=>{if(l&&C>l.start&&(c=g(l,v),l=null,ue(t,c.b,"start"),L&&(f(),s=Bt(t,a,c.b,c.duration,0,S,i.css))),c){if(C>=c.end)A(a=c.b,1-a),ue(t,c.b,"end"),l||(c.b?f():--c.group.r||D(c.group.c)),c=null;else if(C>=c.start){let $=C-c.start;a=c.a+c.d*S($/c.duration),A(a,1-a)}}return!!(c||l)}))}return{run(p){Z(i)?Rr().then(()=>{i=i({direction:p?"in":"out"}),d(p)}):d(p)},end(){f(),c=l=null}}}function G(t){return t?.length!==void 0?t:Array.from(t)}var zr=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Hr=new Set([...zr]);function de(t){t&&t.c()}function pe(t,e){t&&t.l(e)}function Wt(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),B(()=>{let i=t.$$.on_mount.map(Zt).filter(Z);t.$$.on_destroy?t.$$.on_destroy.push(...i):D(i),t.$$.on_mount=[]}),o.forEach(B)}function Vt(t,e){let n=t.$$;n.fragment!==null&&(on(n.after_update),D(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Vr(t,e){t.$$.dirty[0]===-1&&(et.push(t),rn(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let p=d.length?d[0]:g;return s.ctx&&o(s.ctx[f],s.ctx[f]=p)&&(!s.skip_bound&&s.bound[f]&&s.bound[f](p),u&&Vr(t,f)),g}):[],s.update(),u=!0,D(s.before_update),s.fragment=r?r(s.ctx):!1,e.target){if(e.hydrate){Ue();let f=j(e.target);s.fragment&&s.fragment.l(f),f.forEach(_)}else s.fragment&&s.fragment.c();e.intro&&q(t.$$.fragment),Wt(t,e.target,e.anchor),Je(),zt()}W(l)}var Gr;typeof HTMLElement=="function"&&(Gr=class extends HTMLElement{constructor(e,n,r){super();M(this,"$$ctor");M(this,"$$s");M(this,"$$c");M(this,"$$cn",!1);M(this,"$$d",{});M(this,"$$r",!1);M(this,"$$p_d",{});M(this,"$$l",{});M(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let a;return{c:function(){a=x("slot"),i!=="default"&&m(a,"name",i)},m:function(s,u){oe(s,a,u)},d:function(s){s&&_(a)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=tn(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let a=this.$$g_p(i.name);a in this.$$d||(this.$$d[a]=fe(a,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let a=fe(i,this.$$d[i],this.$$p_d,"toAttribute");a==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,a)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let a of this.$$l[i]){let c=this.$$c.$on(i,a);this.$$l_u.set(a,c)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=fe(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function fe(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var U=class{constructor(){M(this,"$$");M(this,"$$set")}$destroy(){Vt(this,1),this.$destroy=I}$on(e,n){if(!Z(n))return I;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!We(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var sn="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(sn);function ut(t,{delay:e=0,duration:n=400,easing:r=rt}={}){let o=+getComputedStyle(t).opacity;return{delay:e,duration:n,easing:r,css:i=>`opacity: ${i*o}`}}var ft=[];function dt(t,e=I){let n,r=new Set;function o(c){if(K(t,c)&&(t=c,n)){let l=!ft.length;for(let s of r)s[1](),ft.push(s,t);if(l){for(let s=0;s{r.delete(s),r.size===0&&n&&(n(),n=null)}}return{set:o,update:i,subscribe:a}}function an(t){let e,n,r;return{c(){e=x("div"),this.h()},l(o){e=F(o,"DIV",{class:!0,"data-test-id":!0}),j(e).forEach(_),this.h()},h(){m(e,"class","bg-black/50 absolute inset-0 z-30"),m(e,"data-test-id","backdrop")},m(o,i){k(o,e,i),r=!0},i(o){r||(o&&B(()=>{r&&(n||(n=Q(e,ut,{},!0)),n.run(1))}),r=!0)},o(o){o&&(n||(n=Q(e,ut,{},!1)),n.run(0)),r=!1},d(o){o&&_(e),o&&n&&n.end()}}}function Ur(t){let e,n=t[0]&&an(t);return{c(){n&&n.c(),e=X()},l(r){n&&n.l(r),e=X()},m(r,o){n&&n.m(r,o),k(r,e,o)},p(r,[o]){r[0]?n?o&1&&q(n,1):(n=an(r),n.c(),q(n,1),n.m(e.parentNode,e)):n&&(vt(),z(n,1,1,()=>{n=null}),$t())},i(r){q(n)},o(r){z(n)},d(r){r&&_(e),n&&n.d(r)}}}var Gt=dt(!1);function Jr(t,e,n){let r,o=I,i=()=>(o(),o=At(Gt,a=>n(0,r=a)),Gt);return bt(t,Gt,a=>n(0,r=a)),t.$$.on_destroy.push(()=>o()),[r]}var he=class extends U{constructor(e){super(),lt(this,e,Jr,Ur,K,{})}},me=he;var ve={};kt(ve,{default:()=>xe});function ge(t,{delay:e=0,duration:n=300,x:r=0,y:o=0}){return{delay:e,duration:n,css:i=>`transform: translate(${r*i}px, ${o*i}px)`}}var be=dt(null);var Ut=dt(null);function Kr(t){Xe(t,"svelte-1q6nykn","#left-sidebar.svelte-1q6nykn{z-index:1000}#component-previews.svelte-1q6nykn,#backdrop.svelte-1q6nykn{z-index:999}")}function cn(t,e,n){let r=t.slice();return r[17]=e[n],r}function ln(t,e,n){let r=t.slice();return r[20]=e[n],r}function un(t,e,n){let r=t.slice();return r[23]=e[n],r}function fn(t){let e,n,r=t[4][t[23].name]+"",o,i,a,c;function l(){return t[13](t[23])}return{c(){e=x("li"),n=x("div"),o=H(r),i=N(),this.h()},l(s){e=F(s,"LI",{class:!0,"data-test-id":!0});var u=j(e);n=F(u,"DIV",{class:!0});var f=j(n);o=tt(f,r),f.forEach(_),i=R(u),u.forEach(_),this.h()},h(){m(n,"class","pl-2"),m(e,"class","pb-1"),m(e,"data-test-id","nav-item")},m(s,u){k(s,e,u),O(e,n),O(n,o),O(e,i),a||(c=[Y(e,"mouseenter",l),Y(e,"mouseleave",t[5])],a=!0)},p(s,u){t=s,u&8&&r!==(r=t[4][t[23].name]+"")&&qt(o,r)},d(s){s&&_(e),a=!1,D(c)}}}function dn(t){let e,n,r=t[20].name+"",o,i,a,c=G(t[20].items),l=[];for(let s=0;s{r&&(n||(n=Q(e,ut,{duration:300},!0)),n.run(1))}),r=!0)},o(o){o&&(n||(n=Q(e,ut,{duration:300},!1)),n.run(0)),r=!1},d(o){o&&_(e),o&&n&&n.end()}}}function hn(t){let e,n=G(t[2]),r=[];for(let o=0;o{E=null}),$t()),(!A||P&1)&&f!==(f=h[4][h[0]?.name]+"")&&qt(g,f),h[2]?T?T.p(h,P):(T=hn(h),T.c(),T.m(s,null)):T&&(T.d(1),T=null),(!A||P&2)&&se(s,"translate-x-96",h[1])},i(h){A||(q(E),h&&B(()=>{A&&(S||(S=Q(s,ge,{x:384},!0)),S.run(1))}),A=!0)},o(h){z(E),h&&(S||(S=Q(s,ge,{x:384},!1)),S.run(0)),A=!1},d(h){h&&(_(e),_(c),_(l),_(s)),Pt($,h),E&&E.d(h),T&&T.d(),h&&S&&S.end(),L=!1,D(b)}}}function Yr(t,e,n){let r,o,i,a,c,l;bt(t,Ut,b=>n(16,c=b)),bt(t,be,b=>n(0,l=b));let{components:s}=e,u={nav:"Navs",header:"Headers",sign_in:"Sign ins",sign_up:"Sign ups",stats:"Stats",footer:"Footers",basic:"Basics",other:"Other"},f=!1,g=!1;function d(){g=setTimeout(()=>{n(1,f=!1)},400)}function p(){clearTimeout(g)}function y(b){c||(clearTimeout(g),Tt(be,l=b,l),n(1,f=!0))}function v(b,C){setTimeout(()=>{Tt(Ut,c=b,c),n(1,f=!1)},100)}function S(){Tt(Ut,c=null,c)}let A=b=>y(b),L=(b,C)=>v(b,C);return t.$$set=b=>{"components"in b&&n(10,s=b.components)},t.$$.update=()=>{if(t.$$.dirty&1024){t:n(12,o=s)}if(t.$$.dirty&4096){t:n(3,r=[{name:"Base",items:Array.from(new Set(o.map(b=>b.category))).map(b=>({id:b,name:b}))}])}if(t.$$.dirty&4096){t:n(11,i=(o||[]).reduce((b,C)=>{var $;return b[$=C.category]||(b[$]=[]),b[C.category].push(C),b},{}))}if(t.$$.dirty&2049){t:n(2,a=l?i[l.id]:[])}},[l,f,a,r,u,d,p,y,v,S,s,i,o,A,L]}var ye=class extends U{constructor(e){super(),lt(this,e,Yr,Xr,K,{components:10},Kr)}},xe=ye;var we={};kt(we,{default:()=>to});function Qr(t){let e,n,r,o,i,a;return n=new me({}),i=new xe({props:{components:t[0]}}),{c(){e=H(`adljajkdahljashadlshlj +`),de(n.$$.fragment),r=N(),o=x("div"),de(i.$$.fragment),this.h()},l(c){e=tt(c,`adljajkdahljashadlshlj +`),pe(n.$$.fragment,c),r=R(c),o=F(c,"DIV",{class:!0,"data-test-id":!0});var l=j(o);pe(i.$$.fragment,l),l.forEach(_),this.h()},h(){m(o,"class","flex min-h-screen bg-gray-100"),m(o,"data-test-id","app-container")},m(c,l){k(c,e,l),Wt(n,c,l),k(c,r,l),k(c,o,l),Wt(i,o,null),a=!0},p(c,[l]){let s={};l&1&&(s.components=c[0]),i.$set(s)},i(c){a||(q(n.$$.fragment,c),q(i.$$.fragment,c),a=!0)},o(c){z(n.$$.fragment,c),z(i.$$.fragment,c),a=!1},d(c){c&&(_(e),_(r),_(o)),Vt(n,c),Vt(i)}}}function Zr(t,e,n){let{components:r}=e;return t.$$set=o=>{"components"in o&&n(0,r=o.components)},[r]}var $e=class extends U{constructor(e){super(),lt(this,e,Zr,Qr,K,{components:0})}},to=$e;var eo=[_e,ve,we],no=eo,ro=["../svelte/components/Backdrop.svelte","../svelte/components/ComponentsSidebar.svelte","../svelte/components/UiBuilder.svelte"];var _n={};_n.CodeEditorHook=Ne;Jt.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>Jt.default.show(300));window.addEventListener("phx:page-loading-stop",t=>Jt.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var oo=document.querySelector("html").getAttribute("phx-socket")||"/live",io=document.querySelector("meta[name='csrf-token']").getAttribute("content"),gn=new LiveView.LiveSocket(oo,Phoenix.Socket,{hooks:{...He(ke),..._n},params:{_csrf_token:io}});gn.connect();window.liveSocket=gn;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-be32b6b8c1d33c28473eaf88f185feff.js.gz b/priv/static/beacon_live_admin-be32b6b8c1d33c28473eaf88f185feff.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..6036920e9e9a4952e11774331b47e447947ce774 GIT binary patch literal 15257 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 fN)6Bhu!T{var bn=Object.create;var wt=Object.defineProperty;var yn=Object.getOwnPropertyDescriptor;var vn=Object.getOwnPropertyNames;var xn=Object.getPrototypeOf,$n=Object.prototype.hasOwnProperty;var wn=(t,e,n)=>e in t?wt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var kn=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),kt=(t,e)=>{for(var n in e)wt(t,n,{get:e[n],enumerable:!0})},En=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of vn(e))!$n.call(t,o)&&o!==n&&wt(t,o,{get:()=>e[o],enumerable:!(r=yn(e,o))||r.enumerable});return t};var On=(t,e,n)=>(n=t!=null?bn(xn(t)):{},En(e||!t||!t.__esModule?wt(n,"default",{value:t,enumerable:!0}):n,t));var M=(t,e,n)=>(wn(t,typeof e!="symbol"?e+"":e,n),n);var Fe=kn((Oe,Et)=>{(function(t,e){"use strict";(function(){for(var d=0,p=["ms","moz","webkit","o"],y=0;yg.show(),d)}else o=!0,s!==null&&t.cancelAnimationFrame(s),n||f(),n.style.opacity=1,n.style.display="block",g.progress(0),a.autoRun&&function p(){i=t.requestAnimationFrame(p),g.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(d){return typeof d>"u"||(typeof d=="string"&&(d=(d.indexOf("+")>=0||d.indexOf("-")>=0?r:0)+parseFloat(d)),r=d>1?1:d,u()),r},hide:function(){clearTimeout(c),c=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function d(){if(g.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",s=null;return}s=t.requestAnimationFrame(d)}())}};typeof Et=="object"&&typeof Et.exports=="object"?Et.exports=g:typeof define=="function"&&define.amd?define(function(){return g}):this.topbar=g}).call(Oe,window,document)});var Jt=On(Fe());function Fn(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Se(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Ce(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function Cn(t,e){if(t==null)return{};var n=Sn(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function Mn(t,e){return jn(t)||An(t,e)||Tn(t,e)||In()}function jn(t){if(Array.isArray(t))return t}function An(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var s=t[Symbol.iterator](),c;!(r=(c=s.next()).done)&&(n.push(c.value),!(e&&n.length===e));r=!0);}catch(l){o=!0,i=l}finally{try{!r&&s.return!=null&&s.return()}finally{if(o)throw i}}return n}}function Tn(t,e){if(t){if(typeof t=="string")return Me(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Me(t,e)}}function Me(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var s=arguments.length,c=new Array(s),l=0;l1&&arguments[1]!==void 0?arguments[1]:{};Ot.initial(t),Ot.handler(e);var n={current:t},r=pt(Jn)(n,e),o=pt(Un)(n),i=pt(Ot.changes)(t),s=pt(Gn)(n);function c(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(u){return u};return Ot.selector(a),a(n.current)}function l(a){Pn(r,o,i,s)(a)}return[c,l]}function Gn(t,e){return ht(e)?e(t.current):e}function Un(t,e){return t.current=Ae(Ae({},t.current),e),e}function Jn(t,e,n){return ht(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var Kn={create:Vn},Xn=Kn,Yn={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},Qn=Yn;function Zn(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var s=arguments.length,c=new Array(s),l=0;l[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],wr={base:"vs-dark",inherit:!1,rules:$r(Qt),colors:{"editor.background":Qt.background,"editor.foreground":Qt.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},kr=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,Ie.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),Ie.init().then(t=>{t.editor.defineTheme("default",wr);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},Er=kr,Ne={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new Er(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function Or(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function _t(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function Re(t){t.parentNode?.removeChild(t)}function Be(t,e,n){t.insertBefore(e,n||null)}function ze(){}function Fr(t){let e={};for(let n in _t(t,"data-slots")){let r=()=>({getElement(){let o=_t(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){Re(this.savedElement),this.savedElement=this.getElement(),Be(this.savedTarget,this.savedElement,this.savedAnchor)},c:ze,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),Be(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&Re(this.savedElement)},l:ze});e[n]=[r]}return e}function Sr(t){let e=_t(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function Ct(t){return{..._t(t,"data-props"),...Sr(t),live:t,$$slots:Fr(t),$$scope:{}}}function Cr(t){return t.$$.ctx.find(e=>e?.default)}function He(t){return t=Or(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(_t(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(Ct(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(Ct(this)),!1);this._instance=new r({target:this.el,props:Ct(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(Ct(this));let n=Cr(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var ke={};kt(ke,{default:()=>no,filenames:()=>ro});var _e={};kt(_e,{backdropVisible:()=>Gt,default:()=>me});function I(){}var nt=t=>t;function Zt(t){return t()}function jt(){return Object.create(null)}function D(t){t.forEach(Zt)}function Q(t){return typeof t=="function"}function J(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}var Mt;function te(t,e){return t===e?!0:(Mt||(Mt=document.createElement("a")),Mt.href=e,t===Mt.href)}function We(t){return Object.keys(t).length===0}function At(t,...e){if(t==null){for(let r of e)r(void 0);return I}let n=t.subscribe(...e);return n.unsubscribe?()=>n.unsubscribe():n}function gt(t,e,n){t.$$.on_destroy.push(At(e,n))}function Tt(t,e,n){return t.set(n),e}var Ve=typeof window<"u",ee=Ve?()=>window.performance.now():()=>Date.now(),bt=Ve?t=>requestAnimationFrame(t):I;var rt=new Set;function Ge(t){rt.forEach(e=>{e.c(t)||(rt.delete(e),e.f())}),rt.size!==0&&bt(Ge)}function ne(t){let e;return rt.size===0&&bt(Ge),{promise:new Promise(n=>{rt.add(e={c:t,f:n})}),abort(){rt.delete(e)}}}var re=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var ot=class{constructor(e){M(this,"_listeners","WeakMap"in re?new WeakMap:void 0);M(this,"_observer");M(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)ot.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};ot.entries="WeakMap"in re?new WeakMap:void 0;var It=!1;function Ue(){It=!0}function Je(){It=!1}function jr(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function Ar(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let l=[];for(let a=0;a0&&e[n[o]].claim_order<=a?o+1:jr(1,o,g=>e[n[g]].claim_order,a))-1;r[l]=n[u]+1;let f=u+1;n[f]=l,o=Math.max(f,o)}let i=[],s=[],c=e.length-1;for(let l=n[o]+1;l!=0;l=r[l-1]){for(i.push(e[l-1]);c>=l;c--)s.push(e[c]);c--}for(;c>=0;c--)s.push(e[c]);i.reverse(),s.sort((l,a)=>l.claim_order-a.claim_order);for(let l=0,a=0;l=i[a].claim_order;)a++;let u=at.removeEventListener(e,n,r)}function m(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function ie(t){return t.dataset.svelteH}function j(t){return Array.from(t.childNodes)}function Tr(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function Ze(t,e,n,r,o=!1){Tr(t);let i=(()=>{for(let s=t.claim_info.last_index;s=0;s--){let c=t[s];if(e(c)){let l=n(c);return l===void 0?t.splice(s,1):t[s]=l,o?l===void 0&&t.claim_info.last_index--:t.claim_info.last_index=s,c}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function Ir(t,e,n,r){return Ze(t,o=>o.nodeName===e,o=>{let i=[];for(let s=0;so.removeAttribute(s))},()=>r(e))}function F(t,e,n){return Ir(t,e,n,v)}function yt(t,e){return Ze(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>Z(e),!0)}function R(t){return yt(t," ")}function qt(t,e){e=""+e,t.data!==e&&(t.data=e)}function se(t,e,n){t.classList.toggle(e,!!n)}function Lt(t,e,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(t,{detail:e,bubbles:n,cancelable:r})}function tn(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var Nt=new Map,Rt=0;function Dr(t){let e=5381,n=t.length;for(;n--;)e=(e<<5)-e^t.charCodeAt(n);return e>>>0}function Pr(t,e){let n={stylesheet:Ye(e),rules:{}};return Nt.set(t,n),n}function Bt(t,e,n,r,o,i,s,c=0){let l=16.666/r,a=`{ +`;for(let x=0;x<=1;x+=l){let S=e+(n-e)*i(x);a+=x*100+`%{${s(S,1-S)}} +`}let u=a+`100% {${s(n,1-n)}} +}`,f=`__svelte_${Dr(u)}_${c}`,g=Dt(t),{stylesheet:d,rules:p}=Nt.get(g)||Pr(g,t);p[f]||(p[f]=!0,d.insertRule(`@keyframes ${f} ${u}`,d.cssRules.length));let y=t.style.animation||"";return t.style.animation=`${y?`${y}, `:""}${f} ${r}ms linear ${o}ms 1 both`,Rt+=1,f}function ae(t,e){let n=(t.style.animation||"").split(", "),r=n.filter(e?i=>i.indexOf(e)<0:i=>i.indexOf("__svelte")===-1),o=n.length-r.length;o&&(t.style.animation=r.join(", "),Rt-=o,Rt||qr())}function qr(){bt(()=>{Rt||(Nt.forEach(t=>{let{ownerNode:e}=t.stylesheet;e&&_(e)}),Nt.clear())})}var it;function H(t){it=t}var tt=[];var en=[],at=[],nn=[],Lr=Promise.resolve(),le=!1;function rn(){le||(le=!0,Lr.then(zt))}function B(t){at.push(t)}var ce=new Set,st=0;function zt(){if(st!==0)return;let t=it;do{try{for(;stt.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),at=e}var vt;function Rr(){return vt||(vt=Promise.resolve(),vt.then(()=>{vt=null})),vt}function ue(t,e,n){t.dispatchEvent(Lt(`${e?"intro":"outro"}${n}`))}var Ht=new Set,W;function xt(){W={r:0,c:[],p:W}}function $t(){W.r||D(W.c),W=W.p}function q(t,e){t&&t.i&&(Ht.delete(t),t.i(e))}function z(t,e,n,r){if(t&&t.o){if(Ht.has(t))return;Ht.add(t),W.c.push(()=>{Ht.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}var Br={duration:0};function Y(t,e,n,r){let i=e(t,n,{direction:"both"}),s=r?0:1,c=null,l=null,a=null,u;function f(){a&&ae(t,a)}function g(p,y){let x=p.b-s;return y*=Math.abs(x),{a:s,b:p.b,d:x,duration:y,start:p.start,end:p.start+y,group:p.group}}function d(p){let{delay:y=0,duration:x=300,easing:S=nt,tick:A=I,css:L}=i||Br,b={start:ee()+y,b:p};p||(b.group=W,W.r+=1),"inert"in t&&(p?u!==void 0&&(t.inert=u):(u=t.inert,t.inert=!0)),c||l?l=b:(L&&(f(),a=Bt(t,s,p,x,y,S,L)),p&&A(0,1),c=g(b,x),B(()=>ue(t,p,"start")),ne(C=>{if(l&&C>l.start&&(c=g(l,x),l=null,ue(t,c.b,"start"),L&&(f(),a=Bt(t,s,c.b,c.duration,0,S,i.css))),c){if(C>=c.end)A(s=c.b,1-s),ue(t,c.b,"end"),l||(c.b?f():--c.group.r||D(c.group.c)),c=null;else if(C>=c.start){let $=C-c.start;s=c.a+c.d*S($/c.duration),A(s,1-s)}}return!!(c||l)}))}return{run(p){Q(i)?Rr().then(()=>{i=i({direction:p?"in":"out"}),d(p)}):d(p)},end(){f(),c=l=null}}}function V(t){return t?.length!==void 0?t:Array.from(t)}var zr=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Hr=new Set([...zr]);function de(t){t&&t.c()}function pe(t,e){t&&t.l(e)}function Wt(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),B(()=>{let i=t.$$.on_mount.map(Zt).filter(Q);t.$$.on_destroy?t.$$.on_destroy.push(...i):D(i),t.$$.on_mount=[]}),o.forEach(B)}function Vt(t,e){let n=t.$$;n.fragment!==null&&(on(n.after_update),D(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Vr(t,e){t.$$.dirty[0]===-1&&(tt.push(t),rn(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let p=d.length?d[0]:g;return a.ctx&&o(a.ctx[f],a.ctx[f]=p)&&(!a.skip_bound&&a.bound[f]&&a.bound[f](p),u&&Vr(t,f)),g}):[],a.update(),u=!0,D(a.before_update),a.fragment=r?r(a.ctx):!1,e.target){if(e.hydrate){Ue();let f=j(e.target);a.fragment&&a.fragment.l(f),f.forEach(_)}else a.fragment&&a.fragment.c();e.intro&&q(t.$$.fragment),Wt(t,e.target,e.anchor),Je(),zt()}H(l)}var Gr;typeof HTMLElement=="function"&&(Gr=class extends HTMLElement{constructor(e,n,r){super();M(this,"$$ctor");M(this,"$$s");M(this,"$$c");M(this,"$$cn",!1);M(this,"$$d",{});M(this,"$$r",!1);M(this,"$$p_d",{});M(this,"$$l",{});M(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let s;return{c:function(){s=v("slot"),i!=="default"&&m(s,"name",i)},m:function(a,u){oe(a,s,u)},d:function(a){a&&_(s)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=tn(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let s=this.$$g_p(i.name);s in this.$$d||(this.$$d[s]=fe(s,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let s=fe(i,this.$$d[i],this.$$p_d,"toAttribute");s==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,s)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let s of this.$$l[i]){let c=this.$$c.$on(i,s);this.$$l_u.set(s,c)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=fe(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function fe(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var G=class{constructor(){M(this,"$$");M(this,"$$set")}$destroy(){Vt(this,1),this.$destroy=I}$on(e,n){if(!Q(n))return I;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!We(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var sn="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(sn);function lt(t,{delay:e=0,duration:n=400,easing:r=nt}={}){let o=+getComputedStyle(t).opacity;return{delay:e,duration:n,easing:r,css:i=>`opacity: ${i*o}`}}var ut=[];function ft(t,e=I){let n,r=new Set;function o(c){if(J(t,c)&&(t=c,n)){let l=!ut.length;for(let a of r)a[1](),ut.push(a,t);if(l){for(let a=0;a{r.delete(a),r.size===0&&n&&(n(),n=null)}}return{set:o,update:i,subscribe:s}}function an(t){let e,n,r;return{c(){e=v("div"),this.h()},l(o){e=F(o,"DIV",{class:!0,"data-test-id":!0}),j(e).forEach(_),this.h()},h(){m(e,"class","bg-black/50 absolute inset-0 z-30"),m(e,"data-test-id","backdrop")},m(o,i){O(o,e,i),r=!0},i(o){r||(o&&B(()=>{r&&(n||(n=Y(e,lt,{},!0)),n.run(1))}),r=!0)},o(o){o&&(n||(n=Y(e,lt,{},!1)),n.run(0)),r=!1},d(o){o&&_(e),o&&n&&n.end()}}}function Ur(t){let e,n=t[0]&&an(t);return{c(){n&&n.c(),e=K()},l(r){n&&n.l(r),e=K()},m(r,o){n&&n.m(r,o),O(r,e,o)},p(r,[o]){r[0]?n?o&1&&q(n,1):(n=an(r),n.c(),q(n,1),n.m(e.parentNode,e)):n&&(xt(),z(n,1,1,()=>{n=null}),$t())},i(r){q(n)},o(r){z(n)},d(r){r&&_(e),n&&n.d(r)}}}var Gt=ft(!1);function Jr(t,e,n){let r,o=I,i=()=>(o(),o=At(Gt,s=>n(0,r=s)),Gt);return gt(t,Gt,s=>n(0,r=s)),t.$$.on_destroy.push(()=>o()),[r]}var he=class extends G{constructor(e){super(),ct(this,e,Jr,Ur,J,{})}},me=he;var xe={};kt(xe,{default:()=>ve});function ge(t,{delay:e=0,duration:n=300,x:r=0,y:o=0}){return{delay:e,duration:n,css:i=>`transform: translate(${r*i}px, ${o*i}px)`}}var be=ft(null);var Ut=ft(null);function Kr(t){Xe(t,"svelte-1q6nykn","#left-sidebar.svelte-1q6nykn{z-index:1000}#component-previews.svelte-1q6nykn,#backdrop.svelte-1q6nykn{z-index:999}")}function cn(t,e,n){let r=t.slice();return r[17]=e[n],r}function ln(t,e,n){let r=t.slice();return r[20]=e[n],r}function un(t,e,n){let r=t.slice();return r[23]=e[n],r}function fn(t){let e,n,r=t[4][t[23].name]+"",o,i,s,c;function l(){return t[13](t[23])}return{c(){e=v("li"),n=v("div"),o=Z(r),i=N(),this.h()},l(a){e=F(a,"LI",{class:!0,"data-test-id":!0});var u=j(e);n=F(u,"DIV",{class:!0});var f=j(n);o=yt(f,r),f.forEach(_),i=R(u),u.forEach(_),this.h()},h(){m(n,"class","pl-2"),m(e,"class","pb-1"),m(e,"data-test-id","nav-item")},m(a,u){O(a,e,u),E(e,n),E(n,o),E(e,i),s||(c=[X(e,"mouseenter",l),X(e,"mouseleave",t[5])],s=!0)},p(a,u){t=a,u&8&&r!==(r=t[4][t[23].name]+"")&&qt(o,r)},d(a){a&&_(e),s=!1,D(c)}}}function dn(t){let e,n,r=t[20].name+"",o,i,s,c=V(t[20].items),l=[];for(let a=0;a{r&&(n||(n=Y(e,lt,{duration:300},!0)),n.run(1))}),r=!0)},o(o){o&&(n||(n=Y(e,lt,{duration:300},!1)),n.run(0)),r=!1},d(o){o&&_(e),o&&n&&n.end()}}}function hn(t){let e,n=V(t[2]),r=[];for(let o=0;o{k=null}),$t()),(!A||P&1)&&f!==(f=h[4][h[0]?.name]+"")&&qt(g,f),h[2]?T?T.p(h,P):(T=hn(h),T.c(),T.m(a,null)):T&&(T.d(1),T=null),(!A||P&2)&&se(a,"translate-x-96",h[1])},i(h){A||(q(k),h&&B(()=>{A&&(S||(S=Y(a,ge,{x:384},!0)),S.run(1))}),A=!0)},o(h){z(k),h&&(S||(S=Y(a,ge,{x:384},!1)),S.run(0)),A=!1},d(h){h&&(_(e),_(c),_(l),_(a)),Pt($,h),k&&k.d(h),T&&T.d(),h&&S&&S.end(),L=!1,D(b)}}}function Yr(t,e,n){let r,o,i,s,c,l;gt(t,Ut,b=>n(16,c=b)),gt(t,be,b=>n(0,l=b));let{components:a}=e,u={nav:"Navs",header:"Headers",sign_in:"Sign ins",sign_up:"Sign ups",stats:"Stats",footer:"Footers",basic:"Basics",other:"Other"},f=!1,g;function d(){g=setTimeout(()=>{n(1,f=!1)},400)}function p(){clearTimeout(g)}function y(b){c||(clearTimeout(g),Tt(be,l=b,l),n(1,f=!0))}function x(b,C){setTimeout(()=>{Tt(Ut,c=b,c),n(1,f=!1)},100)}function S(){Tt(Ut,c=null,c)}let A=b=>y(b),L=(b,C)=>x(b,C);return t.$$set=b=>{"components"in b&&n(10,a=b.components)},t.$$.update=()=>{if(t.$$.dirty&1024){t:n(12,o=a)}if(t.$$.dirty&4096){t:n(3,r=[{name:"Base",items:Array.from(new Set(o.map(b=>b.category))).map(b=>({id:b,name:b}))}])}if(t.$$.dirty&4096){t:n(11,i=(o||[]).reduce((b,C)=>{var $;return b[$=C.category]||(b[$]=[]),b[C.category].push(C),b},{}))}if(t.$$.dirty&2049){t:n(2,s=l?i[l.id]:[])}},[l,f,s,r,u,d,p,y,x,S,a,i,o,A,L]}var ye=class extends G{constructor(e){super(),ct(this,e,Yr,Xr,J,{components:10},Kr)}},ve=ye;var we={};kt(we,{default:()=>to});function Qr(t){let e,n,r,o,i;return e=new me({}),o=new ve({props:{components:t[0]}}),{c(){de(e.$$.fragment),n=N(),r=v("div"),de(o.$$.fragment),this.h()},l(s){pe(e.$$.fragment,s),n=R(s),r=F(s,"DIV",{class:!0,"data-test-id":!0});var c=j(r);pe(o.$$.fragment,c),c.forEach(_),this.h()},h(){m(r,"class","flex min-h-screen bg-gray-100"),m(r,"data-test-id","app-container")},m(s,c){Wt(e,s,c),O(s,n,c),O(s,r,c),Wt(o,r,null),i=!0},p(s,[c]){let l={};c&1&&(l.components=s[0]),o.$set(l)},i(s){i||(q(e.$$.fragment,s),q(o.$$.fragment,s),i=!0)},o(s){z(e.$$.fragment,s),z(o.$$.fragment,s),i=!1},d(s){s&&(_(n),_(r)),Vt(e,s),Vt(o)}}}function Zr(t,e,n){let{components:r}=e,{page:o}=e;return t.$$set=i=>{"components"in i&&n(0,r=i.components),"page"in i&&n(1,o=i.page)},[r,o]}var $e=class extends G{constructor(e){super(),ct(this,e,Zr,Qr,J,{components:0,page:1})}},to=$e;var eo=[_e,xe,we],no=eo,ro=["../svelte/components/Backdrop.svelte","../svelte/components/ComponentsSidebar.svelte","../svelte/components/UiBuilder.svelte"];var _n={};_n.CodeEditorHook=Ne;Jt.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>Jt.default.show(300));window.addEventListener("phx:page-loading-stop",t=>Jt.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var oo=document.querySelector("html").getAttribute("phx-socket")||"/live",io=document.querySelector("meta[name='csrf-token']").getAttribute("content"),gn=new LiveView.LiveSocket(oo,Phoenix.Socket,{hooks:{...He(ke),..._n},params:{_csrf_token:io}});gn.connect();window.liveSocket=gn;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-bf2cf539427fe880c91689bdcbb4563d.js.gz b/priv/static/beacon_live_admin-bf2cf539427fe880c91689bdcbb4563d.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..bec1970f45f014172119117adc4e3ce648a3c530 GIT binary patch literal 15246 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 UdPOy$z^!loH+!40NkXCk0J+wh>Hq)$ literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin-c8e327f5821dc54cae0b4da07dd5825b.js b/priv/static/beacon_live_admin-c8e327f5821dc54cae0b4da07dd5825b.js new file mode 100644 index 00000000..9deeee4d --- /dev/null +++ b/priv/static/beacon_live_admin-c8e327f5821dc54cae0b4da07dd5825b.js @@ -0,0 +1,20 @@ +var BeaconLiveAdmin=(()=>{var Te=Object.create;var tt=Object.defineProperty;var Me=Object.getOwnPropertyDescriptor;var De=Object.getOwnPropertyNames;var Pe=Object.getPrototypeOf,Le=Object.prototype.hasOwnProperty;var Ie=(t,e,n)=>e in t?tt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var Ne=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),qt=(t,e)=>{for(var n in e)tt(t,n,{get:e[n],enumerable:!0})},Re=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of De(e))!Le.call(t,o)&&o!==n&&tt(t,o,{get:()=>e[o],enumerable:!(r=Me(e,o))||r.enumerable});return t};var qe=(t,e,n)=>(n=t!=null?Te(Pe(t)):{},Re(e||!t||!t.__esModule?tt(n,"default",{value:t,enumerable:!0}):n,t));var y=(t,e,n)=>(Ie(t,typeof e!="symbol"?e+"":e,n),n);var zt=Ne((Bt,et)=>{(function(t,e){"use strict";(function(){for(var u=0,f=["ms","moz","webkit","o"],_=0;_h.show(),u)}else o=!0,a!==null&&t.cancelAnimationFrame(a),n||d(),n.style.opacity=1,n.style.display="block",h.progress(0),s.autoRun&&function f(){i=t.requestAnimationFrame(f),h.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(u){return typeof u>"u"||(typeof u=="string"&&(u=(u.indexOf("+")>=0||u.indexOf("-")>=0?r:0)+parseFloat(u)),r=u>1?1:u,p()),r},hide:function(){clearTimeout(l),l=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function u(){if(h.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",a=null;return}a=t.requestAnimationFrame(u)}())}};typeof et=="object"&&typeof et.exports=="object"?et.exports=h:typeof define=="function"&&define.amd?define(function(){return h}):this.topbar=h}).call(Bt,window,document)});var bt=qe(zt());function Be(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Ht(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Wt(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function He(t,e){if(t==null)return{};var n=ze(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function We(t,e){return Ve(t)||Ge(t,e)||Ue(t,e)||Je()}function Ve(t){if(Array.isArray(t))return t}function Ge(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var a=t[Symbol.iterator](),l;!(r=(l=a.next()).done)&&(n.push(l.value),!(e&&n.length===e));r=!0);}catch(c){o=!0,i=c}finally{try{!r&&a.return!=null&&a.return()}finally{if(o)throw i}}return n}}function Ue(t,e){if(t){if(typeof t=="string")return Vt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Vt(t,e)}}function Vt(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var a=arguments.length,l=new Array(a),c=0;c1&&arguments[1]!==void 0?arguments[1]:{};nt.initial(t),nt.handler(e);var n={current:t},r=V(ln)(n,e),o=V(cn)(n),i=V(nt.changes)(t),a=V(an)(n);function l(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(p){return p};return nt.selector(s),s(n.current)}function c(s){Xe(r,o,i,a)(s)}return[l,c]}function an(t,e){return G(e)?e(t.current):e}function cn(t,e){return t.current=Ut(Ut({},t.current),e),e}function ln(t,e,n){return G(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var un={create:sn},fn=un,dn={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},pn=dn;function hn(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var a=arguments.length,l=new Array(a),c=0;c[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],Nn={base:"vs-dark",inherit:!1,rules:In(xt),colors:{"editor.background":xt.background,"editor.foreground":xt.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},Rn=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,Kt.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),Kt.init().then(t=>{t.editor.defineTheme("default",Nn);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},qn=Rn,te={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new qn(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function Bn(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function J(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function ee(t){t.parentNode?.removeChild(t)}function ne(t,e,n){t.insertBefore(e,n||null)}function re(){}function zn(t){let e={};for(let n in J(t,"data-slots")){let r=()=>({getElement(){let o=J(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){ee(this.savedElement),this.savedElement=this.getElement(),ne(this.savedTarget,this.savedElement,this.savedAnchor)},c:re,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),ne(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&ee(this.savedElement)},l:re});e[n]=[r]}return e}function Hn(t){let e=J(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function it(t){return{...J(t,"data-props"),...Hn(t),live:t,$$slots:zn(t),$$scope:{}}}function Wn(t){return t.$$.ctx.find(e=>e?.default)}function oe(t){return t=Bn(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(J(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(it(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(it(this)),!1);this._instance=new r({target:this.el,props:it(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(it(this));let n=Wn(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var Rt={};qt(Rt,{default:()=>_r,filenames:()=>gr});var Nt={};qt(Nt,{default:()=>hr});function j(){}var $t=t=>t;function wt(t){return t()}function st(){return Object.create(null)}function k(t){t.forEach(wt)}function K(t){return typeof t=="function"}function ie(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}function se(t){return Object.keys(t).length===0}var ae=typeof window<"u",kt=ae?()=>window.performance.now():()=>Date.now(),X=ae?t=>requestAnimationFrame(t):j;var L=new Set;function ce(t){L.forEach(e=>{e.c(t)||(L.delete(e),e.f())}),L.size!==0&&X(ce)}function Et(t){let e;return L.size===0&&X(ce),{promise:new Promise(n=>{L.add(e={c:t,f:n})}),abort(){L.delete(e)}}}var Ft=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var I=class{constructor(e){y(this,"_listeners","WeakMap"in Ft?new WeakMap:void 0);y(this,"_observer");y(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)I.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};I.entries="WeakMap"in Ft?new WeakMap:void 0;var at=!1;function le(){at=!0}function ue(){at=!1}function Gn(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function Un(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let c=[];for(let s=0;s0&&e[n[o]].claim_order<=s?o+1:Gn(1,o,h=>e[n[h]].claim_order,s))-1;r[c]=n[p]+1;let d=p+1;n[d]=c,o=Math.max(d,o)}let i=[],a=[],l=e.length-1;for(let c=n[o]+1;c!=0;c=r[c-1]){for(i.push(e[c-1]);l>=c;l--)a.push(e[l]);l--}for(;l>=0;l--)a.push(e[l]);i.reverse(),a.sort((c,s)=>c.claim_order-s.claim_order);for(let c=0,s=0;c=i[s].claim_order;)s++;let p=st.removeEventListener(e,n,r)}function b(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function me(t){return t.dataset.svelteH}function E(t){return Array.from(t.childNodes)}function Jn(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function _e(t,e,n,r,o=!1){Jn(t);let i=(()=>{for(let a=t.claim_info.last_index;a=0;a--){let l=t[a];if(e(l)){let c=n(l);return c===void 0?t.splice(a,1):t[a]=c,o?c===void 0&&t.claim_info.last_index--:t.claim_info.last_index=a,l}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function Kn(t,e,n,r){return _e(t,o=>o.nodeName===e,o=>{let i=[];for(let a=0;ao.removeAttribute(a))},()=>r(e))}function F(t,e,n){return Kn(t,e,n,v)}function ut(t,e){return _e(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>N(e),!0)}function q(t){return ut(t," ")}function ft(t,e,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(t,{detail:e,bubbles:n,cancelable:r})}function ge(t,e){let n=[],r=0;for(let o of e.childNodes)if(o.nodeType===8){let i=o.textContent.trim();i===`HEAD_${t}_END`?(r-=1,n.push(o)):i===`HEAD_${t}_START`&&(r+=1,n.push(o))}else r>0&&n.push(o);return n}function be(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var dt=new Map,pt=0;function Xn(t){let e=5381,n=t.length;for(;n--;)e=(e<<5)-e^t.charCodeAt(n);return e>>>0}function Yn(t,e){let n={stylesheet:pe(e),rules:{}};return dt.set(t,n),n}function ht(t,e,n,r,o,i,a,l=0){let c=16.666/r,s=`{ +`;for(let m=0;m<=1;m+=c){let $=e+(n-e)*i(m);s+=m*100+`%{${a($,1-$)}} +`}let p=s+`100% {${a(n,1-n)}} +}`,d=`__svelte_${Xn(p)}_${l}`,h=ct(t),{stylesheet:u,rules:f}=dt.get(h)||Yn(h,t);f[d]||(f[d]=!0,u.insertRule(`@keyframes ${d} ${p}`,u.cssRules.length));let _=t.style.animation||"";return t.style.animation=`${_?`${_}, `:""}${d} ${r}ms linear ${o}ms 1 both`,pt+=1,d}function Ct(t,e){let n=(t.style.animation||"").split(", "),r=n.filter(e?i=>i.indexOf(e)<0:i=>i.indexOf("__svelte")===-1),o=n.length-r.length;o&&(t.style.animation=r.join(", "),pt-=o,pt||Qn())}function Qn(){X(()=>{pt||(dt.forEach(t=>{let{ownerNode:e}=t.stylesheet;e&&g(e)}),dt.clear())})}var B;function A(t){B=t}var D=[];var ye=[],H=[],ve=[],Zn=Promise.resolve(),Tt=!1;function xe(){Tt||(Tt=!0,Zn.then(mt))}function M(t){H.push(t)}var At=new Set,z=0;function mt(){if(z!==0)return;let t=B;do{try{for(;zt.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),H=e}var Y;function er(){return Y||(Y=Promise.resolve(),Y.then(()=>{Y=null})),Y}function Mt(t,e,n){t.dispatchEvent(ft(`${e?"intro":"outro"}${n}`))}var _t=new Set,Dt;function W(t,e){t&&t.i&&(_t.delete(t),t.i(e))}function gt(t,e,n,r){if(t&&t.o){if(_t.has(t))return;_t.add(t),Dt.c.push(()=>{_t.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}var nr={duration:0};function Pt(t,e,n,r){let i=e(t,n,{direction:"both"}),a=r?0:1,l=null,c=null,s=null,p;function d(){s&&Ct(t,s)}function h(f,_){let m=f.b-a;return _*=Math.abs(m),{a,b:f.b,d:m,duration:_,start:f.start,end:f.start+_,group:f.group}}function u(f){let{delay:_=0,duration:m=300,easing:$=$t,tick:w=j,css:O}=i||nr,S={start:kt()+_,b:f};f||(S.group=Dt,Dt.r+=1),"inert"in t&&(f?p!==void 0&&(t.inert=p):(p=t.inert,t.inert=!0)),l||c?c=S:(O&&(d(),s=ht(t,a,f,m,_,$,O)),f&&w(0,1),l=h(S,m),M(()=>Mt(t,f,"start")),Et(Z=>{if(c&&Z>c.start&&(l=h(c,m),c=null,Mt(t,l.b,"start"),O&&(d(),s=ht(t,a,l.b,l.duration,0,$,i.css))),l){if(Z>=l.end)w(a=l.b,1-a),Mt(t,l.b,"end"),c||(l.b?d():--l.group.r||k(l.group.c)),l=null;else if(Z>=l.start){let Ae=Z-l.start;a=l.a+l.d*$(Ae/l.duration),w(a,1-a)}}return!!(l||c)}))}return{run(f){K(i)?er().then(()=>{i=i({direction:f?"in":"out"}),u(f)}):u(f)},end(){d(),l=c=null}}}function P(t){return t?.length!==void 0?t:Array.from(t)}var rr=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],or=new Set([...rr]);function sr(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),M(()=>{let i=t.$$.on_mount.map(wt).filter(K);t.$$.on_destroy?t.$$.on_destroy.push(...i):k(i),t.$$.on_mount=[]}),o.forEach(M)}function ar(t,e){let n=t.$$;n.fragment!==null&&($e(n.after_update),k(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function cr(t,e){t.$$.dirty[0]===-1&&(D.push(t),xe(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let f=u.length?u[0]:h;return s.ctx&&o(s.ctx[d],s.ctx[d]=f)&&(!s.skip_bound&&s.bound[d]&&s.bound[d](f),p&&cr(t,d)),h}):[],s.update(),p=!0,k(s.before_update),s.fragment=r?r(s.ctx):!1,e.target){if(e.hydrate){le();let d=E(e.target);s.fragment&&s.fragment.l(d),d.forEach(g)}else s.fragment&&s.fragment.c();e.intro&&W(t.$$.fragment),sr(t,e.target,e.anchor),ue(),mt()}A(c)}var lr;typeof HTMLElement=="function"&&(lr=class extends HTMLElement{constructor(e,n,r){super();y(this,"$$ctor");y(this,"$$s");y(this,"$$c");y(this,"$$cn",!1);y(this,"$$d",{});y(this,"$$r",!1);y(this,"$$p_d",{});y(this,"$$l",{});y(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let a;return{c:function(){a=v("slot"),i!=="default"&&b(a,"name",i)},m:function(s,p){Ot(s,a,p)},d:function(s){s&&g(a)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=be(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let a=this.$$g_p(i.name);a in this.$$d||(this.$$d[a]=Lt(a,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let a=Lt(i,this.$$d[i],this.$$p_d,"toAttribute");a==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,a)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let a of this.$$l[i]){let l=this.$$c.$on(i,a);this.$$l_u.set(a,l)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=Lt(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function Lt(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var Q=class{constructor(){y(this,"$$");y(this,"$$set")}$destroy(){ar(this,1),this.$destroy=j}$on(e,n){if(!K(n))return j;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!se(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var ke="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(ke);function ur(t){de(t,"svelte-1q6nykn","#left-sidebar.svelte-1q6nykn{z-index:1000}#backdrop.svelte-1q6nykn{z-index:999}")}function Ee(t,e,n){let r=t.slice();return r[2]=e[n],r}function Fe(t,e,n){let r=t.slice();return r[5]=e[n],r}function Oe(t){let e,n,r=sectionTitles[t[5].name]+"",o,i,a,l;function c(){return t[1](t[5])}return{c(){e=v("li"),n=v("div"),o=N(r),i=R(),this.h()},l(s){e=F(s,"LI",{class:!0,"data-test-id":!0});var p=E(e);n=F(p,"DIV",{class:!0});var d=E(n);o=ut(d,r),d.forEach(g),i=q(p),p.forEach(g),this.h()},h(){b(n,"class","pl-2"),b(e,"class","pb-1"),b(e,"data-test-id","nav-item")},m(s,p){C(s,e,p),x(e,n),x(n,o),x(e,i),a||(l=[lt(e,"mouseenter",c),lt(e,"mouseleave",collapseCategoryMenu)],a=!0)},p(s,p){t=s},d(s){s&&g(e),a=!1,k(l)}}}function Se(t){let e,n,r=t[2].name+"",o,i,a,l=P(t[2].items),c=[];for(let s=0;s{r&&(n||(n=Pt(e,fade,{duration:300},!0)),n.run(1))}),r=!0)},o(o){o&&(n||(n=Pt(e,fade,{duration:300},!1)),n.run(0)),r=!1},d(o){o&&g(e),o&&n&&n.end()}}}function dr(t){let e,n,r,o,i,a,l='Beacon CMS',c,s,p,d=P(t[0].menuCategories),h=[];for(let f=0;fvoid 0]}var It=class extends Q{constructor(e){super(),we(this,e,pr,dr,ie,{},ur)}},hr=It;var mr=[Nt],_r=mr,gr=["../svelte/components/UiBuilder.svelte"];var je={};je.CodeEditorHook=te;bt.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>bt.default.show(300));window.addEventListener("phx:page-loading-stop",t=>bt.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var br=document.querySelector("html").getAttribute("phx-socket")||"/live",yr=document.querySelector("meta[name='csrf-token']").getAttribute("content"),Ce=new LiveView.LiveSocket(br,Phoenix.Socket,{hooks:{...oe(Rt),...je},params:{_csrf_token:yr}});Ce.connect();window.liveSocket=Ce;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-c8e327f5821dc54cae0b4da07dd5825b.js.gz b/priv/static/beacon_live_admin-c8e327f5821dc54cae0b4da07dd5825b.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..15871f0ec63ca898c8ee0d12dd2cc3135a65c7a4 GIT binary patch literal 13121 zcmV-HGrr6piwFP!000006YYI#ciXnI==c5#ne|r58e$};$xfxv+KH1iY4hlglfJZk zWQv3=#uUhqkROrs-_OhdAVEn^(!0*SXRW(#S89=X4hDmHVE|r+Me8vSqfER^F8QN) zo`}G8z2Inh2|4e0@MiLXN79c99!fsIL@7;T%%_RqzZO}}3wcACuc{j7T)w#yCi4j| zqaw*=R#34gw-kFF&Ur~Cezi+Lw#?*B&fiSg%PJ!`ss1c1twyN+3m&+VaVB6ayp@QS z97;(kOD-03UWAjB_xHLChCWTs7uEY!kx27=8Kw)~7i+ICNBlGp)beZ9GPH|$a`|c{ zU6%(-ew}B9Ec?s#+Vk}b6l2`HcF^zQf90<9Jiru;3K6&`@qd3j=H;s_UZfo7N-zfqEL^10VM{d=auY3m!Jr}P?Z)ct z1+>o$9`*vKyqQn3)EV*v$LV7k_(zpK$>242-N#Td&EYr0>Q6ZPk@2A9xms1$sC^8o8VO_XZ}3AcDt;1zvEtY7M{mW0_m5kP_~dZ z*5~fk!5df#Zz@V#1dzf`*4`~hATW1gr-ss7Mkx;q)8E{K)#ka1K47uIVn~Q^S*U(e z^%K=iEZCHdz2(9WqAMM|Ie!a;oUA|VJ~-osPcP$ zUB3tQA7B=gQ~5B6Sr}(mkJClb?{)PX0j?`i(fW^n9~zC)uq;tF^bz%ImIoG92>&XH zSl1gEt}#ZQPk^Zz^QK59^n4<-+#NG36V@og zmO{%kw2ct~a1(x>h+knT!J1n5^X!tp%b@FKxjToLiLF2;t-FXPsat%n;q!Ku2i})m z@Dq8H!iuThU08#0V+sPU5%4tSbE05abeCc2con`&Yy<|9XJvxbKsqJYJa(W}7&Bln zei1x*`_BP?K8@Q?#;5^)ZkcHw_|A!2?V^t$k058mUX%+v5Da6~4!14F1NrQH_l z1s5Ko*R?WHC{MEZ#t-wHi}-k!q_GQ9Ap*AV6ueA6L1Q_LauzI=e$cNMd(Hi)IFAdj z+|WPVDTq_I9KoVpz#k83KD%nP0MdIe^Wd*~PCdoX25De%J`}$*AM4`8dTXA7G|B>4 z`XS0{SP3AmcXBs31PQlV#ZXTp-p}$dO5{z@t5Pc5P0}p7aM%nLs&g29>2{GCG^=U1 z4dAUQOm!06!uMg+b`#ElbKrOHeNUv8!w`BMdMrN{(k(o8=y_|TBU7P)9-~Jn3BEXT z77lW9{R)Z=%4Biw0GbzpyMTocRPkntoq9(>ceS#TI+Qdl`d#lJ4~vpNOS4eAC~1md zanu|3`U{r3_zLr##Jq12c0)3xp5gr&bPN;GW67SLhg-yqn|NA!c&tL>!lg-XAj|I| zm_2A{W5PNCU~zL6A7Y}1tZ!o~)iO|mO3TP~cT+i|h)$3VOA{zh>6u`UEOF=8Uf@#dISe!)*WGf(; ziJwel@R7TpBtSo?(E6Bb1<*9C)&8Bvin0W>e$T$zBB(3@Cf8NR&!y59NntR?$pybD zLCGD!MDMh8PDmv!Rjp#THKfa6Gr-S4@h<#nl1fw}3>LF$v|lj0NXu_%>&P4OML9zz znBKT(SFCkgq8{AuFu0oI@t`;04}mk&bd*}J9q@w#GyEzK(4-Z9I|+3D0sqJ05OAgd zMz*`x^?c~zDd<1-$O>;sGg>e)Du9W4{V$BL+&R+;2mG-wRRt)#z75lEfNmqD;!7P6 zc2TjcETjs-pSYqPAQY*%x)ugYWkrbq%%oz2tWYT>bs_-+BY9YuiAZ1~vY;3xr)rPhNnG< zLJwlg`p1y?pN?onqn}?rK?Wt-}F~roP zq6lyNq@-W8YPVX^l>S4uBsi$rD^= zN!;oVWN}k1Phj<~ATi2WkzKWtbv+w3 zvff)nsQxO1$y(|g6#u69?x4YUYqF5p36<$4s zbV0VbqE^72c*q9=*V{q10eVujlWK$%vc|}Ay)9}I5v2=Yg{~1W7K8ee z*LC-rY(m3r@e~X3mLRMwth(gCn`+D#wn&V6#4Wh~YPJAFM78Ig>qN6qoO5LRj>l|( zImpy(ZrOAd)7>L*1dw{WUA6Em;b{y_@VZYaaDYFN$_3?0o^q77s;{~jw~7(!sWdbi zr(73ilwN6v#L@|+O$e*;?fnGL8a&-lx!J9tZY6b=h(sn~`l3Wfc>;^bbZO^mP-up! zWt~orM$w>xLT@qDa#hJxlq;(hF&EtW@YYD$85jXu0Q61kEfA~{q+Ho53~bB-XtP{7 z%NA*jk~b7u&{pL&pu4Mx@1(AU!v3bJYt2L7;Br?lAoW3vSG3D)wD%n#$d*a5YgZLY zhuQSeuc&2bX@}Kh+jn3cTqZG(TSOPQ2c~k%-Po|`wf|irTO|+YW$Pwew5~!yYK|&_ z{b3=}FlJn1>uQ!nGn@{QLDif`2^6Zz7}Pqd^mk0pG+;oq7UDu=SAbxog;p3vphi*6 zGb-FkGg!E1tvrk_!gKDd*}LF3w-BD2;hvTZmU>wIzj%eLz7z)4eJ;#Q_k~#3zLSzD zU5WNhE_&1hO}=83JrL*G^cdQyDA5JF;Hh;IQPS7lx|Nc?gaH*uU=nTG-`o^H7idvt z@Dkw*iiqD_sH;cfVN)R_g_K)^oVp6&avR{T4RCiSz}?eYgya>^%h#1zjC)WDe{Sh9 z&}D>4nT4CN_}fYgwsJ0lvDM1N z#xTgnpK-H?Or?fwJQpMz>s&1xrN1cBa_HUwKA1%WD&1GJ{WvW78jY-)wr|KC4^kjY zxqlS`Y5sviGB0>U9&Kw`Uj7}?`iC@IJho&-MqSx|)TkC=4Ix_(>@ziX3Yf3s`TuIr z{+%=n!D_C#KeLA4KYLQYv=BcqvwPpP;J-gXY=vNrFG@&inL5zL6&l*pCe;2nROba4 z>pYAxo2pS_tEJ%aRSkF9!YS*wmaTf$`mOJL-~X<)Zmm74v?%#4mDSusZJ2$#78QR6 zsF-H}b)Ir)7UV6DE=Yc+iMVJPj&YvI*eZSYNiJMD|$TCgh->{zqgf)R``+m`|?r8_7d@<9P>mRyeYnk}|% zvf5-9yKOR*D5gm0CSa3+UAATyBDk`ab^1Sb$-JysR zme4#D3v>szR5@5nmM-$f(na=q8p&X|%#+em@Ys`pA}=W;=5`2EnfK&YJwH#zvHd zax6J@@tvCWfqI;oGTeOMJsykv z8YAO@o@FiO2fSK#`T@$gBj>Wbqs6lN@#kS8oKt4Q^%uD{Yx)85Xyi)`8fMsz7;-MX zcRfvMpmoC{(91~LC4aRLXrZKkLe^`+d+RBcIueHs)=gCcCeV=rr|`9T?! z{bRw#<8v-wQGYMAc>5QXu5 zhovY7-=Z4!E$`ls{&~+~6Lio!-`?+qQ$BUrIY?Z1eGvV47~aKK&IP>x_#nFb&mSF@ zFA7i_u*LiTd=P`8MmpWM6MnDz1GEpCO$x8~?oaMVhftb>goO9F_hWefKG@VRz(fd+ zMoXDpV6zSbDatk6mG-!1CLa)*peuc&oEb%3khYUTAvX%**tQFy{ab{QgeAnwD9ksT z->fx9hOkiv(Nvcai}{2XpKS&*_;vopfuM~4Vj;a*w+Ru zA=?C<=B+M;X5$?9hWrWO?E)iIV7!}c7Yz`T^CaCUfW%RksJ%&_!I~*VhSZm+h0pU@ zSSBTw6Otn9`c5K2wna_@d6`09Rc4ZA)J<-cx^*e}Wwt1y9qn$_kl`kYZI5WqW%xDaLJ4qA7LwCu@8_wlE=wN8&y%?x zKg`2d&((+W3q)rYg;&C)w ztCSI{J4@|C9vGBwML>bEODo)=I%%?`$UHETB%>!(@B*%$iSls|9AC0rmO-JOQGmr^ z3cB1l%3?lNz^KqkDlpE(D*!|WqtkU#(j$*6Rc3GRGp(%WSXxC;QZcK(x9Rb5-p#o7 zJG4}Fv_8WWl<4@THCOdOdsaZv`%@|g%BTjBc7SY{Rlp1=>KJsHmHZY^mU!Am2A>&; zPwEngEf)a50FNE+>)P+?VUwu&ftE@( zIA~0u&l(tMXB?0}=Wcz7=e6(#h!xaJ-xrBb(YS6!R%lh!Lr6n$z6j4b*qBwb%J@+@ zvj&G72!rjK+D~1RCn&>E^9w|}(V461zi!2Al5pi>NrIyU!?kpF$>m9eV&Dl!^DZ>= z^d_ghER4(sGJQ+2=5Hn?FD^Mo^Bq+_&NMrBbu7BccRZF<{m~&k4V|A&r_kYZI`V+q zAMV!z@i|IM!y62Hrho;{&lC^_A)l|Bi6=>{Hxo}_1jn?QqhM|faCbpGH-MCqd};mY znrh&#rUJl+3X9f9K+g7;$vVG2!(ptyjFY7{081*RPDeca=luu6&%v_DW1tq(#&QbE z8i;%pvv}m<36C=6{VM4UN56NU(v^fPUnK&@4dRy~3bvy(gQR*Hm z{^)rJcTHgR--Nk)3(Vb}FyC9FSMs9>-hw3H!E#=4bHxFFK6&%nUg|JA&@E^sQY|Mn zX9(9*Ehb=Hd=$-vXH`O0v6ZM8fz(77 zh{Ph;9M+d53cbA49lU_)z#}96Jekvu_?x26YPY%Jd8MvzGTnmhu0uZ6okN2r#wwof zGlTld;Xs|=uqjvQ@Kn<)wE1zti<=X@Mf)gCT?dbHg}}6(+U<>f32f$(QP*8Z>GlrD zIzCo1PIouj4e)_;>ew9@98XwT4PxPrvI4$T3JJb$%tC;rIjmNjnOfsnGm5RuZfJ3B z6axKWqn4#7SZ5@Jj;h_;h+D2U#a64WtZ9;R#9CPgH)}b*To3fY;t?o|rx=}N8uEc6 z3XHnbsu21Zjg5e3h^j_M;uNrzr(pzG^8GvIB~K;415*SOS!bwZN*!?Ajm_4TQ>%_t zRURzt594=X9?tE#=d~kpXt5=MCy}jSBZ|+$$;Zv?*MQNXp3ZF_t*C-cQ5ymQDIasR zWn7NuuPB7x3i&}@(F**hx!6RcIuMQnQ6y8Q8PbfW837$R$HUpi1#GapRRgzdl3N|e zadKIEjT3cp^7*@0F9WbCCvFBxU6IT|KSaH%5sj&#yUvR2n_J|_x(s-lTnV+7Zy>q?_O2O zxLqY6?!=ZSwA7!Yq}|Xaw1Kd>t`+FS*cAfBwk3F+&2x}10vdsGDzJRQTP83}E1ZRj zfyXwAtv1fy3yNfySqn$i+Fy!wD>Ci+XI?ccbjyOh75lS_2HBc!&(q50)-iEVTC?>y zsrS9kU^O2pwZ00a-v=S(;$%WHC>wh{kA1#9(tEzPtwFN{DQ1Pcl(b;_Mn5Bp>6?md zb`uvE>|-Ws7M7b6Rh9(`LBm-pX?7bdn(BYoI$>4JvsMA{OhKFOqwXo_!iHxxW#(GP z#k`fcgg#35twhaE?LQ!A9T%*UOO$Y4=o5#pO_kRhRc2VC-mt}9u>8KnJp@_jTuGbM z?W07cbT_x}we7hfKQ5G9GRn=By^?OkS78RjeZ0y*SC05b*}B3@=vo&1zLZWXzu z(b8VXJ7b!IAm|ciLNNbTTZ&X4Itzzg$ROlH#HXg;oEI?8IZ=ba1JHzQyh1{~vOll_ zpm_JmR_XOW(7e4Qsy*S>Ohg3h%L84lfMLa@V+!}SF}N}nSM{lX~3G%VpOE?SSS z2KL;__l7=g4xFp`MDjLfDw>AL8muRsOnaLsaVbmu*d)g>tGa} z+F-Ffa5MDZfeJawP8)d-gK~(NhWY8SjLqh4?2844}|XJpu#=nuzvrECICN>76S2NEH6KN*bg`K{QA^ z9WONLDW-NhYa%Ad?rvu%U|_+zA>ViCm&pIz2*wf|MfT`ArTymF2xg@Um~9}LdMvAh z#qD;uf$yUr0n)Hj1|HDOK#@&dbBM(#bZf9-=V6O@Q%FtoQ!QU*Be2Jo8F6JaDwUIt z`6`{$vQr-4yufN^WmW_}U}oMk?GJhTTi5Nt+)=r$KHQwJw~&v1ifLiNZohNYfHz1y^376VR!C)uaA^`4|YF{ zg8)}|rf(X#lVp-6;(S2xZ50_} z_|^{AxLWb;p>4T2w%bFx*@BGQfY41g?q=)QpH)aBg!;T~CB2b%7&og?unry zjsBP65WB{`-TwKe+X!pbZ@2o8PILrsr7)#_TK zeS7hDFl1WycKNrp8uZ$ATJ{0953-SGXQi@MAu4~smPM)xkisT4a&{G{o1K^m6pA#4 za?8!ik@z-ze)?X+rW+XBsau{m{1BDg?{vCaCFU{^y6j?I?=^?m|K?f? z!78EEi^iixqR%!Cp;d#rv>y{-l8M{Cs++)YL})z`|J zjX!~>7W4rKye^_Z^D0=b>+>EPJC3s2UgXv8p=h*VbAWShZ*tI`Fx{r(k=yJDL+EX! zKJYZ%G}K4!?jIyj;tUO}@%~b-$4_5BIUBk~hi;7{+Q>YwzftJq-J`ef&hTQ2gGM=p z+yc#+DsjiHLla9;Tvq2VZI;^D&I6;zM_2S}RRxxu26QBVlaC};q0L|mvs@x(stXn@ z*ZaM@5Aa|~#RbVw5S`Az?5k_cNs_W6wk!3>vDeUQ3lAcRC zXg?>1gNm|SuB(y7B#G#BydB&=lQm<_ua~R+J zVbB}Q4}wS)-VgYJD>~f!K5^$B7{S5(`(C$uaQ2Vo{xWp;S+BDXCc-yoYi;8koI&mVix?9RN^3Xn5nc*zr3 zo**6Y2k#DAXl3dxRB_M#b-{0@=(Q_b`^$I@e{$$#;YVeO1q=_g>E zDL6IVY-D2e$9RZ;)~t2bcbv8Eq*%{OJWR&XTf5Bgt=F1la&`uUgOnUws-v_g+1&|& zrx=Xuu$Dt^0&__VA7W@wb&VDG9(MbU6vrUi!E?5qo<}Dbv=Lri?Uj+vusOQI|Bxj@ zcbdyikip;8>fge(Su(yZ|4`}yX1j6iMwW`lF3FC=_15QWgJYUoymaQAE=yoBN-{v0 ziV4Ey_PAbPk8piG4kV>NLAgZ7r#SMc=lJK69{&=7c7aysB0To4>8rX%ztlSf6f?R| zM+KS9r9G-w*x~ak9uIqaB#pn9eXTXlyB{(V1tA5s3z(2YBr1DPD@Gk3) zFYAs8`|MFQx$IHH2!J6QFCMJZbF>+ZaR%D0*=k`IkUt^wXspueXumkYYuWX0FzWR1 z(rVKdYGvlx&ryYx*J#Vb$fmGUf_4QZ#VW++LJ zxYlx*BCAk*0v83+*V^mT50WI%K4L5l6jJR_jbCkd$FMeWia6!WVvaeTsa zY7VeRG=H!h?gfjCE*lIf3T&3dF#(`x9Dd7rm}6XDmf_DFno4p!?gWn%!s&=?PT!WG zN2{qUr-l$VSbnGxI(P|q7-u5Ap+|GygQIsT@X?&@a88+ySp}x-j(p!Qic>2hpe!tB z|I*00e!*CKDv zxdFJu>tEod)Q$G=7zQYvwur5-t|^)^bpWK;R0Cjb?qiUqJtWizgarY~*h=Ep&*aZ! zcFCa5RNO$IMgTC{H}4c?lLdxBS_SUCp?n8eo*0#oUDIKTstn>Qb&<7M_4u8;y;b*g z74#lH5HbjVBp0~47X z17U?}KVuU*xP@^b%uET^sZnCyk`fk-z=ODu(9pFop+Qmb9;we8^tC;#PHAHbusmSw z6rrVy0CIs9!eYilLZt$Q(9;L8dXeN~1tOjr%QD&LdV3mJ7q)_F>p|FVhi*wPp58$N zogSEFN%JR$WGT~az2$1PTr)RjGYm9a7&4#IR{&_kZGks5&5Ts07TWDhH3e2AGYC*#b+s}AGeco;p>BKNxymx$rEmaz9j<&`HbkbB~p-4rL#jsF7c!&&x z2a-43>}DfvxSrm4ed<<)2BozE>SsT7W59N``p&h|bW7<7n#N0!fiBu@Q2cNLOeTOz z3&TVgpruHmiwt-A8CpT>M{cAzdRmx!-!bshL`ycVZ+Fu|g^IL*NI;~NcF|_|h*I3j zMUFD7ivQT($6UuwC>w84^9>j=2Al>FC+Ult&ldB(+u^)1VmA#LbTfx(6e-; zKVF+9xVFxVGmL zbjlhs^Ae0zB#Q~7*hlz@h|^tVYcIV*P-rIOe4M+9a?uY$b*mty$GHEZA93&Fr354- z=4gz{fW^Wbnc+2{ppdW4Fi3x~mPIqjQ+@6R;{w##1TD-kaM<)$#RrQzHdsl%HD2zb zh^Y?Ef@O@+KJ}pMQ2>NqO)4?ss9qNoQarNX2^1)FYK;(HVXmgApBdBvE)r(7xq**r zQvFtEqeaC>OSIm=vcC%)3^({77W-qfVUL1!Q^F;UTuU2^FU2QnL-0+8Fff&itp^q|~Hbev5 zPIew=S;|9UeXnINa3(r&$kpB3ea`k^vi7ir`Y-`Bg7G9x`Y*2%by3zb0@%z=fPH!) ztI+9Jmt?7hLLJa?8gGNqg4sfK~Bsxx#P6-Pzc>MWs^ON|Xoe06nxLg_S1Ly(QSmsI@rdDdH&TM-WnUZJ zz$*Mpa#LP#YyB+9YfZ6sj;hn?eY`JjF3{Nj7C$!DDU+B_!oqK6FF$ouAO?PAZ2c`F zGzOk^Td5y^{Bdn>2S442?vwhv6ZLG24o?HRSd!7eIDqw+KW@*=uSF|2rSJ7vu7Z4kyr)6rJbWW|O7#*qCF64CQ}f0u^x zO@gx2_8GuFt6`rh*k`9cg1HU+7QroYFt$j<{3oamlM_g;z>NXixCS>?;Gzoz|N5%6 z!Et5yXc_}ilecky5h$drDMWcMsBzVB+Gu#G5Cqgw0(Hb7VWE#9b(Fg^hMNlbf)q3Z zYQuDxai$>&t*}UjVMMeyxeIvOQ5u-^zyPtXmxW8~;v9XNXt{apL{jLuy+Ec#V}Wc@ zvf^wu9cGFSvrWdtlK2*KWKZq;R(G%>ivT9)okKEbY68 zWgdbYL#zgL{J)c)J4fns=B?vbClBvnfurvj5CqFvOiZu~6bQ^#Gv0*bnMIo$PBCua zVO)g2)~ILEg68L}y#nh1ZV}r$mWa*pjq*OzOwb zdbEyZ<0j`@+W&&=Me2AP@Xog2B^H}grA52Fp!H{yxY~?tje~RU8U<-m$jK~os_!jQ zXuUVUr7&jBtEcZC!CFAcqQ8$s--;mWAKRoafRRpdtk2x()(X0fmCu1u7s#lex%01I zc2spAs%99x_RQVCMU}XMA_;QsXYSRPL1H6)QdOa4=A5cg(w9}y)1)&lvhwnuF)FN$ zxkCB+(Y?aiqVC?m{2Bzj0T3)uc;QAHlLz>*)Q9*5gHz;ss-h;phuAV*OPk^b{Kbr$2K7BYx4Es7my)3_K$Z z7TiR&n1^)34p3{nG3_qpZ>r zx2AZxRlGX9-H`=XayqFimbeFh0|UrAUCPVqysOUrA6mf2uVx@GKM%8hDRwdSOfz-c z95ET2L)$D;)X+>*e%+cUqBHBLomm9UKw}DTv=`=i2PZ7V9aJSPC@A9EZLEHb#5sl> z0eSRL;KMZ?HG&@$Fz|zJCHjffk448SNU@^hxuWAa=q31<^b!gs8ep5brqwy#JVVDT zKu?)6{026~r=X^SY<#+djT1|rQ@^UuxY4H$j|3Jz1r|Q{2H5?OV90@Oj6r3=7i9DM zAQCVgS!NSRt*Y!Ak5W}kdJxyDN`k!hcl_EeNK1G;m-HOt^OQ6gfyxWUA(0>i4Q2*1 zMqy$@7Uo60bw64*F@WAyV7f=jopnmSiWhQY1LxnHr+)R84ZBkQO4KzA78fi55x!;% z{0@4KXCuJx~K;4 zc?cvQOzNv+%vE*GPuhQb_+wmsKYrtj@#>#{*K>fG-gX6olh3aE$b9I#0Esy7sOS!v9kj;X@tC@S2?JEtgGS-QH(5=}0IE;Za z^`kV&qb$F%M|if6H~7;|gP+9f4(4}c*1@uqEG*(q!Arp88H~PSN?Ru+2ToNUW1YZ+ zO3v|S)S+87F2i$kdicfbU*ErThVohlRkj*hBgu-5XH|=S)sc@MgQO!yFf&O#{y zm=!q3S&m9*O8 z(mi?uu@;IF?{4hekoUv-y1ccKwhN-a+wvA@UpJ&RJLGpg`r@}Vml|%M5Wk*+U(!<4 z^Htc}1^4av+Xig+7}uWH4^v)9*Ez|G;)dZD!HU+T$gWCIbmENbPkw>rpB1v6a{}FW zs;`$9H8nS`F>{@noP%z^ak~vL8&D4k*S<<&bP1l?|I4`hR?=-jA2^8W zun6anF~(lU>Z0PC0(UizDfR@na@>kxq*WimF(1&us&DRm|NS?u?_2*u-zV6^tyeGJ z;k)`WeCyEf`oQK7yN7o>-NR1z2h1~$D?MAC literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin-e4dee7621ca22ed4a55120f827961cdb.js b/priv/static/beacon_live_admin-e4dee7621ca22ed4a55120f827961cdb.js new file mode 100644 index 00000000..ec3940c8 --- /dev/null +++ b/priv/static/beacon_live_admin-e4dee7621ca22ed4a55120f827961cdb.js @@ -0,0 +1,17 @@ +var BeaconLiveAdmin=(()=>{var _e=Object.create;var H=Object.defineProperty;var ge=Object.getOwnPropertyDescriptor;var be=Object.getOwnPropertyNames;var ye=Object.getPrototypeOf,xe=Object.prototype.hasOwnProperty;var ve=(t,e,n)=>e in t?H(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var $e=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),at=(t,e)=>{for(var n in e)H(t,n,{get:e[n],enumerable:!0})},we=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of be(e))!xe.call(t,o)&&o!==n&&H(t,o,{get:()=>e[o],enumerable:!(r=ge(e,o))||r.enumerable});return t};var Ee=(t,e,n)=>(n=t!=null?_e(ye(t)):{},we(e||!t||!t.__esModule?H(n,"default",{value:t,enumerable:!0}):n,t));var g=(t,e,n)=>(ve(t,typeof e!="symbol"?e+"":e,n),n);var Tt=$e((At,z)=>{(function(t,e){"use strict";(function(){for(var f=0,h=["ms","moz","webkit","o"],y=0;yp.show(),f)}else o=!0,c!==null&&t.cancelAnimationFrame(c),n||u(),n.style.opacity=1,n.style.display="block",p.progress(0),a.autoRun&&function h(){i=t.requestAnimationFrame(h),p.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(f){return typeof f>"u"||(typeof f=="string"&&(f=(f.indexOf("+")>=0||f.indexOf("-")>=0?r:0)+parseFloat(f)),r=f>1?1:f,d()),r},hide:function(){clearTimeout(l),l=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function f(){if(p.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",c=null;return}c=t.requestAnimationFrame(f)}())}};typeof z=="object"&&typeof z.exports=="object"?z.exports=p:typeof define=="function"&&define.amd?define(function(){return p}):this.topbar=p}).call(At,window,document)});var rt=Ee(Tt());function ke(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Mt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Lt(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function Oe(t,e){if(t==null)return{};var n=Fe(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function Se(t,e){return je(t)||Ce(t,e)||Ae(t,e)||Te()}function je(t){if(Array.isArray(t))return t}function Ce(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var c=t[Symbol.iterator](),l;!(r=(l=c.next()).done)&&(n.push(l.value),!(e&&n.length===e));r=!0);}catch(s){o=!0,i=s}finally{try{!r&&c.return!=null&&c.return()}finally{if(o)throw i}}return n}}function Ae(t,e){if(t){if(typeof t=="string")return Dt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Dt(t,e)}}function Dt(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var c=arguments.length,l=new Array(c),s=0;s1&&arguments[1]!==void 0?arguments[1]:{};W.initial(t),W.handler(e);var n={current:t},r=P(Ve)(n,e),o=P(Ge)(n),i=P(W.changes)(t),c=P(We)(n);function l(){var a=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(d){return d};return W.selector(a),a(n.current)}function s(a){Le(r,o,i,c)(a)}return[l,s]}function We(t,e){return I(e)?e(t.current):e}function Ge(t,e){return t.current=It(It({},t.current),e),e}function Ve(t,e,n){return I(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var Ue={create:ze},Je=Ue,Ke={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},Xe=Ke;function Ye(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var c=arguments.length,l=new Array(c),s=0;s[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],$n={base:"vs-dark",inherit:!1,rules:vn(ut),colors:{"editor.background":ut.background,"editor.foreground":ut.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},wn=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,Rt.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),Rt.init().then(t=>{t.editor.defineTheme("default",$n);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},En=wn,Wt={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new En(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function kn(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function R(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function Gt(t){t.parentNode?.removeChild(t)}function Vt(t,e,n){t.insertBefore(e,n||null)}function Ut(){}function Fn(t){let e={};for(let n in R(t,"data-slots")){let r=()=>({getElement(){let o=R(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){Gt(this.savedElement),this.savedElement=this.getElement(),Vt(this.savedTarget,this.savedElement,this.savedAnchor)},c:Ut,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),Vt(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&Gt(this.savedElement)},l:Ut});e[n]=[r]}return e}function On(t){let e=R(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function U(t){return{...R(t,"data-props"),...On(t),live:t,$$slots:Fn(t),$$scope:{}}}function Sn(t){return t.$$.ctx.find(e=>e?.default)}function Jt(t){return t=kn(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(R(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(U(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(U(this)),!1);this._instance=new r({target:this.el,props:U(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(U(this));let n=Sn(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var Ct={};at(Ct,{default:()=>er,filenames:()=>nr});var Ot={};at(Ot,{default:()=>Ft});function v(){}function ft(t){return t()}function J(){return Object.create(null)}function x(t){t.forEach(ft)}function K(t){return typeof t=="function"}function X(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}function Kt(t){return Object.keys(t).length===0}var dt=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var A=class{constructor(e){g(this,"_listeners","WeakMap"in dt?new WeakMap:void 0);g(this,"_observer");g(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)A.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};A.entries="WeakMap"in dt?new WeakMap:void 0;var Y=!1;function Xt(){Y=!0}function Yt(){Y=!1}function An(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function Tn(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let s=[];for(let a=0;a0&&e[n[o]].claim_order<=a?o+1:An(1,o,p=>e[n[p]].claim_order,a))-1;r[s]=n[d]+1;let u=d+1;n[u]=s,o=Math.max(u,o)}let i=[],c=[],l=e.length-1;for(let s=n[o]+1;s!=0;s=r[s-1]){for(i.push(e[s-1]);l>=s;l--)c.push(e[l]);l--}for(;l>=0;l--)c.push(e[l]);i.reverse(),c.sort((s,a)=>s.claim_order-a.claim_order);for(let s=0,a=0;s=i[a].claim_order;)a++;let d=at.removeEventListener(e,n,r)}function m(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function gt(t){return t.dataset.svelteH}function $(t){return Array.from(t.childNodes)}function Mn(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function Qt(t,e,n,r,o=!1){Mn(t);let i=(()=>{for(let c=t.claim_info.last_index;c=0;c--){let l=t[c];if(e(l)){let s=n(l);return s===void 0?t.splice(c,1):t[c]=s,o?s===void 0&&t.claim_info.last_index--:t.claim_info.last_index=c,l}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function Ln(t,e,n,r){return Qt(t,o=>o.nodeName===e,o=>{let i=[];for(let c=0;co.removeAttribute(c))},()=>r(e))}function w(t,e,n){return Ln(t,e,n,b)}function bt(t,e){return Qt(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>q(e),!0)}function yt(t){return bt(t," ")}function Zt(t,e){e=""+e,t.data!==e&&(t.data=e)}function te(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var T;function F(t){T=t}var S=[];var ne=[],L=[],re=[],qn=Promise.resolve(),vt=!1;function oe(){vt||(vt=!0,qn.then(Z))}function B(t){L.push(t)}var xt=new Set,M=0;function Z(){if(M!==0)return;let t=T;do{try{for(;Mt.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),L=e}var tt=new Set,Hn;function D(t,e){t&&t.i&&(tt.delete(t),t.i(e))}function et(t,e,n,r){if(t&&t.o){if(tt.has(t))return;tt.add(t),Hn.c.push(()=>{tt.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}function j(t){return t?.length!==void 0?t:Array.from(t)}var zn=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Wn=new Set([...zn]);function se(t){t&&t.c()}function ae(t,e){t&&t.l(e)}function wt(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),B(()=>{let i=t.$$.on_mount.map(ft).filter(K);t.$$.on_destroy?t.$$.on_destroy.push(...i):x(i),t.$$.on_mount=[]}),o.forEach(B)}function Et(t,e){let n=t.$$;n.fragment!==null&&(ie(n.after_update),x(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Vn(t,e){t.$$.dirty[0]===-1&&(S.push(t),oe(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let h=f.length?f[0]:p;return a.ctx&&o(a.ctx[u],a.ctx[u]=h)&&(!a.skip_bound&&a.bound[u]&&a.bound[u](h),d&&Vn(t,u)),p}):[],a.update(),d=!0,x(a.before_update),a.fragment=r?r(a.ctx):!1,e.target){if(e.hydrate){Xt();let u=$(e.target);a.fragment&&a.fragment.l(u),u.forEach(_)}else a.fragment&&a.fragment.c();e.intro&&D(t.$$.fragment),wt(t,e.target,e.anchor),Yt(),Z()}F(s)}var Un;typeof HTMLElement=="function"&&(Un=class extends HTMLElement{constructor(e,n,r){super();g(this,"$$ctor");g(this,"$$s");g(this,"$$c");g(this,"$$cn",!1);g(this,"$$d",{});g(this,"$$r",!1);g(this,"$$p_d",{});g(this,"$$l",{});g(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let c;return{c:function(){c=b("slot"),i!=="default"&&m(c,"name",i)},m:function(a,d){pt(a,c,d)},d:function(a){a&&_(c)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=te(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let c=this.$$g_p(i.name);c in this.$$d||(this.$$d[c]=$t(c,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let c=$t(i,this.$$d[i],this.$$p_d,"toAttribute");c==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,c)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let c of this.$$l[i]){let l=this.$$c.$on(i,c);this.$$l_u.set(c,l)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=$t(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function $t(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var C=class{constructor(){g(this,"$$");g(this,"$$set")}$destroy(){Et(this,1),this.$destroy=v}$on(e,n){if(!K(n))return v;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!Kt(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var ce="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(ce);function le(t,e,n){let r=t.slice();return r[5]=e[n],r}function ue(t,e,n){let r=t.slice();return r[8]=e[n],r}function fe(t){let e,n="",r,o;function i(){return t[3](t[8])}return{c(){e=b("li"),e.innerHTML=n,this.h()},l(c){e=w(c,"LI",{class:!0,"data-test-id":!0,["data-svelte-h"]:!0}),gt(e)!=="svelte-1rwao73"&&(e.innerHTML=n),this.h()},h(){m(e,"class","pb-1"),m(e,"data-test-id","nav-item")},m(c,l){k(c,e,l),r||(o=[Q(e,"mouseenter",i),Q(e,"mouseleave",Kn)],r=!0)},p(c,l){t=c},d(c){c&&_(e),r=!1,x(o)}}}function de(t){let e,n,r=t[5].name+"",o,i,c,l=j(t[5].items),s=[];for(let a=0;avoid 0;return t.$$set=s=>{"components"in s&&n(1,i=s.components)},t.$$.update=()=>{if(t.$$.dirty&2){t:n(2,o=i)}if(t.$$.dirty&4){t:n(0,r=[{name:"Base",items:Array.from(new Set(o.map(s=>s.category))).map(s=>({id:s,name:s}))}])}},[r,i,o,l]}var kt=class extends C{constructor(e){super(),nt(this,e,Xn,Jn,X,{components:1})}},Ft=kt;var jt={};at(jt,{default:()=>Zn});function Yn(t){let e,n,r;return n=new Ft({props:{components:t[0]}}),{c(){e=b("div"),se(n.$$.fragment),this.h()},l(o){e=w(o,"DIV",{class:!0,"data-test-id":!0});var i=$(e);ae(n.$$.fragment,i),i.forEach(_),this.h()},h(){m(e,"class","flex min-h-screen bg-gray-100"),m(e,"data-test-id","app-container")},m(o,i){k(o,e,i),wt(n,e,null),r=!0},p(o,[i]){let c={};i&1&&(c.components=o[0]),n.$set(c)},i(o){r||(D(n.$$.fragment,o),r=!0)},o(o){et(n.$$.fragment,o),r=!1},d(o){o&&_(e),Et(n)}}}function Qn(t,e,n){let{components:r}=e;return t.$$set=o=>{"components"in o&&n(0,r=o.components)},[r]}var St=class extends C{constructor(e){super(),nt(this,e,Qn,Yn,X,{components:0})}},Zn=St;var tr=[Ot,jt],er=tr,nr=["../svelte/components/ComponentsSidebar.svelte","../svelte/components/UiBuilder.svelte"];var pe={};pe.CodeEditorHook=Wt;rt.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>rt.default.show(300));window.addEventListener("phx:page-loading-stop",t=>rt.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var rr=document.querySelector("html").getAttribute("phx-socket")||"/live",or=document.querySelector("meta[name='csrf-token']").getAttribute("content"),he=new LiveView.LiveSocket(rr,Phoenix.Socket,{hooks:{...Jt(Ct),...pe},params:{_csrf_token:or}});he.connect();window.liveSocket=he;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-e4dee7621ca22ed4a55120f827961cdb.js.gz b/priv/static/beacon_live_admin-e4dee7621ca22ed4a55120f827961cdb.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..fd7adf83f90b6095af13cdc7d3c1f1ed2a011b09 GIT binary patch literal 11683 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 literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin-e83db781296108a7450a334a528d5c1b.js b/priv/static/beacon_live_admin-e83db781296108a7450a334a528d5c1b.js new file mode 100644 index 00000000..e7293c1b --- /dev/null +++ b/priv/static/beacon_live_admin-e83db781296108a7450a334a528d5c1b.js @@ -0,0 +1,17 @@ +var BeaconLiveAdmin=(()=>{var _e=Object.create;var W=Object.defineProperty;var ge=Object.getOwnPropertyDescriptor;var be=Object.getOwnPropertyNames;var ye=Object.getPrototypeOf,ve=Object.prototype.hasOwnProperty;var xe=(t,e,n)=>e in t?W(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var $e=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ut=(t,e)=>{for(var n in e)W(t,n,{get:e[n],enumerable:!0})},we=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of be(e))!ve.call(t,o)&&o!==n&&W(t,o,{get:()=>e[o],enumerable:!(r=ge(e,o))||r.enumerable});return t};var Ee=(t,e,n)=>(n=t!=null?_e(ye(t)):{},we(e||!t||!t.__esModule?W(n,"default",{value:t,enumerable:!0}):n,t));var g=(t,e,n)=>(xe(t,typeof e!="symbol"?e+"":e,n),n);var At=$e((Ct,G)=>{(function(t,e){"use strict";(function(){for(var f=0,_=["ms","moz","webkit","o"],v=0;v<_.length&&!t.requestAnimationFrame;++v)t.requestAnimationFrame=t[_[v]+"RequestAnimationFrame"],t.cancelAnimationFrame=t[_[v]+"CancelAnimationFrame"]||t[_[v]+"CancelRequestAnimationFrame"];t.requestAnimationFrame||(t.requestAnimationFrame=function(at,or){var ct=new Date().getTime(),lt=Math.max(0,16-(ct-f)),me=t.setTimeout(function(){at(ct+lt)},lt);return f=ct+lt,me}),t.cancelAnimationFrame||(t.cancelAnimationFrame=function(at){clearTimeout(at)})})();var n,r,o,i=null,a=null,l=null,c=function(f,_,v){f.addEventListener?f.addEventListener(_,v,!1):f.attachEvent?f.attachEvent("on"+_,v):f["on"+_]=v},s={autoRun:!0,barThickness:3,barColors:{0:"rgba(26, 188, 156, .9)",".25":"rgba(52, 152, 219, .9)",".50":"rgba(241, 196, 15, .9)",".75":"rgba(230, 126, 34, .9)","1.0":"rgba(211, 84, 0, .9)"},shadowBlur:10,shadowColor:"rgba(0, 0, 0, .6)",className:null},d=function(){n.width=t.innerWidth,n.height=s.barThickness*5;var f=n.getContext("2d");f.shadowBlur=s.shadowBlur,f.shadowColor=s.shadowColor;var _=f.createLinearGradient(0,0,n.width,0);for(var v in s.barColors)_.addColorStop(v,s.barColors[v]);f.lineWidth=s.barThickness,f.beginPath(),f.moveTo(0,s.barThickness/2),f.lineTo(Math.ceil(r*n.width),s.barThickness/2),f.strokeStyle=_,f.stroke()},u=function(){n=e.createElement("canvas");var f=n.style;f.position="fixed",f.top=f.left=f.right=f.margin=f.padding=0,f.zIndex=100001,f.display="none",s.className&&n.classList.add(s.className),e.body.appendChild(n),c(t,"resize",d)},p={config:function(f){for(var _ in f)s.hasOwnProperty(_)&&(s[_]=f[_])},show:function(f){if(!o)if(f){if(l)return;l=setTimeout(()=>p.show(),f)}else o=!0,a!==null&&t.cancelAnimationFrame(a),n||u(),n.style.opacity=1,n.style.display="block",p.progress(0),s.autoRun&&function _(){i=t.requestAnimationFrame(_),p.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(f){return typeof f>"u"||(typeof f=="string"&&(f=(f.indexOf("+")>=0||f.indexOf("-")>=0?r:0)+parseFloat(f)),r=f>1?1:f,d()),r},hide:function(){clearTimeout(l),l=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function f(){if(p.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",a=null;return}a=t.requestAnimationFrame(f)}())}};typeof G=="object"&&typeof G.exports=="object"?G.exports=p:typeof define=="function"&&define.amd?define(function(){return p}):this.topbar=p}).call(Ct,window,document)});var st=Ee(At());function ke(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Tt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Mt(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function Oe(t,e){if(t==null)return{};var n=Fe(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function Se(t,e){return je(t)||Ce(t,e)||Ae(t,e)||Te()}function je(t){if(Array.isArray(t))return t}function Ce(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var a=t[Symbol.iterator](),l;!(r=(l=a.next()).done)&&(n.push(l.value),!(e&&n.length===e));r=!0);}catch(c){o=!0,i=c}finally{try{!r&&a.return!=null&&a.return()}finally{if(o)throw i}}return n}}function Ae(t,e){if(t){if(typeof t=="string")return Dt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Dt(t,e)}}function Dt(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var a=arguments.length,l=new Array(a),c=0;c1&&arguments[1]!==void 0?arguments[1]:{};U.initial(t),U.handler(e);var n={current:t},r=R(Ue)(n,e),o=R(Ge)(n),i=R(U.changes)(t),a=R(We)(n);function l(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(d){return d};return U.selector(s),s(n.current)}function c(s){De(r,o,i,a)(s)}return[l,c]}function We(t,e){return q(e)?e(t.current):e}function Ge(t,e){return t.current=Lt(Lt({},t.current),e),e}function Ue(t,e,n){return q(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var Ve={create:He},Je=Ve,Ke={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},Xe=Ke;function Ye(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var a=arguments.length,l=new Array(a),c=0;c[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],$n={base:"vs-dark",inherit:!1,rules:xn(pt),colors:{"editor.background":pt.background,"editor.foreground":pt.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},wn=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,Nt.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),Nt.init().then(t=>{t.editor.defineTheme("default",$n);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},En=wn,Ht={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new En(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function kn(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function z(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function Wt(t){t.parentNode?.removeChild(t)}function Gt(t,e,n){t.insertBefore(e,n||null)}function Ut(){}function Fn(t){let e={};for(let n in z(t,"data-slots")){let r=()=>({getElement(){let o=z(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){Wt(this.savedElement),this.savedElement=this.getElement(),Gt(this.savedTarget,this.savedElement,this.savedAnchor)},c:Ut,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),Gt(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&Wt(this.savedElement)},l:Ut});e[n]=[r]}return e}function On(t){let e=z(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function K(t){return{...z(t,"data-props"),...On(t),live:t,$$slots:Fn(t),$$scope:{}}}function Sn(t){return t.$$.ctx.find(e=>e?.default)}function Vt(t){return t=kn(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(z(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(K(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(K(this)),!1);this._instance=new r({target:this.el,props:K(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(K(this));let n=Sn(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var jt={};ut(jt,{default:()=>tr,filenames:()=>er});var Ft={};ut(Ft,{default:()=>kt});function x(){}function ht(t){return t()}function X(){return Object.create(null)}function E(t){t.forEach(ht)}function Y(t){return typeof t=="function"}function Q(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}function Jt(t){return Object.keys(t).length===0}var mt=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var A=class{constructor(e){g(this,"_listeners","WeakMap"in mt?new WeakMap:void 0);g(this,"_observer");g(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)A.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};A.entries="WeakMap"in mt?new WeakMap:void 0;var Z=!1;function Kt(){Z=!0}function Xt(){Z=!1}function An(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function Tn(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let c=[];for(let s=0;s0&&e[n[o]].claim_order<=s?o+1:An(1,o,p=>e[n[p]].claim_order,s))-1;r[c]=n[d]+1;let u=d+1;n[u]=c,o=Math.max(u,o)}let i=[],a=[],l=e.length-1;for(let c=n[o]+1;c!=0;c=r[c-1]){for(i.push(e[c-1]);l>=c;l--)a.push(e[l]);l--}for(;l>=0;l--)a.push(e[l]);i.reverse(),a.sort((c,s)=>c.claim_order-s.claim_order);for(let c=0,s=0;c=i[s].claim_order;)s++;let d=st.removeEventListener(e,n,r)}function m(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function Yt(t){return t.dataset.svelteH}function $(t){return Array.from(t.childNodes)}function Mn(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function Qt(t,e,n,r,o=!1){Mn(t);let i=(()=>{for(let a=t.claim_info.last_index;a=0;a--){let l=t[a];if(e(l)){let c=n(l);return c===void 0?t.splice(a,1):t[a]=c,o?c===void 0&&t.claim_info.last_index--:t.claim_info.last_index=a,l}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function Dn(t,e,n,r){return Qt(t,o=>o.nodeName===e,o=>{let i=[];for(let a=0;ao.removeAttribute(a))},()=>r(e))}function w(t,e,n){return Dn(t,e,n,b)}function et(t,e){return Qt(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>T(e),!0)}function D(t){return et(t," ")}function Zt(t,e){let n=[],r=0;for(let o of e.childNodes)if(o.nodeType===8){let i=o.textContent.trim();i===`HEAD_${t}_END`?(r-=1,n.push(o)):i===`HEAD_${t}_START`&&(r+=1,n.push(o))}else r>0&&n.push(o);return n}function te(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var P;function F(t){P=t}var S=[];var ne=[],I=[],re=[],qn=Promise.resolve(),vt=!1;function oe(){vt||(vt=!0,qn.then(nt))}function H(t){I.push(t)}var yt=new Set,L=0;function nt(){if(L!==0)return;let t=P;do{try{for(;Lt.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),I=e}var rt=new Set,zn;function N(t,e){t&&t.i&&(rt.delete(t),t.i(e))}function ot(t,e,n,r){if(t&&t.o){if(rt.has(t))return;rt.add(t),zn.c.push(()=>{rt.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}function j(t){return t?.length!==void 0?t:Array.from(t)}var Hn=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Wn=new Set([...Hn]);function se(t){t&&t.c()}function ae(t,e){t&&t.l(e)}function $t(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),H(()=>{let i=t.$$.on_mount.map(ht).filter(Y);t.$$.on_destroy?t.$$.on_destroy.push(...i):E(i),t.$$.on_mount=[]}),o.forEach(H)}function wt(t,e){let n=t.$$;n.fragment!==null&&(ie(n.after_update),E(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Un(t,e){t.$$.dirty[0]===-1&&(S.push(t),oe(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let _=f.length?f[0]:p;return s.ctx&&o(s.ctx[u],s.ctx[u]=_)&&(!s.skip_bound&&s.bound[u]&&s.bound[u](_),d&&Un(t,u)),p}):[],s.update(),d=!0,E(s.before_update),s.fragment=r?r(s.ctx):!1,e.target){if(e.hydrate){Kt();let u=$(e.target);s.fragment&&s.fragment.l(u),u.forEach(h)}else s.fragment&&s.fragment.c();e.intro&&N(t.$$.fragment),$t(t,e.target,e.anchor),Xt(),nt()}F(c)}var Vn;typeof HTMLElement=="function"&&(Vn=class extends HTMLElement{constructor(e,n,r){super();g(this,"$$ctor");g(this,"$$s");g(this,"$$c");g(this,"$$cn",!1);g(this,"$$d",{});g(this,"$$r",!1);g(this,"$$p_d",{});g(this,"$$l",{});g(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let a;return{c:function(){a=b("slot"),i!=="default"&&m(a,"name",i)},m:function(s,d){_t(s,a,d)},d:function(s){s&&h(a)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=te(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let a=this.$$g_p(i.name);a in this.$$d||(this.$$d[a]=xt(a,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let a=xt(i,this.$$d[i],this.$$p_d,"toAttribute");a==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,a)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let a of this.$$l[i]){let l=this.$$c.$on(i,a);this.$$l_u.set(a,l)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=xt(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function xt(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var C=class{constructor(){g(this,"$$");g(this,"$$set")}$destroy(){wt(this,1),this.$destroy=x}$on(e,n){if(!Y(n))return x;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!Jt(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var ce="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(ce);function le(t,e,n){let r=t.slice();return r[2]=e[n],r}function ue(t,e,n){let r=t.slice();return r[5]=e[n],r}function fe(t){let e,n,r=sectionTitles[t[5].name]+"",o,i,a,l;function c(){return t[1](t[5])}return{c(){e=b("li"),n=b("div"),o=T(r),i=M(),this.h()},l(s){e=w(s,"LI",{class:!0,"data-test-id":!0});var d=$(e);n=w(d,"DIV",{class:!0});var u=$(n);o=et(u,r),u.forEach(h),i=D(d),d.forEach(h),this.h()},h(){m(n,"class","pl-2"),m(e,"class","pb-1"),m(e,"data-test-id","nav-item")},m(s,d){k(s,e,d),y(e,n),y(n,o),y(e,i),a||(l=[tt(e,"mouseenter",c),tt(e,"mouseleave",Kn)],a=!0)},p(s,d){t=s},d(s){s&&h(e),a=!1,E(l)}}}function de(t){let e,n,r=t[2].name+"",o,i,a,l=j(t[2].items),c=[];for(let s=0;svoid 0]}var Et=class extends C{constructor(e){super(),it(this,e,Xn,Jn,Q,{})}},kt=Et;var St={};ut(St,{default:()=>Qn});function Yn(t){let e,n,r,o,i;return o=new kt({}),{c(){e=b("meta"),n=M(),r=b("div"),se(o.$$.fragment),this.h()},l(a){let l=Zt("svelte-brtbho",document.head);e=w(l,"META",{name:!0,content:!0}),l.forEach(h),n=D(a),r=w(a,"DIV",{class:!0,"data-test-id":!0});var c=$(r);ae(o.$$.fragment,c),c.forEach(h),this.h()},h(){document.title="Beacon UI Builder",m(e,"name","description"),m(e,"content","UI builder to compose beacon pages"),m(r,"class","flex min-h-screen bg-gray-100"),m(r,"data-test-id","app-container")},m(a,l){y(document.head,e),k(a,n,l),k(a,r,l),$t(o,r,null),i=!0},p:x,i(a){i||(N(o.$$.fragment,a),i=!0)},o(a){ot(o.$$.fragment,a),i=!1},d(a){a&&(h(n),h(r)),h(e),wt(o)}}}var Ot=class extends C{constructor(e){super(),it(this,e,null,Yn,Q,{})}},Qn=Ot;var Zn=[Ft,St],tr=Zn,er=["../svelte/components/ComponentsSidebar.svelte","../svelte/components/UiBuilder.svelte"];var pe={};pe.CodeEditorHook=Ht;st.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>st.default.show(300));window.addEventListener("phx:page-loading-stop",t=>st.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var nr=document.querySelector("html").getAttribute("phx-socket")||"/live",rr=document.querySelector("meta[name='csrf-token']").getAttribute("content"),he=new LiveView.LiveSocket(nr,Phoenix.Socket,{hooks:{...Vt(jt),...pe},params:{_csrf_token:rr}});he.connect();window.liveSocket=he;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-e83db781296108a7450a334a528d5c1b.js.gz b/priv/static/beacon_live_admin-e83db781296108a7450a334a528d5c1b.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..1ed299cb61a9c27d731ec5d79a1ffd967d30db40 GIT binary patch literal 11611 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 ZJupv}t=F;zRJiqz{|1aXPz6_i000H0Pn-Y% literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin-f311b9d2d8356283e4d01e2866585cf7.js b/priv/static/beacon_live_admin-f311b9d2d8356283e4d01e2866585cf7.js new file mode 100644 index 00000000..e3011762 --- /dev/null +++ b/priv/static/beacon_live_admin-f311b9d2d8356283e4d01e2866585cf7.js @@ -0,0 +1,17 @@ +var BeaconLiveAdmin=(()=>{var _e=Object.create;var z=Object.defineProperty;var ge=Object.getOwnPropertyDescriptor;var be=Object.getOwnPropertyNames;var ye=Object.getPrototypeOf,ve=Object.prototype.hasOwnProperty;var xe=(t,e,n)=>e in t?z(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var $e=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),ut=(t,e)=>{for(var n in e)z(t,n,{get:e[n],enumerable:!0})},we=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of be(e))!ve.call(t,o)&&o!==n&&z(t,o,{get:()=>e[o],enumerable:!(r=ge(e,o))||r.enumerable});return t};var Ee=(t,e,n)=>(n=t!=null?_e(ye(t)):{},we(e||!t||!t.__esModule?z(n,"default",{value:t,enumerable:!0}):n,t));var g=(t,e,n)=>(xe(t,typeof e!="symbol"?e+"":e,n),n);var Tt=$e((At,H)=>{(function(t,e){"use strict";(function(){for(var f=0,_=["ms","moz","webkit","o"],y=0;y<_.length&&!t.requestAnimationFrame;++y)t.requestAnimationFrame=t[_[y]+"RequestAnimationFrame"],t.cancelAnimationFrame=t[_[y]+"CancelAnimationFrame"]||t[_[y]+"CancelRequestAnimationFrame"];t.requestAnimationFrame||(t.requestAnimationFrame=function(at,ir){var ct=new Date().getTime(),lt=Math.max(0,16-(ct-f)),me=t.setTimeout(function(){at(ct+lt)},lt);return f=ct+lt,me}),t.cancelAnimationFrame||(t.cancelAnimationFrame=function(at){clearTimeout(at)})})();var n,r,o,i=null,c=null,u=null,a=function(f,_,y){f.addEventListener?f.addEventListener(_,y,!1):f.attachEvent?f.attachEvent("on"+_,y):f["on"+_]=y},s={autoRun:!0,barThickness:3,barColors:{0:"rgba(26, 188, 156, .9)",".25":"rgba(52, 152, 219, .9)",".50":"rgba(241, 196, 15, .9)",".75":"rgba(230, 126, 34, .9)","1.0":"rgba(211, 84, 0, .9)"},shadowBlur:10,shadowColor:"rgba(0, 0, 0, .6)",className:null},d=function(){n.width=t.innerWidth,n.height=s.barThickness*5;var f=n.getContext("2d");f.shadowBlur=s.shadowBlur,f.shadowColor=s.shadowColor;var _=f.createLinearGradient(0,0,n.width,0);for(var y in s.barColors)_.addColorStop(y,s.barColors[y]);f.lineWidth=s.barThickness,f.beginPath(),f.moveTo(0,s.barThickness/2),f.lineTo(Math.ceil(r*n.width),s.barThickness/2),f.strokeStyle=_,f.stroke()},l=function(){n=e.createElement("canvas");var f=n.style;f.position="fixed",f.top=f.left=f.right=f.margin=f.padding=0,f.zIndex=100001,f.display="none",s.className&&n.classList.add(s.className),e.body.appendChild(n),a(t,"resize",d)},p={config:function(f){for(var _ in f)s.hasOwnProperty(_)&&(s[_]=f[_])},show:function(f){if(!o)if(f){if(u)return;u=setTimeout(()=>p.show(),f)}else o=!0,c!==null&&t.cancelAnimationFrame(c),n||l(),n.style.opacity=1,n.style.display="block",p.progress(0),s.autoRun&&function _(){i=t.requestAnimationFrame(_),p.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(f){return typeof f>"u"||(typeof f=="string"&&(f=(f.indexOf("+")>=0||f.indexOf("-")>=0?r:0)+parseFloat(f)),r=f>1?1:f,d()),r},hide:function(){clearTimeout(u),u=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function f(){if(p.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",c=null;return}c=t.requestAnimationFrame(f)}())}};typeof H=="object"&&typeof H.exports=="object"?H.exports=p:typeof define=="function"&&define.amd?define(function(){return p}):this.topbar=p}).call(At,window,document)});var st=Ee(Tt());function ke(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function Mt(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Dt(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function Oe(t,e){if(t==null)return{};var n=Fe(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function Se(t,e){return je(t)||Ce(t,e)||Ae(t,e)||Te()}function je(t){if(Array.isArray(t))return t}function Ce(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var c=t[Symbol.iterator](),u;!(r=(u=c.next()).done)&&(n.push(u.value),!(e&&n.length===e));r=!0);}catch(a){o=!0,i=a}finally{try{!r&&c.return!=null&&c.return()}finally{if(o)throw i}}return n}}function Ae(t,e){if(t){if(typeof t=="string")return Pt(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Pt(t,e)}}function Pt(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var c=arguments.length,u=new Array(c),a=0;a1&&arguments[1]!==void 0?arguments[1]:{};W.initial(t),W.handler(e);var n={current:t},r=I(Ve)(n,e),o=I(Ge)(n),i=I(W.changes)(t),c=I(We)(n);function u(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(d){return d};return W.selector(s),s(n.current)}function a(s){De(r,o,i,c)(s)}return[u,a]}function We(t,e){return N(e)?e(t.current):e}function Ge(t,e){return t.current=It(It({},t.current),e),e}function Ve(t,e,n){return N(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var Ue={create:He},Je=Ue,Ke={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},Xe=Ke;function Ye(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var c=arguments.length,u=new Array(c),a=0;a[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],$n={base:"vs-dark",inherit:!1,rules:xn(pt),colors:{"editor.background":pt.background,"editor.foreground":pt.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},wn=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,Rt.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),Rt.init().then(t=>{t.editor.defineTheme("default",$n);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},En=wn,Wt={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new En(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function kn(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function q(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function Gt(t){t.parentNode?.removeChild(t)}function Vt(t,e,n){t.insertBefore(e,n||null)}function Ut(){}function Fn(t){let e={};for(let n in q(t,"data-slots")){let r=()=>({getElement(){let o=q(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){Gt(this.savedElement),this.savedElement=this.getElement(),Vt(this.savedTarget,this.savedElement,this.savedAnchor)},c:Ut,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),Vt(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&Gt(this.savedElement)},l:Ut});e[n]=[r]}return e}function On(t){let e=q(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function U(t){return{...q(t,"data-props"),...On(t),live:t,$$slots:Fn(t),$$scope:{}}}function Sn(t){return t.$$.ctx.find(e=>e?.default)}function Jt(t){return t=kn(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(q(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(U(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(U(this)),!1);this._instance=new r({target:this.el,props:U(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(U(this));let n=Sn(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var Ct={};ut(Ct,{default:()=>er,filenames:()=>nr});var Ot={};ut(Ot,{default:()=>Ft});function E(){}function ht(t){return t()}function J(){return Object.create(null)}function $(t){t.forEach(ht)}function K(t){return typeof t=="function"}function X(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}function Kt(t){return Object.keys(t).length===0}var mt=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var A=class{constructor(e){g(this,"_listeners","WeakMap"in mt?new WeakMap:void 0);g(this,"_observer");g(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)A.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};A.entries="WeakMap"in mt?new WeakMap:void 0;var Y=!1;function Xt(){Y=!0}function Yt(){Y=!1}function An(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function Tn(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let a=[];for(let s=0;s0&&e[n[o]].claim_order<=s?o+1:An(1,o,p=>e[n[p]].claim_order,s))-1;r[a]=n[d]+1;let l=d+1;n[l]=a,o=Math.max(l,o)}let i=[],c=[],u=e.length-1;for(let a=n[o]+1;a!=0;a=r[a-1]){for(i.push(e[a-1]);u>=a;u--)c.push(e[u]);u--}for(;u>=0;u--)c.push(e[u]);i.reverse(),c.sort((a,s)=>a.claim_order-s.claim_order);for(let a=0,s=0;a=i[s].claim_order;)s++;let d=st.removeEventListener(e,n,r)}function m(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function Qt(t){return t.dataset.svelteH}function x(t){return Array.from(t.childNodes)}function Mn(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function Zt(t,e,n,r,o=!1){Mn(t);let i=(()=>{for(let c=t.claim_info.last_index;c=0;c--){let u=t[c];if(e(u)){let a=n(u);return a===void 0?t.splice(c,1):t[c]=a,o?a===void 0&&t.claim_info.last_index--:t.claim_info.last_index=c,u}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function Dn(t,e,n,r){return Zt(t,o=>o.nodeName===e,o=>{let i=[];for(let c=0;co.removeAttribute(c))},()=>r(e))}function w(t,e,n){return Dn(t,e,n,b)}function tt(t,e){return Zt(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>T(e),!0)}function et(t){return tt(t," ")}function yt(t,e){e=""+e,t.data!==e&&(t.data=e)}function te(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var M;function F(t){M=t}var S=[];var ne=[],P=[],re=[],qn=Promise.resolve(),xt=!1;function oe(){xt||(xt=!0,qn.then(nt))}function B(t){P.push(t)}var vt=new Set,D=0;function nt(){if(D!==0)return;let t=M;do{try{for(;Dt.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),P=e}var rt=new Set,zn;function L(t,e){t&&t.i&&(rt.delete(t),t.i(e))}function ot(t,e,n,r){if(t&&t.o){if(rt.has(t))return;rt.add(t),zn.c.push(()=>{rt.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}function j(t){return t?.length!==void 0?t:Array.from(t)}var Hn=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Wn=new Set([...Hn]);function se(t){t&&t.c()}function ae(t,e){t&&t.l(e)}function wt(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),B(()=>{let i=t.$$.on_mount.map(ht).filter(K);t.$$.on_destroy?t.$$.on_destroy.push(...i):$(i),t.$$.on_mount=[]}),o.forEach(B)}function Et(t,e){let n=t.$$;n.fragment!==null&&(ie(n.after_update),$(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Vn(t,e){t.$$.dirty[0]===-1&&(S.push(t),oe(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let _=f.length?f[0]:p;return s.ctx&&o(s.ctx[l],s.ctx[l]=_)&&(!s.skip_bound&&s.bound[l]&&s.bound[l](_),d&&Vn(t,l)),p}):[],s.update(),d=!0,$(s.before_update),s.fragment=r?r(s.ctx):!1,e.target){if(e.hydrate){Xt();let l=x(e.target);s.fragment&&s.fragment.l(l),l.forEach(h)}else s.fragment&&s.fragment.c();e.intro&&L(t.$$.fragment),wt(t,e.target,e.anchor),Yt(),nt()}F(a)}var Un;typeof HTMLElement=="function"&&(Un=class extends HTMLElement{constructor(e,n,r){super();g(this,"$$ctor");g(this,"$$s");g(this,"$$c");g(this,"$$cn",!1);g(this,"$$d",{});g(this,"$$r",!1);g(this,"$$p_d",{});g(this,"$$l",{});g(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let c;return{c:function(){c=b("slot"),i!=="default"&&m(c,"name",i)},m:function(s,d){_t(s,c,d)},d:function(s){s&&h(c)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=te(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let c=this.$$g_p(i.name);c in this.$$d||(this.$$d[c]=$t(c,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let c=$t(i,this.$$d[i],this.$$p_d,"toAttribute");c==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,c)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let c of this.$$l[i]){let u=this.$$c.$on(i,c);this.$$l_u.set(c,u)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=$t(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function $t(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var C=class{constructor(){g(this,"$$");g(this,"$$set")}$destroy(){Et(this,1),this.$destroy=E}$on(e,n){if(!K(n))return E;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!Kt(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var ce="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(ce);function le(t,e,n){let r=t.slice();return r[5]=e[n],r}function ue(t,e,n){let r=t.slice();return r[8]=e[n],r}function fe(t){let e,n,r=t[1][t[8].name]+"",o,i,c,u;function a(){return t[4](t[8])}return{c(){e=b("li"),n=b("div"),o=T(r),i=Q(),this.h()},l(s){e=w(s,"LI",{class:!0,"data-test-id":!0});var d=x(e);n=w(d,"DIV",{class:!0});var l=x(n);o=tt(l,r),l.forEach(h),i=et(d),d.forEach(h),this.h()},h(){m(n,"class","pl-2"),m(e,"class","pb-1"),m(e,"data-test-id","nav-item")},m(s,d){k(s,e,d),v(e,n),v(n,o),v(e,i),c||(u=[Z(e,"mouseenter",a),Z(e,"mouseleave",Kn)],c=!0)},p(s,d){t=s,d&1&&r!==(r=t[1][t[8].name]+"")&&yt(o,r)},d(s){s&&h(e),c=!1,$(u)}}}function de(t){let e,n,r=t[5].name+"",o,i,c,u=j(t[5].items),a=[];for(let s=0;svoid 0;return t.$$set=a=>{"components"in a&&n(2,i=a.components)},t.$$.update=()=>{if(t.$$.dirty&4){t:n(3,o=i)}if(t.$$.dirty&8){t:n(0,r=[{name:"Base",items:Array.from(new Set(o.map(a=>a.category))).map(a=>({id:a,name:a}))}])}},[r,c,i,o,u]}var kt=class extends C{constructor(e){super(),it(this,e,Xn,Jn,X,{components:2})}},Ft=kt;var jt={};ut(jt,{default:()=>Zn});function Yn(t){let e,n,r;return n=new Ft({props:{components:t[0]}}),{c(){e=b("div"),se(n.$$.fragment),this.h()},l(o){e=w(o,"DIV",{class:!0,"data-test-id":!0});var i=x(e);ae(n.$$.fragment,i),i.forEach(h),this.h()},h(){m(e,"class","flex min-h-screen bg-gray-100"),m(e,"data-test-id","app-container")},m(o,i){k(o,e,i),wt(n,e,null),r=!0},p(o,[i]){let c={};i&1&&(c.components=o[0]),n.$set(c)},i(o){r||(L(n.$$.fragment,o),r=!0)},o(o){ot(n.$$.fragment,o),r=!1},d(o){o&&h(e),Et(n)}}}function Qn(t,e,n){let{components:r}=e;return t.$$set=o=>{"components"in o&&n(0,r=o.components)},[r]}var St=class extends C{constructor(e){super(),it(this,e,Qn,Yn,X,{components:0})}},Zn=St;var tr=[Ot,jt],er=tr,nr=["../svelte/components/ComponentsSidebar.svelte","../svelte/components/UiBuilder.svelte"];var pe={};pe.CodeEditorHook=Wt;st.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>st.default.show(300));window.addEventListener("phx:page-loading-stop",t=>st.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var rr=document.querySelector("html").getAttribute("phx-socket")||"/live",or=document.querySelector("meta[name='csrf-token']").getAttribute("content"),he=new LiveView.LiveSocket(rr,Phoenix.Socket,{hooks:{...Jt(Ct),...pe},params:{_csrf_token:or}});he.connect();window.liveSocket=he;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-f311b9d2d8356283e4d01e2866585cf7.js.gz b/priv/static/beacon_live_admin-f311b9d2d8356283e4d01e2866585cf7.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..90302d607cd75d40e603e12eeb8ed011177718f2 GIT binary patch literal 11673 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 an=Object.create;var _t=Object.defineProperty;var cn=Object.getOwnPropertyDescriptor;var ln=Object.getOwnPropertyNames;var un=Object.getPrototypeOf,fn=Object.prototype.hasOwnProperty;var dn=(t,e,n)=>e in t?_t(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var pn=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),Pt=(t,e)=>{for(var n in e)_t(t,n,{get:e[n],enumerable:!0})},hn=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of ln(e))!fn.call(t,o)&&o!==n&&_t(t,o,{get:()=>e[o],enumerable:!(r=cn(e,o))||r.enumerable});return t};var mn=(t,e,n)=>(n=t!=null?an(un(t)):{},hn(e||!t||!t.__esModule?_t(n,"default",{value:t,enumerable:!0}):n,t));var k=(t,e,n)=>(dn(t,typeof e!="symbol"?e+"":e,n),n);var fe=pn((ue,gt)=>{(function(t,e){"use strict";(function(){for(var f=0,p=["ms","moz","webkit","o"],b=0;bg.show(),f)}else o=!0,a!==null&&t.cancelAnimationFrame(a),n||d(),n.style.opacity=1,n.style.display="block",g.progress(0),s.autoRun&&function p(){i=t.requestAnimationFrame(p),g.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(f){return typeof f>"u"||(typeof f=="string"&&(f=(f.indexOf("+")>=0||f.indexOf("-")>=0?r:0)+parseFloat(f)),r=f>1?1:f,u()),r},hide:function(){clearTimeout(l),l=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function f(){if(g.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",a=null;return}a=t.requestAnimationFrame(f)}())}};typeof gt=="object"&&typeof gt.exports=="object"?gt.exports=g:typeof define=="function"&&define.amd?define(function(){return g}):this.topbar=g}).call(ue,window,document)});var Tt=mn(fe());function _n(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function de(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function pe(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function bn(t,e){if(t==null)return{};var n=gn(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function yn(t,e){return xn(t)||vn(t,e)||$n(t,e)||wn()}function xn(t){if(Array.isArray(t))return t}function vn(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var a=t[Symbol.iterator](),l;!(r=(l=a.next()).done)&&(n.push(l.value),!(e&&n.length===e));r=!0);}catch(c){o=!0,i=c}finally{try{!r&&a.return!=null&&a.return()}finally{if(o)throw i}}return n}}function $n(t,e){if(t){if(typeof t=="string")return he(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return he(t,e)}}function he(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var a=arguments.length,l=new Array(a),c=0;c1&&arguments[1]!==void 0?arguments[1]:{};bt.initial(t),bt.handler(e);var n={current:t},r=at(Ln)(n,e),o=at(Pn)(n),i=at(bt.changes)(t),a=at(Dn)(n);function l(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(u){return u};return bt.selector(s),s(n.current)}function c(s){En(r,o,i,a)(s)}return[l,c]}function Dn(t,e){return ct(e)?e(t.current):e}function Pn(t,e){return t.current=_e(_e({},t.current),e),e}function Ln(t,e,n){return ct(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var qn={create:Tn},Nn=qn,Rn={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},Bn=Rn;function zn(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var a=arguments.length,l=new Array(a),c=0;c[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],dr={base:"vs-dark",inherit:!1,rules:fr(Nt),colors:{"editor.background":Nt.background,"editor.foreground":Nt.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},pr=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,be.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),be.init().then(t=>{t.editor.defineTheme("default",dr);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},hr=pr,we={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new hr(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function mr(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function ut(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function ke(t){t.parentNode?.removeChild(t)}function Ee(t,e,n){t.insertBefore(e,n||null)}function Oe(){}function _r(t){let e={};for(let n in ut(t,"data-slots")){let r=()=>({getElement(){let o=ut(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){ke(this.savedElement),this.savedElement=this.getElement(),Ee(this.savedTarget,this.savedElement,this.savedAnchor)},c:Oe,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),Ee(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&ke(this.savedElement)},l:Oe});e[n]=[r]}return e}function gr(t){let e=ut(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function vt(t){return{...ut(t,"data-props"),...gr(t),live:t,$$slots:_r(t),$$scope:{}}}function br(t){return t.$$.ctx.find(e=>e?.default)}function Fe(t){return t=mr(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(ut(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(vt(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(vt(this)),!1);this._instance=new r({target:this.el,props:vt(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(vt(this));let n=br(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var ce={};Pt(ce,{default:()=>Ur,filenames:()=>Jr});var ie={};Pt(ie,{default:()=>oe});function j(){}var Y=t=>t;function Rt(t){return t()}function wt(){return Object.create(null)}function S(t){t.forEach(Rt)}function G(t){return typeof t=="function"}function Q(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}var $t;function Se(t,e){return t===e?!0:($t||($t=document.createElement("a")),$t.href=e,t===$t.href)}function Ce(t){return Object.keys(t).length===0}function Me(t,...e){if(t==null){for(let r of e)r(void 0);return j}let n=t.subscribe(...e);return n.unsubscribe?()=>n.unsubscribe():n}function je(t,e,n){t.$$.on_destroy.push(Me(e,n))}var Ae=typeof window<"u",Bt=Ae?()=>window.performance.now():()=>Date.now(),ft=Ae?t=>requestAnimationFrame(t):j;var Z=new Set;function Ie(t){Z.forEach(e=>{e.c(t)||(Z.delete(e),e.f())}),Z.size!==0&&ft(Ie)}function zt(t){let e;return Z.size===0&&ft(Ie),{promise:new Promise(n=>{Z.add(e={c:t,f:n})}),abort(){Z.delete(e)}}}var Ht=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var tt=class{constructor(e){k(this,"_listeners","WeakMap"in Ht?new WeakMap:void 0);k(this,"_observer");k(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)tt.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};tt.entries="WeakMap"in Ht?new WeakMap:void 0;var kt=!1;function Te(){kt=!0}function De(){kt=!1}function xr(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function vr(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let c=[];for(let s=0;s0&&e[n[o]].claim_order<=s?o+1:xr(1,o,g=>e[n[g]].claim_order,s))-1;r[c]=n[u]+1;let d=u+1;n[d]=c,o=Math.max(d,o)}let i=[],a=[],l=e.length-1;for(let c=n[o]+1;c!=0;c=r[c-1]){for(i.push(e[c-1]);l>=c;l--)a.push(e[l]);l--}for(;l>=0;l--)a.push(e[l]);i.reverse(),a.sort((c,s)=>c.claim_order-s.claim_order);for(let c=0,s=0;c=i[s].claim_order;)s++;let u=st.removeEventListener(e,n,r)}function m(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function Gt(t){return t.dataset.svelteH}function F(t){return Array.from(t.childNodes)}function wr(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function qe(t,e,n,r,o=!1){wr(t);let i=(()=>{for(let a=t.claim_info.last_index;a=0;a--){let l=t[a];if(e(l)){let c=n(l);return c===void 0?t.splice(a,1):t[a]=c,o?c===void 0&&t.claim_info.last_index--:t.claim_info.last_index=a,l}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function kr(t,e,n,r){return qe(t,o=>o.nodeName===e,o=>{let i=[];for(let a=0;ao.removeAttribute(a))},()=>r(e))}function E(t,e,n){return kr(t,e,n,x)}function pt(t,e){return qe(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>U(e),!0)}function q(t){return pt(t," ")}function Ot(t,e){e=""+e,t.data!==e&&(t.data=e)}function Ne(t,e,n){t.classList.toggle(e,!!n)}function Ft(t,e,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(t,{detail:e,bubbles:n,cancelable:r})}function Re(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var St=new Map,Ct=0;function Er(t){let e=5381,n=t.length;for(;n--;)e=(e<<5)-e^t.charCodeAt(n);return e>>>0}function Or(t,e){let n={stylesheet:Le(e),rules:{}};return St.set(t,n),n}function Mt(t,e,n,r,o,i,a,l=0){let c=16.666/r,s=`{ +`;for(let v=0;v<=1;v+=c){let O=e+(n-e)*i(v);s+=v*100+`%{${a(O,1-O)}} +`}let u=s+`100% {${a(n,1-n)}} +}`,d=`__svelte_${Er(u)}_${l}`,g=Wt(t),{stylesheet:f,rules:p}=St.get(g)||Or(g,t);p[d]||(p[d]=!0,f.insertRule(`@keyframes ${d} ${u}`,f.cssRules.length));let b=t.style.animation||"";return t.style.animation=`${b?`${b}, `:""}${d} ${r}ms linear ${o}ms 1 both`,Ct+=1,d}function Ut(t,e){let n=(t.style.animation||"").split(", "),r=n.filter(e?i=>i.indexOf(e)<0:i=>i.indexOf("__svelte")===-1),o=n.length-r.length;o&&(t.style.animation=r.join(", "),Ct-=o,Ct||Fr())}function Fr(){ft(()=>{Ct||(St.forEach(t=>{let{ownerNode:e}=t.stylesheet;e&&_(e)}),St.clear())})}var et;function N(t){et=t}var J=[];var Be=[],rt=[],ze=[],Sr=Promise.resolve(),Kt=!1;function He(){Kt||(Kt=!0,Sr.then(jt))}function R(t){rt.push(t)}var Jt=new Set,nt=0;function jt(){if(nt!==0)return;let t=et;do{try{for(;ntt.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),rt=e}var ht;function Mr(){return ht||(ht=Promise.resolve(),ht.then(()=>{ht=null})),ht}function Xt(t,e,n){t.dispatchEvent(Ft(`${e?"intro":"outro"}${n}`))}var At=new Set,Yt;function V(t,e){t&&t.i&&(At.delete(t),t.i(e))}function ot(t,e,n,r){if(t&&t.o){if(At.has(t))return;At.add(t),Yt.c.push(()=>{At.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}var jr={duration:0};function mt(t,e,n,r){let i=e(t,n,{direction:"both"}),a=r?0:1,l=null,c=null,s=null,u;function d(){s&&Ut(t,s)}function g(p,b){let v=p.b-a;return b*=Math.abs(v),{a,b:p.b,d:v,duration:b,start:p.start,end:p.start+b,group:p.group}}function f(p){let{delay:b=0,duration:v=300,easing:O=Y,tick:M=j,css:I}=i||jr,z={start:Bt()+b,b:p};p||(z.group=Yt,Yt.r+=1),"inert"in t&&(p?u!==void 0&&(t.inert=u):(u=t.inert,t.inert=!0)),l||c?c=z:(I&&(d(),s=Mt(t,a,p,v,b,O,I)),p&&M(0,1),l=g(z,v),R(()=>Xt(t,p,"start")),zt(T=>{if(c&&T>c.start&&(l=g(c,v),c=null,Xt(t,l.b,"start"),I&&(d(),s=Mt(t,a,l.b,l.duration,0,O,i.css))),l){if(T>=l.end)M(a=l.b,1-a),Xt(t,l.b,"end"),c||(l.b?d():--l.group.r||S(l.group.c)),l=null;else if(T>=l.start){let $=T-l.start;a=l.a+l.d*O($/l.duration),M(a,1-a)}}return!!(l||c)}))}return{run(p){G(i)?Mr().then(()=>{i=i({direction:p?"in":"out"}),f(p)}):f(p)},end(){d(),l=c=null}}}function B(t){return t?.length!==void 0?t:Array.from(t)}var Ar=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],Ir=new Set([...Ar]);function Ve(t){t&&t.c()}function Ge(t,e){t&&t.l(e)}function Zt(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),R(()=>{let i=t.$$.on_mount.map(Rt).filter(G);t.$$.on_destroy?t.$$.on_destroy.push(...i):S(i),t.$$.on_mount=[]}),o.forEach(R)}function te(t,e){let n=t.$$;n.fragment!==null&&(We(n.after_update),S(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Dr(t,e){t.$$.dirty[0]===-1&&(J.push(t),He(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let p=f.length?f[0]:g;return s.ctx&&o(s.ctx[d],s.ctx[d]=p)&&(!s.skip_bound&&s.bound[d]&&s.bound[d](p),u&&Dr(t,d)),g}):[],s.update(),u=!0,S(s.before_update),s.fragment=r?r(s.ctx):!1,e.target){if(e.hydrate){Te();let d=F(e.target);s.fragment&&s.fragment.l(d),d.forEach(_)}else s.fragment&&s.fragment.c();e.intro&&V(t.$$.fragment),Zt(t,e.target,e.anchor),De(),jt()}N(c)}var Pr;typeof HTMLElement=="function"&&(Pr=class extends HTMLElement{constructor(e,n,r){super();k(this,"$$ctor");k(this,"$$s");k(this,"$$c");k(this,"$$cn",!1);k(this,"$$d",{});k(this,"$$r",!1);k(this,"$$p_d",{});k(this,"$$l",{});k(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let a;return{c:function(){a=x("slot"),i!=="default"&&m(a,"name",i)},m:function(s,u){Vt(s,a,u)},d:function(s){s&&_(a)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=Re(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let a=this.$$g_p(i.name);a in this.$$d||(this.$$d[a]=Qt(a,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let a=Qt(i,this.$$d[i],this.$$p_d,"toAttribute");a==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,a)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let a of this.$$l[i]){let l=this.$$c.$on(i,a);this.$$l_u.set(a,l)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=Qt(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function Qt(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var K=class{constructor(){k(this,"$$");k(this,"$$set")}$destroy(){te(this,1),this.$destroy=j}$on(e,n){if(!G(n))return j;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!Ce(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var Ue="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(Ue);function ee(t,{delay:e=0,duration:n=400,easing:r=Y}={}){let o=+getComputedStyle(t).opacity;return{delay:e,duration:n,easing:r,css:i=>`opacity: ${i*o}`}}function ne(t,{delay:e=0,duration:n=300,x:r=0,y:o=0}){return{delay:e,duration:n,css:i=>`transform: translate(${r*i}px, ${o*i}px)`}}var it=[];function Je(t,e=j){let n,r=new Set;function o(l){if(Q(t,l)&&(t=l,n)){let c=!it.length;for(let s of r)s[1](),it.push(s,t);if(c){for(let s=0;s{r.delete(s),r.size===0&&n&&(n(),n=null)}}return{set:o,update:i,subscribe:a}}var Ke=Je(null);function Xe(t,e,n){let r=t.slice();return r[7]=e[n],r}function Ye(t,e,n){let r=t.slice();return r[10]=e[n],r}function Qe(t,e,n){let r=t.slice();return r[13]=e[n],r}function Ze(t){let e,n,r=t[2][t[13].name]+"",o,i,a,l;function c(){return t[5](t[13])}return{c(){e=x("li"),n=x("div"),o=U(r),i=L(),this.h()},l(s){e=E(s,"LI",{class:!0,"data-test-id":!0});var u=F(e);n=E(u,"DIV",{class:!0});var d=F(n);o=pt(d,r),d.forEach(_),i=q(u),u.forEach(_),this.h()},h(){m(n,"class","pl-2"),m(e,"class","pb-1"),m(e,"data-test-id","nav-item")},m(s,u){C(s,e,u),w(e,n),w(n,o),w(e,i),a||(l=[W(e,"mouseenter",c),W(e,"mouseleave",rn)],a=!0)},p(s,u){t=s,u&1&&r!==(r=t[2][t[13].name]+"")&&Ot(o,r)},d(s){s&&_(e),a=!1,S(l)}}}function tn(t){let e,n,r=t[10].name+"",o,i,a,l=B(t[10].items),c=[];for(let s=0;s{r&&(n||(n=mt(e,ee,{duration:300},!0)),n.run(1))}),r=!0)},o(o){o&&(n||(n=mt(e,ee,{duration:300},!1)),n.run(0)),r=!1},d(o){o&&_(e),o&&n&&n.end()}}}function qr(t){let e,n=B(currentDefinitions),r=[];for(let o=0;o{M&&(O||(O=mt(s,ne,{x:384},!0)),O.run(1))}),M=!0)},o(h){ot(D),h&&(O||(O=mt(s,ne,{x:384},!1)),O.run(0)),M=!1},d(h){h&&(_(e),_(l),_(c),_(s)),Et($,h),D&&D.d(h),P&&P.d(),h&&O&&O.end(),I=!1,S(z)}}}var nn=!1;function Rr(){console.log("expandCategoryMenu!!")}function Br(){console.log("dragStart!!")}function rn(){console.log("collapseCategoryMenu!!")}function zr(t,e,n){let r,o,i;je(t,Ke,u=>n(1,i=u));let{components:a}=e,l={nav:"Navs",header:"Headers",sign_in:"Sign ins",sign_up:"Sign ups",stats:"Stats",footer:"Footers",basic:"Basics",other:"Other"},c=u=>Rr(u),s=(u,d)=>Br(u,d);return t.$$set=u=>{"components"in u&&n(3,a=u.components)},t.$$.update=()=>{if(t.$$.dirty&8){t:n(4,o=a)}if(t.$$.dirty&16){t:n(0,r=[{name:"Base",items:Array.from(new Set(o.map(u=>u.category))).map(u=>({id:u,name:u}))}])}},[r,i,l,a,o,c,s]}var re=class extends K{constructor(e){super(),It(this,e,zr,Nr,Q,{components:3})}},oe=re;var ae={};Pt(ae,{default:()=>Vr});function Hr(t){let e,n,r;return n=new oe({props:{components:t[0]}}),{c(){e=x("div"),Ve(n.$$.fragment),this.h()},l(o){e=E(o,"DIV",{class:!0,"data-test-id":!0});var i=F(e);Ge(n.$$.fragment,i),i.forEach(_),this.h()},h(){m(e,"class","flex min-h-screen bg-gray-100"),m(e,"data-test-id","app-container")},m(o,i){C(o,e,i),Zt(n,e,null),r=!0},p(o,[i]){let a={};i&1&&(a.components=o[0]),n.$set(a)},i(o){r||(V(n.$$.fragment,o),r=!0)},o(o){ot(n.$$.fragment,o),r=!1},d(o){o&&_(e),te(n)}}}function Wr(t,e,n){let{components:r}=e;return t.$$set=o=>{"components"in o&&n(0,r=o.components)},[r]}var se=class extends K{constructor(e){super(),It(this,e,Wr,Hr,Q,{components:0})}},Vr=se;var Gr=[ie,ae],Ur=Gr,Jr=["../svelte/components/ComponentsSidebar.svelte","../svelte/components/UiBuilder.svelte"];var on={};on.CodeEditorHook=we;Tt.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>Tt.default.show(300));window.addEventListener("phx:page-loading-stop",t=>Tt.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var Kr=document.querySelector("html").getAttribute("phx-socket")||"/live",Xr=document.querySelector("meta[name='csrf-token']").getAttribute("content"),sn=new LiveView.LiveSocket(Kr,Phoenix.Socket,{hooks:{...Fe(ce),...on},params:{_csrf_token:Xr}});sn.connect();window.liveSocket=sn;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-fa3985f87e63123059fd83f3d0448928.js.gz b/priv/static/beacon_live_admin-fa3985f87e63123059fd83f3d0448928.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..bb8645ea221282485233cb81dac1b5a3dfb1641d GIT binary patch literal 14510 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 z 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 MCt2l!6C0WU0Cfcg)&Kwi literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin-fa745c76d57da42ad250600f2717909c.js b/priv/static/beacon_live_admin-fa745c76d57da42ad250600f2717909c.js new file mode 100644 index 00000000..65f55167 --- /dev/null +++ b/priv/static/beacon_live_admin-fa745c76d57da42ad250600f2717909c.js @@ -0,0 +1,22 @@ +var BeaconLiveAdmin=(()=>{var gn=Object.create;var yt=Object.defineProperty;var bn=Object.getOwnPropertyDescriptor;var yn=Object.getOwnPropertyNames;var xn=Object.getPrototypeOf,vn=Object.prototype.hasOwnProperty;var $n=(t,e,n)=>e in t?yt(t,e,{enumerable:!0,configurable:!0,writable:!0,value:n}):t[e]=n;var wn=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports),xt=(t,e)=>{for(var n in e)yt(t,n,{get:e[n],enumerable:!0})},kn=(t,e,n,r)=>{if(e&&typeof e=="object"||typeof e=="function")for(let o of yn(e))!vn.call(t,o)&&o!==n&&yt(t,o,{get:()=>e[o],enumerable:!(r=bn(e,o))||r.enumerable});return t};var En=(t,e,n)=>(n=t!=null?gn(xn(t)):{},kn(e||!t||!t.__esModule?yt(n,"default",{value:t,enumerable:!0}):n,t));var O=(t,e,n)=>($n(t,typeof e!="symbol"?e+"":e,n),n);var we=wn(($e,vt)=>{(function(t,e){"use strict";(function(){for(var d=0,p=["ms","moz","webkit","o"],b=0;bg.show(),d)}else o=!0,a!==null&&t.cancelAnimationFrame(a),n||u(),n.style.opacity=1,n.style.display="block",g.progress(0),s.autoRun&&function p(){i=t.requestAnimationFrame(p),g.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(d){return typeof d>"u"||(typeof d=="string"&&(d=(d.indexOf("+")>=0||d.indexOf("-")>=0?r:0)+parseFloat(d)),r=d>1?1:d,f()),r},hide:function(){clearTimeout(c),c=null,o&&(o=!1,i!=null&&(t.cancelAnimationFrame(i),i=null),function d(){if(g.progress("+.1")>=1&&(n.style.opacity-=.05,n.style.opacity<=.05)){n.style.display="none",a=null;return}a=t.requestAnimationFrame(d)}())}};typeof vt=="object"&&typeof vt.exports=="object"?vt.exports=g:typeof define=="function"&&define.amd?define(function(){return g}):this.topbar=g}).call($e,window,document)});var Vt=En(we());function On(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function ke(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(t);e&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(t,o).enumerable})),n.push.apply(n,r)}return n}function Ee(t){for(var e=1;e=0)&&(n[o]=t[o]);return n}function Sn(t,e){if(t==null)return{};var n=Fn(t,e),r,o;if(Object.getOwnPropertySymbols){var i=Object.getOwnPropertySymbols(t);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(t,r)&&(n[r]=t[r])}return n}function Cn(t,e){return Mn(t)||jn(t,e)||An(t,e)||In()}function Mn(t){if(Array.isArray(t))return t}function jn(t,e){if(!(typeof Symbol>"u"||!(Symbol.iterator in Object(t)))){var n=[],r=!0,o=!1,i=void 0;try{for(var a=t[Symbol.iterator](),c;!(r=(c=a.next()).done)&&(n.push(c.value),!(e&&n.length===e));r=!0);}catch(l){o=!0,i=l}finally{try{!r&&a.return!=null&&a.return()}finally{if(o)throw i}}return n}}function An(t,e){if(t){if(typeof t=="string")return Oe(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);if(n==="Object"&&t.constructor&&(n=t.constructor.name),n==="Map"||n==="Set")return Array.from(t);if(n==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n))return Oe(t,e)}}function Oe(t,e){(e==null||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n=t.length?t.apply(this,o):function(){for(var a=arguments.length,c=new Array(a),l=0;l1&&arguments[1]!==void 0?arguments[1]:{};$t.initial(t),$t.handler(e);var n={current:t},r=pt(Un)(n,e),o=pt(Gn)(n),i=pt($t.changes)(t),a=pt(Wn)(n);function c(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(f){return f};return $t.selector(s),s(n.current)}function l(s){Pn(r,o,i,a)(s)}return[c,l]}function Wn(t,e){return ht(e)?e(t.current):e}function Gn(t,e){return t.current=Se(Se({},t.current),e),e}function Un(t,e,n){return ht(e)?e(t.current):Object.keys(n).forEach(function(r){var o;return(o=e[r])===null||o===void 0?void 0:o.call(e,t.current[r])}),n}var Jn={create:Vn},Kn=Jn,Xn={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},Yn=Xn;function Qn(t){return function e(){for(var n=this,r=arguments.length,o=new Array(r),i=0;i=t.length?t.apply(this,o):function(){for(var a=arguments.length,c=new Array(a),l=0;l[{token:"",foreground:t.default},{token:"variable",foreground:t.lightRed},{token:"constant",foreground:t.blue},{token:"constant.character.escape",foreground:t.blue},{token:"comment",foreground:t.gray},{token:"number",foreground:t.blue},{token:"regexp",foreground:t.lightRed},{token:"type",foreground:t.lightRed},{token:"string",foreground:t.green},{token:"keyword",foreground:t.purple},{token:"operator",foreground:t.peach},{token:"delimiter.bracket.embed",foreground:t.red},{token:"sigil",foreground:t.teal},{token:"function",foreground:t.blue},{token:"function.call",foreground:t.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:t.lightRed},{token:"keyword.table",foreground:t.lightRed},{token:"string.link.md",foreground:t.blue},{token:"variable.md",foreground:t.teal},{token:"string.md",foreground:t.default},{token:"variable.source.md",foreground:t.default},{token:"tag",foreground:t.lightRed},{token:"metatag",foreground:t.lightRed},{token:"attribute.name",foreground:t.peach},{token:"attribute.value",foreground:t.green},{token:"string.key",foreground:t.lightRed},{token:"keyword.json",foreground:t.blue},{token:"operator.sql",foreground:t.purple}],$r={base:"vs-dark",inherit:!1,rules:vr(Jt),colors:{"editor.background":Jt.background,"editor.foreground":Jt.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},wr=class{constructor(t,e,n,r){this.el=t,this.path=e,this.value=n,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(t){this._onMount.push(t)}dispose(){if(this.isMounted()){let t=this.standalone_code_editor.getModel();t&&t.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,Me.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),Me.init().then(t=>{t.editor.defineTheme("default",$r);let e=t.Uri.parse(this.path),n=this.opts.language,r=t.editor.createModel(this.value,n,e);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=t.editor.create(this.el,this.opts),this._onMount.forEach(i=>i(t)),this._setScreenDependantEditorOptions(),new ResizeObserver(i=>{console.log("resizeObserver"),i.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let i=this.standalone_code_editor.getContentHeight();this.el.style.height=`${i}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},kr=wr,Pe={mounted(){let t=JSON.parse(this.el.dataset.opts);this.codeEditor=new kr(this.el,this.el.dataset.path,this.el.dataset.value,t),this.codeEditor.onMount(e=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,n=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==n.mimeTypeOrLanguageId&&e.editor.setModelLanguage(r,n.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,n=>{this.codeEditor.standalone_code_editor.setValue(n.value)}),this.el.querySelectorAll("textarea").forEach(n=>{n.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};function Er(t){if(!Array.isArray(t.default)||!Array.isArray(t.filenames))return t;let e={};for(let[n,r]of t.default.entries()){let o=r.default,i=t.filenames[n].replace("../svelte/","").replace(".svelte","");e[i]=o}return e}function _t(t,e){let n=t.el.getAttribute(e);return n?JSON.parse(n):{}}function De(t){t.parentNode?.removeChild(t)}function qe(t,e,n){t.insertBefore(e,n||null)}function Le(){}function Or(t){let e={};for(let n in _t(t,"data-slots")){let r=()=>({getElement(){let o=_t(t,"data-slots")[n],i=document.createElement("div");return i.innerHTML=atob(o).trim(),i},update(){De(this.savedElement),this.savedElement=this.getElement(),qe(this.savedTarget,this.savedElement,this.savedAnchor)},c:Le,m(o,i){this.savedTarget=o,this.savedAnchor=i,this.savedElement=this.getElement(),qe(this.savedTarget,this.savedElement,this.savedAnchor)},d(o){o&&De(this.savedElement)},l:Le});e[n]=[r]}return e}function Fr(t){let e=_t(t,"data-live-json");if(!Array.isArray(e))return e;let n={};for(let r of e){let o=window[r];o&&(n[r]=o)}return n}function Et(t){return{..._t(t,"data-props"),...Fr(t),live:t,$$slots:Or(t),$$scope:{}}}function Sr(t){return t.$$.ctx.find(e=>e?.default)}function Ne(t){return t=Er(t),{SvelteHook:{mounted(){let n=this.el.getAttribute("data-name");if(!n)throw new Error("Component name must be provided");let r=t[n];if(!r)throw new Error(`Unable to find ${n} component.`);for(let o of Object.keys(_t(this,"data-live-json")))window.addEventListener(`${o}_initialized`,i=>this._instance.$set(Et(this)),!1),window.addEventListener(`${o}_patched`,i=>this._instance.$set(Et(this)),!1);this._instance=new r({target:this.el,props:Et(this),hydrate:this.el.hasAttribute("data-ssr")})},updated(){this._instance.$set(Et(this));let n=Sr(this._instance);for(let r in n)n[r][0]().update()},destroyed(){}}}}var xe={};xt(xe,{default:()=>io,filenames:()=>so});var pe={};xt(pe,{backdropVisible:()=>Ht,default:()=>de});function M(){}var rt=t=>t;function Kt(t){return t()}function Ft(){return Object.create(null)}function j(t){t.forEach(Kt)}function Z(t){return typeof t=="function"}function K(t,e){return t!=t?e==e:t!==e||t&&typeof t=="object"||typeof t=="function"}var Ot;function Xt(t,e){return t===e?!0:(Ot||(Ot=document.createElement("a")),Ot.href=e,t===Ot.href)}function Re(t){return Object.keys(t).length===0}function St(t,...e){if(t==null){for(let r of e)r(void 0);return M}let n=t.subscribe(...e);return n.unsubscribe?()=>n.unsubscribe():n}function Ct(t,e,n){t.$$.on_destroy.push(St(e,n))}var Be=typeof window<"u",Yt=Be?()=>window.performance.now():()=>Date.now(),gt=Be?t=>requestAnimationFrame(t):M;var ot=new Set;function ze(t){ot.forEach(e=>{e.c(t)||(ot.delete(e),e.f())}),ot.size!==0&>(ze)}function Qt(t){let e;return ot.size===0&>(ze),{promise:new Promise(n=>{ot.add(e={c:t,f:n})}),abort(){ot.delete(e)}}}var Zt=typeof window<"u"?window:typeof globalThis<"u"?globalThis:global;var it=class{constructor(e){O(this,"_listeners","WeakMap"in Zt?new WeakMap:void 0);O(this,"_observer");O(this,"options");this.options=e}observe(e,n){return this._listeners.set(e,n),this._getObserver().observe(e,this.options),()=>{this._listeners.delete(e),this._observer.unobserve(e)}}_getObserver(){return this._observer??(this._observer=new ResizeObserver(e=>{for(let n of e)it.entries.set(n.target,n),this._listeners.get(n.target)?.(n)}))}};it.entries="WeakMap"in Zt?new WeakMap:void 0;var Mt=!1;function He(){Mt=!0}function Ve(){Mt=!1}function Mr(t,e,n,r){for(;t>1);n(o)<=r?t=o+1:e=o}return t}function jr(t){if(t.hydrate_init)return;t.hydrate_init=!0;let e=t.childNodes;if(t.nodeName==="HEAD"){let l=[];for(let s=0;s0&&e[n[o]].claim_order<=s?o+1:Mr(1,o,g=>e[n[g]].claim_order,s))-1;r[l]=n[f]+1;let u=f+1;n[u]=l,o=Math.max(u,o)}let i=[],a=[],c=e.length-1;for(let l=n[o]+1;l!=0;l=r[l-1]){for(i.push(e[l-1]);c>=l;c--)a.push(e[c]);c--}for(;c>=0;c--)a.push(e[c]);i.reverse(),a.sort((l,s)=>l.claim_order-s.claim_order);for(let l=0,s=0;l=i[s].claim_order;)s++;let f=st.removeEventListener(e,n,r)}function h(t,e,n){n==null?t.removeAttribute(e):t.getAttribute(e)!==n&&t.setAttribute(e,n)}function ee(t){return t.dataset.svelteH}function F(t){return Array.from(t.childNodes)}function Ar(t){t.claim_info===void 0&&(t.claim_info={last_index:0,total_claimed:0})}function Ke(t,e,n,r,o=!1){Ar(t);let i=(()=>{for(let a=t.claim_info.last_index;a=0;a--){let c=t[a];if(e(c)){let l=n(c);return l===void 0?t.splice(a,1):t[a]=l,o?l===void 0&&t.claim_info.last_index--:t.claim_info.last_index=a,c}}return r()})();return i.claim_order=t.claim_info.total_claimed,t.claim_info.total_claimed+=1,i}function Ir(t,e,n,r){return Ke(t,o=>o.nodeName===e,o=>{let i=[];for(let a=0;ao.removeAttribute(a))},()=>r(e))}function E(t,e,n){return Ir(t,e,n,y)}function tt(t,e){return Ke(t,n=>n.nodeType===3,n=>{let r=""+e;if(n.data.startsWith(r)){if(n.data.length!==r.length)return n.splitText(r.length)}else n.data=r},()=>z(e),!0)}function L(t){return tt(t," ")}function It(t,e){e=""+e,t.data!==e&&(t.data=e)}function Xe(t,e,n){t.classList.toggle(e,!!n)}function Tt(t,e,{bubbles:n=!1,cancelable:r=!1}={}){return new CustomEvent(t,{detail:e,bubbles:n,cancelable:r})}function Ye(t){let e={};return t.childNodes.forEach(n=>{e[n.slot||"default"]=!0}),e}var Pt=new Map,Dt=0;function Tr(t){let e=5381,n=t.length;for(;n--;)e=(e<<5)-e^t.charCodeAt(n);return e>>>0}function Pr(t,e){let n={stylesheet:Ue(e),rules:{}};return Pt.set(t,n),n}function qt(t,e,n,r,o,i,a,c=0){let l=16.666/r,s=`{ +`;for(let $=0;$<=1;$+=l){let S=e+(n-e)*i($);s+=$*100+`%{${a(S,1-S)}} +`}let f=s+`100% {${a(n,1-n)}} +}`,u=`__svelte_${Tr(f)}_${c}`,g=jt(t),{stylesheet:d,rules:p}=Pt.get(g)||Pr(g,t);p[u]||(p[u]=!0,d.insertRule(`@keyframes ${u} ${f}`,d.cssRules.length));let b=t.style.animation||"";return t.style.animation=`${b?`${b}, `:""}${u} ${r}ms linear ${o}ms 1 both`,Dt+=1,u}function ne(t,e){let n=(t.style.animation||"").split(", "),r=n.filter(e?i=>i.indexOf(e)<0:i=>i.indexOf("__svelte")===-1),o=n.length-r.length;o&&(t.style.animation=r.join(", "),Dt-=o,Dt||Dr())}function Dr(){gt(()=>{Dt||(Pt.forEach(t=>{let{ownerNode:e}=t.stylesheet;e&&m(e)}),Pt.clear())})}var st;function H(t){st=t}var et=[];var Qe=[],ct=[],Ze=[],qr=Promise.resolve(),oe=!1;function tn(){oe||(oe=!0,qr.then(Lt))}function N(t){ct.push(t)}var re=new Set,at=0;function Lt(){if(at!==0)return;let t=st;do{try{for(;att.indexOf(r)===-1?e.push(r):n.push(r)),n.forEach(r=>r()),ct=e}var bt;function Nr(){return bt||(bt=Promise.resolve(),bt.then(()=>{bt=null})),bt}function ie(t,e,n){t.dispatchEvent(Tt(`${e?"intro":"outro"}${n}`))}var Nt=new Set,V;function se(){V={r:0,c:[],p:V}}function ae(){V.r||j(V.c),V=V.p}function T(t,e){t&&t.i&&(Nt.delete(t),t.i(e))}function B(t,e,n,r){if(t&&t.o){if(Nt.has(t))return;Nt.add(t),V.c.push(()=>{Nt.delete(t),r&&(n&&t.d(1),r())}),t.o(e)}else r&&r()}var Rr={duration:0};function Q(t,e,n,r){let i=e(t,n,{direction:"both"}),a=r?0:1,c=null,l=null,s=null,f;function u(){s&&ne(t,s)}function g(p,b){let $=p.b-a;return b*=Math.abs($),{a,b:p.b,d:$,duration:b,start:p.start,end:p.start+b,group:p.group}}function d(p){let{delay:b=0,duration:$=300,easing:S=rt,tick:A=M,css:P}=i||Rr,U={start:Yt()+b,b:p};p||(U.group=V,V.r+=1),"inert"in t&&(p?f!==void 0&&(t.inert=f):(f=t.inert,t.inert=!0)),c||l?l=U:(P&&(u(),s=qt(t,a,p,$,b,S,P)),p&&A(0,1),c=g(U,$),N(()=>ie(t,p,"start")),Qt(D=>{if(l&&D>l.start&&(c=g(l,$),l=null,ie(t,c.b,"start"),P&&(u(),s=qt(t,a,c.b,c.duration,0,S,i.css))),c){if(D>=c.end)A(a=c.b,1-a),ie(t,c.b,"end"),l||(c.b?u():--c.group.r||j(c.group.c)),c=null;else if(D>=c.start){let w=D-c.start;a=c.a+c.d*S(w/c.duration),A(a,1-a)}}return!!(c||l)}))}return{run(p){Z(i)?Nr().then(()=>{i=i({direction:p?"in":"out"}),d(p)}):d(p)},end(){u(),c=l=null}}}function W(t){return t?.length!==void 0?t:Array.from(t)}var Br=["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","controls","default","defer","disabled","formnovalidate","hidden","inert","ismap","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected"],zr=new Set([...Br]);function le(t){t&&t.c()}function ue(t,e){t&&t.l(e)}function Rt(t,e,n){let{fragment:r,after_update:o}=t.$$;r&&r.m(e,n),N(()=>{let i=t.$$.on_mount.map(Kt).filter(Z);t.$$.on_destroy?t.$$.on_destroy.push(...i):j(i),t.$$.on_mount=[]}),o.forEach(N)}function Bt(t,e){let n=t.$$;n.fragment!==null&&(en(n.after_update),j(n.on_destroy),n.fragment&&n.fragment.d(e),n.on_destroy=n.fragment=null,n.ctx=[])}function Vr(t,e){t.$$.dirty[0]===-1&&(et.push(t),tn(),t.$$.dirty.fill(0)),t.$$.dirty[e/31|0]|=1<{let p=d.length?d[0]:g;return s.ctx&&o(s.ctx[u],s.ctx[u]=p)&&(!s.skip_bound&&s.bound[u]&&s.bound[u](p),f&&Vr(t,u)),g}):[],s.update(),f=!0,j(s.before_update),s.fragment=r?r(s.ctx):!1,e.target){if(e.hydrate){He();let u=F(e.target);s.fragment&&s.fragment.l(u),u.forEach(m)}else s.fragment&&s.fragment.c();e.intro&&T(t.$$.fragment),Rt(t,e.target,e.anchor),Ve(),Lt()}H(l)}var Wr;typeof HTMLElement=="function"&&(Wr=class extends HTMLElement{constructor(e,n,r){super();O(this,"$$ctor");O(this,"$$s");O(this,"$$c");O(this,"$$cn",!1);O(this,"$$d",{});O(this,"$$r",!1);O(this,"$$p_d",{});O(this,"$$l",{});O(this,"$$l_u",new Map);this.$$ctor=e,this.$$s=n,r&&this.attachShadow({mode:"open"})}addEventListener(e,n,r){if(this.$$l[e]=this.$$l[e]||[],this.$$l[e].push(n),this.$$c){let o=this.$$c.$on(e,n);this.$$l_u.set(n,o)}super.addEventListener(e,n,r)}removeEventListener(e,n,r){if(super.removeEventListener(e,n,r),this.$$c){let o=this.$$l_u.get(n);o&&(o(),this.$$l_u.delete(n))}}async connectedCallback(){if(this.$$cn=!0,!this.$$c){let e=function(i){return()=>{let a;return{c:function(){a=y("slot"),i!=="default"&&h(a,"name",i)},m:function(s,f){te(s,a,f)},d:function(s){s&&m(a)}}}};if(await Promise.resolve(),!this.$$cn)return;let n={},r=Ye(this);for(let i of this.$$s)i in r&&(n[i]=[e(i)]);for(let i of this.attributes){let a=this.$$g_p(i.name);a in this.$$d||(this.$$d[a]=ce(a,i.value,this.$$p_d,"toProp"))}this.$$c=new this.$$ctor({target:this.shadowRoot||this,props:{...this.$$d,$$slots:n,$$scope:{ctx:[]}}});let o=()=>{this.$$r=!0;for(let i in this.$$p_d)if(this.$$d[i]=this.$$c.$$.ctx[this.$$c.$$.props[i]],this.$$p_d[i].reflect){let a=ce(i,this.$$d[i],this.$$p_d,"toAttribute");a==null?this.removeAttribute(this.$$p_d[i].attribute||i):this.setAttribute(this.$$p_d[i].attribute||i,a)}this.$$r=!1};this.$$c.$$.after_update.push(o),o();for(let i in this.$$l)for(let a of this.$$l[i]){let c=this.$$c.$on(i,a);this.$$l_u.set(a,c)}this.$$l={}}}attributeChangedCallback(e,n,r){this.$$r||(e=this.$$g_p(e),this.$$d[e]=ce(e,r,this.$$p_d,"toProp"),this.$$c?.$set({[e]:this.$$d[e]}))}disconnectedCallback(){this.$$cn=!1,Promise.resolve().then(()=>{this.$$cn||(this.$$c.$destroy(),this.$$c=void 0)})}$$g_p(e){return Object.keys(this.$$p_d).find(n=>this.$$p_d[n].attribute===e||!this.$$p_d[n].attribute&&n.toLowerCase()===e)||e}});function ce(t,e,n,r){let o=n[t]?.type;if(e=o==="Boolean"&&typeof e!="boolean"?e!=null:e,!r||!n[t])return e;if(r==="toAttribute")switch(o){case"Object":case"Array":return e==null?null:JSON.stringify(e);case"Boolean":return e?"":null;case"Number":return e??null;default:return e}else switch(o){case"Object":case"Array":return e&&JSON.parse(e);case"Boolean":return e;case"Number":return e!=null?+e:e;default:return e}}var G=class{constructor(){O(this,"$$");O(this,"$$set")}$destroy(){Bt(this,1),this.$destroy=M}$on(e,n){if(!Z(n))return M;let r=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return r.push(n),()=>{let o=r.indexOf(n);o!==-1&&r.splice(o,1)}}$set(e){this.$$set&&!Re(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};var nn="4";typeof window<"u"&&(window.__svelte||(window.__svelte={v:new Set})).v.add(nn);function ut(t,{delay:e=0,duration:n=400,easing:r=rt}={}){let o=+getComputedStyle(t).opacity;return{delay:e,duration:n,easing:r,css:i=>`opacity: ${i*o}`}}var ft=[];function zt(t,e=M){let n,r=new Set;function o(c){if(K(t,c)&&(t=c,n)){let l=!ft.length;for(let s of r)s[1](),ft.push(s,t);if(l){for(let s=0;s{r.delete(s),r.size===0&&n&&(n(),n=null)}}return{set:o,update:i,subscribe:a}}function rn(t){let e,n,r;return{c(){e=y("div"),this.h()},l(o){e=E(o,"DIV",{class:!0,"data-test-id":!0}),F(e).forEach(m),this.h()},h(){h(e,"class","bg-black/50 absolute inset-0 z-30"),h(e,"data-test-id","backdrop")},m(o,i){v(o,e,i),r=!0},i(o){r||(o&&N(()=>{r&&(n||(n=Q(e,ut,{},!0)),n.run(1))}),r=!0)},o(o){o&&(n||(n=Q(e,ut,{},!1)),n.run(0)),r=!1},d(o){o&&m(e),o&&n&&n.end()}}}function Gr(t){let e,n=t[0]&&rn(t);return{c(){n&&n.c(),e=X()},l(r){n&&n.l(r),e=X()},m(r,o){n&&n.m(r,o),v(r,e,o)},p(r,[o]){r[0]?n?o&1&&T(n,1):(n=rn(r),n.c(),T(n,1),n.m(e.parentNode,e)):n&&(se(),B(n,1,1,()=>{n=null}),ae())},i(r){T(n)},o(r){B(n)},d(r){r&&m(e),n&&n.d(r)}}}var Ht=zt(!1);function Ur(t,e,n){let r,o=M,i=()=>(o(),o=St(Ht,a=>n(0,r=a)),Ht);return Ct(t,Ht,a=>n(0,r=a)),t.$$.on_destroy.push(()=>o()),[r]}var fe=class extends G{constructor(e){super(),lt(this,e,Ur,Gr,K,{})}},de=fe;var ge={};xt(ge,{default:()=>_e});function he(t,{delay:e=0,duration:n=300,x:r=0,y:o=0}){return{delay:e,duration:n,css:i=>`transform: translate(${r*i}px, ${o*i}px)`}}var on=zt(null);function Jr(t){Ge(t,"svelte-1q6nykn","#left-sidebar.svelte-1q6nykn{z-index:1000}#component-previews.svelte-1q6nykn,#backdrop.svelte-1q6nykn{z-index:999}")}function sn(t,e,n){let r=t.slice();return r[8]=e[n],r}function an(t,e,n){let r=t.slice();return r[11]=e[n],r}function cn(t,e,n){let r=t.slice();return r[14]=e[n],r}function ln(t){let e,n,r=t[3][t[14].name]+"",o,i,a,c;function l(){return t[6](t[14])}return{c(){e=y("li"),n=y("div"),o=z(r),i=q(),this.h()},l(s){e=E(s,"LI",{class:!0,"data-test-id":!0});var f=F(e);n=E(f,"DIV",{class:!0});var u=F(n);o=tt(u,r),u.forEach(m),i=L(f),f.forEach(m),this.h()},h(){h(n,"class","pl-2"),h(e,"class","pb-1"),h(e,"data-test-id","nav-item")},m(s,f){v(s,e,f),k(e,n),k(n,o),k(e,i),a||(c=[Y(e,"mouseenter",l),Y(e,"mouseleave",hn)],a=!0)},p(s,f){t=s,f&4&&r!==(r=t[3][t[14].name]+"")&&It(o,r)},d(s){s&&m(e),a=!1,j(c)}}}function un(t){let e,n,r=t[11].name+"",o,i,a,c=W(t[11].items),l=[];for(let s=0;s{r&&(n||(n=Q(e,ut,{duration:300},!0)),n.run(1))}),r=!0)},o(o){o&&(n||(n=Q(e,ut,{duration:300},!1)),n.run(0)),r=!1},d(o){o&&m(e),o&&n&&n.end()}}}function fn(t){let e,n=W(t[1]),r=[];for(let o=0;o{A&&(S||(S=Q(s,he,{x:384},!0)),S.run(1))}),A=!0)},o(_){B(R),_&&(S||(S=Q(s,he,{x:384},!1)),S.run(0)),A=!1},d(_){_&&(m(e),m(c),m(l),m(s)),At(w,_),R&&R.d(_),C&&C.d(),_&&S&&S.end(),P=!1,j(U)}}}var pn=!1;function Yr(){console.log("expandCategoryMenu!!")}function Qr(){console.log("dragStart!!")}function hn(){console.log("collapseCategoryMenu!!")}function Zr(){console.log("abortCollapseCategoryMenu!!")}function to(t,e,n){let r,o,i,a;Ct(t,on,u=>n(0,a=u));let{components:c}=e,l={nav:"Navs",header:"Headers",sign_in:"Sign ins",sign_up:"Sign ups",stats:"Stats",footer:"Footers",basic:"Basics",other:"Other"},s=u=>Yr(u),f=(u,g)=>Qr(u,g);return t.$$set=u=>{"components"in u&&n(4,c=u.components)},t.$$.update=()=>{if(t.$$.dirty&16){t:n(5,o=c)}if(t.$$.dirty&32){t:n(2,r=[{name:"Base",items:Array.from(new Set(o.map(u=>u.category))).map(u=>({id:u,name:u}))}])}if(t.$$.dirty&1){t:n(1,i=a?componentDefinitionsByCategory[a.id]:[])}},[a,i,r,l,c,o,s,f]}var me=class extends G{constructor(e){super(),lt(this,e,to,Xr,K,{components:4},Jr)}},_e=me;var ye={};xt(ye,{default:()=>ro});function eo(t){let e,n,r,o,i,a;return n=new de({}),i=new _e({props:{components:t[0]}}),{c(){e=z(`adljajkdahljashadlshlj +`),le(n.$$.fragment),r=q(),o=y("div"),le(i.$$.fragment),this.h()},l(c){e=tt(c,`adljajkdahljashadlshlj +`),ue(n.$$.fragment,c),r=L(c),o=E(c,"DIV",{class:!0,"data-test-id":!0});var l=F(o);ue(i.$$.fragment,l),l.forEach(m),this.h()},h(){h(o,"class","flex min-h-screen bg-gray-100"),h(o,"data-test-id","app-container")},m(c,l){v(c,e,l),Rt(n,c,l),v(c,r,l),v(c,o,l),Rt(i,o,null),a=!0},p(c,[l]){let s={};l&1&&(s.components=c[0]),i.$set(s)},i(c){a||(T(n.$$.fragment,c),T(i.$$.fragment,c),a=!0)},o(c){B(n.$$.fragment,c),B(i.$$.fragment,c),a=!1},d(c){c&&(m(e),m(r),m(o)),Bt(n,c),Bt(i)}}}function no(t,e,n){let{components:r}=e;return t.$$set=o=>{"components"in o&&n(0,r=o.components)},[r]}var be=class extends G{constructor(e){super(),lt(this,e,no,eo,K,{components:0})}},ro=be;var oo=[pe,ge,ye],io=oo,so=["../svelte/components/Backdrop.svelte","../svelte/components/ComponentsSidebar.svelte","../svelte/components/UiBuilder.svelte"];var mn={};mn.CodeEditorHook=Pe;Vt.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",t=>Vt.default.show(300));window.addEventListener("phx:page-loading-stop",t=>Vt.default.hide());window.addEventListener("lme:editor_mounted",t=>{let e=t.detail.hook,n=t.detail.editor.standalone_code_editor,r=t.detail.editor.path+"_editor_lost_focus";n.onDidBlurEditorWidget(()=>{e.pushEvent(r,{value:n.getValue()})})});window.addEventListener("beacon_admin:clipcopy",t=>{let e=`${t.target.id}-copy-to-clipboard-result`,n=document.getElementById(e);"clipboard"in navigator?(t.target.tagName==="INPUT"?txt=t.target.value:txt=t.target.textContent,navigator.clipboard.writeText(txt).then(()=>{n.innerText="Copied to clipboard",n.classList.remove("invisible","text-red-500","opacity-0"),n.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){n.classList.remove("text-green-500","opacity-100","-translate-y-2"),n.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{n.innerText="Could not copy",n.classList.remove("invisible","text-green-500","opacity-0"),n.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var ao=document.querySelector("html").getAttribute("phx-socket")||"/live",co=document.querySelector("meta[name='csrf-token']").getAttribute("content"),_n=new LiveView.LiveSocket(ao,Phoenix.Socket,{hooks:{...Ne(xe),...mn},params:{_csrf_token:co}});_n.connect();window.liveSocket=_n;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ diff --git a/priv/static/beacon_live_admin-fa745c76d57da42ad250600f2717909c.js.gz b/priv/static/beacon_live_admin-fa745c76d57da42ad250600f2717909c.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..45558ef3bf43730dbb43d8858d94d4c1a8c65b28 GIT binary patch literal 15087 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 { var __getOwnPropNames = Object.getOwnPropertyNames; var __getProtoOf = Object.getPrototypeOf; var __hasOwnProp = Object.prototype.hasOwnProperty; + var __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value; var __commonJS = (cb, mod) => function __require() { return mod || (0, cb[__getOwnPropNames(cb)[0]])((mod = { exports: {} }).exports, mod), mod.exports; }; + var __export = (target, all) => { + for (var name in all) + __defProp(target, name, { get: all[name], enumerable: true }); + }; var __copyProps = (to, from, except, desc) => { if (from && typeof from === "object" || typeof from === "function") { for (let key of __getOwnPropNames(from)) @@ -24,6 +29,10 @@ var BeaconLiveAdmin = (() => { isNodeMode || !mod || !mod.__esModule ? __defProp(target, "default", { value: mod, enumerable: true }) : target, mod )); + var __publicField = (obj, key, value) => { + __defNormalProp(obj, typeof key !== "symbol" ? key + "" : key, value); + return value; + }; // vendor/topbar.js var require_topbar = __commonJS({ @@ -38,8 +47,8 @@ var BeaconLiveAdmin = (() => { window2.cancelAnimationFrame = window2[vendors[x] + "CancelAnimationFrame"] || window2[vendors[x] + "CancelRequestAnimationFrame"]; } if (!window2.requestAnimationFrame) - window2.requestAnimationFrame = function(callback, element) { - var currTime = (/* @__PURE__ */ new Date()).getTime(); + window2.requestAnimationFrame = function(callback, element2) { + var currTime = new Date().getTime(); var timeToCall = Math.max(0, 16 - (currTime - lastTime)); var id = window2.setTimeout(function() { callback(currTime + timeToCall); @@ -124,8 +133,8 @@ var BeaconLiveAdmin = (() => { canvas.style.display = "block"; topbar2.progress(0); if (options.autoRun) { - (function loop() { - progressTimerId = window2.requestAnimationFrame(loop); + (function loop2() { + progressTimerId = window2.requestAnimationFrame(loop2); topbar2.progress( "+" + 0.05 * Math.pow(1 - Math.sqrt(currentProgress), 2) ); @@ -153,7 +162,7 @@ var BeaconLiveAdmin = (() => { window2.cancelAnimationFrame(progressTimerId); progressTimerId = null; } - (function loop() { + (function loop2() { if (topbar2.progress("+.1") >= 1) { canvas.style.opacity -= 0.05; if (canvas.style.opacity <= 0.05) { @@ -162,7 +171,7 @@ var BeaconLiveAdmin = (() => { return; } } - fadeTimerId = window2.requestAnimationFrame(loop); + fadeTimerId = window2.requestAnimationFrame(loop2); })(); } }; @@ -421,8 +430,8 @@ var BeaconLiveAdmin = (() => { if (isEmpty(initial)) errorHandler("initialContent"); } - function throwError(errorMessages3, type) { - throw new Error(errorMessages3[type] || errorMessages3["default"]); + function throwError(errorMessages32, type) { + throw new Error(errorMessages32[type] || errorMessages32["default"]); } var errorMessages = { initialIsRequired: "initial state is required", @@ -450,20 +459,20 @@ var BeaconLiveAdmin = (() => { current: initial }; var didUpdate = curry(didStateUpdate)(state, handler); - var update = curry(updateState)(state); + var update2 = curry(updateState)(state); var validate = curry(validators.changes)(initial); var getChanges = curry(extractChanges)(state); - function getState2() { + function getState22() { var selector = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function(state2) { return state2; }; validators.selector(selector); return selector(state.current); } - function setState2(causedChanges) { - compose(didUpdate, update, validate, getChanges)(causedChanges); + function setState22(causedChanges) { + compose(didUpdate, update2, validate, getChanges)(causedChanges); } - return [getState2, setState2]; + return [getState22, setState22]; } function extractChanges(state, causedChanges) { return isFunction(causedChanges) ? causedChanges(state.current) : causedChanges; @@ -508,26 +517,26 @@ var BeaconLiveAdmin = (() => { return {}.toString.call(value).includes("Object"); } var isObject_default = isObject2; - function validateConfig(config3) { - if (!config3) + function validateConfig(config32) { + if (!config32) errorHandler2("configIsRequired"); - if (!isObject_default(config3)) + if (!isObject_default(config32)) errorHandler2("configType"); - if (config3.urls) { + if (config32.urls) { informAboutDeprecation(); return { paths: { - vs: config3.urls.monacoBase + vs: config32.urls.monacoBase } }; } - return config3; + return config32; } function informAboutDeprecation() { console.warn(errorMessages2.deprecation); } - function throwError2(errorMessages3, type) { - throw new Error(errorMessages3[type] || errorMessages3["default"]); + function throwError2(errorMessages32, type) { + throw new Error(errorMessages32[type] || errorMessages32["default"]); } var errorMessages2 = { configIsRequired: "the configuration object is required", @@ -566,13 +575,13 @@ var BeaconLiveAdmin = (() => { type: "cancelation", msg: "operation is manually canceled" }; - function makeCancelable(promise) { + function makeCancelable(promise2) { var hasCanceled_ = false; var wrappedPromise = new Promise(function(resolve, reject) { - promise.then(function(val) { + promise2.then(function(val) { return hasCanceled_ ? reject(CANCELATION_MESSAGE) : resolve(val); }); - promise["catch"](reject); + promise2["catch"](reject); }); return wrappedPromise.cancel = function() { return hasCanceled_ = true; @@ -590,10 +599,10 @@ var BeaconLiveAdmin = (() => { var getState = _state$create2[0]; var setState = _state$create2[1]; function config2(globalConfig) { - var _validators$config = validators_default.config(globalConfig), monaco = _validators$config.monaco, config3 = _objectWithoutProperties(_validators$config, ["monaco"]); + var _validators$config = validators_default.config(globalConfig), monaco = _validators$config.monaco, config32 = _objectWithoutProperties(_validators$config, ["monaco"]); setState(function(state) { return { - config: deepMerge_default(state.config, config3), + config: deepMerge_default(state.config, config32), monaco }; }); @@ -631,26 +640,26 @@ var BeaconLiveAdmin = (() => { var script = document.createElement("script"); return src && (script.src = src), script; } - function getMonacoLoaderScript(configureLoader2) { + function getMonacoLoaderScript(configureLoader22) { var state = getState(function(_ref2) { - var config3 = _ref2.config, reject = _ref2.reject; + var config32 = _ref2.config, reject = _ref2.reject; return { - config: config3, + config: config32, reject }; }); var loaderScript = createScript("".concat(state.config.paths.vs, "/loader.js")); loaderScript.onload = function() { - return configureLoader2(); + return configureLoader22(); }; loaderScript.onerror = state.reject; return loaderScript; } function configureLoader() { var state = getState(function(_ref3) { - var config3 = _ref3.config, resolve = _ref3.resolve, reject = _ref3.reject; + var config32 = _ref3.config, resolve = _ref3.resolve, reject = _ref3.reject; return { - config: config3, + config: config32, resolve, reject }; @@ -803,6 +812,7 @@ var BeaconLiveAdmin = (() => { this._onMount.forEach((callback) => callback(monaco)); this._setScreenDependantEditorOptions(); const resizeObserver = new ResizeObserver((entries) => { + console.log("resizeObserver"); entries.forEach(() => { if (this.el.offsetHeight > 0) { this._setScreenDependantEditorOptions(); @@ -812,6 +822,7 @@ var BeaconLiveAdmin = (() => { }); resizeObserver.observe(this.el); this.standalone_code_editor.onDidContentSizeChange(() => { + console.log("onDidContentSizeChanges"); const contentHeight = this.standalone_code_editor.getContentHeight(); this.el.style.height = `${contentHeight}px`; }); @@ -846,13 +857,12 @@ var BeaconLiveAdmin = (() => { opts ); this.codeEditor.onMount((monaco) => { - if (this.el.dataset.changeEvent && this.el.dataset.changeEvent !== "") { - this.codeEditor.standalone_code_editor.onDidChangeModelContent(() => { - this.pushEvent(this.el.dataset.changeEvent, { - value: this.codeEditor.standalone_code_editor.getValue() - }); - }); - } + this.el.dispatchEvent( + new CustomEvent("lme:editor_mounted", { + detail: { hook: this, editor: this.codeEditor }, + bubbles: true + }) + ); this.handleEvent( "lme:change_language:" + this.el.dataset.path, (data) => { @@ -873,12 +883,6 @@ var BeaconLiveAdmin = (() => { }); this.el.removeAttribute("data-value"); this.el.removeAttribute("data-opts"); - this.el.dispatchEvent( - new CustomEvent("lme:editor_mounted", { - detail: { hook: this, editor: this.codeEditor }, - bubbles: true - }) - ); }); if (!this.codeEditor.isMounted()) { this.codeEditor.mount(); @@ -891,44 +895,10497 @@ var BeaconLiveAdmin = (() => { } }; - // js/beacon_live_admin.js - var Hooks = {}; - Hooks.CodeEditorHook = CodeEditorHook; - import_topbar.default.config({ barColors: { 0: "#29d" }, shadowColor: "rgba(0, 0, 0, .3)" }); - window.addEventListener("phx:page-loading-start", (_info) => import_topbar.default.show(300)); - window.addEventListener("phx:page-loading-stop", (_info) => import_topbar.default.hide()); - window.addEventListener("beacon_admin:clipcopy", (event) => { - const result_id = `${event.target.id}-copy-to-clipboard-result`; - const el = document.getElementById(result_id); - if ("clipboard" in navigator) { - if (event.target.tagName === "INPUT") { - txt = event.target.value; + // ../deps/live_svelte/priv/static/live_svelte.esm.js + function normalizeComponents(components) { + if (!Array.isArray(components.default) || !Array.isArray(components.filenames)) + return components; + const normalized = {}; + for (const [index3, module] of components.default.entries()) { + const Component = module.default; + const name = components.filenames[index3].replace("../svelte/", "").replace(".svelte", ""); + normalized[name] = Component; + } + return normalized; + } + function getAttributeJson(ref, attributeName) { + const data = ref.el.getAttribute(attributeName); + return data ? JSON.parse(data) : {}; + } + function detach(node) { + node.parentNode?.removeChild(node); + } + function insert(target, node, anchor) { + target.insertBefore(node, anchor || null); + } + function noop() { + } + function getSlots(ref) { + const slots = {}; + for (const slotName in getAttributeJson(ref, "data-slots")) { + const slot = () => { + return { + getElement() { + const base64 = getAttributeJson(ref, "data-slots")[slotName]; + const element2 = document.createElement("div"); + element2.innerHTML = atob(base64).trim(); + return element2; + }, + update() { + detach(this.savedElement); + this.savedElement = this.getElement(); + insert(this.savedTarget, this.savedElement, this.savedAnchor); + }, + c: noop, + m(target, anchor) { + this.savedTarget = target; + this.savedAnchor = anchor; + this.savedElement = this.getElement(); + insert(this.savedTarget, this.savedElement, this.savedAnchor); + }, + d(detaching) { + if (detaching) + detach(this.savedElement); + }, + l: noop + }; + }; + slots[slotName] = [slot]; + } + return slots; + } + function getLiveJsonProps(ref) { + const json = getAttributeJson(ref, "data-live-json"); + if (!Array.isArray(json)) + return json; + const liveJsonData = {}; + for (const liveJsonVariable of json) { + const data = window[liveJsonVariable]; + if (data) + liveJsonData[liveJsonVariable] = data; + } + return liveJsonData; + } + function getProps(ref) { + return { + ...getAttributeJson(ref, "data-props"), + ...getLiveJsonProps(ref), + live: ref, + $$slots: getSlots(ref), + $$scope: {} + }; + } + function findSlotCtx(component) { + return component.$$.ctx.find((ctxElement) => ctxElement?.default); + } + function getHooks(components) { + components = normalizeComponents(components); + const SvelteHook = { + mounted() { + const componentName = this.el.getAttribute("data-name"); + if (!componentName) { + throw new Error("Component name must be provided"); + } + const Component = components[componentName]; + if (!Component) { + throw new Error(`Unable to find ${componentName} component.`); + } + for (const liveJsonElement of Object.keys(getAttributeJson(this, "data-live-json"))) { + window.addEventListener(`${liveJsonElement}_initialized`, (event) => this._instance.$set(getProps(this)), false); + window.addEventListener(`${liveJsonElement}_patched`, (event) => this._instance.$set(getProps(this)), false); + } + this._instance = new Component({ + target: this.el, + props: getProps(this), + hydrate: this.el.hasAttribute("data-ssr") + }); + }, + updated() { + this._instance.$set(getProps(this)); + const slotCtx = findSlotCtx(this._instance); + for (const key in slotCtx) { + slotCtx[key][0]().update(); + } + }, + destroyed() { + } + }; + return { + SvelteHook + }; + } + + // import-glob:../svelte/**/*.svelte + var __exports = {}; + __export(__exports, { + default: () => __default, + filenames: () => filenames + }); + + // svelte/components/Backdrop.svelte + var Backdrop_exports = {}; + __export(Backdrop_exports, { + backdropVisible: () => backdropVisible, + default: () => Backdrop_default + }); + + // node_modules/svelte/src/runtime/internal/utils.js + function noop2() { + } + var identity = (x) => x; + function assign(tar, src) { + for (const k in src) + tar[k] = src[k]; + return ( + /** @type {T & S} */ + tar + ); + } + function add_location(element2, file12, line, column, char) { + element2.__svelte_meta = { + loc: { file: file12, line, column, char } + }; + } + function run(fn) { + return fn(); + } + function blank_object() { + return /* @__PURE__ */ Object.create(null); + } + function run_all(fns) { + fns.forEach(run); + } + function is_function(thing) { + return typeof thing === "function"; + } + function safe_not_equal(a, b) { + return a != a ? b == b : a !== b || a && typeof a === "object" || typeof a === "function"; + } + var src_url_equal_anchor; + function src_url_equal(element_src, url) { + if (element_src === url) + return true; + if (!src_url_equal_anchor) { + src_url_equal_anchor = document.createElement("a"); + } + src_url_equal_anchor.href = url; + return element_src === src_url_equal_anchor.href; + } + function is_empty(obj) { + return Object.keys(obj).length === 0; + } + function validate_store(store, name) { + if (store != null && typeof store.subscribe !== "function") { + throw new Error(`'${name}' is not a store with a 'subscribe' method`); + } + } + function subscribe(store, ...callbacks) { + if (store == null) { + for (const callback of callbacks) { + callback(void 0); + } + return noop2; + } + const unsub = store.subscribe(...callbacks); + return unsub.unsubscribe ? () => unsub.unsubscribe() : unsub; + } + function get_store_value(store) { + let value; + subscribe(store, (_) => value = _)(); + return value; + } + function component_subscribe(component, store, callback) { + component.$$.on_destroy.push(subscribe(store, callback)); + } + function create_slot(definition, ctx, $$scope, fn) { + if (definition) { + const slot_ctx = get_slot_context(definition, ctx, $$scope, fn); + return definition[0](slot_ctx); + } + } + function get_slot_context(definition, ctx, $$scope, fn) { + return definition[1] && fn ? assign($$scope.ctx.slice(), definition[1](fn(ctx))) : $$scope.ctx; + } + function get_slot_changes(definition, $$scope, dirty, fn) { + if (definition[2] && fn) { + const lets = definition[2](fn(dirty)); + if ($$scope.dirty === void 0) { + return lets; + } + if (typeof lets === "object") { + const merged = []; + const len = Math.max($$scope.dirty.length, lets.length); + for (let i = 0; i < len; i += 1) { + merged[i] = $$scope.dirty[i] | lets[i]; + } + return merged; + } + return $$scope.dirty | lets; + } + return $$scope.dirty; + } + function update_slot_base(slot, slot_definition, ctx, $$scope, slot_changes, get_slot_context_fn) { + if (slot_changes) { + const slot_context = get_slot_context(slot_definition, ctx, $$scope, get_slot_context_fn); + slot.p(slot_context, slot_changes); + } + } + function get_all_dirty_from_scope($$scope) { + if ($$scope.ctx.length > 32) { + const dirty = []; + const length = $$scope.ctx.length / 32; + for (let i = 0; i < length; i++) { + dirty[i] = -1; + } + return dirty; + } + return -1; + } + function compute_slots(slots) { + const result = {}; + for (const key in slots) { + result[key] = true; + } + return result; + } + function set_store_value(store, ret, value) { + store.set(value); + return ret; + } + function action_destroyer(action_result) { + return action_result && is_function(action_result.destroy) ? action_result.destroy : noop2; + } + + // node_modules/svelte/src/runtime/internal/environment.js + var is_client = typeof window !== "undefined"; + var now = is_client ? () => window.performance.now() : () => Date.now(); + var raf = is_client ? (cb) => requestAnimationFrame(cb) : noop2; + + // node_modules/svelte/src/runtime/internal/loop.js + var tasks = /* @__PURE__ */ new Set(); + function run_tasks(now2) { + tasks.forEach((task) => { + if (!task.c(now2)) { + tasks.delete(task); + task.f(); + } + }); + if (tasks.size !== 0) + raf(run_tasks); + } + function loop(callback) { + let task; + if (tasks.size === 0) + raf(run_tasks); + return { + promise: new Promise((fulfill) => { + tasks.add(task = { c: callback, f: fulfill }); + }), + abort() { + tasks.delete(task); + } + }; + } + + // node_modules/svelte/src/runtime/internal/globals.js + var globals = typeof window !== "undefined" ? window : typeof globalThis !== "undefined" ? globalThis : ( + // @ts-ignore Node typings have this + global + ); + + // node_modules/svelte/src/runtime/internal/ResizeObserverSingleton.js + var ResizeObserverSingleton = class { + /** @param {ResizeObserverOptions} options */ + constructor(options) { + /** + * @private + * @readonly + * @type {WeakMap} + */ + __publicField(this, "_listeners", "WeakMap" in globals ? /* @__PURE__ */ new WeakMap() : void 0); + /** + * @private + * @type {ResizeObserver} + */ + __publicField(this, "_observer"); + /** @type {ResizeObserverOptions} */ + __publicField(this, "options"); + this.options = options; + } + /** + * @param {Element} element + * @param {import('./private.js').Listener} listener + * @returns {() => void} + */ + observe(element2, listener) { + this._listeners.set(element2, listener); + this._getObserver().observe(element2, this.options); + return () => { + this._listeners.delete(element2); + this._observer.unobserve(element2); + }; + } + /** + * @private + */ + _getObserver() { + return this._observer ?? (this._observer = new ResizeObserver((entries) => { + for (const entry of entries) { + ResizeObserverSingleton.entries.set(entry.target, entry); + this._listeners.get(entry.target)?.(entry); + } + })); + } + }; + ResizeObserverSingleton.entries = "WeakMap" in globals ? /* @__PURE__ */ new WeakMap() : void 0; + + // node_modules/svelte/src/runtime/internal/dom.js + var is_hydrating = false; + function start_hydrating() { + is_hydrating = true; + } + function end_hydrating() { + is_hydrating = false; + } + function upper_bound(low, high, key, value) { + while (low < high) { + const mid = low + (high - low >> 1); + if (key(mid) <= value) { + low = mid + 1; } else { - txt = event.target.textContent; + high = mid; } - navigator.clipboard.writeText(txt).then(() => { - el.innerText = "Copied to clipboard"; - el.classList.remove("invisible", "text-red-500", "opacity-0"); - el.classList.add("text-green-500", "opacity-100", "-translate-y-2"); - setTimeout(function() { - el.classList.remove("text-green-500", "opacity-100", "-translate-y-2"); - el.classList.add("invisible", "text-red-500", "opacity-0"); - }, 2e3); - }).catch(() => { - el.innerText = "Could not copy"; - el.classList.remove("invisible", "text-green-500", "opacity-0"); - el.classList.add("text-red-500", "opacity-100", "-translate-y-2"); - }); + } + return low; + } + function init_hydrate(target) { + if (target.hydrate_init) + return; + target.hydrate_init = true; + let children2 = ( + /** @type {ArrayLike} */ + target.childNodes + ); + if (target.nodeName === "HEAD") { + const my_children = []; + for (let i = 0; i < children2.length; i++) { + const node = children2[i]; + if (node.claim_order !== void 0) { + my_children.push(node); + } + } + children2 = my_children; + } + const m = new Int32Array(children2.length + 1); + const p = new Int32Array(children2.length); + m[0] = -1; + let longest = 0; + for (let i = 0; i < children2.length; i++) { + const current = children2[i].claim_order; + const seq_len = (longest > 0 && children2[m[longest]].claim_order <= current ? longest + 1 : upper_bound(1, longest, (idx) => children2[m[idx]].claim_order, current)) - 1; + p[i] = m[seq_len] + 1; + const new_len = seq_len + 1; + m[new_len] = i; + longest = Math.max(new_len, longest); + } + const lis = []; + const to_move = []; + let last = children2.length - 1; + for (let cur = m[longest] + 1; cur != 0; cur = p[cur - 1]) { + lis.push(children2[cur - 1]); + for (; last >= cur; last--) { + to_move.push(children2[last]); + } + last--; + } + for (; last >= 0; last--) { + to_move.push(children2[last]); + } + lis.reverse(); + to_move.sort((a, b) => a.claim_order - b.claim_order); + for (let i = 0, j = 0; i < to_move.length; i++) { + while (j < lis.length && to_move[i].claim_order >= lis[j].claim_order) { + j++; + } + const anchor = j < lis.length ? lis[j] : null; + target.insertBefore(to_move[i], anchor); + } + } + function append(target, node) { + target.appendChild(node); + } + function append_styles(target, style_sheet_id, styles) { + const append_styles_to = get_root_for_style(target); + if (!append_styles_to.getElementById(style_sheet_id)) { + const style = element("style"); + style.id = style_sheet_id; + style.textContent = styles; + append_stylesheet(append_styles_to, style); + } + } + function get_root_for_style(node) { + if (!node) + return document; + const root = node.getRootNode ? node.getRootNode() : node.ownerDocument; + if (root && /** @type {ShadowRoot} */ + root.host) { + return ( + /** @type {ShadowRoot} */ + root + ); + } + return node.ownerDocument; + } + function append_empty_stylesheet(node) { + const style_element = element("style"); + style_element.textContent = "/* empty */"; + append_stylesheet(get_root_for_style(node), style_element); + return style_element.sheet; + } + function append_stylesheet(node, style) { + append( + /** @type {Document} */ + node.head || node, + style + ); + return style.sheet; + } + function append_hydration(target, node) { + if (is_hydrating) { + init_hydrate(target); + if (target.actual_end_child === void 0 || target.actual_end_child !== null && target.actual_end_child.parentNode !== target) { + target.actual_end_child = target.firstChild; + } + while (target.actual_end_child !== null && target.actual_end_child.claim_order === void 0) { + target.actual_end_child = target.actual_end_child.nextSibling; + } + if (node !== target.actual_end_child) { + if (node.claim_order !== void 0 || node.parentNode !== target) { + target.insertBefore(node, target.actual_end_child); + } + } else { + target.actual_end_child = node.nextSibling; + } + } else if (node.parentNode !== target || node.nextSibling !== null) { + target.appendChild(node); + } + } + function insert2(target, node, anchor) { + target.insertBefore(node, anchor || null); + } + function insert_hydration(target, node, anchor) { + if (is_hydrating && !anchor) { + append_hydration(target, node); + } else if (node.parentNode !== target || node.nextSibling != anchor) { + target.insertBefore(node, anchor || null); + } + } + function detach2(node) { + if (node.parentNode) { + node.parentNode.removeChild(node); + } + } + function destroy_each(iterations, detaching) { + for (let i = 0; i < iterations.length; i += 1) { + if (iterations[i]) + iterations[i].d(detaching); + } + } + function element(name) { + return document.createElement(name); + } + function svg_element(name) { + return document.createElementNS("http://www.w3.org/2000/svg", name); + } + function text(data) { + return document.createTextNode(data); + } + function space() { + return text(" "); + } + function empty() { + return text(""); + } + function listen(node, event, handler, options) { + node.addEventListener(event, handler, options); + return () => node.removeEventListener(event, handler, options); + } + function prevent_default(fn) { + return function(event) { + event.preventDefault(); + return fn.call(this, event); + }; + } + function stop_propagation(fn) { + return function(event) { + event.stopPropagation(); + return fn.call(this, event); + }; + } + function attr(node, attribute, value) { + if (value == null) + node.removeAttribute(attribute); + else if (node.getAttribute(attribute) !== value) + node.setAttribute(attribute, value); + } + var always_set_through_set_attribute = ["width", "height"]; + function set_attributes(node, attributes) { + const descriptors = Object.getOwnPropertyDescriptors(node.__proto__); + for (const key in attributes) { + if (attributes[key] == null) { + node.removeAttribute(key); + } else if (key === "style") { + node.style.cssText = attributes[key]; + } else if (key === "__value") { + node.value = node[key] = attributes[key]; + } else if (descriptors[key] && descriptors[key].set && always_set_through_set_attribute.indexOf(key) === -1) { + node[key] = attributes[key]; + } else { + attr(node, key, attributes[key]); + } + } + } + function set_custom_element_data_map(node, data_map) { + Object.keys(data_map).forEach((key) => { + set_custom_element_data(node, key, data_map[key]); + }); + } + function set_custom_element_data(node, prop, value) { + if (prop in node) { + node[prop] = typeof node[prop] === "boolean" && value === "" ? true : value; + } else { + attr(node, prop, value); + } + } + function set_dynamic_element_data(tag) { + return /-/.test(tag) ? set_custom_element_data_map : set_attributes; + } + function get_svelte_dataset(node) { + return node.dataset.svelteH; + } + function children(element2) { + return Array.from(element2.childNodes); + } + function init_claim_info(nodes) { + if (nodes.claim_info === void 0) { + nodes.claim_info = { last_index: 0, total_claimed: 0 }; + } + } + function claim_node(nodes, predicate, process_node, create_node, dont_update_last_index = false) { + init_claim_info(nodes); + const result_node = (() => { + for (let i = nodes.claim_info.last_index; i < nodes.length; i++) { + const node = nodes[i]; + if (predicate(node)) { + const replacement = process_node(node); + if (replacement === void 0) { + nodes.splice(i, 1); + } else { + nodes[i] = replacement; + } + if (!dont_update_last_index) { + nodes.claim_info.last_index = i; + } + return node; + } + } + for (let i = nodes.claim_info.last_index - 1; i >= 0; i--) { + const node = nodes[i]; + if (predicate(node)) { + const replacement = process_node(node); + if (replacement === void 0) { + nodes.splice(i, 1); + } else { + nodes[i] = replacement; + } + if (!dont_update_last_index) { + nodes.claim_info.last_index = i; + } else if (replacement === void 0) { + nodes.claim_info.last_index--; + } + return node; + } + } + return create_node(); + })(); + result_node.claim_order = nodes.claim_info.total_claimed; + nodes.claim_info.total_claimed += 1; + return result_node; + } + function claim_element_base(nodes, name, attributes, create_element) { + return claim_node( + nodes, + /** @returns {node is Element | SVGElement} */ + (node) => node.nodeName === name, + /** @param {Element} node */ + (node) => { + const remove = []; + for (let j = 0; j < node.attributes.length; j++) { + const attribute = node.attributes[j]; + if (!attributes[attribute.name]) { + remove.push(attribute.name); + } + } + remove.forEach((v) => node.removeAttribute(v)); + return void 0; + }, + () => create_element(name) + ); + } + function claim_element(nodes, name, attributes) { + return claim_element_base(nodes, name, attributes, element); + } + function claim_svg_element(nodes, name, attributes) { + return claim_element_base(nodes, name, attributes, svg_element); + } + function claim_text(nodes, data) { + return claim_node( + nodes, + /** @returns {node is Text} */ + (node) => node.nodeType === 3, + /** @param {Text} node */ + (node) => { + const data_str = "" + data; + if (node.data.startsWith(data_str)) { + if (node.data.length !== data_str.length) { + return node.splitText(data_str.length); + } + } else { + node.data = data_str; + } + }, + () => text(data), + true + // Text nodes should not update last index since it is likely not worth it to eliminate an increasing subsequence of actual elements + ); + } + function claim_space(nodes) { + return claim_text(nodes, " "); + } + function get_comment_idx(nodes, text2, start) { + for (let i = start; i < nodes.length; i += 1) { + const node = nodes[i]; + if (node.nodeType === 8 && node.textContent.trim() === text2) { + return i; + } + } + return -1; + } + function claim_html_tag(nodes, is_svg) { + const start_index = get_comment_idx(nodes, "HTML_TAG_START", 0); + const end_index = get_comment_idx(nodes, "HTML_TAG_END", start_index + 1); + if (start_index === -1 || end_index === -1) { + return new HtmlTagHydration(is_svg); + } + init_claim_info(nodes); + const html_tag_nodes = nodes.splice(start_index, end_index - start_index + 1); + detach2(html_tag_nodes[0]); + detach2(html_tag_nodes[html_tag_nodes.length - 1]); + const claimed_nodes = html_tag_nodes.slice(1, html_tag_nodes.length - 1); + for (const n of claimed_nodes) { + n.claim_order = nodes.claim_info.total_claimed; + nodes.claim_info.total_claimed += 1; + } + return new HtmlTagHydration(is_svg, claimed_nodes); + } + function set_style(node, key, value, important) { + if (value == null) { + node.style.removeProperty(key); } else { - alert( - "Sorry, your browser does not support clipboard copy." + node.style.setProperty(key, value, important ? "important" : ""); + } + } + function toggle_class(element2, name, toggle) { + element2.classList.toggle(name, !!toggle); + } + function custom_event(type, detail, { bubbles = false, cancelable = false } = {}) { + return new CustomEvent(type, { detail, bubbles, cancelable }); + } + var HtmlTag = class { + constructor(is_svg = false) { + /** + * @private + * @default false + */ + __publicField(this, "is_svg", false); + /** parent for creating node */ + __publicField(this, "e"); + /** html tag nodes */ + __publicField(this, "n"); + /** target */ + __publicField(this, "t"); + /** anchor */ + __publicField(this, "a"); + this.is_svg = is_svg; + this.e = this.n = null; + } + /** + * @param {string} html + * @returns {void} + */ + c(html) { + this.h(html); + } + /** + * @param {string} html + * @param {HTMLElement | SVGElement} target + * @param {HTMLElement | SVGElement} anchor + * @returns {void} + */ + m(html, target, anchor = null) { + if (!this.e) { + if (this.is_svg) + this.e = svg_element( + /** @type {keyof SVGElementTagNameMap} */ + target.nodeName + ); + else + this.e = element( + /** @type {keyof HTMLElementTagNameMap} */ + target.nodeType === 11 ? "TEMPLATE" : target.nodeName + ); + this.t = target.tagName !== "TEMPLATE" ? target : ( + /** @type {HTMLTemplateElement} */ + target.content + ); + this.c(html); + } + this.i(anchor); + } + /** + * @param {string} html + * @returns {void} + */ + h(html) { + this.e.innerHTML = html; + this.n = Array.from( + this.e.nodeName === "TEMPLATE" ? this.e.content.childNodes : this.e.childNodes ); } + /** + * @returns {void} */ + i(anchor) { + for (let i = 0; i < this.n.length; i += 1) { + insert2(this.t, this.n[i], anchor); + } + } + /** + * @param {string} html + * @returns {void} + */ + p(html) { + this.d(); + this.h(html); + this.i(this.a); + } + /** + * @returns {void} */ + d() { + this.n.forEach(detach2); + } + }; + var HtmlTagHydration = class extends HtmlTag { + constructor(is_svg = false, claimed_nodes) { + super(is_svg); + /** @type {Element[]} hydration claimed nodes */ + __publicField(this, "l"); + this.e = this.n = null; + this.l = claimed_nodes; + } + /** + * @param {string} html + * @returns {void} + */ + c(html) { + if (this.l) { + this.n = this.l; + } else { + super.c(html); + } + } + /** + * @returns {void} */ + i(anchor) { + for (let i = 0; i < this.n.length; i += 1) { + insert_hydration(this.t, this.n[i], anchor); + } + } + }; + function get_custom_elements_slots(element2) { + const result = {}; + element2.childNodes.forEach( + /** @param {Element} node */ + (node) => { + result[node.slot || "default"] = true; + } + ); + return result; + } + + // node_modules/svelte/src/runtime/internal/style_manager.js + var managed_styles = /* @__PURE__ */ new Map(); + var active = 0; + function hash(str) { + let hash2 = 5381; + let i = str.length; + while (i--) + hash2 = (hash2 << 5) - hash2 ^ str.charCodeAt(i); + return hash2 >>> 0; + } + function create_style_information(doc, node) { + const info = { stylesheet: append_empty_stylesheet(node), rules: {} }; + managed_styles.set(doc, info); + return info; + } + function create_rule(node, a, b, duration, delay, ease, fn, uid = 0) { + const step = 16.666 / duration; + let keyframes = "{\n"; + for (let p = 0; p <= 1; p += step) { + const t = a + (b - a) * ease(p); + keyframes += p * 100 + `%{${fn(t, 1 - t)}} +`; + } + const rule = keyframes + `100% {${fn(b, 1 - b)}} +}`; + const name = `__svelte_${hash(rule)}_${uid}`; + const doc = get_root_for_style(node); + const { stylesheet, rules: rules2 } = managed_styles.get(doc) || create_style_information(doc, node); + if (!rules2[name]) { + rules2[name] = true; + stylesheet.insertRule(`@keyframes ${name} ${rule}`, stylesheet.cssRules.length); + } + const animation = node.style.animation || ""; + node.style.animation = `${animation ? `${animation}, ` : ""}${name} ${duration}ms linear ${delay}ms 1 both`; + active += 1; + return name; + } + function delete_rule(node, name) { + const previous = (node.style.animation || "").split(", "); + const next = previous.filter( + name ? (anim) => anim.indexOf(name) < 0 : (anim) => anim.indexOf("__svelte") === -1 + // remove all Svelte animations + ); + const deleted = previous.length - next.length; + if (deleted) { + node.style.animation = next.join(", "); + active -= deleted; + if (!active) + clear_rules(); + } + } + function clear_rules() { + raf(() => { + if (active) + return; + managed_styles.forEach((info) => { + const { ownerNode } = info.stylesheet; + if (ownerNode) + detach2(ownerNode); + }); + managed_styles.clear(); + }); + } + + // node_modules/svelte/src/runtime/internal/lifecycle.js + var current_component; + function set_current_component(component) { + current_component = component; + } + function get_current_component() { + if (!current_component) + throw new Error("Function called outside component initialization"); + return current_component; + } + function onMount(fn) { + get_current_component().$$.on_mount.push(fn); + } + function onDestroy(fn) { + get_current_component().$$.on_destroy.push(fn); + } + function createEventDispatcher() { + const component = get_current_component(); + return (type, detail, { cancelable = false } = {}) => { + const callbacks = component.$$.callbacks[type]; + if (callbacks) { + const event = custom_event( + /** @type {string} */ + type, + detail, + { cancelable } + ); + callbacks.slice().forEach((fn) => { + fn.call(component, event); + }); + return !event.defaultPrevented; + } + return true; + }; + } + + // node_modules/svelte/src/runtime/internal/scheduler.js + var dirty_components = []; + var binding_callbacks = []; + var render_callbacks = []; + var flush_callbacks = []; + var resolved_promise = /* @__PURE__ */ Promise.resolve(); + var update_scheduled = false; + function schedule_update() { + if (!update_scheduled) { + update_scheduled = true; + resolved_promise.then(flush); + } + } + function add_render_callback(fn) { + render_callbacks.push(fn); + } + var seen_callbacks = /* @__PURE__ */ new Set(); + var flushidx = 0; + function flush() { + if (flushidx !== 0) { + return; + } + const saved_component = current_component; + do { + try { + while (flushidx < dirty_components.length) { + const component = dirty_components[flushidx]; + flushidx++; + set_current_component(component); + update(component.$$); + } + } catch (e) { + dirty_components.length = 0; + flushidx = 0; + throw e; + } + set_current_component(null); + dirty_components.length = 0; + flushidx = 0; + while (binding_callbacks.length) + binding_callbacks.pop()(); + for (let i = 0; i < render_callbacks.length; i += 1) { + const callback = render_callbacks[i]; + if (!seen_callbacks.has(callback)) { + seen_callbacks.add(callback); + callback(); + } + } + render_callbacks.length = 0; + } while (dirty_components.length); + while (flush_callbacks.length) { + flush_callbacks.pop()(); + } + update_scheduled = false; + seen_callbacks.clear(); + set_current_component(saved_component); + } + function update($$) { + if ($$.fragment !== null) { + $$.update(); + run_all($$.before_update); + const dirty = $$.dirty; + $$.dirty = [-1]; + $$.fragment && $$.fragment.p($$.ctx, dirty); + $$.after_update.forEach(add_render_callback); + } + } + function flush_render_callbacks(fns) { + const filtered = []; + const targets = []; + render_callbacks.forEach((c) => fns.indexOf(c) === -1 ? filtered.push(c) : targets.push(c)); + targets.forEach((c) => c()); + render_callbacks = filtered; + } + + // node_modules/svelte/src/runtime/internal/transitions.js + var promise; + function wait() { + if (!promise) { + promise = Promise.resolve(); + promise.then(() => { + promise = null; + }); + } + return promise; + } + function dispatch(node, direction, kind) { + node.dispatchEvent(custom_event(`${direction ? "intro" : "outro"}${kind}`)); + } + var outroing = /* @__PURE__ */ new Set(); + var outros; + function group_outros() { + outros = { + r: 0, + c: [], + p: outros + // parent group + }; + } + function check_outros() { + if (!outros.r) { + run_all(outros.c); + } + outros = outros.p; + } + function transition_in(block, local) { + if (block && block.i) { + outroing.delete(block); + block.i(local); + } + } + function transition_out(block, local, detach3, callback) { + if (block && block.o) { + if (outroing.has(block)) + return; + outroing.add(block); + outros.c.push(() => { + outroing.delete(block); + if (callback) { + if (detach3) + block.d(1); + callback(); + } + }); + block.o(local); + } else if (callback) { + callback(); + } + } + var null_transition = { duration: 0 }; + function create_bidirectional_transition(node, fn, params, intro) { + const options = { direction: "both" }; + let config5 = fn(node, params, options); + let t = intro ? 0 : 1; + let running_program = null; + let pending_program = null; + let animation_name = null; + let original_inert_value; + function clear_animation() { + if (animation_name) + delete_rule(node, animation_name); + } + function init4(program, duration) { + const d = ( + /** @type {Program['d']} */ + program.b - t + ); + duration *= Math.abs(d); + return { + a: t, + b: program.b, + d, + duration, + start: program.start, + end: program.start + duration, + group: program.group + }; + } + function go(b) { + const { + delay = 0, + duration = 300, + easing = identity, + tick: tick2 = noop2, + css + } = config5 || null_transition; + const program = { + start: now() + delay, + b + }; + if (!b) { + program.group = outros; + outros.r += 1; + } + if ("inert" in node) { + if (b) { + if (original_inert_value !== void 0) { + node.inert = original_inert_value; + } + } else { + original_inert_value = /** @type {HTMLElement} */ + node.inert; + node.inert = true; + } + } + if (running_program || pending_program) { + pending_program = program; + } else { + if (css) { + clear_animation(); + animation_name = create_rule(node, t, b, duration, delay, easing, css); + } + if (b) + tick2(0, 1); + running_program = init4(program, duration); + add_render_callback(() => dispatch(node, b, "start")); + loop((now2) => { + if (pending_program && now2 > pending_program.start) { + running_program = init4(pending_program, duration); + pending_program = null; + dispatch(node, running_program.b, "start"); + if (css) { + clear_animation(); + animation_name = create_rule( + node, + t, + running_program.b, + running_program.duration, + 0, + easing, + config5.css + ); + } + } + if (running_program) { + if (now2 >= running_program.end) { + tick2(t = running_program.b, 1 - t); + dispatch(node, running_program.b, "end"); + if (!pending_program) { + if (running_program.b) { + clear_animation(); + } else { + if (!--running_program.group.r) + run_all(running_program.group.c); + } + } + running_program = null; + } else if (now2 >= running_program.start) { + const p = now2 - running_program.start; + t = running_program.a + running_program.d * easing(p / running_program.duration); + tick2(t, 1 - t); + } + } + return !!(running_program || pending_program); + }); + } + } + return { + run(b) { + if (is_function(config5)) { + wait().then(() => { + const opts = { direction: b ? "in" : "out" }; + config5 = config5(opts); + go(b); + }); + } else { + go(b); + } + }, + end() { + clear_animation(); + running_program = pending_program = null; + } + }; + } + + // node_modules/svelte/src/runtime/internal/each.js + function ensure_array_like(array_like_or_iterator) { + return array_like_or_iterator?.length !== void 0 ? array_like_or_iterator : Array.from(array_like_or_iterator); + } + function outro_and_destroy_block(block, lookup) { + transition_out(block, 1, 1, () => { + lookup.delete(block.key); + }); + } + function update_keyed_each(old_blocks, dirty, get_key, dynamic, ctx, list, lookup, node, destroy, create_each_block7, next, get_context) { + let o = old_blocks.length; + let n = list.length; + let i = o; + const old_indexes = {}; + while (i--) + old_indexes[old_blocks[i].key] = i; + const new_blocks = []; + const new_lookup = /* @__PURE__ */ new Map(); + const deltas = /* @__PURE__ */ new Map(); + const updates = []; + i = n; + while (i--) { + const child_ctx = get_context(ctx, list, i); + const key = get_key(child_ctx); + let block = lookup.get(key); + if (!block) { + block = create_each_block7(key, child_ctx); + block.c(); + } else if (dynamic) { + updates.push(() => block.p(child_ctx, dirty)); + } + new_lookup.set(key, new_blocks[i] = block); + if (key in old_indexes) + deltas.set(key, Math.abs(i - old_indexes[key])); + } + const will_move = /* @__PURE__ */ new Set(); + const did_move = /* @__PURE__ */ new Set(); + function insert3(block) { + transition_in(block, 1); + block.m(node, next); + lookup.set(block.key, block); + next = block.first; + n--; + } + while (o && n) { + const new_block = new_blocks[n - 1]; + const old_block = old_blocks[o - 1]; + const new_key = new_block.key; + const old_key = old_block.key; + if (new_block === old_block) { + next = new_block.first; + o--; + n--; + } else if (!new_lookup.has(old_key)) { + destroy(old_block, lookup); + o--; + } else if (!lookup.has(new_key) || will_move.has(new_key)) { + insert3(new_block); + } else if (did_move.has(old_key)) { + o--; + } else if (deltas.get(new_key) > deltas.get(old_key)) { + did_move.add(new_key); + insert3(new_block); + } else { + will_move.add(old_key); + o--; + } + } + while (o--) { + const old_block = old_blocks[o]; + if (!new_lookup.has(old_block.key)) + destroy(old_block, lookup); + } + while (n) + insert3(new_blocks[n - 1]); + run_all(updates); + return new_blocks; + } + function validate_each_keys(ctx, list, get_context, get_key) { + const keys = /* @__PURE__ */ new Map(); + for (let i = 0; i < list.length; i++) { + const key = get_key(get_context(ctx, list, i)); + if (keys.has(key)) { + let value = ""; + try { + value = `with value '${String(key)}' `; + } catch (e) { + } + throw new Error( + `Cannot have duplicate keys in a keyed each: Keys at index ${keys.get( + key + )} and ${i} ${value}are duplicates` + ); + } + keys.set(key, i); + } + } + + // node_modules/svelte/src/runtime/internal/spread.js + function get_spread_update(levels, updates) { + const update2 = {}; + const to_null_out = {}; + const accounted_for = { $$scope: 1 }; + let i = levels.length; + while (i--) { + const o = levels[i]; + const n = updates[i]; + if (n) { + for (const key in o) { + if (!(key in n)) + to_null_out[key] = 1; + } + for (const key in n) { + if (!accounted_for[key]) { + update2[key] = n[key]; + accounted_for[key] = 1; + } + } + levels[i] = n; + } else { + for (const key in o) { + accounted_for[key] = 1; + } + } + } + for (const key in to_null_out) { + if (!(key in update2)) + update2[key] = void 0; + } + return update2; + } + + // node_modules/svelte/src/shared/boolean_attributes.js + var _boolean_attributes = ( + /** @type {const} */ + [ + "allowfullscreen", + "allowpaymentrequest", + "async", + "autofocus", + "autoplay", + "checked", + "controls", + "default", + "defer", + "disabled", + "formnovalidate", + "hidden", + "inert", + "ismap", + "loop", + "multiple", + "muted", + "nomodule", + "novalidate", + "open", + "playsinline", + "readonly", + "required", + "reversed", + "selected" + ] + ); + var boolean_attributes = /* @__PURE__ */ new Set([..._boolean_attributes]); + + // node_modules/svelte/src/shared/utils/names.js + var void_element_names = /^(?:area|base|br|col|command|embed|hr|img|input|keygen|link|meta|param|source|track|wbr)$/; + function is_void(name) { + return void_element_names.test(name) || name.toLowerCase() === "!doctype"; + } + + // node_modules/svelte/src/runtime/internal/Component.js + function create_component(block) { + block && block.c(); + } + function claim_component(block, parent_nodes) { + block && block.l(parent_nodes); + } + function mount_component(component, target, anchor) { + const { fragment, after_update } = component.$$; + fragment && fragment.m(target, anchor); + add_render_callback(() => { + const new_on_destroy = component.$$.on_mount.map(run).filter(is_function); + if (component.$$.on_destroy) { + component.$$.on_destroy.push(...new_on_destroy); + } else { + run_all(new_on_destroy); + } + component.$$.on_mount = []; + }); + after_update.forEach(add_render_callback); + } + function destroy_component(component, detaching) { + const $$ = component.$$; + if ($$.fragment !== null) { + flush_render_callbacks($$.after_update); + run_all($$.on_destroy); + $$.fragment && $$.fragment.d(detaching); + $$.on_destroy = $$.fragment = null; + $$.ctx = []; + } + } + function make_dirty(component, i) { + if (component.$$.dirty[0] === -1) { + dirty_components.push(component); + schedule_update(); + component.$$.dirty.fill(0); + } + component.$$.dirty[i / 31 | 0] |= 1 << i % 31; + } + function init2(component, options, instance12, create_fragment12, not_equal, props, append_styles2 = null, dirty = [-1]) { + const parent_component = current_component; + set_current_component(component); + const $$ = component.$$ = { + fragment: null, + ctx: [], + // state + props, + update: noop2, + not_equal, + bound: blank_object(), + // lifecycle + on_mount: [], + on_destroy: [], + on_disconnect: [], + before_update: [], + after_update: [], + context: new Map(options.context || (parent_component ? parent_component.$$.context : [])), + // everything else + callbacks: blank_object(), + dirty, + skip_bound: false, + root: options.target || parent_component.$$.root + }; + append_styles2 && append_styles2($$.root); + let ready = false; + $$.ctx = instance12 ? instance12(component, options.props || {}, (i, ret, ...rest) => { + const value = rest.length ? rest[0] : ret; + if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) { + if (!$$.skip_bound && $$.bound[i]) + $$.bound[i](value); + if (ready) + make_dirty(component, i); + } + return ret; + }) : []; + $$.update(); + ready = true; + run_all($$.before_update); + $$.fragment = create_fragment12 ? create_fragment12($$.ctx) : false; + if (options.target) { + if (options.hydrate) { + start_hydrating(); + const nodes = children(options.target); + $$.fragment && $$.fragment.l(nodes); + nodes.forEach(detach2); + } else { + $$.fragment && $$.fragment.c(); + } + if (options.intro) + transition_in(component.$$.fragment); + mount_component(component, options.target, options.anchor); + end_hydrating(); + flush(); + } + set_current_component(parent_component); + } + var SvelteElement; + if (typeof HTMLElement === "function") { + SvelteElement = class extends HTMLElement { + constructor($$componentCtor, $$slots, use_shadow_dom) { + super(); + /** The Svelte component constructor */ + __publicField(this, "$$ctor"); + /** Slots */ + __publicField(this, "$$s"); + /** The Svelte component instance */ + __publicField(this, "$$c"); + /** Whether or not the custom element is connected */ + __publicField(this, "$$cn", false); + /** Component props data */ + __publicField(this, "$$d", {}); + /** `true` if currently in the process of reflecting component props back to attributes */ + __publicField(this, "$$r", false); + /** @type {Record} Props definition (name, reflected, type etc) */ + __publicField(this, "$$p_d", {}); + /** @type {Record} Event listeners */ + __publicField(this, "$$l", {}); + /** @type {Map} Event listener unsubscribe functions */ + __publicField(this, "$$l_u", /* @__PURE__ */ new Map()); + this.$$ctor = $$componentCtor; + this.$$s = $$slots; + if (use_shadow_dom) { + this.attachShadow({ mode: "open" }); + } + } + addEventListener(type, listener, options) { + this.$$l[type] = this.$$l[type] || []; + this.$$l[type].push(listener); + if (this.$$c) { + const unsub = this.$$c.$on(type, listener); + this.$$l_u.set(listener, unsub); + } + super.addEventListener(type, listener, options); + } + removeEventListener(type, listener, options) { + super.removeEventListener(type, listener, options); + if (this.$$c) { + const unsub = this.$$l_u.get(listener); + if (unsub) { + unsub(); + this.$$l_u.delete(listener); + } + } + } + async connectedCallback() { + this.$$cn = true; + if (!this.$$c) { + let create_slot2 = function(name) { + return () => { + let node; + const obj = { + c: function create3() { + node = element("slot"); + if (name !== "default") { + attr(node, "name", name); + } + }, + /** + * @param {HTMLElement} target + * @param {HTMLElement} [anchor] + */ + m: function mount(target, anchor) { + insert2(target, node, anchor); + }, + d: function destroy(detaching) { + if (detaching) { + detach2(node); + } + } + }; + return obj; + }; + }; + await Promise.resolve(); + if (!this.$$cn) { + return; + } + const $$slots = {}; + const existing_slots = get_custom_elements_slots(this); + for (const name of this.$$s) { + if (name in existing_slots) { + $$slots[name] = [create_slot2(name)]; + } + } + for (const attribute of this.attributes) { + const name = this.$$g_p(attribute.name); + if (!(name in this.$$d)) { + this.$$d[name] = get_custom_element_value(name, attribute.value, this.$$p_d, "toProp"); + } + } + this.$$c = new this.$$ctor({ + target: this.shadowRoot || this, + props: { + ...this.$$d, + $$slots, + $$scope: { + ctx: [] + } + } + }); + const reflect_attributes = () => { + this.$$r = true; + for (const key in this.$$p_d) { + this.$$d[key] = this.$$c.$$.ctx[this.$$c.$$.props[key]]; + if (this.$$p_d[key].reflect) { + const attribute_value = get_custom_element_value( + key, + this.$$d[key], + this.$$p_d, + "toAttribute" + ); + if (attribute_value == null) { + this.removeAttribute(this.$$p_d[key].attribute || key); + } else { + this.setAttribute(this.$$p_d[key].attribute || key, attribute_value); + } + } + } + this.$$r = false; + }; + this.$$c.$$.after_update.push(reflect_attributes); + reflect_attributes(); + for (const type in this.$$l) { + for (const listener of this.$$l[type]) { + const unsub = this.$$c.$on(type, listener); + this.$$l_u.set(listener, unsub); + } + } + this.$$l = {}; + } + } + // We don't need this when working within Svelte code, but for compatibility of people using this outside of Svelte + // and setting attributes through setAttribute etc, this is helpful + attributeChangedCallback(attr2, _oldValue, newValue) { + if (this.$$r) + return; + attr2 = this.$$g_p(attr2); + this.$$d[attr2] = get_custom_element_value(attr2, newValue, this.$$p_d, "toProp"); + this.$$c?.$set({ [attr2]: this.$$d[attr2] }); + } + disconnectedCallback() { + this.$$cn = false; + Promise.resolve().then(() => { + if (!this.$$cn) { + this.$$c.$destroy(); + this.$$c = void 0; + } + }); + } + $$g_p(attribute_name) { + return Object.keys(this.$$p_d).find( + (key) => this.$$p_d[key].attribute === attribute_name || !this.$$p_d[key].attribute && key.toLowerCase() === attribute_name + ) || attribute_name; + } + }; + } + function get_custom_element_value(prop, value, props_definition, transform) { + const type = props_definition[prop]?.type; + value = type === "Boolean" && typeof value !== "boolean" ? value != null : value; + if (!transform || !props_definition[prop]) { + return value; + } else if (transform === "toAttribute") { + switch (type) { + case "Object": + case "Array": + return value == null ? null : JSON.stringify(value); + case "Boolean": + return value ? "" : null; + case "Number": + return value == null ? null : value; + default: + return value; + } + } else { + switch (type) { + case "Object": + case "Array": + return value && JSON.parse(value); + case "Boolean": + return value; + case "Number": + return value != null ? +value : value; + default: + return value; + } + } + } + var SvelteComponent = class { + constructor() { + /** + * ### PRIVATE API + * + * Do not use, may change at any time + * + * @type {any} + */ + __publicField(this, "$$"); + /** + * ### PRIVATE API + * + * Do not use, may change at any time + * + * @type {any} + */ + __publicField(this, "$$set"); + } + /** @returns {void} */ + $destroy() { + destroy_component(this, 1); + this.$destroy = noop2; + } + /** + * @template {Extract} K + * @param {K} type + * @param {((e: Events[K]) => void) | null | undefined} callback + * @returns {() => void} + */ + $on(type, callback) { + if (!is_function(callback)) { + return noop2; + } + const callbacks = this.$$.callbacks[type] || (this.$$.callbacks[type] = []); + callbacks.push(callback); + return () => { + const index3 = callbacks.indexOf(callback); + if (index3 !== -1) + callbacks.splice(index3, 1); + }; + } + /** + * @param {Partial} props + * @returns {void} + */ + $set(props) { + if (this.$$set && !is_empty(props)) { + this.$$.skip_bound = true; + this.$$set(props); + this.$$.skip_bound = false; + } + } + }; + + // node_modules/svelte/src/shared/version.js + var VERSION = "4.2.1"; + var PUBLIC_VERSION = "4"; + + // node_modules/svelte/src/runtime/internal/dev.js + function dispatch_dev(type, detail) { + document.dispatchEvent(custom_event(type, { version: VERSION, ...detail }, { bubbles: true })); + } + function append_hydration_dev(target, node) { + dispatch_dev("SvelteDOMInsert", { target, node }); + append_hydration(target, node); + } + function insert_hydration_dev(target, node, anchor) { + dispatch_dev("SvelteDOMInsert", { target, node, anchor }); + insert_hydration(target, node, anchor); + } + function detach_dev(node) { + dispatch_dev("SvelteDOMRemove", { node }); + detach2(node); + } + function listen_dev(node, event, handler, options, has_prevent_default, has_stop_propagation, has_stop_immediate_propagation) { + const modifiers = options === true ? ["capture"] : options ? Array.from(Object.keys(options)) : []; + if (has_prevent_default) + modifiers.push("preventDefault"); + if (has_stop_propagation) + modifiers.push("stopPropagation"); + if (has_stop_immediate_propagation) + modifiers.push("stopImmediatePropagation"); + dispatch_dev("SvelteDOMAddEventListener", { node, event, handler, modifiers }); + const dispose = listen(node, event, handler, options); + return () => { + dispatch_dev("SvelteDOMRemoveEventListener", { node, event, handler, modifiers }); + dispose(); + }; + } + function attr_dev(node, attribute, value) { + attr(node, attribute, value); + if (value == null) + dispatch_dev("SvelteDOMRemoveAttribute", { node, attribute }); + else + dispatch_dev("SvelteDOMSetAttribute", { node, attribute, value }); + } + function prop_dev(node, property, value) { + node[property] = value; + dispatch_dev("SvelteDOMSetProperty", { node, property, value }); + } + function set_data_dev(text2, data) { + data = "" + data; + if (text2.data === data) + return; + dispatch_dev("SvelteDOMSetData", { node: text2, data }); + text2.data = /** @type {string} */ + data; + } + function ensure_array_like_dev(arg) { + if (typeof arg !== "string" && !(arg && typeof arg === "object" && "length" in arg) && !(typeof Symbol === "function" && arg && Symbol.iterator in arg)) { + throw new Error("{#each} only works with iterable values."); + } + return ensure_array_like(arg); + } + function validate_slots(name, slot, keys) { + for (const slot_key of Object.keys(slot)) { + if (!~keys.indexOf(slot_key)) { + console.warn(`<${name}> received an unexpected slot "${slot_key}".`); + } + } + } + function validate_dynamic_element(tag) { + const is_string = typeof tag === "string"; + if (tag && !is_string) { + throw new Error(' expects "this" attribute to be a string.'); + } + } + function validate_void_dynamic_element(tag) { + if (tag && is_void(tag)) { + console.warn(` is self-closing and cannot have content.`); + } + } + var SvelteComponentDev = class extends SvelteComponent { + /** @param {import('./public.js').ComponentConstructorOptions} options */ + constructor(options) { + if (!options || !options.target && !options.$$inline) { + throw new Error("'target' is a required option"); + } + super(); + /** + * For type checking capabilities only. + * Does not exist at runtime. + * ### DO NOT USE! + * + * @type {Props} + */ + __publicField(this, "$$prop_def"); + /** + * For type checking capabilities only. + * Does not exist at runtime. + * ### DO NOT USE! + * + * @type {Events} + */ + __publicField(this, "$$events_def"); + /** + * For type checking capabilities only. + * Does not exist at runtime. + * ### DO NOT USE! + * + * @type {Slots} + */ + __publicField(this, "$$slot_def"); + } + /** @returns {void} */ + $destroy() { + super.$destroy(); + this.$destroy = () => { + console.warn("Component was already destroyed"); + }; + } + /** @returns {void} */ + $capture_state() { + } + /** @returns {void} */ + $inject_state() { + } + }; + + // node_modules/svelte/src/runtime/internal/disclose-version/index.js + if (typeof window !== "undefined") + (window.__svelte || (window.__svelte = { v: /* @__PURE__ */ new Set() })).v.add(PUBLIC_VERSION); + + // node_modules/svelte/src/runtime/transition/index.js + function fade(node, { delay = 0, duration = 400, easing = identity } = {}) { + const o = +getComputedStyle(node).opacity; + return { + delay, + duration, + easing, + css: (t) => `opacity: ${t * o}` + }; + } + + // node_modules/svelte/src/runtime/store/index.js + var subscriber_queue = []; + function readable(value, start) { + return { + subscribe: writable(value, start).subscribe + }; + } + function writable(value, start = noop2) { + let stop; + const subscribers = /* @__PURE__ */ new Set(); + function set(new_value) { + if (safe_not_equal(value, new_value)) { + value = new_value; + if (stop) { + const run_queue = !subscriber_queue.length; + for (const subscriber of subscribers) { + subscriber[1](); + subscriber_queue.push(subscriber, value); + } + if (run_queue) { + for (let i = 0; i < subscriber_queue.length; i += 2) { + subscriber_queue[i][0](subscriber_queue[i + 1]); + } + subscriber_queue.length = 0; + } + } + } + } + function update2(fn) { + set(fn(value)); + } + function subscribe2(run2, invalidate = noop2) { + const subscriber = [run2, invalidate]; + subscribers.add(subscriber); + if (subscribers.size === 1) { + stop = start(set, update2) || noop2; + } + run2(value); + return () => { + subscribers.delete(subscriber); + if (subscribers.size === 0 && stop) { + stop(); + stop = null; + } + }; + } + return { set, update: update2, subscribe: subscribe2 }; + } + function derived(stores, fn, initial_value) { + const single = !Array.isArray(stores); + const stores_array = single ? [stores] : stores; + if (!stores_array.every(Boolean)) { + throw new Error("derived() expects stores as input, got a falsy value"); + } + const auto = fn.length < 2; + return readable(initial_value, (set, update2) => { + let started = false; + const values = []; + let pending = 0; + let cleanup = noop2; + const sync = () => { + if (pending) { + return; + } + cleanup(); + const result = fn(single ? values[0] : values, set, update2); + if (auto) { + set(result); + } else { + cleanup = is_function(result) ? result : noop2; + } + }; + const unsubscribers = stores_array.map( + (store, i) => subscribe( + store, + (value) => { + values[i] = value; + pending &= ~(1 << i); + if (started) { + sync(); + } + }, + () => { + pending |= 1 << i; + } + ) + ); + started = true; + sync(); + return function stop() { + run_all(unsubscribers); + cleanup(); + started = false; + }; + }); + } + + // svelte/components/Backdrop.svelte + var file = "svelte/components/Backdrop.svelte"; + function create_if_block(ctx) { + let div; + let div_transition; + let current; + const block = { + c: function create3() { + div = element("div"); + this.h(); + }, + l: function claim(nodes) { + div = claim_element(nodes, "DIV", { class: true, "data-test-id": true }); + children(div).forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + attr_dev(div, "class", "bg-black/50 absolute inset-0 z-30"); + attr_dev(div, "data-test-id", "backdrop"); + add_location(div, file, 8, 2, 202); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, div, anchor); + current = true; + }, + i: function intro(local) { + if (current) + return; + if (local) { + add_render_callback(() => { + if (!current) + return; + if (!div_transition) + div_transition = create_bidirectional_transition(div, fade, {}, true); + div_transition.run(1); + }); + } + current = true; + }, + o: function outro(local) { + if (local) { + if (!div_transition) + div_transition = create_bidirectional_transition(div, fade, {}, false); + div_transition.run(0); + } + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(div); + } + if (detaching && div_transition) + div_transition.end(); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block.name, + type: "if", + source: "(6:0) {#if $backdropVisible}", + ctx + }); + return block; + } + function create_fragment(ctx) { + let if_block_anchor; + let if_block = ( + /*$backdropVisible*/ + ctx[0] && create_if_block(ctx) + ); + const block = { + c: function create3() { + if (if_block) + if_block.c(); + if_block_anchor = empty(); + }, + l: function claim(nodes) { + if (if_block) + if_block.l(nodes); + if_block_anchor = empty(); + }, + m: function mount(target, anchor) { + if (if_block) + if_block.m(target, anchor); + insert_hydration_dev(target, if_block_anchor, anchor); + }, + p: function update2(ctx2, [dirty]) { + if ( + /*$backdropVisible*/ + ctx2[0] + ) { + if (if_block) { + if (dirty & /*$backdropVisible*/ + 1) { + transition_in(if_block, 1); + } + } else { + if_block = create_if_block(ctx2); + if_block.c(); + transition_in(if_block, 1); + if_block.m(if_block_anchor.parentNode, if_block_anchor); + } + } else if (if_block) { + group_outros(); + transition_out(if_block, 1, 1, () => { + if_block = null; + }); + check_outros(); + } + }, + i: function intro(local) { + transition_in(if_block); + }, + o: function outro(local) { + transition_out(if_block); + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(if_block_anchor); + } + if (if_block) + if_block.d(detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_fragment.name, + type: "component", + source: "", + ctx + }); + return block; + } + var backdropVisible = writable(false); + function instance($$self, $$props, $$invalidate) { + let $backdropVisible, $$unsubscribe_backdropVisible = noop2, $$subscribe_backdropVisible = () => ($$unsubscribe_backdropVisible(), $$unsubscribe_backdropVisible = subscribe(backdropVisible, ($$value) => $$invalidate(0, $backdropVisible = $$value)), backdropVisible); + validate_store(backdropVisible, "backdropVisible"); + component_subscribe($$self, backdropVisible, ($$value) => $$invalidate(0, $backdropVisible = $$value)); + $$self.$$.on_destroy.push(() => $$unsubscribe_backdropVisible()); + let { $$slots: slots = {}, $$scope } = $$props; + validate_slots("Backdrop", slots, []); + const writable_props = []; + Object.keys($$props).forEach((key) => { + if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$" && key !== "slot") + console.warn(` was created with unknown prop '${key}'`); + }); + $$self.$capture_state = () => ({ + writable, + fade, + backdropVisible, + $backdropVisible + }); + return [$backdropVisible]; + } + var Backdrop = class extends SvelteComponentDev { + constructor(options) { + super(options); + init2(this, options, instance, create_fragment, safe_not_equal, {}); + dispatch_dev("SvelteRegisterComponent", { + component: this, + tagName: "Backdrop", + options, + id: create_fragment.name + }); + } + }; + var Backdrop_default = Backdrop; + + // svelte/components/BrowserFrame.svelte + var BrowserFrame_exports = {}; + __export(BrowserFrame_exports, { + default: () => BrowserFrame_default + }); + var file2 = "svelte/components/BrowserFrame.svelte"; + function create_fragment2(ctx) { + let div5; + let div4; + let div0; + let span0; + let t0; + let span1; + let t1; + let span2; + let t2; + let div2; + let div1; + let span3; + let t3_value = getPageName( + /*page*/ + ctx[0] + ) + ""; + let t3; + let t4; + let div3; + let textContent = "D | T | P"; + let t6; + let current; + const default_slot_template = ( + /*#slots*/ + ctx[2].default + ); + const default_slot = create_slot( + default_slot_template, + ctx, + /*$$scope*/ + ctx[1], + null + ); + const block = { + c: function create3() { + div5 = element("div"); + div4 = element("div"); + div0 = element("div"); + span0 = element("span"); + t0 = space(); + span1 = element("span"); + t1 = space(); + span2 = element("span"); + t2 = space(); + div2 = element("div"); + div1 = element("div"); + span3 = element("span"); + t3 = text(t3_value); + t4 = space(); + div3 = element("div"); + div3.textContent = textContent; + t6 = space(); + if (default_slot) + default_slot.c(); + this.h(); + }, + l: function claim(nodes) { + div5 = claim_element(nodes, "DIV", { class: true, "data-test-id": true }); + var div5_nodes = children(div5); + div4 = claim_element(div5_nodes, "DIV", { class: true, "data-test-id": true }); + var div4_nodes = children(div4); + div0 = claim_element(div4_nodes, "DIV", { class: true }); + var div0_nodes = children(div0); + span0 = claim_element(div0_nodes, "SPAN", { class: true }); + children(span0).forEach(detach_dev); + t0 = claim_space(div0_nodes); + span1 = claim_element(div0_nodes, "SPAN", { class: true }); + children(span1).forEach(detach_dev); + t1 = claim_space(div0_nodes); + span2 = claim_element(div0_nodes, "SPAN", { class: true }); + children(span2).forEach(detach_dev); + div0_nodes.forEach(detach_dev); + t2 = claim_space(div4_nodes); + div2 = claim_element(div4_nodes, "DIV", { class: true }); + var div2_nodes = children(div2); + div1 = claim_element(div2_nodes, "DIV", { class: true }); + var div1_nodes = children(div1); + span3 = claim_element(div1_nodes, "SPAN", { "data-test-id": true }); + var span3_nodes = children(span3); + t3 = claim_text(span3_nodes, t3_value); + span3_nodes.forEach(detach_dev); + div1_nodes.forEach(detach_dev); + div2_nodes.forEach(detach_dev); + t4 = claim_space(div4_nodes); + div3 = claim_element(div4_nodes, "DIV", { class: true, ["data-svelte-h"]: true }); + if (get_svelte_dataset(div3) !== "svelte-v12u6m") + div3.textContent = textContent; + div4_nodes.forEach(detach_dev); + t6 = claim_space(div5_nodes); + if (default_slot) + default_slot.l(div5_nodes); + div5_nodes.forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + attr_dev(span0, "class", "inline-block h-2 w-2 ml-2 rounded-full bg-red-900"); + add_location(span0, file2, 16, 6, 378); + attr_dev(span1, "class", "inline-block h-2 w-2 ml-2 rounded-full bg-amber-400"); + add_location(span1, file2, 17, 6, 456); + attr_dev(span2, "class", "inline-block h-2 w-2 ml-2 rounded-full bg-lime-700"); + add_location(span2, file2, 18, 6, 536); + attr_dev(div0, "class", "ml-4 py-2"); + add_location(div0, file2, 15, 4, 348); + attr_dev(span3, "data-test-id", "url-box"); + add_location(span3, file2, 22, 8, 802); + attr_dev(div1, "class", "rounded bg-white bg-gray-50 border-b border-gray-200 shadow max-w-xs mx-auto text-center py-0.5 relative"); + add_location(div1, file2, 21, 6, 675); + attr_dev(div2, "class", "flex-1 py-2.5 overflow-visible"); + add_location(div2, file2, 20, 4, 624); + attr_dev(div3, "class", "py-3"); + add_location(div3, file2, 25, 4, 886); + attr_dev(div4, "class", "bg-gray-50 border-b border-gray-200 border-solid rounded-t-xl h-12 px-3.5 flex"); + attr_dev(div4, "data-test-id", "address-bar"); + add_location(div4, file2, 12, 2, 214); + attr_dev(div5, "class", "flex-1 flex flex-col"); + attr_dev(div5, "data-test-id", "fake-browser"); + add_location(div5, file2, 9, 0, 143); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, div5, anchor); + append_hydration_dev(div5, div4); + append_hydration_dev(div4, div0); + append_hydration_dev(div0, span0); + append_hydration_dev(div0, t0); + append_hydration_dev(div0, span1); + append_hydration_dev(div0, t1); + append_hydration_dev(div0, span2); + append_hydration_dev(div4, t2); + append_hydration_dev(div4, div2); + append_hydration_dev(div2, div1); + append_hydration_dev(div1, span3); + append_hydration_dev(span3, t3); + append_hydration_dev(div4, t4); + append_hydration_dev(div4, div3); + append_hydration_dev(div5, t6); + if (default_slot) { + default_slot.m(div5, null); + } + current = true; + }, + p: function update2(ctx2, [dirty]) { + if ((!current || dirty & /*page*/ + 1) && t3_value !== (t3_value = getPageName( + /*page*/ + ctx2[0] + ) + "")) + set_data_dev(t3, t3_value); + if (default_slot) { + if (default_slot.p && (!current || dirty & /*$$scope*/ + 2)) { + update_slot_base( + default_slot, + default_slot_template, + ctx2, + /*$$scope*/ + ctx2[1], + !current ? get_all_dirty_from_scope( + /*$$scope*/ + ctx2[1] + ) : get_slot_changes( + default_slot_template, + /*$$scope*/ + ctx2[1], + dirty, + null + ), + null + ); + } + } + }, + i: function intro(local) { + if (current) + return; + transition_in(default_slot, local); + current = true; + }, + o: function outro(local) { + transition_out(default_slot, local); + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(div5); + } + if (default_slot) + default_slot.d(detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_fragment2.name, + type: "component", + source: "", + ctx + }); + return block; + } + function getPageName(page2) { + return !page2.path || page2.path === "" ? "index" : page2.path; + } + function instance2($$self, $$props, $$invalidate) { + let { $$slots: slots = {}, $$scope } = $$props; + validate_slots("BrowserFrame", slots, ["default"]); + let { page: page2 } = $$props; + $$self.$$.on_mount.push(function() { + if (page2 === void 0 && !("page" in $$props || $$self.$$.bound[$$self.$$.props["page"]])) { + console.warn(" was created without expected prop 'page'"); + } + }); + const writable_props = ["page"]; + Object.keys($$props).forEach((key) => { + if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$" && key !== "slot") + console.warn(` was created with unknown prop '${key}'`); + }); + $$self.$$set = ($$props2) => { + if ("page" in $$props2) + $$invalidate(0, page2 = $$props2.page); + if ("$$scope" in $$props2) + $$invalidate(1, $$scope = $$props2.$$scope); + }; + $$self.$capture_state = () => ({ page: page2, getPageName }); + $$self.$inject_state = ($$props2) => { + if ("page" in $$props2) + $$invalidate(0, page2 = $$props2.page); + }; + if ($$props && "$$inject" in $$props) { + $$self.$inject_state($$props.$$inject); + } + return [page2, $$scope, slots]; + } + var BrowserFrame = class extends SvelteComponentDev { + constructor(options) { + super(options); + init2(this, options, instance2, create_fragment2, safe_not_equal, { page: 0 }); + dispatch_dev("SvelteRegisterComponent", { + component: this, + tagName: "BrowserFrame", + options, + id: create_fragment2.name + }); + } + get page() { + throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + } + set page(value) { + throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + } + }; + var BrowserFrame_default = BrowserFrame; + + // svelte/components/CodeEditor.svelte + var CodeEditor_exports = {}; + __export(CodeEditor_exports, { + default: () => CodeEditor_default + }); + + // node_modules/@monaco-editor/loader/lib/es/_virtual/_rollupPluginBabelHelpers.js + function _defineProperty3(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; + } + function ownKeys3(object, enumerableOnly) { + var keys = Object.keys(object); + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + if (enumerableOnly) + symbols = symbols.filter(function(sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + keys.push.apply(keys, symbols); + } + return keys; + } + function _objectSpread23(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + if (i % 2) { + ownKeys3(Object(source), true).forEach(function(key) { + _defineProperty3(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys3(Object(source)).forEach(function(key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + return target; + } + function _objectWithoutPropertiesLoose2(source, excluded) { + if (source == null) + return {}; + var target = {}; + var sourceKeys = Object.keys(source); + var key, i; + for (i = 0; i < sourceKeys.length; i++) { + key = sourceKeys[i]; + if (excluded.indexOf(key) >= 0) + continue; + target[key] = source[key]; + } + return target; + } + function _objectWithoutProperties2(source, excluded) { + if (source == null) + return {}; + var target = _objectWithoutPropertiesLoose2(source, excluded); + var key, i; + if (Object.getOwnPropertySymbols) { + var sourceSymbolKeys = Object.getOwnPropertySymbols(source); + for (i = 0; i < sourceSymbolKeys.length; i++) { + key = sourceSymbolKeys[i]; + if (excluded.indexOf(key) >= 0) + continue; + if (!Object.prototype.propertyIsEnumerable.call(source, key)) + continue; + target[key] = source[key]; + } + } + return target; + } + function _slicedToArray2(arr, i) { + return _arrayWithHoles2(arr) || _iterableToArrayLimit2(arr, i) || _unsupportedIterableToArray2(arr, i) || _nonIterableRest2(); + } + function _arrayWithHoles2(arr) { + if (Array.isArray(arr)) + return arr; + } + function _iterableToArrayLimit2(arr, i) { + if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) + return; + var _arr = []; + var _n = true; + var _d = false; + var _e = void 0; + try { + for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { + _arr.push(_s.value); + if (i && _arr.length === i) + break; + } + } catch (err) { + _d = true; + _e = err; + } finally { + try { + if (!_n && _i["return"] != null) + _i["return"](); + } finally { + if (_d) + throw _e; + } + } + return _arr; + } + function _unsupportedIterableToArray2(o, minLen) { + if (!o) + return; + if (typeof o === "string") + return _arrayLikeToArray2(o, minLen); + var n = Object.prototype.toString.call(o).slice(8, -1); + if (n === "Object" && o.constructor) + n = o.constructor.name; + if (n === "Map" || n === "Set") + return Array.from(o); + if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) + return _arrayLikeToArray2(o, minLen); + } + function _arrayLikeToArray2(arr, len) { + if (len == null || len > arr.length) + len = arr.length; + for (var i = 0, arr2 = new Array(len); i < len; i++) + arr2[i] = arr[i]; + return arr2; + } + function _nonIterableRest2() { + throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); + } + + // node_modules/state-local/lib/es/state-local.js + function _defineProperty4(obj, key, value) { + if (key in obj) { + Object.defineProperty(obj, key, { + value, + enumerable: true, + configurable: true, + writable: true + }); + } else { + obj[key] = value; + } + return obj; + } + function ownKeys4(object, enumerableOnly) { + var keys = Object.keys(object); + if (Object.getOwnPropertySymbols) { + var symbols = Object.getOwnPropertySymbols(object); + if (enumerableOnly) + symbols = symbols.filter(function(sym) { + return Object.getOwnPropertyDescriptor(object, sym).enumerable; + }); + keys.push.apply(keys, symbols); + } + return keys; + } + function _objectSpread24(target) { + for (var i = 1; i < arguments.length; i++) { + var source = arguments[i] != null ? arguments[i] : {}; + if (i % 2) { + ownKeys4(Object(source), true).forEach(function(key) { + _defineProperty4(target, key, source[key]); + }); + } else if (Object.getOwnPropertyDescriptors) { + Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); + } else { + ownKeys4(Object(source)).forEach(function(key) { + Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); + }); + } + } + return target; + } + function compose4() { + for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) { + fns[_key] = arguments[_key]; + } + return function(x) { + return fns.reduceRight(function(y, f) { + return f(y); + }, x); + }; + } + function curry3(fn) { + return function curried() { + var _this = this; + for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + args[_key2] = arguments[_key2]; + } + return args.length >= fn.length ? fn.apply(this, args) : function() { + for (var _len3 = arguments.length, nextArgs = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) { + nextArgs[_key3] = arguments[_key3]; + } + return curried.apply(_this, [].concat(args, nextArgs)); + }; + }; + } + function isObject3(value) { + return {}.toString.call(value).includes("Object"); + } + function isEmpty2(obj) { + return !Object.keys(obj).length; + } + function isFunction2(value) { + return typeof value === "function"; + } + function hasOwnProperty2(object, property) { + return Object.prototype.hasOwnProperty.call(object, property); + } + function validateChanges2(initial, changes) { + if (!isObject3(changes)) + errorHandler3("changeType"); + if (Object.keys(changes).some(function(field) { + return !hasOwnProperty2(initial, field); + })) + errorHandler3("changeField"); + return changes; + } + function validateSelector2(selector) { + if (!isFunction2(selector)) + errorHandler3("selectorType"); + } + function validateHandler2(handler) { + if (!(isFunction2(handler) || isObject3(handler))) + errorHandler3("handlerType"); + if (isObject3(handler) && Object.values(handler).some(function(_handler) { + return !isFunction2(_handler); + })) + errorHandler3("handlersType"); + } + function validateInitial2(initial) { + if (!initial) + errorHandler3("initialIsRequired"); + if (!isObject3(initial)) + errorHandler3("initialType"); + if (isEmpty2(initial)) + errorHandler3("initialContent"); + } + function throwError3(errorMessages5, type) { + throw new Error(errorMessages5[type] || errorMessages5["default"]); + } + var errorMessages3 = { + initialIsRequired: "initial state is required", + initialType: "initial state should be an object", + initialContent: "initial state shouldn't be an empty object", + handlerType: "handler should be an object or a function", + handlersType: "all handlers should be a functions", + selectorType: "selector should be a function", + changeType: "provided value of changes should be an object", + changeField: 'it seams you want to change a field in the state which is not specified in the "initial" state', + "default": "an unknown error accured in `state-local` package" + }; + var errorHandler3 = curry3(throwError3)(errorMessages3); + var validators3 = { + changes: validateChanges2, + selector: validateSelector2, + handler: validateHandler2, + initial: validateInitial2 + }; + function create2(initial) { + var handler = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {}; + validators3.initial(initial); + validators3.handler(handler); + var state = { + current: initial + }; + var didUpdate = curry3(didStateUpdate2)(state, handler); + var update2 = curry3(updateState2)(state); + var validate = curry3(validators3.changes)(initial); + var getChanges = curry3(extractChanges2)(state); + function getState3() { + var selector = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : function(state2) { + return state2; + }; + validators3.selector(selector); + return selector(state.current); + } + function setState3(causedChanges) { + compose4(didUpdate, update2, validate, getChanges)(causedChanges); + } + return [getState3, setState3]; + } + function extractChanges2(state, causedChanges) { + return isFunction2(causedChanges) ? causedChanges(state.current) : causedChanges; + } + function updateState2(state, changes) { + state.current = _objectSpread24(_objectSpread24({}, state.current), changes); + return changes; + } + function didStateUpdate2(state, handler, changes) { + isFunction2(handler) ? handler(state.current) : Object.keys(changes).forEach(function(field) { + var _handler$field; + return (_handler$field = handler[field]) === null || _handler$field === void 0 ? void 0 : _handler$field.call(handler, state.current[field]); + }); + return changes; + } + var index2 = { + create: create2 + }; + var state_local_default2 = index2; + + // node_modules/@monaco-editor/loader/lib/es/config/index.js + var config3 = { + paths: { + vs: "https://cdn.jsdelivr.net/npm/monaco-editor@0.43.0/min/vs" + } + }; + var config_default2 = config3; + + // node_modules/@monaco-editor/loader/lib/es/utils/curry.js + function curry4(fn) { + return function curried() { + var _this = this; + for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) { + args[_key] = arguments[_key]; + } + return args.length >= fn.length ? fn.apply(this, args) : function() { + for (var _len2 = arguments.length, nextArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) { + nextArgs[_key2] = arguments[_key2]; + } + return curried.apply(_this, [].concat(args, nextArgs)); + }; + }; + } + var curry_default2 = curry4; + + // node_modules/@monaco-editor/loader/lib/es/utils/isObject.js + function isObject4(value) { + return {}.toString.call(value).includes("Object"); + } + var isObject_default2 = isObject4; + + // node_modules/@monaco-editor/loader/lib/es/validators/index.js + function validateConfig2(config5) { + if (!config5) + errorHandler4("configIsRequired"); + if (!isObject_default2(config5)) + errorHandler4("configType"); + if (config5.urls) { + informAboutDeprecation2(); + return { + paths: { + vs: config5.urls.monacoBase + } + }; + } + return config5; + } + function informAboutDeprecation2() { + console.warn(errorMessages4.deprecation); + } + function throwError4(errorMessages5, type) { + throw new Error(errorMessages5[type] || errorMessages5["default"]); + } + var errorMessages4 = { + configIsRequired: "the configuration object is required", + configType: "the configuration object should be an object", + "default": "an unknown error accured in `@monaco-editor/loader` package", + deprecation: "Deprecation warning!\n You are using deprecated way of configuration.\n\n Instead of using\n monaco.config({ urls: { monacoBase: '...' } })\n use\n monaco.config({ paths: { vs: '...' } })\n\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\n " + }; + var errorHandler4 = curry_default2(throwError4)(errorMessages4); + var validators4 = { + config: validateConfig2 + }; + var validators_default2 = validators4; + + // node_modules/@monaco-editor/loader/lib/es/utils/compose.js + var compose5 = function compose6() { + for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) { + fns[_key] = arguments[_key]; + } + return function(x) { + return fns.reduceRight(function(y, f) { + return f(y); + }, x); + }; + }; + var compose_default2 = compose5; + + // node_modules/@monaco-editor/loader/lib/es/utils/deepMerge.js + function merge2(target, source) { + Object.keys(source).forEach(function(key) { + if (source[key] instanceof Object) { + if (target[key]) { + Object.assign(source[key], merge2(target[key], source[key])); + } + } + }); + return _objectSpread23(_objectSpread23({}, target), source); + } + var deepMerge_default2 = merge2; + + // node_modules/@monaco-editor/loader/lib/es/utils/makeCancelable.js + var CANCELATION_MESSAGE2 = { + type: "cancelation", + msg: "operation is manually canceled" + }; + function makeCancelable2(promise2) { + var hasCanceled_ = false; + var wrappedPromise = new Promise(function(resolve, reject) { + promise2.then(function(val) { + return hasCanceled_ ? reject(CANCELATION_MESSAGE2) : resolve(val); + }); + promise2["catch"](reject); + }); + return wrappedPromise.cancel = function() { + return hasCanceled_ = true; + }, wrappedPromise; + } + var makeCancelable_default2 = makeCancelable2; + + // node_modules/@monaco-editor/loader/lib/es/loader/index.js + var _state$create3 = state_local_default2.create({ + config: config_default2, + isInitialized: false, + resolve: null, + reject: null, + monaco: null + }); + var _state$create22 = _slicedToArray2(_state$create3, 2); + var getState2 = _state$create22[0]; + var setState2 = _state$create22[1]; + function config4(globalConfig) { + var _validators$config = validators_default2.config(globalConfig), monaco = _validators$config.monaco, config5 = _objectWithoutProperties2(_validators$config, ["monaco"]); + setState2(function(state) { + return { + config: deepMerge_default2(state.config, config5), + monaco + }; + }); + } + function init3() { + var state = getState2(function(_ref) { + var monaco = _ref.monaco, isInitialized = _ref.isInitialized, resolve = _ref.resolve; + return { + monaco, + isInitialized, + resolve + }; + }); + if (!state.isInitialized) { + setState2({ + isInitialized: true + }); + if (state.monaco) { + state.resolve(state.monaco); + return makeCancelable_default2(wrapperPromise2); + } + if (window.monaco && window.monaco.editor) { + storeMonacoInstance2(window.monaco); + state.resolve(window.monaco); + return makeCancelable_default2(wrapperPromise2); + } + compose_default2(injectScripts2, getMonacoLoaderScript2)(configureLoader2); + } + return makeCancelable_default2(wrapperPromise2); + } + function injectScripts2(script) { + return document.body.appendChild(script); + } + function createScript2(src) { + var script = document.createElement("script"); + return src && (script.src = src), script; + } + function getMonacoLoaderScript2(configureLoader3) { + var state = getState2(function(_ref2) { + var config5 = _ref2.config, reject = _ref2.reject; + return { + config: config5, + reject + }; + }); + var loaderScript = createScript2("".concat(state.config.paths.vs, "/loader.js")); + loaderScript.onload = function() { + return configureLoader3(); + }; + loaderScript.onerror = state.reject; + return loaderScript; + } + function configureLoader2() { + var state = getState2(function(_ref3) { + var config5 = _ref3.config, resolve = _ref3.resolve, reject = _ref3.reject; + return { + config: config5, + resolve, + reject + }; + }); + var require2 = window.require; + require2.config(state.config); + require2(["vs/editor/editor.main"], function(monaco) { + storeMonacoInstance2(monaco); + state.resolve(monaco); + }, function(error) { + state.reject(error); + }); + } + function storeMonacoInstance2(monaco) { + if (!getState2().monaco) { + setState2({ + monaco + }); + } + } + function __getMonacoInstance2() { + return getState2(function(_ref4) { + var monaco = _ref4.monaco; + return monaco; + }); + } + var wrapperPromise2 = new Promise(function(resolve, reject) { + return setState2({ + resolve, + reject + }); + }); + var loader2 = { + config: config4, + init: init3, + __getMonacoInstance: __getMonacoInstance2 + }; + var loader_default2 = loader2; + + // svelte/components/CodeEditor.svelte + var { console: console_1 } = globals; + var file3 = "svelte/components/CodeEditor.svelte"; + function create_fragment3(ctx) { + let div; + const block = { + c: function create3() { + div = element("div"); + this.h(); + }, + l: function claim(nodes) { + div = claim_element(nodes, "DIV", { class: true }); + children(div).forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + attr_dev(div, "class", "w-52 h-24 py-0.5 px-0.5 bg-gray-100"); + add_location(div, file3, 40, 0, 1708); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, div, anchor); + ctx[2](div); + }, + p: noop2, + i: noop2, + o: noop2, + d: function destroy(detaching) { + if (detaching) { + detach_dev(div); + } + ctx[2](null); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_fragment3.name, + type: "component", + source: "", + ctx + }); + return block; + } + function instance3($$self, $$props, $$invalidate) { + let { $$slots: slots = {}, $$scope } = $$props; + validate_slots("CodeEditor", slots, []); + var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value2) { + return value2 instanceof P ? value2 : new P(function(resolve) { + resolve(value2); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value2) { + try { + step(generator.next(value2)); + } catch (e) { + reject(e); + } + } + function rejected(value2) { + try { + step(generator["throw"](value2)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + let { value } = $$props; + let dispatch2 = createEventDispatcher(); + let editor; + let monaco; + let editorContainer; + onMount(() => __awaiter(void 0, void 0, void 0, function* () { + loader_default2.config({ + paths: { vs: "/node_modules/monaco-editor/min/vs" } + }); + monaco = yield loader_default2.init(); + const editor2 = monaco.editor.create(editorContainer, { + value, + language: "elixir", + minimap: { enabled: false }, + lineNumbers: "off", + automaticLayout: true + }); + editor2.onDidBlurEditorWidget((e) => { + let content = editor2.getValue(); + dispatch2("change", content); + }); + })); + onDestroy(() => { + monaco === null || monaco === void 0 ? void 0 : monaco.editor.getModels().forEach((model) => model.dispose()); + }); + $$self.$$.on_mount.push(function() { + if (value === void 0 && !("value" in $$props || $$self.$$.bound[$$self.$$.props["value"]])) { + console_1.warn(" was created without expected prop 'value'"); + } + }); + const writable_props = ["value"]; + Object.keys($$props).forEach((key) => { + if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$" && key !== "slot") + console_1.warn(` was created with unknown prop '${key}'`); + }); + function div_binding($$value) { + binding_callbacks[$$value ? "unshift" : "push"](() => { + editorContainer = $$value; + $$invalidate(0, editorContainer); + }); + } + $$self.$$set = ($$props2) => { + if ("value" in $$props2) + $$invalidate(1, value = $$props2.value); + }; + $$self.$capture_state = () => ({ + __awaiter, + loader: loader_default2, + onDestroy, + onMount, + value, + createEventDispatcher, + dispatch: dispatch2, + editor, + monaco, + editorContainer + }); + $$self.$inject_state = ($$props2) => { + if ("__awaiter" in $$props2) + __awaiter = $$props2.__awaiter; + if ("value" in $$props2) + $$invalidate(1, value = $$props2.value); + if ("dispatch" in $$props2) + dispatch2 = $$props2.dispatch; + if ("editor" in $$props2) + $$invalidate(6, editor = $$props2.editor); + if ("monaco" in $$props2) + monaco = $$props2.monaco; + if ("editorContainer" in $$props2) + $$invalidate(0, editorContainer = $$props2.editorContainer); + }; + if ($$props && "$$inject" in $$props) { + $$self.$inject_state($$props.$$inject); + } + $$self.$$.update = () => { + if ($$self.$$.dirty & /*value*/ + 2) { + $: { + if (editor) { + console.log("code editor value", value); + editor.setValue(value); + } + } + } + }; + return [editorContainer, value, div_binding]; + } + var CodeEditor2 = class extends SvelteComponentDev { + constructor(options) { + super(options); + init2(this, options, instance3, create_fragment3, safe_not_equal, { value: 1 }); + dispatch_dev("SvelteRegisterComponent", { + component: this, + tagName: "CodeEditor", + options, + id: create_fragment3.name + }); + } + get value() { + throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + } + set value(value) { + throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + } + }; + var CodeEditor_default = CodeEditor2; + + // svelte/components/ComponentsSidebar.svelte + var ComponentsSidebar_exports = {}; + __export(ComponentsSidebar_exports, { + default: () => ComponentsSidebar_default + }); + + // svelte/utils/animations.ts + function translate(_node, { delay = 0, duration = 300, x = 0, y = 0 }) { + return { + delay, + duration, + css: (t) => `transform: translate(${x * t}px, ${y * t}px)` + }; + } + + // svelte/stores/currentComponentCategory.ts + var currentComponentCategory = writable(null); + + // svelte/stores/dragAndDrop.ts + var draggedObject = writable(null); + + // svelte/components/ComponentsSidebar.svelte + var file4 = "svelte/components/ComponentsSidebar.svelte"; + function add_css(target) { + append_styles(target, "svelte-1q6nykn", "#left-sidebar.svelte-1q6nykn{z-index:1000}#component-previews.svelte-1q6nykn,#backdrop.svelte-1q6nykn{z-index:999}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29tcG9uZW50c1NpZGViYXIuc3ZlbHRlIiwibWFwcGluZ3MiOiJBQWlIQyw0QkFBYyxDQUNiLE9BQU8sQ0FBRSxJQUNWLENBQ0Esa0NBQW1CLENBQUUsd0JBQVUsQ0FDOUIsT0FBTyxDQUFFLEdBQ1YiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiQ29tcG9uZW50c1NpZGViYXIuc3ZlbHRlIl19 */"); + } + function get_each_context(ctx, list, i) { + const child_ctx = ctx.slice(); + child_ctx[17] = list[i]; + return child_ctx; + } + function get_each_context_1(ctx, list, i) { + const child_ctx = ctx.slice(); + child_ctx[20] = list[i]; + return child_ctx; + } + function get_each_context_2(ctx, list, i) { + const child_ctx = ctx.slice(); + child_ctx[23] = list[i]; + return child_ctx; + } + function create_each_block_2(ctx) { + let li; + let div; + let t0_value = ( + /*sectionTitles*/ + ctx[4][ + /*item*/ + ctx[23].name + ] + "" + ); + let t0; + let t1; + let mounted; + let dispose; + function mouseenter_handler() { + return ( + /*mouseenter_handler*/ + ctx[13]( + /*item*/ + ctx[23] + ) + ); + } + const block = { + c: function create3() { + li = element("li"); + div = element("div"); + t0 = text(t0_value); + t1 = space(); + this.h(); + }, + l: function claim(nodes) { + li = claim_element(nodes, "LI", { class: true, "data-test-id": true }); + var li_nodes = children(li); + div = claim_element(li_nodes, "DIV", { class: true }); + var div_nodes = children(div); + t0 = claim_text(div_nodes, t0_value); + div_nodes.forEach(detach_dev); + t1 = claim_space(li_nodes); + li_nodes.forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + attr_dev(div, "class", "pl-2"); + add_location(div, file4, 77, 12, 2402); + attr_dev(li, "class", "pb-1"); + attr_dev(li, "data-test-id", "nav-item"); + add_location(li, file4, 76, 10, 2264); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, li, anchor); + append_hydration_dev(li, div); + append_hydration_dev(div, t0); + append_hydration_dev(li, t1); + if (!mounted) { + dispose = [ + listen_dev(li, "mouseenter", mouseenter_handler, false, false, false, false), + listen_dev( + li, + "mouseleave", + /*collapseCategoryMenu*/ + ctx[5], + false, + false, + false, + false + ) + ]; + mounted = true; + } + }, + p: function update2(new_ctx, dirty) { + ctx = new_ctx; + if (dirty & /*menuCategories*/ + 2 && t0_value !== (t0_value = /*sectionTitles*/ + ctx[4][ + /*item*/ + ctx[23].name + ] + "")) + set_data_dev(t0, t0_value); + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(li); + } + mounted = false; + run_all(dispose); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_each_block_2.name, + type: "each", + source: "(68:8) {#each category.items as item}", + ctx + }); + return block; + } + function create_each_block_1(ctx) { + let li; + let h5; + let t0_value = ( + /*category*/ + ctx[20].name + "" + ); + let t0; + let t1; + let each_1_anchor; + let each_value_2 = ensure_array_like_dev( + /*category*/ + ctx[20].items + ); + let each_blocks = []; + for (let i = 0; i < each_value_2.length; i += 1) { + each_blocks[i] = create_each_block_2(get_each_context_2(ctx, each_value_2, i)); + } + const block = { + c: function create3() { + li = element("li"); + h5 = element("h5"); + t0 = text(t0_value); + t1 = space(); + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].c(); + } + each_1_anchor = empty(); + this.h(); + }, + l: function claim(nodes) { + li = claim_element(nodes, "LI", { class: true, "data-test-id": true }); + var li_nodes = children(li); + h5 = claim_element(li_nodes, "H5", { class: true }); + var h5_nodes = children(h5); + t0 = claim_text(h5_nodes, t0_value); + h5_nodes.forEach(detach_dev); + li_nodes.forEach(detach_dev); + t1 = claim_space(nodes); + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].l(nodes); + } + each_1_anchor = empty(); + this.h(); + }, + h: function hydrate() { + attr_dev(h5, "class", "uppercase"); + add_location(h5, file4, 73, 10, 2158); + attr_dev(li, "class", "pb-1"); + attr_dev(li, "data-test-id", "nav-item"); + add_location(li, file4, 72, 8, 2106); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, li, anchor); + append_hydration_dev(li, h5); + append_hydration_dev(h5, t0); + insert_hydration_dev(target, t1, anchor); + for (let i = 0; i < each_blocks.length; i += 1) { + if (each_blocks[i]) { + each_blocks[i].m(target, anchor); + } + } + insert_hydration_dev(target, each_1_anchor, anchor); + }, + p: function update2(ctx2, dirty) { + if (dirty & /*menuCategories*/ + 2 && t0_value !== (t0_value = /*category*/ + ctx2[20].name + "")) + set_data_dev(t0, t0_value); + if (dirty & /*expandCategoryMenu, menuCategories, collapseCategoryMenu, sectionTitles*/ + 178) { + each_value_2 = ensure_array_like_dev( + /*category*/ + ctx2[20].items + ); + let i; + for (i = 0; i < each_value_2.length; i += 1) { + const child_ctx = get_each_context_2(ctx2, each_value_2, i); + if (each_blocks[i]) { + each_blocks[i].p(child_ctx, dirty); + } else { + each_blocks[i] = create_each_block_2(child_ctx); + each_blocks[i].c(); + each_blocks[i].m(each_1_anchor.parentNode, each_1_anchor); + } + } + for (; i < each_blocks.length; i += 1) { + each_blocks[i].d(1); + } + each_blocks.length = each_value_2.length; + } + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(li); + detach_dev(t1); + detach_dev(each_1_anchor); + } + destroy_each(each_blocks, detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_each_block_1.name, + type: "each", + source: "(64:6) {#each menuCategories as category}", + ctx + }); + return block; + } + function create_if_block_1(ctx) { + let div; + let div_transition; + let current; + const block = { + c: function create3() { + div = element("div"); + this.h(); + }, + l: function claim(nodes) { + div = claim_element(nodes, "DIV", { + class: true, + id: true, + "data-test-id": true + }); + children(div).forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + attr_dev(div, "class", "bg-black/50 absolute inset-0 z-50 svelte-1q6nykn"); + attr_dev(div, "id", "backdrop"); + attr_dev(div, "data-test-id", "backdrop"); + add_location(div, file4, 86, 2, 2548); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, div, anchor); + current = true; + }, + i: function intro(local) { + if (current) + return; + if (local) { + add_render_callback(() => { + if (!current) + return; + if (!div_transition) + div_transition = create_bidirectional_transition(div, fade, { duration: 300 }, true); + div_transition.run(1); + }); + } + current = true; + }, + o: function outro(local) { + if (local) { + if (!div_transition) + div_transition = create_bidirectional_transition(div, fade, { duration: 300 }, false); + div_transition.run(0); + } + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(div); + } + if (detaching && div_transition) + div_transition.end(); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block_1.name, + type: "if", + source: "(78:0) {#if showExamples}", + ctx + }); + return block; + } + function create_if_block2(ctx) { + let each_1_anchor; + let each_value = ensure_array_like_dev( + /*currentDefinitions*/ + ctx[3] + ); + let each_blocks = []; + for (let i = 0; i < each_value.length; i += 1) { + each_blocks[i] = create_each_block(get_each_context(ctx, each_value, i)); + } + const block = { + c: function create3() { + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].c(); + } + each_1_anchor = empty(); + }, + l: function claim(nodes) { + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].l(nodes); + } + each_1_anchor = empty(); + }, + m: function mount(target, anchor) { + for (let i = 0; i < each_blocks.length; i += 1) { + if (each_blocks[i]) { + each_blocks[i].m(target, anchor); + } + } + insert_hydration_dev(target, each_1_anchor, anchor); + }, + p: function update2(ctx2, dirty) { + if (dirty & /*dragStart, currentDefinitions, dragEnd*/ + 776) { + each_value = ensure_array_like_dev( + /*currentDefinitions*/ + ctx2[3] + ); + let i; + for (i = 0; i < each_value.length; i += 1) { + const child_ctx = get_each_context(ctx2, each_value, i); + if (each_blocks[i]) { + each_blocks[i].p(child_ctx, dirty); + } else { + each_blocks[i] = create_each_block(child_ctx); + each_blocks[i].c(); + each_blocks[i].m(each_1_anchor.parentNode, each_1_anchor); + } + } + for (; i < each_blocks.length; i += 1) { + each_blocks[i].d(1); + } + each_blocks.length = each_value.length; + } + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(each_1_anchor); + } + destroy_each(each_blocks, detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block2.name, + type: "if", + source: "(91:2) {#if currentDefinitions}", + ctx + }); + return block; + } + function create_each_block(ctx) { + let div; + let img; + let img_src_value; + let img_alt_value; + let t; + let mounted; + let dispose; + function dragstart_handler(...args) { + return ( + /*dragstart_handler*/ + ctx[14]( + /*example*/ + ctx[17], + ...args + ) + ); + } + const block = { + c: function create3() { + div = element("div"); + img = element("img"); + t = space(); + this.h(); + }, + l: function claim(nodes) { + div = claim_element(nodes, "DIV", { + draggable: true, + class: true, + "data-test-id": true + }); + var div_nodes = children(div); + img = claim_element(div_nodes, "IMG", { class: true, src: true, alt: true }); + t = claim_space(div_nodes); + div_nodes.forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + attr_dev(img, "class", "rounded outline-offset-2 outline-blue-500 hover:outline hover:outline-2"); + if (!src_url_equal(img.src, img_src_value = /*example*/ + ctx[17].thumbnail)) + attr_dev(img, "src", img_src_value); + attr_dev(img, "alt", img_alt_value = /*example*/ + ctx[17].name); + add_location(img, file4, 106, 8, 3416); + attr_dev(div, "draggable", ""); + attr_dev(div, "class", "pt-6"); + attr_dev(div, "data-test-id", "component-preview-card"); + add_location(div, file4, 100, 6, 3236); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, div, anchor); + append_hydration_dev(div, img); + append_hydration_dev(div, t); + if (!mounted) { + dispose = [ + listen_dev(div, "dragstart", dragstart_handler, false, false, false, false), + listen_dev( + div, + "dragend", + /*dragEnd*/ + ctx[9], + false, + false, + false, + false + ) + ]; + mounted = true; + } + }, + p: function update2(new_ctx, dirty) { + ctx = new_ctx; + if (dirty & /*currentDefinitions*/ + 8 && !src_url_equal(img.src, img_src_value = /*example*/ + ctx[17].thumbnail)) { + attr_dev(img, "src", img_src_value); + } + if (dirty & /*currentDefinitions*/ + 8 && img_alt_value !== (img_alt_value = /*example*/ + ctx[17].name)) { + attr_dev(img, "alt", img_alt_value); + } + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(div); + } + mounted = false; + run_all(dispose); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_each_block.name, + type: "each", + source: "(92:4) {#each currentDefinitions as example}", + ctx + }); + return block; + } + function create_fragment4(ctx) { + let div2; + let div1; + let div0; + let span; + let textContent = "Beacon CMS"; + let t1; + let ul; + let t2; + let t3; + let div3; + let h4; + let t4_value = ( + /*sectionTitles*/ + ctx[4][ + /*$currentComponentCategory*/ + ctx[0]?.name + ] + "" + ); + let t4; + let t5; + let p; + let textContent_1 = "Select a component \u{1F447} and drag it to the canvas \u{1F449}"; + let t7; + let div3_transition; + let current; + let mounted; + let dispose; + let each_value_1 = ensure_array_like_dev( + /*menuCategories*/ + ctx[1] + ); + let each_blocks = []; + for (let i = 0; i < each_value_1.length; i += 1) { + each_blocks[i] = create_each_block_1(get_each_context_1(ctx, each_value_1, i)); + } + let if_block0 = ( + /*showExamples*/ + ctx[2] && create_if_block_1(ctx) + ); + let if_block1 = ( + /*currentDefinitions*/ + ctx[3] && create_if_block2(ctx) + ); + const block = { + c: function create3() { + div2 = element("div"); + div1 = element("div"); + div0 = element("div"); + span = element("span"); + span.textContent = textContent; + t1 = space(); + ul = element("ul"); + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].c(); + } + t2 = space(); + if (if_block0) + if_block0.c(); + t3 = space(); + div3 = element("div"); + h4 = element("h4"); + t4 = text(t4_value); + t5 = space(); + p = element("p"); + p.textContent = textContent_1; + t7 = space(); + if (if_block1) + if_block1.c(); + this.h(); + }, + l: function claim(nodes) { + div2 = claim_element(nodes, "DIV", { + class: true, + id: true, + "data-test-id": true + }); + var div2_nodes = children(div2); + div1 = claim_element(div2_nodes, "DIV", { class: true }); + var div1_nodes = children(div1); + div0 = claim_element(div1_nodes, "DIV", { class: true, "data-test-id": true }); + var div0_nodes = children(div0); + span = claim_element(div0_nodes, "SPAN", { class: true, ["data-svelte-h"]: true }); + if (get_svelte_dataset(span) !== "svelte-1cdjyeb") + span.textContent = textContent; + div0_nodes.forEach(detach_dev); + t1 = claim_space(div1_nodes); + ul = claim_element(div1_nodes, "UL", { class: true, "data-test-id": true }); + var ul_nodes = children(ul); + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].l(ul_nodes); + } + ul_nodes.forEach(detach_dev); + div1_nodes.forEach(detach_dev); + div2_nodes.forEach(detach_dev); + t2 = claim_space(nodes); + if (if_block0) + if_block0.l(nodes); + t3 = claim_space(nodes); + div3 = claim_element(nodes, "DIV", { + class: true, + id: true, + "data-test-id": true + }); + var div3_nodes = children(div3); + h4 = claim_element(div3_nodes, "H4", { class: true }); + var h4_nodes = children(h4); + t4 = claim_text(h4_nodes, t4_value); + h4_nodes.forEach(detach_dev); + t5 = claim_space(div3_nodes); + p = claim_element(div3_nodes, "P", { ["data-svelte-h"]: true }); + if (get_svelte_dataset(p) !== "svelte-lynpka") + p.textContent = textContent_1; + t7 = claim_space(div3_nodes); + if (if_block1) + if_block1.l(div3_nodes); + div3_nodes.forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + attr_dev(span, "class", "text-lg"); + add_location(span, file4, 68, 6, 1954); + attr_dev(div0, "class", "border-b border-gray-100 border-solid py-4 px-4"); + attr_dev(div0, "data-test-id", "logo"); + add_location(div0, file4, 67, 4, 1866); + attr_dev(ul, "class", "px-4"); + attr_dev(ul, "data-test-id", "component-tree"); + add_location(ul, file4, 70, 4, 2009); + attr_dev(div1, "class", "sticky top-0"); + add_location(div1, file4, 66, 2, 1835); + attr_dev(div2, "class", "w-64 bg-white border-gray-100 border-solid border-r svelte-1q6nykn"); + attr_dev(div2, "id", "left-sidebar"); + attr_dev(div2, "data-test-id", "left-sidebar"); + add_location(div2, file4, 65, 0, 1721); + attr_dev(h4, "class", "text-2xl"); + add_location(h4, file4, 96, 2, 3025); + add_location(p, file4, 97, 2, 3102); + attr_dev(div3, "class", "absolute w-96 -left-32 bg-white inset-y-0 shadow-sm z-50 pt-3 pb-4 px-5 transition-transform duration-300 svelte-1q6nykn"); + attr_dev(div3, "id", "component-previews"); + attr_dev(div3, "data-test-id", "component-previews"); + toggle_class( + div3, + "translate-x-96", + /*showExamples*/ + ctx[2] + ); + add_location(div3, file4, 88, 0, 2681); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, div2, anchor); + append_hydration_dev(div2, div1); + append_hydration_dev(div1, div0); + append_hydration_dev(div0, span); + append_hydration_dev(div1, t1); + append_hydration_dev(div1, ul); + for (let i = 0; i < each_blocks.length; i += 1) { + if (each_blocks[i]) { + each_blocks[i].m(ul, null); + } + } + insert_hydration_dev(target, t2, anchor); + if (if_block0) + if_block0.m(target, anchor); + insert_hydration_dev(target, t3, anchor); + insert_hydration_dev(target, div3, anchor); + append_hydration_dev(div3, h4); + append_hydration_dev(h4, t4); + append_hydration_dev(div3, t5); + append_hydration_dev(div3, p); + append_hydration_dev(div3, t7); + if (if_block1) + if_block1.m(div3, null); + current = true; + if (!mounted) { + dispose = [ + listen_dev( + div3, + "mouseenter", + /*abortCollapseCategoryMenu*/ + ctx[6], + false, + false, + false, + false + ), + listen_dev( + div3, + "mouseleave", + /*collapseCategoryMenu*/ + ctx[5], + false, + false, + false, + false + ) + ]; + mounted = true; + } + }, + p: function update2(ctx2, [dirty]) { + if (dirty & /*menuCategories, expandCategoryMenu, collapseCategoryMenu, sectionTitles*/ + 178) { + each_value_1 = ensure_array_like_dev( + /*menuCategories*/ + ctx2[1] + ); + let i; + for (i = 0; i < each_value_1.length; i += 1) { + const child_ctx = get_each_context_1(ctx2, each_value_1, i); + if (each_blocks[i]) { + each_blocks[i].p(child_ctx, dirty); + } else { + each_blocks[i] = create_each_block_1(child_ctx); + each_blocks[i].c(); + each_blocks[i].m(ul, null); + } + } + for (; i < each_blocks.length; i += 1) { + each_blocks[i].d(1); + } + each_blocks.length = each_value_1.length; + } + if ( + /*showExamples*/ + ctx2[2] + ) { + if (if_block0) { + if (dirty & /*showExamples*/ + 4) { + transition_in(if_block0, 1); + } + } else { + if_block0 = create_if_block_1(ctx2); + if_block0.c(); + transition_in(if_block0, 1); + if_block0.m(t3.parentNode, t3); + } + } else if (if_block0) { + group_outros(); + transition_out(if_block0, 1, 1, () => { + if_block0 = null; + }); + check_outros(); + } + if ((!current || dirty & /*$currentComponentCategory*/ + 1) && t4_value !== (t4_value = /*sectionTitles*/ + ctx2[4][ + /*$currentComponentCategory*/ + ctx2[0]?.name + ] + "")) + set_data_dev(t4, t4_value); + if ( + /*currentDefinitions*/ + ctx2[3] + ) { + if (if_block1) { + if_block1.p(ctx2, dirty); + } else { + if_block1 = create_if_block2(ctx2); + if_block1.c(); + if_block1.m(div3, null); + } + } else if (if_block1) { + if_block1.d(1); + if_block1 = null; + } + if (!current || dirty & /*showExamples*/ + 4) { + toggle_class( + div3, + "translate-x-96", + /*showExamples*/ + ctx2[2] + ); + } + }, + i: function intro(local) { + if (current) + return; + transition_in(if_block0); + if (local) { + add_render_callback(() => { + if (!current) + return; + if (!div3_transition) + div3_transition = create_bidirectional_transition(div3, translate, { x: 384 }, true); + div3_transition.run(1); + }); + } + current = true; + }, + o: function outro(local) { + transition_out(if_block0); + if (local) { + if (!div3_transition) + div3_transition = create_bidirectional_transition(div3, translate, { x: 384 }, false); + div3_transition.run(0); + } + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(div2); + detach_dev(t2); + detach_dev(t3); + detach_dev(div3); + } + destroy_each(each_blocks, detaching); + if (if_block0) + if_block0.d(detaching); + if (if_block1) + if_block1.d(); + if (detaching && div3_transition) + div3_transition.end(); + mounted = false; + run_all(dispose); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_fragment4.name, + type: "component", + source: "", + ctx + }); + return block; + } + function instance4($$self, $$props, $$invalidate) { + let componentDefinitions; + let componentDefinitionsByCategory; + let currentDefinitions; + let $draggedObject; + let $currentComponentCategory; + validate_store(draggedObject, "draggedObject"); + component_subscribe($$self, draggedObject, ($$value) => $$invalidate(16, $draggedObject = $$value)); + validate_store(currentComponentCategory, "currentComponentCategory"); + component_subscribe($$self, currentComponentCategory, ($$value) => $$invalidate(0, $currentComponentCategory = $$value)); + let { $$slots: slots = {}, $$scope } = $$props; + validate_slots("ComponentsSidebar", slots, []); + let { components } = $$props; + let menuCategories = []; + const sectionTitles = { + nav: "Navs", + header: "Headers", + sign_in: "Sign ins", + sign_up: "Sign ups", + stats: "Stats", + footer: "Footers", + basic: "Basics", + other: "Other" + }; + let showExamples = false; + let hideComponentTimer; + function collapseCategoryMenu() { + hideComponentTimer = setTimeout( + () => { + $$invalidate(2, showExamples = false); + }, + 400 + ); + } + function abortCollapseCategoryMenu() { + clearTimeout(hideComponentTimer); + } + function expandCategoryMenu(componentCategory) { + if ($draggedObject) + return; + clearTimeout(hideComponentTimer); + set_store_value(currentComponentCategory, $currentComponentCategory = componentCategory, $currentComponentCategory); + $$invalidate(2, showExamples = true); + } + function dragStart(componentDefinition, e) { + setTimeout( + () => { + set_store_value(draggedObject, $draggedObject = componentDefinition, $draggedObject); + $$invalidate(2, showExamples = false); + }, + 100 + ); + } + function dragEnd() { + set_store_value(draggedObject, $draggedObject = null, $draggedObject); + } + $$self.$$.on_mount.push(function() { + if (components === void 0 && !("components" in $$props || $$self.$$.bound[$$self.$$.props["components"]])) { + console.warn(" was created without expected prop 'components'"); + } + }); + const writable_props = ["components"]; + Object.keys($$props).forEach((key) => { + if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$" && key !== "slot") + console.warn(` was created with unknown prop '${key}'`); + }); + const mouseenter_handler = (item) => expandCategoryMenu(item); + const dragstart_handler = (example, e) => dragStart(example, e); + $$self.$$set = ($$props2) => { + if ("components" in $$props2) + $$invalidate(10, components = $$props2.components); + }; + $$self.$capture_state = () => ({ + fade, + translate, + currentComponentCategory, + draggedObject, + components, + menuCategories, + sectionTitles, + showExamples, + hideComponentTimer, + collapseCategoryMenu, + abortCollapseCategoryMenu, + expandCategoryMenu, + dragStart, + dragEnd, + componentDefinitionsByCategory, + currentDefinitions, + componentDefinitions, + $draggedObject, + $currentComponentCategory + }); + $$self.$inject_state = ($$props2) => { + if ("components" in $$props2) + $$invalidate(10, components = $$props2.components); + if ("menuCategories" in $$props2) + $$invalidate(1, menuCategories = $$props2.menuCategories); + if ("showExamples" in $$props2) + $$invalidate(2, showExamples = $$props2.showExamples); + if ("hideComponentTimer" in $$props2) + hideComponentTimer = $$props2.hideComponentTimer; + if ("componentDefinitionsByCategory" in $$props2) + $$invalidate(11, componentDefinitionsByCategory = $$props2.componentDefinitionsByCategory); + if ("currentDefinitions" in $$props2) + $$invalidate(3, currentDefinitions = $$props2.currentDefinitions); + if ("componentDefinitions" in $$props2) + $$invalidate(12, componentDefinitions = $$props2.componentDefinitions); + }; + if ($$props && "$$inject" in $$props) { + $$self.$inject_state($$props.$$inject); + } + $$self.$$.update = () => { + if ($$self.$$.dirty & /*components*/ + 1024) { + $: + $$invalidate(12, componentDefinitions = components); + } + if ($$self.$$.dirty & /*componentDefinitions*/ + 4096) { + $: + $$invalidate(1, menuCategories = [ + { + name: "Base", + items: Array.from(new Set(componentDefinitions.map((d) => d.category))).map((id) => ({ id, name: id })) + } + ]); + } + if ($$self.$$.dirty & /*componentDefinitions*/ + 4096) { + $: + $$invalidate(11, componentDefinitionsByCategory = (componentDefinitions || []).reduce( + (acc, comp) => { + var _a; + acc[_a = comp.category] || (acc[_a] = []); + acc[comp.category].push(comp); + return acc; + }, + {} + )); + } + if ($$self.$$.dirty & /*$currentComponentCategory, componentDefinitionsByCategory*/ + 2049) { + $: + $$invalidate(3, currentDefinitions = $currentComponentCategory ? componentDefinitionsByCategory[$currentComponentCategory.id] : []); + } + }; + return [ + $currentComponentCategory, + menuCategories, + showExamples, + currentDefinitions, + sectionTitles, + collapseCategoryMenu, + abortCollapseCategoryMenu, + expandCategoryMenu, + dragStart, + dragEnd, + components, + componentDefinitionsByCategory, + componentDefinitions, + mouseenter_handler, + dragstart_handler + ]; + } + var ComponentsSidebar = class extends SvelteComponentDev { + constructor(options) { + super(options); + init2(this, options, instance4, create_fragment4, safe_not_equal, { components: 10 }, add_css); + dispatch_dev("SvelteRegisterComponent", { + component: this, + tagName: "ComponentsSidebar", + options, + id: create_fragment4.name + }); + } + get components() { + throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + } + set components(value) { + throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + } + }; + var ComponentsSidebar_default = ComponentsSidebar; + + // svelte/components/LayoutAstNode.svelte + var LayoutAstNode_exports = {}; + __export(LayoutAstNode_exports, { + default: () => LayoutAstNode_default + }); + + // svelte/stores/page.ts + var page = writable(); + var selectedAstElementId = writable(); + var highlightedAstElement = writable(); + var slotTargetElement = writable(); + var rootAstElement = derived([page], ([$page]) => { + return { tag: "root", attrs: {}, content: $page.ast }; + }); + var selectedAstElement = derived([page, selectedAstElementId], ([$page, $selectedAstElementId]) => { + if ($selectedAstElementId) { + if ($selectedAstElementId === "root") + return get_store_value(rootAstElement); + return findAstElement($page.ast, $selectedAstElementId); + } + }); + function isAstElement(maybeNode) { + return typeof maybeNode !== "string"; + } + function findAstElement(ast, id) { + let indexes = id.split(".").map((s) => parseInt(s, 10)); + let node = ast[indexes[0]]; + ast = node.content; + for (let i = 1; i < indexes.length; i++) { + node = ast[indexes[i]]; + ast = node.content; + } + return node; + } + function findAstElementId(astNode) { + let $page = get_store_value(page); + return _findAstElementId($page.ast, astNode, ""); + } + function _findAstElementId(ast, astNode, id) { + for (let i = 0; i < ast.length; i++) { + let currentNode = ast[i]; + if (currentNode === astNode) { + return id + i; + } else if (isAstElement(currentNode)) { + let result = _findAstElementId(currentNode.content, astNode, id + i + "."); + if (result) { + return result; + } + } + } + } + + // svelte/components/LayoutAstNode.svelte + var file5 = "svelte/components/LayoutAstNode.svelte"; + function get_each_context2(ctx, list, i) { + const child_ctx = ctx.slice(); + child_ctx[3] = list[i]; + child_ctx[5] = i; + return child_ctx; + } + function create_else_block_1(ctx) { + let t; + const block = { + c: function create3() { + t = text( + /*node*/ + ctx[0] + ); + }, + l: function claim(nodes) { + t = claim_text( + nodes, + /*node*/ + ctx[0] + ); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, t, anchor); + }, + p: function update2(ctx2, dirty) { + if (dirty & /*node*/ + 1) + set_data_dev( + t, + /*node*/ + ctx2[0] + ); + }, + i: noop2, + o: noop2, + d: function destroy(detaching) { + if (detaching) { + detach_dev(t); + } + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_else_block_1.name, + type: "else", + source: "(23:0) {:else}", + ctx + }); + return block; + } + function create_if_block3(ctx) { + let current_block_type_index; + let if_block; + let if_block_anchor; + let current; + const if_block_creators = [ + create_if_block_12, + create_if_block_2, + create_if_block_3, + create_if_block_4, + create_if_block_5, + create_else_block + ]; + const if_blocks = []; + function select_block_type_1(ctx2, dirty) { + if ( + /*node*/ + ctx2[0].tag === "html_comment" + ) + return 0; + if ( + /*node*/ + ctx2[0].tag === "eex_comment" + ) + return 1; + if ( + /*node*/ + ctx2[0].tag === "eex" && /*node*/ + ctx2[0].content[0] === "@inner_content" + ) + return 2; + if ( + /*node*/ + ctx2[0].rendered_html + ) + return 3; + if ( + /*node*/ + ctx2[0].attrs.selfClose + ) + return 4; + return 5; + } + current_block_type_index = select_block_type_1(ctx, -1); + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx); + const block = { + c: function create3() { + if_block.c(); + if_block_anchor = empty(); + }, + l: function claim(nodes) { + if_block.l(nodes); + if_block_anchor = empty(); + }, + m: function mount(target, anchor) { + if_blocks[current_block_type_index].m(target, anchor); + insert_hydration_dev(target, if_block_anchor, anchor); + current = true; + }, + p: function update2(ctx2, dirty) { + let previous_block_index = current_block_type_index; + current_block_type_index = select_block_type_1(ctx2, dirty); + if (current_block_type_index === previous_block_index) { + if_blocks[current_block_type_index].p(ctx2, dirty); + } else { + group_outros(); + transition_out(if_blocks[previous_block_index], 1, 1, () => { + if_blocks[previous_block_index] = null; + }); + check_outros(); + if_block = if_blocks[current_block_type_index]; + if (!if_block) { + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2); + if_block.c(); + } else { + if_block.p(ctx2, dirty); + } + transition_in(if_block, 1); + if_block.m(if_block_anchor.parentNode, if_block_anchor); + } + }, + i: function intro(local) { + if (current) + return; + transition_in(if_block); + current = true; + }, + o: function outro(local) { + transition_out(if_block); + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(if_block_anchor); + } + if_blocks[current_block_type_index].d(detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block3.name, + type: "if", + source: "(5:0) {#if isAstElement(node)}", + ctx + }); + return block; + } + function create_else_block(ctx) { + let previous_tag = ( + /*node*/ + ctx[0].tag + ); + let svelte_element_anchor; + let current; + validate_dynamic_element( + /*node*/ + ctx[0].tag + ); + validate_void_dynamic_element( + /*node*/ + ctx[0].tag + ); + let svelte_element = ( + /*node*/ + ctx[0].tag && create_dynamic_element_1(ctx) + ); + const block = { + c: function create3() { + if (svelte_element) + svelte_element.c(); + svelte_element_anchor = empty(); + }, + l: function claim(nodes) { + if (svelte_element) + svelte_element.l(nodes); + svelte_element_anchor = empty(); + }, + m: function mount(target, anchor) { + if (svelte_element) + svelte_element.m(target, anchor); + insert_hydration_dev(target, svelte_element_anchor, anchor); + }, + p: function update2(ctx2, dirty) { + if ( + /*node*/ + ctx2[0].tag + ) { + if (!previous_tag) { + svelte_element = create_dynamic_element_1(ctx2); + previous_tag = /*node*/ + ctx2[0].tag; + svelte_element.c(); + svelte_element.m(svelte_element_anchor.parentNode, svelte_element_anchor); + } else if (safe_not_equal( + previous_tag, + /*node*/ + ctx2[0].tag + )) { + svelte_element.d(1); + validate_dynamic_element( + /*node*/ + ctx2[0].tag + ); + validate_void_dynamic_element( + /*node*/ + ctx2[0].tag + ); + svelte_element = create_dynamic_element_1(ctx2); + previous_tag = /*node*/ + ctx2[0].tag; + svelte_element.c(); + svelte_element.m(svelte_element_anchor.parentNode, svelte_element_anchor); + } else { + svelte_element.p(ctx2, dirty); + } + } else if (previous_tag) { + svelte_element.d(1); + svelte_element = null; + previous_tag = /*node*/ + ctx2[0].tag; + } + }, + i: noop2, + o: function outro(local) { + transition_out(svelte_element, local); + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(svelte_element_anchor); + } + if (svelte_element) + svelte_element.d(detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_else_block.name, + type: "else", + source: "(16:2) {:else}", + ctx + }); + return block; + } + function create_if_block_5(ctx) { + let previous_tag = ( + /*node*/ + ctx[0].tag + ); + let svelte_element_anchor; + validate_dynamic_element( + /*node*/ + ctx[0].tag + ); + let svelte_element = ( + /*node*/ + ctx[0].tag && create_dynamic_element(ctx) + ); + const block = { + c: function create3() { + if (svelte_element) + svelte_element.c(); + svelte_element_anchor = empty(); + }, + l: function claim(nodes) { + if (svelte_element) + svelte_element.l(nodes); + svelte_element_anchor = empty(); + }, + m: function mount(target, anchor) { + if (svelte_element) + svelte_element.m(target, anchor); + insert_hydration_dev(target, svelte_element_anchor, anchor); + }, + p: function update2(ctx2, dirty) { + if ( + /*node*/ + ctx2[0].tag + ) { + if (!previous_tag) { + svelte_element = create_dynamic_element(ctx2); + previous_tag = /*node*/ + ctx2[0].tag; + svelte_element.c(); + svelte_element.m(svelte_element_anchor.parentNode, svelte_element_anchor); + } else if (safe_not_equal( + previous_tag, + /*node*/ + ctx2[0].tag + )) { + svelte_element.d(1); + validate_dynamic_element( + /*node*/ + ctx2[0].tag + ); + svelte_element = create_dynamic_element(ctx2); + previous_tag = /*node*/ + ctx2[0].tag; + svelte_element.c(); + svelte_element.m(svelte_element_anchor.parentNode, svelte_element_anchor); + } else { + svelte_element.p(ctx2, dirty); + } + } else if (previous_tag) { + svelte_element.d(1); + svelte_element = null; + previous_tag = /*node*/ + ctx2[0].tag; + } + }, + i: noop2, + o: noop2, + d: function destroy(detaching) { + if (detaching) { + detach_dev(svelte_element_anchor); + } + if (svelte_element) + svelte_element.d(detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block_5.name, + type: "if", + source: "(14:33) ", + ctx + }); + return block; + } + function create_if_block_4(ctx) { + let html_tag; + let raw_value = ( + /*node*/ + ctx[0].rendered_html + "" + ); + let html_anchor; + const block = { + c: function create3() { + html_tag = new HtmlTagHydration(false); + html_anchor = empty(); + this.h(); + }, + l: function claim(nodes) { + html_tag = claim_html_tag(nodes, false); + html_anchor = empty(); + this.h(); + }, + h: function hydrate() { + html_tag.a = html_anchor; + }, + m: function mount(target, anchor) { + html_tag.m(raw_value, target, anchor); + insert_hydration_dev(target, html_anchor, anchor); + }, + p: function update2(ctx2, dirty) { + if (dirty & /*node*/ + 1 && raw_value !== (raw_value = /*node*/ + ctx2[0].rendered_html + "")) + html_tag.p(raw_value); + }, + i: noop2, + o: noop2, + d: function destroy(detaching) { + if (detaching) { + detach_dev(html_anchor); + html_tag.d(); + } + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block_4.name, + type: "if", + source: "(12:31) ", + ctx + }); + return block; + } + function create_if_block_3(ctx) { + let current; + const default_slot_template = ( + /*#slots*/ + ctx[2].default + ); + const default_slot = create_slot( + default_slot_template, + ctx, + /*$$scope*/ + ctx[1], + null + ); + const block = { + c: function create3() { + if (default_slot) + default_slot.c(); + }, + l: function claim(nodes) { + if (default_slot) + default_slot.l(nodes); + }, + m: function mount(target, anchor) { + if (default_slot) { + default_slot.m(target, anchor); + } + current = true; + }, + p: function update2(ctx2, dirty) { + if (default_slot) { + if (default_slot.p && (!current || dirty & /*$$scope*/ + 2)) { + update_slot_base( + default_slot, + default_slot_template, + ctx2, + /*$$scope*/ + ctx2[1], + !current ? get_all_dirty_from_scope( + /*$$scope*/ + ctx2[1] + ) : get_slot_changes( + default_slot_template, + /*$$scope*/ + ctx2[1], + dirty, + null + ), + null + ); + } + } + }, + i: function intro(local) { + if (current) + return; + transition_in(default_slot, local); + current = true; + }, + o: function outro(local) { + transition_out(default_slot, local); + current = false; + }, + d: function destroy(detaching) { + if (default_slot) + default_slot.d(detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block_3.name, + type: "if", + source: "(10:71) ", + ctx + }); + return block; + } + function create_if_block_2(ctx) { + let html_tag; + let raw_value = ""; + let html_anchor; + const block = { + c: function create3() { + html_tag = new HtmlTagHydration(false); + html_anchor = empty(); + this.h(); + }, + l: function claim(nodes) { + html_tag = claim_html_tag(nodes, false); + html_anchor = empty(); + this.h(); + }, + h: function hydrate() { + html_tag.a = html_anchor; + }, + m: function mount(target, anchor) { + html_tag.m(raw_value, target, anchor); + insert_hydration_dev(target, html_anchor, anchor); + }, + p: function update2(ctx2, dirty) { + if (dirty & /*node*/ + 1 && raw_value !== (raw_value = "")) + html_tag.p(raw_value); + }, + i: noop2, + o: noop2, + d: function destroy(detaching) { + if (detaching) { + detach_dev(html_anchor); + html_tag.d(); + } + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block_2.name, + type: "if", + source: "(8:39) ", + ctx + }); + return block; + } + function create_if_block_12(ctx) { + let html_tag; + let raw_value = ""; + let html_anchor; + const block = { + c: function create3() { + html_tag = new HtmlTagHydration(false); + html_anchor = empty(); + this.h(); + }, + l: function claim(nodes) { + html_tag = claim_html_tag(nodes, false); + html_anchor = empty(); + this.h(); + }, + h: function hydrate() { + html_tag.a = html_anchor; + }, + m: function mount(target, anchor) { + html_tag.m(raw_value, target, anchor); + insert_hydration_dev(target, html_anchor, anchor); + }, + p: function update2(ctx2, dirty) { + if (dirty & /*node*/ + 1 && raw_value !== (raw_value = "")) + html_tag.p(raw_value); + }, + i: noop2, + o: noop2, + d: function destroy(detaching) { + if (detaching) { + detach_dev(html_anchor); + html_tag.d(); + } + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block_12.name, + type: "if", + source: "(6:2) {#if node.tag === 'html_comment'}", + ctx + }); + return block; + } + function create_each_block2(ctx) { + let layoutastnode; + let current; + layoutastnode = new LayoutAstNode({ + props: { node: ( + /*subnode*/ + ctx[3] + ) }, + $$inline: true + }); + const block = { + c: function create3() { + create_component(layoutastnode.$$.fragment); + }, + l: function claim(nodes) { + claim_component(layoutastnode.$$.fragment, nodes); + }, + m: function mount(target, anchor) { + mount_component(layoutastnode, target, anchor); + current = true; + }, + p: function update2(ctx2, dirty) { + const layoutastnode_changes = {}; + if (dirty & /*node*/ + 1) + layoutastnode_changes.node = /*subnode*/ + ctx2[3]; + layoutastnode.$set(layoutastnode_changes); + }, + i: function intro(local) { + if (current) + return; + transition_in(layoutastnode.$$.fragment, local); + current = true; + }, + o: function outro(local) { + transition_out(layoutastnode.$$.fragment, local); + current = false; + }, + d: function destroy(detaching) { + destroy_component(layoutastnode, detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_each_block2.name, + type: "each", + source: "(18:6) {#each node.content as subnode, index}", + ctx + }); + return block; + } + function create_dynamic_element_1(ctx) { + let svelte_element; + let current; + let each_value = ensure_array_like_dev( + /*node*/ + ctx[0].content + ); + let each_blocks = []; + for (let i = 0; i < each_value.length; i += 1) { + each_blocks[i] = create_each_block2(get_each_context2(ctx, each_value, i)); + } + const out = (i) => transition_out(each_blocks[i], 1, 1, () => { + each_blocks[i] = null; + }); + let svelte_element_levels = [ + /*node*/ + ctx[0].attrs + ]; + let svelte_element_data = {}; + for (let i = 0; i < svelte_element_levels.length; i += 1) { + svelte_element_data = assign(svelte_element_data, svelte_element_levels[i]); + } + const block = { + c: function create3() { + svelte_element = element( + /*node*/ + ctx[0].tag + ); + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].c(); + } + this.h(); + }, + l: function claim(nodes) { + svelte_element = claim_element( + nodes, + /*node*/ + (ctx[0].tag || "null").toUpperCase(), + {} + ); + var svelte_element_nodes = children(svelte_element); + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].l(svelte_element_nodes); + } + svelte_element_nodes.forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + set_dynamic_element_data( + /*node*/ + ctx[0].tag + )(svelte_element, svelte_element_data); + add_location(svelte_element, file5, 18, 4, 529); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, svelte_element, anchor); + for (let i = 0; i < each_blocks.length; i += 1) { + if (each_blocks[i]) { + each_blocks[i].m(svelte_element, null); + } + } + current = true; + }, + p: function update2(ctx2, dirty) { + if (dirty & /*node*/ + 1) { + each_value = ensure_array_like_dev( + /*node*/ + ctx2[0].content + ); + let i; + for (i = 0; i < each_value.length; i += 1) { + const child_ctx = get_each_context2(ctx2, each_value, i); + if (each_blocks[i]) { + each_blocks[i].p(child_ctx, dirty); + transition_in(each_blocks[i], 1); + } else { + each_blocks[i] = create_each_block2(child_ctx); + each_blocks[i].c(); + transition_in(each_blocks[i], 1); + each_blocks[i].m(svelte_element, null); + } + } + group_outros(); + for (i = each_value.length; i < each_blocks.length; i += 1) { + out(i); + } + check_outros(); + } + set_dynamic_element_data( + /*node*/ + ctx2[0].tag + )(svelte_element, svelte_element_data = get_spread_update(svelte_element_levels, [dirty & /*node*/ + 1 && /*node*/ + ctx2[0].attrs])); + }, + i: function intro(local) { + if (current) + return; + for (let i = 0; i < each_value.length; i += 1) { + transition_in(each_blocks[i]); + } + current = true; + }, + o: function outro(local) { + each_blocks = each_blocks.filter(Boolean); + for (let i = 0; i < each_blocks.length; i += 1) { + transition_out(each_blocks[i]); + } + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(svelte_element); + } + destroy_each(each_blocks, detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_dynamic_element_1.name, + type: "child_dynamic_element", + source: "(17:4) ", + ctx + }); + return block; + } + function create_dynamic_element(ctx) { + let svelte_element; + let svelte_element_levels = [ + /*node*/ + ctx[0].attrs + ]; + let svelte_element_data = {}; + for (let i = 0; i < svelte_element_levels.length; i += 1) { + svelte_element_data = assign(svelte_element_data, svelte_element_levels[i]); + } + const block = { + c: function create3() { + svelte_element = element( + /*node*/ + ctx[0].tag + ); + this.h(); + }, + l: function claim(nodes) { + svelte_element = claim_element( + nodes, + /*node*/ + (ctx[0].tag || "null").toUpperCase(), + {} + ); + children(svelte_element).forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + set_dynamic_element_data( + /*node*/ + ctx[0].tag + )(svelte_element, svelte_element_data); + add_location(svelte_element, file5, 16, 4, 465); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, svelte_element, anchor); + }, + p: function update2(ctx2, dirty) { + set_dynamic_element_data( + /*node*/ + ctx2[0].tag + )(svelte_element, svelte_element_data = get_spread_update(svelte_element_levels, [dirty & /*node*/ + 1 && /*node*/ + ctx2[0].attrs])); + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(svelte_element); + } + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_dynamic_element.name, + type: "child_dynamic_element", + source: "(15:4) ", + ctx + }); + return block; + } + function create_fragment5(ctx) { + let show_if; + let current_block_type_index; + let if_block; + let if_block_anchor; + let current; + const if_block_creators = [create_if_block3, create_else_block_1]; + const if_blocks = []; + function select_block_type(ctx2, dirty) { + if (dirty & /*node*/ + 1) + show_if = null; + if (show_if == null) + show_if = !!isAstElement( + /*node*/ + ctx2[0] + ); + if (show_if) + return 0; + return 1; + } + current_block_type_index = select_block_type(ctx, -1); + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx); + const block = { + c: function create3() { + if_block.c(); + if_block_anchor = empty(); + }, + l: function claim(nodes) { + if_block.l(nodes); + if_block_anchor = empty(); + }, + m: function mount(target, anchor) { + if_blocks[current_block_type_index].m(target, anchor); + insert_hydration_dev(target, if_block_anchor, anchor); + current = true; + }, + p: function update2(ctx2, [dirty]) { + let previous_block_index = current_block_type_index; + current_block_type_index = select_block_type(ctx2, dirty); + if (current_block_type_index === previous_block_index) { + if_blocks[current_block_type_index].p(ctx2, dirty); + } else { + group_outros(); + transition_out(if_blocks[previous_block_index], 1, 1, () => { + if_blocks[previous_block_index] = null; + }); + check_outros(); + if_block = if_blocks[current_block_type_index]; + if (!if_block) { + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2); + if_block.c(); + } else { + if_block.p(ctx2, dirty); + } + transition_in(if_block, 1); + if_block.m(if_block_anchor.parentNode, if_block_anchor); + } + }, + i: function intro(local) { + if (current) + return; + transition_in(if_block); + current = true; + }, + o: function outro(local) { + transition_out(if_block); + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(if_block_anchor); + } + if_blocks[current_block_type_index].d(detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_fragment5.name, + type: "component", + source: "", + ctx + }); + return block; + } + function instance5($$self, $$props, $$invalidate) { + let { $$slots: slots = {}, $$scope } = $$props; + validate_slots("LayoutAstNode", slots, ["default"]); + let { node } = $$props; + $$self.$$.on_mount.push(function() { + if (node === void 0 && !("node" in $$props || $$self.$$.bound[$$self.$$.props["node"]])) { + console.warn(" was created without expected prop 'node'"); + } + }); + const writable_props = ["node"]; + Object.keys($$props).forEach((key) => { + if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$" && key !== "slot") + console.warn(` was created with unknown prop '${key}'`); + }); + $$self.$$set = ($$props2) => { + if ("node" in $$props2) + $$invalidate(0, node = $$props2.node); + if ("$$scope" in $$props2) + $$invalidate(1, $$scope = $$props2.$$scope); + }; + $$self.$capture_state = () => ({ isAstElement, node }); + $$self.$inject_state = ($$props2) => { + if ("node" in $$props2) + $$invalidate(0, node = $$props2.node); + }; + if ($$props && "$$inject" in $$props) { + $$self.$inject_state($$props.$$inject); + } + return [node, $$scope, slots]; + } + var LayoutAstNode = class extends SvelteComponentDev { + constructor(options) { + super(options); + init2(this, options, instance5, create_fragment5, safe_not_equal, { node: 0 }); + dispatch_dev("SvelteRegisterComponent", { + component: this, + tagName: "LayoutAstNode", + options, + id: create_fragment5.name + }); + } + get node() { + throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + } + set node(value) { + throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + } + }; + var LayoutAstNode_default = LayoutAstNode; + + // svelte/components/PageAstNode.svelte + var PageAstNode_exports = {}; + __export(PageAstNode_exports, { + default: () => PageAstNode_default + }); + var file6 = "svelte/components/PageAstNode.svelte"; + function get_each_context3(ctx, list, i) { + const child_ctx = ctx.slice(); + child_ctx[16] = list[i]; + child_ctx[18] = i; + return child_ctx; + } + function create_else_block_12(ctx) { + let t; + const block = { + c: function create3() { + t = text( + /*node*/ + ctx[0] + ); + }, + l: function claim(nodes) { + t = claim_text( + nodes, + /*node*/ + ctx[0] + ); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, t, anchor); + }, + p: function update2(ctx2, dirty) { + if (dirty & /*node*/ + 1) + set_data_dev( + t, + /*node*/ + ctx2[0] + ); + }, + i: noop2, + o: noop2, + d: function destroy(detaching) { + if (detaching) { + detach_dev(t); + } + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_else_block_12.name, + type: "else", + source: "(102:0) {:else}", + ctx + }); + return block; + } + function create_if_block4(ctx) { + let current_block_type_index; + let if_block; + let if_block_anchor; + let current; + const if_block_creators = [ + create_if_block_13, + create_if_block_22, + create_if_block_32, + create_if_block_42, + create_if_block_52, + create_else_block2 + ]; + const if_blocks = []; + function select_block_type_1(ctx2, dirty) { + if ( + /*node*/ + ctx2[0].tag === "html_comment" + ) + return 0; + if ( + /*node*/ + ctx2[0].tag === "eex_comment" + ) + return 1; + if ( + /*node*/ + ctx2[0].tag === "eex" && /*node*/ + ctx2[0].content[0] === "@inner_content" + ) + return 2; + if ( + /*node*/ + ctx2[0].rendered_html + ) + return 3; + if ( + /*node*/ + ctx2[0].attrs.selfClose + ) + return 4; + return 5; + } + current_block_type_index = select_block_type_1(ctx, -1); + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx); + const block = { + c: function create3() { + if_block.c(); + if_block_anchor = empty(); + }, + l: function claim(nodes) { + if_block.l(nodes); + if_block_anchor = empty(); + }, + m: function mount(target, anchor) { + if_blocks[current_block_type_index].m(target, anchor); + insert_hydration_dev(target, if_block_anchor, anchor); + current = true; + }, + p: function update2(ctx2, dirty) { + let previous_block_index = current_block_type_index; + current_block_type_index = select_block_type_1(ctx2, dirty); + if (current_block_type_index === previous_block_index) { + if_blocks[current_block_type_index].p(ctx2, dirty); + } else { + group_outros(); + transition_out(if_blocks[previous_block_index], 1, 1, () => { + if_blocks[previous_block_index] = null; + }); + check_outros(); + if_block = if_blocks[current_block_type_index]; + if (!if_block) { + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2); + if_block.c(); + } else { + if_block.p(ctx2, dirty); + } + transition_in(if_block, 1); + if_block.m(if_block_anchor.parentNode, if_block_anchor); + } + }, + i: function intro(local) { + if (current) + return; + transition_in(if_block); + current = true; + }, + o: function outro(local) { + transition_out(if_block); + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(if_block_anchor); + } + if_blocks[current_block_type_index].d(detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block4.name, + type: "if", + source: "(58:0) {#if isAstElement(node)}", + ctx + }); + return block; + } + function create_else_block2(ctx) { + let previous_tag = ( + /*node*/ + ctx[0].tag + ); + let svelte_element_anchor; + let current; + validate_dynamic_element( + /*node*/ + ctx[0].tag + ); + validate_void_dynamic_element( + /*node*/ + ctx[0].tag + ); + let svelte_element = ( + /*node*/ + ctx[0].tag && create_dynamic_element_12(ctx) + ); + const block = { + c: function create3() { + if (svelte_element) + svelte_element.c(); + svelte_element_anchor = empty(); + }, + l: function claim(nodes) { + if (svelte_element) + svelte_element.l(nodes); + svelte_element_anchor = empty(); + }, + m: function mount(target, anchor) { + if (svelte_element) + svelte_element.m(target, anchor); + insert_hydration_dev(target, svelte_element_anchor, anchor); + }, + p: function update2(ctx2, dirty) { + if ( + /*node*/ + ctx2[0].tag + ) { + if (!previous_tag) { + svelte_element = create_dynamic_element_12(ctx2); + previous_tag = /*node*/ + ctx2[0].tag; + svelte_element.c(); + svelte_element.m(svelte_element_anchor.parentNode, svelte_element_anchor); + } else if (safe_not_equal( + previous_tag, + /*node*/ + ctx2[0].tag + )) { + svelte_element.d(1); + validate_dynamic_element( + /*node*/ + ctx2[0].tag + ); + validate_void_dynamic_element( + /*node*/ + ctx2[0].tag + ); + svelte_element = create_dynamic_element_12(ctx2); + previous_tag = /*node*/ + ctx2[0].tag; + svelte_element.c(); + svelte_element.m(svelte_element_anchor.parentNode, svelte_element_anchor); + } else { + svelte_element.p(ctx2, dirty); + } + } else if (previous_tag) { + svelte_element.d(1); + svelte_element = null; + previous_tag = /*node*/ + ctx2[0].tag; + } + }, + i: noop2, + o: function outro(local) { + transition_out(svelte_element, local); + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(svelte_element_anchor); + } + if (svelte_element) + svelte_element.d(detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_else_block2.name, + type: "else", + source: "(85:2) {:else}", + ctx + }); + return block; + } + function create_if_block_52(ctx) { + let previous_tag = ( + /*node*/ + ctx[0].tag + ); + let svelte_element_anchor; + validate_dynamic_element( + /*node*/ + ctx[0].tag + ); + let svelte_element = ( + /*node*/ + ctx[0].tag && create_dynamic_element2(ctx) + ); + const block = { + c: function create3() { + if (svelte_element) + svelte_element.c(); + svelte_element_anchor = empty(); + }, + l: function claim(nodes) { + if (svelte_element) + svelte_element.l(nodes); + svelte_element_anchor = empty(); + }, + m: function mount(target, anchor) { + if (svelte_element) + svelte_element.m(target, anchor); + insert_hydration_dev(target, svelte_element_anchor, anchor); + }, + p: function update2(ctx2, dirty) { + if ( + /*node*/ + ctx2[0].tag + ) { + if (!previous_tag) { + svelte_element = create_dynamic_element2(ctx2); + previous_tag = /*node*/ + ctx2[0].tag; + svelte_element.c(); + svelte_element.m(svelte_element_anchor.parentNode, svelte_element_anchor); + } else if (safe_not_equal( + previous_tag, + /*node*/ + ctx2[0].tag + )) { + svelte_element.d(1); + validate_dynamic_element( + /*node*/ + ctx2[0].tag + ); + svelte_element = create_dynamic_element2(ctx2); + previous_tag = /*node*/ + ctx2[0].tag; + svelte_element.c(); + svelte_element.m(svelte_element_anchor.parentNode, svelte_element_anchor); + } else { + svelte_element.p(ctx2, dirty); + } + } else if (previous_tag) { + svelte_element.d(1); + svelte_element = null; + previous_tag = /*node*/ + ctx2[0].tag; + } + }, + i: noop2, + o: noop2, + d: function destroy(detaching) { + if (detaching) { + detach_dev(svelte_element_anchor); + } + if (svelte_element) + svelte_element.d(detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block_52.name, + type: "if", + source: "(73:33) ", + ctx + }); + return block; + } + function create_if_block_42(ctx) { + let div; + let html_tag; + let raw_value = ( + /*node*/ + ctx[0].rendered_html + "" + ); + let highlightContent_action; + let mounted; + let dispose; + const block = { + c: function create3() { + div = element("div"); + html_tag = new HtmlTagHydration(false); + this.h(); + }, + l: function claim(nodes) { + div = claim_element(nodes, "DIV", { class: true }); + var div_nodes = children(div); + html_tag = claim_html_tag(div_nodes, false); + div_nodes.forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + html_tag.a = null; + attr_dev(div, "class", "contents"); + add_location(div, file6, 70, 4, 2654); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, div, anchor); + html_tag.m(raw_value, div); + if (!mounted) { + dispose = [ + listen_dev(div, "mouseover", stop_propagation( + /*handleMouseOver*/ + ctx[8] + ), false, false, true, false), + listen_dev(div, "mouseout", stop_propagation( + /*handleMouseOut*/ + ctx[9] + ), false, false, true, false), + listen_dev(div, "click", stop_propagation(prevent_default( + /*click_handler*/ + ctx[13] + )), false, true, true, false), + action_destroyer(highlightContent_action = highlightContent.call(null, div, { + selected: ( + /*$selectedAstElement*/ + ctx[5] === /*node*/ + ctx[0] + ), + highlighted: ( + /*$highlightedAstElement*/ + ctx[3] === /*node*/ + ctx[0] + ) + })) + ]; + mounted = true; + } + }, + p: function update2(ctx2, dirty) { + if (dirty & /*node*/ + 1 && raw_value !== (raw_value = /*node*/ + ctx2[0].rendered_html + "")) + html_tag.p(raw_value); + if (highlightContent_action && is_function(highlightContent_action.update) && dirty & /*$selectedAstElement, node, $highlightedAstElement*/ + 41) + highlightContent_action.update.call(null, { + selected: ( + /*$selectedAstElement*/ + ctx2[5] === /*node*/ + ctx2[0] + ), + highlighted: ( + /*$highlightedAstElement*/ + ctx2[3] === /*node*/ + ctx2[0] + ) + }); + }, + i: noop2, + o: noop2, + d: function destroy(detaching) { + if (detaching) { + detach_dev(div); + } + mounted = false; + run_all(dispose); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block_42.name, + type: "if", + source: "(65:31) ", + ctx + }); + return block; + } + function create_if_block_32(ctx) { + let current; + const default_slot_template = ( + /*#slots*/ + ctx[12].default + ); + const default_slot = create_slot( + default_slot_template, + ctx, + /*$$scope*/ + ctx[11], + null + ); + const block = { + c: function create3() { + if (default_slot) + default_slot.c(); + }, + l: function claim(nodes) { + if (default_slot) + default_slot.l(nodes); + }, + m: function mount(target, anchor) { + if (default_slot) { + default_slot.m(target, anchor); + } + current = true; + }, + p: function update2(ctx2, dirty) { + if (default_slot) { + if (default_slot.p && (!current || dirty & /*$$scope*/ + 2048)) { + update_slot_base( + default_slot, + default_slot_template, + ctx2, + /*$$scope*/ + ctx2[11], + !current ? get_all_dirty_from_scope( + /*$$scope*/ + ctx2[11] + ) : get_slot_changes( + default_slot_template, + /*$$scope*/ + ctx2[11], + dirty, + null + ), + null + ); + } + } + }, + i: function intro(local) { + if (current) + return; + transition_in(default_slot, local); + current = true; + }, + o: function outro(local) { + transition_out(default_slot, local); + current = false; + }, + d: function destroy(detaching) { + if (default_slot) + default_slot.d(detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block_32.name, + type: "if", + source: "(63:71) ", + ctx + }); + return block; + } + function create_if_block_22(ctx) { + let html_tag; + let raw_value = ""; + let html_anchor; + const block = { + c: function create3() { + html_tag = new HtmlTagHydration(false); + html_anchor = empty(); + this.h(); + }, + l: function claim(nodes) { + html_tag = claim_html_tag(nodes, false); + html_anchor = empty(); + this.h(); + }, + h: function hydrate() { + html_tag.a = html_anchor; + }, + m: function mount(target, anchor) { + html_tag.m(raw_value, target, anchor); + insert_hydration_dev(target, html_anchor, anchor); + }, + p: function update2(ctx2, dirty) { + if (dirty & /*node*/ + 1 && raw_value !== (raw_value = "")) + html_tag.p(raw_value); + }, + i: noop2, + o: noop2, + d: function destroy(detaching) { + if (detaching) { + detach_dev(html_anchor); + html_tag.d(); + } + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block_22.name, + type: "if", + source: "(61:39) ", + ctx + }); + return block; + } + function create_if_block_13(ctx) { + let html_tag; + let raw_value = ""; + let html_anchor; + const block = { + c: function create3() { + html_tag = new HtmlTagHydration(false); + html_anchor = empty(); + this.h(); + }, + l: function claim(nodes) { + html_tag = claim_html_tag(nodes, false); + html_anchor = empty(); + this.h(); + }, + h: function hydrate() { + html_tag.a = html_anchor; + }, + m: function mount(target, anchor) { + html_tag.m(raw_value, target, anchor); + insert_hydration_dev(target, html_anchor, anchor); + }, + p: function update2(ctx2, dirty) { + if (dirty & /*node*/ + 1 && raw_value !== (raw_value = "")) + html_tag.p(raw_value); + }, + i: noop2, + o: noop2, + d: function destroy(detaching) { + if (detaching) { + detach_dev(html_anchor); + html_tag.d(); + } + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block_13.name, + type: "if", + source: "(59:2) {#if node.tag === 'html_comment'}", + ctx + }); + return block; + } + function create_each_block3(ctx) { + let pageastnode; + let current; + pageastnode = new PageAstNode({ + props: { + node: ( + /*subnode*/ + ctx[16] + ), + nodeId: ( + /*nodeId*/ + ctx[1] + "." + /*index*/ + ctx[18] + ) + }, + $$inline: true + }); + const block = { + c: function create3() { + create_component(pageastnode.$$.fragment); + }, + l: function claim(nodes) { + claim_component(pageastnode.$$.fragment, nodes); + }, + m: function mount(target, anchor) { + mount_component(pageastnode, target, anchor); + current = true; + }, + p: function update2(ctx2, dirty) { + const pageastnode_changes = {}; + if (dirty & /*node*/ + 1) + pageastnode_changes.node = /*subnode*/ + ctx2[16]; + if (dirty & /*nodeId*/ + 2) + pageastnode_changes.nodeId = /*nodeId*/ + ctx2[1] + "." + /*index*/ + ctx2[18]; + pageastnode.$set(pageastnode_changes); + }, + i: function intro(local) { + if (current) + return; + transition_in(pageastnode.$$.fragment, local); + current = true; + }, + o: function outro(local) { + transition_out(pageastnode.$$.fragment, local); + current = false; + }, + d: function destroy(detaching) { + destroy_component(pageastnode, detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_each_block3.name, + type: "each", + source: "(97:6) {#each node.content as subnode, index}", + ctx + }); + return block; + } + function create_dynamic_element_12(ctx) { + let svelte_element; + let svelte_element_data_selected_value; + let svelte_element_data_highlighted_value; + let svelte_element_data_slot_target_value; + let current; + let mounted; + let dispose; + let each_value = ensure_array_like_dev( + /*node*/ + ctx[0].content + ); + let each_blocks = []; + for (let i = 0; i < each_value.length; i += 1) { + each_blocks[i] = create_each_block3(get_each_context3(ctx, each_value, i)); + } + const out = (i) => transition_out(each_blocks[i], 1, 1, () => { + each_blocks[i] = null; + }); + let svelte_element_levels = [ + /*node*/ + ctx[0].attrs, + { + "data-selected": svelte_element_data_selected_value = /*$selectedAstElement*/ + ctx[5] === /*node*/ + ctx[0] + }, + { + "data-highlighted": svelte_element_data_highlighted_value = /*$highlightedAstElement*/ + ctx[3] === /*node*/ + ctx[0] + }, + { + "data-slot-target": svelte_element_data_slot_target_value = /*$slotTargetElement*/ + ctx[4] === /*node*/ + ctx[0] + } + ]; + let svelte_element_data = {}; + for (let i = 0; i < svelte_element_levels.length; i += 1) { + svelte_element_data = assign(svelte_element_data, svelte_element_levels[i]); + } + const block = { + c: function create3() { + svelte_element = element( + /*node*/ + ctx[0].tag + ); + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].c(); + } + this.h(); + }, + l: function claim(nodes) { + svelte_element = claim_element( + nodes, + /*node*/ + (ctx[0].tag || "null").toUpperCase(), + { + "data-selected": true, + "data-highlighted": true, + "data-slot-target": true + } + ); + var svelte_element_nodes = children(svelte_element); + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].l(svelte_element_nodes); + } + svelte_element_nodes.forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + set_dynamic_element_data( + /*node*/ + ctx[0].tag + )(svelte_element, svelte_element_data); + add_location(svelte_element, file6, 90, 4, 3610); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, svelte_element, anchor); + for (let i = 0; i < each_blocks.length; i += 1) { + if (each_blocks[i]) { + each_blocks[i].m(svelte_element, null); + } + } + current = true; + if (!mounted) { + dispose = [ + listen_dev(svelte_element, "dragenter", stop_propagation( + /*handleDragEnter*/ + ctx[6] + ), false, false, true, false), + listen_dev(svelte_element, "dragleave", stop_propagation( + /*handleDragLeave*/ + ctx[7] + ), false, false, true, false), + listen_dev(svelte_element, "mouseover", stop_propagation( + /*handleMouseOver*/ + ctx[8] + ), false, false, true, false), + listen_dev(svelte_element, "mouseout", stop_propagation( + /*handleMouseOut*/ + ctx[9] + ), false, false, true, false), + listen_dev(svelte_element, "click", stop_propagation(prevent_default( + /*click_handler_1*/ + ctx[14] + )), false, true, true, false) + ]; + mounted = true; + } + }, + p: function update2(ctx2, dirty) { + if (dirty & /*node, nodeId*/ + 3) { + each_value = ensure_array_like_dev( + /*node*/ + ctx2[0].content + ); + let i; + for (i = 0; i < each_value.length; i += 1) { + const child_ctx = get_each_context3(ctx2, each_value, i); + if (each_blocks[i]) { + each_blocks[i].p(child_ctx, dirty); + transition_in(each_blocks[i], 1); + } else { + each_blocks[i] = create_each_block3(child_ctx); + each_blocks[i].c(); + transition_in(each_blocks[i], 1); + each_blocks[i].m(svelte_element, null); + } + } + group_outros(); + for (i = each_value.length; i < each_blocks.length; i += 1) { + out(i); + } + check_outros(); + } + set_dynamic_element_data( + /*node*/ + ctx2[0].tag + )(svelte_element, svelte_element_data = get_spread_update(svelte_element_levels, [ + dirty & /*node*/ + 1 && /*node*/ + ctx2[0].attrs, + (!current || dirty & /*$selectedAstElement, node*/ + 33 && svelte_element_data_selected_value !== (svelte_element_data_selected_value = /*$selectedAstElement*/ + ctx2[5] === /*node*/ + ctx2[0])) && { + "data-selected": svelte_element_data_selected_value + }, + (!current || dirty & /*$highlightedAstElement, node*/ + 9 && svelte_element_data_highlighted_value !== (svelte_element_data_highlighted_value = /*$highlightedAstElement*/ + ctx2[3] === /*node*/ + ctx2[0])) && { + "data-highlighted": svelte_element_data_highlighted_value + }, + (!current || dirty & /*$slotTargetElement, node*/ + 17 && svelte_element_data_slot_target_value !== (svelte_element_data_slot_target_value = /*$slotTargetElement*/ + ctx2[4] === /*node*/ + ctx2[0])) && { + "data-slot-target": svelte_element_data_slot_target_value + } + ])); + }, + i: function intro(local) { + if (current) + return; + for (let i = 0; i < each_value.length; i += 1) { + transition_in(each_blocks[i]); + } + current = true; + }, + o: function outro(local) { + each_blocks = each_blocks.filter(Boolean); + for (let i = 0; i < each_blocks.length; i += 1) { + transition_out(each_blocks[i]); + } + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(svelte_element); + } + destroy_each(each_blocks, detaching); + mounted = false; + run_all(dispose); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_dynamic_element_12.name, + type: "child_dynamic_element", + source: "(86:4) $selectedAstElementId = nodeId}>", + ctx + }); + return block; + } + function create_dynamic_element2(ctx) { + let svelte_element; + let svelte_element_data_selected_value; + let svelte_element_data_highlighted_value; + let svelte_element_data_slot_target_value; + let mounted; + let dispose; + let svelte_element_levels = [ + /*node*/ + ctx[0].attrs, + { + "data-selected": svelte_element_data_selected_value = /*$selectedAstElement*/ + ctx[5] === /*node*/ + ctx[0] + }, + { + "data-highlighted": svelte_element_data_highlighted_value = /*$highlightedAstElement*/ + ctx[3] === /*node*/ + ctx[0] + }, + { + "data-slot-target": svelte_element_data_slot_target_value = /*$slotTargetElement*/ + ctx[4] === /*node*/ + ctx[0] && !/*$slotTargetElement*/ + ctx[4].attrs.selfClose + } + ]; + let svelte_element_data = {}; + for (let i = 0; i < svelte_element_levels.length; i += 1) { + svelte_element_data = assign(svelte_element_data, svelte_element_levels[i]); + } + const block = { + c: function create3() { + svelte_element = element( + /*node*/ + ctx[0].tag + ); + this.h(); + }, + l: function claim(nodes) { + svelte_element = claim_element( + nodes, + /*node*/ + (ctx[0].tag || "null").toUpperCase(), + { + "data-selected": true, + "data-highlighted": true, + "data-slot-target": true + } + ); + children(svelte_element).forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + set_dynamic_element_data( + /*node*/ + ctx[0].tag + )(svelte_element, svelte_element_data); + add_location(svelte_element, file6, 78, 4, 3063); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, svelte_element, anchor); + if (!mounted) { + dispose = [ + listen_dev(svelte_element, "dragenter", stop_propagation( + /*handleDragEnter*/ + ctx[6] + ), false, false, true, false), + listen_dev(svelte_element, "dragleave", stop_propagation( + /*handleDragLeave*/ + ctx[7] + ), false, false, true, false), + listen_dev(svelte_element, "mouseover", stop_propagation( + /*handleMouseOver*/ + ctx[8] + ), false, false, true, false), + listen_dev(svelte_element, "mouseout", stop_propagation( + /*handleMouseOut*/ + ctx[9] + ), false, false, true, false), + listen_dev(svelte_element, "click", stop_propagation(prevent_default( + /*handleClick*/ + ctx[10] + )), false, true, true, false) + ]; + mounted = true; + } + }, + p: function update2(ctx2, dirty) { + set_dynamic_element_data( + /*node*/ + ctx2[0].tag + )(svelte_element, svelte_element_data = get_spread_update(svelte_element_levels, [ + dirty & /*node*/ + 1 && /*node*/ + ctx2[0].attrs, + dirty & /*$selectedAstElement, node*/ + 33 && svelte_element_data_selected_value !== (svelte_element_data_selected_value = /*$selectedAstElement*/ + ctx2[5] === /*node*/ + ctx2[0]) && { + "data-selected": svelte_element_data_selected_value + }, + dirty & /*$highlightedAstElement, node*/ + 9 && svelte_element_data_highlighted_value !== (svelte_element_data_highlighted_value = /*$highlightedAstElement*/ + ctx2[3] === /*node*/ + ctx2[0]) && { + "data-highlighted": svelte_element_data_highlighted_value + }, + dirty & /*$slotTargetElement, node*/ + 17 && svelte_element_data_slot_target_value !== (svelte_element_data_slot_target_value = /*$slotTargetElement*/ + ctx2[4] === /*node*/ + ctx2[0] && !/*$slotTargetElement*/ + ctx2[4].attrs.selfClose) && { + "data-slot-target": svelte_element_data_slot_target_value + } + ])); + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(svelte_element); + } + mounted = false; + run_all(dispose); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_dynamic_element2.name, + type: "child_dynamic_element", + source: "(74:4) ", + ctx + }); + return block; + } + function create_fragment6(ctx) { + let show_if; + let current_block_type_index; + let if_block; + let if_block_anchor; + let current; + const if_block_creators = [create_if_block4, create_else_block_12]; + const if_blocks = []; + function select_block_type(ctx2, dirty) { + if (dirty & /*node*/ + 1) + show_if = null; + if (show_if == null) + show_if = !!isAstElement( + /*node*/ + ctx2[0] + ); + if (show_if) + return 0; + return 1; + } + current_block_type_index = select_block_type(ctx, -1); + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx); + const block = { + c: function create3() { + if_block.c(); + if_block_anchor = empty(); + }, + l: function claim(nodes) { + if_block.l(nodes); + if_block_anchor = empty(); + }, + m: function mount(target, anchor) { + if_blocks[current_block_type_index].m(target, anchor); + insert_hydration_dev(target, if_block_anchor, anchor); + current = true; + }, + p: function update2(ctx2, [dirty]) { + let previous_block_index = current_block_type_index; + current_block_type_index = select_block_type(ctx2, dirty); + if (current_block_type_index === previous_block_index) { + if_blocks[current_block_type_index].p(ctx2, dirty); + } else { + group_outros(); + transition_out(if_blocks[previous_block_index], 1, 1, () => { + if_blocks[previous_block_index] = null; + }); + check_outros(); + if_block = if_blocks[current_block_type_index]; + if (!if_block) { + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2); + if_block.c(); + } else { + if_block.p(ctx2, dirty); + } + transition_in(if_block, 1); + if_block.m(if_block_anchor.parentNode, if_block_anchor); + } + }, + i: function intro(local) { + if (current) + return; + transition_in(if_block); + current = true; + }, + o: function outro(local) { + transition_out(if_block); + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(if_block_anchor); + } + if_blocks[current_block_type_index].d(detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_fragment6.name, + type: "component", + source: "", + ctx + }); + return block; + } + function highlightContent(wrapperDiv, { selected, highlighted }) { + let startsWithOneChildren = wrapperDiv.children.length === 1; + if (startsWithOneChildren) { + let child = wrapperDiv.children[0]; + child.setAttribute("data-selected", String(selected)); + child.setAttribute("data-highlighted", String(highlighted)); + } + return { + update({ selected: selected2, highlighted: highlighted2 }) { + if (wrapperDiv.children.length === 1) { + let child = wrapperDiv.children[0]; + child.setAttribute("data-selected", String(selected2)); + child.setAttribute("data-highlighted", String(highlighted2)); + } else if (wrapperDiv.children.length === 0 && wrapperDiv.childNodes.length === 1) { + wrapperDiv.setAttribute("data-nochildren", "true"); + wrapperDiv.setAttribute("data-selected", String(selected2)); + wrapperDiv.setAttribute("data-highlighted", String(highlighted2)); + } else if (startsWithOneChildren) { + Array.from(wrapperDiv.children).forEach((child) => { + child.removeAttribute("data-selected"); + child.removeAttribute("data-highlighted"); + }); + } + }, + destroy() { + } + // noop + // noop + }; + } + function instance6($$self, $$props, $$invalidate) { + let $selectedAstElementId; + let $highlightedAstElement; + let $slotTargetElement; + let $draggedObject; + let $selectedAstElement; + validate_store(selectedAstElementId, "selectedAstElementId"); + component_subscribe($$self, selectedAstElementId, ($$value) => $$invalidate(2, $selectedAstElementId = $$value)); + validate_store(highlightedAstElement, "highlightedAstElement"); + component_subscribe($$self, highlightedAstElement, ($$value) => $$invalidate(3, $highlightedAstElement = $$value)); + validate_store(slotTargetElement, "slotTargetElement"); + component_subscribe($$self, slotTargetElement, ($$value) => $$invalidate(4, $slotTargetElement = $$value)); + validate_store(draggedObject, "draggedObject"); + component_subscribe($$self, draggedObject, ($$value) => $$invalidate(15, $draggedObject = $$value)); + validate_store(selectedAstElement, "selectedAstElement"); + component_subscribe($$self, selectedAstElement, ($$value) => $$invalidate(5, $selectedAstElement = $$value)); + let { $$slots: slots = {}, $$scope } = $$props; + validate_slots("PageAstNode", slots, ["default"]); + let { node } = $$props; + let { nodeId } = $$props; + function handleDragEnter() { + if (isAstElement(node) && ($draggedObject === null || $draggedObject === void 0 ? void 0 : $draggedObject.category) === "basic") { + set_store_value(slotTargetElement, $slotTargetElement = node, $slotTargetElement); + } + } + function handleDragLeave() { + if (isAstElement(node) && ($draggedObject === null || $draggedObject === void 0 ? void 0 : $draggedObject.category) === "basic" && $slotTargetElement === node) { + set_store_value(slotTargetElement, $slotTargetElement = void 0, $slotTargetElement); + } + } + function handleMouseOver() { + isAstElement(node) && set_store_value(highlightedAstElement, $highlightedAstElement = node, $highlightedAstElement); + } + function handleMouseOut() { + set_store_value(highlightedAstElement, $highlightedAstElement = void 0, $highlightedAstElement); + } + function handleClick() { + set_store_value(selectedAstElementId, $selectedAstElementId = nodeId, $selectedAstElementId); + } + $$self.$$.on_mount.push(function() { + if (node === void 0 && !("node" in $$props || $$self.$$.bound[$$self.$$.props["node"]])) { + console.warn(" was created without expected prop 'node'"); + } + if (nodeId === void 0 && !("nodeId" in $$props || $$self.$$.bound[$$self.$$.props["nodeId"]])) { + console.warn(" was created without expected prop 'nodeId'"); + } + }); + const writable_props = ["node", "nodeId"]; + Object.keys($$props).forEach((key) => { + if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$" && key !== "slot") + console.warn(` was created with unknown prop '${key}'`); + }); + const click_handler = () => set_store_value(selectedAstElementId, $selectedAstElementId = nodeId, $selectedAstElementId); + const click_handler_1 = () => set_store_value(selectedAstElementId, $selectedAstElementId = nodeId, $selectedAstElementId); + $$self.$$set = ($$props2) => { + if ("node" in $$props2) + $$invalidate(0, node = $$props2.node); + if ("nodeId" in $$props2) + $$invalidate(1, nodeId = $$props2.nodeId); + if ("$$scope" in $$props2) + $$invalidate(11, $$scope = $$props2.$$scope); + }; + $$self.$capture_state = () => ({ + selectedAstElement, + slotTargetElement, + selectedAstElementId, + highlightedAstElement, + isAstElement, + node, + nodeId, + draggedObject, + handleDragEnter, + handleDragLeave, + handleMouseOver, + handleMouseOut, + handleClick, + highlightContent, + $selectedAstElementId, + $highlightedAstElement, + $slotTargetElement, + $draggedObject, + $selectedAstElement + }); + $$self.$inject_state = ($$props2) => { + if ("node" in $$props2) + $$invalidate(0, node = $$props2.node); + if ("nodeId" in $$props2) + $$invalidate(1, nodeId = $$props2.nodeId); + }; + if ($$props && "$$inject" in $$props) { + $$self.$inject_state($$props.$$inject); + } + return [ + node, + nodeId, + $selectedAstElementId, + $highlightedAstElement, + $slotTargetElement, + $selectedAstElement, + handleDragEnter, + handleDragLeave, + handleMouseOver, + handleMouseOut, + handleClick, + $$scope, + slots, + click_handler, + click_handler_1 + ]; + } + var PageAstNode = class extends SvelteComponentDev { + constructor(options) { + super(options); + init2(this, options, instance6, create_fragment6, safe_not_equal, { node: 0, nodeId: 1 }); + dispatch_dev("SvelteRegisterComponent", { + component: this, + tagName: "PageAstNode", + options, + id: create_fragment6.name + }); + } + get node() { + throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + } + set node(value) { + throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + } + get nodeId() { + throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + } + set nodeId(value) { + throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + } + }; + var PageAstNode_default = PageAstNode; + + // svelte/components/PagePreview.svelte + var PagePreview_exports = {}; + __export(PagePreview_exports, { + default: () => PagePreview_default + }); + var file7 = "svelte/components/PagePreview.svelte"; + function add_css2(target) { + append_styles(target, "svelte-xdxbam", '[data-selected="true"], [data-highlighted="true"]{outline-color:#06b6d4;outline-width:2px;outline-style:dashed}.contents[data-nochildren="true"], .contents[data-nochildren="true"]{display:inline}[data-slot-target="true"]{outline-color:red;outline-width:2px;outline-style:dashed}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFnZVByZXZpZXcuc3ZlbHRlIiwibWFwcGluZ3MiOiJBQXlFVSxpREFBbUQsQ0FDekQsYUFBYSxDQUFFLE9BQU8sQ0FDdEIsYUFBYSxDQUFFLEdBQUcsQ0FDbEIsYUFBYSxDQUFFLE1BQ2pCLENBQ1Esb0VBQXNFLENBSTVFLE9BQU8sQ0FBRSxNQUNYLENBQ1EseUJBQTJCLENBQ2pDLGFBQWEsQ0FBRSxHQUFHLENBQ2xCLGFBQWEsQ0FBRSxHQUFHLENBQ2xCLGFBQWEsQ0FBRSxNQUNqQiIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJQYWdlUHJldmlldy5zdmVsdGUiXX0= */'); + } + function get_each_context4(ctx, list, i) { + const child_ctx = ctx.slice(); + child_ctx[11] = list[i]; + return child_ctx; + } + function get_each_context_12(ctx, list, i) { + const child_ctx = ctx.slice(); + child_ctx[14] = list[i]; + child_ctx[16] = i; + return child_ctx; + } + function create_each_block_12(ctx) { + let pageastnode; + let current; + pageastnode = new PageAstNode_default({ + props: { + node: ( + /*astNode*/ + ctx[14] + ), + nodeId: ( + /*index*/ + ctx[16] + ) + }, + $$inline: true + }); + const block = { + c: function create3() { + create_component(pageastnode.$$.fragment); + }, + l: function claim(nodes) { + claim_component(pageastnode.$$.fragment, nodes); + }, + m: function mount(target, anchor) { + mount_component(pageastnode, target, anchor); + current = true; + }, + p: function update2(ctx2, dirty) { + const pageastnode_changes = {}; + if (dirty & /*$page*/ + 2) + pageastnode_changes.node = /*astNode*/ + ctx2[14]; + pageastnode.$set(pageastnode_changes); + }, + i: function intro(local) { + if (current) + return; + transition_in(pageastnode.$$.fragment, local); + current = true; + }, + o: function outro(local) { + transition_out(pageastnode.$$.fragment, local); + current = false; + }, + d: function destroy(detaching) { + destroy_component(pageastnode, detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_each_block_12.name, + type: "each", + source: "(77:12) {#each $page.ast as astNode, index}", + ctx + }); + return block; + } + function create_default_slot_1(ctx) { + let t; + let current; + let each_value_1 = ensure_array_like_dev( + /*$page*/ + ctx[1].ast + ); + let each_blocks = []; + for (let i = 0; i < each_value_1.length; i += 1) { + each_blocks[i] = create_each_block_12(get_each_context_12(ctx, each_value_1, i)); + } + const out = (i) => transition_out(each_blocks[i], 1, 1, () => { + each_blocks[i] = null; + }); + const block = { + c: function create3() { + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].c(); + } + t = space(); + }, + l: function claim(nodes) { + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].l(nodes); + } + t = claim_space(nodes); + }, + m: function mount(target, anchor) { + for (let i = 0; i < each_blocks.length; i += 1) { + if (each_blocks[i]) { + each_blocks[i].m(target, anchor); + } + } + insert_hydration_dev(target, t, anchor); + current = true; + }, + p: function update2(ctx2, dirty) { + if (dirty & /*$page*/ + 2) { + each_value_1 = ensure_array_like_dev( + /*$page*/ + ctx2[1].ast + ); + let i; + for (i = 0; i < each_value_1.length; i += 1) { + const child_ctx = get_each_context_12(ctx2, each_value_1, i); + if (each_blocks[i]) { + each_blocks[i].p(child_ctx, dirty); + transition_in(each_blocks[i], 1); + } else { + each_blocks[i] = create_each_block_12(child_ctx); + each_blocks[i].c(); + transition_in(each_blocks[i], 1); + each_blocks[i].m(t.parentNode, t); + } + } + group_outros(); + for (i = each_value_1.length; i < each_blocks.length; i += 1) { + out(i); + } + check_outros(); + } + }, + i: function intro(local) { + if (current) + return; + for (let i = 0; i < each_value_1.length; i += 1) { + transition_in(each_blocks[i]); + } + current = true; + }, + o: function outro(local) { + each_blocks = each_blocks.filter(Boolean); + for (let i = 0; i < each_blocks.length; i += 1) { + transition_out(each_blocks[i]); + } + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(t); + } + destroy_each(each_blocks, detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_default_slot_1.name, + type: "slot", + source: "(76:10) ", + ctx + }); + return block; + } + function create_each_block4(ctx) { + let layoutastnode; + let current; + layoutastnode = new LayoutAstNode_default({ + props: { + node: ( + /*layoutAstNode*/ + ctx[11] + ), + $$slots: { default: [create_default_slot_1] }, + $$scope: { ctx } + }, + $$inline: true + }); + const block = { + c: function create3() { + create_component(layoutastnode.$$.fragment); + }, + l: function claim(nodes) { + claim_component(layoutastnode.$$.fragment, nodes); + }, + m: function mount(target, anchor) { + mount_component(layoutastnode, target, anchor); + current = true; + }, + p: function update2(ctx2, dirty) { + const layoutastnode_changes = {}; + if (dirty & /*$page*/ + 2) + layoutastnode_changes.node = /*layoutAstNode*/ + ctx2[11]; + if (dirty & /*$$scope, $page*/ + 131074) { + layoutastnode_changes.$$scope = { dirty, ctx: ctx2 }; + } + layoutastnode.$set(layoutastnode_changes); + }, + i: function intro(local) { + if (current) + return; + transition_in(layoutastnode.$$.fragment, local); + current = true; + }, + o: function outro(local) { + transition_out(layoutastnode.$$.fragment, local); + current = false; + }, + d: function destroy(detaching) { + destroy_component(layoutastnode, detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_each_block4.name, + type: "each", + source: "(75:8) {#each $page.layout.ast as layoutAstNode}", + ctx + }); + return block; + } + function create_default_slot(ctx) { + let div1; + let div0; + let div0_data_selected_value; + let div1_class_value; + let current; + let mounted; + let dispose; + let each_value = ensure_array_like_dev( + /*$page*/ + ctx[1].layout.ast + ); + let each_blocks = []; + for (let i = 0; i < each_value.length; i += 1) { + each_blocks[i] = create_each_block4(get_each_context4(ctx, each_value, i)); + } + const out = (i) => transition_out(each_blocks[i], 1, 1, () => { + each_blocks[i] = null; + }); + const block = { + c: function create3() { + div1 = element("div"); + div0 = element("div"); + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].c(); + } + this.h(); + }, + l: function claim(nodes) { + div1 = claim_element(nodes, "DIV", { + style: true, + id: true, + class: true, + "data-test-id": true + }); + var div1_nodes = children(div1); + div0 = claim_element(div1_nodes, "DIV", { + id: true, + class: true, + "data-selected": true + }); + var div0_nodes = children(div0); + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].l(div0_nodes); + } + div0_nodes.forEach(detach_dev); + div1_nodes.forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + attr_dev(div0, "id", "page-wrapper"); + attr_dev(div0, "class", "p-1 m-1"); + attr_dev(div0, "data-selected", div0_data_selected_value = /*$selectedAstElementId*/ + ctx[2] === "root"); + add_location(div0, file7, 59, 6, 3346); + set_style(div1, "--outlined-id", "title-1"); + attr_dev(div1, "id", "fake-browser-content"); + attr_dev(div1, "class", div1_class_value = "bg-white rounded-b-xl relative overflow-hidden flex-1 " + /*isDraggingOver*/ + (ctx[0] && "border-dashed border-blue-500 border-2")); + attr_dev(div1, "data-test-id", "browser-content"); + add_location(div1, file7, 52, 4, 3007); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, div1, anchor); + append_hydration_dev(div1, div0); + for (let i = 0; i < each_blocks.length; i += 1) { + if (each_blocks[i]) { + each_blocks[i].m(div0, null); + } + } + current = true; + if (!mounted) { + dispose = [ + listen_dev(div1, "drop", prevent_default( + /*handleDragDrop*/ + ctx[3] + ), false, true, false, false), + listen_dev(div1, "dragover", prevent_default( + /*dragOver*/ + ctx[4] + ), false, true, false, false) + ]; + mounted = true; + } + }, + p: function update2(ctx2, dirty) { + if (dirty & /*$page*/ + 2) { + each_value = ensure_array_like_dev( + /*$page*/ + ctx2[1].layout.ast + ); + let i; + for (i = 0; i < each_value.length; i += 1) { + const child_ctx = get_each_context4(ctx2, each_value, i); + if (each_blocks[i]) { + each_blocks[i].p(child_ctx, dirty); + transition_in(each_blocks[i], 1); + } else { + each_blocks[i] = create_each_block4(child_ctx); + each_blocks[i].c(); + transition_in(each_blocks[i], 1); + each_blocks[i].m(div0, null); + } + } + group_outros(); + for (i = each_value.length; i < each_blocks.length; i += 1) { + out(i); + } + check_outros(); + } + if (!current || dirty & /*$selectedAstElementId*/ + 4 && div0_data_selected_value !== (div0_data_selected_value = /*$selectedAstElementId*/ + ctx2[2] === "root")) { + attr_dev(div0, "data-selected", div0_data_selected_value); + } + if (!current || dirty & /*isDraggingOver*/ + 1 && div1_class_value !== (div1_class_value = "bg-white rounded-b-xl relative overflow-hidden flex-1 " + /*isDraggingOver*/ + (ctx2[0] && "border-dashed border-blue-500 border-2"))) { + attr_dev(div1, "class", div1_class_value); + } + }, + i: function intro(local) { + if (current) + return; + for (let i = 0; i < each_value.length; i += 1) { + transition_in(each_blocks[i]); + } + current = true; + }, + o: function outro(local) { + each_blocks = each_blocks.filter(Boolean); + for (let i = 0; i < each_blocks.length; i += 1) { + transition_out(each_blocks[i]); + } + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(div1); + } + destroy_each(each_blocks, detaching); + mounted = false; + run_all(dispose); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_default_slot.name, + type: "slot", + source: "(66:2) ", + ctx + }); + return block; + } + function create_fragment7(ctx) { + let div; + let browserframe; + let current; + browserframe = new BrowserFrame_default({ + props: { + page: ( + /*$page*/ + ctx[1] + ), + $$slots: { default: [create_default_slot] }, + $$scope: { ctx } + }, + $$inline: true + }); + const block = { + c: function create3() { + div = element("div"); + create_component(browserframe.$$.fragment); + this.h(); + }, + l: function claim(nodes) { + div = claim_element(nodes, "DIV", { class: true, "data-test-id": true }); + var div_nodes = children(div); + claim_component(browserframe.$$.fragment, div_nodes); + div_nodes.forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + attr_dev(div, "class", "flex-1 px-8 py-4 flex max-h-full"); + attr_dev(div, "data-test-id", "main"); + add_location(div, file7, 50, 0, 2906); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, div, anchor); + mount_component(browserframe, div, null); + current = true; + }, + p: function update2(ctx2, [dirty]) { + const browserframe_changes = {}; + if (dirty & /*$page*/ + 2) + browserframe_changes.page = /*$page*/ + ctx2[1]; + if (dirty & /*$$scope, isDraggingOver, $selectedAstElementId, $page*/ + 131079) { + browserframe_changes.$$scope = { dirty, ctx: ctx2 }; + } + browserframe.$set(browserframe_changes); + }, + i: function intro(local) { + if (current) + return; + transition_in(browserframe.$$.fragment, local); + current = true; + }, + o: function outro(local) { + transition_out(browserframe.$$.fragment, local); + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(div); + } + destroy_component(browserframe); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_fragment7.name, + type: "component", + source: "", + ctx + }); + return block; + } + function instance7($$self, $$props, $$invalidate) { + let $page; + let $slotTargetElement; + let $draggedObject; + let $currentComponentCategory; + let $selectedAstElementId; + validate_store(page, "page"); + component_subscribe($$self, page, ($$value) => $$invalidate(1, $page = $$value)); + validate_store(slotTargetElement, "slotTargetElement"); + component_subscribe($$self, slotTargetElement, ($$value) => $$invalidate(6, $slotTargetElement = $$value)); + validate_store(draggedObject, "draggedObject"); + component_subscribe($$self, draggedObject, ($$value) => $$invalidate(7, $draggedObject = $$value)); + validate_store(currentComponentCategory, "currentComponentCategory"); + component_subscribe($$self, currentComponentCategory, ($$value) => $$invalidate(8, $currentComponentCategory = $$value)); + validate_store(selectedAstElementId, "selectedAstElementId"); + component_subscribe($$self, selectedAstElementId, ($$value) => $$invalidate(2, $selectedAstElementId = $$value)); + let { $$slots: slots = {}, $$scope } = $$props; + validate_slots("PagePreview", slots, []); + var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + let { live } = $$props; + let isDraggingOver = false; + function handleDragDrop(e) { + return __awaiter(this, void 0, void 0, function* () { + let { target } = e; + set_store_value(currentComponentCategory, $currentComponentCategory = null, $currentComponentCategory); + if (!$draggedObject) + return; + if ($draggedObject.category === "basic") { + if (!(target instanceof HTMLElement)) + return; + if (target.id === "fake-browser-content") + return; + if (!$slotTargetElement) + return; + if ($slotTargetElement.attrs.selfClose) + return; + addBasicComponentToTarget2($slotTargetElement); + } else { + debugger; + live.pushEvent( + "render_component_in_page", + { + component_id: $draggedObject.id, + page_id: $page.id + }, + ({ ast }) => { + live.pushEvent("update_page_ast", { + id: $page.id, + ast: [...$page.ast, ...ast] + }); + } + ); + } + $$invalidate(0, isDraggingOver = false); + }); + } + function addBasicComponentToTarget2(astElement) { + return __awaiter(this, void 0, void 0, function* () { + if (!$draggedObject) + return; + let componentDefinition = $draggedObject; + set_store_value(draggedObject, $draggedObject = null, $draggedObject); + let targetNode = astElement; + live.pushEvent( + "render_component_in_page", + { + component_id: componentDefinition.id, + page_id: $page.id + }, + ({ ast }) => { + targetNode === null || targetNode === void 0 ? void 0 : targetNode.content.push(...ast); + set_store_value(slotTargetElement, $slotTargetElement = void 0, $slotTargetElement); + live.pushEvent("update_page_ast", { id: $page.id, ast: $page.ast }); + } + ); + }); + } + function dragOver() { + $$invalidate(0, isDraggingOver = true); + } + $$self.$$.on_mount.push(function() { + if (live === void 0 && !("live" in $$props || $$self.$$.bound[$$self.$$.props["live"]])) { + console.warn(" was created without expected prop 'live'"); + } + }); + const writable_props = ["live"]; + Object.keys($$props).forEach((key) => { + if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$" && key !== "slot") + console.warn(` was created with unknown prop '${key}'`); + }); + $$self.$$set = ($$props2) => { + if ("live" in $$props2) + $$invalidate(5, live = $$props2.live); + }; + $$self.$capture_state = () => ({ + __awaiter, + LayoutAstNode: LayoutAstNode_default, + PageAstNode: PageAstNode_default, + BrowserFrame: BrowserFrame_default, + selectedAstElementId, + currentComponentCategory, + page, + slotTargetElement, + draggedObject, + live, + isDraggingOver, + handleDragDrop, + addBasicComponentToTarget: addBasicComponentToTarget2, + dragOver, + $page, + $slotTargetElement, + $draggedObject, + $currentComponentCategory, + $selectedAstElementId + }); + $$self.$inject_state = ($$props2) => { + if ("__awaiter" in $$props2) + __awaiter = $$props2.__awaiter; + if ("live" in $$props2) + $$invalidate(5, live = $$props2.live); + if ("isDraggingOver" in $$props2) + $$invalidate(0, isDraggingOver = $$props2.isDraggingOver); + }; + if ($$props && "$$inject" in $$props) { + $$self.$inject_state($$props.$$inject); + } + return [isDraggingOver, $page, $selectedAstElementId, handleDragDrop, dragOver, live]; + } + var PagePreview = class extends SvelteComponentDev { + constructor(options) { + super(options); + init2(this, options, instance7, create_fragment7, safe_not_equal, { live: 5 }, add_css2); + dispatch_dev("SvelteRegisterComponent", { + component: this, + tagName: "PagePreview", + options, + id: create_fragment7.name + }); + } + get live() { + throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + } + set live(value) { + throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + } + }; + var PagePreview_default = PagePreview; + + // svelte/components/Pill.svelte + var Pill_exports = {}; + __export(Pill_exports, { + default: () => Pill_default + }); + var file8 = "svelte/components/Pill.svelte"; + function create_fragment8(ctx) { + let span; + let t0; + let button; + let textContent = "\u2715"; + let current; + let mounted; + let dispose; + const default_slot_template = ( + /*#slots*/ + ctx[2].default + ); + const default_slot = create_slot( + default_slot_template, + ctx, + /*$$scope*/ + ctx[1], + null + ); + const block = { + c: function create3() { + span = element("span"); + if (default_slot) + default_slot.c(); + t0 = space(); + button = element("button"); + button.textContent = textContent; + this.h(); + }, + l: function claim(nodes) { + span = claim_element(nodes, "SPAN", { class: true }); + var span_nodes = children(span); + if (default_slot) + default_slot.l(span_nodes); + t0 = claim_space(span_nodes); + button = claim_element(span_nodes, "BUTTON", { + class: true, + type: true, + ["data-svelte-h"]: true + }); + if (get_svelte_dataset(button) !== "svelte-qcf9q0") + button.textContent = textContent; + span_nodes.forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + attr_dev(button, "class", "rounded-full inline-block bg-gray-700 text-white ml-2"); + attr_dev(button, "type", "button"); + add_location(button, file8, 7, 2, 233); + attr_dev(span, "class", "rounded-full bg-gray-700 text-white text-xs inline-block px-3 py-2 m-1 leading-4"); + add_location(span, file8, 5, 0, 119); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, span, anchor); + if (default_slot) { + default_slot.m(span, null); + } + append_hydration_dev(span, t0); + append_hydration_dev(span, button); + current = true; + if (!mounted) { + dispose = listen_dev(button, "click", prevent_default( + /*click_handler*/ + ctx[3] + ), false, true, false, false); + mounted = true; + } + }, + p: function update2(ctx2, [dirty]) { + if (default_slot) { + if (default_slot.p && (!current || dirty & /*$$scope*/ + 2)) { + update_slot_base( + default_slot, + default_slot_template, + ctx2, + /*$$scope*/ + ctx2[1], + !current ? get_all_dirty_from_scope( + /*$$scope*/ + ctx2[1] + ) : get_slot_changes( + default_slot_template, + /*$$scope*/ + ctx2[1], + dirty, + null + ), + null + ); + } + } + }, + i: function intro(local) { + if (current) + return; + transition_in(default_slot, local); + current = true; + }, + o: function outro(local) { + transition_out(default_slot, local); + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(span); + } + if (default_slot) + default_slot.d(detaching); + mounted = false; + dispose(); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_fragment8.name, + type: "component", + source: "", + ctx + }); + return block; + } + function instance8($$self, $$props, $$invalidate) { + let { $$slots: slots = {}, $$scope } = $$props; + validate_slots("Pill", slots, ["default"]); + const dispatch2 = createEventDispatcher(); + const writable_props = []; + Object.keys($$props).forEach((key) => { + if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$" && key !== "slot") + console.warn(` was created with unknown prop '${key}'`); + }); + const click_handler = () => dispatch2("delete"); + $$self.$$set = ($$props2) => { + if ("$$scope" in $$props2) + $$invalidate(1, $$scope = $$props2.$$scope); + }; + $$self.$capture_state = () => ({ createEventDispatcher, dispatch: dispatch2 }); + return [dispatch2, $$scope, slots, click_handler]; + } + var Pill = class extends SvelteComponentDev { + constructor(options) { + super(options); + init2(this, options, instance8, create_fragment8, safe_not_equal, {}); + dispatch_dev("SvelteRegisterComponent", { + component: this, + tagName: "Pill", + options, + id: create_fragment8.name + }); + } + }; + var Pill_default = Pill; + + // svelte/components/PropertiesSidebar.svelte + var PropertiesSidebar_exports = {}; + __export(PropertiesSidebar_exports, { + default: () => PropertiesSidebar_default + }); + + // svelte/components/SidebarSection.svelte + var SidebarSection_exports = {}; + __export(SidebarSection_exports, { + default: () => SidebarSection_default + }); + var file9 = "svelte/components/SidebarSection.svelte"; + function get_each_context5(ctx, list, i) { + const child_ctx = ctx.slice(); + child_ctx[26] = list[i]; + child_ctx[28] = i; + return child_ctx; + } + var get_value_slot_changes_1 = (dirty) => ({}); + var get_value_slot_context_1 = (ctx) => ({}); + var get_input_slot_changes_1 = (dirty) => ({}); + var get_input_slot_context_1 = (ctx) => ({}); + var get_value_slot_changes = (dirty) => ({}); + var get_value_slot_context = (ctx) => ({}); + var get_input_slot_changes = (dirty) => ({}); + var get_input_slot_context = (ctx) => ({}); + var get_heading_slot_changes = (dirty) => ({}); + var get_heading_slot_context = (ctx) => ({}); + function create_if_block_14(ctx) { + let current; + const input_slot_template = ( + /*#slots*/ + ctx[16].input + ); + const input_slot = create_slot( + input_slot_template, + ctx, + /*$$scope*/ + ctx[15], + get_input_slot_context_1 + ); + const input_slot_or_fallback = input_slot || fallback_block_1(ctx); + const block = { + c: function create3() { + if (input_slot_or_fallback) + input_slot_or_fallback.c(); + }, + l: function claim(nodes) { + if (input_slot_or_fallback) + input_slot_or_fallback.l(nodes); + }, + m: function mount(target, anchor) { + if (input_slot_or_fallback) { + input_slot_or_fallback.m(target, anchor); + } + current = true; + }, + p: function update2(ctx2, dirty) { + if (input_slot) { + if (input_slot.p && (!current || dirty & /*$$scope*/ + 32768)) { + update_slot_base( + input_slot, + input_slot_template, + ctx2, + /*$$scope*/ + ctx2[15], + !current ? get_all_dirty_from_scope( + /*$$scope*/ + ctx2[15] + ) : get_slot_changes( + input_slot_template, + /*$$scope*/ + ctx2[15], + dirty, + get_input_slot_changes_1 + ), + get_input_slot_context_1 + ); + } + } else { + if (input_slot_or_fallback && input_slot_or_fallback.p && (!current || dirty & /*$$scope, $$slots, placeholder, internalValue, large, astElements*/ + 34846)) { + input_slot_or_fallback.p(ctx2, !current ? -1 : dirty); + } + } + }, + i: function intro(local) { + if (current) + return; + transition_in(input_slot_or_fallback, local); + current = true; + }, + o: function outro(local) { + transition_out(input_slot_or_fallback, local); + current = false; + }, + d: function destroy(detaching) { + if (input_slot_or_fallback) + input_slot_or_fallback.d(detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block_14.name, + type: "if", + source: "(79:4) {#if expanded}", + ctx + }); + return block; + } + function create_if_block5(ctx) { + let t; + let div; + let current; + const input_slot_template = ( + /*#slots*/ + ctx[16].input + ); + const input_slot = create_slot( + input_slot_template, + ctx, + /*$$scope*/ + ctx[15], + get_input_slot_context + ); + const input_slot_or_fallback = input_slot || fallback_block(ctx); + const value_slot_template = ( + /*#slots*/ + ctx[16].value + ); + const value_slot = create_slot( + value_slot_template, + ctx, + /*$$scope*/ + ctx[15], + get_value_slot_context + ); + const block = { + c: function create3() { + if (input_slot_or_fallback) + input_slot_or_fallback.c(); + t = space(); + div = element("div"); + if (value_slot) + value_slot.c(); + this.h(); + }, + l: function claim(nodes) { + if (input_slot_or_fallback) + input_slot_or_fallback.l(nodes); + t = claim_space(nodes); + div = claim_element(nodes, "DIV", { class: true }); + var div_nodes = children(div); + if (value_slot) + value_slot.l(div_nodes); + div_nodes.forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + attr_dev(div, "class", "pt-3"); + add_location(div, file9, 79, 4, 2488); + }, + m: function mount(target, anchor) { + if (input_slot_or_fallback) { + input_slot_or_fallback.m(target, anchor); + } + insert_hydration_dev(target, t, anchor); + insert_hydration_dev(target, div, anchor); + if (value_slot) { + value_slot.m(div, null); + } + current = true; + }, + p: function update2(ctx2, dirty) { + if (input_slot) { + if (input_slot.p && (!current || dirty & /*$$scope*/ + 32768)) { + update_slot_base( + input_slot, + input_slot_template, + ctx2, + /*$$scope*/ + ctx2[15], + !current ? get_all_dirty_from_scope( + /*$$scope*/ + ctx2[15] + ) : get_slot_changes( + input_slot_template, + /*$$scope*/ + ctx2[15], + dirty, + get_input_slot_changes + ), + get_input_slot_context + ); + } + } else { + if (input_slot_or_fallback && input_slot_or_fallback.p && (!current || dirty & /*placeholder, internalValue*/ + 10)) { + input_slot_or_fallback.p(ctx2, !current ? -1 : dirty); + } + } + if (value_slot) { + if (value_slot.p && (!current || dirty & /*$$scope*/ + 32768)) { + update_slot_base( + value_slot, + value_slot_template, + ctx2, + /*$$scope*/ + ctx2[15], + !current ? get_all_dirty_from_scope( + /*$$scope*/ + ctx2[15] + ) : get_slot_changes( + value_slot_template, + /*$$scope*/ + ctx2[15], + dirty, + get_value_slot_changes + ), + get_value_slot_context + ); + } + } + }, + i: function intro(local) { + if (current) + return; + transition_in(input_slot_or_fallback, local); + transition_in(value_slot, local); + current = true; + }, + o: function outro(local) { + transition_out(input_slot_or_fallback, local); + transition_out(value_slot, local); + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(t); + detach_dev(div); + } + if (input_slot_or_fallback) + input_slot_or_fallback.d(detaching); + if (value_slot) + value_slot.d(detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block5.name, + type: "if", + source: "(67:2) {#if $$slots['value']}", + ctx + }); + return block; + } + function create_if_block_53(ctx) { + let each_1_anchor; + let each_value = ensure_array_like_dev( + /*astElements*/ + ctx[4] + ); + let each_blocks = []; + for (let i = 0; i < each_value.length; i += 1) { + each_blocks[i] = create_each_block5(get_each_context5(ctx, each_value, i)); + } + const block = { + c: function create3() { + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].c(); + } + each_1_anchor = empty(); + }, + l: function claim(nodes) { + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].l(nodes); + } + each_1_anchor = empty(); + }, + m: function mount(target, anchor) { + for (let i = 0; i < each_blocks.length; i += 1) { + if (each_blocks[i]) { + each_blocks[i].m(target, anchor); + } + } + insert_hydration_dev(target, each_1_anchor, anchor); + }, + p: function update2(ctx2, dirty) { + if (dirty & /*highlightAstElement, astElements, unhighlightAstElement, moveAstElement, select*/ + 1648) { + each_value = ensure_array_like_dev( + /*astElements*/ + ctx2[4] + ); + let i; + for (i = 0; i < each_value.length; i += 1) { + const child_ctx = get_each_context5(ctx2, each_value, i); + if (each_blocks[i]) { + each_blocks[i].p(child_ctx, dirty); + } else { + each_blocks[i] = create_each_block5(child_ctx); + each_blocks[i].c(); + each_blocks[i].m(each_1_anchor.parentNode, each_1_anchor); + } + } + for (; i < each_blocks.length; i += 1) { + each_blocks[i].d(1); + } + each_blocks.length = each_value.length; + } + }, + i: noop2, + o: noop2, + d: function destroy(detaching) { + if (detaching) { + detach_dev(each_1_anchor); + } + destroy_each(each_blocks, detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block_53.name, + type: "if", + source: "(102:30) ", + ctx + }); + return block; + } + function create_if_block_23(ctx) { + let t; + let if_block1_anchor; + let current; + function select_block_type_2(ctx2, dirty) { + if ( + /*large*/ + ctx2[2] + ) + return create_if_block_43; + return create_else_block3; + } + let current_block_type = select_block_type_2(ctx, -1); + let if_block0 = current_block_type(ctx); + let if_block1 = ( + /*$$slots*/ + ctx[11]["value"] && create_if_block_33(ctx) + ); + const block = { + c: function create3() { + if_block0.c(); + t = space(); + if (if_block1) + if_block1.c(); + if_block1_anchor = empty(); + }, + l: function claim(nodes) { + if_block0.l(nodes); + t = claim_space(nodes); + if (if_block1) + if_block1.l(nodes); + if_block1_anchor = empty(); + }, + m: function mount(target, anchor) { + if_block0.m(target, anchor); + insert_hydration_dev(target, t, anchor); + if (if_block1) + if_block1.m(target, anchor); + insert_hydration_dev(target, if_block1_anchor, anchor); + current = true; + }, + p: function update2(ctx2, dirty) { + if (current_block_type === (current_block_type = select_block_type_2(ctx2, dirty)) && if_block0) { + if_block0.p(ctx2, dirty); + } else { + if_block0.d(1); + if_block0 = current_block_type(ctx2); + if (if_block0) { + if_block0.c(); + if_block0.m(t.parentNode, t); + } + } + if ( + /*$$slots*/ + ctx2[11]["value"] + ) { + if (if_block1) { + if_block1.p(ctx2, dirty); + if (dirty & /*$$slots*/ + 2048) { + transition_in(if_block1, 1); + } + } else { + if_block1 = create_if_block_33(ctx2); + if_block1.c(); + transition_in(if_block1, 1); + if_block1.m(if_block1_anchor.parentNode, if_block1_anchor); + } + } else if (if_block1) { + group_outros(); + transition_out(if_block1, 1, 1, () => { + if_block1 = null; + }); + check_outros(); + } + }, + i: function intro(local) { + if (current) + return; + transition_in(if_block1); + current = true; + }, + o: function outro(local) { + transition_out(if_block1); + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(t); + detach_dev(if_block1_anchor); + } + if_block0.d(detaching); + if (if_block1) + if_block1.d(detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block_23.name, + type: "if", + source: "(81:8) {#if internalValue}", + ctx + }); + return block; + } + function create_each_block5(ctx) { + let p; + let t0; + let t1_value = ( + /*astElement*/ + ctx[26].tag + "" + ); + let t1; + let t2; + let button0; + let svg; + let path; + let t3; + let button1; + let textContent = "\u2191"; + let button1_disabled_value; + let t5; + let button2; + let t6; + let button2_disabled_value; + let t7; + let mounted; + let dispose; + function click_handler_1() { + return ( + /*click_handler_1*/ + ctx[18]( + /*astElement*/ + ctx[26] + ) + ); + } + function click_handler_2() { + return ( + /*click_handler_2*/ + ctx[19]( + /*astElement*/ + ctx[26] + ) + ); + } + function click_handler_3() { + return ( + /*click_handler_3*/ + ctx[20]( + /*astElement*/ + ctx[26] + ) + ); + } + function mouseenter_handler() { + return ( + /*mouseenter_handler*/ + ctx[21]( + /*astElement*/ + ctx[26] + ) + ); + } + const block = { + c: function create3() { + p = element("p"); + t0 = text("<"); + t1 = text(t1_value); + t2 = text("> Element \n "); + button0 = element("button"); + svg = svg_element("svg"); + path = svg_element("path"); + t3 = space(); + button1 = element("button"); + button1.textContent = textContent; + t5 = space(); + button2 = element("button"); + t6 = text("\u2193"); + t7 = space(); + this.h(); + }, + l: function claim(nodes) { + p = claim_element(nodes, "P", {}); + var p_nodes = children(p); + t0 = claim_text(p_nodes, "<"); + t1 = claim_text(p_nodes, t1_value); + t2 = claim_text(p_nodes, "> Element \n "); + button0 = claim_element(p_nodes, "BUTTON", { class: true }); + var button0_nodes = children(button0); + svg = claim_svg_element(button0_nodes, "svg", { viewBox: true }); + var svg_nodes = children(svg); + path = claim_svg_element(svg_nodes, "path", { fill: true, d: true }); + children(path).forEach(detach_dev); + svg_nodes.forEach(detach_dev); + button0_nodes.forEach(detach_dev); + t3 = claim_space(p_nodes); + button1 = claim_element(p_nodes, "BUTTON", { class: true, ["data-svelte-h"]: true }); + if (get_svelte_dataset(button1) !== "svelte-4yzw0i") + button1.textContent = textContent; + t5 = claim_space(p_nodes); + button2 = claim_element(p_nodes, "BUTTON", { class: true }); + var button2_nodes = children(button2); + t6 = claim_text(button2_nodes, "\u2193"); + button2_nodes.forEach(detach_dev); + t7 = claim_space(p_nodes); + p_nodes.forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + attr_dev(path, "fill", "currentColor"); + attr_dev(path, "d", "M4,3H5V5H3V4A1,1 0 0,1 4,3M20,3A1,1 0 0,1 21,4V5H19V3H20M15,5V3H17V5H15M11,5V3H13V5H11M7,5V3H9V5H7M21,20A1,1 0 0,1 20,21H19V19H21V20M15,21V19H17V21H15M11,21V19H13V21H11M7,21V19H9V21H7M4,21A1,1 0 0,1 3,20V19H5V21H4M3,15H5V17H3V15M21,15V17H19V15H21M3,11H5V13H3V11M21,11V13H19V11H21M3,7H5V9H3V7M21,7V9H19V7H21Z"); + add_location(path, file9, 112, 18, 3923); + attr_dev(svg, "viewBox", "0 0 24 24"); + add_location(svg, file9, 111, 16, 3879); + attr_dev(button0, "class", "bg-blue-500 hover:bg-blue-700 text-white inline h-5 w-5 align-middle"); + add_location(button0, file9, 108, 14, 3708); + attr_dev(button1, "class", "bg-gray-500 hover:bg-gray-700 disabled:bg-gray-300 text-white inline h-5 w-5 align-middle"); + button1.disabled = button1_disabled_value = /*idx*/ + ctx[28] === 0; + add_location(button1, file9, 115, 14, 4330); + attr_dev(button2, "class", "bg-gray-500 hover:bg-gray-700 disabled:bg-gray-300 text-white inline h-5 w-5 align-middle"); + button2.disabled = button2_disabled_value = /*idx*/ + ctx[28] === /*astElements*/ + ctx[4].length - 1; + add_location(button2, file9, 121, 14, 4611); + add_location(p, file9, 106, 12, 3542); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, p, anchor); + append_hydration_dev(p, t0); + append_hydration_dev(p, t1); + append_hydration_dev(p, t2); + append_hydration_dev(p, button0); + append_hydration_dev(button0, svg); + append_hydration_dev(svg, path); + append_hydration_dev(p, t3); + append_hydration_dev(p, button1); + append_hydration_dev(p, t5); + append_hydration_dev(p, button2); + append_hydration_dev(button2, t6); + append_hydration_dev(p, t7); + if (!mounted) { + dispose = [ + listen_dev(button0, "click", click_handler_1, false, false, false, false), + listen_dev(button1, "click", click_handler_2, false, false, false, false), + listen_dev(button2, "click", click_handler_3, false, false, false, false), + listen_dev(p, "mouseenter", mouseenter_handler, false, false, false, false), + listen_dev( + p, + "mouseleave", + /*mouseleave_handler*/ + ctx[22], + false, + false, + false, + false + ) + ]; + mounted = true; + } + }, + p: function update2(new_ctx, dirty) { + ctx = new_ctx; + if (dirty & /*astElements*/ + 16 && t1_value !== (t1_value = /*astElement*/ + ctx[26].tag + "")) + set_data_dev(t1, t1_value); + if (dirty & /*astElements*/ + 16 && button2_disabled_value !== (button2_disabled_value = /*idx*/ + ctx[28] === /*astElements*/ + ctx[4].length - 1)) { + prop_dev(button2, "disabled", button2_disabled_value); + } + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(p); + } + mounted = false; + run_all(dispose); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_each_block5.name, + type: "each", + source: "(103:10) {#each astElements as astElement, idx}", + ctx + }); + return block; + } + function create_else_block3(ctx) { + let input; + let mounted; + let dispose; + const block = { + c: function create3() { + input = element("input"); + this.h(); + }, + l: function claim(nodes) { + input = claim_element(nodes, "INPUT", { + type: true, + class: true, + placeholder: true + }); + this.h(); + }, + h: function hydrate() { + attr_dev(input, "type", "text"); + attr_dev(input, "class", "w-full py-1 px-2 bg-gray-100 border-gray-100 rounded-md leading-6 text-sm"); + attr_dev( + input, + "placeholder", + /*placeholder*/ + ctx[1] + ); + input.value = /*internalValue*/ + ctx[3]; + add_location(input, file9, 93, 12, 3047); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, input, anchor); + if (!mounted) { + dispose = [ + listen_dev( + input, + "keydown", + /*handleKeydown*/ + ctx[7], + false, + false, + false, + false + ), + listen_dev( + input, + "change", + /*handleTextChange*/ + ctx[8], + false, + false, + false, + false + ) + ]; + mounted = true; + } + }, + p: function update2(ctx2, dirty) { + if (dirty & /*placeholder*/ + 2) { + attr_dev( + input, + "placeholder", + /*placeholder*/ + ctx2[1] + ); + } + if (dirty & /*internalValue*/ + 8 && input.value !== /*internalValue*/ + ctx2[3]) { + prop_dev( + input, + "value", + /*internalValue*/ + ctx2[3] + ); + } + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(input); + } + mounted = false; + run_all(dispose); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_else_block3.name, + type: "else", + source: "(90:10) {:else}", + ctx + }); + return block; + } + function create_if_block_43(ctx) { + let textarea; + let mounted; + let dispose; + const block = { + c: function create3() { + textarea = element("textarea"); + this.h(); + }, + l: function claim(nodes) { + textarea = claim_element(nodes, "TEXTAREA", { class: true, placeholder: true }); + children(textarea).forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + attr_dev(textarea, "class", "w-full py-1 px-2 bg-gray-100 border-gray-100 rounded-md leading-6 text-sm"); + attr_dev( + textarea, + "placeholder", + /*placeholder*/ + ctx[1] + ); + textarea.value = /*internalValue*/ + ctx[3]; + add_location(textarea, file9, 86, 12, 2759); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, textarea, anchor); + if (!mounted) { + dispose = [ + listen_dev( + textarea, + "keydown", + /*handleKeydown*/ + ctx[7], + false, + false, + false, + false + ), + listen_dev( + textarea, + "change", + /*handleTextChange*/ + ctx[8], + false, + false, + false, + false + ) + ]; + mounted = true; + } + }, + p: function update2(ctx2, dirty) { + if (dirty & /*placeholder*/ + 2) { + attr_dev( + textarea, + "placeholder", + /*placeholder*/ + ctx2[1] + ); + } + if (dirty & /*internalValue*/ + 8) { + prop_dev( + textarea, + "value", + /*internalValue*/ + ctx2[3] + ); + } + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(textarea); + } + mounted = false; + run_all(dispose); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block_43.name, + type: "if", + source: "(82:10) {#if large}", + ctx + }); + return block; + } + function create_if_block_33(ctx) { + let div; + let current; + const value_slot_template = ( + /*#slots*/ + ctx[16].value + ); + const value_slot = create_slot( + value_slot_template, + ctx, + /*$$scope*/ + ctx[15], + get_value_slot_context_1 + ); + const block = { + c: function create3() { + div = element("div"); + if (value_slot) + value_slot.c(); + this.h(); + }, + l: function claim(nodes) { + div = claim_element(nodes, "DIV", { class: true }); + var div_nodes = children(div); + if (value_slot) + value_slot.l(div_nodes); + div_nodes.forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + attr_dev(div, "class", "pt-3"); + add_location(div, file9, 102, 12, 3389); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, div, anchor); + if (value_slot) { + value_slot.m(div, null); + } + current = true; + }, + p: function update2(ctx2, dirty) { + if (value_slot) { + if (value_slot.p && (!current || dirty & /*$$scope*/ + 32768)) { + update_slot_base( + value_slot, + value_slot_template, + ctx2, + /*$$scope*/ + ctx2[15], + !current ? get_all_dirty_from_scope( + /*$$scope*/ + ctx2[15] + ) : get_slot_changes( + value_slot_template, + /*$$scope*/ + ctx2[15], + dirty, + get_value_slot_changes_1 + ), + get_value_slot_context_1 + ); + } + } + }, + i: function intro(local) { + if (current) + return; + transition_in(value_slot, local); + current = true; + }, + o: function outro(local) { + transition_out(value_slot, local); + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(div); + } + if (value_slot) + value_slot.d(detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block_33.name, + type: "if", + source: "(99:10) {#if $$slots['value']}", + ctx + }); + return block; + } + function fallback_block_1(ctx) { + let current_block_type_index; + let if_block; + let if_block_anchor; + let current; + const if_block_creators = [create_if_block_23, create_if_block_53]; + const if_blocks = []; + function select_block_type_1(ctx2, dirty) { + if ( + /*internalValue*/ + ctx2[3] + ) + return 0; + if ( + /*astElements*/ + ctx2[4] + ) + return 1; + return -1; + } + if (~(current_block_type_index = select_block_type_1(ctx, -1))) { + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx); + } + const block = { + c: function create3() { + if (if_block) + if_block.c(); + if_block_anchor = empty(); + }, + l: function claim(nodes) { + if (if_block) + if_block.l(nodes); + if_block_anchor = empty(); + }, + m: function mount(target, anchor) { + if (~current_block_type_index) { + if_blocks[current_block_type_index].m(target, anchor); + } + insert_hydration_dev(target, if_block_anchor, anchor); + current = true; + }, + p: function update2(ctx2, dirty) { + let previous_block_index = current_block_type_index; + current_block_type_index = select_block_type_1(ctx2, dirty); + if (current_block_type_index === previous_block_index) { + if (~current_block_type_index) { + if_blocks[current_block_type_index].p(ctx2, dirty); + } + } else { + if (if_block) { + group_outros(); + transition_out(if_blocks[previous_block_index], 1, 1, () => { + if_blocks[previous_block_index] = null; + }); + check_outros(); + } + if (~current_block_type_index) { + if_block = if_blocks[current_block_type_index]; + if (!if_block) { + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2); + if_block.c(); + } else { + if_block.p(ctx2, dirty); + } + transition_in(if_block, 1); + if_block.m(if_block_anchor.parentNode, if_block_anchor); + } else { + if_block = null; + } + } + }, + i: function intro(local) { + if (current) + return; + transition_in(if_block); + current = true; + }, + o: function outro(local) { + transition_out(if_block); + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(if_block_anchor); + } + if (~current_block_type_index) { + if_blocks[current_block_type_index].d(detaching); + } + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: fallback_block_1.name, + type: "fallback", + source: "(80:25) ", + ctx + }); + return block; + } + function fallback_block(ctx) { + let input; + let mounted; + let dispose; + const block = { + c: function create3() { + input = element("input"); + this.h(); + }, + l: function claim(nodes) { + input = claim_element(nodes, "INPUT", { + type: true, + class: true, + placeholder: true + }); + this.h(); + }, + h: function hydrate() { + attr_dev(input, "type", "text"); + attr_dev(input, "class", "w-full py-1 px-2 bg-gray-100 border-gray-100 rounded-md leading-6 text-sm"); + attr_dev( + input, + "placeholder", + /*placeholder*/ + ctx[1] + ); + input.value = /*internalValue*/ + ctx[3]; + add_location(input, file9, 71, 6, 2227); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, input, anchor); + if (!mounted) { + dispose = [ + listen_dev( + input, + "keydown", + /*handleKeydown*/ + ctx[7], + false, + false, + false, + false + ), + listen_dev( + input, + "change", + /*handleTextChange*/ + ctx[8], + false, + false, + false, + false + ) + ]; + mounted = true; + } + }, + p: function update2(ctx2, dirty) { + if (dirty & /*placeholder*/ + 2) { + attr_dev( + input, + "placeholder", + /*placeholder*/ + ctx2[1] + ); + } + if (dirty & /*internalValue*/ + 8 && input.value !== /*internalValue*/ + ctx2[3]) { + prop_dev( + input, + "value", + /*internalValue*/ + ctx2[3] + ); + } + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(input); + } + mounted = false; + run_all(dispose); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: fallback_block.name, + type: "fallback", + source: "(68:23) ", + ctx + }); + return block; + } + function create_fragment9(ctx) { + let section; + let header; + let button; + let t0_value = ( + /*expanded*/ + ctx[0] ? "\u25B2" : "\u25BC" + ); + let t0; + let t1; + let t2; + let current_block_type_index; + let if_block; + let current; + let mounted; + let dispose; + const heading_slot_template = ( + /*#slots*/ + ctx[16].heading + ); + const heading_slot = create_slot( + heading_slot_template, + ctx, + /*$$scope*/ + ctx[15], + get_heading_slot_context + ); + const if_block_creators = [create_if_block5, create_if_block_14]; + const if_blocks = []; + function select_block_type(ctx2, dirty) { + if ( + /*$$slots*/ + ctx2[11]["value"] + ) + return 0; + if ( + /*expanded*/ + ctx2[0] + ) + return 1; + return -1; + } + if (~(current_block_type_index = select_block_type(ctx, -1))) { + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx); + } + const block = { + c: function create3() { + section = element("section"); + header = element("header"); + button = element("button"); + t0 = text(t0_value); + t1 = space(); + if (heading_slot) + heading_slot.c(); + t2 = space(); + if (if_block) + if_block.c(); + this.h(); + }, + l: function claim(nodes) { + section = claim_element(nodes, "SECTION", { class: true }); + var section_nodes = children(section); + header = claim_element(section_nodes, "HEADER", { class: true }); + var header_nodes = children(header); + button = claim_element(header_nodes, "BUTTON", { type: true, class: true }); + var button_nodes = children(button); + t0 = claim_text(button_nodes, t0_value); + button_nodes.forEach(detach_dev); + t1 = claim_space(header_nodes); + if (heading_slot) + heading_slot.l(header_nodes); + header_nodes.forEach(detach_dev); + t2 = claim_space(section_nodes); + if (if_block) + if_block.l(section_nodes); + section_nodes.forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + attr_dev(button, "type", "button"); + attr_dev(button, "class", "align-middle text-base"); + add_location(button, file9, 65, 4, 1988); + attr_dev(header, "class", "text-sm mb-2"); + add_location(header, file9, 64, 2, 1954); + attr_dev(section, "class", "p-4 border-b border-b-gray-100 border-solid"); + add_location(section, file9, 63, 0, 1890); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, section, anchor); + append_hydration_dev(section, header); + append_hydration_dev(header, button); + append_hydration_dev(button, t0); + append_hydration_dev(header, t1); + if (heading_slot) { + heading_slot.m(header, null); + } + append_hydration_dev(section, t2); + if (~current_block_type_index) { + if_blocks[current_block_type_index].m(section, null); + } + current = true; + if (!mounted) { + dispose = listen_dev( + button, + "click", + /*click_handler*/ + ctx[17], + false, + false, + false, + false + ); + mounted = true; + } + }, + p: function update2(ctx2, [dirty]) { + if ((!current || dirty & /*expanded*/ + 1) && t0_value !== (t0_value = /*expanded*/ + ctx2[0] ? "\u25B2" : "\u25BC")) + set_data_dev(t0, t0_value); + if (heading_slot) { + if (heading_slot.p && (!current || dirty & /*$$scope*/ + 32768)) { + update_slot_base( + heading_slot, + heading_slot_template, + ctx2, + /*$$scope*/ + ctx2[15], + !current ? get_all_dirty_from_scope( + /*$$scope*/ + ctx2[15] + ) : get_slot_changes( + heading_slot_template, + /*$$scope*/ + ctx2[15], + dirty, + get_heading_slot_changes + ), + get_heading_slot_context + ); + } + } + let previous_block_index = current_block_type_index; + current_block_type_index = select_block_type(ctx2, dirty); + if (current_block_type_index === previous_block_index) { + if (~current_block_type_index) { + if_blocks[current_block_type_index].p(ctx2, dirty); + } + } else { + if (if_block) { + group_outros(); + transition_out(if_blocks[previous_block_index], 1, 1, () => { + if_blocks[previous_block_index] = null; + }); + check_outros(); + } + if (~current_block_type_index) { + if_block = if_blocks[current_block_type_index]; + if (!if_block) { + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2); + if_block.c(); + } else { + if_block.p(ctx2, dirty); + } + transition_in(if_block, 1); + if_block.m(section, null); + } else { + if_block = null; + } + } + }, + i: function intro(local) { + if (current) + return; + transition_in(heading_slot, local); + transition_in(if_block); + current = true; + }, + o: function outro(local) { + transition_out(heading_slot, local); + transition_out(if_block); + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(section); + } + if (heading_slot) + heading_slot.d(detaching); + if (~current_block_type_index) { + if_blocks[current_block_type_index].d(); + } + mounted = false; + dispose(); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_fragment9.name, + type: "component", + source: "", + ctx + }); + return block; + } + function instance9($$self, $$props, $$invalidate) { + let astElements; + let $selectedAstElementId; + let $highlightedAstElement; + validate_store(selectedAstElementId, "selectedAstElementId"); + component_subscribe($$self, selectedAstElementId, ($$value) => $$invalidate(23, $selectedAstElementId = $$value)); + validate_store(highlightedAstElement, "highlightedAstElement"); + component_subscribe($$self, highlightedAstElement, ($$value) => $$invalidate(24, $highlightedAstElement = $$value)); + let { $$slots: slots = {}, $$scope } = $$props; + validate_slots("SidebarSection", slots, ["heading", "input", "value"]); + const $$slots = compute_slots(slots); + const dispatch2 = createEventDispatcher(); + let { value = "" } = $$props; + let { astNodes = null } = $$props; + let { clearOnUpdate = false } = $$props; + let { expanded = true } = $$props; + let { placeholder = "" } = $$props; + let { large = false } = $$props; + function highlightAstElement(astElement) { + set_store_value(highlightedAstElement, $highlightedAstElement = astElement, $highlightedAstElement); + } + function unhighlightAstElement() { + set_store_value(highlightedAstElement, $highlightedAstElement = void 0, $highlightedAstElement); + } + let internalValue = astElements ? null : value; + function handleKeydown(e) { + if (!(e.target instanceof HTMLInputElement)) + return; + let text2 = e.target.value; + if (e.key === "Enter" && text2 && text2.length > 0 && text2 !== value) { + dispatch2("update", text2); + if (clearOnUpdate) { + $$invalidate(3, internalValue = null); + e.target.value = ""; + } + } + } + function handleTextChange(e) { + if (e.target instanceof HTMLInputElement || e.target instanceof HTMLTextAreaElement) { + dispatch2("textChange", e.target.value); + } + } + function select(astElement) { + let id = findAstElementId(astElement); + set_store_value(selectedAstElementId, $selectedAstElementId = id, $selectedAstElementId); + } + function moveAstElement(movement, astElement) { + if (!astNodes) + return; + let astNodesCopy = Array.from(astNodes); + let index3 = astNodesCopy.indexOf(astElement); + astNodesCopy.splice(index3, 1); + astNodesCopy.splice(index3 + movement, 0, astElement); + dispatch2("nodesChange", astNodesCopy); + } + const writable_props = ["value", "astNodes", "clearOnUpdate", "expanded", "placeholder", "large"]; + Object.keys($$props).forEach((key) => { + if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$" && key !== "slot") + console.warn(` was created with unknown prop '${key}'`); + }); + const click_handler = () => $$invalidate(0, expanded = !expanded); + const click_handler_1 = (astElement) => select(astElement); + const click_handler_2 = (astElement) => moveAstElement(-1, astElement); + const click_handler_3 = (astElement) => moveAstElement(1, astElement); + const mouseenter_handler = (astElement) => highlightAstElement(astElement); + const mouseleave_handler = () => unhighlightAstElement(); + $$self.$$set = ($$props2) => { + if ("value" in $$props2) + $$invalidate(12, value = $$props2.value); + if ("astNodes" in $$props2) + $$invalidate(13, astNodes = $$props2.astNodes); + if ("clearOnUpdate" in $$props2) + $$invalidate(14, clearOnUpdate = $$props2.clearOnUpdate); + if ("expanded" in $$props2) + $$invalidate(0, expanded = $$props2.expanded); + if ("placeholder" in $$props2) + $$invalidate(1, placeholder = $$props2.placeholder); + if ("large" in $$props2) + $$invalidate(2, large = $$props2.large); + if ("$$scope" in $$props2) + $$invalidate(15, $$scope = $$props2.$$scope); + }; + $$self.$capture_state = () => ({ + createEventDispatcher, + highlightedAstElement, + findAstElementId, + selectedAstElementId, + isAstElement, + dispatch: dispatch2, + value, + astNodes, + clearOnUpdate, + expanded, + placeholder, + large, + highlightAstElement, + unhighlightAstElement, + internalValue, + handleKeydown, + handleTextChange, + select, + moveAstElement, + astElements, + $selectedAstElementId, + $highlightedAstElement + }); + $$self.$inject_state = ($$props2) => { + if ("value" in $$props2) + $$invalidate(12, value = $$props2.value); + if ("astNodes" in $$props2) + $$invalidate(13, astNodes = $$props2.astNodes); + if ("clearOnUpdate" in $$props2) + $$invalidate(14, clearOnUpdate = $$props2.clearOnUpdate); + if ("expanded" in $$props2) + $$invalidate(0, expanded = $$props2.expanded); + if ("placeholder" in $$props2) + $$invalidate(1, placeholder = $$props2.placeholder); + if ("large" in $$props2) + $$invalidate(2, large = $$props2.large); + if ("internalValue" in $$props2) + $$invalidate(3, internalValue = $$props2.internalValue); + if ("astElements" in $$props2) + $$invalidate(4, astElements = $$props2.astElements); + }; + if ($$props && "$$inject" in $$props) { + $$self.$inject_state($$props.$$inject); + } + $$self.$$.update = () => { + if ($$self.$$.dirty & /*astNodes*/ + 8192) { + $: + $$invalidate(4, astElements = (astNodes || []).filter(isAstElement)); + } + if ($$self.$$.dirty & /*astNodes*/ + 8192) { + $: { + if ((astNodes === null || astNodes === void 0 ? void 0 : astNodes.length) === 1) { + let first = astNodes[0]; + if (!isAstElement(first)) { + $$invalidate(3, internalValue = first); + } + } else if (astNodes) { + $$invalidate(3, internalValue = null); + } + } + } + }; + return [ + expanded, + placeholder, + large, + internalValue, + astElements, + highlightAstElement, + unhighlightAstElement, + handleKeydown, + handleTextChange, + select, + moveAstElement, + $$slots, + value, + astNodes, + clearOnUpdate, + $$scope, + slots, + click_handler, + click_handler_1, + click_handler_2, + click_handler_3, + mouseenter_handler, + mouseleave_handler + ]; + } + var SidebarSection = class extends SvelteComponentDev { + constructor(options) { + super(options); + init2(this, options, instance9, create_fragment9, safe_not_equal, { + value: 12, + astNodes: 13, + clearOnUpdate: 14, + expanded: 0, + placeholder: 1, + large: 2 + }); + dispatch_dev("SvelteRegisterComponent", { + component: this, + tagName: "SidebarSection", + options, + id: create_fragment9.name + }); + } + get value() { + throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + } + set value(value) { + throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + } + get astNodes() { + throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + } + set astNodes(value) { + throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + } + get clearOnUpdate() { + throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + } + set clearOnUpdate(value) { + throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + } + get expanded() { + throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + } + set expanded(value) { + throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + } + get placeholder() { + throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + } + set placeholder(value) { + throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + } + get large() { + throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + } + set large(value) { + throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + } + }; + var SidebarSection_default = SidebarSection; + + // svelte/components/PropertiesSidebar.svelte + var { Object: Object_1 } = globals; + var file10 = "svelte/components/PropertiesSidebar.svelte"; + function get_each_context6(ctx, list, i) { + const child_ctx = ctx.slice(); + child_ctx[29] = list[i]; + const constants_0 = ( + /*entry*/ + child_ctx[29] + ); + child_ctx[30] = constants_0[0]; + child_ctx[31] = constants_0[1]; + return child_ctx; + } + function get_each_context_13(ctx, list, i) { + const child_ctx = ctx.slice(); + child_ctx[34] = list[i]; + return child_ctx; + } + function create_else_block4(ctx) { + let div; + let textContent = "Select a component to edit its properties"; + const block = { + c: function create3() { + div = element("div"); + div.textContent = textContent; + this.h(); + }, + l: function claim(nodes) { + div = claim_element(nodes, "DIV", { class: true, ["data-svelte-h"]: true }); + if (get_svelte_dataset(div) !== "svelte-wl19d2") + div.textContent = textContent; + this.h(); + }, + h: function hydrate() { + attr_dev(div, "class", "pt-8"); + add_location(div, file10, 180, 6, 8038); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, div, anchor); + }, + p: noop2, + i: noop2, + o: noop2, + d: function destroy(detaching) { + if (detaching) { + detach_dev(div); + } + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_else_block4.name, + type: "else", + source: "(194:4) {:else}", + ctx + }); + return block; + } + function create_if_block6(ctx) { + let div0; + let t0; + let t1; + let t2; + let button; + let textContent = "\xD7"; + let t4; + let t5; + let div1; + let t6; + let t7; + let sidebarsection; + let current; + let mounted; + let dispose; + let if_block0 = !/*isRootNode*/ + ctx[5] && create_if_block_44(ctx); + let if_block1 = ( + /*attributesEditable*/ + ctx[4] && create_if_block_34(ctx) + ); + let if_block2 = ( + /*$draggedObject*/ + ctx[8] && /*$draggedObject*/ + ctx[8].category === "basic" && create_if_block_24(ctx) + ); + let if_block3 = ( + /*$selectedAstElement*/ + ctx[0].content.length > 0 && create_if_block_15(ctx) + ); + sidebarsection = new SidebarSection_default({ + props: { + expanded: false, + $$slots: { + input: [create_input_slot], + heading: [create_heading_slot] + }, + $$scope: { ctx } + }, + $$inline: true + }); + const block = { + c: function create3() { + div0 = element("div"); + t0 = text( + /*sidebarTitle*/ + ctx[6] + ); + t1 = space(); + if (if_block0) + if_block0.c(); + t2 = space(); + button = element("button"); + button.textContent = textContent; + t4 = space(); + if (if_block1) + if_block1.c(); + t5 = space(); + div1 = element("div"); + if (if_block2) + if_block2.c(); + t6 = space(); + if (if_block3) + if_block3.c(); + t7 = space(); + create_component(sidebarsection.$$.fragment); + this.h(); + }, + l: function claim(nodes) { + div0 = claim_element(nodes, "DIV", { class: true }); + var div0_nodes = children(div0); + t0 = claim_text( + div0_nodes, + /*sidebarTitle*/ + ctx[6] + ); + t1 = claim_space(div0_nodes); + if (if_block0) + if_block0.l(div0_nodes); + t2 = claim_space(div0_nodes); + button = claim_element(div0_nodes, "BUTTON", { + type: true, + class: true, + ["data-svelte-h"]: true + }); + if (get_svelte_dataset(button) !== "svelte-mxviez") + button.textContent = textContent; + div0_nodes.forEach(detach_dev); + t4 = claim_space(nodes); + if (if_block1) + if_block1.l(nodes); + t5 = claim_space(nodes); + div1 = claim_element(nodes, "DIV", { class: true }); + var div1_nodes = children(div1); + if (if_block2) + if_block2.l(div1_nodes); + t6 = claim_space(div1_nodes); + if (if_block3) + if_block3.l(div1_nodes); + div1_nodes.forEach(detach_dev); + t7 = claim_space(nodes); + claim_component(sidebarsection.$$.fragment, nodes); + this.h(); + }, + h: function hydrate() { + attr_dev(button, "type", "button"); + attr_dev(button, "class", "absolute py-3 top-3 right-1"); + add_location(button, file10, 121, 8, 5640); + attr_dev(div0, "class", "border-b text-lg font-medium leading-5 pt-7 pr-7 pb-5 pl-4 relative"); + add_location(div0, file10, 113, 6, 5342); + attr_dev(div1, "class", "relative"); + add_location(div1, file10, 143, 6, 6594); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, div0, anchor); + append_hydration_dev(div0, t0); + append_hydration_dev(div0, t1); + if (if_block0) + if_block0.m(div0, null); + append_hydration_dev(div0, t2); + append_hydration_dev(div0, button); + insert_hydration_dev(target, t4, anchor); + if (if_block1) + if_block1.m(target, anchor); + insert_hydration_dev(target, t5, anchor); + insert_hydration_dev(target, div1, anchor); + if (if_block2) + if_block2.m(div1, null); + append_hydration_dev(div1, t6); + if (if_block3) + if_block3.m(div1, null); + insert_hydration_dev(target, t7, anchor); + mount_component(sidebarsection, target, anchor); + current = true; + if (!mounted) { + dispose = listen_dev( + button, + "click", + /*click_handler*/ + ctx[20], + false, + false, + false, + false + ); + mounted = true; + } + }, + p: function update2(ctx2, dirty) { + if (!current || dirty[0] & /*sidebarTitle*/ + 64) + set_data_dev( + t0, + /*sidebarTitle*/ + ctx2[6] + ); + if (!/*isRootNode*/ + ctx2[5]) { + if (if_block0) { + if_block0.p(ctx2, dirty); + } else { + if_block0 = create_if_block_44(ctx2); + if_block0.c(); + if_block0.m(div0, t2); + } + } else if (if_block0) { + if_block0.d(1); + if_block0 = null; + } + if ( + /*attributesEditable*/ + ctx2[4] + ) { + if (if_block1) { + if_block1.p(ctx2, dirty); + if (dirty[0] & /*attributesEditable*/ + 16) { + transition_in(if_block1, 1); + } + } else { + if_block1 = create_if_block_34(ctx2); + if_block1.c(); + transition_in(if_block1, 1); + if_block1.m(t5.parentNode, t5); + } + } else if (if_block1) { + group_outros(); + transition_out(if_block1, 1, 1, () => { + if_block1 = null; + }); + check_outros(); + } + if ( + /*$draggedObject*/ + ctx2[8] && /*$draggedObject*/ + ctx2[8].category === "basic" + ) { + if (if_block2) { + if_block2.p(ctx2, dirty); + } else { + if_block2 = create_if_block_24(ctx2); + if_block2.c(); + if_block2.m(div1, t6); + } + } else if (if_block2) { + if_block2.d(1); + if_block2 = null; + } + if ( + /*$selectedAstElement*/ + ctx2[0].content.length > 0 + ) { + if (if_block3) { + if_block3.p(ctx2, dirty); + if (dirty[0] & /*$selectedAstElement*/ + 1) { + transition_in(if_block3, 1); + } + } else { + if_block3 = create_if_block_15(ctx2); + if_block3.c(); + transition_in(if_block3, 1); + if_block3.m(div1, null); + } + } else if (if_block3) { + group_outros(); + transition_out(if_block3, 1, 1, () => { + if_block3 = null; + }); + check_outros(); + } + const sidebarsection_changes = {}; + if (dirty[1] & /*$$scope*/ + 64) { + sidebarsection_changes.$$scope = { dirty, ctx: ctx2 }; + } + sidebarsection.$set(sidebarsection_changes); + }, + i: function intro(local) { + if (current) + return; + transition_in(if_block1); + transition_in(if_block3); + transition_in(sidebarsection.$$.fragment, local); + current = true; + }, + o: function outro(local) { + transition_out(if_block1); + transition_out(if_block3); + transition_out(sidebarsection.$$.fragment, local); + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(div0); + detach_dev(t4); + detach_dev(t5); + detach_dev(div1); + detach_dev(t7); + } + if (if_block0) + if_block0.d(); + if (if_block1) + if_block1.d(detaching); + if (if_block2) + if_block2.d(); + if (if_block3) + if_block3.d(); + destroy_component(sidebarsection, detaching); + mounted = false; + dispose(); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block6.name, + type: "if", + source: "(127:4) {#if $selectedAstElement}", + ctx + }); + return block; + } + function create_if_block_44(ctx) { + let button; + let textContent = "\u21B0"; + let mounted; + let dispose; + const block = { + c: function create3() { + button = element("button"); + button.textContent = textContent; + this.h(); + }, + l: function claim(nodes) { + button = claim_element(nodes, "BUTTON", { + type: true, + class: true, + ["data-svelte-h"]: true + }); + if (get_svelte_dataset(button) !== "svelte-gvqlvr") + button.textContent = textContent; + this.h(); + }, + h: function hydrate() { + attr_dev(button, "type", "button"); + attr_dev(button, "class", "absolute py-3 top-3 right-5"); + add_location(button, file10, 116, 10, 5483); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, button, anchor); + if (!mounted) { + dispose = listen_dev( + button, + "click", + /*selectParentNode*/ + ctx[10], + false, + false, + false, + false + ); + mounted = true; + } + }, + p: noop2, + d: function destroy(detaching) { + if (detaching) { + detach_dev(button); + } + mounted = false; + dispose(); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block_44.name, + type: "if", + source: "(130:8) {#if !isRootNode}", + ctx + }); + return block; + } + function create_if_block_34(ctx) { + let sidebarsection; + let t; + let each_blocks = []; + let each_1_lookup = /* @__PURE__ */ new Map(); + let each_1_anchor; + let current; + sidebarsection = new SidebarSection_default({ + props: { + clearOnUpdate: true, + placeholder: "Add new class", + $$slots: { + value: [create_value_slot], + heading: [create_heading_slot_3] + }, + $$scope: { ctx } + }, + $$inline: true + }); + sidebarsection.$on( + "update", + /*addClass*/ + ctx[9] + ); + let each_value = ensure_array_like_dev( + /*editableAttrs*/ + ctx[7] + ); + const get_key = (ctx2) => ( + /*entry*/ + ctx2[29] + ); + validate_each_keys(ctx, each_value, get_each_context6, get_key); + for (let i = 0; i < each_value.length; i += 1) { + let child_ctx = get_each_context6(ctx, each_value, i); + let key = get_key(child_ctx); + each_1_lookup.set(key, each_blocks[i] = create_each_block6(key, child_ctx)); + } + const block = { + c: function create3() { + create_component(sidebarsection.$$.fragment); + t = space(); + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].c(); + } + each_1_anchor = empty(); + }, + l: function claim(nodes) { + claim_component(sidebarsection.$$.fragment, nodes); + t = claim_space(nodes); + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].l(nodes); + } + each_1_anchor = empty(); + }, + m: function mount(target, anchor) { + mount_component(sidebarsection, target, anchor); + insert_hydration_dev(target, t, anchor); + for (let i = 0; i < each_blocks.length; i += 1) { + if (each_blocks[i]) { + each_blocks[i].m(target, anchor); + } + } + insert_hydration_dev(target, each_1_anchor, anchor); + current = true; + }, + p: function update2(ctx2, dirty) { + const sidebarsection_changes = {}; + if (dirty[0] & /*classList*/ + 4 | dirty[1] & /*$$scope*/ + 64) { + sidebarsection_changes.$$scope = { dirty, ctx: ctx2 }; + } + sidebarsection.$set(sidebarsection_changes); + if (dirty[0] & /*editableAttrs, updateAttribute*/ + 8320) { + each_value = ensure_array_like_dev( + /*editableAttrs*/ + ctx2[7] + ); + group_outros(); + validate_each_keys(ctx2, each_value, get_each_context6, get_key); + each_blocks = update_keyed_each(each_blocks, dirty, get_key, 1, ctx2, each_value, each_1_lookup, each_1_anchor.parentNode, outro_and_destroy_block, create_each_block6, each_1_anchor, get_each_context6); + check_outros(); + } + }, + i: function intro(local) { + if (current) + return; + transition_in(sidebarsection.$$.fragment, local); + for (let i = 0; i < each_value.length; i += 1) { + transition_in(each_blocks[i]); + } + current = true; + }, + o: function outro(local) { + transition_out(sidebarsection.$$.fragment, local); + for (let i = 0; i < each_blocks.length; i += 1) { + transition_out(each_blocks[i]); + } + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(t); + detach_dev(each_1_anchor); + } + destroy_component(sidebarsection, detaching); + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].d(detaching); + } + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block_34.name, + type: "if", + source: "(141:6) {#if attributesEditable}", + ctx + }); + return block; + } + function create_heading_slot_3(ctx) { + let t; + const block = { + c: function create3() { + t = text("Classes"); + }, + l: function claim(nodes) { + t = claim_text(nodes, "Classes"); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, t, anchor); + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(t); + } + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_heading_slot_3.name, + type: "slot", + source: '(143:10) ', + ctx + }); + return block; + } + function create_default_slot2(ctx) { + let t_value = ( + /*className*/ + ctx[34] + "" + ); + let t; + const block = { + c: function create3() { + t = text(t_value); + }, + l: function claim(nodes) { + t = claim_text(nodes, t_value); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, t, anchor); + }, + p: function update2(ctx2, dirty) { + if (dirty[0] & /*classList*/ + 4 && t_value !== (t_value = /*className*/ + ctx2[34] + "")) + set_data_dev(t, t_value); + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(t); + } + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_default_slot2.name, + type: "slot", + source: "(146:14) deleteClass(className)}>", + ctx + }); + return block; + } + function create_each_block_13(ctx) { + let pill; + let current; + function delete_handler() { + return ( + /*delete_handler*/ + ctx[21]( + /*className*/ + ctx[34] + ) + ); + } + pill = new Pill_default({ + props: { + $$slots: { default: [create_default_slot2] }, + $$scope: { ctx } + }, + $$inline: true + }); + pill.$on("delete", delete_handler); + const block = { + c: function create3() { + create_component(pill.$$.fragment); + }, + l: function claim(nodes) { + claim_component(pill.$$.fragment, nodes); + }, + m: function mount(target, anchor) { + mount_component(pill, target, anchor); + current = true; + }, + p: function update2(new_ctx, dirty) { + ctx = new_ctx; + const pill_changes = {}; + if (dirty[0] & /*classList*/ + 4 | dirty[1] & /*$$scope*/ + 64) { + pill_changes.$$scope = { dirty, ctx }; + } + pill.$set(pill_changes); + }, + i: function intro(local) { + if (current) + return; + transition_in(pill.$$.fragment, local); + current = true; + }, + o: function outro(local) { + transition_out(pill.$$.fragment, local); + current = false; + }, + d: function destroy(detaching) { + destroy_component(pill, detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_each_block_13.name, + type: "each", + source: "(145:12) {#each classList as className}", + ctx + }); + return block; + } + function create_value_slot(ctx) { + let each_1_anchor; + let current; + let each_value_1 = ensure_array_like_dev( + /*classList*/ + ctx[2] + ); + let each_blocks = []; + for (let i = 0; i < each_value_1.length; i += 1) { + each_blocks[i] = create_each_block_13(get_each_context_13(ctx, each_value_1, i)); + } + const out = (i) => transition_out(each_blocks[i], 1, 1, () => { + each_blocks[i] = null; + }); + const block = { + c: function create3() { + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].c(); + } + each_1_anchor = empty(); + }, + l: function claim(nodes) { + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].l(nodes); + } + each_1_anchor = empty(); + }, + m: function mount(target, anchor) { + for (let i = 0; i < each_blocks.length; i += 1) { + if (each_blocks[i]) { + each_blocks[i].m(target, anchor); + } + } + insert_hydration_dev(target, each_1_anchor, anchor); + current = true; + }, + p: function update2(ctx2, dirty) { + if (dirty[0] & /*deleteClass, classList*/ + 2052) { + each_value_1 = ensure_array_like_dev( + /*classList*/ + ctx2[2] + ); + let i; + for (i = 0; i < each_value_1.length; i += 1) { + const child_ctx = get_each_context_13(ctx2, each_value_1, i); + if (each_blocks[i]) { + each_blocks[i].p(child_ctx, dirty); + transition_in(each_blocks[i], 1); + } else { + each_blocks[i] = create_each_block_13(child_ctx); + each_blocks[i].c(); + transition_in(each_blocks[i], 1); + each_blocks[i].m(each_1_anchor.parentNode, each_1_anchor); + } + } + group_outros(); + for (i = each_value_1.length; i < each_blocks.length; i += 1) { + out(i); + } + check_outros(); + } + }, + i: function intro(local) { + if (current) + return; + for (let i = 0; i < each_value_1.length; i += 1) { + transition_in(each_blocks[i]); + } + current = true; + }, + o: function outro(local) { + each_blocks = each_blocks.filter(Boolean); + for (let i = 0; i < each_blocks.length; i += 1) { + transition_out(each_blocks[i]); + } + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(each_1_anchor); + } + destroy_each(each_blocks, detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_value_slot.name, + type: "slot", + source: '(144:10) ', + ctx + }); + return block; + } + function create_heading_slot_2(ctx) { + let t_value = ( + /*name*/ + ctx[30] + "" + ); + let t; + const block = { + c: function create3() { + t = text(t_value); + }, + l: function claim(nodes) { + t = claim_text(nodes, t_value); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, t, anchor); + }, + p: function update2(ctx2, dirty) { + if (dirty[0] & /*editableAttrs*/ + 128 && t_value !== (t_value = /*name*/ + ctx2[30] + "")) + set_data_dev(t, t_value); + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(t); + } + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_heading_slot_2.name, + type: "slot", + source: '(153:12) ', + ctx + }); + return block; + } + function create_each_block6(key_1, ctx) { + let first; + let sidebarsection; + let current; + function textChange_handler(...args) { + return ( + /*textChange_handler*/ + ctx[22]( + /*name*/ + ctx[30], + ...args + ) + ); + } + sidebarsection = new SidebarSection_default({ + props: { + clearOnUpdate: true, + value: ( + /*value*/ + ctx[31] + ), + placeholder: "Set " + /*name*/ + ctx[30], + $$slots: { heading: [create_heading_slot_2] }, + $$scope: { ctx } + }, + $$inline: true + }); + sidebarsection.$on("textChange", textChange_handler); + const block = { + key: key_1, + first: null, + c: function create3() { + first = empty(); + create_component(sidebarsection.$$.fragment); + this.h(); + }, + l: function claim(nodes) { + first = empty(); + claim_component(sidebarsection.$$.fragment, nodes); + this.h(); + }, + h: function hydrate() { + this.first = first; + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, first, anchor); + mount_component(sidebarsection, target, anchor); + current = true; + }, + p: function update2(new_ctx, dirty) { + ctx = new_ctx; + const sidebarsection_changes = {}; + if (dirty[0] & /*editableAttrs*/ + 128) + sidebarsection_changes.value = /*value*/ + ctx[31]; + if (dirty[0] & /*editableAttrs*/ + 128) + sidebarsection_changes.placeholder = "Set " + /*name*/ + ctx[30]; + if (dirty[0] & /*editableAttrs*/ + 128 | dirty[1] & /*$$scope*/ + 64) { + sidebarsection_changes.$$scope = { dirty, ctx }; + } + sidebarsection.$set(sidebarsection_changes); + }, + i: function intro(local) { + if (current) + return; + transition_in(sidebarsection.$$.fragment, local); + current = true; + }, + o: function outro(local) { + transition_out(sidebarsection.$$.fragment, local); + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(first); + } + destroy_component(sidebarsection, detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_each_block6.name, + type: "each", + source: "(150:8) {#each editableAttrs as entry (entry)}", + ctx + }); + return block; + } + function create_if_block_24(ctx) { + let div1; + let div0; + let textContent = "Drop components here"; + let mounted; + let dispose; + const block = { + c: function create3() { + div1 = element("div"); + div0 = element("div"); + div0.textContent = textContent; + this.h(); + }, + l: function claim(nodes) { + div1 = claim_element(nodes, "DIV", { class: true }); + var div1_nodes = children(div1); + div0 = claim_element(div1_nodes, "DIV", { class: true, ["data-svelte-h"]: true }); + if (get_svelte_dataset(div0) !== "svelte-1mbq8po") + div0.textContent = textContent; + div1_nodes.forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + attr_dev(div0, "class", "flex rounded-lg outline-dashed outline-2 h-full text-center justify-center items-center"); + add_location(div0, file10, 152, 12, 6985); + attr_dev(div1, "class", "absolute h-8 bg-white opacity-70 w-full h-full p-4"); + toggle_class( + div1, + "opacity-90", + /*isDraggingOver*/ + ctx[3] + ); + add_location(div1, file10, 145, 10, 6695); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, div1, anchor); + append_hydration_dev(div1, div0); + if (!mounted) { + dispose = [ + listen_dev(div1, "drop", prevent_default( + /*dropInside*/ + ctx[15] + ), false, true, false, false), + listen_dev( + div1, + "dragover", + /*dragOver*/ + ctx[16], + false, + false, + false, + false + ), + listen_dev( + div1, + "dragleave", + /*dragleave_handler*/ + ctx[23], + false, + false, + false, + false + ) + ]; + mounted = true; + } + }, + p: function update2(ctx2, dirty) { + if (dirty[0] & /*isDraggingOver*/ + 8) { + toggle_class( + div1, + "opacity-90", + /*isDraggingOver*/ + ctx2[3] + ); + } + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(div1); + } + mounted = false; + run_all(dispose); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block_24.name, + type: "if", + source: '(159:8) {#if $draggedObject && $draggedObject.category === \\"basic\\"}', + ctx + }); + return block; + } + function create_if_block_15(ctx) { + let sidebarsection; + let current; + sidebarsection = new SidebarSection_default({ + props: { + astNodes: ( + /*$selectedAstElement*/ + ctx[0].content + ), + large: ( + /*$selectedAstElement*/ + ctx[0].tag === "eex" + ), + $$slots: { heading: [create_heading_slot_1] }, + $$scope: { ctx } + }, + $$inline: true + }); + sidebarsection.$on( + "textChange", + /*textChange_handler_1*/ + ctx[24] + ); + sidebarsection.$on( + "nodesChange", + /*changeNodes*/ + ctx[17] + ); + const block = { + c: function create3() { + create_component(sidebarsection.$$.fragment); + }, + l: function claim(nodes) { + claim_component(sidebarsection.$$.fragment, nodes); + }, + m: function mount(target, anchor) { + mount_component(sidebarsection, target, anchor); + current = true; + }, + p: function update2(ctx2, dirty) { + const sidebarsection_changes = {}; + if (dirty[0] & /*$selectedAstElement*/ + 1) + sidebarsection_changes.astNodes = /*$selectedAstElement*/ + ctx2[0].content; + if (dirty[0] & /*$selectedAstElement*/ + 1) + sidebarsection_changes.large = /*$selectedAstElement*/ + ctx2[0].tag === "eex"; + if (dirty[1] & /*$$scope*/ + 64) { + sidebarsection_changes.$$scope = { dirty, ctx: ctx2 }; + } + sidebarsection.$set(sidebarsection_changes); + }, + i: function intro(local) { + if (current) + return; + transition_in(sidebarsection.$$.fragment, local); + current = true; + }, + o: function outro(local) { + transition_out(sidebarsection.$$.fragment, local); + current = false; + }, + d: function destroy(detaching) { + destroy_component(sidebarsection, detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block_15.name, + type: "if", + source: "(172:8) {#if $selectedAstElement.content.length > 0}", + ctx + }); + return block; + } + function create_heading_slot_1(ctx) { + let t; + const block = { + c: function create3() { + t = text("Content"); + }, + l: function claim(nodes) { + t = claim_text(nodes, "Content"); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, t, anchor); + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(t); + } + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_heading_slot_1.name, + type: "slot", + source: '(178:12) ', + ctx + }); + return block; + } + function create_heading_slot(ctx) { + let t; + const block = { + c: function create3() { + t = text("Delete"); + }, + l: function claim(nodes) { + t = claim_text(nodes, "Delete"); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, t, anchor); + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(t); + } + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_heading_slot.name, + type: "slot", + source: '(184:8) ', + ctx + }); + return block; + } + function create_input_slot(ctx) { + let button; + let textContent = "Delete"; + let mounted; + let dispose; + const block = { + c: function create3() { + button = element("button"); + button.textContent = textContent; + this.h(); + }, + l: function claim(nodes) { + button = claim_element(nodes, "BUTTON", { + type: true, + class: true, + ["data-svelte-h"]: true + }); + if (get_svelte_dataset(button) !== "svelte-ncmta1") + button.textContent = textContent; + this.h(); + }, + h: function hydrate() { + attr_dev(button, "type", "button"); + attr_dev(button, "class", "bg-red-500 hover:bg-red-700 text-white font-bold py-2 px-4 rounded outline-dashed outline-2 w-full"); + add_location(button, file10, 171, 10, 7735); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, button, anchor); + if (!mounted) { + dispose = listen_dev( + button, + "click", + /*deleteComponent*/ + ctx[14], + false, + false, + false, + false + ); + mounted = true; + } + }, + p: noop2, + d: function destroy(detaching) { + if (detaching) { + detach_dev(button); + } + mounted = false; + dispose(); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_input_slot.name, + type: "slot", + source: '(185:8) ', + ctx + }); + return block; + } + function create_fragment10(ctx) { + let div1; + let div0; + let current_block_type_index; + let if_block; + let current; + const if_block_creators = [create_if_block6, create_else_block4]; + const if_blocks = []; + function select_block_type(ctx2, dirty) { + if ( + /*$selectedAstElement*/ + ctx2[0] + ) + return 0; + return 1; + } + current_block_type_index = select_block_type(ctx, [-1, -1]); + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx); + const block = { + c: function create3() { + div1 = element("div"); + div0 = element("div"); + if_block.c(); + this.h(); + }, + l: function claim(nodes) { + div1 = claim_element(nodes, "DIV", { class: true, "data-test-id": true }); + var div1_nodes = children(div1); + div0 = claim_element(div1_nodes, "DIV", { class: true }); + var div0_nodes = children(div0); + if_block.l(div0_nodes); + div0_nodes.forEach(detach_dev); + div1_nodes.forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + attr_dev(div0, "class", "sticky top-0"); + add_location(div0, file10, 111, 2, 5279); + attr_dev(div1, "class", "w-64 bg-white"); + attr_dev(div1, "data-test-id", "right-sidebar"); + add_location(div1, file10, 110, 0, 5220); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, div1, anchor); + append_hydration_dev(div1, div0); + if_blocks[current_block_type_index].m(div0, null); + current = true; + }, + p: function update2(ctx2, dirty) { + let previous_block_index = current_block_type_index; + current_block_type_index = select_block_type(ctx2, dirty); + if (current_block_type_index === previous_block_index) { + if_blocks[current_block_type_index].p(ctx2, dirty); + } else { + group_outros(); + transition_out(if_blocks[previous_block_index], 1, 1, () => { + if_blocks[previous_block_index] = null; + }); + check_outros(); + if_block = if_blocks[current_block_type_index]; + if (!if_block) { + if_block = if_blocks[current_block_type_index] = if_block_creators[current_block_type_index](ctx2); + if_block.c(); + } else { + if_block.p(ctx2, dirty); + } + transition_in(if_block, 1); + if_block.m(div0, null); + } + }, + i: function intro(local) { + if (current) + return; + transition_in(if_block); + current = true; + }, + o: function outro(local) { + transition_out(if_block); + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(div1); + } + if_blocks[current_block_type_index].d(); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_fragment10.name, + type: "component", + source: "", + ctx + }); + return block; + } + function instance10($$self, $$props, $$invalidate) { + let editableAttrs; + let sidebarTitle; + let isRootNode; + let attributesEditable; + let $page; + let $selectedAstElement; + let $selectedAstElementId; + let $draggedObject; + validate_store(page, "page"); + component_subscribe($$self, page, ($$value) => $$invalidate(25, $page = $$value)); + validate_store(selectedAstElement, "selectedAstElement"); + component_subscribe($$self, selectedAstElement, ($$value) => $$invalidate(0, $selectedAstElement = $$value)); + validate_store(selectedAstElementId, "selectedAstElementId"); + component_subscribe($$self, selectedAstElementId, ($$value) => $$invalidate(1, $selectedAstElementId = $$value)); + validate_store(draggedObject, "draggedObject"); + component_subscribe($$self, draggedObject, ($$value) => $$invalidate(8, $draggedObject = $$value)); + let { $$slots: slots = {}, $$scope } = $$props; + validate_slots("PropertiesSidebar", slots, []); + var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + var _a; + let { live } = $$props; + const dispatch2 = createEventDispatcher(); + let classList; + function addClass({ detail: newClass }) { + return __awaiter(this, void 0, void 0, function* () { + let node = $selectedAstElement; + if (node) { + node.attrs.class = node.attrs.class ? `${node.attrs.class} ${newClass}` : newClass; + live.pushEvent("update_page_ast", { id: $page.id, ast: $page.ast }); + } + }); + } + function parentNodeId() { + if ($selectedAstElementId) { + let parts = $selectedAstElementId.split("."); + if (parts.length === 1) + return "root"; + return parts.slice(0, -1).join("."); + } + } + function selectParentNode() { + let parentId = parentNodeId(); + if (parentId) { + set_store_value(selectedAstElementId, $selectedAstElementId = parentId, $selectedAstElementId); + } + } + function deleteClass(className) { + return __awaiter(this, void 0, void 0, function* () { + let node = $selectedAstElement; + if (node) { + let newClass = node.attrs.class.split(" ").filter((c) => c !== className).join(" "); + node.attrs.class = newClass; + live.pushEvent("update_page_ast", { id: $page.id, ast: $page.ast }); + } + }); + } + function updateText(e) { + return __awaiter(this, void 0, void 0, function* () { + let node = $selectedAstElement; + if (node && isAstElement(node)) { + node.content = [e.detail]; + live.pushEvent("update_page_ast", { id: $page.id, ast: $page.ast }); + } + }); + } + function updateAttribute(attrName, e) { + return __awaiter(this, void 0, void 0, function* () { + let node = $selectedAstElement; + if (node && isAstElement(node)) { + node.attrs[attrName] = e.detail; + live.pushEvent("update_page_ast", { id: $page.id, ast: $page.ast }); + } + }); + } + function deleteComponent() { + var _a2; + return __awaiter(this, void 0, void 0, function* () { + let node = $selectedAstElement; + if (!node) + return; + if (confirm("Are you sure you want to delete this component?")) { + let parentId = parentNodeId(); + let content = parentId && parentId !== "root" ? (_a2 = findAstElement($page.ast, parentId)) === null || _a2 === void 0 ? void 0 : _a2.content : $page.ast; + if (content) { + let targetIndex = content.indexOf(node); + content.splice(targetIndex, 1); + set_store_value(selectedAstElementId, $selectedAstElementId = void 0, $selectedAstElementId); + live.pushEvent("update_page_ast", { id: $page.id, ast: $page.ast }); + } + } + }); + } + function dropInside() { + dispatch2("droppedIntoTarget", $selectedAstElement); + } + let isDraggingOver = false; + function dragOver(e) { + e.preventDefault(); + $$invalidate(3, isDraggingOver = true); + if (e.dataTransfer) { + e.dataTransfer.dropEffect = "move"; + } + } + function changeNodes({ detail: nodes }) { + return __awaiter(this, void 0, void 0, function* () { + if ($selectedAstElementId === "root") { + let selectedElement = $page; + selectedElement.ast = nodes; + } else { + let selectedElement = $selectedAstElement; + if (!selectedElement) + return; + selectedElement.content = nodes; + } + live.pushEvent("update_page_ast", { id: $page.id, ast: $page.ast }); + }); + } + $$self.$$.on_mount.push(function() { + if (live === void 0 && !("live" in $$props || $$self.$$.bound[$$self.$$.props["live"]])) { + console.warn(" was created without expected prop 'live'"); + } + }); + const writable_props = ["live"]; + Object_1.keys($$props).forEach((key) => { + if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$" && key !== "slot") + console.warn(` was created with unknown prop '${key}'`); + }); + const click_handler = () => set_store_value(selectedAstElementId, $selectedAstElementId = void 0, $selectedAstElementId); + const delete_handler = (className) => deleteClass(className); + const textChange_handler = (name, e) => updateAttribute(name, e); + const dragleave_handler = () => $$invalidate(3, isDraggingOver = false); + const textChange_handler_1 = (e) => updateText(e); + $$self.$$set = ($$props2) => { + if ("live" in $$props2) + $$invalidate(18, live = $$props2.live); + }; + $$self.$capture_state = () => ({ + __awaiter, + _a, + Pill: Pill_default, + SidebarSection: SidebarSection_default, + createEventDispatcher, + draggedObject, + page, + selectedAstElement, + selectedAstElementId, + findAstElement, + isAstElement, + live, + dispatch: dispatch2, + classList, + addClass, + parentNodeId, + selectParentNode, + deleteClass, + updateText, + updateAttribute, + deleteComponent, + dropInside, + isDraggingOver, + dragOver, + changeNodes, + attributesEditable, + isRootNode, + sidebarTitle, + editableAttrs, + $page, + $selectedAstElement, + $selectedAstElementId, + $draggedObject + }); + $$self.$inject_state = ($$props2) => { + if ("__awaiter" in $$props2) + __awaiter = $$props2.__awaiter; + if ("_a" in $$props2) + $$invalidate(19, _a = $$props2._a); + if ("live" in $$props2) + $$invalidate(18, live = $$props2.live); + if ("classList" in $$props2) + $$invalidate(2, classList = $$props2.classList); + if ("isDraggingOver" in $$props2) + $$invalidate(3, isDraggingOver = $$props2.isDraggingOver); + if ("attributesEditable" in $$props2) + $$invalidate(4, attributesEditable = $$props2.attributesEditable); + if ("isRootNode" in $$props2) + $$invalidate(5, isRootNode = $$props2.isRootNode); + if ("sidebarTitle" in $$props2) + $$invalidate(6, sidebarTitle = $$props2.sidebarTitle); + if ("editableAttrs" in $$props2) + $$invalidate(7, editableAttrs = $$props2.editableAttrs); + }; + if ($$props && "$$inject" in $$props) { + $$self.$inject_state($$props.$$inject); + } + $$self.$$.update = () => { + if ($$self.$$.dirty[0] & /*$selectedAstElement, _a*/ + 524289) { + $: { + let classAttr = $$invalidate(19, _a = $selectedAstElement === null || $selectedAstElement === void 0 ? void 0 : $selectedAstElement.attrs) === null || _a === void 0 ? void 0 : _a.class; + $$invalidate(2, classList = classAttr ? classAttr.split(" ").filter((e) => e.trim().length > 0) : []); + } + } + if ($$self.$$.dirty[0] & /*$selectedAstElement*/ + 1) { + $: + $$invalidate(7, editableAttrs = Object.entries(($selectedAstElement === null || $selectedAstElement === void 0 ? void 0 : $selectedAstElement.attrs) || {}).filter(([k, _]) => k !== "class" && k !== "selfClose" && !/data-/.test(k))); + } + if ($$self.$$.dirty[0] & /*$selectedAstElement*/ + 1) { + $: + $$invalidate(6, sidebarTitle = $selectedAstElement === null || $selectedAstElement === void 0 ? void 0 : $selectedAstElement.tag); + } + if ($$self.$$.dirty[0] & /*$selectedAstElementId*/ + 2) { + $: + $$invalidate(5, isRootNode = !!$selectedAstElementId && $selectedAstElementId === "root"); + } + if ($$self.$$.dirty[0] & /*$selectedAstElement*/ + 1) { + $: + $$invalidate(4, attributesEditable = ($selectedAstElement === null || $selectedAstElement === void 0 ? void 0 : $selectedAstElement.tag) !== "eex"); + } + }; + return [ + $selectedAstElement, + $selectedAstElementId, + classList, + isDraggingOver, + attributesEditable, + isRootNode, + sidebarTitle, + editableAttrs, + $draggedObject, + addClass, + selectParentNode, + deleteClass, + updateText, + updateAttribute, + deleteComponent, + dropInside, + dragOver, + changeNodes, + live, + _a, + click_handler, + delete_handler, + textChange_handler, + dragleave_handler, + textChange_handler_1 + ]; + } + var PropertiesSidebar = class extends SvelteComponentDev { + constructor(options) { + super(options); + init2(this, options, instance10, create_fragment10, safe_not_equal, { live: 18 }, null, [-1, -1]); + dispatch_dev("SvelteRegisterComponent", { + component: this, + tagName: "PropertiesSidebar", + options, + id: create_fragment10.name + }); + } + get live() { + throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + } + set live(value) { + throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + } + }; + var PropertiesSidebar_default = PropertiesSidebar; + + // svelte/components/UiBuilder.svelte + var UiBuilder_exports = {}; + __export(UiBuilder_exports, { + default: () => UiBuilder_default + }); + var file11 = "svelte/components/UiBuilder.svelte"; + function create_fragment11(ctx) { + let backdrop; + let t0; + let div; + let componentssidebar; + let t1; + let pagepreview; + let t2; + let propertiessidebar; + let current; + backdrop = new Backdrop_default({ $$inline: true }); + componentssidebar = new ComponentsSidebar_default({ + props: { components: ( + /*components*/ + ctx[0] + ) }, + $$inline: true + }); + pagepreview = new PagePreview_default({ + props: { live: ( + /*live*/ + ctx[1] + ) }, + $$inline: true + }); + propertiessidebar = new PropertiesSidebar_default({ + props: { live: ( + /*live*/ + ctx[1] + ) }, + $$inline: true + }); + propertiessidebar.$on( + "droppedIntoTarget", + /*droppedIntoTarget_handler*/ + ctx[3] + ); + const block = { + c: function create3() { + create_component(backdrop.$$.fragment); + t0 = space(); + div = element("div"); + create_component(componentssidebar.$$.fragment); + t1 = space(); + create_component(pagepreview.$$.fragment); + t2 = space(); + create_component(propertiessidebar.$$.fragment); + this.h(); + }, + l: function claim(nodes) { + claim_component(backdrop.$$.fragment, nodes); + t0 = claim_space(nodes); + div = claim_element(nodes, "DIV", { class: true, "data-test-id": true }); + var div_nodes = children(div); + claim_component(componentssidebar.$$.fragment, div_nodes); + t1 = claim_space(div_nodes); + claim_component(pagepreview.$$.fragment, div_nodes); + t2 = claim_space(div_nodes); + claim_component(propertiessidebar.$$.fragment, div_nodes); + div_nodes.forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + attr_dev(div, "class", "flex min-h-screen bg-gray-100"); + attr_dev(div, "data-test-id", "app-container"); + add_location(div, file11, 18, 0, 464); + }, + m: function mount(target, anchor) { + mount_component(backdrop, target, anchor); + insert_hydration_dev(target, t0, anchor); + insert_hydration_dev(target, div, anchor); + mount_component(componentssidebar, div, null); + append_hydration_dev(div, t1); + mount_component(pagepreview, div, null); + append_hydration_dev(div, t2); + mount_component(propertiessidebar, div, null); + current = true; + }, + p: function update2(ctx2, [dirty]) { + const componentssidebar_changes = {}; + if (dirty & /*components*/ + 1) + componentssidebar_changes.components = /*components*/ + ctx2[0]; + componentssidebar.$set(componentssidebar_changes); + const pagepreview_changes = {}; + if (dirty & /*live*/ + 2) + pagepreview_changes.live = /*live*/ + ctx2[1]; + pagepreview.$set(pagepreview_changes); + const propertiessidebar_changes = {}; + if (dirty & /*live*/ + 2) + propertiessidebar_changes.live = /*live*/ + ctx2[1]; + propertiessidebar.$set(propertiessidebar_changes); + }, + i: function intro(local) { + if (current) + return; + transition_in(backdrop.$$.fragment, local); + transition_in(componentssidebar.$$.fragment, local); + transition_in(pagepreview.$$.fragment, local); + transition_in(propertiessidebar.$$.fragment, local); + current = true; + }, + o: function outro(local) { + transition_out(backdrop.$$.fragment, local); + transition_out(componentssidebar.$$.fragment, local); + transition_out(pagepreview.$$.fragment, local); + transition_out(propertiessidebar.$$.fragment, local); + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(t0); + detach_dev(div); + } + destroy_component(backdrop, detaching); + destroy_component(componentssidebar); + destroy_component(pagepreview); + destroy_component(propertiessidebar); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_fragment11.name, + type: "component", + source: "", + ctx + }); + return block; + } + function addBasicComponentToTarget(e) { + } + function instance11($$self, $$props, $$invalidate) { + let $pageStore; + validate_store(page, "pageStore"); + component_subscribe($$self, page, ($$value) => $$invalidate(4, $pageStore = $$value)); + let { $$slots: slots = {}, $$scope } = $$props; + validate_slots("UiBuilder", slots, []); + let { components } = $$props; + let { page: page2 } = $$props; + let { live } = $$props; + $$self.$$.on_mount.push(function() { + if (components === void 0 && !("components" in $$props || $$self.$$.bound[$$self.$$.props["components"]])) { + console.warn(" was created without expected prop 'components'"); + } + if (page2 === void 0 && !("page" in $$props || $$self.$$.bound[$$self.$$.props["page"]])) { + console.warn(" was created without expected prop 'page'"); + } + if (live === void 0 && !("live" in $$props || $$self.$$.bound[$$self.$$.props["live"]])) { + console.warn(" was created without expected prop 'live'"); + } + }); + const writable_props = ["components", "page", "live"]; + Object.keys($$props).forEach((key) => { + if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$" && key !== "slot") + console.warn(` was created with unknown prop '${key}'`); + }); + const droppedIntoTarget_handler = (e) => addBasicComponentToTarget(e.detail); + $$self.$$set = ($$props2) => { + if ("components" in $$props2) + $$invalidate(0, components = $$props2.components); + if ("page" in $$props2) + $$invalidate(2, page2 = $$props2.page); + if ("live" in $$props2) + $$invalidate(1, live = $$props2.live); + }; + $$self.$capture_state = () => ({ + ComponentsSidebar: ComponentsSidebar_default, + Backdrop: Backdrop_default, + PagePreview: PagePreview_default, + PropertiesSidebar: PropertiesSidebar_default, + pageStore: page, + components, + page: page2, + live, + addBasicComponentToTarget, + $pageStore + }); + $$self.$inject_state = ($$props2) => { + if ("components" in $$props2) + $$invalidate(0, components = $$props2.components); + if ("page" in $$props2) + $$invalidate(2, page2 = $$props2.page); + if ("live" in $$props2) + $$invalidate(1, live = $$props2.live); + }; + if ($$props && "$$inject" in $$props) { + $$self.$inject_state($$props.$$inject); + } + $$self.$$.update = () => { + if ($$self.$$.dirty & /*page*/ + 4) { + $: + set_store_value(page, $pageStore = page2, $pageStore); + } + }; + return [components, live, page2, droppedIntoTarget_handler]; + } + var UiBuilder = class extends SvelteComponentDev { + constructor(options) { + super(options); + init2(this, options, instance11, create_fragment11, safe_not_equal, { components: 0, page: 2, live: 1 }); + dispatch_dev("SvelteRegisterComponent", { + component: this, + tagName: "UiBuilder", + options, + id: create_fragment11.name + }); + } + get components() { + throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + } + set components(value) { + throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + } + get page() { + throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + } + set page(value) { + throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + } + get live() { + throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + } + set live(value) { + throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + } + }; + var UiBuilder_default = UiBuilder; + + // import-glob:../svelte/**/*.svelte + var modules = [Backdrop_exports, BrowserFrame_exports, CodeEditor_exports, ComponentsSidebar_exports, LayoutAstNode_exports, PageAstNode_exports, PagePreview_exports, Pill_exports, PropertiesSidebar_exports, SidebarSection_exports, UiBuilder_exports]; + var __default = modules; + var filenames = ["../svelte/components/Backdrop.svelte", "../svelte/components/BrowserFrame.svelte", "../svelte/components/CodeEditor.svelte", "../svelte/components/ComponentsSidebar.svelte", "../svelte/components/LayoutAstNode.svelte", "../svelte/components/PageAstNode.svelte", "../svelte/components/PagePreview.svelte", "../svelte/components/Pill.svelte", "../svelte/components/PropertiesSidebar.svelte", "../svelte/components/SidebarSection.svelte", "../svelte/components/UiBuilder.svelte"]; + + // js/beacon_live_admin.js + var Hooks = {}; + Hooks.CodeEditorHook = CodeEditorHook; + import_topbar.default.config({ barColors: { 0: "#29d" }, shadowColor: "rgba(0, 0, 0, .3)" }); + window.addEventListener("phx:page-loading-start", (_info) => import_topbar.default.show(300)); + window.addEventListener("phx:page-loading-stop", (_info) => import_topbar.default.hide()); + window.addEventListener("beacon_admin:clipcopy", (event) => { + const result_id = `${event.target.id}-copy-to-clipboard-result`; + const el = document.getElementById(result_id); + if ("clipboard" in navigator) { + if (event.target.tagName === "INPUT") { + txt = event.target.value; + } else { + txt = event.target.textContent; + } + navigator.clipboard.writeText(txt).then(() => { + el.innerText = "Copied to clipboard"; + el.classList.remove("invisible", "text-red-500", "opacity-0"); + el.classList.add("text-green-500", "opacity-100", "-translate-y-2"); + setTimeout(function() { + el.classList.remove("text-green-500", "opacity-100", "-translate-y-2"); + el.classList.add("invisible", "text-red-500", "opacity-0"); + }, 2e3); + }).catch(() => { + el.innerText = "Could not copy"; + el.classList.remove("invisible", "text-green-500", "opacity-0"); + el.classList.add("text-red-500", "opacity-100", "-translate-y-2"); + }); + } else { + alert("Sorry, your browser does not support clipboard copy."); + } }); var socketPath = document.querySelector("html").getAttribute("phx-socket") || "/live"; var csrfToken = document.querySelector("meta[name='csrf-token']").getAttribute("content"); var liveSocket = new LiveView.LiveSocket(socketPath, Phoenix.Socket, { - hooks: Hooks, + hooks: { ...getHooks(__exports), ...Hooks }, params: { _csrf_token: csrfToken } }); liveSocket.connect(); @@ -940,4 +11397,4 @@ var BeaconLiveAdmin = (() => { * https://buunguyen.github.io/topbar * Copyright (c) 2021 Buu Nguyen */ -//# sourceMappingURL=beacon_live_admin.js.map +//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vYXNzZXRzL3ZlbmRvci90b3BiYXIuanMiLCAiLi4vLi4vYXNzZXRzL2pzL2JlYWNvbl9saXZlX2FkbWluLmpzIiwgIi4uLy4uL2RlcHMvbGl2ZV9tb25hY29fZWRpdG9yL2Fzc2V0cy9ub2RlX21vZHVsZXMvQG1vbmFjby1lZGl0b3IvbG9hZGVyL2xpYi9lcy9fdmlydHVhbC9fcm9sbHVwUGx1Z2luQmFiZWxIZWxwZXJzLmpzIiwgIi4uLy4uL2RlcHMvbGl2ZV9tb25hY29fZWRpdG9yL2Fzc2V0cy9ub2RlX21vZHVsZXMvc3RhdGUtbG9jYWwvbGliL2VzL3N0YXRlLWxvY2FsLmpzIiwgIi4uLy4uL2RlcHMvbGl2ZV9tb25hY29fZWRpdG9yL2Fzc2V0cy9ub2RlX21vZHVsZXMvQG1vbmFjby1lZGl0b3IvbG9hZGVyL2xpYi9lcy9jb25maWcvaW5kZXguanMiLCAiLi4vLi4vZGVwcy9saXZlX21vbmFjb19lZGl0b3IvYXNzZXRzL25vZGVfbW9kdWxlcy9AbW9uYWNvLWVkaXRvci9sb2FkZXIvbGliL2VzL3V0aWxzL2N1cnJ5LmpzIiwgIi4uLy4uL2RlcHMvbGl2ZV9tb25hY29fZWRpdG9yL2Fzc2V0cy9ub2RlX21vZHVsZXMvQG1vbmFjby1lZGl0b3IvbG9hZGVyL2xpYi9lcy91dGlscy9pc09iamVjdC5qcyIsICIuLi8uLi9kZXBzL2xpdmVfbW9uYWNvX2VkaXRvci9hc3NldHMvbm9kZV9tb2R1bGVzL0Btb25hY28tZWRpdG9yL2xvYWRlci9saWIvZXMvdmFsaWRhdG9ycy9pbmRleC5qcyIsICIuLi8uLi9kZXBzL2xpdmVfbW9uYWNvX2VkaXRvci9hc3NldHMvbm9kZV9tb2R1bGVzL0Btb25hY28tZWRpdG9yL2xvYWRlci9saWIvZXMvdXRpbHMvY29tcG9zZS5qcyIsICIuLi8uLi9kZXBzL2xpdmVfbW9uYWNvX2VkaXRvci9hc3NldHMvbm9kZV9tb2R1bGVzL0Btb25hY28tZWRpdG9yL2xvYWRlci9saWIvZXMvdXRpbHMvZGVlcE1lcmdlLmpzIiwgIi4uLy4uL2RlcHMvbGl2ZV9tb25hY29fZWRpdG9yL2Fzc2V0cy9ub2RlX21vZHVsZXMvQG1vbmFjby1lZGl0b3IvbG9hZGVyL2xpYi9lcy91dGlscy9tYWtlQ2FuY2VsYWJsZS5qcyIsICIuLi8uLi9kZXBzL2xpdmVfbW9uYWNvX2VkaXRvci9hc3NldHMvbm9kZV9tb2R1bGVzL0Btb25hY28tZWRpdG9yL2xvYWRlci9saWIvZXMvbG9hZGVyL2luZGV4LmpzIiwgIi4uLy4uL2RlcHMvbGl2ZV9tb25hY29fZWRpdG9yL2Fzc2V0cy9qcy9saXZlX21vbmFjb19lZGl0b3IvZWRpdG9yL3RoZW1lcy5qcyIsICIuLi8uLi9kZXBzL2xpdmVfbW9uYWNvX2VkaXRvci9hc3NldHMvanMvbGl2ZV9tb25hY29fZWRpdG9yL2VkaXRvci9jb2RlX2VkaXRvci5qcyIsICIuLi8uLi9kZXBzL2xpdmVfbW9uYWNvX2VkaXRvci9hc3NldHMvanMvbGl2ZV9tb25hY29fZWRpdG9yL2hvb2tzL2NvZGVfZWRpdG9yLmpzIiwgIi4uLy4uL2RlcHMvbGl2ZV9zdmVsdGUvYXNzZXRzL2pzL2xpdmVfc3ZlbHRlL3V0aWxzLmpzIiwgIi4uLy4uL2RlcHMvbGl2ZV9zdmVsdGUvYXNzZXRzL2pzL2xpdmVfc3ZlbHRlL3JlbmRlci5qcyIsICIuLi8uLi9kZXBzL2xpdmVfc3ZlbHRlL2Fzc2V0cy9qcy9saXZlX3N2ZWx0ZS9ob29rcy5qcyIsICJpbXBvcnQtZ2xvYjouLi9zdmVsdGUvKiovKi5zdmVsdGUiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9zdmVsdGUvc3JjL3J1bnRpbWUvaW50ZXJuYWwvdXRpbHMuanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9zdmVsdGUvc3JjL3J1bnRpbWUvaW50ZXJuYWwvZW52aXJvbm1lbnQuanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9zdmVsdGUvc3JjL3J1bnRpbWUvaW50ZXJuYWwvbG9vcC5qcyIsICIuLi8uLi9hc3NldHMvbm9kZV9tb2R1bGVzL3N2ZWx0ZS9zcmMvcnVudGltZS9pbnRlcm5hbC9nbG9iYWxzLmpzIiwgIi4uLy4uL2Fzc2V0cy9ub2RlX21vZHVsZXMvc3ZlbHRlL3NyYy9ydW50aW1lL2ludGVybmFsL1Jlc2l6ZU9ic2VydmVyU2luZ2xldG9uLmpzIiwgIi4uLy4uL2Fzc2V0cy9ub2RlX21vZHVsZXMvc3ZlbHRlL3NyYy9ydW50aW1lL2ludGVybmFsL2RvbS5qcyIsICIuLi8uLi9hc3NldHMvbm9kZV9tb2R1bGVzL3N2ZWx0ZS9zcmMvcnVudGltZS9pbnRlcm5hbC9zdHlsZV9tYW5hZ2VyLmpzIiwgIi4uLy4uL2Fzc2V0cy9ub2RlX21vZHVsZXMvc3ZlbHRlL3NyYy9ydW50aW1lL2ludGVybmFsL2xpZmVjeWNsZS5qcyIsICIuLi8uLi9hc3NldHMvbm9kZV9tb2R1bGVzL3N2ZWx0ZS9zcmMvcnVudGltZS9pbnRlcm5hbC9zY2hlZHVsZXIuanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9zdmVsdGUvc3JjL3J1bnRpbWUvaW50ZXJuYWwvdHJhbnNpdGlvbnMuanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9zdmVsdGUvc3JjL3J1bnRpbWUvaW50ZXJuYWwvZWFjaC5qcyIsICIuLi8uLi9hc3NldHMvbm9kZV9tb2R1bGVzL3N2ZWx0ZS9zcmMvcnVudGltZS9pbnRlcm5hbC9zcHJlYWQuanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9zdmVsdGUvc3JjL3NoYXJlZC9ib29sZWFuX2F0dHJpYnV0ZXMuanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9zdmVsdGUvc3JjL3NoYXJlZC91dGlscy9uYW1lcy5qcyIsICIuLi8uLi9hc3NldHMvbm9kZV9tb2R1bGVzL3N2ZWx0ZS9zcmMvcnVudGltZS9pbnRlcm5hbC9Db21wb25lbnQuanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9zdmVsdGUvc3JjL3NoYXJlZC92ZXJzaW9uLmpzIiwgIi4uLy4uL2Fzc2V0cy9ub2RlX21vZHVsZXMvc3ZlbHRlL3NyYy9ydW50aW1lL2ludGVybmFsL2Rldi5qcyIsICIuLi8uLi9hc3NldHMvbm9kZV9tb2R1bGVzL3N2ZWx0ZS9zcmMvcnVudGltZS9pbnRlcm5hbC9kaXNjbG9zZS12ZXJzaW9uL2luZGV4LmpzIiwgIi4uLy4uL2Fzc2V0cy9ub2RlX21vZHVsZXMvc3ZlbHRlL3NyYy9ydW50aW1lL3RyYW5zaXRpb24vaW5kZXguanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9zdmVsdGUvc3JjL3J1bnRpbWUvc3RvcmUvaW5kZXguanMiLCAiLi4vLi4vYXNzZXRzL3N2ZWx0ZS9jb21wb25lbnRzL0JhY2tkcm9wLnN2ZWx0ZSIsICIuLi8uLi9hc3NldHMvc3ZlbHRlL2NvbXBvbmVudHMvQnJvd3NlckZyYW1lLnN2ZWx0ZSIsICIuLi8uLi9hc3NldHMvbm9kZV9tb2R1bGVzL0Btb25hY28tZWRpdG9yL2xvYWRlci9saWIvZXMvX3ZpcnR1YWwvX3JvbGx1cFBsdWdpbkJhYmVsSGVscGVycy5qcyIsICIuLi8uLi9hc3NldHMvbm9kZV9tb2R1bGVzL3N0YXRlLWxvY2FsL2xpYi9lcy9zdGF0ZS1sb2NhbC5qcyIsICIuLi8uLi9hc3NldHMvbm9kZV9tb2R1bGVzL0Btb25hY28tZWRpdG9yL2xvYWRlci9saWIvZXMvY29uZmlnL2luZGV4LmpzIiwgIi4uLy4uL2Fzc2V0cy9ub2RlX21vZHVsZXMvQG1vbmFjby1lZGl0b3IvbG9hZGVyL2xpYi9lcy91dGlscy9jdXJyeS5qcyIsICIuLi8uLi9hc3NldHMvbm9kZV9tb2R1bGVzL0Btb25hY28tZWRpdG9yL2xvYWRlci9saWIvZXMvdXRpbHMvaXNPYmplY3QuanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9AbW9uYWNvLWVkaXRvci9sb2FkZXIvbGliL2VzL3ZhbGlkYXRvcnMvaW5kZXguanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9AbW9uYWNvLWVkaXRvci9sb2FkZXIvbGliL2VzL3V0aWxzL2NvbXBvc2UuanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9AbW9uYWNvLWVkaXRvci9sb2FkZXIvbGliL2VzL3V0aWxzL2RlZXBNZXJnZS5qcyIsICIuLi8uLi9hc3NldHMvbm9kZV9tb2R1bGVzL0Btb25hY28tZWRpdG9yL2xvYWRlci9saWIvZXMvdXRpbHMvbWFrZUNhbmNlbGFibGUuanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9AbW9uYWNvLWVkaXRvci9sb2FkZXIvbGliL2VzL2xvYWRlci9pbmRleC5qcyIsICIuLi8uLi9hc3NldHMvc3ZlbHRlL2NvbXBvbmVudHMvQ29kZUVkaXRvci5zdmVsdGUiLCAiLi4vLi4vYXNzZXRzL3N2ZWx0ZS91dGlscy9hbmltYXRpb25zLnRzIiwgIi4uLy4uL2Fzc2V0cy9zdmVsdGUvc3RvcmVzL2N1cnJlbnRDb21wb25lbnRDYXRlZ29yeS50cyIsICIuLi8uLi9hc3NldHMvc3ZlbHRlL3N0b3Jlcy9kcmFnQW5kRHJvcC50cyIsICIuLi8uLi9hc3NldHMvc3ZlbHRlL2NvbXBvbmVudHMvQ29tcG9uZW50c1NpZGViYXIuc3ZlbHRlIiwgIi4uLy4uL2Fzc2V0cy9zdmVsdGUvc3RvcmVzL3BhZ2UudHMiLCAiLi4vLi4vYXNzZXRzL3N2ZWx0ZS9jb21wb25lbnRzL0xheW91dEFzdE5vZGUuc3ZlbHRlIiwgIi4uLy4uL2Fzc2V0cy9zdmVsdGUvY29tcG9uZW50cy9QYWdlQXN0Tm9kZS5zdmVsdGUiLCAiLi4vLi4vYXNzZXRzL3N2ZWx0ZS9jb21wb25lbnRzL1BhZ2VQcmV2aWV3LnN2ZWx0ZSIsICIuLi8uLi9hc3NldHMvc3ZlbHRlL2NvbXBvbmVudHMvUGlsbC5zdmVsdGUiLCAiLi4vLi4vYXNzZXRzL3N2ZWx0ZS9jb21wb25lbnRzL1NpZGViYXJTZWN0aW9uLnN2ZWx0ZSIsICIuLi8uLi9hc3NldHMvc3ZlbHRlL2NvbXBvbmVudHMvUHJvcGVydGllc1NpZGViYXIuc3ZlbHRlIiwgIi4uLy4uL2Fzc2V0cy9zdmVsdGUvY29tcG9uZW50cy9VaUJ1aWxkZXIuc3ZlbHRlIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBsaWNlbnNlIE1JVFxuICogdG9wYmFyIDIuMC4wLCAyMDIzLTAyLTA0XG4gKiBodHRwczovL2J1dW5ndXllbi5naXRodWIuaW8vdG9wYmFyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjEgQnV1IE5ndXllblxuICovXG4oZnVuY3Rpb24gKHdpbmRvdywgZG9jdW1lbnQpIHtcbiAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgLy8gaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vcGF1bGlyaXNoLzE1Nzk2NzFcbiAgKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgbGFzdFRpbWUgPSAwO1xuICAgIHZhciB2ZW5kb3JzID0gW1wibXNcIiwgXCJtb3pcIiwgXCJ3ZWJraXRcIiwgXCJvXCJdO1xuICAgIGZvciAodmFyIHggPSAwOyB4IDwgdmVuZG9ycy5sZW5ndGggJiYgIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU7ICsreCkge1xuICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSA9XG4gICAgICAgIHdpbmRvd1t2ZW5kb3JzW3hdICsgXCJSZXF1ZXN0QW5pbWF0aW9uRnJhbWVcIl07XG4gICAgICB3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUgPVxuICAgICAgICB3aW5kb3dbdmVuZG9yc1t4XSArIFwiQ2FuY2VsQW5pbWF0aW9uRnJhbWVcIl0gfHxcbiAgICAgICAgd2luZG93W3ZlbmRvcnNbeF0gKyBcIkNhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZVwiXTtcbiAgICB9XG4gICAgaWYgKCF3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKVxuICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSA9IGZ1bmN0aW9uIChjYWxsYmFjaywgZWxlbWVudCkge1xuICAgICAgICB2YXIgY3VyclRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgdmFyIHRpbWVUb0NhbGwgPSBNYXRoLm1heCgwLCAxNiAtIChjdXJyVGltZSAtIGxhc3RUaW1lKSk7XG4gICAgICAgIHZhciBpZCA9IHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBjYWxsYmFjayhjdXJyVGltZSArIHRpbWVUb0NhbGwpO1xuICAgICAgICB9LCB0aW1lVG9DYWxsKTtcbiAgICAgICAgbGFzdFRpbWUgPSBjdXJyVGltZSArIHRpbWVUb0NhbGw7XG4gICAgICAgIHJldHVybiBpZDtcbiAgICAgIH07XG4gICAgaWYgKCF3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUpXG4gICAgICB3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUgPSBmdW5jdGlvbiAoaWQpIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KGlkKTtcbiAgICAgIH07XG4gIH0pKCk7XG5cbiAgdmFyIGNhbnZhcyxcbiAgICBjdXJyZW50UHJvZ3Jlc3MsXG4gICAgc2hvd2luZyxcbiAgICBwcm9ncmVzc1RpbWVySWQgPSBudWxsLFxuICAgIGZhZGVUaW1lcklkID0gbnVsbCxcbiAgICBkZWxheVRpbWVySWQgPSBudWxsLFxuICAgIGFkZEV2ZW50ID0gZnVuY3Rpb24gKGVsZW0sIHR5cGUsIGhhbmRsZXIpIHtcbiAgICAgIGlmIChlbGVtLmFkZEV2ZW50TGlzdGVuZXIpIGVsZW0uYWRkRXZlbnRMaXN0ZW5lcih0eXBlLCBoYW5kbGVyLCBmYWxzZSk7XG4gICAgICBlbHNlIGlmIChlbGVtLmF0dGFjaEV2ZW50KSBlbGVtLmF0dGFjaEV2ZW50KFwib25cIiArIHR5cGUsIGhhbmRsZXIpO1xuICAgICAgZWxzZSBlbGVtW1wib25cIiArIHR5cGVdID0gaGFuZGxlcjtcbiAgICB9LFxuICAgIG9wdGlvbnMgPSB7XG4gICAgICBhdXRvUnVuOiB0cnVlLFxuICAgICAgYmFyVGhpY2tuZXNzOiAzLFxuICAgICAgYmFyQ29sb3JzOiB7XG4gICAgICAgIDA6IFwicmdiYSgyNiwgIDE4OCwgMTU2LCAuOSlcIixcbiAgICAgICAgXCIuMjVcIjogXCJyZ2JhKDUyLCAgMTUyLCAyMTksIC45KVwiLFxuICAgICAgICBcIi41MFwiOiBcInJnYmEoMjQxLCAxOTYsIDE1LCAgLjkpXCIsXG4gICAgICAgIFwiLjc1XCI6IFwicmdiYSgyMzAsIDEyNiwgMzQsICAuOSlcIixcbiAgICAgICAgXCIxLjBcIjogXCJyZ2JhKDIxMSwgODQsICAwLCAgIC45KVwiLFxuICAgICAgfSxcbiAgICAgIHNoYWRvd0JsdXI6IDEwLFxuICAgICAgc2hhZG93Q29sb3I6IFwicmdiYSgwLCAgIDAsICAgMCwgICAuNilcIixcbiAgICAgIGNsYXNzTmFtZTogbnVsbCxcbiAgICB9LFxuICAgIHJlcGFpbnQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBjYW52YXMud2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICAgIGNhbnZhcy5oZWlnaHQgPSBvcHRpb25zLmJhclRoaWNrbmVzcyAqIDU7IC8vIG5lZWQgc3BhY2UgZm9yIHNoYWRvd1xuXG4gICAgICB2YXIgY3R4ID0gY2FudmFzLmdldENvbnRleHQoXCIyZFwiKTtcbiAgICAgIGN0eC5zaGFkb3dCbHVyID0gb3B0aW9ucy5zaGFkb3dCbHVyO1xuICAgICAgY3R4LnNoYWRvd0NvbG9yID0gb3B0aW9ucy5zaGFkb3dDb2xvcjtcblxuICAgICAgdmFyIGxpbmVHcmFkaWVudCA9IGN0eC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCAwLCBjYW52YXMud2lkdGgsIDApO1xuICAgICAgZm9yICh2YXIgc3RvcCBpbiBvcHRpb25zLmJhckNvbG9ycylcbiAgICAgICAgbGluZUdyYWRpZW50LmFkZENvbG9yU3RvcChzdG9wLCBvcHRpb25zLmJhckNvbG9yc1tzdG9wXSk7XG4gICAgICBjdHgubGluZVdpZHRoID0gb3B0aW9ucy5iYXJUaGlja25lc3M7XG4gICAgICBjdHguYmVnaW5QYXRoKCk7XG4gICAgICBjdHgubW92ZVRvKDAsIG9wdGlvbnMuYmFyVGhpY2tuZXNzIC8gMik7XG4gICAgICBjdHgubGluZVRvKFxuICAgICAgICBNYXRoLmNlaWwoY3VycmVudFByb2dyZXNzICogY2FudmFzLndpZHRoKSxcbiAgICAgICAgb3B0aW9ucy5iYXJUaGlja25lc3MgLyAyXG4gICAgICApO1xuICAgICAgY3R4LnN0cm9rZVN0eWxlID0gbGluZUdyYWRpZW50O1xuICAgICAgY3R4LnN0cm9rZSgpO1xuICAgIH0sXG4gICAgY3JlYXRlQ2FudmFzID0gZnVuY3Rpb24gKCkge1xuICAgICAgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImNhbnZhc1wiKTtcbiAgICAgIHZhciBzdHlsZSA9IGNhbnZhcy5zdHlsZTtcbiAgICAgIHN0eWxlLnBvc2l0aW9uID0gXCJmaXhlZFwiO1xuICAgICAgc3R5bGUudG9wID0gc3R5bGUubGVmdCA9IHN0eWxlLnJpZ2h0ID0gc3R5bGUubWFyZ2luID0gc3R5bGUucGFkZGluZyA9IDA7XG4gICAgICBzdHlsZS56SW5kZXggPSAxMDAwMDE7XG4gICAgICBzdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7XG4gICAgICBpZiAob3B0aW9ucy5jbGFzc05hbWUpIGNhbnZhcy5jbGFzc0xpc3QuYWRkKG9wdGlvbnMuY2xhc3NOYW1lKTtcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY2FudmFzKTtcbiAgICAgIGFkZEV2ZW50KHdpbmRvdywgXCJyZXNpemVcIiwgcmVwYWludCk7XG4gICAgfSxcbiAgICB0b3BiYXIgPSB7XG4gICAgICBjb25maWc6IGZ1bmN0aW9uIChvcHRzKSB7XG4gICAgICAgIGZvciAodmFyIGtleSBpbiBvcHRzKVxuICAgICAgICAgIGlmIChvcHRpb25zLmhhc093blByb3BlcnR5KGtleSkpIG9wdGlvbnNba2V5XSA9IG9wdHNba2V5XTtcbiAgICAgIH0sXG4gICAgICBzaG93OiBmdW5jdGlvbiAoZGVsYXkpIHtcbiAgICAgICAgaWYgKHNob3dpbmcpIHJldHVybjtcbiAgICAgICAgaWYgKGRlbGF5KSB7XG4gICAgICAgICAgaWYgKGRlbGF5VGltZXJJZCkgcmV0dXJuO1xuICAgICAgICAgIGRlbGF5VGltZXJJZCA9IHNldFRpbWVvdXQoKCkgPT4gdG9wYmFyLnNob3coKSwgZGVsYXkpO1xuICAgICAgICB9IGVsc2UgIHtcbiAgICAgICAgICBzaG93aW5nID0gdHJ1ZTtcbiAgICAgICAgICBpZiAoZmFkZVRpbWVySWQgIT09IG51bGwpIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZShmYWRlVGltZXJJZCk7XG4gICAgICAgICAgaWYgKCFjYW52YXMpIGNyZWF0ZUNhbnZhcygpO1xuICAgICAgICAgIGNhbnZhcy5zdHlsZS5vcGFjaXR5ID0gMTtcbiAgICAgICAgICBjYW52YXMuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIjtcbiAgICAgICAgICB0b3BiYXIucHJvZ3Jlc3MoMCk7XG4gICAgICAgICAgaWYgKG9wdGlvbnMuYXV0b1J1bikge1xuICAgICAgICAgICAgKGZ1bmN0aW9uIGxvb3AoKSB7XG4gICAgICAgICAgICAgIHByb2dyZXNzVGltZXJJZCA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUobG9vcCk7XG4gICAgICAgICAgICAgIHRvcGJhci5wcm9ncmVzcyhcbiAgICAgICAgICAgICAgICBcIitcIiArIDAuMDUgKiBNYXRoLnBvdygxIC0gTWF0aC5zcXJ0KGN1cnJlbnRQcm9ncmVzcyksIDIpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHByb2dyZXNzOiBmdW5jdGlvbiAodG8pIHtcbiAgICAgICAgaWYgKHR5cGVvZiB0byA9PT0gXCJ1bmRlZmluZWRcIikgcmV0dXJuIGN1cnJlbnRQcm9ncmVzcztcbiAgICAgICAgaWYgKHR5cGVvZiB0byA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgIHRvID1cbiAgICAgICAgICAgICh0by5pbmRleE9mKFwiK1wiKSA+PSAwIHx8IHRvLmluZGV4T2YoXCItXCIpID49IDBcbiAgICAgICAgICAgICAgPyBjdXJyZW50UHJvZ3Jlc3NcbiAgICAgICAgICAgICAgOiAwKSArIHBhcnNlRmxvYXQodG8pO1xuICAgICAgICB9XG4gICAgICAgIGN1cnJlbnRQcm9ncmVzcyA9IHRvID4gMSA/IDEgOiB0bztcbiAgICAgICAgcmVwYWludCgpO1xuICAgICAgICByZXR1cm4gY3VycmVudFByb2dyZXNzO1xuICAgICAgfSxcbiAgICAgIGhpZGU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KGRlbGF5VGltZXJJZCk7XG4gICAgICAgIGRlbGF5VGltZXJJZCA9IG51bGw7XG4gICAgICAgIGlmICghc2hvd2luZykgcmV0dXJuO1xuICAgICAgICBzaG93aW5nID0gZmFsc2U7XG4gICAgICAgIGlmIChwcm9ncmVzc1RpbWVySWQgIT0gbnVsbCkge1xuICAgICAgICAgIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZShwcm9ncmVzc1RpbWVySWQpO1xuICAgICAgICAgIHByb2dyZXNzVGltZXJJZCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgKGZ1bmN0aW9uIGxvb3AoKSB7XG4gICAgICAgICAgaWYgKHRvcGJhci5wcm9ncmVzcyhcIisuMVwiKSA+PSAxKSB7XG4gICAgICAgICAgICBjYW52YXMuc3R5bGUub3BhY2l0eSAtPSAwLjA1O1xuICAgICAgICAgICAgaWYgKGNhbnZhcy5zdHlsZS5vcGFjaXR5IDw9IDAuMDUpIHtcbiAgICAgICAgICAgICAgY2FudmFzLnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcbiAgICAgICAgICAgICAgZmFkZVRpbWVySWQgPSBudWxsO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGZhZGVUaW1lcklkID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShsb29wKTtcbiAgICAgICAgfSkoKTtcbiAgICAgIH0sXG4gICAgfTtcblxuICBpZiAodHlwZW9mIG1vZHVsZSA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlLmV4cG9ydHMgPT09IFwib2JqZWN0XCIpIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IHRvcGJhcjtcbiAgfSBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09PSBcImZ1bmN0aW9uXCIgJiYgZGVmaW5lLmFtZCkge1xuICAgIGRlZmluZShmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gdG9wYmFyO1xuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIHRoaXMudG9wYmFyID0gdG9wYmFyO1xuICB9XG59LmNhbGwodGhpcywgd2luZG93LCBkb2N1bWVudCkpO1xuIiwgImltcG9ydCB0b3BiYXIgZnJvbSBcIi4uL3ZlbmRvci90b3BiYXJcIlxuaW1wb3J0IHsgQ29kZUVkaXRvckhvb2sgfSBmcm9tIFwiLi4vLi4vZGVwcy9saXZlX21vbmFjb19lZGl0b3IvcHJpdi9zdGF0aWMvbGl2ZV9tb25hY29fZWRpdG9yLmVzbVwiXG5pbXBvcnQgeyBnZXRIb29rcyB9IGZyb20gXCJsaXZlX3N2ZWx0ZVwiXG5pbXBvcnQgKiBhcyBDb21wb25lbnRzIGZyb20gXCIuLi9zdmVsdGUvKiovKi5zdmVsdGVcIlxubGV0IEhvb2tzID0ge31cbkhvb2tzLkNvZGVFZGl0b3JIb29rID0gQ29kZUVkaXRvckhvb2tcbnRvcGJhci5jb25maWcoeyBiYXJDb2xvcnM6IHsgMDogXCIjMjlkXCIgfSwgc2hhZG93Q29sb3I6IFwicmdiYSgwLCAwLCAwLCAuMylcIiB9KVxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJwaHg6cGFnZS1sb2FkaW5nLXN0YXJ0XCIsIChfaW5mbykgPT4gdG9wYmFyLnNob3coMzAwKSlcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicGh4OnBhZ2UtbG9hZGluZy1zdG9wXCIsIChfaW5mbykgPT4gdG9wYmFyLmhpZGUoKSlcblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJsbWU6ZWRpdG9yX21vdW50ZWRcIiwgKGV2KSA9PiB7XG4gIGNvbnN0IGhvb2sgPSBldi5kZXRhaWwuaG9va1xuICBjb25zdCBlZGl0b3IgPSBldi5kZXRhaWwuZWRpdG9yLnN0YW5kYWxvbmVfY29kZV9lZGl0b3JcbiAgY29uc3QgZXZlbnROYW1lID0gZXYuZGV0YWlsLmVkaXRvci5wYXRoICsgXCJfZWRpdG9yX2xvc3RfZm9jdXNcIlxuXG4gIGVkaXRvci5vbkRpZEJsdXJFZGl0b3JXaWRnZXQoKCkgPT4ge1xuICAgIGhvb2sucHVzaEV2ZW50KGV2ZW50TmFtZSwgeyB2YWx1ZTogZWRpdG9yLmdldFZhbHVlKCkgfSlcbiAgfSlcbn0pXG5cbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiYmVhY29uX2FkbWluOmNsaXBjb3B5XCIsIChldmVudCkgPT4ge1xuICBjb25zdCByZXN1bHRfaWQgPSBgJHtldmVudC50YXJnZXQuaWR9LWNvcHktdG8tY2xpcGJvYXJkLXJlc3VsdGBcbiAgY29uc3QgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChyZXN1bHRfaWQpXG5cbiAgaWYgKFwiY2xpcGJvYXJkXCIgaW4gbmF2aWdhdG9yKSB7XG4gICAgaWYgKGV2ZW50LnRhcmdldC50YWdOYW1lID09PSBcIklOUFVUXCIpIHtcbiAgICAgIHR4dCA9IGV2ZW50LnRhcmdldC52YWx1ZVxuICAgIH0gZWxzZSB7XG4gICAgICB0eHQgPSBldmVudC50YXJnZXQudGV4dENvbnRlbnRcbiAgICB9XG5cbiAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkXG4gICAgICAud3JpdGVUZXh0KHR4dClcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgZWwuaW5uZXJUZXh0ID0gXCJDb3BpZWQgdG8gY2xpcGJvYXJkXCJcbiAgICAgICAgLy8gTWFrZSBpdCB2aXNpYmxlXG4gICAgICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUoXCJpbnZpc2libGVcIiwgXCJ0ZXh0LXJlZC01MDBcIiwgXCJvcGFjaXR5LTBcIilcbiAgICAgICAgLy8gRmFkZSBpbiBhbmQgdHJhbnNsYXRlIHVwd2FyZHNcbiAgICAgICAgZWwuY2xhc3NMaXN0LmFkZChcInRleHQtZ3JlZW4tNTAwXCIsIFwib3BhY2l0eS0xMDBcIiwgXCItdHJhbnNsYXRlLXktMlwiKVxuXG4gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUoXCJ0ZXh0LWdyZWVuLTUwMFwiLCBcIm9wYWNpdHktMTAwXCIsIFwiLXRyYW5zbGF0ZS15LTJcIilcbiAgICAgICAgICBlbC5jbGFzc0xpc3QuYWRkKFwiaW52aXNpYmxlXCIsIFwidGV4dC1yZWQtNTAwXCIsIFwib3BhY2l0eS0wXCIpXG4gICAgICAgIH0sIDIwMDApXG4gICAgICB9KVxuICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgZWwuaW5uZXJUZXh0ID0gXCJDb3VsZCBub3QgY29weVwiXG4gICAgICAgIC8vIE1ha2UgaXQgdmlzaWJsZVxuICAgICAgICBlbC5jbGFzc0xpc3QucmVtb3ZlKFwiaW52aXNpYmxlXCIsIFwidGV4dC1ncmVlbi01MDBcIiwgXCJvcGFjaXR5LTBcIilcbiAgICAgICAgLy8gRmFkZSBpbiBhbmQgdHJhbnNsYXRlIHVwd2FyZHNcbiAgICAgICAgZWwuY2xhc3NMaXN0LmFkZChcInRleHQtcmVkLTUwMFwiLCBcIm9wYWNpdHktMTAwXCIsIFwiLXRyYW5zbGF0ZS15LTJcIilcbiAgICAgIH0pXG4gIH0gZWxzZSB7XG4gICAgYWxlcnQoXCJTb3JyeSwgeW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgY2xpcGJvYXJkIGNvcHkuXCIpXG4gIH1cbn0pXG5cbmxldCBzb2NrZXRQYXRoID1cbiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcImh0bWxcIikuZ2V0QXR0cmlidXRlKFwicGh4LXNvY2tldFwiKSB8fCBcIi9saXZlXCJcbmxldCBjc3JmVG9rZW4gPSBkb2N1bWVudFxuICAucXVlcnlTZWxlY3RvcihcIm1ldGFbbmFtZT0nY3NyZi10b2tlbiddXCIpXG4gIC5nZXRBdHRyaWJ1dGUoXCJjb250ZW50XCIpXG5sZXQgbGl2ZVNvY2tldCA9IG5ldyBMaXZlVmlldy5MaXZlU29ja2V0KHNvY2tldFBhdGgsIFBob2VuaXguU29ja2V0LCB7XG4gIGhvb2tzOiB7IC4uLmdldEhvb2tzKENvbXBvbmVudHMpLCAuLi5Ib29rcyB9LFxuICBwYXJhbXM6IHsgX2NzcmZfdG9rZW46IGNzcmZUb2tlbiB9LFxufSlcbmxpdmVTb2NrZXQuY29ubmVjdCgpXG53aW5kb3cubGl2ZVNvY2tldCA9IGxpdmVTb2NrZXRcbiIsICJmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7XG4gIGlmIChrZXkgaW4gb2JqKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7XG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgd3JpdGFibGU6IHRydWVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBvYmpba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cblxuZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7XG4gIHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTtcblxuICBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgIHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpO1xuICAgIGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHtcbiAgICAgIHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlO1xuICAgIH0pO1xuICAgIGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTtcbiAgfVxuXG4gIHJldHVybiBrZXlzO1xufVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkMih0YXJnZXQpIHtcbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTtcblxuICAgIGlmIChpICUgMikge1xuICAgICAgb3duS2V5cyhPYmplY3Qoc291cmNlKSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3duS2V5cyhPYmplY3Qoc291cmNlKSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuZnVuY3Rpb24gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2Uoc291cmNlLCBleGNsdWRlZCkge1xuICBpZiAoc291cmNlID09IG51bGwpIHJldHVybiB7fTtcbiAgdmFyIHRhcmdldCA9IHt9O1xuICB2YXIgc291cmNlS2V5cyA9IE9iamVjdC5rZXlzKHNvdXJjZSk7XG4gIHZhciBrZXksIGk7XG5cbiAgZm9yIChpID0gMDsgaSA8IHNvdXJjZUtleXMubGVuZ3RoOyBpKyspIHtcbiAgICBrZXkgPSBzb3VyY2VLZXlzW2ldO1xuICAgIGlmIChleGNsdWRlZC5pbmRleE9mKGtleSkgPj0gMCkgY29udGludWU7XG4gICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbmZ1bmN0aW9uIF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhzb3VyY2UsIGV4Y2x1ZGVkKSB7XG4gIGlmIChzb3VyY2UgPT0gbnVsbCkgcmV0dXJuIHt9O1xuXG4gIHZhciB0YXJnZXQgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShzb3VyY2UsIGV4Y2x1ZGVkKTtcblxuICB2YXIga2V5LCBpO1xuXG4gIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgdmFyIHNvdXJjZVN5bWJvbEtleXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHNvdXJjZSk7XG5cbiAgICBmb3IgKGkgPSAwOyBpIDwgc291cmNlU3ltYm9sS2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAga2V5ID0gc291cmNlU3ltYm9sS2V5c1tpXTtcbiAgICAgIGlmIChleGNsdWRlZC5pbmRleE9mKGtleSkgPj0gMCkgY29udGludWU7XG4gICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzb3VyY2UsIGtleSkpIGNvbnRpbnVlO1xuICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufVxuXG5mdW5jdGlvbiBfc2xpY2VkVG9BcnJheShhcnIsIGkpIHtcbiAgcmV0dXJuIF9hcnJheVdpdGhIb2xlcyhhcnIpIHx8IF9pdGVyYWJsZVRvQXJyYXlMaW1pdChhcnIsIGkpIHx8IF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShhcnIsIGkpIHx8IF9ub25JdGVyYWJsZVJlc3QoKTtcbn1cblxuZnVuY3Rpb24gX2FycmF5V2l0aEhvbGVzKGFycikge1xuICBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSByZXR1cm4gYXJyO1xufVxuXG5mdW5jdGlvbiBfaXRlcmFibGVUb0FycmF5TGltaXQoYXJyLCBpKSB7XG4gIGlmICh0eXBlb2YgU3ltYm9sID09PSBcInVuZGVmaW5lZFwiIHx8ICEoU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChhcnIpKSkgcmV0dXJuO1xuICB2YXIgX2FyciA9IFtdO1xuICB2YXIgX24gPSB0cnVlO1xuICB2YXIgX2QgPSBmYWxzZTtcbiAgdmFyIF9lID0gdW5kZWZpbmVkO1xuXG4gIHRyeSB7XG4gICAgZm9yICh2YXIgX2kgPSBhcnJbU3ltYm9sLml0ZXJhdG9yXSgpLCBfczsgIShfbiA9IChfcyA9IF9pLm5leHQoKSkuZG9uZSk7IF9uID0gdHJ1ZSkge1xuICAgICAgX2Fyci5wdXNoKF9zLnZhbHVlKTtcblxuICAgICAgaWYgKGkgJiYgX2Fyci5sZW5ndGggPT09IGkpIGJyZWFrO1xuICAgIH1cbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgX2QgPSB0cnVlO1xuICAgIF9lID0gZXJyO1xuICB9IGZpbmFsbHkge1xuICAgIHRyeSB7XG4gICAgICBpZiAoIV9uICYmIF9pW1wicmV0dXJuXCJdICE9IG51bGwpIF9pW1wicmV0dXJuXCJdKCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChfZCkgdGhyb3cgX2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIF9hcnI7XG59XG5cbmZ1bmN0aW9uIF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShvLCBtaW5MZW4pIHtcbiAgaWYgKCFvKSByZXR1cm47XG4gIGlmICh0eXBlb2YgbyA9PT0gXCJzdHJpbmdcIikgcmV0dXJuIF9hcnJheUxpa2VUb0FycmF5KG8sIG1pbkxlbik7XG4gIHZhciBuID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pLnNsaWNlKDgsIC0xKTtcbiAgaWYgKG4gPT09IFwiT2JqZWN0XCIgJiYgby5jb25zdHJ1Y3RvcikgbiA9IG8uY29uc3RydWN0b3IubmFtZTtcbiAgaWYgKG4gPT09IFwiTWFwXCIgfHwgbiA9PT0gXCJTZXRcIikgcmV0dXJuIEFycmF5LmZyb20obyk7XG4gIGlmIChuID09PSBcIkFyZ3VtZW50c1wiIHx8IC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTtcbn1cblxuZnVuY3Rpb24gX2FycmF5TGlrZVRvQXJyYXkoYXJyLCBsZW4pIHtcbiAgaWYgKGxlbiA9PSBudWxsIHx8IGxlbiA+IGFyci5sZW5ndGgpIGxlbiA9IGFyci5sZW5ndGg7XG5cbiAgZm9yICh2YXIgaSA9IDAsIGFycjIgPSBuZXcgQXJyYXkobGVuKTsgaSA8IGxlbjsgaSsrKSBhcnIyW2ldID0gYXJyW2ldO1xuXG4gIHJldHVybiBhcnIyO1xufVxuXG5mdW5jdGlvbiBfbm9uSXRlcmFibGVSZXN0KCkge1xuICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuXCIpO1xufVxuXG5leHBvcnQgeyBfYXJyYXlMaWtlVG9BcnJheSBhcyBhcnJheUxpa2VUb0FycmF5LCBfYXJyYXlXaXRoSG9sZXMgYXMgYXJyYXlXaXRoSG9sZXMsIF9kZWZpbmVQcm9wZXJ0eSBhcyBkZWZpbmVQcm9wZXJ0eSwgX2l0ZXJhYmxlVG9BcnJheUxpbWl0IGFzIGl0ZXJhYmxlVG9BcnJheUxpbWl0LCBfbm9uSXRlcmFibGVSZXN0IGFzIG5vbkl0ZXJhYmxlUmVzdCwgX29iamVjdFNwcmVhZDIgYXMgb2JqZWN0U3ByZWFkMiwgX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIGFzIG9iamVjdFdpdGhvdXRQcm9wZXJ0aWVzLCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZSBhcyBvYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlLCBfc2xpY2VkVG9BcnJheSBhcyBzbGljZWRUb0FycmF5LCBfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkgYXMgdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkgfTtcbiIsICJmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7XG4gIGlmIChrZXkgaW4gb2JqKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7XG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgd3JpdGFibGU6IHRydWVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBvYmpba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cblxuZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7XG4gIHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTtcblxuICBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgIHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpO1xuICAgIGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHtcbiAgICAgIHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlO1xuICAgIH0pO1xuICAgIGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTtcbiAgfVxuXG4gIHJldHVybiBrZXlzO1xufVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkMih0YXJnZXQpIHtcbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTtcblxuICAgIGlmIChpICUgMikge1xuICAgICAgb3duS2V5cyhPYmplY3Qoc291cmNlKSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3duS2V5cyhPYmplY3Qoc291cmNlKSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuZnVuY3Rpb24gY29tcG9zZSgpIHtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGZucyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICBmbnNbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24gKHgpIHtcbiAgICByZXR1cm4gZm5zLnJlZHVjZVJpZ2h0KGZ1bmN0aW9uICh5LCBmKSB7XG4gICAgICByZXR1cm4gZih5KTtcbiAgICB9LCB4KTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gY3VycnkoZm4pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGN1cnJpZWQoKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuMiksIF9rZXkyID0gMDsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgYXJnc1tfa2V5Ml0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgIH1cblxuICAgIHJldHVybiBhcmdzLmxlbmd0aCA+PSBmbi5sZW5ndGggPyBmbi5hcHBseSh0aGlzLCBhcmdzKSA6IGZ1bmN0aW9uICgpIHtcbiAgICAgIGZvciAodmFyIF9sZW4zID0gYXJndW1lbnRzLmxlbmd0aCwgbmV4dEFyZ3MgPSBuZXcgQXJyYXkoX2xlbjMpLCBfa2V5MyA9IDA7IF9rZXkzIDwgX2xlbjM7IF9rZXkzKyspIHtcbiAgICAgICAgbmV4dEFyZ3NbX2tleTNdID0gYXJndW1lbnRzW19rZXkzXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGN1cnJpZWQuYXBwbHkoX3RoaXMsIFtdLmNvbmNhdChhcmdzLCBuZXh0QXJncykpO1xuICAgIH07XG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzT2JqZWN0KHZhbHVlKSB7XG4gIHJldHVybiB7fS50b1N0cmluZy5jYWxsKHZhbHVlKS5pbmNsdWRlcygnT2JqZWN0Jyk7XG59XG5cbmZ1bmN0aW9uIGlzRW1wdHkob2JqKSB7XG4gIHJldHVybiAhT2JqZWN0LmtleXMob2JqKS5sZW5ndGg7XG59XG5cbmZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZnVuY3Rpb24gaGFzT3duUHJvcGVydHkob2JqZWN0LCBwcm9wZXJ0eSkge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUNoYW5nZXMoaW5pdGlhbCwgY2hhbmdlcykge1xuICBpZiAoIWlzT2JqZWN0KGNoYW5nZXMpKSBlcnJvckhhbmRsZXIoJ2NoYW5nZVR5cGUnKTtcbiAgaWYgKE9iamVjdC5rZXlzKGNoYW5nZXMpLnNvbWUoZnVuY3Rpb24gKGZpZWxkKSB7XG4gICAgcmV0dXJuICFoYXNPd25Qcm9wZXJ0eShpbml0aWFsLCBmaWVsZCk7XG4gIH0pKSBlcnJvckhhbmRsZXIoJ2NoYW5nZUZpZWxkJyk7XG4gIHJldHVybiBjaGFuZ2VzO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVNlbGVjdG9yKHNlbGVjdG9yKSB7XG4gIGlmICghaXNGdW5jdGlvbihzZWxlY3RvcikpIGVycm9ySGFuZGxlcignc2VsZWN0b3JUeXBlJyk7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlSGFuZGxlcihoYW5kbGVyKSB7XG4gIGlmICghKGlzRnVuY3Rpb24oaGFuZGxlcikgfHwgaXNPYmplY3QoaGFuZGxlcikpKSBlcnJvckhhbmRsZXIoJ2hhbmRsZXJUeXBlJyk7XG4gIGlmIChpc09iamVjdChoYW5kbGVyKSAmJiBPYmplY3QudmFsdWVzKGhhbmRsZXIpLnNvbWUoZnVuY3Rpb24gKF9oYW5kbGVyKSB7XG4gICAgcmV0dXJuICFpc0Z1bmN0aW9uKF9oYW5kbGVyKTtcbiAgfSkpIGVycm9ySGFuZGxlcignaGFuZGxlcnNUeXBlJyk7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlSW5pdGlhbChpbml0aWFsKSB7XG4gIGlmICghaW5pdGlhbCkgZXJyb3JIYW5kbGVyKCdpbml0aWFsSXNSZXF1aXJlZCcpO1xuICBpZiAoIWlzT2JqZWN0KGluaXRpYWwpKSBlcnJvckhhbmRsZXIoJ2luaXRpYWxUeXBlJyk7XG4gIGlmIChpc0VtcHR5KGluaXRpYWwpKSBlcnJvckhhbmRsZXIoJ2luaXRpYWxDb250ZW50Jyk7XG59XG5cbmZ1bmN0aW9uIHRocm93RXJyb3IoZXJyb3JNZXNzYWdlcywgdHlwZSkge1xuICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlc1t0eXBlXSB8fCBlcnJvck1lc3NhZ2VzW1wiZGVmYXVsdFwiXSk7XG59XG5cbnZhciBlcnJvck1lc3NhZ2VzID0ge1xuICBpbml0aWFsSXNSZXF1aXJlZDogJ2luaXRpYWwgc3RhdGUgaXMgcmVxdWlyZWQnLFxuICBpbml0aWFsVHlwZTogJ2luaXRpYWwgc3RhdGUgc2hvdWxkIGJlIGFuIG9iamVjdCcsXG4gIGluaXRpYWxDb250ZW50OiAnaW5pdGlhbCBzdGF0ZSBzaG91bGRuXFwndCBiZSBhbiBlbXB0eSBvYmplY3QnLFxuICBoYW5kbGVyVHlwZTogJ2hhbmRsZXIgc2hvdWxkIGJlIGFuIG9iamVjdCBvciBhIGZ1bmN0aW9uJyxcbiAgaGFuZGxlcnNUeXBlOiAnYWxsIGhhbmRsZXJzIHNob3VsZCBiZSBhIGZ1bmN0aW9ucycsXG4gIHNlbGVjdG9yVHlwZTogJ3NlbGVjdG9yIHNob3VsZCBiZSBhIGZ1bmN0aW9uJyxcbiAgY2hhbmdlVHlwZTogJ3Byb3ZpZGVkIHZhbHVlIG9mIGNoYW5nZXMgc2hvdWxkIGJlIGFuIG9iamVjdCcsXG4gIGNoYW5nZUZpZWxkOiAnaXQgc2VhbXMgeW91IHdhbnQgdG8gY2hhbmdlIGEgZmllbGQgaW4gdGhlIHN0YXRlIHdoaWNoIGlzIG5vdCBzcGVjaWZpZWQgaW4gdGhlIFwiaW5pdGlhbFwiIHN0YXRlJyxcbiAgXCJkZWZhdWx0XCI6ICdhbiB1bmtub3duIGVycm9yIGFjY3VyZWQgaW4gYHN0YXRlLWxvY2FsYCBwYWNrYWdlJ1xufTtcbnZhciBlcnJvckhhbmRsZXIgPSBjdXJyeSh0aHJvd0Vycm9yKShlcnJvck1lc3NhZ2VzKTtcbnZhciB2YWxpZGF0b3JzID0ge1xuICBjaGFuZ2VzOiB2YWxpZGF0ZUNoYW5nZXMsXG4gIHNlbGVjdG9yOiB2YWxpZGF0ZVNlbGVjdG9yLFxuICBoYW5kbGVyOiB2YWxpZGF0ZUhhbmRsZXIsXG4gIGluaXRpYWw6IHZhbGlkYXRlSW5pdGlhbFxufTtcblxuZnVuY3Rpb24gY3JlYXRlKGluaXRpYWwpIHtcbiAgdmFyIGhhbmRsZXIgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuICB2YWxpZGF0b3JzLmluaXRpYWwoaW5pdGlhbCk7XG4gIHZhbGlkYXRvcnMuaGFuZGxlcihoYW5kbGVyKTtcbiAgdmFyIHN0YXRlID0ge1xuICAgIGN1cnJlbnQ6IGluaXRpYWxcbiAgfTtcbiAgdmFyIGRpZFVwZGF0ZSA9IGN1cnJ5KGRpZFN0YXRlVXBkYXRlKShzdGF0ZSwgaGFuZGxlcik7XG4gIHZhciB1cGRhdGUgPSBjdXJyeSh1cGRhdGVTdGF0ZSkoc3RhdGUpO1xuICB2YXIgdmFsaWRhdGUgPSBjdXJyeSh2YWxpZGF0b3JzLmNoYW5nZXMpKGluaXRpYWwpO1xuICB2YXIgZ2V0Q2hhbmdlcyA9IGN1cnJ5KGV4dHJhY3RDaGFuZ2VzKShzdGF0ZSk7XG5cbiAgZnVuY3Rpb24gZ2V0U3RhdGUoKSB7XG4gICAgdmFyIHNlbGVjdG9yID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiBmdW5jdGlvbiAoc3RhdGUpIHtcbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9O1xuICAgIHZhbGlkYXRvcnMuc2VsZWN0b3Ioc2VsZWN0b3IpO1xuICAgIHJldHVybiBzZWxlY3RvcihzdGF0ZS5jdXJyZW50KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHNldFN0YXRlKGNhdXNlZENoYW5nZXMpIHtcbiAgICBjb21wb3NlKGRpZFVwZGF0ZSwgdXBkYXRlLCB2YWxpZGF0ZSwgZ2V0Q2hhbmdlcykoY2F1c2VkQ2hhbmdlcyk7XG4gIH1cblxuICByZXR1cm4gW2dldFN0YXRlLCBzZXRTdGF0ZV07XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RDaGFuZ2VzKHN0YXRlLCBjYXVzZWRDaGFuZ2VzKSB7XG4gIHJldHVybiBpc0Z1bmN0aW9uKGNhdXNlZENoYW5nZXMpID8gY2F1c2VkQ2hhbmdlcyhzdGF0ZS5jdXJyZW50KSA6IGNhdXNlZENoYW5nZXM7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVN0YXRlKHN0YXRlLCBjaGFuZ2VzKSB7XG4gIHN0YXRlLmN1cnJlbnQgPSBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgc3RhdGUuY3VycmVudCksIGNoYW5nZXMpO1xuICByZXR1cm4gY2hhbmdlcztcbn1cblxuZnVuY3Rpb24gZGlkU3RhdGVVcGRhdGUoc3RhdGUsIGhhbmRsZXIsIGNoYW5nZXMpIHtcbiAgaXNGdW5jdGlvbihoYW5kbGVyKSA/IGhhbmRsZXIoc3RhdGUuY3VycmVudCkgOiBPYmplY3Qua2V5cyhjaGFuZ2VzKS5mb3JFYWNoKGZ1bmN0aW9uIChmaWVsZCkge1xuICAgIHZhciBfaGFuZGxlciRmaWVsZDtcblxuICAgIHJldHVybiAoX2hhbmRsZXIkZmllbGQgPSBoYW5kbGVyW2ZpZWxkXSkgPT09IG51bGwgfHwgX2hhbmRsZXIkZmllbGQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9oYW5kbGVyJGZpZWxkLmNhbGwoaGFuZGxlciwgc3RhdGUuY3VycmVudFtmaWVsZF0pO1xuICB9KTtcbiAgcmV0dXJuIGNoYW5nZXM7XG59XG5cbnZhciBpbmRleCA9IHtcbiAgY3JlYXRlOiBjcmVhdGVcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGluZGV4O1xuIiwgInZhciBjb25maWcgPSB7XG4gIHBhdGhzOiB7XG4gICAgdnM6ICdodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL21vbmFjby1lZGl0b3JAMC4zNi4xL21pbi92cydcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgY29uZmlnO1xuIiwgImZ1bmN0aW9uIGN1cnJ5KGZuKSB7XG4gIHJldHVybiBmdW5jdGlvbiBjdXJyaWVkKCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgfVxuXG4gICAgcmV0dXJuIGFyZ3MubGVuZ3RoID49IGZuLmxlbmd0aCA/IGZuLmFwcGx5KHRoaXMsIGFyZ3MpIDogZnVuY3Rpb24gKCkge1xuICAgICAgZm9yICh2YXIgX2xlbjIgPSBhcmd1bWVudHMubGVuZ3RoLCBuZXh0QXJncyA9IG5ldyBBcnJheShfbGVuMiksIF9rZXkyID0gMDsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBuZXh0QXJnc1tfa2V5Ml0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY3VycmllZC5hcHBseShfdGhpcywgW10uY29uY2F0KGFyZ3MsIG5leHRBcmdzKSk7XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY3Vycnk7XG4iLCAiZnVuY3Rpb24gaXNPYmplY3QodmFsdWUpIHtcbiAgcmV0dXJuIHt9LnRvU3RyaW5nLmNhbGwodmFsdWUpLmluY2x1ZGVzKCdPYmplY3QnKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgaXNPYmplY3Q7XG4iLCAiaW1wb3J0IGN1cnJ5IGZyb20gJy4uL3V0aWxzL2N1cnJ5LmpzJztcbmltcG9ydCBpc09iamVjdCBmcm9tICcuLi91dGlscy9pc09iamVjdC5qcyc7XG5cbi8qKlxuICogdmFsaWRhdGVzIHRoZSBjb25maWd1cmF0aW9uIG9iamVjdCBhbmQgaW5mb3JtcyBhYm91dCBkZXByZWNhdGlvblxuICogQHBhcmFtIHtPYmplY3R9IGNvbmZpZyAtIHRoZSBjb25maWd1cmF0aW9uIG9iamVjdCBcbiAqIEByZXR1cm4ge09iamVjdH0gY29uZmlnIC0gdGhlIHZhbGlkYXRlZCBjb25maWd1cmF0aW9uIG9iamVjdFxuICovXG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ29uZmlnKGNvbmZpZykge1xuICBpZiAoIWNvbmZpZykgZXJyb3JIYW5kbGVyKCdjb25maWdJc1JlcXVpcmVkJyk7XG4gIGlmICghaXNPYmplY3QoY29uZmlnKSkgZXJyb3JIYW5kbGVyKCdjb25maWdUeXBlJyk7XG5cbiAgaWYgKGNvbmZpZy51cmxzKSB7XG4gICAgaW5mb3JtQWJvdXREZXByZWNhdGlvbigpO1xuICAgIHJldHVybiB7XG4gICAgICBwYXRoczoge1xuICAgICAgICB2czogY29uZmlnLnVybHMubW9uYWNvQmFzZVxuICAgICAgfVxuICAgIH07XG4gIH1cblxuICByZXR1cm4gY29uZmlnO1xufVxuLyoqXG4gKiBsb2dzIGRlcHJlY2F0aW9uIG1lc3NhZ2VcbiAqL1xuXG5cbmZ1bmN0aW9uIGluZm9ybUFib3V0RGVwcmVjYXRpb24oKSB7XG4gIGNvbnNvbGUud2FybihlcnJvck1lc3NhZ2VzLmRlcHJlY2F0aW9uKTtcbn1cblxuZnVuY3Rpb24gdGhyb3dFcnJvcihlcnJvck1lc3NhZ2VzLCB0eXBlKSB7XG4gIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2VzW3R5cGVdIHx8IGVycm9yTWVzc2FnZXNbXCJkZWZhdWx0XCJdKTtcbn1cblxudmFyIGVycm9yTWVzc2FnZXMgPSB7XG4gIGNvbmZpZ0lzUmVxdWlyZWQ6ICd0aGUgY29uZmlndXJhdGlvbiBvYmplY3QgaXMgcmVxdWlyZWQnLFxuICBjb25maWdUeXBlOiAndGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IHNob3VsZCBiZSBhbiBvYmplY3QnLFxuICBcImRlZmF1bHRcIjogJ2FuIHVua25vd24gZXJyb3IgYWNjdXJlZCBpbiBgQG1vbmFjby1lZGl0b3IvbG9hZGVyYCBwYWNrYWdlJyxcbiAgZGVwcmVjYXRpb246IFwiRGVwcmVjYXRpb24gd2FybmluZyFcXG4gICAgWW91IGFyZSB1c2luZyBkZXByZWNhdGVkIHdheSBvZiBjb25maWd1cmF0aW9uLlxcblxcbiAgICBJbnN0ZWFkIG9mIHVzaW5nXFxuICAgICAgbW9uYWNvLmNvbmZpZyh7IHVybHM6IHsgbW9uYWNvQmFzZTogJy4uLicgfSB9KVxcbiAgICB1c2VcXG4gICAgICBtb25hY28uY29uZmlnKHsgcGF0aHM6IHsgdnM6ICcuLi4nIH0gfSlcXG5cXG4gICAgRm9yIG1vcmUgcGxlYXNlIGNoZWNrIHRoZSBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zdXJlbi1hdG95YW4vbW9uYWNvLWxvYWRlciNjb25maWdcXG4gIFwiXG59O1xudmFyIGVycm9ySGFuZGxlciA9IGN1cnJ5KHRocm93RXJyb3IpKGVycm9yTWVzc2FnZXMpO1xudmFyIHZhbGlkYXRvcnMgPSB7XG4gIGNvbmZpZzogdmFsaWRhdGVDb25maWdcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHZhbGlkYXRvcnM7XG5leHBvcnQgeyBlcnJvckhhbmRsZXIsIGVycm9yTWVzc2FnZXMgfTtcbiIsICJ2YXIgY29tcG9zZSA9IGZ1bmN0aW9uIGNvbXBvc2UoKSB7XG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBmbnMgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgZm5zW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICB9XG5cbiAgcmV0dXJuIGZ1bmN0aW9uICh4KSB7XG4gICAgcmV0dXJuIGZucy5yZWR1Y2VSaWdodChmdW5jdGlvbiAoeSwgZikge1xuICAgICAgcmV0dXJuIGYoeSk7XG4gICAgfSwgeCk7XG4gIH07XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb21wb3NlO1xuIiwgImltcG9ydCB7IG9iamVjdFNwcmVhZDIgYXMgX29iamVjdFNwcmVhZDIgfSBmcm9tICcuLi9fdmlydHVhbC9fcm9sbHVwUGx1Z2luQmFiZWxIZWxwZXJzLmpzJztcblxuZnVuY3Rpb24gbWVyZ2UodGFyZ2V0LCBzb3VyY2UpIHtcbiAgT2JqZWN0LmtleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICBpZiAoc291cmNlW2tleV0gaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgIGlmICh0YXJnZXRba2V5XSkge1xuICAgICAgICBPYmplY3QuYXNzaWduKHNvdXJjZVtrZXldLCBtZXJnZSh0YXJnZXRba2V5XSwgc291cmNlW2tleV0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICByZXR1cm4gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIHRhcmdldCksIHNvdXJjZSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IG1lcmdlO1xuIiwgIi8vIFRoZSBzb3VyY2UgKGhhcyBiZWVuIGNoYW5nZWQpIGlzIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvNTQ2NSNpc3N1ZWNvbW1lbnQtMTU3ODg4MzI1XG52YXIgQ0FOQ0VMQVRJT05fTUVTU0FHRSA9IHtcbiAgdHlwZTogJ2NhbmNlbGF0aW9uJyxcbiAgbXNnOiAnb3BlcmF0aW9uIGlzIG1hbnVhbGx5IGNhbmNlbGVkJ1xufTtcblxuZnVuY3Rpb24gbWFrZUNhbmNlbGFibGUocHJvbWlzZSkge1xuICB2YXIgaGFzQ2FuY2VsZWRfID0gZmFsc2U7XG4gIHZhciB3cmFwcGVkUHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24gKHZhbCkge1xuICAgICAgcmV0dXJuIGhhc0NhbmNlbGVkXyA/IHJlamVjdChDQU5DRUxBVElPTl9NRVNTQUdFKSA6IHJlc29sdmUodmFsKTtcbiAgICB9KTtcbiAgICBwcm9taXNlW1wiY2F0Y2hcIl0ocmVqZWN0KTtcbiAgfSk7XG4gIHJldHVybiB3cmFwcGVkUHJvbWlzZS5jYW5jZWwgPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIGhhc0NhbmNlbGVkXyA9IHRydWU7XG4gIH0sIHdyYXBwZWRQcm9taXNlO1xufVxuXG5leHBvcnQgZGVmYXVsdCBtYWtlQ2FuY2VsYWJsZTtcbmV4cG9ydCB7IENBTkNFTEFUSU9OX01FU1NBR0UgfTtcbiIsICJpbXBvcnQgeyBzbGljZWRUb0FycmF5IGFzIF9zbGljZWRUb0FycmF5LCBvYmplY3RXaXRob3V0UHJvcGVydGllcyBhcyBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgfSBmcm9tICcuLi9fdmlydHVhbC9fcm9sbHVwUGx1Z2luQmFiZWxIZWxwZXJzLmpzJztcbmltcG9ydCBzdGF0ZSBmcm9tICdzdGF0ZS1sb2NhbCc7XG5pbXBvcnQgY29uZmlnJDEgZnJvbSAnLi4vY29uZmlnL2luZGV4LmpzJztcbmltcG9ydCB2YWxpZGF0b3JzIGZyb20gJy4uL3ZhbGlkYXRvcnMvaW5kZXguanMnO1xuaW1wb3J0IGNvbXBvc2UgZnJvbSAnLi4vdXRpbHMvY29tcG9zZS5qcyc7XG5pbXBvcnQgbWVyZ2UgZnJvbSAnLi4vdXRpbHMvZGVlcE1lcmdlLmpzJztcbmltcG9ydCBtYWtlQ2FuY2VsYWJsZSBmcm9tICcuLi91dGlscy9tYWtlQ2FuY2VsYWJsZS5qcyc7XG5cbi8qKiB0aGUgbG9jYWwgc3RhdGUgb2YgdGhlIG1vZHVsZSAqL1xuXG52YXIgX3N0YXRlJGNyZWF0ZSA9IHN0YXRlLmNyZWF0ZSh7XG4gIGNvbmZpZzogY29uZmlnJDEsXG4gIGlzSW5pdGlhbGl6ZWQ6IGZhbHNlLFxuICByZXNvbHZlOiBudWxsLFxuICByZWplY3Q6IG51bGwsXG4gIG1vbmFjbzogbnVsbFxufSksXG4gICAgX3N0YXRlJGNyZWF0ZTIgPSBfc2xpY2VkVG9BcnJheShfc3RhdGUkY3JlYXRlLCAyKSxcbiAgICBnZXRTdGF0ZSA9IF9zdGF0ZSRjcmVhdGUyWzBdLFxuICAgIHNldFN0YXRlID0gX3N0YXRlJGNyZWF0ZTJbMV07XG4vKipcbiAqIHNldCB0aGUgbG9hZGVyIGNvbmZpZ3VyYXRpb25cbiAqIEBwYXJhbSB7T2JqZWN0fSBjb25maWcgLSB0aGUgY29uZmlndXJhdGlvbiBvYmplY3RcbiAqL1xuXG5cbmZ1bmN0aW9uIGNvbmZpZyhnbG9iYWxDb25maWcpIHtcbiAgdmFyIF92YWxpZGF0b3JzJGNvbmZpZyA9IHZhbGlkYXRvcnMuY29uZmlnKGdsb2JhbENvbmZpZyksXG4gICAgICBtb25hY28gPSBfdmFsaWRhdG9ycyRjb25maWcubW9uYWNvLFxuICAgICAgY29uZmlnID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKF92YWxpZGF0b3JzJGNvbmZpZywgW1wibW9uYWNvXCJdKTtcblxuICBzZXRTdGF0ZShmdW5jdGlvbiAoc3RhdGUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29uZmlnOiBtZXJnZShzdGF0ZS5jb25maWcsIGNvbmZpZyksXG4gICAgICBtb25hY286IG1vbmFjb1xuICAgIH07XG4gIH0pO1xufVxuLyoqXG4gKiBoYW5kbGVzIHRoZSBpbml0aWFsaXphdGlvbiBvZiB0aGUgbW9uYWNvLWVkaXRvclxuICogQHJldHVybiB7UHJvbWlzZX0gLSByZXR1cm5zIGFuIGluc3RhbmNlIG9mIG1vbmFjbyAod2l0aCBhIGNhbmNlbGFibGUgcHJvbWlzZSlcbiAqL1xuXG5cbmZ1bmN0aW9uIGluaXQoKSB7XG4gIHZhciBzdGF0ZSA9IGdldFN0YXRlKGZ1bmN0aW9uIChfcmVmKSB7XG4gICAgdmFyIG1vbmFjbyA9IF9yZWYubW9uYWNvLFxuICAgICAgICBpc0luaXRpYWxpemVkID0gX3JlZi5pc0luaXRpYWxpemVkLFxuICAgICAgICByZXNvbHZlID0gX3JlZi5yZXNvbHZlO1xuICAgIHJldHVybiB7XG4gICAgICBtb25hY286IG1vbmFjbyxcbiAgICAgIGlzSW5pdGlhbGl6ZWQ6IGlzSW5pdGlhbGl6ZWQsXG4gICAgICByZXNvbHZlOiByZXNvbHZlXG4gICAgfTtcbiAgfSk7XG5cbiAgaWYgKCFzdGF0ZS5pc0luaXRpYWxpemVkKSB7XG4gICAgc2V0U3RhdGUoe1xuICAgICAgaXNJbml0aWFsaXplZDogdHJ1ZVxuICAgIH0pO1xuXG4gICAgaWYgKHN0YXRlLm1vbmFjbykge1xuICAgICAgc3RhdGUucmVzb2x2ZShzdGF0ZS5tb25hY28pO1xuICAgICAgcmV0dXJuIG1ha2VDYW5jZWxhYmxlKHdyYXBwZXJQcm9taXNlKTtcbiAgICB9XG5cbiAgICBpZiAod2luZG93Lm1vbmFjbyAmJiB3aW5kb3cubW9uYWNvLmVkaXRvcikge1xuICAgICAgc3RvcmVNb25hY29JbnN0YW5jZSh3aW5kb3cubW9uYWNvKTtcbiAgICAgIHN0YXRlLnJlc29sdmUod2luZG93Lm1vbmFjbyk7XG4gICAgICByZXR1cm4gbWFrZUNhbmNlbGFibGUod3JhcHBlclByb21pc2UpO1xuICAgIH1cblxuICAgIGNvbXBvc2UoaW5qZWN0U2NyaXB0cywgZ2V0TW9uYWNvTG9hZGVyU2NyaXB0KShjb25maWd1cmVMb2FkZXIpO1xuICB9XG5cbiAgcmV0dXJuIG1ha2VDYW5jZWxhYmxlKHdyYXBwZXJQcm9taXNlKTtcbn1cbi8qKlxuICogaW5qZWN0cyBwcm92aWRlZCBzY3JpcHRzIGludG8gdGhlIGRvY3VtZW50LmJvZHlcbiAqIEBwYXJhbSB7T2JqZWN0fSBzY3JpcHQgLSBhbiBIVE1MIHNjcmlwdCBlbGVtZW50XG4gKiBAcmV0dXJuIHtPYmplY3R9IC0gdGhlIGluamVjdGVkIEhUTUwgc2NyaXB0IGVsZW1lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIGluamVjdFNjcmlwdHMoc2NyaXB0KSB7XG4gIHJldHVybiBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7XG59XG4vKipcbiAqIGNyZWF0ZXMgYW4gSFRNTCBzY3JpcHQgZWxlbWVudCB3aXRoL3dpdGhvdXQgcHJvdmlkZWQgc3JjXG4gKiBAcGFyYW0ge3N0cmluZ30gW3NyY10gLSB0aGUgc291cmNlIHBhdGggb2YgdGhlIHNjcmlwdFxuICogQHJldHVybiB7T2JqZWN0fSAtIHRoZSBjcmVhdGVkIEhUTUwgc2NyaXB0IGVsZW1lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIGNyZWF0ZVNjcmlwdChzcmMpIHtcbiAgdmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICByZXR1cm4gc3JjICYmIChzY3JpcHQuc3JjID0gc3JjKSwgc2NyaXB0O1xufVxuLyoqXG4gKiBjcmVhdGVzIGFuIEhUTUwgc2NyaXB0IGVsZW1lbnQgd2l0aCB0aGUgbW9uYWNvIGxvYWRlciBzcmNcbiAqIEByZXR1cm4ge09iamVjdH0gLSB0aGUgY3JlYXRlZCBIVE1MIHNjcmlwdCBlbGVtZW50XG4gKi9cblxuXG5mdW5jdGlvbiBnZXRNb25hY29Mb2FkZXJTY3JpcHQoY29uZmlndXJlTG9hZGVyKSB7XG4gIHZhciBzdGF0ZSA9IGdldFN0YXRlKGZ1bmN0aW9uIChfcmVmMikge1xuICAgIHZhciBjb25maWcgPSBfcmVmMi5jb25maWcsXG4gICAgICAgIHJlamVjdCA9IF9yZWYyLnJlamVjdDtcbiAgICByZXR1cm4ge1xuICAgICAgY29uZmlnOiBjb25maWcsXG4gICAgICByZWplY3Q6IHJlamVjdFxuICAgIH07XG4gIH0pO1xuICB2YXIgbG9hZGVyU2NyaXB0ID0gY3JlYXRlU2NyaXB0KFwiXCIuY29uY2F0KHN0YXRlLmNvbmZpZy5wYXRocy52cywgXCIvbG9hZGVyLmpzXCIpKTtcblxuICBsb2FkZXJTY3JpcHQub25sb2FkID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBjb25maWd1cmVMb2FkZXIoKTtcbiAgfTtcblxuICBsb2FkZXJTY3JpcHQub25lcnJvciA9IHN0YXRlLnJlamVjdDtcbiAgcmV0dXJuIGxvYWRlclNjcmlwdDtcbn1cbi8qKlxuICogY29uZmlndXJlcyB0aGUgbW9uYWNvIGxvYWRlclxuICovXG5cblxuZnVuY3Rpb24gY29uZmlndXJlTG9hZGVyKCkge1xuICB2YXIgc3RhdGUgPSBnZXRTdGF0ZShmdW5jdGlvbiAoX3JlZjMpIHtcbiAgICB2YXIgY29uZmlnID0gX3JlZjMuY29uZmlnLFxuICAgICAgICByZXNvbHZlID0gX3JlZjMucmVzb2x2ZSxcbiAgICAgICAgcmVqZWN0ID0gX3JlZjMucmVqZWN0O1xuICAgIHJldHVybiB7XG4gICAgICBjb25maWc6IGNvbmZpZyxcbiAgICAgIHJlc29sdmU6IHJlc29sdmUsXG4gICAgICByZWplY3Q6IHJlamVjdFxuICAgIH07XG4gIH0pO1xuICB2YXIgcmVxdWlyZSA9IHdpbmRvdy5yZXF1aXJlO1xuXG4gIHJlcXVpcmUuY29uZmlnKHN0YXRlLmNvbmZpZyk7XG5cbiAgcmVxdWlyZShbJ3ZzL2VkaXRvci9lZGl0b3IubWFpbiddLCBmdW5jdGlvbiAobW9uYWNvKSB7XG4gICAgc3RvcmVNb25hY29JbnN0YW5jZShtb25hY28pO1xuICAgIHN0YXRlLnJlc29sdmUobW9uYWNvKTtcbiAgfSwgZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgc3RhdGUucmVqZWN0KGVycm9yKTtcbiAgfSk7XG59XG4vKipcbiAqIHN0b3JlIG1vbmFjbyBpbnN0YW5jZSBpbiBsb2NhbCBzdGF0ZVxuICovXG5cblxuZnVuY3Rpb24gc3RvcmVNb25hY29JbnN0YW5jZShtb25hY28pIHtcbiAgaWYgKCFnZXRTdGF0ZSgpLm1vbmFjbykge1xuICAgIHNldFN0YXRlKHtcbiAgICAgIG1vbmFjbzogbW9uYWNvXG4gICAgfSk7XG4gIH1cbn1cbi8qKlxuICogaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uXG4gKiBleHRyYWN0cyBzdG9yZWQgbW9uYWNvIGluc3RhbmNlXG4gKiBAcmV0dXJuIHtPYmplY3R8bnVsbH0gLSB0aGUgbW9uYWNvIGluc3RhbmNlXG4gKi9cblxuXG5mdW5jdGlvbiBfX2dldE1vbmFjb0luc3RhbmNlKCkge1xuICByZXR1cm4gZ2V0U3RhdGUoZnVuY3Rpb24gKF9yZWY0KSB7XG4gICAgdmFyIG1vbmFjbyA9IF9yZWY0Lm1vbmFjbztcbiAgICByZXR1cm4gbW9uYWNvO1xuICB9KTtcbn1cblxudmFyIHdyYXBwZXJQcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICByZXR1cm4gc2V0U3RhdGUoe1xuICAgIHJlc29sdmU6IHJlc29sdmUsXG4gICAgcmVqZWN0OiByZWplY3RcbiAgfSk7XG59KTtcbnZhciBsb2FkZXIgPSB7XG4gIGNvbmZpZzogY29uZmlnLFxuICBpbml0OiBpbml0LFxuICBfX2dldE1vbmFjb0luc3RhbmNlOiBfX2dldE1vbmFjb0luc3RhbmNlXG59O1xuXG5leHBvcnQgZGVmYXVsdCBsb2FkZXI7XG4iLCAiLy8gQ29waWVkIGFuZCBtb2RpZmllZCBmcm9tIHRoZSBvcmlnaW5hbCB3b3JrIGF2YWlsYWJsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vbGl2ZWJvb2stZGV2L2xpdmVib29rL2Jsb2IvMjNlNThhYzYwNGRlOTJjZTU0NDcyZjM2ZmUzZTI4ZGMyNzU3NmQ2Yy9hc3NldHMvanMvaG9va3MvY2VsbF9lZGl0b3IvbGl2ZV9lZGl0b3IvdGhlbWUuanNcbi8vIENvcHlyaWdodCAoQykgMjAyMSBEYXNoYml0XG4vLyBMaWNlbnNlZCB1bmRlciBBcGFjaGUgMi4wIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbi8vIFRoaXMgaXMgYSBwb3J0IG9mIHRoZSBPbmUgRGFyayB0aGVtZSB0byB0aGUgTW9uYWNvIGVkaXRvci5cbi8vIFdlIGNvbG9yIGdyYWRlZCB0aGUgY29tbWVudCBzbyBpdCBoYXMgQUEgYWNjZXNzaWJpbGl0eSBhbmRcbi8vIHRoZW4gc2ltaWxhcmx5IHNjYWxlZCB0aGUgZGVmYXVsdCBmb250LlxuY29uc3QgY29sb3JzID0ge1xuICBiYWNrZ3JvdW5kOiBcIiMyODJjMzRcIixcbiAgZGVmYXVsdDogXCIjYzRjYWQ2XCIsXG4gIGxpZ2h0UmVkOiBcIiNlMDZjNzVcIixcbiAgYmx1ZTogXCIjNjFhZmVmXCIsXG4gIGdyYXk6IFwiIzhjOTJhM1wiLFxuICBncmVlbjogXCIjOThjMzc5XCIsXG4gIHB1cnBsZTogXCIjYzY3OGRkXCIsXG4gIHJlZDogXCIjYmU1MDQ2XCIsXG4gIHRlYWw6IFwiIzU2YjZjMlwiLFxuICBwZWFjaDogXCIjZDE5YTY2XCIsXG59XG5cbmNvbnN0IHJ1bGVzID0gKGNvbG9ycykgPT4gW1xuICB7IHRva2VuOiBcIlwiLCBmb3JlZ3JvdW5kOiBjb2xvcnMuZGVmYXVsdCB9LFxuICB7IHRva2VuOiBcInZhcmlhYmxlXCIsIGZvcmVncm91bmQ6IGNvbG9ycy5saWdodFJlZCB9LFxuICB7IHRva2VuOiBcImNvbnN0YW50XCIsIGZvcmVncm91bmQ6IGNvbG9ycy5ibHVlIH0sXG4gIHsgdG9rZW46IFwiY29uc3RhbnQuY2hhcmFjdGVyLmVzY2FwZVwiLCBmb3JlZ3JvdW5kOiBjb2xvcnMuYmx1ZSB9LFxuICB7IHRva2VuOiBcImNvbW1lbnRcIiwgZm9yZWdyb3VuZDogY29sb3JzLmdyYXkgfSxcbiAgeyB0b2tlbjogXCJudW1iZXJcIiwgZm9yZWdyb3VuZDogY29sb3JzLmJsdWUgfSxcbiAgeyB0b2tlbjogXCJyZWdleHBcIiwgZm9yZWdyb3VuZDogY29sb3JzLmxpZ2h0UmVkIH0sXG4gIHsgdG9rZW46IFwidHlwZVwiLCBmb3JlZ3JvdW5kOiBjb2xvcnMubGlnaHRSZWQgfSxcbiAgeyB0b2tlbjogXCJzdHJpbmdcIiwgZm9yZWdyb3VuZDogY29sb3JzLmdyZWVuIH0sXG4gIHsgdG9rZW46IFwia2V5d29yZFwiLCBmb3JlZ3JvdW5kOiBjb2xvcnMucHVycGxlIH0sXG4gIHsgdG9rZW46IFwib3BlcmF0b3JcIiwgZm9yZWdyb3VuZDogY29sb3JzLnBlYWNoIH0sXG4gIHsgdG9rZW46IFwiZGVsaW1pdGVyLmJyYWNrZXQuZW1iZWRcIiwgZm9yZWdyb3VuZDogY29sb3JzLnJlZCB9LFxuICB7IHRva2VuOiBcInNpZ2lsXCIsIGZvcmVncm91bmQ6IGNvbG9ycy50ZWFsIH0sXG4gIHsgdG9rZW46IFwiZnVuY3Rpb25cIiwgZm9yZWdyb3VuZDogY29sb3JzLmJsdWUgfSxcbiAgeyB0b2tlbjogXCJmdW5jdGlvbi5jYWxsXCIsIGZvcmVncm91bmQ6IGNvbG9ycy5kZWZhdWx0IH0sXG5cbiAgLy8gTWFya2Rvd24gc3BlY2lmaWNcbiAgeyB0b2tlbjogXCJlbXBoYXNpc1wiLCBmb250U3R5bGU6IFwiaXRhbGljXCIgfSxcbiAgeyB0b2tlbjogXCJzdHJvbmdcIiwgZm9udFN0eWxlOiBcImJvbGRcIiB9LFxuICB7IHRva2VuOiBcImtleXdvcmQubWRcIiwgZm9yZWdyb3VuZDogY29sb3JzLmxpZ2h0UmVkIH0sXG4gIHsgdG9rZW46IFwia2V5d29yZC50YWJsZVwiLCBmb3JlZ3JvdW5kOiBjb2xvcnMubGlnaHRSZWQgfSxcbiAgeyB0b2tlbjogXCJzdHJpbmcubGluay5tZFwiLCBmb3JlZ3JvdW5kOiBjb2xvcnMuYmx1ZSB9LFxuICB7IHRva2VuOiBcInZhcmlhYmxlLm1kXCIsIGZvcmVncm91bmQ6IGNvbG9ycy50ZWFsIH0sXG4gIHsgdG9rZW46IFwic3RyaW5nLm1kXCIsIGZvcmVncm91bmQ6IGNvbG9ycy5kZWZhdWx0IH0sXG4gIHsgdG9rZW46IFwidmFyaWFibGUuc291cmNlLm1kXCIsIGZvcmVncm91bmQ6IGNvbG9ycy5kZWZhdWx0IH0sXG5cbiAgLy8gWE1MIHNwZWNpZmljXG4gIHsgdG9rZW46IFwidGFnXCIsIGZvcmVncm91bmQ6IGNvbG9ycy5saWdodFJlZCB9LFxuICB7IHRva2VuOiBcIm1ldGF0YWdcIiwgZm9yZWdyb3VuZDogY29sb3JzLmxpZ2h0UmVkIH0sXG4gIHsgdG9rZW46IFwiYXR0cmlidXRlLm5hbWVcIiwgZm9yZWdyb3VuZDogY29sb3JzLnBlYWNoIH0sXG4gIHsgdG9rZW46IFwiYXR0cmlidXRlLnZhbHVlXCIsIGZvcmVncm91bmQ6IGNvbG9ycy5ncmVlbiB9LFxuXG4gIC8vIEpTT04gc3BlY2lmaWNcbiAgeyB0b2tlbjogXCJzdHJpbmcua2V5XCIsIGZvcmVncm91bmQ6IGNvbG9ycy5saWdodFJlZCB9LFxuICB7IHRva2VuOiBcImtleXdvcmQuanNvblwiLCBmb3JlZ3JvdW5kOiBjb2xvcnMuYmx1ZSB9LFxuXG4gIC8vIFNRTCBzcGVjaWZpY1xuICB7IHRva2VuOiBcIm9wZXJhdG9yLnNxbFwiLCBmb3JlZ3JvdW5kOiBjb2xvcnMucHVycGxlIH0sXG5dXG5cbmNvbnN0IHRoZW1lID0ge1xuICBiYXNlOiBcInZzLWRhcmtcIixcbiAgaW5oZXJpdDogZmFsc2UsXG4gIHJ1bGVzOiBydWxlcyhjb2xvcnMpLFxuICBjb2xvcnM6IHtcbiAgICBcImVkaXRvci5iYWNrZ3JvdW5kXCI6IGNvbG9ycy5iYWNrZ3JvdW5kLFxuICAgIFwiZWRpdG9yLmZvcmVncm91bmRcIjogY29sb3JzLmRlZmF1bHQsXG4gICAgXCJlZGl0b3JMaW5lTnVtYmVyLmZvcmVncm91bmRcIjogXCIjNjM2ZDgzXCIsXG4gICAgXCJlZGl0b3JDdXJzb3IuZm9yZWdyb3VuZFwiOiBcIiM2MzZkODNcIixcbiAgICBcImVkaXRvci5zZWxlY3Rpb25CYWNrZ3JvdW5kXCI6IFwiIzNlNDQ1MVwiLFxuICAgIFwiZWRpdG9yLmZpbmRNYXRjaEhpZ2hsaWdodEJhY2tncm91bmRcIjogXCIjNTI4YmZmM2RcIixcbiAgICBcImVkaXRvclN1Z2dlc3RXaWRnZXQuYmFja2dyb3VuZFwiOiBcIiMyMTI1MmJcIixcbiAgICBcImVkaXRvclN1Z2dlc3RXaWRnZXQuYm9yZGVyXCI6IFwiIzE4MWExZlwiLFxuICAgIFwiZWRpdG9yU3VnZ2VzdFdpZGdldC5zZWxlY3RlZEJhY2tncm91bmRcIjogXCIjMmMzMTNhXCIsXG4gICAgXCJpbnB1dC5iYWNrZ3JvdW5kXCI6IFwiIzFiMWQyM1wiLFxuICAgIFwiaW5wdXQuYm9yZGVyXCI6IFwiIzE4MWExZlwiLFxuICAgIFwiZWRpdG9yQnJhY2tldE1hdGNoLmJvcmRlclwiOiBcIiMyODJjMzRcIixcbiAgICBcImVkaXRvckJyYWNrZXRNYXRjaC5iYWNrZ3JvdW5kXCI6IFwiIzNlNDQ1MVwiLFxuICB9LFxufVxuXG5leHBvcnQgeyB0aGVtZSB9XG4iLCAiLy8gQ29waWVkIGFuZCBtb2RpZmllZCBmcm9tIHRoZSBvcmlnaW5hbCB3b3JrIGF2YWlsYWJsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vbGl2ZWJvb2stZGV2L2xpdmVib29rL2Jsb2IvODUzMmJjMzM0YmRjZjNjNTdmYWI5YjY5NDY2NmU2MDk4NzdkMjc5Zi9hc3NldHMvanMvaG9va3MvY2VsbF9lZGl0b3IvbGl2ZV9lZGl0b3IuanNcbi8vIENvcHlyaWdodCAoQykgMjAyMSBEYXNoYml0XG4vLyBMaWNlbnNlZCB1bmRlciBBcGFjaGUgMi4wIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbmltcG9ydCBsb2FkZXIgZnJvbSBcIkBtb25hY28tZWRpdG9yL2xvYWRlclwiXG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gXCIuL3RoZW1lc1wiXG5cbmNsYXNzIENvZGVFZGl0b3Ige1xuICBjb25zdHJ1Y3RvcihlbCwgcGF0aCwgdmFsdWUsIG9wdHMpIHtcbiAgICB0aGlzLmVsID0gZWxcbiAgICB0aGlzLnBhdGggPSBwYXRoXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlXG4gICAgdGhpcy5vcHRzID0gb3B0c1xuICAgIC8vIGh0dHBzOi8vbWljcm9zb2Z0LmdpdGh1Yi5pby9tb25hY28tZWRpdG9yL2RvY3MuaHRtbCNpbnRlcmZhY2VzL2VkaXRvci5JU3RhbmRhbG9uZUNvZGVFZGl0b3IuaHRtbFxuICAgIHRoaXMuc3RhbmRhbG9uZV9jb2RlX2VkaXRvciA9IG51bGxcbiAgICB0aGlzLl9vbk1vdW50ID0gW11cbiAgfVxuXG4gIGlzTW91bnRlZCgpIHtcbiAgICByZXR1cm4gISF0aGlzLnN0YW5kYWxvbmVfY29kZV9lZGl0b3JcbiAgfVxuXG4gIG1vdW50KCkge1xuICAgIGlmICh0aGlzLmlzTW91bnRlZCgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUaGUgbW9uYWNvIGVkaXRvciBpcyBhbHJlYWR5IG1vdW50ZWRcIilcbiAgICB9XG5cbiAgICB0aGlzLl9tb3VudEVkaXRvcigpXG4gIH1cblxuICBvbk1vdW50KGNhbGxiYWNrKSB7XG4gICAgdGhpcy5fb25Nb3VudC5wdXNoKGNhbGxiYWNrKVxuICB9XG5cbiAgZGlzcG9zZSgpIHtcbiAgICBpZiAodGhpcy5pc01vdW50ZWQoKSkge1xuICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLnN0YW5kYWxvbmVfY29kZV9lZGl0b3IuZ2V0TW9kZWwoKVxuXG4gICAgICBpZiAobW9kZWwpIHtcbiAgICAgICAgbW9kZWwuZGlzcG9zZSgpXG4gICAgICB9XG5cbiAgICAgIHRoaXMuc3RhbmRhbG9uZV9jb2RlX2VkaXRvci5kaXNwb3NlKClcbiAgICB9XG4gIH1cblxuICBfbW91bnRFZGl0b3IoKSB7XG4gICAgdGhpcy5vcHRzLnZhbHVlID0gdGhpcy52YWx1ZVxuXG4gICAgbG9hZGVyLmNvbmZpZyh7XG4gICAgICBwYXRoczogeyB2czogXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL21vbmFjby1lZGl0b3JAbGF0ZXN0L21pbi92c1wiIH0sXG4gICAgfSlcblxuICAgIGxvYWRlci5pbml0KCkudGhlbigobW9uYWNvKSA9PiB7XG4gICAgICBtb25hY28uZWRpdG9yLmRlZmluZVRoZW1lKFwiZGVmYXVsdFwiLCB0aGVtZSlcblxuICAgICAgbGV0IG1vZGVsVXJpID0gbW9uYWNvLlVyaS5wYXJzZSh0aGlzLnBhdGgpXG4gICAgICBsZXQgbGFuZ3VhZ2UgPSB0aGlzLm9wdHMubGFuZ3VhZ2VcbiAgICAgIGxldCBtb2RlbCA9IG1vbmFjby5lZGl0b3IuY3JlYXRlTW9kZWwodGhpcy52YWx1ZSwgbGFuZ3VhZ2UsIG1vZGVsVXJpKVxuXG4gICAgICB0aGlzLm9wdHMubGFuZ3VhZ2UgPSB1bmRlZmluZWRcbiAgICAgIHRoaXMub3B0cy5tb2RlbCA9IG1vZGVsXG4gICAgICB0aGlzLnN0YW5kYWxvbmVfY29kZV9lZGl0b3IgPSBtb25hY28uZWRpdG9yLmNyZWF0ZSh0aGlzLmVsLCB0aGlzLm9wdHMpXG5cbiAgICAgIHRoaXMuX29uTW91bnQuZm9yRWFjaCgoY2FsbGJhY2spID0+IGNhbGxiYWNrKG1vbmFjbykpXG5cbiAgICAgIHRoaXMuX3NldFNjcmVlbkRlcGVuZGFudEVkaXRvck9wdGlvbnMoKVxuXG4gICAgICBjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhcInJlc2l6ZU9ic2VydmVyXCIpXG4gICAgICAgIGVudHJpZXMuZm9yRWFjaCgoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuZWwub2Zmc2V0SGVpZ2h0ID4gMCkge1xuICAgICAgICAgICAgdGhpcy5fc2V0U2NyZWVuRGVwZW5kYW50RWRpdG9yT3B0aW9ucygpXG4gICAgICAgICAgICB0aGlzLnN0YW5kYWxvbmVfY29kZV9lZGl0b3IubGF5b3V0KClcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9KVxuXG4gICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuZWwpXG5cbiAgICAgIHRoaXMuc3RhbmRhbG9uZV9jb2RlX2VkaXRvci5vbkRpZENvbnRlbnRTaXplQ2hhbmdlKCgpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coXCJvbkRpZENvbnRlbnRTaXplQ2hhbmdlc1wiKVxuICAgICAgICBjb25zdCBjb250ZW50SGVpZ2h0ID0gdGhpcy5zdGFuZGFsb25lX2NvZGVfZWRpdG9yLmdldENvbnRlbnRIZWlnaHQoKVxuICAgICAgICB0aGlzLmVsLnN0eWxlLmhlaWdodCA9IGAke2NvbnRlbnRIZWlnaHR9cHhgXG4gICAgICB9KVxuICAgIH0pXG4gIH1cblxuICBfc2V0U2NyZWVuRGVwZW5kYW50RWRpdG9yT3B0aW9ucygpIHtcbiAgICBpZiAod2luZG93LnNjcmVlbi53aWR0aCA8IDc2OCkge1xuICAgICAgdGhpcy5zdGFuZGFsb25lX2NvZGVfZWRpdG9yLnVwZGF0ZU9wdGlvbnMoe1xuICAgICAgICBmb2xkaW5nOiBmYWxzZSxcbiAgICAgICAgbGluZURlY29yYXRpb25zV2lkdGg6IDE2LFxuICAgICAgICBsaW5lTnVtYmVyc01pbkNoYXJzOlxuICAgICAgICAgIE1hdGguZmxvb3IoXG4gICAgICAgICAgICBNYXRoLmxvZzEwKHRoaXMuc3RhbmRhbG9uZV9jb2RlX2VkaXRvci5nZXRNb2RlbCgpLmdldExpbmVDb3VudCgpKVxuICAgICAgICAgICkgKyAzLFxuICAgICAgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGFuZGFsb25lX2NvZGVfZWRpdG9yLnVwZGF0ZU9wdGlvbnMoe1xuICAgICAgICBmb2xkaW5nOiB0cnVlLFxuICAgICAgICBsaW5lRGVjb3JhdGlvbnNXaWR0aDogMTAsXG4gICAgICAgIGxpbmVOdW1iZXJzTWluQ2hhcnM6IDUsXG4gICAgICB9KVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBDb2RlRWRpdG9yXG4iLCAiaW1wb3J0IENvZGVFZGl0b3IgZnJvbSBcIi4uL2VkaXRvci9jb2RlX2VkaXRvclwiXG5cbmNvbnN0IENvZGVFZGl0b3JIb29rID0ge1xuICBtb3VudGVkKCkge1xuICAgIC8vIFRPRE86IHZhbGlkYXRlIGRhdGFzZXRcbiAgICBjb25zdCBvcHRzID0gSlNPTi5wYXJzZSh0aGlzLmVsLmRhdGFzZXQub3B0cylcbiAgICB0aGlzLmNvZGVFZGl0b3IgPSBuZXcgQ29kZUVkaXRvcihcbiAgICAgIHRoaXMuZWwsXG4gICAgICB0aGlzLmVsLmRhdGFzZXQucGF0aCxcbiAgICAgIHRoaXMuZWwuZGF0YXNldC52YWx1ZSxcbiAgICAgIG9wdHNcbiAgICApXG5cbiAgICB0aGlzLmNvZGVFZGl0b3Iub25Nb3VudCgobW9uYWNvKSA9PiB7XG4gICAgICB0aGlzLmVsLmRpc3BhdGNoRXZlbnQoXG4gICAgICAgIG5ldyBDdXN0b21FdmVudChcImxtZTplZGl0b3JfbW91bnRlZFwiLCB7XG4gICAgICAgICAgZGV0YWlsOiB7IGhvb2s6IHRoaXMsIGVkaXRvcjogdGhpcy5jb2RlRWRpdG9yIH0sXG4gICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgfSlcbiAgICAgIClcblxuICAgICAgdGhpcy5oYW5kbGVFdmVudChcbiAgICAgICAgXCJsbWU6Y2hhbmdlX2xhbmd1YWdlOlwiICsgdGhpcy5lbC5kYXRhc2V0LnBhdGgsXG4gICAgICAgIChkYXRhKSA9PiB7XG4gICAgICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLmNvZGVFZGl0b3Iuc3RhbmRhbG9uZV9jb2RlX2VkaXRvci5nZXRNb2RlbCgpXG5cbiAgICAgICAgICBpZiAobW9kZWwuZ2V0TGFuZ3VhZ2VJZCgpICE9PSBkYXRhLm1pbWVUeXBlT3JMYW5ndWFnZUlkKSB7XG4gICAgICAgICAgICBtb25hY28uZWRpdG9yLnNldE1vZGVsTGFuZ3VhZ2UobW9kZWwsIGRhdGEubWltZVR5cGVPckxhbmd1YWdlSWQpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApXG5cbiAgICAgIHRoaXMuaGFuZGxlRXZlbnQoXCJsbWU6c2V0X3ZhbHVlOlwiICsgdGhpcy5lbC5kYXRhc2V0LnBhdGgsIChkYXRhKSA9PiB7XG4gICAgICAgIHRoaXMuY29kZUVkaXRvci5zdGFuZGFsb25lX2NvZGVfZWRpdG9yLnNldFZhbHVlKGRhdGEudmFsdWUpXG4gICAgICB9KVxuXG4gICAgICB0aGlzLmVsLnF1ZXJ5U2VsZWN0b3JBbGwoXCJ0ZXh0YXJlYVwiKS5mb3JFYWNoKCh0ZXh0YXJlYSkgPT4ge1xuICAgICAgICB0ZXh0YXJlYS5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgXCJuYW1lXCIsXG4gICAgICAgICAgXCJsaXZlX21vbmFjb19lZGl0b3JbXCIgKyB0aGlzLmVsLmRhdGFzZXQucGF0aCArIFwiXVwiXG4gICAgICAgIClcbiAgICAgIH0pXG5cbiAgICAgIHRoaXMuZWwucmVtb3ZlQXR0cmlidXRlKFwiZGF0YS12YWx1ZVwiKVxuICAgICAgdGhpcy5lbC5yZW1vdmVBdHRyaWJ1dGUoXCJkYXRhLW9wdHNcIilcbiAgICB9KVxuXG4gICAgaWYgKCF0aGlzLmNvZGVFZGl0b3IuaXNNb3VudGVkKCkpIHtcbiAgICAgIHRoaXMuY29kZUVkaXRvci5tb3VudCgpXG4gICAgfVxuICB9LFxuXG4gIGRlc3Ryb3llZCgpIHtcbiAgICBpZiAodGhpcy5jb2RlRWRpdG9yKSB7XG4gICAgICB0aGlzLmNvZGVFZGl0b3IuZGlzcG9zZSgpXG4gICAgfVxuICB9LFxufVxuXG5leHBvcnQgeyBDb2RlRWRpdG9ySG9vayB9XG4iLCAiZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZUNvbXBvbmVudHMoY29tcG9uZW50cykge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShjb21wb25lbnRzLmRlZmF1bHQpIHx8ICFBcnJheS5pc0FycmF5KGNvbXBvbmVudHMuZmlsZW5hbWVzKSkgcmV0dXJuIGNvbXBvbmVudHNcblxuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSB7fVxuICAgIGZvciAoY29uc3QgW2luZGV4LCBtb2R1bGVdIG9mIGNvbXBvbmVudHMuZGVmYXVsdC5lbnRyaWVzKCkpIHtcbiAgICAgICAgY29uc3QgQ29tcG9uZW50ID0gbW9kdWxlLmRlZmF1bHRcbiAgICAgICAgY29uc3QgbmFtZSA9IGNvbXBvbmVudHMuZmlsZW5hbWVzW2luZGV4XS5yZXBsYWNlKFwiLi4vc3ZlbHRlL1wiLCBcIlwiKS5yZXBsYWNlKFwiLnN2ZWx0ZVwiLCBcIlwiKVxuICAgICAgICBub3JtYWxpemVkW25hbWVdID0gQ29tcG9uZW50XG4gICAgfVxuICAgIHJldHVybiBub3JtYWxpemVkXG59XG4iLCAiaW1wb3J0IHtub3JtYWxpemVDb21wb25lbnRzfSBmcm9tIFwiLi91dGlsc1wiXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZW5kZXIoY29tcG9uZW50cykge1xuICAgIGNvbXBvbmVudHMgPSBub3JtYWxpemVDb21wb25lbnRzKGNvbXBvbmVudHMpXG5cbiAgICByZXR1cm4gZnVuY3Rpb24gcmVuZGVyKG5hbWUsIHByb3BzLCBzbG90cykge1xuICAgICAgICBjb25zdCBDb21wb25lbnQgPSBjb21wb25lbnRzW25hbWVdXG4gICAgICAgIGNvbnN0ICQkc2xvdHMgPSBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMoc2xvdHMpLm1hcCgoW2ssIHZdKSA9PiBbaywgKCkgPT4gdl0pKVxuICAgICAgICByZXR1cm4gQ29tcG9uZW50LnJlbmRlcihwcm9wcywgeyQkc2xvdHN9KVxuICAgIH1cbn1cbiIsICJpbXBvcnQge25vcm1hbGl6ZUNvbXBvbmVudHN9IGZyb20gXCIuL3V0aWxzXCJcblxuZnVuY3Rpb24gZ2V0QXR0cmlidXRlSnNvbihyZWYsIGF0dHJpYnV0ZU5hbWUpIHtcbiAgICBjb25zdCBkYXRhID0gcmVmLmVsLmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKVxuICAgIHJldHVybiBkYXRhID8gSlNPTi5wYXJzZShkYXRhKSA6IHt9XG59XG5cbmZ1bmN0aW9uIGRldGFjaChub2RlKSB7XG4gICAgbm9kZS5wYXJlbnROb2RlPy5yZW1vdmVDaGlsZChub2RlKVxufVxuXG5mdW5jdGlvbiBpbnNlcnQodGFyZ2V0LCBub2RlLCBhbmNob3IpIHtcbiAgICB0YXJnZXQuaW5zZXJ0QmVmb3JlKG5vZGUsIGFuY2hvciB8fCBudWxsKVxufVxuXG5mdW5jdGlvbiBub29wKCkge31cblxuZnVuY3Rpb24gZ2V0U2xvdHMocmVmKSB7XG4gICAgY29uc3Qgc2xvdHMgPSB7fVxuXG4gICAgZm9yIChjb25zdCBzbG90TmFtZSBpbiBnZXRBdHRyaWJ1dGVKc29uKHJlZiwgXCJkYXRhLXNsb3RzXCIpKSB7XG4gICAgICAgIGNvbnN0IHNsb3QgPSAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGdldEVsZW1lbnQoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJhc2U2NCA9IGdldEF0dHJpYnV0ZUpzb24ocmVmLCBcImRhdGEtc2xvdHNcIilbc2xvdE5hbWVdXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gYXRvYihiYXNlNjQpLnRyaW0oKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdXBkYXRlKCkge1xuICAgICAgICAgICAgICAgICAgICBkZXRhY2godGhpcy5zYXZlZEVsZW1lbnQpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2F2ZWRFbGVtZW50ID0gdGhpcy5nZXRFbGVtZW50KClcbiAgICAgICAgICAgICAgICAgICAgaW5zZXJ0KHRoaXMuc2F2ZWRUYXJnZXQsIHRoaXMuc2F2ZWRFbGVtZW50LCB0aGlzLnNhdmVkQW5jaG9yKVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYzogbm9vcCxcbiAgICAgICAgICAgICAgICBtKHRhcmdldCwgYW5jaG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2F2ZWRUYXJnZXQgPSB0YXJnZXRcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zYXZlZEFuY2hvciA9IGFuY2hvclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNhdmVkRWxlbWVudCA9IHRoaXMuZ2V0RWxlbWVudCgpXG4gICAgICAgICAgICAgICAgICAgIGluc2VydCh0aGlzLnNhdmVkVGFyZ2V0LCB0aGlzLnNhdmVkRWxlbWVudCwgdGhpcy5zYXZlZEFuY2hvcilcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGQoZGV0YWNoaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkZXRhY2hpbmcpIGRldGFjaCh0aGlzLnNhdmVkRWxlbWVudClcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGw6IG5vb3AsXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzbG90c1tzbG90TmFtZV0gPSBbc2xvdF1cbiAgICB9XG5cbiAgICByZXR1cm4gc2xvdHNcbn1cblxuZnVuY3Rpb24gZ2V0TGl2ZUpzb25Qcm9wcyhyZWYpIHtcbiAgICBjb25zdCBqc29uID0gZ2V0QXR0cmlidXRlSnNvbihyZWYsIFwiZGF0YS1saXZlLWpzb25cIilcblxuICAgIC8vIE9uIFNTUiwgZGF0YS1saXZlLWpzb24gaXMgdGhlIGZ1bGwgb2JqZWN0IHdlIHdhbnRcbiAgICAvLyBBZnRlciBTU1IsIGRhdGEtbGl2ZS1qc29uIGlzIGFuIGFycmF5IG9mIGtleXMsIGFuZCB3ZSdsbCBnZXQgdGhlIGRhdGEgZnJvbSB0aGUgd2luZG93XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGpzb24pKSByZXR1cm4ganNvblxuXG4gICAgY29uc3QgbGl2ZUpzb25EYXRhID0ge31cbiAgICBmb3IgKGNvbnN0IGxpdmVKc29uVmFyaWFibGUgb2YganNvbikge1xuICAgICAgICBjb25zdCBkYXRhID0gd2luZG93W2xpdmVKc29uVmFyaWFibGVdXG4gICAgICAgIGlmIChkYXRhKSBsaXZlSnNvbkRhdGFbbGl2ZUpzb25WYXJpYWJsZV0gPSBkYXRhXG4gICAgfVxuICAgIHJldHVybiBsaXZlSnNvbkRhdGFcbn1cblxuZnVuY3Rpb24gZ2V0UHJvcHMocmVmKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZ2V0QXR0cmlidXRlSnNvbihyZWYsIFwiZGF0YS1wcm9wc1wiKSxcbiAgICAgICAgLi4uZ2V0TGl2ZUpzb25Qcm9wcyhyZWYpLFxuICAgICAgICBsaXZlOiByZWYsXG4gICAgICAgICQkc2xvdHM6IGdldFNsb3RzKHJlZiksXG4gICAgICAgICQkc2NvcGU6IHt9LFxuICAgIH1cbn1cblxuZnVuY3Rpb24gZmluZFNsb3RDdHgoY29tcG9uZW50KSB7XG4gICAgLy8gVGhlIGRlZmF1bHQgc2xvdCBhbHdheXMgZXhpc3RzIGlmIHRoZXJlJ3MgYSBzbG90IHNldFxuICAgIC8vIGV2ZW4gaWYgbm8gc2xvdCBpcyBzZXQgZm9yIHRoZSBleHBsaWNpdCBkZWZhdWx0IHNsb3RcbiAgICByZXR1cm4gY29tcG9uZW50LiQkLmN0eC5maW5kKGN0eEVsZW1lbnQgPT4gY3R4RWxlbWVudD8uZGVmYXVsdClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEhvb2tzKGNvbXBvbmVudHMpIHtcbiAgICBjb21wb25lbnRzID0gbm9ybWFsaXplQ29tcG9uZW50cyhjb21wb25lbnRzKVxuXG4gICAgY29uc3QgU3ZlbHRlSG9vayA9IHtcbiAgICAgICAgbW91bnRlZCgpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudE5hbWUgPSB0aGlzLmVsLmdldEF0dHJpYnV0ZShcImRhdGEtbmFtZVwiKVxuICAgICAgICAgICAgaWYgKCFjb21wb25lbnROYW1lKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ29tcG9uZW50IG5hbWUgbXVzdCBiZSBwcm92aWRlZFwiKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBDb21wb25lbnQgPSBjb21wb25lbnRzW2NvbXBvbmVudE5hbWVdXG4gICAgICAgICAgICBpZiAoIUNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGZpbmQgJHtjb21wb25lbnROYW1lfSBjb21wb25lbnQuYClcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm9yIChjb25zdCBsaXZlSnNvbkVsZW1lbnQgb2YgT2JqZWN0LmtleXMoZ2V0QXR0cmlidXRlSnNvbih0aGlzLCBcImRhdGEtbGl2ZS1qc29uXCIpKSkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGAke2xpdmVKc29uRWxlbWVudH1faW5pdGlhbGl6ZWRgLCBldmVudCA9PiB0aGlzLl9pbnN0YW5jZS4kc2V0KGdldFByb3BzKHRoaXMpKSwgZmFsc2UpXG4gICAgICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoYCR7bGl2ZUpzb25FbGVtZW50fV9wYXRjaGVkYCwgZXZlbnQgPT4gdGhpcy5faW5zdGFuY2UuJHNldChnZXRQcm9wcyh0aGlzKSksIGZhbHNlKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLl9pbnN0YW5jZSA9IG5ldyBDb21wb25lbnQoe1xuICAgICAgICAgICAgICAgIHRhcmdldDogdGhpcy5lbCxcbiAgICAgICAgICAgICAgICBwcm9wczogZ2V0UHJvcHModGhpcyksXG4gICAgICAgICAgICAgICAgaHlkcmF0ZTogdGhpcy5lbC5oYXNBdHRyaWJ1dGUoXCJkYXRhLXNzclwiKSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0sXG5cbiAgICAgICAgdXBkYXRlZCgpIHtcbiAgICAgICAgICAgIC8vIFNldCB0aGUgcHJvcHNcbiAgICAgICAgICAgIHRoaXMuX2luc3RhbmNlLiRzZXQoZ2V0UHJvcHModGhpcykpXG5cbiAgICAgICAgICAgIC8vIFNldCB0aGUgc2xvdHNcbiAgICAgICAgICAgIGNvbnN0IHNsb3RDdHggPSBmaW5kU2xvdEN0eCh0aGlzLl9pbnN0YW5jZSlcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHNsb3RDdHgpIHtcbiAgICAgICAgICAgICAgICBzbG90Q3R4W2tleV1bMF0oKS51cGRhdGUoKVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuXG4gICAgICAgIGRlc3Ryb3llZCgpIHtcbiAgICAgICAgICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gZGVzdHJveSB0aGUgY29tcG9uZW50XG4gICAgICAgICAgICAvLyBJZiB3ZSBkbyBhIHBhZ2UgbmF2aWdhdGlvbiwgdGhpcyB3b3VsZCByZW1vdmUgdGhlIGNvbXBvbmVudCBpbiB0aGUgRE9NLFxuICAgICAgICAgICAgLy8gYW5kIHRoZW4gaXQgd291bGQgdG8gdGhlIHRyYW5zaXRpb24sIGNhdXNpbmcgYSBmbGlja2VyIG9mIHVucmVuZGVyZWQgY29udGVudFxuICAgICAgICAgICAgLy8gU2luY2Ugd2UncmUgZG9pbmcgYSBwYWdlIHRyYW5zaXRpb24gYW55d2F5LCB0aGUgY29tcG9uZW50IHdpbGwgYmUgcmVtb3ZlIGF1dG9tYXRpY2FsbHlcbiAgICAgICAgfSxcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBTdmVsdGVIb29rLFxuICAgIH1cbn1cbiIsICJcbiAgICAgICAgaW1wb3J0ICogYXMgbW9kdWxlMCBmcm9tICcuLi9zdmVsdGUvY29tcG9uZW50cy9CYWNrZHJvcC5zdmVsdGUnO2ltcG9ydCAqIGFzIG1vZHVsZTEgZnJvbSAnLi4vc3ZlbHRlL2NvbXBvbmVudHMvQnJvd3NlckZyYW1lLnN2ZWx0ZSc7aW1wb3J0ICogYXMgbW9kdWxlMiBmcm9tICcuLi9zdmVsdGUvY29tcG9uZW50cy9Db2RlRWRpdG9yLnN2ZWx0ZSc7aW1wb3J0ICogYXMgbW9kdWxlMyBmcm9tICcuLi9zdmVsdGUvY29tcG9uZW50cy9Db21wb25lbnRzU2lkZWJhci5zdmVsdGUnO2ltcG9ydCAqIGFzIG1vZHVsZTQgZnJvbSAnLi4vc3ZlbHRlL2NvbXBvbmVudHMvTGF5b3V0QXN0Tm9kZS5zdmVsdGUnO2ltcG9ydCAqIGFzIG1vZHVsZTUgZnJvbSAnLi4vc3ZlbHRlL2NvbXBvbmVudHMvUGFnZUFzdE5vZGUuc3ZlbHRlJztpbXBvcnQgKiBhcyBtb2R1bGU2IGZyb20gJy4uL3N2ZWx0ZS9jb21wb25lbnRzL1BhZ2VQcmV2aWV3LnN2ZWx0ZSc7aW1wb3J0ICogYXMgbW9kdWxlNyBmcm9tICcuLi9zdmVsdGUvY29tcG9uZW50cy9QaWxsLnN2ZWx0ZSc7aW1wb3J0ICogYXMgbW9kdWxlOCBmcm9tICcuLi9zdmVsdGUvY29tcG9uZW50cy9Qcm9wZXJ0aWVzU2lkZWJhci5zdmVsdGUnO2ltcG9ydCAqIGFzIG1vZHVsZTkgZnJvbSAnLi4vc3ZlbHRlL2NvbXBvbmVudHMvU2lkZWJhclNlY3Rpb24uc3ZlbHRlJztpbXBvcnQgKiBhcyBtb2R1bGUxMCBmcm9tICcuLi9zdmVsdGUvY29tcG9uZW50cy9VaUJ1aWxkZXIuc3ZlbHRlJ1xuXG4gICAgICAgIGNvbnN0IG1vZHVsZXMgPSBbbW9kdWxlMCxtb2R1bGUxLG1vZHVsZTIsbW9kdWxlMyxtb2R1bGU0LG1vZHVsZTUsbW9kdWxlNixtb2R1bGU3LG1vZHVsZTgsbW9kdWxlOSxtb2R1bGUxMF07XG5cbiAgICAgICAgZXhwb3J0IGRlZmF1bHQgbW9kdWxlcztcbiAgICAgICAgZXhwb3J0IGNvbnN0IGZpbGVuYW1lcyA9IFsnLi4vc3ZlbHRlL2NvbXBvbmVudHMvQmFja2Ryb3Auc3ZlbHRlJywnLi4vc3ZlbHRlL2NvbXBvbmVudHMvQnJvd3NlckZyYW1lLnN2ZWx0ZScsJy4uL3N2ZWx0ZS9jb21wb25lbnRzL0NvZGVFZGl0b3Iuc3ZlbHRlJywnLi4vc3ZlbHRlL2NvbXBvbmVudHMvQ29tcG9uZW50c1NpZGViYXIuc3ZlbHRlJywnLi4vc3ZlbHRlL2NvbXBvbmVudHMvTGF5b3V0QXN0Tm9kZS5zdmVsdGUnLCcuLi9zdmVsdGUvY29tcG9uZW50cy9QYWdlQXN0Tm9kZS5zdmVsdGUnLCcuLi9zdmVsdGUvY29tcG9uZW50cy9QYWdlUHJldmlldy5zdmVsdGUnLCcuLi9zdmVsdGUvY29tcG9uZW50cy9QaWxsLnN2ZWx0ZScsJy4uL3N2ZWx0ZS9jb21wb25lbnRzL1Byb3BlcnRpZXNTaWRlYmFyLnN2ZWx0ZScsJy4uL3N2ZWx0ZS9jb21wb25lbnRzL1NpZGViYXJTZWN0aW9uLnN2ZWx0ZScsJy4uL3N2ZWx0ZS9jb21wb25lbnRzL1VpQnVpbGRlci5zdmVsdGUnXVxuICAgICAgIiwgIi8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbmV4cG9ydCBmdW5jdGlvbiBub29wKCkge31cblxuZXhwb3J0IGNvbnN0IGlkZW50aXR5ID0gKHgpID0+IHg7XG5cbi8qKlxuICogQHRlbXBsYXRlIFRcbiAqIEB0ZW1wbGF0ZSBTXG4gKiBAcGFyYW0ge1R9IHRhclxuICogQHBhcmFtIHtTfSBzcmNcbiAqIEByZXR1cm5zIHtUICYgU31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2lnbih0YXIsIHNyYykge1xuXHQvLyBAdHMtaWdub3JlXG5cdGZvciAoY29uc3QgayBpbiBzcmMpIHRhcltrXSA9IHNyY1trXTtcblx0cmV0dXJuIC8qKiBAdHlwZSB7VCAmIFN9ICovICh0YXIpO1xufVxuXG4vLyBBZGFwdGVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3RoZW4vaXMtcHJvbWlzZS9ibG9iL21hc3Rlci9pbmRleC5qc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgTUlUIExpY2Vuc2UgaHR0cHM6Ly9naXRodWIuY29tL3RoZW4vaXMtcHJvbWlzZS9ibG9iL21hc3Rlci9MSUNFTlNFXG4vKipcbiAqIEBwYXJhbSB7YW55fSB2YWx1ZVxuICogQHJldHVybnMge3ZhbHVlIGlzIFByb21pc2VMaWtlPGFueT59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc19wcm9taXNlKHZhbHVlKSB7XG5cdHJldHVybiAoXG5cdFx0ISF2YWx1ZSAmJlxuXHRcdCh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJykgJiZcblx0XHR0eXBlb2YgKC8qKiBAdHlwZSB7YW55fSAqLyAodmFsdWUpLnRoZW4pID09PSAnZnVuY3Rpb24nXG5cdCk7XG59XG5cbi8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRfbG9jYXRpb24oZWxlbWVudCwgZmlsZSwgbGluZSwgY29sdW1uLCBjaGFyKSB7XG5cdGVsZW1lbnQuX19zdmVsdGVfbWV0YSA9IHtcblx0XHRsb2M6IHsgZmlsZSwgbGluZSwgY29sdW1uLCBjaGFyIH1cblx0fTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJ1bihmbikge1xuXHRyZXR1cm4gZm4oKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJsYW5rX29iamVjdCgpIHtcblx0cmV0dXJuIE9iamVjdC5jcmVhdGUobnVsbCk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtGdW5jdGlvbltdfSBmbnNcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gcnVuX2FsbChmbnMpIHtcblx0Zm5zLmZvckVhY2gocnVuKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge2FueX0gdGhpbmdcbiAqIEByZXR1cm5zIHt0aGluZyBpcyBGdW5jdGlvbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzX2Z1bmN0aW9uKHRoaW5nKSB7XG5cdHJldHVybiB0eXBlb2YgdGhpbmcgPT09ICdmdW5jdGlvbic7XG59XG5cbi8qKiBAcmV0dXJucyB7Ym9vbGVhbn0gKi9cbmV4cG9ydCBmdW5jdGlvbiBzYWZlX25vdF9lcXVhbChhLCBiKSB7XG5cdHJldHVybiBhICE9IGEgPyBiID09IGIgOiBhICE9PSBiIHx8IChhICYmIHR5cGVvZiBhID09PSAnb2JqZWN0JykgfHwgdHlwZW9mIGEgPT09ICdmdW5jdGlvbic7XG59XG5cbmxldCBzcmNfdXJsX2VxdWFsX2FuY2hvcjtcblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gZWxlbWVudF9zcmNcbiAqIEBwYXJhbSB7c3RyaW5nfSB1cmxcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5leHBvcnQgZnVuY3Rpb24gc3JjX3VybF9lcXVhbChlbGVtZW50X3NyYywgdXJsKSB7XG5cdGlmIChlbGVtZW50X3NyYyA9PT0gdXJsKSByZXR1cm4gdHJ1ZTtcblx0aWYgKCFzcmNfdXJsX2VxdWFsX2FuY2hvcikge1xuXHRcdHNyY191cmxfZXF1YWxfYW5jaG9yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuXHR9XG5cdC8vIFRoaXMgaXMgYWN0dWFsbHkgZmFzdGVyIHRoYW4gZG9pbmcgVVJMKC4uKS5ocmVmXG5cdHNyY191cmxfZXF1YWxfYW5jaG9yLmhyZWYgPSB1cmw7XG5cdHJldHVybiBlbGVtZW50X3NyYyA9PT0gc3JjX3VybF9lcXVhbF9hbmNob3IuaHJlZjtcbn1cblxuLyoqIEBwYXJhbSB7c3RyaW5nfSBzcmNzZXQgKi9cbmZ1bmN0aW9uIHNwbGl0X3NyY3NldChzcmNzZXQpIHtcblx0cmV0dXJuIHNyY3NldC5zcGxpdCgnLCcpLm1hcCgoc3JjKSA9PiBzcmMudHJpbSgpLnNwbGl0KCcgJykuZmlsdGVyKEJvb2xlYW4pKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge0hUTUxTb3VyY2VFbGVtZW50IHwgSFRNTEltYWdlRWxlbWVudH0gZWxlbWVudF9zcmNzZXRcbiAqIEBwYXJhbSB7c3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbH0gc3Jjc2V0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNyY3NldF91cmxfZXF1YWwoZWxlbWVudF9zcmNzZXQsIHNyY3NldCkge1xuXHRjb25zdCBlbGVtZW50X3VybHMgPSBzcGxpdF9zcmNzZXQoZWxlbWVudF9zcmNzZXQuc3Jjc2V0KTtcblx0Y29uc3QgdXJscyA9IHNwbGl0X3NyY3NldChzcmNzZXQgfHwgJycpO1xuXG5cdHJldHVybiAoXG5cdFx0dXJscy5sZW5ndGggPT09IGVsZW1lbnRfdXJscy5sZW5ndGggJiZcblx0XHR1cmxzLmV2ZXJ5KFxuXHRcdFx0KFt1cmwsIHdpZHRoXSwgaSkgPT5cblx0XHRcdFx0d2lkdGggPT09IGVsZW1lbnRfdXJsc1tpXVsxXSAmJlxuXHRcdFx0XHQvLyBXZSBuZWVkIHRvIHRlc3QgYm90aCB3YXlzIGJlY2F1c2UgVml0ZSB3aWxsIGNyZWF0ZSBhbiBhIGZ1bGwgVVJMIHdpdGhcblx0XHRcdFx0Ly8gYG5ldyBVUkwoYXNzZXQsIGltcG9ydC5tZXRhLnVybCkuaHJlZmAgZm9yIHRoZSBjbGllbnQgd2hlbiBgYmFzZTogJy4vJ2AsIGFuZCB0aGVcblx0XHRcdFx0Ly8gcmVsYXRpdmUgVVJMcyBpbnNpZGUgc3Jjc2V0IGFyZSBub3QgYXV0b21hdGljYWxseSByZXNvbHZlZCB0byBhYnNvbHV0ZSBVUkxzIGJ5XG5cdFx0XHRcdC8vIGJyb3dzZXJzIChpbiBjb250cmFzdCB0byBpbWcuc3JjKS4gVGhpcyBtZWFucyBib3RoIFNTUiBhbmQgRE9NIGNvZGUgY291bGRcblx0XHRcdFx0Ly8gY29udGFpbiByZWxhdGl2ZSBvciBhYnNvbHV0ZSBVUkxzLlxuXHRcdFx0XHQoc3JjX3VybF9lcXVhbChlbGVtZW50X3VybHNbaV1bMF0sIHVybCkgfHwgc3JjX3VybF9lcXVhbCh1cmwsIGVsZW1lbnRfdXJsc1tpXVswXSkpXG5cdFx0KVxuXHQpO1xufVxuXG4vKiogQHJldHVybnMge2Jvb2xlYW59ICovXG5leHBvcnQgZnVuY3Rpb24gbm90X2VxdWFsKGEsIGIpIHtcblx0cmV0dXJuIGEgIT0gYSA/IGIgPT0gYiA6IGEgIT09IGI7XG59XG5cbi8qKiBAcmV0dXJucyB7Ym9vbGVhbn0gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc19lbXB0eShvYmopIHtcblx0cmV0dXJuIE9iamVjdC5rZXlzKG9iaikubGVuZ3RoID09PSAwO1xufVxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVfc3RvcmUoc3RvcmUsIG5hbWUpIHtcblx0aWYgKHN0b3JlICE9IG51bGwgJiYgdHlwZW9mIHN0b3JlLnN1YnNjcmliZSAhPT0gJ2Z1bmN0aW9uJykge1xuXHRcdHRocm93IG5ldyBFcnJvcihgJyR7bmFtZX0nIGlzIG5vdCBhIHN0b3JlIHdpdGggYSAnc3Vic2NyaWJlJyBtZXRob2RgKTtcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3Vic2NyaWJlKHN0b3JlLCAuLi5jYWxsYmFja3MpIHtcblx0aWYgKHN0b3JlID09IG51bGwpIHtcblx0XHRmb3IgKGNvbnN0IGNhbGxiYWNrIG9mIGNhbGxiYWNrcykge1xuXHRcdFx0Y2FsbGJhY2sodW5kZWZpbmVkKTtcblx0XHR9XG5cdFx0cmV0dXJuIG5vb3A7XG5cdH1cblx0Y29uc3QgdW5zdWIgPSBzdG9yZS5zdWJzY3JpYmUoLi4uY2FsbGJhY2tzKTtcblx0cmV0dXJuIHVuc3ViLnVuc3Vic2NyaWJlID8gKCkgPT4gdW5zdWIudW5zdWJzY3JpYmUoKSA6IHVuc3ViO1xufVxuXG4vKipcbiAqIEdldCB0aGUgY3VycmVudCB2YWx1ZSBmcm9tIGEgc3RvcmUgYnkgc3Vic2NyaWJpbmcgYW5kIGltbWVkaWF0ZWx5IHVuc3Vic2NyaWJpbmcuXG4gKlxuICogaHR0cHM6Ly9zdmVsdGUuZGV2L2RvY3Mvc3ZlbHRlLXN0b3JlI2dldFxuICogQHRlbXBsYXRlIFRcbiAqIEBwYXJhbSB7aW1wb3J0KCcuLi9zdG9yZS9wdWJsaWMuanMnKS5SZWFkYWJsZTxUPn0gc3RvcmVcbiAqIEByZXR1cm5zIHtUfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0X3N0b3JlX3ZhbHVlKHN0b3JlKSB7XG5cdGxldCB2YWx1ZTtcblx0c3Vic2NyaWJlKHN0b3JlLCAoXykgPT4gKHZhbHVlID0gXykpKCk7XG5cdHJldHVybiB2YWx1ZTtcbn1cblxuLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXBvbmVudF9zdWJzY3JpYmUoY29tcG9uZW50LCBzdG9yZSwgY2FsbGJhY2spIHtcblx0Y29tcG9uZW50LiQkLm9uX2Rlc3Ryb3kucHVzaChzdWJzY3JpYmUoc3RvcmUsIGNhbGxiYWNrKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVfc2xvdChkZWZpbml0aW9uLCBjdHgsICQkc2NvcGUsIGZuKSB7XG5cdGlmIChkZWZpbml0aW9uKSB7XG5cdFx0Y29uc3Qgc2xvdF9jdHggPSBnZXRfc2xvdF9jb250ZXh0KGRlZmluaXRpb24sIGN0eCwgJCRzY29wZSwgZm4pO1xuXHRcdHJldHVybiBkZWZpbml0aW9uWzBdKHNsb3RfY3R4KTtcblx0fVxufVxuXG5mdW5jdGlvbiBnZXRfc2xvdF9jb250ZXh0KGRlZmluaXRpb24sIGN0eCwgJCRzY29wZSwgZm4pIHtcblx0cmV0dXJuIGRlZmluaXRpb25bMV0gJiYgZm4gPyBhc3NpZ24oJCRzY29wZS5jdHguc2xpY2UoKSwgZGVmaW5pdGlvblsxXShmbihjdHgpKSkgOiAkJHNjb3BlLmN0eDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldF9zbG90X2NoYW5nZXMoZGVmaW5pdGlvbiwgJCRzY29wZSwgZGlydHksIGZuKSB7XG5cdGlmIChkZWZpbml0aW9uWzJdICYmIGZuKSB7XG5cdFx0Y29uc3QgbGV0cyA9IGRlZmluaXRpb25bMl0oZm4oZGlydHkpKTtcblx0XHRpZiAoJCRzY29wZS5kaXJ0eSA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRyZXR1cm4gbGV0cztcblx0XHR9XG5cdFx0aWYgKHR5cGVvZiBsZXRzID09PSAnb2JqZWN0Jykge1xuXHRcdFx0Y29uc3QgbWVyZ2VkID0gW107XG5cdFx0XHRjb25zdCBsZW4gPSBNYXRoLm1heCgkJHNjb3BlLmRpcnR5Lmxlbmd0aCwgbGV0cy5sZW5ndGgpO1xuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkgKz0gMSkge1xuXHRcdFx0XHRtZXJnZWRbaV0gPSAkJHNjb3BlLmRpcnR5W2ldIHwgbGV0c1tpXTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBtZXJnZWQ7XG5cdFx0fVxuXHRcdHJldHVybiAkJHNjb3BlLmRpcnR5IHwgbGV0cztcblx0fVxuXHRyZXR1cm4gJCRzY29wZS5kaXJ0eTtcbn1cblxuLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZV9zbG90X2Jhc2UoXG5cdHNsb3QsXG5cdHNsb3RfZGVmaW5pdGlvbixcblx0Y3R4LFxuXHQkJHNjb3BlLFxuXHRzbG90X2NoYW5nZXMsXG5cdGdldF9zbG90X2NvbnRleHRfZm5cbikge1xuXHRpZiAoc2xvdF9jaGFuZ2VzKSB7XG5cdFx0Y29uc3Qgc2xvdF9jb250ZXh0ID0gZ2V0X3Nsb3RfY29udGV4dChzbG90X2RlZmluaXRpb24sIGN0eCwgJCRzY29wZSwgZ2V0X3Nsb3RfY29udGV4dF9mbik7XG5cdFx0c2xvdC5wKHNsb3RfY29udGV4dCwgc2xvdF9jaGFuZ2VzKTtcblx0fVxufVxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlX3Nsb3QoXG5cdHNsb3QsXG5cdHNsb3RfZGVmaW5pdGlvbixcblx0Y3R4LFxuXHQkJHNjb3BlLFxuXHRkaXJ0eSxcblx0Z2V0X3Nsb3RfY2hhbmdlc19mbixcblx0Z2V0X3Nsb3RfY29udGV4dF9mblxuKSB7XG5cdGNvbnN0IHNsb3RfY2hhbmdlcyA9IGdldF9zbG90X2NoYW5nZXMoc2xvdF9kZWZpbml0aW9uLCAkJHNjb3BlLCBkaXJ0eSwgZ2V0X3Nsb3RfY2hhbmdlc19mbik7XG5cdHVwZGF0ZV9zbG90X2Jhc2Uoc2xvdCwgc2xvdF9kZWZpbml0aW9uLCBjdHgsICQkc2NvcGUsIHNsb3RfY2hhbmdlcywgZ2V0X3Nsb3RfY29udGV4dF9mbik7XG59XG5cbi8qKiBAcmV0dXJucyB7YW55W10gfCAtMX0gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRfYWxsX2RpcnR5X2Zyb21fc2NvcGUoJCRzY29wZSkge1xuXHRpZiAoJCRzY29wZS5jdHgubGVuZ3RoID4gMzIpIHtcblx0XHRjb25zdCBkaXJ0eSA9IFtdO1xuXHRcdGNvbnN0IGxlbmd0aCA9ICQkc2NvcGUuY3R4Lmxlbmd0aCAvIDMyO1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcblx0XHRcdGRpcnR5W2ldID0gLTE7XG5cdFx0fVxuXHRcdHJldHVybiBkaXJ0eTtcblx0fVxuXHRyZXR1cm4gLTE7XG59XG5cbi8qKiBAcmV0dXJucyB7e319ICovXG5leHBvcnQgZnVuY3Rpb24gZXhjbHVkZV9pbnRlcm5hbF9wcm9wcyhwcm9wcykge1xuXHRjb25zdCByZXN1bHQgPSB7fTtcblx0Zm9yIChjb25zdCBrIGluIHByb3BzKSBpZiAoa1swXSAhPT0gJyQnKSByZXN1bHRba10gPSBwcm9wc1trXTtcblx0cmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqIEByZXR1cm5zIHt7fX0gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlX3Jlc3RfcHJvcHMocHJvcHMsIGtleXMpIHtcblx0Y29uc3QgcmVzdCA9IHt9O1xuXHRrZXlzID0gbmV3IFNldChrZXlzKTtcblx0Zm9yIChjb25zdCBrIGluIHByb3BzKSBpZiAoIWtleXMuaGFzKGspICYmIGtbMF0gIT09ICckJykgcmVzdFtrXSA9IHByb3BzW2tdO1xuXHRyZXR1cm4gcmVzdDtcbn1cblxuLyoqIEByZXR1cm5zIHt7fX0gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlX3Nsb3RzKHNsb3RzKSB7XG5cdGNvbnN0IHJlc3VsdCA9IHt9O1xuXHRmb3IgKGNvbnN0IGtleSBpbiBzbG90cykge1xuXHRcdHJlc3VsdFtrZXldID0gdHJ1ZTtcblx0fVxuXHRyZXR1cm4gcmVzdWx0O1xufVxuXG4vKiogQHJldHVybnMgeyh0aGlzOiBhbnksIC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9uY2UoZm4pIHtcblx0bGV0IHJhbiA9IGZhbHNlO1xuXHRyZXR1cm4gZnVuY3Rpb24gKC4uLmFyZ3MpIHtcblx0XHRpZiAocmFuKSByZXR1cm47XG5cdFx0cmFuID0gdHJ1ZTtcblx0XHRmbi5jYWxsKHRoaXMsIC4uLmFyZ3MpO1xuXHR9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbnVsbF90b19lbXB0eSh2YWx1ZSkge1xuXHRyZXR1cm4gdmFsdWUgPT0gbnVsbCA/ICcnIDogdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRfc3RvcmVfdmFsdWUoc3RvcmUsIHJldCwgdmFsdWUpIHtcblx0c3RvcmUuc2V0KHZhbHVlKTtcblx0cmV0dXJuIHJldDtcbn1cblxuZXhwb3J0IGNvbnN0IGhhc19wcm9wID0gKG9iaiwgcHJvcCkgPT4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCk7XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3Rpb25fZGVzdHJveWVyKGFjdGlvbl9yZXN1bHQpIHtcblx0cmV0dXJuIGFjdGlvbl9yZXN1bHQgJiYgaXNfZnVuY3Rpb24oYWN0aW9uX3Jlc3VsdC5kZXN0cm95KSA/IGFjdGlvbl9yZXN1bHQuZGVzdHJveSA6IG5vb3A7XG59XG5cbi8qKiBAcGFyYW0ge251bWJlciB8IHN0cmluZ30gdmFsdWVcbiAqIEByZXR1cm5zIHtbbnVtYmVyLCBzdHJpbmddfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc3BsaXRfY3NzX3VuaXQodmFsdWUpIHtcblx0Y29uc3Qgc3BsaXQgPSB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLm1hdGNoKC9eXFxzKigtP1tcXGQuXSspKFteXFxzXSopXFxzKiQvKTtcblx0cmV0dXJuIHNwbGl0ID8gW3BhcnNlRmxvYXQoc3BsaXRbMV0pLCBzcGxpdFsyXSB8fCAncHgnXSA6IFsvKiogQHR5cGUge251bWJlcn0gKi8gKHZhbHVlKSwgJ3B4J107XG59XG5cbmV4cG9ydCBjb25zdCBjb250ZW50ZWRpdGFibGVfdHJ1dGh5X3ZhbHVlcyA9IFsnJywgdHJ1ZSwgMSwgJ3RydWUnLCAnY29udGVudGVkaXRhYmxlJ107XG4iLCAiaW1wb3J0IHsgbm9vcCB9IGZyb20gJy4vdXRpbHMuanMnO1xuXG5leHBvcnQgY29uc3QgaXNfY2xpZW50ID0gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCc7XG5cbi8qKiBAdHlwZSB7KCkgPT4gbnVtYmVyfSAqL1xuZXhwb3J0IGxldCBub3cgPSBpc19jbGllbnQgPyAoKSA9PiB3aW5kb3cucGVyZm9ybWFuY2Uubm93KCkgOiAoKSA9PiBEYXRlLm5vdygpO1xuXG5leHBvcnQgbGV0IHJhZiA9IGlzX2NsaWVudCA/IChjYikgPT4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGNiKSA6IG5vb3A7XG5cbi8vIHVzZWQgaW50ZXJuYWxseSBmb3IgdGVzdGluZ1xuLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldF9ub3coZm4pIHtcblx0bm93ID0gZm47XG59XG5cbi8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRfcmFmKGZuKSB7XG5cdHJhZiA9IGZuO1xufVxuIiwgImltcG9ydCB7IHJhZiB9IGZyb20gJy4vZW52aXJvbm1lbnQuanMnO1xuXG5jb25zdCB0YXNrcyA9IG5ldyBTZXQoKTtcblxuLyoqXG4gKiBAcGFyYW0ge251bWJlcn0gbm93XG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZnVuY3Rpb24gcnVuX3Rhc2tzKG5vdykge1xuXHR0YXNrcy5mb3JFYWNoKCh0YXNrKSA9PiB7XG5cdFx0aWYgKCF0YXNrLmMobm93KSkge1xuXHRcdFx0dGFza3MuZGVsZXRlKHRhc2spO1xuXHRcdFx0dGFzay5mKCk7XG5cdFx0fVxuXHR9KTtcblx0aWYgKHRhc2tzLnNpemUgIT09IDApIHJhZihydW5fdGFza3MpO1xufVxuXG4vKipcbiAqIEZvciB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkhXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyX2xvb3BzKCkge1xuXHR0YXNrcy5jbGVhcigpO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgdGFzayB0aGF0IHJ1bnMgb24gZWFjaCByYWYgZnJhbWVcbiAqIHVudGlsIGl0IHJldHVybnMgYSBmYWxzeSB2YWx1ZSBvciBpcyBhYm9ydGVkXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9wcml2YXRlLmpzJykuVGFza0NhbGxiYWNrfSBjYWxsYmFja1xuICogQHJldHVybnMge2ltcG9ydCgnLi9wcml2YXRlLmpzJykuVGFza31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvb3AoY2FsbGJhY2spIHtcblx0LyoqIEB0eXBlIHtpbXBvcnQoJy4vcHJpdmF0ZS5qcycpLlRhc2tFbnRyeX0gKi9cblx0bGV0IHRhc2s7XG5cdGlmICh0YXNrcy5zaXplID09PSAwKSByYWYocnVuX3Rhc2tzKTtcblx0cmV0dXJuIHtcblx0XHRwcm9taXNlOiBuZXcgUHJvbWlzZSgoZnVsZmlsbCkgPT4ge1xuXHRcdFx0dGFza3MuYWRkKCh0YXNrID0geyBjOiBjYWxsYmFjaywgZjogZnVsZmlsbCB9KSk7XG5cdFx0fSksXG5cdFx0YWJvcnQoKSB7XG5cdFx0XHR0YXNrcy5kZWxldGUodGFzayk7XG5cdFx0fVxuXHR9O1xufVxuIiwgIi8qKiBAdHlwZSB7dHlwZW9mIGdsb2JhbFRoaXN9ICovXG5leHBvcnQgY29uc3QgZ2xvYmFscyA9XG5cdHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnXG5cdFx0PyB3aW5kb3dcblx0XHQ6IHR5cGVvZiBnbG9iYWxUaGlzICE9PSAndW5kZWZpbmVkJ1xuXHRcdD8gZ2xvYmFsVGhpc1xuXHRcdDogLy8gQHRzLWlnbm9yZSBOb2RlIHR5cGluZ3MgaGF2ZSB0aGlzXG5cdFx0ICBnbG9iYWw7XG4iLCAiaW1wb3J0IHsgZ2xvYmFscyB9IGZyb20gJy4vZ2xvYmFscy5qcyc7XG5cbi8qKlxuICogUmVzaXplIG9ic2VydmVyIHNpbmdsZXRvbi5cbiAqIE9uZSBsaXN0ZW5lciBwZXIgZWxlbWVudCBvbmx5IVxuICogaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9hL2Nocm9taXVtLm9yZy9nL2JsaW5rLWRldi9jL3o2aWVuT05VYjVBL20vRjUtVmNVWnRCQUFKXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXNpemVPYnNlcnZlclNpbmdsZXRvbiB7XG5cdC8qKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKiBAcmVhZG9ubHlcblx0ICogQHR5cGUge1dlYWtNYXA8RWxlbWVudCwgaW1wb3J0KCcuL3ByaXZhdGUuanMnKS5MaXN0ZW5lcj59XG5cdCAqL1xuXHRfbGlzdGVuZXJzID0gJ1dlYWtNYXAnIGluIGdsb2JhbHMgPyBuZXcgV2Vha01hcCgpIDogdW5kZWZpbmVkO1xuXG5cdC8qKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKiBAdHlwZSB7UmVzaXplT2JzZXJ2ZXJ9XG5cdCAqL1xuXHRfb2JzZXJ2ZXIgPSB1bmRlZmluZWQ7XG5cblx0LyoqIEB0eXBlIHtSZXNpemVPYnNlcnZlck9wdGlvbnN9ICovXG5cdG9wdGlvbnM7XG5cblx0LyoqIEBwYXJhbSB7UmVzaXplT2JzZXJ2ZXJPcHRpb25zfSBvcHRpb25zICovXG5cdGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcblx0XHR0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuXHR9XG5cblx0LyoqXG5cdCAqIEBwYXJhbSB7RWxlbWVudH0gZWxlbWVudFxuXHQgKiBAcGFyYW0ge2ltcG9ydCgnLi9wcml2YXRlLmpzJykuTGlzdGVuZXJ9IGxpc3RlbmVyXG5cdCAqIEByZXR1cm5zIHsoKSA9PiB2b2lkfVxuXHQgKi9cblx0b2JzZXJ2ZShlbGVtZW50LCBsaXN0ZW5lcikge1xuXHRcdHRoaXMuX2xpc3RlbmVycy5zZXQoZWxlbWVudCwgbGlzdGVuZXIpO1xuXHRcdHRoaXMuX2dldE9ic2VydmVyKCkub2JzZXJ2ZShlbGVtZW50LCB0aGlzLm9wdGlvbnMpO1xuXHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHR0aGlzLl9saXN0ZW5lcnMuZGVsZXRlKGVsZW1lbnQpO1xuXHRcdFx0dGhpcy5fb2JzZXJ2ZXIudW5vYnNlcnZlKGVsZW1lbnQpOyAvLyB0aGlzIGxpbmUgY2FuIHByb2JhYmx5IGJlIHJlbW92ZWRcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfZ2V0T2JzZXJ2ZXIoKSB7XG5cdFx0cmV0dXJuIChcblx0XHRcdHRoaXMuX29ic2VydmVyID8/XG5cdFx0XHQodGhpcy5fb2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcblx0XHRcdFx0Zm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG5cdFx0XHRcdFx0UmVzaXplT2JzZXJ2ZXJTaW5nbGV0b24uZW50cmllcy5zZXQoZW50cnkudGFyZ2V0LCBlbnRyeSk7XG5cdFx0XHRcdFx0dGhpcy5fbGlzdGVuZXJzLmdldChlbnRyeS50YXJnZXQpPy4oZW50cnkpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KSlcblx0XHQpO1xuXHR9XG59XG5cbi8vIE5lZWRzIHRvIGJlIHdyaXR0ZW4gbGlrZSB0aGlzIHRvIHBhc3MgdGhlIHRyZWUtc2hha2UtdGVzdFxuUmVzaXplT2JzZXJ2ZXJTaW5nbGV0b24uZW50cmllcyA9ICdXZWFrTWFwJyBpbiBnbG9iYWxzID8gbmV3IFdlYWtNYXAoKSA6IHVuZGVmaW5lZDtcbiIsICJpbXBvcnQgeyBjb250ZW50ZWRpdGFibGVfdHJ1dGh5X3ZhbHVlcywgaGFzX3Byb3AgfSBmcm9tICcuL3V0aWxzLmpzJztcblxuaW1wb3J0IHsgUmVzaXplT2JzZXJ2ZXJTaW5nbGV0b24gfSBmcm9tICcuL1Jlc2l6ZU9ic2VydmVyU2luZ2xldG9uLmpzJztcblxuLy8gVHJhY2sgd2hpY2ggbm9kZXMgYXJlIGNsYWltZWQgZHVyaW5nIGh5ZHJhdGlvbi4gVW5jbGFpbWVkIG5vZGVzIGNhbiB0aGVuIGJlIHJlbW92ZWQgZnJvbSB0aGUgRE9NXG4vLyBhdCB0aGUgZW5kIG9mIGh5ZHJhdGlvbiB3aXRob3V0IHRvdWNoaW5nIHRoZSByZW1haW5pbmcgbm9kZXMuXG5sZXQgaXNfaHlkcmF0aW5nID0gZmFsc2U7XG5cbi8qKlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdGFydF9oeWRyYXRpbmcoKSB7XG5cdGlzX2h5ZHJhdGluZyA9IHRydWU7XG59XG5cbi8qKlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmRfaHlkcmF0aW5nKCkge1xuXHRpc19oeWRyYXRpbmcgPSBmYWxzZTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge251bWJlcn0gbG93XG4gKiBAcGFyYW0ge251bWJlcn0gaGlnaFxuICogQHBhcmFtIHsoaW5kZXg6IG51bWJlcikgPT4gbnVtYmVyfSBrZXlcbiAqIEBwYXJhbSB7bnVtYmVyfSB2YWx1ZVxuICogQHJldHVybnMge251bWJlcn1cbiAqL1xuZnVuY3Rpb24gdXBwZXJfYm91bmQobG93LCBoaWdoLCBrZXksIHZhbHVlKSB7XG5cdC8vIFJldHVybiBmaXJzdCBpbmRleCBvZiB2YWx1ZSBsYXJnZXIgdGhhbiBpbnB1dCB2YWx1ZSBpbiB0aGUgcmFuZ2UgW2xvdywgaGlnaClcblx0d2hpbGUgKGxvdyA8IGhpZ2gpIHtcblx0XHRjb25zdCBtaWQgPSBsb3cgKyAoKGhpZ2ggLSBsb3cpID4+IDEpO1xuXHRcdGlmIChrZXkobWlkKSA8PSB2YWx1ZSkge1xuXHRcdFx0bG93ID0gbWlkICsgMTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aGlnaCA9IG1pZDtcblx0XHR9XG5cdH1cblx0cmV0dXJuIGxvdztcbn1cblxuLyoqXG4gKiBAcGFyYW0ge05vZGVFeH0gdGFyZ2V0XG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZnVuY3Rpb24gaW5pdF9oeWRyYXRlKHRhcmdldCkge1xuXHRpZiAodGFyZ2V0Lmh5ZHJhdGVfaW5pdCkgcmV0dXJuO1xuXHR0YXJnZXQuaHlkcmF0ZV9pbml0ID0gdHJ1ZTtcblx0Ly8gV2Uga25vdyB0aGF0IGFsbCBjaGlsZHJlbiBoYXZlIGNsYWltX29yZGVyIHZhbHVlcyBzaW5jZSB0aGUgdW5jbGFpbWVkIGhhdmUgYmVlbiBkZXRhY2hlZCBpZiB0YXJnZXQgaXMgbm90IDxoZWFkPlxuXG5cdGxldCBjaGlsZHJlbiA9IC8qKiBAdHlwZSB7QXJyYXlMaWtlPE5vZGVFeDI+fSAqLyAodGFyZ2V0LmNoaWxkTm9kZXMpO1xuXHQvLyBJZiB0YXJnZXQgaXMgPGhlYWQ+LCB0aGVyZSBtYXkgYmUgY2hpbGRyZW4gd2l0aG91dCBjbGFpbV9vcmRlclxuXHRpZiAodGFyZ2V0Lm5vZGVOYW1lID09PSAnSEVBRCcpIHtcblx0XHRjb25zdCBteV9jaGlsZHJlbiA9IFtdO1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcblx0XHRcdGNvbnN0IG5vZGUgPSBjaGlsZHJlbltpXTtcblx0XHRcdGlmIChub2RlLmNsYWltX29yZGVyICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0bXlfY2hpbGRyZW4ucHVzaChub2RlKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Y2hpbGRyZW4gPSBteV9jaGlsZHJlbjtcblx0fVxuXHQvKlxuXHQgKiBSZW9yZGVyIGNsYWltZWQgY2hpbGRyZW4gb3B0aW1hbGx5LlxuXHQgKiBXZSBjYW4gcmVvcmRlciBjbGFpbWVkIGNoaWxkcmVuIG9wdGltYWxseSBieSBmaW5kaW5nIHRoZSBsb25nZXN0IHN1YnNlcXVlbmNlIG9mXG5cdCAqIG5vZGVzIHRoYXQgYXJlIGFscmVhZHkgY2xhaW1lZCBpbiBvcmRlciBhbmQgb25seSBtb3ZpbmcgdGhlIHJlc3QuIFRoZSBsb25nZXN0XG5cdCAqIHN1YnNlcXVlbmNlIG9mIG5vZGVzIHRoYXQgYXJlIGNsYWltZWQgaW4gb3JkZXIgY2FuIGJlIGZvdW5kIGJ5XG5cdCAqIGNvbXB1dGluZyB0aGUgbG9uZ2VzdCBpbmNyZWFzaW5nIHN1YnNlcXVlbmNlIG9mIC5jbGFpbV9vcmRlciB2YWx1ZXMuXG5cdCAqXG5cdCAqIFRoaXMgYWxnb3JpdGhtIGlzIG9wdGltYWwgaW4gZ2VuZXJhdGluZyB0aGUgbGVhc3QgYW1vdW50IG9mIHJlb3JkZXIgb3BlcmF0aW9uc1xuXHQgKiBwb3NzaWJsZS5cblx0ICpcblx0ICogUHJvb2Y6XG5cdCAqIFdlIGtub3cgdGhhdCwgZ2l2ZW4gYSBzZXQgb2YgcmVvcmRlcmluZyBvcGVyYXRpb25zLCB0aGUgbm9kZXMgdGhhdCBkbyBub3QgbW92ZVxuXHQgKiBhbHdheXMgZm9ybSBhbiBpbmNyZWFzaW5nIHN1YnNlcXVlbmNlLCBzaW5jZSB0aGV5IGRvIG5vdCBtb3ZlIGFtb25nIGVhY2ggb3RoZXJcblx0ICogbWVhbmluZyB0aGF0IHRoZXkgbXVzdCBiZSBhbHJlYWR5IG9yZGVyZWQgYW1vbmcgZWFjaCBvdGhlci4gVGh1cywgdGhlIG1heGltYWxcblx0ICogc2V0IG9mIG5vZGVzIHRoYXQgZG8gbm90IG1vdmUgZm9ybSBhIGxvbmdlc3QgaW5jcmVhc2luZyBzdWJzZXF1ZW5jZS5cblx0ICovXG5cdC8vIENvbXB1dGUgbG9uZ2VzdCBpbmNyZWFzaW5nIHN1YnNlcXVlbmNlXG5cdC8vIG06IHN1YnNlcXVlbmNlIGxlbmd0aCBqID0+IGluZGV4IGsgb2Ygc21hbGxlc3QgdmFsdWUgdGhhdCBlbmRzIGFuIGluY3JlYXNpbmcgc3Vic2VxdWVuY2Ugb2YgbGVuZ3RoIGpcblx0Y29uc3QgbSA9IG5ldyBJbnQzMkFycmF5KGNoaWxkcmVuLmxlbmd0aCArIDEpO1xuXHQvLyBQcmVkZWNlc3NvciBpbmRpY2VzICsgMVxuXHRjb25zdCBwID0gbmV3IEludDMyQXJyYXkoY2hpbGRyZW4ubGVuZ3RoKTtcblx0bVswXSA9IC0xO1xuXHRsZXQgbG9uZ2VzdCA9IDA7XG5cdGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcblx0XHRjb25zdCBjdXJyZW50ID0gY2hpbGRyZW5baV0uY2xhaW1fb3JkZXI7XG5cdFx0Ly8gRmluZCB0aGUgbGFyZ2VzdCBzdWJzZXF1ZW5jZSBsZW5ndGggc3VjaCB0aGF0IGl0IGVuZHMgaW4gYSB2YWx1ZSBsZXNzIHRoYW4gb3VyIGN1cnJlbnQgdmFsdWVcblx0XHQvLyB1cHBlcl9ib3VuZCByZXR1cm5zIGZpcnN0IGdyZWF0ZXIgdmFsdWUsIHNvIHdlIHN1YnRyYWN0IG9uZVxuXHRcdC8vIHdpdGggZmFzdCBwYXRoIGZvciB3aGVuIHdlIGFyZSBvbiB0aGUgY3VycmVudCBsb25nZXN0IHN1YnNlcXVlbmNlXG5cdFx0Y29uc3Qgc2VxX2xlbiA9XG5cdFx0XHQobG9uZ2VzdCA+IDAgJiYgY2hpbGRyZW5bbVtsb25nZXN0XV0uY2xhaW1fb3JkZXIgPD0gY3VycmVudFxuXHRcdFx0XHQ/IGxvbmdlc3QgKyAxXG5cdFx0XHRcdDogdXBwZXJfYm91bmQoMSwgbG9uZ2VzdCwgKGlkeCkgPT4gY2hpbGRyZW5bbVtpZHhdXS5jbGFpbV9vcmRlciwgY3VycmVudCkpIC0gMTtcblx0XHRwW2ldID0gbVtzZXFfbGVuXSArIDE7XG5cdFx0Y29uc3QgbmV3X2xlbiA9IHNlcV9sZW4gKyAxO1xuXHRcdC8vIFdlIGNhbiBndWFyYW50ZWUgdGhhdCBjdXJyZW50IGlzIHRoZSBzbWFsbGVzdCB2YWx1ZS4gT3RoZXJ3aXNlLCB3ZSB3b3VsZCBoYXZlIGdlbmVyYXRlZCBhIGxvbmdlciBzZXF1ZW5jZS5cblx0XHRtW25ld19sZW5dID0gaTtcblx0XHRsb25nZXN0ID0gTWF0aC5tYXgobmV3X2xlbiwgbG9uZ2VzdCk7XG5cdH1cblx0Ly8gVGhlIGxvbmdlc3QgaW5jcmVhc2luZyBzdWJzZXF1ZW5jZSBvZiBub2RlcyAoaW5pdGlhbGx5IHJldmVyc2VkKVxuXG5cdC8qKlxuXHQgKiBAdHlwZSB7Tm9kZUV4MltdfVxuXHQgKi9cblx0Y29uc3QgbGlzID0gW107XG5cdC8vIFRoZSByZXN0IG9mIHRoZSBub2Rlcywgbm9kZXMgdGhhdCB3aWxsIGJlIG1vdmVkXG5cblx0LyoqXG5cdCAqIEB0eXBlIHtOb2RlRXgyW119XG5cdCAqL1xuXHRjb25zdCB0b19tb3ZlID0gW107XG5cdGxldCBsYXN0ID0gY2hpbGRyZW4ubGVuZ3RoIC0gMTtcblx0Zm9yIChsZXQgY3VyID0gbVtsb25nZXN0XSArIDE7IGN1ciAhPSAwOyBjdXIgPSBwW2N1ciAtIDFdKSB7XG5cdFx0bGlzLnB1c2goY2hpbGRyZW5bY3VyIC0gMV0pO1xuXHRcdGZvciAoOyBsYXN0ID49IGN1cjsgbGFzdC0tKSB7XG5cdFx0XHR0b19tb3ZlLnB1c2goY2hpbGRyZW5bbGFzdF0pO1xuXHRcdH1cblx0XHRsYXN0LS07XG5cdH1cblx0Zm9yICg7IGxhc3QgPj0gMDsgbGFzdC0tKSB7XG5cdFx0dG9fbW92ZS5wdXNoKGNoaWxkcmVuW2xhc3RdKTtcblx0fVxuXHRsaXMucmV2ZXJzZSgpO1xuXHQvLyBXZSBzb3J0IHRoZSBub2RlcyBiZWluZyBtb3ZlZCB0byBndWFyYW50ZWUgdGhhdCB0aGVpciBpbnNlcnRpb24gb3JkZXIgbWF0Y2hlcyB0aGUgY2xhaW0gb3JkZXJcblx0dG9fbW92ZS5zb3J0KChhLCBiKSA9PiBhLmNsYWltX29yZGVyIC0gYi5jbGFpbV9vcmRlcik7XG5cdC8vIEZpbmFsbHksIHdlIG1vdmUgdGhlIG5vZGVzXG5cdGZvciAobGV0IGkgPSAwLCBqID0gMDsgaSA8IHRvX21vdmUubGVuZ3RoOyBpKyspIHtcblx0XHR3aGlsZSAoaiA8IGxpcy5sZW5ndGggJiYgdG9fbW92ZVtpXS5jbGFpbV9vcmRlciA+PSBsaXNbal0uY2xhaW1fb3JkZXIpIHtcblx0XHRcdGorKztcblx0XHR9XG5cdFx0Y29uc3QgYW5jaG9yID0gaiA8IGxpcy5sZW5ndGggPyBsaXNbal0gOiBudWxsO1xuXHRcdHRhcmdldC5pbnNlcnRCZWZvcmUodG9fbW92ZVtpXSwgYW5jaG9yKTtcblx0fVxufVxuXG4vKipcbiAqIEBwYXJhbSB7Tm9kZX0gdGFyZ2V0XG4gKiBAcGFyYW0ge05vZGV9IG5vZGVcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kKHRhcmdldCwgbm9kZSkge1xuXHR0YXJnZXQuYXBwZW5kQ2hpbGQobm9kZSk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtOb2RlfSB0YXJnZXRcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHlsZV9zaGVldF9pZFxuICogQHBhcmFtIHtzdHJpbmd9IHN0eWxlc1xuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRfc3R5bGVzKHRhcmdldCwgc3R5bGVfc2hlZXRfaWQsIHN0eWxlcykge1xuXHRjb25zdCBhcHBlbmRfc3R5bGVzX3RvID0gZ2V0X3Jvb3RfZm9yX3N0eWxlKHRhcmdldCk7XG5cdGlmICghYXBwZW5kX3N0eWxlc190by5nZXRFbGVtZW50QnlJZChzdHlsZV9zaGVldF9pZCkpIHtcblx0XHRjb25zdCBzdHlsZSA9IGVsZW1lbnQoJ3N0eWxlJyk7XG5cdFx0c3R5bGUuaWQgPSBzdHlsZV9zaGVldF9pZDtcblx0XHRzdHlsZS50ZXh0Q29udGVudCA9IHN0eWxlcztcblx0XHRhcHBlbmRfc3R5bGVzaGVldChhcHBlbmRfc3R5bGVzX3RvLCBzdHlsZSk7XG5cdH1cbn1cblxuLyoqXG4gKiBAcGFyYW0ge05vZGV9IG5vZGVcbiAqIEByZXR1cm5zIHtTaGFkb3dSb290IHwgRG9jdW1lbnR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRfcm9vdF9mb3Jfc3R5bGUobm9kZSkge1xuXHRpZiAoIW5vZGUpIHJldHVybiBkb2N1bWVudDtcblx0Y29uc3Qgcm9vdCA9IG5vZGUuZ2V0Um9vdE5vZGUgPyBub2RlLmdldFJvb3ROb2RlKCkgOiBub2RlLm93bmVyRG9jdW1lbnQ7XG5cdGlmIChyb290ICYmIC8qKiBAdHlwZSB7U2hhZG93Um9vdH0gKi8gKHJvb3QpLmhvc3QpIHtcblx0XHRyZXR1cm4gLyoqIEB0eXBlIHtTaGFkb3dSb290fSAqLyAocm9vdCk7XG5cdH1cblx0cmV0dXJuIG5vZGUub3duZXJEb2N1bWVudDtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge05vZGV9IG5vZGVcbiAqIEByZXR1cm5zIHtDU1NTdHlsZVNoZWV0fVxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kX2VtcHR5X3N0eWxlc2hlZXQobm9kZSkge1xuXHRjb25zdCBzdHlsZV9lbGVtZW50ID0gZWxlbWVudCgnc3R5bGUnKTtcblx0Ly8gRm9yIHRyYW5zaXRpb25zIHRvIHdvcmsgd2l0aG91dCAnc3R5bGUtc3JjOiB1bnNhZmUtaW5saW5lJyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSxcblx0Ly8gdGhlc2UgZW1wdHkgdGFncyBuZWVkIHRvIGJlIGFsbG93ZWQgd2l0aCBhIGhhc2ggYXMgYSB3b3JrYXJvdW5kIHVudGlsIHdlIG1vdmUgdG8gdGhlIFdlYiBBbmltYXRpb25zIEFQSS5cblx0Ly8gVXNpbmcgdGhlIGhhc2ggZm9yIHRoZSBlbXB0eSBzdHJpbmcgKGZvciBhbiBlbXB0eSB0YWcpIHdvcmtzIGluIGFsbCBicm93c2VycyBleGNlcHQgU2FmYXJpLlxuXHQvLyBTbyBhcyBhIHdvcmthcm91bmQgZm9yIHRoZSB3b3JrYXJvdW5kLCB3aGVuIHdlIGFwcGVuZCBlbXB0eSBzdHlsZSB0YWdzIHdlIHNldCB0aGVpciBjb250ZW50IHRvIC8qIGVtcHR5ICovLlxuXHQvLyBUaGUgaGFzaCAnc2hhMjU2LTlPbE5PMERORWVhVnpITDRSWndDTHNCSEE4V0JROHRvQnAvNEY1WFYybmM9JyB3aWxsIHRoZW4gd29yayBldmVuIGluIFNhZmFyaS5cblx0c3R5bGVfZWxlbWVudC50ZXh0Q29udGVudCA9ICcvKiBlbXB0eSAqLyc7XG5cdGFwcGVuZF9zdHlsZXNoZWV0KGdldF9yb290X2Zvcl9zdHlsZShub2RlKSwgc3R5bGVfZWxlbWVudCk7XG5cdHJldHVybiBzdHlsZV9lbGVtZW50LnNoZWV0O1xufVxuXG4vKipcbiAqIEBwYXJhbSB7U2hhZG93Um9vdCB8IERvY3VtZW50fSBub2RlXG4gKiBAcGFyYW0ge0hUTUxTdHlsZUVsZW1lbnR9IHN0eWxlXG4gKiBAcmV0dXJucyB7Q1NTU3R5bGVTaGVldH1cbiAqL1xuZnVuY3Rpb24gYXBwZW5kX3N0eWxlc2hlZXQobm9kZSwgc3R5bGUpIHtcblx0YXBwZW5kKC8qKiBAdHlwZSB7RG9jdW1lbnR9ICovIChub2RlKS5oZWFkIHx8IG5vZGUsIHN0eWxlKTtcblx0cmV0dXJuIHN0eWxlLnNoZWV0O1xufVxuXG4vKipcbiAqIEBwYXJhbSB7Tm9kZUV4fSB0YXJnZXRcbiAqIEBwYXJhbSB7Tm9kZUV4fSBub2RlXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZF9oeWRyYXRpb24odGFyZ2V0LCBub2RlKSB7XG5cdGlmIChpc19oeWRyYXRpbmcpIHtcblx0XHRpbml0X2h5ZHJhdGUodGFyZ2V0KTtcblx0XHRpZiAoXG5cdFx0XHR0YXJnZXQuYWN0dWFsX2VuZF9jaGlsZCA9PT0gdW5kZWZpbmVkIHx8XG5cdFx0XHQodGFyZ2V0LmFjdHVhbF9lbmRfY2hpbGQgIT09IG51bGwgJiYgdGFyZ2V0LmFjdHVhbF9lbmRfY2hpbGQucGFyZW50Tm9kZSAhPT0gdGFyZ2V0KVxuXHRcdCkge1xuXHRcdFx0dGFyZ2V0LmFjdHVhbF9lbmRfY2hpbGQgPSB0YXJnZXQuZmlyc3RDaGlsZDtcblx0XHR9XG5cdFx0Ly8gU2tpcCBub2RlcyBvZiB1bmRlZmluZWQgb3JkZXJpbmdcblx0XHR3aGlsZSAodGFyZ2V0LmFjdHVhbF9lbmRfY2hpbGQgIT09IG51bGwgJiYgdGFyZ2V0LmFjdHVhbF9lbmRfY2hpbGQuY2xhaW1fb3JkZXIgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0dGFyZ2V0LmFjdHVhbF9lbmRfY2hpbGQgPSB0YXJnZXQuYWN0dWFsX2VuZF9jaGlsZC5uZXh0U2libGluZztcblx0XHR9XG5cdFx0aWYgKG5vZGUgIT09IHRhcmdldC5hY3R1YWxfZW5kX2NoaWxkKSB7XG5cdFx0XHQvLyBXZSBvbmx5IGluc2VydCBpZiB0aGUgb3JkZXJpbmcgb2YgdGhpcyBub2RlIHNob3VsZCBiZSBtb2RpZmllZCBvciB0aGUgcGFyZW50IG5vZGUgaXMgbm90IHRhcmdldFxuXHRcdFx0aWYgKG5vZGUuY2xhaW1fb3JkZXIgIT09IHVuZGVmaW5lZCB8fCBub2RlLnBhcmVudE5vZGUgIT09IHRhcmdldCkge1xuXHRcdFx0XHR0YXJnZXQuaW5zZXJ0QmVmb3JlKG5vZGUsIHRhcmdldC5hY3R1YWxfZW5kX2NoaWxkKTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0dGFyZ2V0LmFjdHVhbF9lbmRfY2hpbGQgPSBub2RlLm5leHRTaWJsaW5nO1xuXHRcdH1cblx0fSBlbHNlIGlmIChub2RlLnBhcmVudE5vZGUgIT09IHRhcmdldCB8fCBub2RlLm5leHRTaWJsaW5nICE9PSBudWxsKSB7XG5cdFx0dGFyZ2V0LmFwcGVuZENoaWxkKG5vZGUpO1xuXHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHtOb2RlfSB0YXJnZXRcbiAqIEBwYXJhbSB7Tm9kZX0gbm9kZVxuICogQHBhcmFtIHtOb2RlfSBbYW5jaG9yXVxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnQodGFyZ2V0LCBub2RlLCBhbmNob3IpIHtcblx0dGFyZ2V0Lmluc2VydEJlZm9yZShub2RlLCBhbmNob3IgfHwgbnVsbCk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtOb2RlRXh9IHRhcmdldFxuICogQHBhcmFtIHtOb2RlRXh9IG5vZGVcbiAqIEBwYXJhbSB7Tm9kZUV4fSBbYW5jaG9yXVxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRfaHlkcmF0aW9uKHRhcmdldCwgbm9kZSwgYW5jaG9yKSB7XG5cdGlmIChpc19oeWRyYXRpbmcgJiYgIWFuY2hvcikge1xuXHRcdGFwcGVuZF9oeWRyYXRpb24odGFyZ2V0LCBub2RlKTtcblx0fSBlbHNlIGlmIChub2RlLnBhcmVudE5vZGUgIT09IHRhcmdldCB8fCBub2RlLm5leHRTaWJsaW5nICE9IGFuY2hvcikge1xuXHRcdHRhcmdldC5pbnNlcnRCZWZvcmUobm9kZSwgYW5jaG9yIHx8IG51bGwpO1xuXHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHtOb2RlfSBub2RlXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRldGFjaChub2RlKSB7XG5cdGlmIChub2RlLnBhcmVudE5vZGUpIHtcblx0XHRub2RlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobm9kZSk7XG5cdH1cbn1cblxuLyoqXG4gKiBAcmV0dXJucyB7dm9pZH0gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXN0cm95X2VhY2goaXRlcmF0aW9ucywgZGV0YWNoaW5nKSB7XG5cdGZvciAobGV0IGkgPSAwOyBpIDwgaXRlcmF0aW9ucy5sZW5ndGg7IGkgKz0gMSkge1xuXHRcdGlmIChpdGVyYXRpb25zW2ldKSBpdGVyYXRpb25zW2ldLmQoZGV0YWNoaW5nKTtcblx0fVxufVxuXG4vKipcbiAqIEB0ZW1wbGF0ZSB7a2V5b2YgSFRNTEVsZW1lbnRUYWdOYW1lTWFwfSBLXG4gKiBAcGFyYW0ge0t9IG5hbWVcbiAqIEByZXR1cm5zIHtIVE1MRWxlbWVudFRhZ05hbWVNYXBbS119XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbGVtZW50KG5hbWUpIHtcblx0cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobmFtZSk7XG59XG5cbi8qKlxuICogQHRlbXBsYXRlIHtrZXlvZiBIVE1MRWxlbWVudFRhZ05hbWVNYXB9IEtcbiAqIEBwYXJhbSB7S30gbmFtZVxuICogQHBhcmFtIHtzdHJpbmd9IGlzXG4gKiBAcmV0dXJucyB7SFRNTEVsZW1lbnRUYWdOYW1lTWFwW0tdfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZWxlbWVudF9pcyhuYW1lLCBpcykge1xuXHRyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChuYW1lLCB7IGlzIH0pO1xufVxuXG4vKipcbiAqIEB0ZW1wbGF0ZSBUXG4gKiBAdGVtcGxhdGUge2tleW9mIFR9IEtcbiAqIEBwYXJhbSB7VH0gb2JqXG4gKiBAcGFyYW0ge0tbXX0gZXhjbHVkZVxuICogQHJldHVybnMge1BpY2s8VCwgRXhjbHVkZTxrZXlvZiBULCBLPj59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvYmplY3Rfd2l0aG91dF9wcm9wZXJ0aWVzKG9iaiwgZXhjbHVkZSkge1xuXHRjb25zdCB0YXJnZXQgPSAvKiogQHR5cGUge1BpY2s8VCwgRXhjbHVkZTxrZXlvZiBULCBLPj59ICovICh7fSk7XG5cdGZvciAoY29uc3QgayBpbiBvYmopIHtcblx0XHRpZiAoXG5cdFx0XHRoYXNfcHJvcChvYmosIGspICYmXG5cdFx0XHQvLyBAdHMtaWdub3JlXG5cdFx0XHRleGNsdWRlLmluZGV4T2YoaykgPT09IC0xXG5cdFx0KSB7XG5cdFx0XHQvLyBAdHMtaWdub3JlXG5cdFx0XHR0YXJnZXRba10gPSBvYmpba107XG5cdFx0fVxuXHR9XG5cdHJldHVybiB0YXJnZXQ7XG59XG5cbi8qKlxuICogQHRlbXBsYXRlIHtrZXlvZiBTVkdFbGVtZW50VGFnTmFtZU1hcH0gS1xuICogQHBhcmFtIHtLfSBuYW1lXG4gKiBAcmV0dXJucyB7U1ZHRWxlbWVudH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN2Z19lbGVtZW50KG5hbWUpIHtcblx0cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCBuYW1lKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gZGF0YVxuICogQHJldHVybnMge1RleHR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0ZXh0KGRhdGEpIHtcblx0cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGRhdGEpO1xufVxuXG4vKipcbiAqIEByZXR1cm5zIHtUZXh0fSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNwYWNlKCkge1xuXHRyZXR1cm4gdGV4dCgnICcpO1xufVxuXG4vKipcbiAqIEByZXR1cm5zIHtUZXh0fSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVtcHR5KCkge1xuXHRyZXR1cm4gdGV4dCgnJyk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IGNvbnRlbnRcbiAqIEByZXR1cm5zIHtDb21tZW50fVxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tbWVudChjb250ZW50KSB7XG5cdHJldHVybiBkb2N1bWVudC5jcmVhdGVDb21tZW50KGNvbnRlbnQpO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7RXZlbnRUYXJnZXR9IG5vZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudFxuICogQHBhcmFtIHtFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0fSBoYW5kbGVyXG4gKiBAcGFyYW0ge2Jvb2xlYW4gfCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyB8IEV2ZW50TGlzdGVuZXJPcHRpb25zfSBbb3B0aW9uc11cbiAqIEByZXR1cm5zIHsoKSA9PiB2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gbGlzdGVuKG5vZGUsIGV2ZW50LCBoYW5kbGVyLCBvcHRpb25zKSB7XG5cdG5vZGUuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgaGFuZGxlciwgb3B0aW9ucyk7XG5cdHJldHVybiAoKSA9PiBub2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnQsIGhhbmRsZXIsIG9wdGlvbnMpO1xufVxuXG4vKipcbiAqIEByZXR1cm5zIHsoZXZlbnQ6IGFueSkgPT4gYW55fSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByZXZlbnRfZGVmYXVsdChmbikge1xuXHRyZXR1cm4gZnVuY3Rpb24gKGV2ZW50KSB7XG5cdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0cmV0dXJuIGZuLmNhbGwodGhpcywgZXZlbnQpO1xuXHR9O1xufVxuXG4vKipcbiAqIEByZXR1cm5zIHsoZXZlbnQ6IGFueSkgPT4gYW55fSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0b3BfcHJvcGFnYXRpb24oZm4pIHtcblx0cmV0dXJuIGZ1bmN0aW9uIChldmVudCkge1xuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRyZXR1cm4gZm4uY2FsbCh0aGlzLCBldmVudCk7XG5cdH07XG59XG5cbi8qKlxuICogQHJldHVybnMgeyhldmVudDogYW55KSA9PiBhbnl9ICovXG5leHBvcnQgZnVuY3Rpb24gc3RvcF9pbW1lZGlhdGVfcHJvcGFnYXRpb24oZm4pIHtcblx0cmV0dXJuIGZ1bmN0aW9uIChldmVudCkge1xuXHRcdGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRyZXR1cm4gZm4uY2FsbCh0aGlzLCBldmVudCk7XG5cdH07XG59XG5cbi8qKlxuICogQHJldHVybnMgeyhldmVudDogYW55KSA9PiB2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlbGYoZm4pIHtcblx0cmV0dXJuIGZ1bmN0aW9uIChldmVudCkge1xuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRpZiAoZXZlbnQudGFyZ2V0ID09PSB0aGlzKSBmbi5jYWxsKHRoaXMsIGV2ZW50KTtcblx0fTtcbn1cblxuLyoqXG4gKiBAcmV0dXJucyB7KGV2ZW50OiBhbnkpID0+IHZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gdHJ1c3RlZChmbikge1xuXHRyZXR1cm4gZnVuY3Rpb24gKGV2ZW50KSB7XG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdGlmIChldmVudC5pc1RydXN0ZWQpIGZuLmNhbGwodGhpcywgZXZlbnQpO1xuXHR9O1xufVxuXG4vKipcbiAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtzdHJpbmd9IGF0dHJpYnV0ZVxuICogQHBhcmFtIHtzdHJpbmd9IFt2YWx1ZV1cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gYXR0cihub2RlLCBhdHRyaWJ1dGUsIHZhbHVlKSB7XG5cdGlmICh2YWx1ZSA9PSBudWxsKSBub2RlLnJlbW92ZUF0dHJpYnV0ZShhdHRyaWJ1dGUpO1xuXHRlbHNlIGlmIChub2RlLmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpICE9PSB2YWx1ZSkgbm9kZS5zZXRBdHRyaWJ1dGUoYXR0cmlidXRlLCB2YWx1ZSk7XG59XG4vKipcbiAqIExpc3Qgb2YgYXR0cmlidXRlcyB0aGF0IHNob3VsZCBhbHdheXMgYmUgc2V0IHRocm91Z2ggdGhlIGF0dHIgbWV0aG9kLFxuICogYmVjYXVzZSB1cGRhdGluZyB0aGVtIHRocm91Z2ggdGhlIHByb3BlcnR5IHNldHRlciBkb2Vzbid0IHdvcmsgcmVsaWFibHkuXG4gKiBJbiB0aGUgZXhhbXBsZSBvZiBgd2lkdGhgL2BoZWlnaHRgLCB0aGUgcHJvYmxlbSBpcyB0aGF0IHRoZSBzZXR0ZXIgb25seVxuICogYWNjZXB0cyBudW1lcmljIHZhbHVlcywgYnV0IHRoZSBhdHRyaWJ1dGUgY2FuIGFsc28gYmUgc2V0IHRvIGEgc3RyaW5nIGxpa2UgYDUwJWAuXG4gKiBJZiB0aGlzIGxpc3QgYmVjb21lcyB0b28gYmlnLCByZXRoaW5rIHRoaXMgYXBwcm9hY2guXG4gKi9cbmNvbnN0IGFsd2F5c19zZXRfdGhyb3VnaF9zZXRfYXR0cmlidXRlID0gWyd3aWR0aCcsICdoZWlnaHQnXTtcblxuLyoqXG4gKiBAcGFyYW0ge0VsZW1lbnQgJiBFbGVtZW50Q1NTSW5saW5lU3R5bGV9IG5vZGVcbiAqIEBwYXJhbSB7eyBbeDogc3RyaW5nXTogc3RyaW5nIH19IGF0dHJpYnV0ZXNcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0X2F0dHJpYnV0ZXMobm9kZSwgYXR0cmlidXRlcykge1xuXHQvLyBAdHMtaWdub3JlXG5cdGNvbnN0IGRlc2NyaXB0b3JzID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMobm9kZS5fX3Byb3RvX18pO1xuXHRmb3IgKGNvbnN0IGtleSBpbiBhdHRyaWJ1dGVzKSB7XG5cdFx0aWYgKGF0dHJpYnV0ZXNba2V5XSA9PSBudWxsKSB7XG5cdFx0XHRub2RlLnJlbW92ZUF0dHJpYnV0ZShrZXkpO1xuXHRcdH0gZWxzZSBpZiAoa2V5ID09PSAnc3R5bGUnKSB7XG5cdFx0XHRub2RlLnN0eWxlLmNzc1RleHQgPSBhdHRyaWJ1dGVzW2tleV07XG5cdFx0fSBlbHNlIGlmIChrZXkgPT09ICdfX3ZhbHVlJykge1xuXHRcdFx0LyoqIEB0eXBlIHthbnl9ICovIChub2RlKS52YWx1ZSA9IG5vZGVba2V5XSA9IGF0dHJpYnV0ZXNba2V5XTtcblx0XHR9IGVsc2UgaWYgKFxuXHRcdFx0ZGVzY3JpcHRvcnNba2V5XSAmJlxuXHRcdFx0ZGVzY3JpcHRvcnNba2V5XS5zZXQgJiZcblx0XHRcdGFsd2F5c19zZXRfdGhyb3VnaF9zZXRfYXR0cmlidXRlLmluZGV4T2Yoa2V5KSA9PT0gLTFcblx0XHQpIHtcblx0XHRcdG5vZGVba2V5XSA9IGF0dHJpYnV0ZXNba2V5XTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0YXR0cihub2RlLCBrZXksIGF0dHJpYnV0ZXNba2V5XSk7XG5cdFx0fVxuXHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHtFbGVtZW50ICYgRWxlbWVudENTU0lubGluZVN0eWxlfSBub2RlXG4gKiBAcGFyYW0ge3sgW3g6IHN0cmluZ106IHN0cmluZyB9fSBhdHRyaWJ1dGVzXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldF9zdmdfYXR0cmlidXRlcyhub2RlLCBhdHRyaWJ1dGVzKSB7XG5cdGZvciAoY29uc3Qga2V5IGluIGF0dHJpYnV0ZXMpIHtcblx0XHRhdHRyKG5vZGUsIGtleSwgYXR0cmlidXRlc1trZXldKTtcblx0fVxufVxuXG4vKipcbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59IGRhdGFfbWFwXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldF9jdXN0b21fZWxlbWVudF9kYXRhX21hcChub2RlLCBkYXRhX21hcCkge1xuXHRPYmplY3Qua2V5cyhkYXRhX21hcCkuZm9yRWFjaCgoa2V5KSA9PiB7XG5cdFx0c2V0X2N1c3RvbV9lbGVtZW50X2RhdGEobm9kZSwga2V5LCBkYXRhX21hcFtrZXldKTtcblx0fSk7XG59XG5cbi8qKlxuICogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gc2V0X2N1c3RvbV9lbGVtZW50X2RhdGEobm9kZSwgcHJvcCwgdmFsdWUpIHtcblx0aWYgKHByb3AgaW4gbm9kZSkge1xuXHRcdG5vZGVbcHJvcF0gPSB0eXBlb2Ygbm9kZVtwcm9wXSA9PT0gJ2Jvb2xlYW4nICYmIHZhbHVlID09PSAnJyA/IHRydWUgOiB2YWx1ZTtcblx0fSBlbHNlIHtcblx0XHRhdHRyKG5vZGUsIHByb3AsIHZhbHVlKTtcblx0fVxufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB0YWdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldF9keW5hbWljX2VsZW1lbnRfZGF0YSh0YWcpIHtcblx0cmV0dXJuIC8tLy50ZXN0KHRhZykgPyBzZXRfY3VzdG9tX2VsZW1lbnRfZGF0YV9tYXAgOiBzZXRfYXR0cmlidXRlcztcbn1cblxuLyoqXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHhsaW5rX2F0dHIobm9kZSwgYXR0cmlidXRlLCB2YWx1ZSkge1xuXHRub2RlLnNldEF0dHJpYnV0ZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJywgYXR0cmlidXRlLCB2YWx1ZSk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gbm9kZVxuICogQHJldHVybnMge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldF9zdmVsdGVfZGF0YXNldChub2RlKSB7XG5cdHJldHVybiBub2RlLmRhdGFzZXQuc3ZlbHRlSDtcbn1cblxuLyoqXG4gKiBAcmV0dXJucyB7dW5rbm93bltdfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldF9iaW5kaW5nX2dyb3VwX3ZhbHVlKGdyb3VwLCBfX3ZhbHVlLCBjaGVja2VkKSB7XG5cdGNvbnN0IHZhbHVlID0gbmV3IFNldCgpO1xuXHRmb3IgKGxldCBpID0gMDsgaSA8IGdyb3VwLmxlbmd0aDsgaSArPSAxKSB7XG5cdFx0aWYgKGdyb3VwW2ldLmNoZWNrZWQpIHZhbHVlLmFkZChncm91cFtpXS5fX3ZhbHVlKTtcblx0fVxuXHRpZiAoIWNoZWNrZWQpIHtcblx0XHR2YWx1ZS5kZWxldGUoX192YWx1ZSk7XG5cdH1cblx0cmV0dXJuIEFycmF5LmZyb20odmFsdWUpO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudFtdfSBncm91cFxuICogQHJldHVybnMge3sgcCguLi5pbnB1dHM6IEhUTUxJbnB1dEVsZW1lbnRbXSk6IHZvaWQ7IHIoKTogdm9pZDsgfX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluaXRfYmluZGluZ19ncm91cChncm91cCkge1xuXHQvKipcblx0ICogQHR5cGUge0hUTUxJbnB1dEVsZW1lbnRbXX0gKi9cblx0bGV0IF9pbnB1dHM7XG5cdHJldHVybiB7XG5cdFx0LyogcHVzaCAqLyBwKC4uLmlucHV0cykge1xuXHRcdFx0X2lucHV0cyA9IGlucHV0cztcblx0XHRcdF9pbnB1dHMuZm9yRWFjaCgoaW5wdXQpID0+IGdyb3VwLnB1c2goaW5wdXQpKTtcblx0XHR9LFxuXHRcdC8qIHJlbW92ZSAqLyByKCkge1xuXHRcdFx0X2lucHV0cy5mb3JFYWNoKChpbnB1dCkgPT4gZ3JvdXAuc3BsaWNlKGdyb3VwLmluZGV4T2YoaW5wdXQpLCAxKSk7XG5cdFx0fVxuXHR9O1xufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyW119IGluZGV4ZXNcbiAqIEByZXR1cm5zIHt7IHUobmV3X2luZGV4ZXM6IG51bWJlcltdKTogdm9pZDsgcCguLi5pbnB1dHM6IEhUTUxJbnB1dEVsZW1lbnRbXSk6IHZvaWQ7IHI6ICgpID0+IHZvaWQ7IH19XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0X2JpbmRpbmdfZ3JvdXBfZHluYW1pYyhncm91cCwgaW5kZXhlcykge1xuXHQvKipcblx0ICogQHR5cGUge0hUTUxJbnB1dEVsZW1lbnRbXX0gKi9cblx0bGV0IF9ncm91cCA9IGdldF9iaW5kaW5nX2dyb3VwKGdyb3VwKTtcblxuXHQvKipcblx0ICogQHR5cGUge0hUTUxJbnB1dEVsZW1lbnRbXX0gKi9cblx0bGV0IF9pbnB1dHM7XG5cblx0ZnVuY3Rpb24gZ2V0X2JpbmRpbmdfZ3JvdXAoZ3JvdXApIHtcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGluZGV4ZXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdGdyb3VwID0gZ3JvdXBbaW5kZXhlc1tpXV0gPSBncm91cFtpbmRleGVzW2ldXSB8fCBbXTtcblx0XHR9XG5cdFx0cmV0dXJuIGdyb3VwO1xuXHR9XG5cblx0LyoqXG5cdCAqIEByZXR1cm5zIHt2b2lkfSAqL1xuXHRmdW5jdGlvbiBwdXNoKCkge1xuXHRcdF9pbnB1dHMuZm9yRWFjaCgoaW5wdXQpID0+IF9ncm91cC5wdXNoKGlucHV0KSk7XG5cdH1cblxuXHQvKipcblx0ICogQHJldHVybnMge3ZvaWR9ICovXG5cdGZ1bmN0aW9uIHJlbW92ZSgpIHtcblx0XHRfaW5wdXRzLmZvckVhY2goKGlucHV0KSA9PiBfZ3JvdXAuc3BsaWNlKF9ncm91cC5pbmRleE9mKGlucHV0KSwgMSkpO1xuXHR9XG5cdHJldHVybiB7XG5cdFx0LyogdXBkYXRlICovIHUobmV3X2luZGV4ZXMpIHtcblx0XHRcdGluZGV4ZXMgPSBuZXdfaW5kZXhlcztcblx0XHRcdGNvbnN0IG5ld19ncm91cCA9IGdldF9iaW5kaW5nX2dyb3VwKGdyb3VwKTtcblx0XHRcdGlmIChuZXdfZ3JvdXAgIT09IF9ncm91cCkge1xuXHRcdFx0XHRyZW1vdmUoKTtcblx0XHRcdFx0X2dyb3VwID0gbmV3X2dyb3VwO1xuXHRcdFx0XHRwdXNoKCk7XG5cdFx0XHR9XG5cdFx0fSxcblx0XHQvKiBwdXNoICovIHAoLi4uaW5wdXRzKSB7XG5cdFx0XHRfaW5wdXRzID0gaW5wdXRzO1xuXHRcdFx0cHVzaCgpO1xuXHRcdH0sXG5cdFx0LyogcmVtb3ZlICovIHI6IHJlbW92ZVxuXHR9O1xufVxuXG4vKiogQHJldHVybnMge251bWJlcn0gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b19udW1iZXIodmFsdWUpIHtcblx0cmV0dXJuIHZhbHVlID09PSAnJyA/IG51bGwgOiArdmFsdWU7XG59XG5cbi8qKiBAcmV0dXJucyB7YW55W119ICovXG5leHBvcnQgZnVuY3Rpb24gdGltZV9yYW5nZXNfdG9fYXJyYXkocmFuZ2VzKSB7XG5cdGNvbnN0IGFycmF5ID0gW107XG5cdGZvciAobGV0IGkgPSAwOyBpIDwgcmFuZ2VzLmxlbmd0aDsgaSArPSAxKSB7XG5cdFx0YXJyYXkucHVzaCh7IHN0YXJ0OiByYW5nZXMuc3RhcnQoaSksIGVuZDogcmFuZ2VzLmVuZChpKSB9KTtcblx0fVxuXHRyZXR1cm4gYXJyYXk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtFbGVtZW50fSBlbGVtZW50XG4gKiBAcmV0dXJucyB7Q2hpbGROb2RlW119XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGlsZHJlbihlbGVtZW50KSB7XG5cdHJldHVybiBBcnJheS5mcm9tKGVsZW1lbnQuY2hpbGROb2Rlcyk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtDaGlsZE5vZGVBcnJheX0gbm9kZXNcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5mdW5jdGlvbiBpbml0X2NsYWltX2luZm8obm9kZXMpIHtcblx0aWYgKG5vZGVzLmNsYWltX2luZm8gPT09IHVuZGVmaW5lZCkge1xuXHRcdG5vZGVzLmNsYWltX2luZm8gPSB7IGxhc3RfaW5kZXg6IDAsIHRvdGFsX2NsYWltZWQ6IDAgfTtcblx0fVxufVxuXG4vKipcbiAqIEB0ZW1wbGF0ZSB7Q2hpbGROb2RlRXh9IFJcbiAqIEBwYXJhbSB7Q2hpbGROb2RlQXJyYXl9IG5vZGVzXG4gKiBAcGFyYW0geyhub2RlOiBDaGlsZE5vZGVFeCkgPT4gbm9kZSBpcyBSfSBwcmVkaWNhdGVcbiAqIEBwYXJhbSB7KG5vZGU6IENoaWxkTm9kZUV4KSA9PiBDaGlsZE5vZGVFeCB8IHVuZGVmaW5lZH0gcHJvY2Vzc19ub2RlXG4gKiBAcGFyYW0geygpID0+IFJ9IGNyZWF0ZV9ub2RlXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGRvbnRfdXBkYXRlX2xhc3RfaW5kZXhcbiAqIEByZXR1cm5zIHtSfVxuICovXG5mdW5jdGlvbiBjbGFpbV9ub2RlKG5vZGVzLCBwcmVkaWNhdGUsIHByb2Nlc3Nfbm9kZSwgY3JlYXRlX25vZGUsIGRvbnRfdXBkYXRlX2xhc3RfaW5kZXggPSBmYWxzZSkge1xuXHQvLyBUcnkgdG8gZmluZCBub2RlcyBpbiBhbiBvcmRlciBzdWNoIHRoYXQgd2UgbGVuZ3RoZW4gdGhlIGxvbmdlc3QgaW5jcmVhc2luZyBzdWJzZXF1ZW5jZVxuXHRpbml0X2NsYWltX2luZm8obm9kZXMpO1xuXHRjb25zdCByZXN1bHRfbm9kZSA9ICgoKSA9PiB7XG5cdFx0Ly8gV2UgZmlyc3QgdHJ5IHRvIGZpbmQgYW4gZWxlbWVudCBhZnRlciB0aGUgcHJldmlvdXMgb25lXG5cdFx0Zm9yIChsZXQgaSA9IG5vZGVzLmNsYWltX2luZm8ubGFzdF9pbmRleDsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRjb25zdCBub2RlID0gbm9kZXNbaV07XG5cdFx0XHRpZiAocHJlZGljYXRlKG5vZGUpKSB7XG5cdFx0XHRcdGNvbnN0IHJlcGxhY2VtZW50ID0gcHJvY2Vzc19ub2RlKG5vZGUpO1xuXHRcdFx0XHRpZiAocmVwbGFjZW1lbnQgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRcdG5vZGVzLnNwbGljZShpLCAxKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRub2Rlc1tpXSA9IHJlcGxhY2VtZW50O1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmICghZG9udF91cGRhdGVfbGFzdF9pbmRleCkge1xuXHRcdFx0XHRcdG5vZGVzLmNsYWltX2luZm8ubGFzdF9pbmRleCA9IGk7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIG5vZGU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC8vIE90aGVyd2lzZSwgd2UgdHJ5IHRvIGZpbmQgb25lIGJlZm9yZVxuXHRcdC8vIFdlIGl0ZXJhdGUgaW4gcmV2ZXJzZSBzbyB0aGF0IHdlIGRvbid0IGdvIHRvbyBmYXIgYmFja1xuXHRcdGZvciAobGV0IGkgPSBub2Rlcy5jbGFpbV9pbmZvLmxhc3RfaW5kZXggLSAxOyBpID49IDA7IGktLSkge1xuXHRcdFx0Y29uc3Qgbm9kZSA9IG5vZGVzW2ldO1xuXHRcdFx0aWYgKHByZWRpY2F0ZShub2RlKSkge1xuXHRcdFx0XHRjb25zdCByZXBsYWNlbWVudCA9IHByb2Nlc3Nfbm9kZShub2RlKTtcblx0XHRcdFx0aWYgKHJlcGxhY2VtZW50ID09PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHRub2Rlcy5zcGxpY2UoaSwgMSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0bm9kZXNbaV0gPSByZXBsYWNlbWVudDtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAoIWRvbnRfdXBkYXRlX2xhc3RfaW5kZXgpIHtcblx0XHRcdFx0XHRub2Rlcy5jbGFpbV9pbmZvLmxhc3RfaW5kZXggPSBpO1xuXHRcdFx0XHR9IGVsc2UgaWYgKHJlcGxhY2VtZW50ID09PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHQvLyBTaW5jZSB3ZSBzcGxpY2VkIGJlZm9yZSB0aGUgbGFzdF9pbmRleCwgd2UgZGVjcmVhc2UgaXRcblx0XHRcdFx0XHRub2Rlcy5jbGFpbV9pbmZvLmxhc3RfaW5kZXgtLTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gbm9kZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ly8gSWYgd2UgY2FuJ3QgZmluZCBhbnkgbWF0Y2hpbmcgbm9kZSwgd2UgY3JlYXRlIGEgbmV3IG9uZVxuXHRcdHJldHVybiBjcmVhdGVfbm9kZSgpO1xuXHR9KSgpO1xuXHRyZXN1bHRfbm9kZS5jbGFpbV9vcmRlciA9IG5vZGVzLmNsYWltX2luZm8udG90YWxfY2xhaW1lZDtcblx0bm9kZXMuY2xhaW1faW5mby50b3RhbF9jbGFpbWVkICs9IDE7XG5cdHJldHVybiByZXN1bHRfbm9kZTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge0NoaWxkTm9kZUFycmF5fSBub2Rlc1xuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7eyBba2V5OiBzdHJpbmddOiBib29sZWFuIH19IGF0dHJpYnV0ZXNcbiAqIEBwYXJhbSB7KG5hbWU6IHN0cmluZykgPT4gRWxlbWVudCB8IFNWR0VsZW1lbnR9IGNyZWF0ZV9lbGVtZW50XG4gKiBAcmV0dXJucyB7RWxlbWVudCB8IFNWR0VsZW1lbnR9XG4gKi9cbmZ1bmN0aW9uIGNsYWltX2VsZW1lbnRfYmFzZShub2RlcywgbmFtZSwgYXR0cmlidXRlcywgY3JlYXRlX2VsZW1lbnQpIHtcblx0cmV0dXJuIGNsYWltX25vZGUoXG5cdFx0bm9kZXMsXG5cdFx0LyoqIEByZXR1cm5zIHtub2RlIGlzIEVsZW1lbnQgfCBTVkdFbGVtZW50fSAqL1xuXHRcdChub2RlKSA9PiBub2RlLm5vZGVOYW1lID09PSBuYW1lLFxuXHRcdC8qKiBAcGFyYW0ge0VsZW1lbnR9IG5vZGUgKi9cblx0XHQobm9kZSkgPT4ge1xuXHRcdFx0Y29uc3QgcmVtb3ZlID0gW107XG5cdFx0XHRmb3IgKGxldCBqID0gMDsgaiA8IG5vZGUuYXR0cmlidXRlcy5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRjb25zdCBhdHRyaWJ1dGUgPSBub2RlLmF0dHJpYnV0ZXNbal07XG5cdFx0XHRcdGlmICghYXR0cmlidXRlc1thdHRyaWJ1dGUubmFtZV0pIHtcblx0XHRcdFx0XHRyZW1vdmUucHVzaChhdHRyaWJ1dGUubmFtZSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHJlbW92ZS5mb3JFYWNoKCh2KSA9PiBub2RlLnJlbW92ZUF0dHJpYnV0ZSh2KSk7XG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdH0sXG5cdFx0KCkgPT4gY3JlYXRlX2VsZW1lbnQobmFtZSlcblx0KTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge0NoaWxkTm9kZUFycmF5fSBub2Rlc1xuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7eyBba2V5OiBzdHJpbmddOiBib29sZWFuIH19IGF0dHJpYnV0ZXNcbiAqIEByZXR1cm5zIHtFbGVtZW50IHwgU1ZHRWxlbWVudH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsYWltX2VsZW1lbnQobm9kZXMsIG5hbWUsIGF0dHJpYnV0ZXMpIHtcblx0cmV0dXJuIGNsYWltX2VsZW1lbnRfYmFzZShub2RlcywgbmFtZSwgYXR0cmlidXRlcywgZWxlbWVudCk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtDaGlsZE5vZGVBcnJheX0gbm9kZXNcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gKiBAcGFyYW0ge3sgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9fSBhdHRyaWJ1dGVzXG4gKiBAcmV0dXJucyB7RWxlbWVudCB8IFNWR0VsZW1lbnR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbGFpbV9zdmdfZWxlbWVudChub2RlcywgbmFtZSwgYXR0cmlidXRlcykge1xuXHRyZXR1cm4gY2xhaW1fZWxlbWVudF9iYXNlKG5vZGVzLCBuYW1lLCBhdHRyaWJ1dGVzLCBzdmdfZWxlbWVudCk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtDaGlsZE5vZGVBcnJheX0gbm9kZXNcbiAqIEByZXR1cm5zIHtUZXh0fVxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xhaW1fdGV4dChub2RlcywgZGF0YSkge1xuXHRyZXR1cm4gY2xhaW1fbm9kZShcblx0XHRub2Rlcyxcblx0XHQvKiogQHJldHVybnMge25vZGUgaXMgVGV4dH0gKi9cblx0XHQobm9kZSkgPT4gbm9kZS5ub2RlVHlwZSA9PT0gMyxcblx0XHQvKiogQHBhcmFtIHtUZXh0fSBub2RlICovXG5cdFx0KG5vZGUpID0+IHtcblx0XHRcdGNvbnN0IGRhdGFfc3RyID0gJycgKyBkYXRhO1xuXHRcdFx0aWYgKG5vZGUuZGF0YS5zdGFydHNXaXRoKGRhdGFfc3RyKSkge1xuXHRcdFx0XHRpZiAobm9kZS5kYXRhLmxlbmd0aCAhPT0gZGF0YV9zdHIubGVuZ3RoKSB7XG5cdFx0XHRcdFx0cmV0dXJuIG5vZGUuc3BsaXRUZXh0KGRhdGFfc3RyLmxlbmd0aCk7XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdG5vZGUuZGF0YSA9IGRhdGFfc3RyO1xuXHRcdFx0fVxuXHRcdH0sXG5cdFx0KCkgPT4gdGV4dChkYXRhKSxcblx0XHR0cnVlIC8vIFRleHQgbm9kZXMgc2hvdWxkIG5vdCB1cGRhdGUgbGFzdCBpbmRleCBzaW5jZSBpdCBpcyBsaWtlbHkgbm90IHdvcnRoIGl0IHRvIGVsaW1pbmF0ZSBhbiBpbmNyZWFzaW5nIHN1YnNlcXVlbmNlIG9mIGFjdHVhbCBlbGVtZW50c1xuXHQpO1xufVxuXG4vKipcbiAqIEByZXR1cm5zIHtUZXh0fSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsYWltX3NwYWNlKG5vZGVzKSB7XG5cdHJldHVybiBjbGFpbV90ZXh0KG5vZGVzLCAnICcpO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7Q2hpbGROb2RlQXJyYXl9IG5vZGVzXG4gKiBAcmV0dXJucyB7Q29tbWVudH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsYWltX2NvbW1lbnQobm9kZXMsIGRhdGEpIHtcblx0cmV0dXJuIGNsYWltX25vZGUoXG5cdFx0bm9kZXMsXG5cdFx0LyoqIEByZXR1cm5zIHtub2RlIGlzIENvbW1lbnR9ICovXG5cdFx0KG5vZGUpID0+IG5vZGUubm9kZVR5cGUgPT09IDgsXG5cdFx0LyoqIEBwYXJhbSB7Q29tbWVudH0gbm9kZSAqL1xuXHRcdChub2RlKSA9PiB7XG5cdFx0XHRub2RlLmRhdGEgPSAnJyArIGRhdGE7XG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdH0sXG5cdFx0KCkgPT4gY29tbWVudChkYXRhKSxcblx0XHR0cnVlXG5cdCk7XG59XG5cbmZ1bmN0aW9uIGdldF9jb21tZW50X2lkeChub2RlcywgdGV4dCwgc3RhcnQpIHtcblx0Zm9yIChsZXQgaSA9IHN0YXJ0OyBpIDwgbm9kZXMubGVuZ3RoOyBpICs9IDEpIHtcblx0XHRjb25zdCBub2RlID0gbm9kZXNbaV07XG5cdFx0aWYgKG5vZGUubm9kZVR5cGUgPT09IDggLyogY29tbWVudCBub2RlICovICYmIG5vZGUudGV4dENvbnRlbnQudHJpbSgpID09PSB0ZXh0KSB7XG5cdFx0XHRyZXR1cm4gaTtcblx0XHR9XG5cdH1cblx0cmV0dXJuIC0xO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNfc3ZnXG4gKiBAcmV0dXJucyB7SHRtbFRhZ0h5ZHJhdGlvbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsYWltX2h0bWxfdGFnKG5vZGVzLCBpc19zdmcpIHtcblx0Ly8gZmluZCBodG1sIG9wZW5pbmcgdGFnXG5cdGNvbnN0IHN0YXJ0X2luZGV4ID0gZ2V0X2NvbW1lbnRfaWR4KG5vZGVzLCAnSFRNTF9UQUdfU1RBUlQnLCAwKTtcblx0Y29uc3QgZW5kX2luZGV4ID0gZ2V0X2NvbW1lbnRfaWR4KG5vZGVzLCAnSFRNTF9UQUdfRU5EJywgc3RhcnRfaW5kZXggKyAxKTtcblx0aWYgKHN0YXJ0X2luZGV4ID09PSAtMSB8fCBlbmRfaW5kZXggPT09IC0xKSB7XG5cdFx0cmV0dXJuIG5ldyBIdG1sVGFnSHlkcmF0aW9uKGlzX3N2Zyk7XG5cdH1cblxuXHRpbml0X2NsYWltX2luZm8obm9kZXMpO1xuXHRjb25zdCBodG1sX3RhZ19ub2RlcyA9IG5vZGVzLnNwbGljZShzdGFydF9pbmRleCwgZW5kX2luZGV4IC0gc3RhcnRfaW5kZXggKyAxKTtcblx0ZGV0YWNoKGh0bWxfdGFnX25vZGVzWzBdKTtcblx0ZGV0YWNoKGh0bWxfdGFnX25vZGVzW2h0bWxfdGFnX25vZGVzLmxlbmd0aCAtIDFdKTtcblx0Y29uc3QgY2xhaW1lZF9ub2RlcyA9IGh0bWxfdGFnX25vZGVzLnNsaWNlKDEsIGh0bWxfdGFnX25vZGVzLmxlbmd0aCAtIDEpO1xuXHRmb3IgKGNvbnN0IG4gb2YgY2xhaW1lZF9ub2Rlcykge1xuXHRcdG4uY2xhaW1fb3JkZXIgPSBub2Rlcy5jbGFpbV9pbmZvLnRvdGFsX2NsYWltZWQ7XG5cdFx0bm9kZXMuY2xhaW1faW5mby50b3RhbF9jbGFpbWVkICs9IDE7XG5cdH1cblx0cmV0dXJuIG5ldyBIdG1sVGFnSHlkcmF0aW9uKGlzX3N2ZywgY2xhaW1lZF9ub2Rlcyk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtUZXh0fSB0ZXh0XG4gKiBAcGFyYW0ge3Vua25vd259IGRhdGFcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0X2RhdGEodGV4dCwgZGF0YSkge1xuXHRkYXRhID0gJycgKyBkYXRhO1xuXHRpZiAodGV4dC5kYXRhID09PSBkYXRhKSByZXR1cm47XG5cdHRleHQuZGF0YSA9IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyAoZGF0YSk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtUZXh0fSB0ZXh0XG4gKiBAcGFyYW0ge3Vua25vd259IGRhdGFcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0X2RhdGFfY29udGVudGVkaXRhYmxlKHRleHQsIGRhdGEpIHtcblx0ZGF0YSA9ICcnICsgZGF0YTtcblx0aWYgKHRleHQud2hvbGVUZXh0ID09PSBkYXRhKSByZXR1cm47XG5cdHRleHQuZGF0YSA9IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyAoZGF0YSk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtUZXh0fSB0ZXh0XG4gKiBAcGFyYW0ge3Vua25vd259IGRhdGFcbiAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyX3ZhbHVlXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldF9kYXRhX21heWJlX2NvbnRlbnRlZGl0YWJsZSh0ZXh0LCBkYXRhLCBhdHRyX3ZhbHVlKSB7XG5cdGlmICh+Y29udGVudGVkaXRhYmxlX3RydXRoeV92YWx1ZXMuaW5kZXhPZihhdHRyX3ZhbHVlKSkge1xuXHRcdHNldF9kYXRhX2NvbnRlbnRlZGl0YWJsZSh0ZXh0LCBkYXRhKTtcblx0fSBlbHNlIHtcblx0XHRzZXRfZGF0YSh0ZXh0LCBkYXRhKTtcblx0fVxufVxuXG4vKipcbiAqIEByZXR1cm5zIHt2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldF9pbnB1dF92YWx1ZShpbnB1dCwgdmFsdWUpIHtcblx0aW5wdXQudmFsdWUgPSB2YWx1ZSA9PSBudWxsID8gJycgOiB2YWx1ZTtcbn1cblxuLyoqXG4gKiBAcmV0dXJucyB7dm9pZH0gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRfaW5wdXRfdHlwZShpbnB1dCwgdHlwZSkge1xuXHR0cnkge1xuXHRcdGlucHV0LnR5cGUgPSB0eXBlO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Ly8gZG8gbm90aGluZ1xuXHR9XG59XG5cbi8qKlxuICogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gc2V0X3N0eWxlKG5vZGUsIGtleSwgdmFsdWUsIGltcG9ydGFudCkge1xuXHRpZiAodmFsdWUgPT0gbnVsbCkge1xuXHRcdG5vZGUuc3R5bGUucmVtb3ZlUHJvcGVydHkoa2V5KTtcblx0fSBlbHNlIHtcblx0XHRub2RlLnN0eWxlLnNldFByb3BlcnR5KGtleSwgdmFsdWUsIGltcG9ydGFudCA/ICdpbXBvcnRhbnQnIDogJycpO1xuXHR9XG59XG5cbi8qKlxuICogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0X29wdGlvbihzZWxlY3QsIHZhbHVlLCBtb3VudGluZykge1xuXHRmb3IgKGxldCBpID0gMDsgaSA8IHNlbGVjdC5vcHRpb25zLmxlbmd0aDsgaSArPSAxKSB7XG5cdFx0Y29uc3Qgb3B0aW9uID0gc2VsZWN0Lm9wdGlvbnNbaV07XG5cdFx0aWYgKG9wdGlvbi5fX3ZhbHVlID09PSB2YWx1ZSkge1xuXHRcdFx0b3B0aW9uLnNlbGVjdGVkID0gdHJ1ZTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdH1cblx0aWYgKCFtb3VudGluZyB8fCB2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0c2VsZWN0LnNlbGVjdGVkSW5kZXggPSAtMTsgLy8gbm8gb3B0aW9uIHNob3VsZCBiZSBzZWxlY3RlZFxuXHR9XG59XG5cbi8qKlxuICogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0X29wdGlvbnMoc2VsZWN0LCB2YWx1ZSkge1xuXHRmb3IgKGxldCBpID0gMDsgaSA8IHNlbGVjdC5vcHRpb25zLmxlbmd0aDsgaSArPSAxKSB7XG5cdFx0Y29uc3Qgb3B0aW9uID0gc2VsZWN0Lm9wdGlvbnNbaV07XG5cdFx0b3B0aW9uLnNlbGVjdGVkID0gfnZhbHVlLmluZGV4T2Yob3B0aW9uLl9fdmFsdWUpO1xuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWxlY3RfdmFsdWUoc2VsZWN0KSB7XG5cdGNvbnN0IHNlbGVjdGVkX29wdGlvbiA9IHNlbGVjdC5xdWVyeVNlbGVjdG9yKCc6Y2hlY2tlZCcpO1xuXHRyZXR1cm4gc2VsZWN0ZWRfb3B0aW9uICYmIHNlbGVjdGVkX29wdGlvbi5fX3ZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0X211bHRpcGxlX3ZhbHVlKHNlbGVjdCkge1xuXHRyZXR1cm4gW10ubWFwLmNhbGwoc2VsZWN0LnF1ZXJ5U2VsZWN0b3JBbGwoJzpjaGVja2VkJyksIChvcHRpb24pID0+IG9wdGlvbi5fX3ZhbHVlKTtcbn1cbi8vIHVuZm9ydHVuYXRlbHkgdGhpcyBjYW4ndCBiZSBhIGNvbnN0YW50IGFzIHRoYXQgd291bGRuJ3QgYmUgdHJlZS1zaGFrZWFibGVcbi8vIHNvIHdlIGNhY2hlIHRoZSByZXN1bHQgaW5zdGVhZFxuXG4vKipcbiAqIEB0eXBlIHtib29sZWFufSAqL1xubGV0IGNyb3Nzb3JpZ2luO1xuXG4vKipcbiAqIEByZXR1cm5zIHtib29sZWFufSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzX2Nyb3Nzb3JpZ2luKCkge1xuXHRpZiAoY3Jvc3NvcmlnaW4gPT09IHVuZGVmaW5lZCkge1xuXHRcdGNyb3Nzb3JpZ2luID0gZmFsc2U7XG5cdFx0dHJ5IHtcblx0XHRcdGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cucGFyZW50KSB7XG5cdFx0XHRcdHZvaWQgd2luZG93LnBhcmVudC5kb2N1bWVudDtcblx0XHRcdH1cblx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0Y3Jvc3NvcmlnaW4gPSB0cnVlO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gY3Jvc3NvcmlnaW47XG59XG5cbi8qKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHsoKSA9PiB2b2lkfSBmblxuICogQHJldHVybnMgeygpID0+IHZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRfaWZyYW1lX3Jlc2l6ZV9saXN0ZW5lcihub2RlLCBmbikge1xuXHRjb25zdCBjb21wdXRlZF9zdHlsZSA9IGdldENvbXB1dGVkU3R5bGUobm9kZSk7XG5cdGlmIChjb21wdXRlZF9zdHlsZS5wb3NpdGlvbiA9PT0gJ3N0YXRpYycpIHtcblx0XHRub2RlLnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJztcblx0fVxuXHRjb25zdCBpZnJhbWUgPSBlbGVtZW50KCdpZnJhbWUnKTtcblx0aWZyYW1lLnNldEF0dHJpYnV0ZShcblx0XHQnc3R5bGUnLFxuXHRcdCdkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7ICcgK1xuXHRcdFx0J292ZXJmbG93OiBoaWRkZW47IGJvcmRlcjogMDsgb3BhY2l0eTogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7IHotaW5kZXg6IC0xOydcblx0KTtcblx0aWZyYW1lLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpO1xuXHRpZnJhbWUudGFiSW5kZXggPSAtMTtcblx0Y29uc3QgY3Jvc3NvcmlnaW4gPSBpc19jcm9zc29yaWdpbigpO1xuXG5cdC8qKlxuXHQgKiBAdHlwZSB7KCkgPT4gdm9pZH1cblx0ICovXG5cdGxldCB1bnN1YnNjcmliZTtcblx0aWYgKGNyb3Nzb3JpZ2luKSB7XG5cdFx0aWZyYW1lLnNyYyA9IFwiZGF0YTp0ZXh0L2h0bWwsPHNjcmlwdD5vbnJlc2l6ZT1mdW5jdGlvbigpe3BhcmVudC5wb3N0TWVzc2FnZSgwLCcqJyl9PC9zY3JpcHQ+XCI7XG5cdFx0dW5zdWJzY3JpYmUgPSBsaXN0ZW4oXG5cdFx0XHR3aW5kb3csXG5cdFx0XHQnbWVzc2FnZScsXG5cdFx0XHQvKiogQHBhcmFtIHtNZXNzYWdlRXZlbnR9IGV2ZW50ICovIChldmVudCkgPT4ge1xuXHRcdFx0XHRpZiAoZXZlbnQuc291cmNlID09PSBpZnJhbWUuY29udGVudFdpbmRvdykgZm4oKTtcblx0XHRcdH1cblx0XHQpO1xuXHR9IGVsc2Uge1xuXHRcdGlmcmFtZS5zcmMgPSAnYWJvdXQ6YmxhbmsnO1xuXHRcdGlmcmFtZS5vbmxvYWQgPSAoKSA9PiB7XG5cdFx0XHR1bnN1YnNjcmliZSA9IGxpc3RlbihpZnJhbWUuY29udGVudFdpbmRvdywgJ3Jlc2l6ZScsIGZuKTtcblx0XHRcdC8vIG1ha2Ugc3VyZSBhbiBpbml0aWFsIHJlc2l6ZSBldmVudCBpcyBmaXJlZCBfYWZ0ZXJfIHRoZSBpZnJhbWUgaXMgbG9hZGVkICh3aGljaCBpcyBhc3luY2hyb25vdXMpXG5cdFx0XHQvLyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3N2ZWx0ZWpzL3N2ZWx0ZS9pc3N1ZXMvNDIzM1xuXHRcdFx0Zm4oKTtcblx0XHR9O1xuXHR9XG5cdGFwcGVuZChub2RlLCBpZnJhbWUpO1xuXHRyZXR1cm4gKCkgPT4ge1xuXHRcdGlmIChjcm9zc29yaWdpbikge1xuXHRcdFx0dW5zdWJzY3JpYmUoKTtcblx0XHR9IGVsc2UgaWYgKHVuc3Vic2NyaWJlICYmIGlmcmFtZS5jb250ZW50V2luZG93KSB7XG5cdFx0XHR1bnN1YnNjcmliZSgpO1xuXHRcdH1cblx0XHRkZXRhY2goaWZyYW1lKTtcblx0fTtcbn1cbmV4cG9ydCBjb25zdCByZXNpemVfb2JzZXJ2ZXJfY29udGVudF9ib3ggPSAvKiBAX19QVVJFX18gKi8gbmV3IFJlc2l6ZU9ic2VydmVyU2luZ2xldG9uKHtcblx0Ym94OiAnY29udGVudC1ib3gnXG59KTtcbmV4cG9ydCBjb25zdCByZXNpemVfb2JzZXJ2ZXJfYm9yZGVyX2JveCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgUmVzaXplT2JzZXJ2ZXJTaW5nbGV0b24oe1xuXHRib3g6ICdib3JkZXItYm94J1xufSk7XG5leHBvcnQgY29uc3QgcmVzaXplX29ic2VydmVyX2RldmljZV9waXhlbF9jb250ZW50X2JveCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgUmVzaXplT2JzZXJ2ZXJTaW5nbGV0b24oXG5cdHsgYm94OiAnZGV2aWNlLXBpeGVsLWNvbnRlbnQtYm94JyB9XG4pO1xuZXhwb3J0IHsgUmVzaXplT2JzZXJ2ZXJTaW5nbGV0b24gfTtcblxuLyoqXG4gKiBAcmV0dXJucyB7dm9pZH0gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b2dnbGVfY2xhc3MoZWxlbWVudCwgbmFtZSwgdG9nZ2xlKSB7XG5cdC8vIFRoZSBgISFgIGlzIHJlcXVpcmVkIGJlY2F1c2UgYW4gYHVuZGVmaW5lZGAgZmxhZyBtZWFucyBmbGlwcGluZyB0aGUgY3VycmVudCBzdGF0ZS5cblx0ZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKG5hbWUsICEhdG9nZ2xlKTtcbn1cblxuLyoqXG4gKiBAdGVtcGxhdGUgVFxuICogQHBhcmFtIHtzdHJpbmd9IHR5cGVcbiAqIEBwYXJhbSB7VH0gW2RldGFpbF1cbiAqIEBwYXJhbSB7eyBidWJibGVzPzogYm9vbGVhbiwgY2FuY2VsYWJsZT86IGJvb2xlYW4gfX0gW29wdGlvbnNdXG4gKiBAcmV0dXJucyB7Q3VzdG9tRXZlbnQ8VD59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjdXN0b21fZXZlbnQodHlwZSwgZGV0YWlsLCB7IGJ1YmJsZXMgPSBmYWxzZSwgY2FuY2VsYWJsZSA9IGZhbHNlIH0gPSB7fSkge1xuXHRyZXR1cm4gbmV3IEN1c3RvbUV2ZW50KHR5cGUsIHsgZGV0YWlsLCBidWJibGVzLCBjYW5jZWxhYmxlIH0pO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3RvclxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gcGFyZW50XG4gKiBAcmV0dXJucyB7Q2hpbGROb2RlQXJyYXl9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBxdWVyeV9zZWxlY3Rvcl9hbGwoc2VsZWN0b3IsIHBhcmVudCA9IGRvY3VtZW50LmJvZHkpIHtcblx0cmV0dXJuIEFycmF5LmZyb20ocGFyZW50LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gbm9kZUlkXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBoZWFkXG4gKiBAcmV0dXJucyB7YW55W119XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoZWFkX3NlbGVjdG9yKG5vZGVJZCwgaGVhZCkge1xuXHRjb25zdCByZXN1bHQgPSBbXTtcblx0bGV0IHN0YXJ0ZWQgPSAwO1xuXHRmb3IgKGNvbnN0IG5vZGUgb2YgaGVhZC5jaGlsZE5vZGVzKSB7XG5cdFx0aWYgKG5vZGUubm9kZVR5cGUgPT09IDggLyogY29tbWVudCBub2RlICovKSB7XG5cdFx0XHRjb25zdCBjb21tZW50ID0gbm9kZS50ZXh0Q29udGVudC50cmltKCk7XG5cdFx0XHRpZiAoY29tbWVudCA9PT0gYEhFQURfJHtub2RlSWR9X0VORGApIHtcblx0XHRcdFx0c3RhcnRlZCAtPSAxO1xuXHRcdFx0XHRyZXN1bHQucHVzaChub2RlKTtcblx0XHRcdH0gZWxzZSBpZiAoY29tbWVudCA9PT0gYEhFQURfJHtub2RlSWR9X1NUQVJUYCkge1xuXHRcdFx0XHRzdGFydGVkICs9IDE7XG5cdFx0XHRcdHJlc3VsdC5wdXNoKG5vZGUpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAoc3RhcnRlZCA+IDApIHtcblx0XHRcdHJlc3VsdC5wdXNoKG5vZGUpO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gcmVzdWx0O1xufVxuLyoqICovXG5leHBvcnQgY2xhc3MgSHRtbFRhZyB7XG5cdC8qKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKiBAZGVmYXVsdCBmYWxzZVxuXHQgKi9cblx0aXNfc3ZnID0gZmFsc2U7XG5cdC8qKiBwYXJlbnQgZm9yIGNyZWF0aW5nIG5vZGUgKi9cblx0ZSA9IHVuZGVmaW5lZDtcblx0LyoqIGh0bWwgdGFnIG5vZGVzICovXG5cdG4gPSB1bmRlZmluZWQ7XG5cdC8qKiB0YXJnZXQgKi9cblx0dCA9IHVuZGVmaW5lZDtcblx0LyoqIGFuY2hvciAqL1xuXHRhID0gdW5kZWZpbmVkO1xuXHRjb25zdHJ1Y3Rvcihpc19zdmcgPSBmYWxzZSkge1xuXHRcdHRoaXMuaXNfc3ZnID0gaXNfc3ZnO1xuXHRcdHRoaXMuZSA9IHRoaXMubiA9IG51bGw7XG5cdH1cblxuXHQvKipcblx0ICogQHBhcmFtIHtzdHJpbmd9IGh0bWxcblx0ICogQHJldHVybnMge3ZvaWR9XG5cdCAqL1xuXHRjKGh0bWwpIHtcblx0XHR0aGlzLmgoaHRtbCk7XG5cdH1cblxuXHQvKipcblx0ICogQHBhcmFtIHtzdHJpbmd9IGh0bWxcblx0ICogQHBhcmFtIHtIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnR9IHRhcmdldFxuXHQgKiBAcGFyYW0ge0hUTUxFbGVtZW50IHwgU1ZHRWxlbWVudH0gYW5jaG9yXG5cdCAqIEByZXR1cm5zIHt2b2lkfVxuXHQgKi9cblx0bShodG1sLCB0YXJnZXQsIGFuY2hvciA9IG51bGwpIHtcblx0XHRpZiAoIXRoaXMuZSkge1xuXHRcdFx0aWYgKHRoaXMuaXNfc3ZnKVxuXHRcdFx0XHR0aGlzLmUgPSBzdmdfZWxlbWVudCgvKiogQHR5cGUge2tleW9mIFNWR0VsZW1lbnRUYWdOYW1lTWFwfSAqLyAodGFyZ2V0Lm5vZGVOYW1lKSk7XG5cdFx0XHQvKiogIzczNjQgIHRhcmdldCBmb3IgPHRlbXBsYXRlPiBtYXkgYmUgcHJvdmlkZWQgYXMgI2RvY3VtZW50LWZyYWdtZW50KDExKSAqLyBlbHNlXG5cdFx0XHRcdHRoaXMuZSA9IGVsZW1lbnQoXG5cdFx0XHRcdFx0LyoqIEB0eXBlIHtrZXlvZiBIVE1MRWxlbWVudFRhZ05hbWVNYXB9ICovIChcblx0XHRcdFx0XHRcdHRhcmdldC5ub2RlVHlwZSA9PT0gMTEgPyAnVEVNUExBVEUnIDogdGFyZ2V0Lm5vZGVOYW1lXG5cdFx0XHRcdFx0KVxuXHRcdFx0XHQpO1xuXHRcdFx0dGhpcy50ID1cblx0XHRcdFx0dGFyZ2V0LnRhZ05hbWUgIT09ICdURU1QTEFURSdcblx0XHRcdFx0XHQ/IHRhcmdldFxuXHRcdFx0XHRcdDogLyoqIEB0eXBlIHtIVE1MVGVtcGxhdGVFbGVtZW50fSAqLyAodGFyZ2V0KS5jb250ZW50O1xuXHRcdFx0dGhpcy5jKGh0bWwpO1xuXHRcdH1cblx0XHR0aGlzLmkoYW5jaG9yKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gaHRtbFxuXHQgKiBAcmV0dXJucyB7dm9pZH1cblx0ICovXG5cdGgoaHRtbCkge1xuXHRcdHRoaXMuZS5pbm5lckhUTUwgPSBodG1sO1xuXHRcdHRoaXMubiA9IEFycmF5LmZyb20oXG5cdFx0XHR0aGlzLmUubm9kZU5hbWUgPT09ICdURU1QTEFURScgPyB0aGlzLmUuY29udGVudC5jaGlsZE5vZGVzIDogdGhpcy5lLmNoaWxkTm9kZXNcblx0XHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEByZXR1cm5zIHt2b2lkfSAqL1xuXHRpKGFuY2hvcikge1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5uLmxlbmd0aDsgaSArPSAxKSB7XG5cdFx0XHRpbnNlcnQodGhpcy50LCB0aGlzLm5baV0sIGFuY2hvcik7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBodG1sXG5cdCAqIEByZXR1cm5zIHt2b2lkfVxuXHQgKi9cblx0cChodG1sKSB7XG5cdFx0dGhpcy5kKCk7XG5cdFx0dGhpcy5oKGh0bWwpO1xuXHRcdHRoaXMuaSh0aGlzLmEpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEByZXR1cm5zIHt2b2lkfSAqL1xuXHRkKCkge1xuXHRcdHRoaXMubi5mb3JFYWNoKGRldGFjaCk7XG5cdH1cbn1cblxuZXhwb3J0IGNsYXNzIEh0bWxUYWdIeWRyYXRpb24gZXh0ZW5kcyBIdG1sVGFnIHtcblx0LyoqIEB0eXBlIHtFbGVtZW50W119IGh5ZHJhdGlvbiBjbGFpbWVkIG5vZGVzICovXG5cdGwgPSB1bmRlZmluZWQ7XG5cblx0Y29uc3RydWN0b3IoaXNfc3ZnID0gZmFsc2UsIGNsYWltZWRfbm9kZXMpIHtcblx0XHRzdXBlcihpc19zdmcpO1xuXHRcdHRoaXMuZSA9IHRoaXMubiA9IG51bGw7XG5cdFx0dGhpcy5sID0gY2xhaW1lZF9ub2Rlcztcblx0fVxuXG5cdC8qKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gaHRtbFxuXHQgKiBAcmV0dXJucyB7dm9pZH1cblx0ICovXG5cdGMoaHRtbCkge1xuXHRcdGlmICh0aGlzLmwpIHtcblx0XHRcdHRoaXMubiA9IHRoaXMubDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c3VwZXIuYyhodG1sKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQHJldHVybnMge3ZvaWR9ICovXG5cdGkoYW5jaG9yKSB7XG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm4ubGVuZ3RoOyBpICs9IDEpIHtcblx0XHRcdGluc2VydF9oeWRyYXRpb24odGhpcy50LCB0aGlzLm5baV0sIGFuY2hvcik7XG5cdFx0fVxuXHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHtOYW1lZE5vZGVNYXB9IGF0dHJpYnV0ZXNcbiAqIEByZXR1cm5zIHt7fX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGF0dHJpYnV0ZV90b19vYmplY3QoYXR0cmlidXRlcykge1xuXHRjb25zdCByZXN1bHQgPSB7fTtcblx0Zm9yIChjb25zdCBhdHRyaWJ1dGUgb2YgYXR0cmlidXRlcykge1xuXHRcdHJlc3VsdFthdHRyaWJ1dGUubmFtZV0gPSBhdHRyaWJ1dGUudmFsdWU7XG5cdH1cblx0cmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbGVtZW50XG4gKiBAcmV0dXJucyB7e319XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRfY3VzdG9tX2VsZW1lbnRzX3Nsb3RzKGVsZW1lbnQpIHtcblx0Y29uc3QgcmVzdWx0ID0ge307XG5cdGVsZW1lbnQuY2hpbGROb2Rlcy5mb3JFYWNoKFxuXHRcdC8qKiBAcGFyYW0ge0VsZW1lbnR9IG5vZGUgKi8gKG5vZGUpID0+IHtcblx0XHRcdHJlc3VsdFtub2RlLnNsb3QgfHwgJ2RlZmF1bHQnXSA9IHRydWU7XG5cdFx0fVxuXHQpO1xuXHRyZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0X3N2ZWx0ZV9jb21wb25lbnQoY29tcG9uZW50LCBwcm9wcykge1xuXHRyZXR1cm4gbmV3IGNvbXBvbmVudChwcm9wcyk7XG59XG5cbi8qKlxuICogQHR5cGVkZWYge05vZGUgJiB7XG4gKiBcdGNsYWltX29yZGVyPzogbnVtYmVyO1xuICogXHRoeWRyYXRlX2luaXQ/OiB0cnVlO1xuICogXHRhY3R1YWxfZW5kX2NoaWxkPzogTm9kZUV4O1xuICogXHRjaGlsZE5vZGVzOiBOb2RlTGlzdE9mPE5vZGVFeD47XG4gKiB9fSBOb2RlRXhcbiAqL1xuXG4vKiogQHR5cGVkZWYge0NoaWxkTm9kZSAmIE5vZGVFeH0gQ2hpbGROb2RlRXggKi9cblxuLyoqIEB0eXBlZGVmIHtOb2RlRXggJiB7IGNsYWltX29yZGVyOiBudW1iZXIgfX0gTm9kZUV4MiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtDaGlsZE5vZGVFeFtdICYge1xuICogXHRjbGFpbV9pbmZvPzoge1xuICogXHRcdGxhc3RfaW5kZXg6IG51bWJlcjtcbiAqIFx0XHR0b3RhbF9jbGFpbWVkOiBudW1iZXI7XG4gKiBcdH07XG4gKiB9fSBDaGlsZE5vZGVBcnJheVxuICovXG4iLCAiaW1wb3J0IHsgYXBwZW5kX2VtcHR5X3N0eWxlc2hlZXQsIGRldGFjaCwgZ2V0X3Jvb3RfZm9yX3N0eWxlIH0gZnJvbSAnLi9kb20uanMnO1xuaW1wb3J0IHsgcmFmIH0gZnJvbSAnLi9lbnZpcm9ubWVudC5qcyc7XG5cbi8vIHdlIG5lZWQgdG8gc3RvcmUgdGhlIGluZm9ybWF0aW9uIGZvciBtdWx0aXBsZSBkb2N1bWVudHMgYmVjYXVzZSBhIFN2ZWx0ZSBhcHBsaWNhdGlvbiBjb3VsZCBhbHNvIGNvbnRhaW4gaWZyYW1lc1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL3N2ZWx0ZWpzL3N2ZWx0ZS9pc3N1ZXMvMzYyNFxuLyoqIEB0eXBlIHtNYXA8RG9jdW1lbnQgfCBTaGFkb3dSb290LCBpbXBvcnQoJy4vcHJpdmF0ZS5kLnRzJykuU3R5bGVJbmZvcm1hdGlvbj59ICovXG5jb25zdCBtYW5hZ2VkX3N0eWxlcyA9IG5ldyBNYXAoKTtcblxubGV0IGFjdGl2ZSA9IDA7XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9kYXJrc2t5YXBwL3N0cmluZy1oYXNoL2Jsb2IvbWFzdGVyL2luZGV4LmpzXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHJcbiAqIEByZXR1cm5zIHtudW1iZXJ9XG4gKi9cbmZ1bmN0aW9uIGhhc2goc3RyKSB7XG5cdGxldCBoYXNoID0gNTM4MTtcblx0bGV0IGkgPSBzdHIubGVuZ3RoO1xuXHR3aGlsZSAoaS0tKSBoYXNoID0gKChoYXNoIDw8IDUpIC0gaGFzaCkgXiBzdHIuY2hhckNvZGVBdChpKTtcblx0cmV0dXJuIGhhc2ggPj4+IDA7XG59XG5cbi8qKlxuICogQHBhcmFtIHtEb2N1bWVudCB8IFNoYWRvd1Jvb3R9IGRvY1xuICogQHBhcmFtIHtFbGVtZW50ICYgRWxlbWVudENTU0lubGluZVN0eWxlfSBub2RlXG4gKiBAcmV0dXJucyB7eyBzdHlsZXNoZWV0OiBhbnk7IHJ1bGVzOiB7fTsgfX1cbiAqL1xuZnVuY3Rpb24gY3JlYXRlX3N0eWxlX2luZm9ybWF0aW9uKGRvYywgbm9kZSkge1xuXHRjb25zdCBpbmZvID0geyBzdHlsZXNoZWV0OiBhcHBlbmRfZW1wdHlfc3R5bGVzaGVldChub2RlKSwgcnVsZXM6IHt9IH07XG5cdG1hbmFnZWRfc3R5bGVzLnNldChkb2MsIGluZm8pO1xuXHRyZXR1cm4gaW5mbztcbn1cblxuLyoqXG4gKiBAcGFyYW0ge0VsZW1lbnQgJiBFbGVtZW50Q1NTSW5saW5lU3R5bGV9IG5vZGVcbiAqIEBwYXJhbSB7bnVtYmVyfSBhXG4gKiBAcGFyYW0ge251bWJlcn0gYlxuICogQHBhcmFtIHtudW1iZXJ9IGR1cmF0aW9uXG4gKiBAcGFyYW0ge251bWJlcn0gZGVsYXlcbiAqIEBwYXJhbSB7KHQ6IG51bWJlcikgPT4gbnVtYmVyfSBlYXNlXG4gKiBAcGFyYW0geyh0OiBudW1iZXIsIHU6IG51bWJlcikgPT4gc3RyaW5nfSBmblxuICogQHBhcmFtIHtudW1iZXJ9IHVpZFxuICogQHJldHVybnMge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZV9ydWxlKG5vZGUsIGEsIGIsIGR1cmF0aW9uLCBkZWxheSwgZWFzZSwgZm4sIHVpZCA9IDApIHtcblx0Y29uc3Qgc3RlcCA9IDE2LjY2NiAvIGR1cmF0aW9uO1xuXHRsZXQga2V5ZnJhbWVzID0gJ3tcXG4nO1xuXHRmb3IgKGxldCBwID0gMDsgcCA8PSAxOyBwICs9IHN0ZXApIHtcblx0XHRjb25zdCB0ID0gYSArIChiIC0gYSkgKiBlYXNlKHApO1xuXHRcdGtleWZyYW1lcyArPSBwICogMTAwICsgYCV7JHtmbih0LCAxIC0gdCl9fVxcbmA7XG5cdH1cblx0Y29uc3QgcnVsZSA9IGtleWZyYW1lcyArIGAxMDAlIHske2ZuKGIsIDEgLSBiKX19XFxufWA7XG5cdGNvbnN0IG5hbWUgPSBgX19zdmVsdGVfJHtoYXNoKHJ1bGUpfV8ke3VpZH1gO1xuXHRjb25zdCBkb2MgPSBnZXRfcm9vdF9mb3Jfc3R5bGUobm9kZSk7XG5cdGNvbnN0IHsgc3R5bGVzaGVldCwgcnVsZXMgfSA9IG1hbmFnZWRfc3R5bGVzLmdldChkb2MpIHx8IGNyZWF0ZV9zdHlsZV9pbmZvcm1hdGlvbihkb2MsIG5vZGUpO1xuXHRpZiAoIXJ1bGVzW25hbWVdKSB7XG5cdFx0cnVsZXNbbmFtZV0gPSB0cnVlO1xuXHRcdHN0eWxlc2hlZXQuaW5zZXJ0UnVsZShgQGtleWZyYW1lcyAke25hbWV9ICR7cnVsZX1gLCBzdHlsZXNoZWV0LmNzc1J1bGVzLmxlbmd0aCk7XG5cdH1cblx0Y29uc3QgYW5pbWF0aW9uID0gbm9kZS5zdHlsZS5hbmltYXRpb24gfHwgJyc7XG5cdG5vZGUuc3R5bGUuYW5pbWF0aW9uID0gYCR7XG5cdFx0YW5pbWF0aW9uID8gYCR7YW5pbWF0aW9ufSwgYCA6ICcnXG5cdH0ke25hbWV9ICR7ZHVyYXRpb259bXMgbGluZWFyICR7ZGVsYXl9bXMgMSBib3RoYDtcblx0YWN0aXZlICs9IDE7XG5cdHJldHVybiBuYW1lO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7RWxlbWVudCAmIEVsZW1lbnRDU1NJbmxpbmVTdHlsZX0gbm9kZVxuICogQHBhcmFtIHtzdHJpbmd9IFtuYW1lXVxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWxldGVfcnVsZShub2RlLCBuYW1lKSB7XG5cdGNvbnN0IHByZXZpb3VzID0gKG5vZGUuc3R5bGUuYW5pbWF0aW9uIHx8ICcnKS5zcGxpdCgnLCAnKTtcblx0Y29uc3QgbmV4dCA9IHByZXZpb3VzLmZpbHRlcihcblx0XHRuYW1lXG5cdFx0XHQ/IChhbmltKSA9PiBhbmltLmluZGV4T2YobmFtZSkgPCAwIC8vIHJlbW92ZSBzcGVjaWZpYyBhbmltYXRpb25cblx0XHRcdDogKGFuaW0pID0+IGFuaW0uaW5kZXhPZignX19zdmVsdGUnKSA9PT0gLTEgLy8gcmVtb3ZlIGFsbCBTdmVsdGUgYW5pbWF0aW9uc1xuXHQpO1xuXHRjb25zdCBkZWxldGVkID0gcHJldmlvdXMubGVuZ3RoIC0gbmV4dC5sZW5ndGg7XG5cdGlmIChkZWxldGVkKSB7XG5cdFx0bm9kZS5zdHlsZS5hbmltYXRpb24gPSBuZXh0LmpvaW4oJywgJyk7XG5cdFx0YWN0aXZlIC09IGRlbGV0ZWQ7XG5cdFx0aWYgKCFhY3RpdmUpIGNsZWFyX3J1bGVzKCk7XG5cdH1cbn1cblxuLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyX3J1bGVzKCkge1xuXHRyYWYoKCkgPT4ge1xuXHRcdGlmIChhY3RpdmUpIHJldHVybjtcblx0XHRtYW5hZ2VkX3N0eWxlcy5mb3JFYWNoKChpbmZvKSA9PiB7XG5cdFx0XHRjb25zdCB7IG93bmVyTm9kZSB9ID0gaW5mby5zdHlsZXNoZWV0O1xuXHRcdFx0Ly8gdGhlcmUgaXMgbm8gb3duZXJOb2RlIGlmIGl0IHJ1bnMgb24ganNkb20uXG5cdFx0XHRpZiAob3duZXJOb2RlKSBkZXRhY2gob3duZXJOb2RlKTtcblx0XHR9KTtcblx0XHRtYW5hZ2VkX3N0eWxlcy5jbGVhcigpO1xuXHR9KTtcbn1cbiIsICJpbXBvcnQgeyBjdXN0b21fZXZlbnQgfSBmcm9tICcuL2RvbS5qcyc7XG5cbmV4cG9ydCBsZXQgY3VycmVudF9jb21wb25lbnQ7XG5cbi8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRfY3VycmVudF9jb21wb25lbnQoY29tcG9uZW50KSB7XG5cdGN1cnJlbnRfY29tcG9uZW50ID0gY29tcG9uZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0X2N1cnJlbnRfY29tcG9uZW50KCkge1xuXHRpZiAoIWN1cnJlbnRfY29tcG9uZW50KSB0aHJvdyBuZXcgRXJyb3IoJ0Z1bmN0aW9uIGNhbGxlZCBvdXRzaWRlIGNvbXBvbmVudCBpbml0aWFsaXphdGlvbicpO1xuXHRyZXR1cm4gY3VycmVudF9jb21wb25lbnQ7XG59XG5cbi8qKlxuICogU2NoZWR1bGVzIGEgY2FsbGJhY2sgdG8gcnVuIGltbWVkaWF0ZWx5IGJlZm9yZSB0aGUgY29tcG9uZW50IGlzIHVwZGF0ZWQgYWZ0ZXIgYW55IHN0YXRlIGNoYW5nZS5cbiAqXG4gKiBUaGUgZmlyc3QgdGltZSB0aGUgY2FsbGJhY2sgcnVucyB3aWxsIGJlIGJlZm9yZSB0aGUgaW5pdGlhbCBgb25Nb3VudGBcbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUjYmVmb3JldXBkYXRlXG4gKiBAcGFyYW0geygpID0+IGFueX0gZm5cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gYmVmb3JlVXBkYXRlKGZuKSB7XG5cdGdldF9jdXJyZW50X2NvbXBvbmVudCgpLiQkLmJlZm9yZV91cGRhdGUucHVzaChmbik7XG59XG5cbi8qKlxuICogVGhlIGBvbk1vdW50YCBmdW5jdGlvbiBzY2hlZHVsZXMgYSBjYWxsYmFjayB0byBydW4gYXMgc29vbiBhcyB0aGUgY29tcG9uZW50IGhhcyBiZWVuIG1vdW50ZWQgdG8gdGhlIERPTS5cbiAqIEl0IG11c3QgYmUgY2FsbGVkIGR1cmluZyB0aGUgY29tcG9uZW50J3MgaW5pdGlhbGlzYXRpb24gKGJ1dCBkb2Vzbid0IG5lZWQgdG8gbGl2ZSAqaW5zaWRlKiB0aGUgY29tcG9uZW50O1xuICogaXQgY2FuIGJlIGNhbGxlZCBmcm9tIGFuIGV4dGVybmFsIG1vZHVsZSkuXG4gKlxuICogSWYgYSBmdW5jdGlvbiBpcyByZXR1cm5lZCBfc3luY2hyb25vdXNseV8gZnJvbSBgb25Nb3VudGAsIGl0IHdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyB1bm1vdW50ZWQuXG4gKlxuICogYG9uTW91bnRgIGRvZXMgbm90IHJ1biBpbnNpZGUgYSBbc2VydmVyLXNpZGUgY29tcG9uZW50XSgvZG9jcyNydW4tdGltZS1zZXJ2ZXItc2lkZS1jb21wb25lbnQtYXBpKS5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUjb25tb3VudFxuICogQHRlbXBsYXRlIFRcbiAqIEBwYXJhbSB7KCkgPT4gaW1wb3J0KCcuL3ByaXZhdGUuanMnKS5Ob3RGdW5jdGlvbjxUPiB8IFByb21pc2U8aW1wb3J0KCcuL3ByaXZhdGUuanMnKS5Ob3RGdW5jdGlvbjxUPj4gfCAoKCkgPT4gYW55KX0gZm5cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gb25Nb3VudChmbikge1xuXHRnZXRfY3VycmVudF9jb21wb25lbnQoKS4kJC5vbl9tb3VudC5wdXNoKGZuKTtcbn1cblxuLyoqXG4gKiBTY2hlZHVsZXMgYSBjYWxsYmFjayB0byBydW4gaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIGNvbXBvbmVudCBoYXMgYmVlbiB1cGRhdGVkLlxuICpcbiAqIFRoZSBmaXJzdCB0aW1lIHRoZSBjYWxsYmFjayBydW5zIHdpbGwgYmUgYWZ0ZXIgdGhlIGluaXRpYWwgYG9uTW91bnRgXG4gKlxuICogaHR0cHM6Ly9zdmVsdGUuZGV2L2RvY3Mvc3ZlbHRlI2FmdGVydXBkYXRlXG4gKiBAcGFyYW0geygpID0+IGFueX0gZm5cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gYWZ0ZXJVcGRhdGUoZm4pIHtcblx0Z2V0X2N1cnJlbnRfY29tcG9uZW50KCkuJCQuYWZ0ZXJfdXBkYXRlLnB1c2goZm4pO1xufVxuXG4vKipcbiAqIFNjaGVkdWxlcyBhIGNhbGxiYWNrIHRvIHJ1biBpbW1lZGlhdGVseSBiZWZvcmUgdGhlIGNvbXBvbmVudCBpcyB1bm1vdW50ZWQuXG4gKlxuICogT3V0IG9mIGBvbk1vdW50YCwgYGJlZm9yZVVwZGF0ZWAsIGBhZnRlclVwZGF0ZWAgYW5kIGBvbkRlc3Ryb3lgLCB0aGlzIGlzIHRoZVxuICogb25seSBvbmUgdGhhdCBydW5zIGluc2lkZSBhIHNlcnZlci1zaWRlIGNvbXBvbmVudC5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUjb25kZXN0cm95XG4gKiBAcGFyYW0geygpID0+IGFueX0gZm5cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gb25EZXN0cm95KGZuKSB7XG5cdGdldF9jdXJyZW50X2NvbXBvbmVudCgpLiQkLm9uX2Rlc3Ryb3kucHVzaChmbik7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBldmVudCBkaXNwYXRjaGVyIHRoYXQgY2FuIGJlIHVzZWQgdG8gZGlzcGF0Y2ggW2NvbXBvbmVudCBldmVudHNdKC9kb2NzI3RlbXBsYXRlLXN5bnRheC1jb21wb25lbnQtZGlyZWN0aXZlcy1vbi1ldmVudG5hbWUpLlxuICogRXZlbnQgZGlzcGF0Y2hlcnMgYXJlIGZ1bmN0aW9ucyB0aGF0IGNhbiB0YWtlIHR3byBhcmd1bWVudHM6IGBuYW1lYCBhbmQgYGRldGFpbGAuXG4gKlxuICogQ29tcG9uZW50IGV2ZW50cyBjcmVhdGVkIHdpdGggYGNyZWF0ZUV2ZW50RGlzcGF0Y2hlcmAgY3JlYXRlIGFcbiAqIFtDdXN0b21FdmVudF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0N1c3RvbUV2ZW50KS5cbiAqIFRoZXNlIGV2ZW50cyBkbyBub3QgW2J1YmJsZV0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9MZWFybi9KYXZhU2NyaXB0L0J1aWxkaW5nX2Jsb2Nrcy9FdmVudHMjRXZlbnRfYnViYmxpbmdfYW5kX2NhcHR1cmUpLlxuICogVGhlIGBkZXRhaWxgIGFyZ3VtZW50IGNvcnJlc3BvbmRzIHRvIHRoZSBbQ3VzdG9tRXZlbnQuZGV0YWlsXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQ3VzdG9tRXZlbnQvZGV0YWlsKVxuICogcHJvcGVydHkgYW5kIGNhbiBjb250YWluIGFueSB0eXBlIG9mIGRhdGEuXG4gKlxuICogVGhlIGV2ZW50IGRpc3BhdGNoZXIgY2FuIGJlIHR5cGVkIHRvIG5hcnJvdyB0aGUgYWxsb3dlZCBldmVudCBuYW1lcyBhbmQgdGhlIHR5cGUgb2YgdGhlIGBkZXRhaWxgIGFyZ3VtZW50OlxuICogYGBgdHNcbiAqIGNvbnN0IGRpc3BhdGNoID0gY3JlYXRlRXZlbnREaXNwYXRjaGVyPHtcbiAqICBsb2FkZWQ6IG5ldmVyOyAvLyBkb2VzIG5vdCB0YWtlIGEgZGV0YWlsIGFyZ3VtZW50XG4gKiAgY2hhbmdlOiBzdHJpbmc7IC8vIHRha2VzIGEgZGV0YWlsIGFyZ3VtZW50IG9mIHR5cGUgc3RyaW5nLCB3aGljaCBpcyByZXF1aXJlZFxuICogIG9wdGlvbmFsOiBudW1iZXIgfCBudWxsOyAvLyB0YWtlcyBhbiBvcHRpb25hbCBkZXRhaWwgYXJndW1lbnQgb2YgdHlwZSBudW1iZXJcbiAqIH0+KCk7XG4gKiBgYGBcbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUjY3JlYXRlZXZlbnRkaXNwYXRjaGVyXG4gKiBAdGVtcGxhdGUge1JlY29yZDxzdHJpbmcsIGFueT59IFtFdmVudE1hcD1hbnldXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL3B1YmxpYy5qcycpLkV2ZW50RGlzcGF0Y2hlcjxFdmVudE1hcD59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFdmVudERpc3BhdGNoZXIoKSB7XG5cdGNvbnN0IGNvbXBvbmVudCA9IGdldF9jdXJyZW50X2NvbXBvbmVudCgpO1xuXHRyZXR1cm4gKHR5cGUsIGRldGFpbCwgeyBjYW5jZWxhYmxlID0gZmFsc2UgfSA9IHt9KSA9PiB7XG5cdFx0Y29uc3QgY2FsbGJhY2tzID0gY29tcG9uZW50LiQkLmNhbGxiYWNrc1t0eXBlXTtcblx0XHRpZiAoY2FsbGJhY2tzKSB7XG5cdFx0XHQvLyBUT0RPIGFyZSB0aGVyZSBzaXR1YXRpb25zIHdoZXJlIGV2ZW50cyBjb3VsZCBiZSBkaXNwYXRjaGVkXG5cdFx0XHQvLyBpbiBhIHNlcnZlciAobm9uLURPTSkgZW52aXJvbm1lbnQ/XG5cdFx0XHRjb25zdCBldmVudCA9IGN1c3RvbV9ldmVudCgvKiogQHR5cGUge3N0cmluZ30gKi8gKHR5cGUpLCBkZXRhaWwsIHsgY2FuY2VsYWJsZSB9KTtcblx0XHRcdGNhbGxiYWNrcy5zbGljZSgpLmZvckVhY2goKGZuKSA9PiB7XG5cdFx0XHRcdGZuLmNhbGwoY29tcG9uZW50LCBldmVudCk7XG5cdFx0XHR9KTtcblx0XHRcdHJldHVybiAhZXZlbnQuZGVmYXVsdFByZXZlbnRlZDtcblx0XHR9XG5cdFx0cmV0dXJuIHRydWU7XG5cdH07XG59XG5cbi8qKlxuICogQXNzb2NpYXRlcyBhbiBhcmJpdHJhcnkgYGNvbnRleHRgIG9iamVjdCB3aXRoIHRoZSBjdXJyZW50IGNvbXBvbmVudCBhbmQgdGhlIHNwZWNpZmllZCBga2V5YFxuICogYW5kIHJldHVybnMgdGhhdCBvYmplY3QuIFRoZSBjb250ZXh0IGlzIHRoZW4gYXZhaWxhYmxlIHRvIGNoaWxkcmVuIG9mIHRoZSBjb21wb25lbnRcbiAqIChpbmNsdWRpbmcgc2xvdHRlZCBjb250ZW50KSB3aXRoIGBnZXRDb250ZXh0YC5cbiAqXG4gKiBMaWtlIGxpZmVjeWNsZSBmdW5jdGlvbnMsIHRoaXMgbXVzdCBiZSBjYWxsZWQgZHVyaW5nIGNvbXBvbmVudCBpbml0aWFsaXNhdGlvbi5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUjc2V0Y29udGV4dFxuICogQHRlbXBsYXRlIFRcbiAqIEBwYXJhbSB7YW55fSBrZXlcbiAqIEBwYXJhbSB7VH0gY29udGV4dFxuICogQHJldHVybnMge1R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRDb250ZXh0KGtleSwgY29udGV4dCkge1xuXHRnZXRfY3VycmVudF9jb21wb25lbnQoKS4kJC5jb250ZXh0LnNldChrZXksIGNvbnRleHQpO1xuXHRyZXR1cm4gY29udGV4dDtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGNvbnRleHQgdGhhdCBiZWxvbmdzIHRvIHRoZSBjbG9zZXN0IHBhcmVudCBjb21wb25lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIGBrZXlgLlxuICogTXVzdCBiZSBjYWxsZWQgZHVyaW5nIGNvbXBvbmVudCBpbml0aWFsaXNhdGlvbi5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUjZ2V0Y29udGV4dFxuICogQHRlbXBsYXRlIFRcbiAqIEBwYXJhbSB7YW55fSBrZXlcbiAqIEByZXR1cm5zIHtUfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29udGV4dChrZXkpIHtcblx0cmV0dXJuIGdldF9jdXJyZW50X2NvbXBvbmVudCgpLiQkLmNvbnRleHQuZ2V0KGtleSk7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSB3aG9sZSBjb250ZXh0IG1hcCB0aGF0IGJlbG9uZ3MgdG8gdGhlIGNsb3Nlc3QgcGFyZW50IGNvbXBvbmVudC5cbiAqIE11c3QgYmUgY2FsbGVkIGR1cmluZyBjb21wb25lbnQgaW5pdGlhbGlzYXRpb24uIFVzZWZ1bCwgZm9yIGV4YW1wbGUsIGlmIHlvdVxuICogcHJvZ3JhbW1hdGljYWxseSBjcmVhdGUgYSBjb21wb25lbnQgYW5kIHdhbnQgdG8gcGFzcyB0aGUgZXhpc3RpbmcgY29udGV4dCB0byBpdC5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUjZ2V0YWxsY29udGV4dHNcbiAqIEB0ZW1wbGF0ZSB7TWFwPGFueSwgYW55Pn0gW1Q9TWFwPGFueSwgYW55Pl1cbiAqIEByZXR1cm5zIHtUfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsQ29udGV4dHMoKSB7XG5cdHJldHVybiBnZXRfY3VycmVudF9jb21wb25lbnQoKS4kJC5jb250ZXh0O1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgZ2l2ZW4gYGtleWAgaGFzIGJlZW4gc2V0IGluIHRoZSBjb250ZXh0IG9mIGEgcGFyZW50IGNvbXBvbmVudC5cbiAqIE11c3QgYmUgY2FsbGVkIGR1cmluZyBjb21wb25lbnQgaW5pdGlhbGlzYXRpb24uXG4gKlxuICogaHR0cHM6Ly9zdmVsdGUuZGV2L2RvY3Mvc3ZlbHRlI2hhc2NvbnRleHRcbiAqIEBwYXJhbSB7YW55fSBrZXlcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzQ29udGV4dChrZXkpIHtcblx0cmV0dXJuIGdldF9jdXJyZW50X2NvbXBvbmVudCgpLiQkLmNvbnRleHQuaGFzKGtleSk7XG59XG5cbi8vIFRPRE8gZmlndXJlIG91dCBpZiB3ZSBzdGlsbCB3YW50IHRvIHN1cHBvcnRcbi8vIHNob3J0aGFuZCBldmVudHMsIG9yIGlmIHdlIHdhbnQgdG8gaW1wbGVtZW50XG4vLyBhIHJlYWwgYnViYmxpbmcgbWVjaGFuaXNtXG4vKipcbiAqIEBwYXJhbSBjb21wb25lbnRcbiAqIEBwYXJhbSBldmVudFxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWJibGUoY29tcG9uZW50LCBldmVudCkge1xuXHRjb25zdCBjYWxsYmFja3MgPSBjb21wb25lbnQuJCQuY2FsbGJhY2tzW2V2ZW50LnR5cGVdO1xuXHRpZiAoY2FsbGJhY2tzKSB7XG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdGNhbGxiYWNrcy5zbGljZSgpLmZvckVhY2goKGZuKSA9PiBmbi5jYWxsKHRoaXMsIGV2ZW50KSk7XG5cdH1cbn1cbiIsICJpbXBvcnQgeyBydW5fYWxsIH0gZnJvbSAnLi91dGlscy5qcyc7XG5pbXBvcnQgeyBjdXJyZW50X2NvbXBvbmVudCwgc2V0X2N1cnJlbnRfY29tcG9uZW50IH0gZnJvbSAnLi9saWZlY3ljbGUuanMnO1xuXG5leHBvcnQgY29uc3QgZGlydHlfY29tcG9uZW50cyA9IFtdO1xuZXhwb3J0IGNvbnN0IGludHJvcyA9IHsgZW5hYmxlZDogZmFsc2UgfTtcbmV4cG9ydCBjb25zdCBiaW5kaW5nX2NhbGxiYWNrcyA9IFtdO1xuXG5sZXQgcmVuZGVyX2NhbGxiYWNrcyA9IFtdO1xuXG5jb25zdCBmbHVzaF9jYWxsYmFja3MgPSBbXTtcblxuY29uc3QgcmVzb2x2ZWRfcHJvbWlzZSA9IC8qIEBfX1BVUkVfXyAqLyBQcm9taXNlLnJlc29sdmUoKTtcblxubGV0IHVwZGF0ZV9zY2hlZHVsZWQgPSBmYWxzZTtcblxuLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNjaGVkdWxlX3VwZGF0ZSgpIHtcblx0aWYgKCF1cGRhdGVfc2NoZWR1bGVkKSB7XG5cdFx0dXBkYXRlX3NjaGVkdWxlZCA9IHRydWU7XG5cdFx0cmVzb2x2ZWRfcHJvbWlzZS50aGVuKGZsdXNoKTtcblx0fVxufVxuXG4vKiogQHJldHVybnMge1Byb21pc2U8dm9pZD59ICovXG5leHBvcnQgZnVuY3Rpb24gdGljaygpIHtcblx0c2NoZWR1bGVfdXBkYXRlKCk7XG5cdHJldHVybiByZXNvbHZlZF9wcm9taXNlO1xufVxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gYWRkX3JlbmRlcl9jYWxsYmFjayhmbikge1xuXHRyZW5kZXJfY2FsbGJhY2tzLnB1c2goZm4pO1xufVxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gYWRkX2ZsdXNoX2NhbGxiYWNrKGZuKSB7XG5cdGZsdXNoX2NhbGxiYWNrcy5wdXNoKGZuKTtcbn1cblxuLy8gZmx1c2goKSBjYWxscyBjYWxsYmFja3MgaW4gdGhpcyBvcmRlcjpcbi8vIDEuIEFsbCBiZWZvcmVVcGRhdGUgY2FsbGJhY2tzLCBpbiBvcmRlcjogcGFyZW50cyBiZWZvcmUgY2hpbGRyZW5cbi8vIDIuIEFsbCBiaW5kOnRoaXMgY2FsbGJhY2tzLCBpbiByZXZlcnNlIG9yZGVyOiBjaGlsZHJlbiBiZWZvcmUgcGFyZW50cy5cbi8vIDMuIEFsbCBhZnRlclVwZGF0ZSBjYWxsYmFja3MsIGluIG9yZGVyOiBwYXJlbnRzIGJlZm9yZSBjaGlsZHJlbi4gRVhDRVBUXG4vLyAgICBmb3IgYWZ0ZXJVcGRhdGVzIGNhbGxlZCBkdXJpbmcgdGhlIGluaXRpYWwgb25Nb3VudCwgd2hpY2ggYXJlIGNhbGxlZCBpblxuLy8gICAgcmV2ZXJzZSBvcmRlcjogY2hpbGRyZW4gYmVmb3JlIHBhcmVudHMuXG4vLyBTaW5jZSBjYWxsYmFja3MgbWlnaHQgdXBkYXRlIGNvbXBvbmVudCB2YWx1ZXMsIHdoaWNoIGNvdWxkIHRyaWdnZXIgYW5vdGhlclxuLy8gY2FsbCB0byBmbHVzaCgpLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGd1YXJkIGFnYWluc3QgdGhpczpcbi8vIDEuIER1cmluZyBiZWZvcmVVcGRhdGUsIGFueSB1cGRhdGVkIGNvbXBvbmVudHMgd2lsbCBiZSBhZGRlZCB0byB0aGVcbi8vICAgIGRpcnR5X2NvbXBvbmVudHMgYXJyYXkgYW5kIHdpbGwgY2F1c2UgYSByZWVudHJhbnQgY2FsbCB0byBmbHVzaCgpLiBCZWNhdXNlXG4vLyAgICB0aGUgZmx1c2ggaW5kZXggaXMga2VwdCBvdXRzaWRlIHRoZSBmdW5jdGlvbiwgdGhlIHJlZW50cmFudCBjYWxsIHdpbGwgcGlja1xuLy8gICAgdXAgd2hlcmUgdGhlIGVhcmxpZXIgY2FsbCBsZWZ0IG9mZiBhbmQgZ28gdGhyb3VnaCBhbGwgZGlydHkgY29tcG9uZW50cy4gVGhlXG4vLyAgICBjdXJyZW50X2NvbXBvbmVudCB2YWx1ZSBpcyBzYXZlZCBhbmQgcmVzdG9yZWQgc28gdGhhdCB0aGUgcmVlbnRyYW50IGNhbGwgd2lsbFxuLy8gICAgbm90IGludGVyZmVyZSB3aXRoIHRoZSBcInBhcmVudFwiIGZsdXNoKCkgY2FsbC5cbi8vIDIuIGJpbmQ6dGhpcyBjYWxsYmFja3MgY2Fubm90IHRyaWdnZXIgbmV3IGZsdXNoKCkgY2FsbHMuXG4vLyAzLiBEdXJpbmcgYWZ0ZXJVcGRhdGUsIGFueSB1cGRhdGVkIGNvbXBvbmVudHMgd2lsbCBOT1QgaGF2ZSB0aGVpciBhZnRlclVwZGF0ZVxuLy8gICAgY2FsbGJhY2sgY2FsbGVkIGEgc2Vjb25kIHRpbWU7IHRoZSBzZWVuX2NhbGxiYWNrcyBzZXQsIG91dHNpZGUgdGhlIGZsdXNoKClcbi8vICAgIGZ1bmN0aW9uLCBndWFyYW50ZWVzIHRoaXMgYmVoYXZpb3IuXG5jb25zdCBzZWVuX2NhbGxiYWNrcyA9IG5ldyBTZXQoKTtcblxubGV0IGZsdXNoaWR4ID0gMDsgLy8gRG8gKm5vdCogbW92ZSB0aGlzIGluc2lkZSB0aGUgZmx1c2goKSBmdW5jdGlvblxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gZmx1c2goKSB7XG5cdC8vIERvIG5vdCByZWVudGVyIGZsdXNoIHdoaWxlIGRpcnR5IGNvbXBvbmVudHMgYXJlIHVwZGF0ZWQsIGFzIHRoaXMgY2FuXG5cdC8vIHJlc3VsdCBpbiBhbiBpbmZpbml0ZSBsb29wLiBJbnN0ZWFkLCBsZXQgdGhlIGlubmVyIGZsdXNoIGhhbmRsZSBpdC5cblx0Ly8gUmVlbnRyYW5jeSBpcyBvayBhZnRlcndhcmRzIGZvciBiaW5kaW5ncyBldGMuXG5cdGlmIChmbHVzaGlkeCAhPT0gMCkge1xuXHRcdHJldHVybjtcblx0fVxuXHRjb25zdCBzYXZlZF9jb21wb25lbnQgPSBjdXJyZW50X2NvbXBvbmVudDtcblx0ZG8ge1xuXHRcdC8vIGZpcnN0LCBjYWxsIGJlZm9yZVVwZGF0ZSBmdW5jdGlvbnNcblx0XHQvLyBhbmQgdXBkYXRlIGNvbXBvbmVudHNcblx0XHR0cnkge1xuXHRcdFx0d2hpbGUgKGZsdXNoaWR4IDwgZGlydHlfY29tcG9uZW50cy5sZW5ndGgpIHtcblx0XHRcdFx0Y29uc3QgY29tcG9uZW50ID0gZGlydHlfY29tcG9uZW50c1tmbHVzaGlkeF07XG5cdFx0XHRcdGZsdXNoaWR4Kys7XG5cdFx0XHRcdHNldF9jdXJyZW50X2NvbXBvbmVudChjb21wb25lbnQpO1xuXHRcdFx0XHR1cGRhdGUoY29tcG9uZW50LiQkKTtcblx0XHRcdH1cblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyByZXNldCBkaXJ0eSBzdGF0ZSB0byBub3QgZW5kIHVwIGluIGEgZGVhZGxvY2tlZCBzdGF0ZSBhbmQgdGhlbiByZXRocm93XG5cdFx0XHRkaXJ0eV9jb21wb25lbnRzLmxlbmd0aCA9IDA7XG5cdFx0XHRmbHVzaGlkeCA9IDA7XG5cdFx0XHR0aHJvdyBlO1xuXHRcdH1cblx0XHRzZXRfY3VycmVudF9jb21wb25lbnQobnVsbCk7XG5cdFx0ZGlydHlfY29tcG9uZW50cy5sZW5ndGggPSAwO1xuXHRcdGZsdXNoaWR4ID0gMDtcblx0XHR3aGlsZSAoYmluZGluZ19jYWxsYmFja3MubGVuZ3RoKSBiaW5kaW5nX2NhbGxiYWNrcy5wb3AoKSgpO1xuXHRcdC8vIHRoZW4sIG9uY2UgY29tcG9uZW50cyBhcmUgdXBkYXRlZCwgY2FsbFxuXHRcdC8vIGFmdGVyVXBkYXRlIGZ1bmN0aW9ucy4gVGhpcyBtYXkgY2F1c2Vcblx0XHQvLyBzdWJzZXF1ZW50IHVwZGF0ZXMuLi5cblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHJlbmRlcl9jYWxsYmFja3MubGVuZ3RoOyBpICs9IDEpIHtcblx0XHRcdGNvbnN0IGNhbGxiYWNrID0gcmVuZGVyX2NhbGxiYWNrc1tpXTtcblx0XHRcdGlmICghc2Vlbl9jYWxsYmFja3MuaGFzKGNhbGxiYWNrKSkge1xuXHRcdFx0XHQvLyAuLi5zbyBndWFyZCBhZ2FpbnN0IGluZmluaXRlIGxvb3BzXG5cdFx0XHRcdHNlZW5fY2FsbGJhY2tzLmFkZChjYWxsYmFjayk7XG5cdFx0XHRcdGNhbGxiYWNrKCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJlbmRlcl9jYWxsYmFja3MubGVuZ3RoID0gMDtcblx0fSB3aGlsZSAoZGlydHlfY29tcG9uZW50cy5sZW5ndGgpO1xuXHR3aGlsZSAoZmx1c2hfY2FsbGJhY2tzLmxlbmd0aCkge1xuXHRcdGZsdXNoX2NhbGxiYWNrcy5wb3AoKSgpO1xuXHR9XG5cdHVwZGF0ZV9zY2hlZHVsZWQgPSBmYWxzZTtcblx0c2Vlbl9jYWxsYmFja3MuY2xlYXIoKTtcblx0c2V0X2N1cnJlbnRfY29tcG9uZW50KHNhdmVkX2NvbXBvbmVudCk7XG59XG5cbi8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbmZ1bmN0aW9uIHVwZGF0ZSgkJCkge1xuXHRpZiAoJCQuZnJhZ21lbnQgIT09IG51bGwpIHtcblx0XHQkJC51cGRhdGUoKTtcblx0XHRydW5fYWxsKCQkLmJlZm9yZV91cGRhdGUpO1xuXHRcdGNvbnN0IGRpcnR5ID0gJCQuZGlydHk7XG5cdFx0JCQuZGlydHkgPSBbLTFdO1xuXHRcdCQkLmZyYWdtZW50ICYmICQkLmZyYWdtZW50LnAoJCQuY3R4LCBkaXJ0eSk7XG5cdFx0JCQuYWZ0ZXJfdXBkYXRlLmZvckVhY2goYWRkX3JlbmRlcl9jYWxsYmFjayk7XG5cdH1cbn1cblxuLyoqXG4gKiBVc2VmdWwgZm9yIGV4YW1wbGUgdG8gZXhlY3V0ZSByZW1haW5pbmcgYGFmdGVyVXBkYXRlYCBjYWxsYmFja3MgYmVmb3JlIGV4ZWN1dGluZyBgZGVzdHJveWAuXG4gKiBAcGFyYW0ge0Z1bmN0aW9uW119IGZuc1xuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmbHVzaF9yZW5kZXJfY2FsbGJhY2tzKGZucykge1xuXHRjb25zdCBmaWx0ZXJlZCA9IFtdO1xuXHRjb25zdCB0YXJnZXRzID0gW107XG5cdHJlbmRlcl9jYWxsYmFja3MuZm9yRWFjaCgoYykgPT4gKGZucy5pbmRleE9mKGMpID09PSAtMSA/IGZpbHRlcmVkLnB1c2goYykgOiB0YXJnZXRzLnB1c2goYykpKTtcblx0dGFyZ2V0cy5mb3JFYWNoKChjKSA9PiBjKCkpO1xuXHRyZW5kZXJfY2FsbGJhY2tzID0gZmlsdGVyZWQ7XG59XG4iLCAiaW1wb3J0IHsgaWRlbnRpdHkgYXMgbGluZWFyLCBpc19mdW5jdGlvbiwgbm9vcCwgcnVuX2FsbCB9IGZyb20gJy4vdXRpbHMuanMnO1xuaW1wb3J0IHsgbm93IH0gZnJvbSAnLi9lbnZpcm9ubWVudC5qcyc7XG5pbXBvcnQgeyBsb29wIH0gZnJvbSAnLi9sb29wLmpzJztcbmltcG9ydCB7IGNyZWF0ZV9ydWxlLCBkZWxldGVfcnVsZSB9IGZyb20gJy4vc3R5bGVfbWFuYWdlci5qcyc7XG5pbXBvcnQgeyBjdXN0b21fZXZlbnQgfSBmcm9tICcuL2RvbS5qcyc7XG5pbXBvcnQgeyBhZGRfcmVuZGVyX2NhbGxiYWNrIH0gZnJvbSAnLi9zY2hlZHVsZXIuanMnO1xuXG4vKipcbiAqIEB0eXBlIHtQcm9taXNlPHZvaWQ+IHwgbnVsbH1cbiAqL1xubGV0IHByb21pc2U7XG5cbi8qKlxuICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gKi9cbmZ1bmN0aW9uIHdhaXQoKSB7XG5cdGlmICghcHJvbWlzZSkge1xuXHRcdHByb21pc2UgPSBQcm9taXNlLnJlc29sdmUoKTtcblx0XHRwcm9taXNlLnRoZW4oKCkgPT4ge1xuXHRcdFx0cHJvbWlzZSA9IG51bGw7XG5cdFx0fSk7XG5cdH1cblx0cmV0dXJuIHByb21pc2U7XG59XG5cbi8qKlxuICogQHBhcmFtIHtFbGVtZW50fSBub2RlXG4gKiBAcGFyYW0ge0lOVFJPIHwgT1VUUk8gfCBib29sZWFufSBkaXJlY3Rpb25cbiAqIEBwYXJhbSB7J3N0YXJ0JyB8ICdlbmQnfSBraW5kXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZnVuY3Rpb24gZGlzcGF0Y2gobm9kZSwgZGlyZWN0aW9uLCBraW5kKSB7XG5cdG5vZGUuZGlzcGF0Y2hFdmVudChjdXN0b21fZXZlbnQoYCR7ZGlyZWN0aW9uID8gJ2ludHJvJyA6ICdvdXRybyd9JHtraW5kfWApKTtcbn1cblxuY29uc3Qgb3V0cm9pbmcgPSBuZXcgU2V0KCk7XG5cbi8qKlxuICogQHR5cGUge091dHJvfVxuICovXG5sZXQgb3V0cm9zO1xuXG4vKipcbiAqIEByZXR1cm5zIHt2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdyb3VwX291dHJvcygpIHtcblx0b3V0cm9zID0ge1xuXHRcdHI6IDAsXG5cdFx0YzogW10sXG5cdFx0cDogb3V0cm9zIC8vIHBhcmVudCBncm91cFxuXHR9O1xufVxuXG4vKipcbiAqIEByZXR1cm5zIHt2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrX291dHJvcygpIHtcblx0aWYgKCFvdXRyb3Mucikge1xuXHRcdHJ1bl9hbGwob3V0cm9zLmMpO1xuXHR9XG5cdG91dHJvcyA9IG91dHJvcy5wO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7aW1wb3J0KCcuL3ByaXZhdGUuanMnKS5GcmFnbWVudH0gYmxvY2tcbiAqIEBwYXJhbSB7MCB8IDF9IFtsb2NhbF1cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNpdGlvbl9pbihibG9jaywgbG9jYWwpIHtcblx0aWYgKGJsb2NrICYmIGJsb2NrLmkpIHtcblx0XHRvdXRyb2luZy5kZWxldGUoYmxvY2spO1xuXHRcdGJsb2NrLmkobG9jYWwpO1xuXHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHtpbXBvcnQoJy4vcHJpdmF0ZS5qcycpLkZyYWdtZW50fSBibG9ja1xuICogQHBhcmFtIHswIHwgMX0gbG9jYWxcbiAqIEBwYXJhbSB7MCB8IDF9IFtkZXRhY2hdXG4gKiBAcGFyYW0geygpID0+IHZvaWR9IFtjYWxsYmFja11cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNpdGlvbl9vdXQoYmxvY2ssIGxvY2FsLCBkZXRhY2gsIGNhbGxiYWNrKSB7XG5cdGlmIChibG9jayAmJiBibG9jay5vKSB7XG5cdFx0aWYgKG91dHJvaW5nLmhhcyhibG9jaykpIHJldHVybjtcblx0XHRvdXRyb2luZy5hZGQoYmxvY2spO1xuXHRcdG91dHJvcy5jLnB1c2goKCkgPT4ge1xuXHRcdFx0b3V0cm9pbmcuZGVsZXRlKGJsb2NrKTtcblx0XHRcdGlmIChjYWxsYmFjaykge1xuXHRcdFx0XHRpZiAoZGV0YWNoKSBibG9jay5kKDEpO1xuXHRcdFx0XHRjYWxsYmFjaygpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdGJsb2NrLm8obG9jYWwpO1xuXHR9IGVsc2UgaWYgKGNhbGxiYWNrKSB7XG5cdFx0Y2FsbGJhY2soKTtcblx0fVxufVxuXG4vKipcbiAqIEB0eXBlIHtpbXBvcnQoJy4uL3RyYW5zaXRpb24vcHVibGljLmpzJykuVHJhbnNpdGlvbkNvbmZpZ31cbiAqL1xuY29uc3QgbnVsbF90cmFuc2l0aW9uID0geyBkdXJhdGlvbjogMCB9O1xuXG4vKipcbiAqIEBwYXJhbSB7RWxlbWVudCAmIEVsZW1lbnRDU1NJbmxpbmVTdHlsZX0gbm9kZVxuICogQHBhcmFtIHtUcmFuc2l0aW9uRm59IGZuXG4gKiBAcGFyYW0ge2FueX0gcGFyYW1zXG4gKiBAcmV0dXJucyB7eyBzdGFydCgpOiB2b2lkOyBpbnZhbGlkYXRlKCk6IHZvaWQ7IGVuZCgpOiB2b2lkOyB9fVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlX2luX3RyYW5zaXRpb24obm9kZSwgZm4sIHBhcmFtcykge1xuXHQvKipcblx0ICogQHR5cGUge1RyYW5zaXRpb25PcHRpb25zfSAqL1xuXHRjb25zdCBvcHRpb25zID0geyBkaXJlY3Rpb246ICdpbicgfTtcblx0bGV0IGNvbmZpZyA9IGZuKG5vZGUsIHBhcmFtcywgb3B0aW9ucyk7XG5cdGxldCBydW5uaW5nID0gZmFsc2U7XG5cdGxldCBhbmltYXRpb25fbmFtZTtcblx0bGV0IHRhc2s7XG5cdGxldCB1aWQgPSAwO1xuXG5cdC8qKlxuXHQgKiBAcmV0dXJucyB7dm9pZH0gKi9cblx0ZnVuY3Rpb24gY2xlYW51cCgpIHtcblx0XHRpZiAoYW5pbWF0aW9uX25hbWUpIGRlbGV0ZV9ydWxlKG5vZGUsIGFuaW1hdGlvbl9uYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcmV0dXJucyB7dm9pZH0gKi9cblx0ZnVuY3Rpb24gZ28oKSB7XG5cdFx0Y29uc3Qge1xuXHRcdFx0ZGVsYXkgPSAwLFxuXHRcdFx0ZHVyYXRpb24gPSAzMDAsXG5cdFx0XHRlYXNpbmcgPSBsaW5lYXIsXG5cdFx0XHR0aWNrID0gbm9vcCxcblx0XHRcdGNzc1xuXHRcdH0gPSBjb25maWcgfHwgbnVsbF90cmFuc2l0aW9uO1xuXHRcdGlmIChjc3MpIGFuaW1hdGlvbl9uYW1lID0gY3JlYXRlX3J1bGUobm9kZSwgMCwgMSwgZHVyYXRpb24sIGRlbGF5LCBlYXNpbmcsIGNzcywgdWlkKyspO1xuXHRcdHRpY2soMCwgMSk7XG5cdFx0Y29uc3Qgc3RhcnRfdGltZSA9IG5vdygpICsgZGVsYXk7XG5cdFx0Y29uc3QgZW5kX3RpbWUgPSBzdGFydF90aW1lICsgZHVyYXRpb247XG5cdFx0aWYgKHRhc2spIHRhc2suYWJvcnQoKTtcblx0XHRydW5uaW5nID0gdHJ1ZTtcblx0XHRhZGRfcmVuZGVyX2NhbGxiYWNrKCgpID0+IGRpc3BhdGNoKG5vZGUsIHRydWUsICdzdGFydCcpKTtcblx0XHR0YXNrID0gbG9vcCgobm93KSA9PiB7XG5cdFx0XHRpZiAocnVubmluZykge1xuXHRcdFx0XHRpZiAobm93ID49IGVuZF90aW1lKSB7XG5cdFx0XHRcdFx0dGljaygxLCAwKTtcblx0XHRcdFx0XHRkaXNwYXRjaChub2RlLCB0cnVlLCAnZW5kJyk7XG5cdFx0XHRcdFx0Y2xlYW51cCgpO1xuXHRcdFx0XHRcdHJldHVybiAocnVubmluZyA9IGZhbHNlKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAobm93ID49IHN0YXJ0X3RpbWUpIHtcblx0XHRcdFx0XHRjb25zdCB0ID0gZWFzaW5nKChub3cgLSBzdGFydF90aW1lKSAvIGR1cmF0aW9uKTtcblx0XHRcdFx0XHR0aWNrKHQsIDEgLSB0KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHJ1bm5pbmc7XG5cdFx0fSk7XG5cdH1cblx0bGV0IHN0YXJ0ZWQgPSBmYWxzZTtcblx0cmV0dXJuIHtcblx0XHRzdGFydCgpIHtcblx0XHRcdGlmIChzdGFydGVkKSByZXR1cm47XG5cdFx0XHRzdGFydGVkID0gdHJ1ZTtcblx0XHRcdGRlbGV0ZV9ydWxlKG5vZGUpO1xuXHRcdFx0aWYgKGlzX2Z1bmN0aW9uKGNvbmZpZykpIHtcblx0XHRcdFx0Y29uZmlnID0gY29uZmlnKG9wdGlvbnMpO1xuXHRcdFx0XHR3YWl0KCkudGhlbihnbyk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRnbygpO1xuXHRcdFx0fVxuXHRcdH0sXG5cdFx0aW52YWxpZGF0ZSgpIHtcblx0XHRcdHN0YXJ0ZWQgPSBmYWxzZTtcblx0XHR9LFxuXHRcdGVuZCgpIHtcblx0XHRcdGlmIChydW5uaW5nKSB7XG5cdFx0XHRcdGNsZWFudXAoKTtcblx0XHRcdFx0cnVubmluZyA9IGZhbHNlO1xuXHRcdFx0fVxuXHRcdH1cblx0fTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge0VsZW1lbnQgJiBFbGVtZW50Q1NTSW5saW5lU3R5bGV9IG5vZGVcbiAqIEBwYXJhbSB7VHJhbnNpdGlvbkZufSBmblxuICogQHBhcmFtIHthbnl9IHBhcmFtc1xuICogQHJldHVybnMge3sgZW5kKHJlc2V0OiBhbnkpOiB2b2lkOyB9fVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlX291dF90cmFuc2l0aW9uKG5vZGUsIGZuLCBwYXJhbXMpIHtcblx0LyoqIEB0eXBlIHtUcmFuc2l0aW9uT3B0aW9uc30gKi9cblx0Y29uc3Qgb3B0aW9ucyA9IHsgZGlyZWN0aW9uOiAnb3V0JyB9O1xuXHRsZXQgY29uZmlnID0gZm4obm9kZSwgcGFyYW1zLCBvcHRpb25zKTtcblx0bGV0IHJ1bm5pbmcgPSB0cnVlO1xuXHRsZXQgYW5pbWF0aW9uX25hbWU7XG5cdGNvbnN0IGdyb3VwID0gb3V0cm9zO1xuXHRncm91cC5yICs9IDE7XG5cdC8qKiBAdHlwZSB7Ym9vbGVhbn0gKi9cblx0bGV0IG9yaWdpbmFsX2luZXJ0X3ZhbHVlO1xuXG5cdC8qKlxuXHQgKiBAcmV0dXJucyB7dm9pZH0gKi9cblx0ZnVuY3Rpb24gZ28oKSB7XG5cdFx0Y29uc3Qge1xuXHRcdFx0ZGVsYXkgPSAwLFxuXHRcdFx0ZHVyYXRpb24gPSAzMDAsXG5cdFx0XHRlYXNpbmcgPSBsaW5lYXIsXG5cdFx0XHR0aWNrID0gbm9vcCxcblx0XHRcdGNzc1xuXHRcdH0gPSBjb25maWcgfHwgbnVsbF90cmFuc2l0aW9uO1xuXG5cdFx0aWYgKGNzcykgYW5pbWF0aW9uX25hbWUgPSBjcmVhdGVfcnVsZShub2RlLCAxLCAwLCBkdXJhdGlvbiwgZGVsYXksIGVhc2luZywgY3NzKTtcblxuXHRcdGNvbnN0IHN0YXJ0X3RpbWUgPSBub3coKSArIGRlbGF5O1xuXHRcdGNvbnN0IGVuZF90aW1lID0gc3RhcnRfdGltZSArIGR1cmF0aW9uO1xuXHRcdGFkZF9yZW5kZXJfY2FsbGJhY2soKCkgPT4gZGlzcGF0Y2gobm9kZSwgZmFsc2UsICdzdGFydCcpKTtcblxuXHRcdGlmICgnaW5lcnQnIGluIG5vZGUpIHtcblx0XHRcdG9yaWdpbmFsX2luZXJ0X3ZhbHVlID0gLyoqIEB0eXBlIHtIVE1MRWxlbWVudH0gKi8gKG5vZGUpLmluZXJ0O1xuXHRcdFx0bm9kZS5pbmVydCA9IHRydWU7XG5cdFx0fVxuXG5cdFx0bG9vcCgobm93KSA9PiB7XG5cdFx0XHRpZiAocnVubmluZykge1xuXHRcdFx0XHRpZiAobm93ID49IGVuZF90aW1lKSB7XG5cdFx0XHRcdFx0dGljaygwLCAxKTtcblx0XHRcdFx0XHRkaXNwYXRjaChub2RlLCBmYWxzZSwgJ2VuZCcpO1xuXHRcdFx0XHRcdGlmICghLS1ncm91cC5yKSB7XG5cdFx0XHRcdFx0XHQvLyB0aGlzIHdpbGwgcmVzdWx0IGluIGBlbmQoKWAgYmVpbmcgY2FsbGVkLFxuXHRcdFx0XHRcdFx0Ly8gc28gd2UgZG9uJ3QgbmVlZCB0byBjbGVhbiB1cCBoZXJlXG5cdFx0XHRcdFx0XHRydW5fYWxsKGdyb3VwLmMpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKG5vdyA+PSBzdGFydF90aW1lKSB7XG5cdFx0XHRcdFx0Y29uc3QgdCA9IGVhc2luZygobm93IC0gc3RhcnRfdGltZSkgLyBkdXJhdGlvbik7XG5cdFx0XHRcdFx0dGljaygxIC0gdCwgdCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHJldHVybiBydW5uaW5nO1xuXHRcdH0pO1xuXHR9XG5cblx0aWYgKGlzX2Z1bmN0aW9uKGNvbmZpZykpIHtcblx0XHR3YWl0KCkudGhlbigoKSA9PiB7XG5cdFx0XHQvLyBAdHMtaWdub3JlXG5cdFx0XHRjb25maWcgPSBjb25maWcob3B0aW9ucyk7XG5cdFx0XHRnbygpO1xuXHRcdH0pO1xuXHR9IGVsc2Uge1xuXHRcdGdvKCk7XG5cdH1cblxuXHRyZXR1cm4ge1xuXHRcdGVuZChyZXNldCkge1xuXHRcdFx0aWYgKHJlc2V0ICYmICdpbmVydCcgaW4gbm9kZSkge1xuXHRcdFx0XHRub2RlLmluZXJ0ID0gb3JpZ2luYWxfaW5lcnRfdmFsdWU7XG5cdFx0XHR9XG5cdFx0XHRpZiAocmVzZXQgJiYgY29uZmlnLnRpY2spIHtcblx0XHRcdFx0Y29uZmlnLnRpY2soMSwgMCk7XG5cdFx0XHR9XG5cdFx0XHRpZiAocnVubmluZykge1xuXHRcdFx0XHRpZiAoYW5pbWF0aW9uX25hbWUpIGRlbGV0ZV9ydWxlKG5vZGUsIGFuaW1hdGlvbl9uYW1lKTtcblx0XHRcdFx0cnVubmluZyA9IGZhbHNlO1xuXHRcdFx0fVxuXHRcdH1cblx0fTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge0VsZW1lbnQgJiBFbGVtZW50Q1NTSW5saW5lU3R5bGV9IG5vZGVcbiAqIEBwYXJhbSB7VHJhbnNpdGlvbkZufSBmblxuICogQHBhcmFtIHthbnl9IHBhcmFtc1xuICogQHBhcmFtIHtib29sZWFufSBpbnRyb1xuICogQHJldHVybnMge3sgcnVuKGI6IDAgfCAxKTogdm9pZDsgZW5kKCk6IHZvaWQ7IH19XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVfYmlkaXJlY3Rpb25hbF90cmFuc2l0aW9uKG5vZGUsIGZuLCBwYXJhbXMsIGludHJvKSB7XG5cdC8qKlxuXHQgKiBAdHlwZSB7VHJhbnNpdGlvbk9wdGlvbnN9ICovXG5cdGNvbnN0IG9wdGlvbnMgPSB7IGRpcmVjdGlvbjogJ2JvdGgnIH07XG5cdGxldCBjb25maWcgPSBmbihub2RlLCBwYXJhbXMsIG9wdGlvbnMpO1xuXHRsZXQgdCA9IGludHJvID8gMCA6IDE7XG5cblx0LyoqXG5cdCAqIEB0eXBlIHtQcm9ncmFtIHwgbnVsbH0gKi9cblx0bGV0IHJ1bm5pbmdfcHJvZ3JhbSA9IG51bGw7XG5cblx0LyoqXG5cdCAqIEB0eXBlIHtQZW5kaW5nUHJvZ3JhbSB8IG51bGx9ICovXG5cdGxldCBwZW5kaW5nX3Byb2dyYW0gPSBudWxsO1xuXHRsZXQgYW5pbWF0aW9uX25hbWUgPSBudWxsO1xuXG5cdC8qKiBAdHlwZSB7Ym9vbGVhbn0gKi9cblx0bGV0IG9yaWdpbmFsX2luZXJ0X3ZhbHVlO1xuXG5cdC8qKlxuXHQgKiBAcmV0dXJucyB7dm9pZH0gKi9cblx0ZnVuY3Rpb24gY2xlYXJfYW5pbWF0aW9uKCkge1xuXHRcdGlmIChhbmltYXRpb25fbmFtZSkgZGVsZXRlX3J1bGUobm9kZSwgYW5pbWF0aW9uX25hbWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEBwYXJhbSB7UGVuZGluZ1Byb2dyYW19IHByb2dyYW1cblx0ICogQHBhcmFtIHtudW1iZXJ9IGR1cmF0aW9uXG5cdCAqIEByZXR1cm5zIHtQcm9ncmFtfVxuXHQgKi9cblx0ZnVuY3Rpb24gaW5pdChwcm9ncmFtLCBkdXJhdGlvbikge1xuXHRcdGNvbnN0IGQgPSAvKiogQHR5cGUge1Byb2dyYW1bJ2QnXX0gKi8gKHByb2dyYW0uYiAtIHQpO1xuXHRcdGR1cmF0aW9uICo9IE1hdGguYWJzKGQpO1xuXHRcdHJldHVybiB7XG5cdFx0XHRhOiB0LFxuXHRcdFx0YjogcHJvZ3JhbS5iLFxuXHRcdFx0ZCxcblx0XHRcdGR1cmF0aW9uLFxuXHRcdFx0c3RhcnQ6IHByb2dyYW0uc3RhcnQsXG5cdFx0XHRlbmQ6IHByb2dyYW0uc3RhcnQgKyBkdXJhdGlvbixcblx0XHRcdGdyb3VwOiBwcm9ncmFtLmdyb3VwXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcGFyYW0ge0lOVFJPIHwgT1VUUk99IGJcblx0ICogQHJldHVybnMge3ZvaWR9XG5cdCAqL1xuXHRmdW5jdGlvbiBnbyhiKSB7XG5cdFx0Y29uc3Qge1xuXHRcdFx0ZGVsYXkgPSAwLFxuXHRcdFx0ZHVyYXRpb24gPSAzMDAsXG5cdFx0XHRlYXNpbmcgPSBsaW5lYXIsXG5cdFx0XHR0aWNrID0gbm9vcCxcblx0XHRcdGNzc1xuXHRcdH0gPSBjb25maWcgfHwgbnVsbF90cmFuc2l0aW9uO1xuXG5cdFx0LyoqXG5cdFx0ICogQHR5cGUge1BlbmRpbmdQcm9ncmFtfSAqL1xuXHRcdGNvbnN0IHByb2dyYW0gPSB7XG5cdFx0XHRzdGFydDogbm93KCkgKyBkZWxheSxcblx0XHRcdGJcblx0XHR9O1xuXG5cdFx0aWYgKCFiKSB7XG5cdFx0XHQvLyBAdHMtaWdub3JlIHRvZG86IGltcHJvdmUgdHlwaW5nc1xuXHRcdFx0cHJvZ3JhbS5ncm91cCA9IG91dHJvcztcblx0XHRcdG91dHJvcy5yICs9IDE7XG5cdFx0fVxuXG5cdFx0aWYgKCdpbmVydCcgaW4gbm9kZSkge1xuXHRcdFx0aWYgKGIpIHtcblx0XHRcdFx0aWYgKG9yaWdpbmFsX2luZXJ0X3ZhbHVlICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHQvLyBhYm9ydGVkL3JldmVyc2VkIG91dHJvIFx1MjAxNCByZXN0b3JlIHByZXZpb3VzIGluZXJ0IHZhbHVlXG5cdFx0XHRcdFx0bm9kZS5pbmVydCA9IG9yaWdpbmFsX2luZXJ0X3ZhbHVlO1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRvcmlnaW5hbF9pbmVydF92YWx1ZSA9IC8qKiBAdHlwZSB7SFRNTEVsZW1lbnR9ICovIChub2RlKS5pbmVydDtcblx0XHRcdFx0bm9kZS5pbmVydCA9IHRydWU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKHJ1bm5pbmdfcHJvZ3JhbSB8fCBwZW5kaW5nX3Byb2dyYW0pIHtcblx0XHRcdHBlbmRpbmdfcHJvZ3JhbSA9IHByb2dyYW07XG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIGlmIHRoaXMgaXMgYW4gaW50cm8sIGFuZCB0aGVyZSdzIGEgZGVsYXksIHdlIG5lZWQgdG8gZG9cblx0XHRcdC8vIGFuIGluaXRpYWwgdGljayBhbmQvb3IgYXBwbHkgQ1NTIGFuaW1hdGlvbiBpbW1lZGlhdGVseVxuXHRcdFx0aWYgKGNzcykge1xuXHRcdFx0XHRjbGVhcl9hbmltYXRpb24oKTtcblx0XHRcdFx0YW5pbWF0aW9uX25hbWUgPSBjcmVhdGVfcnVsZShub2RlLCB0LCBiLCBkdXJhdGlvbiwgZGVsYXksIGVhc2luZywgY3NzKTtcblx0XHRcdH1cblx0XHRcdGlmIChiKSB0aWNrKDAsIDEpO1xuXHRcdFx0cnVubmluZ19wcm9ncmFtID0gaW5pdChwcm9ncmFtLCBkdXJhdGlvbik7XG5cdFx0XHRhZGRfcmVuZGVyX2NhbGxiYWNrKCgpID0+IGRpc3BhdGNoKG5vZGUsIGIsICdzdGFydCcpKTtcblx0XHRcdGxvb3AoKG5vdykgPT4ge1xuXHRcdFx0XHRpZiAocGVuZGluZ19wcm9ncmFtICYmIG5vdyA+IHBlbmRpbmdfcHJvZ3JhbS5zdGFydCkge1xuXHRcdFx0XHRcdHJ1bm5pbmdfcHJvZ3JhbSA9IGluaXQocGVuZGluZ19wcm9ncmFtLCBkdXJhdGlvbik7XG5cdFx0XHRcdFx0cGVuZGluZ19wcm9ncmFtID0gbnVsbDtcblx0XHRcdFx0XHRkaXNwYXRjaChub2RlLCBydW5uaW5nX3Byb2dyYW0uYiwgJ3N0YXJ0Jyk7XG5cdFx0XHRcdFx0aWYgKGNzcykge1xuXHRcdFx0XHRcdFx0Y2xlYXJfYW5pbWF0aW9uKCk7XG5cdFx0XHRcdFx0XHRhbmltYXRpb25fbmFtZSA9IGNyZWF0ZV9ydWxlKFxuXHRcdFx0XHRcdFx0XHRub2RlLFxuXHRcdFx0XHRcdFx0XHR0LFxuXHRcdFx0XHRcdFx0XHRydW5uaW5nX3Byb2dyYW0uYixcblx0XHRcdFx0XHRcdFx0cnVubmluZ19wcm9ncmFtLmR1cmF0aW9uLFxuXHRcdFx0XHRcdFx0XHQwLFxuXHRcdFx0XHRcdFx0XHRlYXNpbmcsXG5cdFx0XHRcdFx0XHRcdGNvbmZpZy5jc3Ncblx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChydW5uaW5nX3Byb2dyYW0pIHtcblx0XHRcdFx0XHRpZiAobm93ID49IHJ1bm5pbmdfcHJvZ3JhbS5lbmQpIHtcblx0XHRcdFx0XHRcdHRpY2soKHQgPSBydW5uaW5nX3Byb2dyYW0uYiksIDEgLSB0KTtcblx0XHRcdFx0XHRcdGRpc3BhdGNoKG5vZGUsIHJ1bm5pbmdfcHJvZ3JhbS5iLCAnZW5kJyk7XG5cdFx0XHRcdFx0XHRpZiAoIXBlbmRpbmdfcHJvZ3JhbSkge1xuXHRcdFx0XHRcdFx0XHQvLyB3ZSdyZSBkb25lXG5cdFx0XHRcdFx0XHRcdGlmIChydW5uaW5nX3Byb2dyYW0uYikge1xuXHRcdFx0XHRcdFx0XHRcdC8vIGludHJvIFx1MjAxNCB3ZSBjYW4gdGlkeSB1cCBpbW1lZGlhdGVseVxuXHRcdFx0XHRcdFx0XHRcdGNsZWFyX2FuaW1hdGlvbigpO1xuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdC8vIG91dHJvIFx1MjAxNCBuZWVkcyB0byBiZSBjb29yZGluYXRlZFxuXHRcdFx0XHRcdFx0XHRcdGlmICghLS1ydW5uaW5nX3Byb2dyYW0uZ3JvdXAucikgcnVuX2FsbChydW5uaW5nX3Byb2dyYW0uZ3JvdXAuYyk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdHJ1bm5pbmdfcHJvZ3JhbSA9IG51bGw7XG5cdFx0XHRcdFx0fSBlbHNlIGlmIChub3cgPj0gcnVubmluZ19wcm9ncmFtLnN0YXJ0KSB7XG5cdFx0XHRcdFx0XHRjb25zdCBwID0gbm93IC0gcnVubmluZ19wcm9ncmFtLnN0YXJ0O1xuXHRcdFx0XHRcdFx0dCA9IHJ1bm5pbmdfcHJvZ3JhbS5hICsgcnVubmluZ19wcm9ncmFtLmQgKiBlYXNpbmcocCAvIHJ1bm5pbmdfcHJvZ3JhbS5kdXJhdGlvbik7XG5cdFx0XHRcdFx0XHR0aWNrKHQsIDEgLSB0KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuICEhKHJ1bm5pbmdfcHJvZ3JhbSB8fCBwZW5kaW5nX3Byb2dyYW0pO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cdHJldHVybiB7XG5cdFx0cnVuKGIpIHtcblx0XHRcdGlmIChpc19mdW5jdGlvbihjb25maWcpKSB7XG5cdFx0XHRcdHdhaXQoKS50aGVuKCgpID0+IHtcblx0XHRcdFx0XHRjb25zdCBvcHRzID0geyBkaXJlY3Rpb246IGIgPyAnaW4nIDogJ291dCcgfTtcblx0XHRcdFx0XHQvLyBAdHMtaWdub3JlXG5cdFx0XHRcdFx0Y29uZmlnID0gY29uZmlnKG9wdHMpO1xuXHRcdFx0XHRcdGdvKGIpO1xuXHRcdFx0XHR9KTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGdvKGIpO1xuXHRcdFx0fVxuXHRcdH0sXG5cdFx0ZW5kKCkge1xuXHRcdFx0Y2xlYXJfYW5pbWF0aW9uKCk7XG5cdFx0XHRydW5uaW5nX3Byb2dyYW0gPSBwZW5kaW5nX3Byb2dyYW0gPSBudWxsO1xuXHRcdH1cblx0fTtcbn1cblxuLyoqIEB0eXBlZGVmIHsxfSBJTlRSTyAqL1xuLyoqIEB0eXBlZGVmIHswfSBPVVRSTyAqL1xuLyoqIEB0eXBlZGVmIHt7IGRpcmVjdGlvbjogJ2luJyB8ICdvdXQnIHwgJ2JvdGgnIH19IFRyYW5zaXRpb25PcHRpb25zICovXG4vKiogQHR5cGVkZWYgeyhub2RlOiBFbGVtZW50LCBwYXJhbXM6IGFueSwgb3B0aW9uczogVHJhbnNpdGlvbk9wdGlvbnMpID0+IGltcG9ydCgnLi4vdHJhbnNpdGlvbi9wdWJsaWMuanMnKS5UcmFuc2l0aW9uQ29uZmlnfSBUcmFuc2l0aW9uRm4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBPdXRyb1xuICogQHByb3BlcnR5IHtudW1iZXJ9IHJcbiAqIEBwcm9wZXJ0eSB7RnVuY3Rpb25bXX0gY1xuICogQHByb3BlcnR5IHtPYmplY3R9IHBcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFBlbmRpbmdQcm9ncmFtXG4gKiBAcHJvcGVydHkge251bWJlcn0gc3RhcnRcbiAqIEBwcm9wZXJ0eSB7SU5UUk98T1VUUk99IGJcbiAqIEBwcm9wZXJ0eSB7T3V0cm99IFtncm91cF1cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFByb2dyYW1cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBhXG4gKiBAcHJvcGVydHkge0lOVFJPfE9VVFJPfSBiXG4gKiBAcHJvcGVydHkgezF8LTF9IGRcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBkdXJhdGlvblxuICogQHByb3BlcnR5IHtudW1iZXJ9IHN0YXJ0XG4gKiBAcHJvcGVydHkge251bWJlcn0gZW5kXG4gKiBAcHJvcGVydHkge091dHJvfSBbZ3JvdXBdXG4gKi9cbiIsICJpbXBvcnQgeyB0cmFuc2l0aW9uX2luLCB0cmFuc2l0aW9uX291dCB9IGZyb20gJy4vdHJhbnNpdGlvbnMuanMnO1xuaW1wb3J0IHsgcnVuX2FsbCB9IGZyb20gJy4vdXRpbHMuanMnO1xuXG4vLyBnZW5lcmFsIGVhY2ggZnVuY3Rpb25zOlxuXG5leHBvcnQgZnVuY3Rpb24gZW5zdXJlX2FycmF5X2xpa2UoYXJyYXlfbGlrZV9vcl9pdGVyYXRvcikge1xuXHRyZXR1cm4gYXJyYXlfbGlrZV9vcl9pdGVyYXRvcj8ubGVuZ3RoICE9PSB1bmRlZmluZWRcblx0XHQ/IGFycmF5X2xpa2Vfb3JfaXRlcmF0b3Jcblx0XHQ6IEFycmF5LmZyb20oYXJyYXlfbGlrZV9vcl9pdGVyYXRvcik7XG59XG5cbi8vIGtleWVkIGVhY2ggZnVuY3Rpb25zOlxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gZGVzdHJveV9ibG9jayhibG9jaywgbG9va3VwKSB7XG5cdGJsb2NrLmQoMSk7XG5cdGxvb2t1cC5kZWxldGUoYmxvY2sua2V5KTtcbn1cblxuLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIG91dHJvX2FuZF9kZXN0cm95X2Jsb2NrKGJsb2NrLCBsb29rdXApIHtcblx0dHJhbnNpdGlvbl9vdXQoYmxvY2ssIDEsIDEsICgpID0+IHtcblx0XHRsb29rdXAuZGVsZXRlKGJsb2NrLmtleSk7XG5cdH0pO1xufVxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gZml4X2FuZF9kZXN0cm95X2Jsb2NrKGJsb2NrLCBsb29rdXApIHtcblx0YmxvY2suZigpO1xuXHRkZXN0cm95X2Jsb2NrKGJsb2NrLCBsb29rdXApO1xufVxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gZml4X2FuZF9vdXRyb19hbmRfZGVzdHJveV9ibG9jayhibG9jaywgbG9va3VwKSB7XG5cdGJsb2NrLmYoKTtcblx0b3V0cm9fYW5kX2Rlc3Ryb3lfYmxvY2soYmxvY2ssIGxvb2t1cCk7XG59XG5cbi8qKiBAcmV0dXJucyB7YW55W119ICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlX2tleWVkX2VhY2goXG5cdG9sZF9ibG9ja3MsXG5cdGRpcnR5LFxuXHRnZXRfa2V5LFxuXHRkeW5hbWljLFxuXHRjdHgsXG5cdGxpc3QsXG5cdGxvb2t1cCxcblx0bm9kZSxcblx0ZGVzdHJveSxcblx0Y3JlYXRlX2VhY2hfYmxvY2ssXG5cdG5leHQsXG5cdGdldF9jb250ZXh0XG4pIHtcblx0bGV0IG8gPSBvbGRfYmxvY2tzLmxlbmd0aDtcblx0bGV0IG4gPSBsaXN0Lmxlbmd0aDtcblx0bGV0IGkgPSBvO1xuXHRjb25zdCBvbGRfaW5kZXhlcyA9IHt9O1xuXHR3aGlsZSAoaS0tKSBvbGRfaW5kZXhlc1tvbGRfYmxvY2tzW2ldLmtleV0gPSBpO1xuXHRjb25zdCBuZXdfYmxvY2tzID0gW107XG5cdGNvbnN0IG5ld19sb29rdXAgPSBuZXcgTWFwKCk7XG5cdGNvbnN0IGRlbHRhcyA9IG5ldyBNYXAoKTtcblx0Y29uc3QgdXBkYXRlcyA9IFtdO1xuXHRpID0gbjtcblx0d2hpbGUgKGktLSkge1xuXHRcdGNvbnN0IGNoaWxkX2N0eCA9IGdldF9jb250ZXh0KGN0eCwgbGlzdCwgaSk7XG5cdFx0Y29uc3Qga2V5ID0gZ2V0X2tleShjaGlsZF9jdHgpO1xuXHRcdGxldCBibG9jayA9IGxvb2t1cC5nZXQoa2V5KTtcblx0XHRpZiAoIWJsb2NrKSB7XG5cdFx0XHRibG9jayA9IGNyZWF0ZV9lYWNoX2Jsb2NrKGtleSwgY2hpbGRfY3R4KTtcblx0XHRcdGJsb2NrLmMoKTtcblx0XHR9IGVsc2UgaWYgKGR5bmFtaWMpIHtcblx0XHRcdC8vIGRlZmVyIHVwZGF0ZXMgdW50aWwgYWxsIHRoZSBET00gc2h1ZmZsaW5nIGlzIGRvbmVcblx0XHRcdHVwZGF0ZXMucHVzaCgoKSA9PiBibG9jay5wKGNoaWxkX2N0eCwgZGlydHkpKTtcblx0XHR9XG5cdFx0bmV3X2xvb2t1cC5zZXQoa2V5LCAobmV3X2Jsb2Nrc1tpXSA9IGJsb2NrKSk7XG5cdFx0aWYgKGtleSBpbiBvbGRfaW5kZXhlcykgZGVsdGFzLnNldChrZXksIE1hdGguYWJzKGkgLSBvbGRfaW5kZXhlc1trZXldKSk7XG5cdH1cblx0Y29uc3Qgd2lsbF9tb3ZlID0gbmV3IFNldCgpO1xuXHRjb25zdCBkaWRfbW92ZSA9IG5ldyBTZXQoKTtcblx0LyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuXHRmdW5jdGlvbiBpbnNlcnQoYmxvY2spIHtcblx0XHR0cmFuc2l0aW9uX2luKGJsb2NrLCAxKTtcblx0XHRibG9jay5tKG5vZGUsIG5leHQpO1xuXHRcdGxvb2t1cC5zZXQoYmxvY2sua2V5LCBibG9jayk7XG5cdFx0bmV4dCA9IGJsb2NrLmZpcnN0O1xuXHRcdG4tLTtcblx0fVxuXHR3aGlsZSAobyAmJiBuKSB7XG5cdFx0Y29uc3QgbmV3X2Jsb2NrID0gbmV3X2Jsb2Nrc1tuIC0gMV07XG5cdFx0Y29uc3Qgb2xkX2Jsb2NrID0gb2xkX2Jsb2Nrc1tvIC0gMV07XG5cdFx0Y29uc3QgbmV3X2tleSA9IG5ld19ibG9jay5rZXk7XG5cdFx0Y29uc3Qgb2xkX2tleSA9IG9sZF9ibG9jay5rZXk7XG5cdFx0aWYgKG5ld19ibG9jayA9PT0gb2xkX2Jsb2NrKSB7XG5cdFx0XHQvLyBkbyBub3RoaW5nXG5cdFx0XHRuZXh0ID0gbmV3X2Jsb2NrLmZpcnN0O1xuXHRcdFx0by0tO1xuXHRcdFx0bi0tO1xuXHRcdH0gZWxzZSBpZiAoIW5ld19sb29rdXAuaGFzKG9sZF9rZXkpKSB7XG5cdFx0XHQvLyByZW1vdmUgb2xkIGJsb2NrXG5cdFx0XHRkZXN0cm95KG9sZF9ibG9jaywgbG9va3VwKTtcblx0XHRcdG8tLTtcblx0XHR9IGVsc2UgaWYgKCFsb29rdXAuaGFzKG5ld19rZXkpIHx8IHdpbGxfbW92ZS5oYXMobmV3X2tleSkpIHtcblx0XHRcdGluc2VydChuZXdfYmxvY2spO1xuXHRcdH0gZWxzZSBpZiAoZGlkX21vdmUuaGFzKG9sZF9rZXkpKSB7XG5cdFx0XHRvLS07XG5cdFx0fSBlbHNlIGlmIChkZWx0YXMuZ2V0KG5ld19rZXkpID4gZGVsdGFzLmdldChvbGRfa2V5KSkge1xuXHRcdFx0ZGlkX21vdmUuYWRkKG5ld19rZXkpO1xuXHRcdFx0aW5zZXJ0KG5ld19ibG9jayk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHdpbGxfbW92ZS5hZGQob2xkX2tleSk7XG5cdFx0XHRvLS07XG5cdFx0fVxuXHR9XG5cdHdoaWxlIChvLS0pIHtcblx0XHRjb25zdCBvbGRfYmxvY2sgPSBvbGRfYmxvY2tzW29dO1xuXHRcdGlmICghbmV3X2xvb2t1cC5oYXMob2xkX2Jsb2NrLmtleSkpIGRlc3Ryb3kob2xkX2Jsb2NrLCBsb29rdXApO1xuXHR9XG5cdHdoaWxlIChuKSBpbnNlcnQobmV3X2Jsb2Nrc1tuIC0gMV0pO1xuXHRydW5fYWxsKHVwZGF0ZXMpO1xuXHRyZXR1cm4gbmV3X2Jsb2Nrcztcbn1cblxuLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlX2VhY2hfa2V5cyhjdHgsIGxpc3QsIGdldF9jb250ZXh0LCBnZXRfa2V5KSB7XG5cdGNvbnN0IGtleXMgPSBuZXcgTWFwKCk7XG5cdGZvciAobGV0IGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xuXHRcdGNvbnN0IGtleSA9IGdldF9rZXkoZ2V0X2NvbnRleHQoY3R4LCBsaXN0LCBpKSk7XG5cdFx0aWYgKGtleXMuaGFzKGtleSkpIHtcblx0XHRcdGxldCB2YWx1ZSA9ICcnO1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0dmFsdWUgPSBgd2l0aCB2YWx1ZSAnJHtTdHJpbmcoa2V5KX0nIGA7XG5cdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdC8vIGNhbid0IHN0cmluZ2lmeVxuXHRcdFx0fVxuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFxuXHRcdFx0XHRgQ2Fubm90IGhhdmUgZHVwbGljYXRlIGtleXMgaW4gYSBrZXllZCBlYWNoOiBLZXlzIGF0IGluZGV4ICR7a2V5cy5nZXQoXG5cdFx0XHRcdFx0a2V5XG5cdFx0XHRcdCl9IGFuZCAke2l9ICR7dmFsdWV9YXJlIGR1cGxpY2F0ZXNgXG5cdFx0XHQpO1xuXHRcdH1cblx0XHRrZXlzLnNldChrZXksIGkpO1xuXHR9XG59XG4iLCAiLyoqIEByZXR1cm5zIHt7fX0gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRfc3ByZWFkX3VwZGF0ZShsZXZlbHMsIHVwZGF0ZXMpIHtcblx0Y29uc3QgdXBkYXRlID0ge307XG5cdGNvbnN0IHRvX251bGxfb3V0ID0ge307XG5cdGNvbnN0IGFjY291bnRlZF9mb3IgPSB7ICQkc2NvcGU6IDEgfTtcblx0bGV0IGkgPSBsZXZlbHMubGVuZ3RoO1xuXHR3aGlsZSAoaS0tKSB7XG5cdFx0Y29uc3QgbyA9IGxldmVsc1tpXTtcblx0XHRjb25zdCBuID0gdXBkYXRlc1tpXTtcblx0XHRpZiAobikge1xuXHRcdFx0Zm9yIChjb25zdCBrZXkgaW4gbykge1xuXHRcdFx0XHRpZiAoIShrZXkgaW4gbikpIHRvX251bGxfb3V0W2tleV0gPSAxO1xuXHRcdFx0fVxuXHRcdFx0Zm9yIChjb25zdCBrZXkgaW4gbikge1xuXHRcdFx0XHRpZiAoIWFjY291bnRlZF9mb3Jba2V5XSkge1xuXHRcdFx0XHRcdHVwZGF0ZVtrZXldID0gbltrZXldO1xuXHRcdFx0XHRcdGFjY291bnRlZF9mb3Jba2V5XSA9IDE7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGxldmVsc1tpXSA9IG47XG5cdFx0fSBlbHNlIHtcblx0XHRcdGZvciAoY29uc3Qga2V5IGluIG8pIHtcblx0XHRcdFx0YWNjb3VudGVkX2ZvcltrZXldID0gMTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Zm9yIChjb25zdCBrZXkgaW4gdG9fbnVsbF9vdXQpIHtcblx0XHRpZiAoIShrZXkgaW4gdXBkYXRlKSkgdXBkYXRlW2tleV0gPSB1bmRlZmluZWQ7XG5cdH1cblx0cmV0dXJuIHVwZGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldF9zcHJlYWRfb2JqZWN0KHNwcmVhZF9wcm9wcykge1xuXHRyZXR1cm4gdHlwZW9mIHNwcmVhZF9wcm9wcyA9PT0gJ29iamVjdCcgJiYgc3ByZWFkX3Byb3BzICE9PSBudWxsID8gc3ByZWFkX3Byb3BzIDoge307XG59XG4iLCAiY29uc3QgX2Jvb2xlYW5fYXR0cmlidXRlcyA9IC8qKiBAdHlwZSB7Y29uc3R9ICovIChbXG5cdCdhbGxvd2Z1bGxzY3JlZW4nLFxuXHQnYWxsb3dwYXltZW50cmVxdWVzdCcsXG5cdCdhc3luYycsXG5cdCdhdXRvZm9jdXMnLFxuXHQnYXV0b3BsYXknLFxuXHQnY2hlY2tlZCcsXG5cdCdjb250cm9scycsXG5cdCdkZWZhdWx0Jyxcblx0J2RlZmVyJyxcblx0J2Rpc2FibGVkJyxcblx0J2Zvcm1ub3ZhbGlkYXRlJyxcblx0J2hpZGRlbicsXG5cdCdpbmVydCcsXG5cdCdpc21hcCcsXG5cdCdsb29wJyxcblx0J211bHRpcGxlJyxcblx0J211dGVkJyxcblx0J25vbW9kdWxlJyxcblx0J25vdmFsaWRhdGUnLFxuXHQnb3BlbicsXG5cdCdwbGF5c2lubGluZScsXG5cdCdyZWFkb25seScsXG5cdCdyZXF1aXJlZCcsXG5cdCdyZXZlcnNlZCcsXG5cdCdzZWxlY3RlZCdcbl0pO1xuXG4vKipcbiAqIExpc3Qgb2YgSFRNTCBib29sZWFuIGF0dHJpYnV0ZXMgKGUuZy4gYDxpbnB1dCBkaXNhYmxlZD5gKS5cbiAqIFNvdXJjZTogaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW5kaWNlcy5odG1sXG4gKlxuICogQHR5cGUge1NldDxzdHJpbmc+fVxuICovXG5leHBvcnQgY29uc3QgYm9vbGVhbl9hdHRyaWJ1dGVzID0gbmV3IFNldChbLi4uX2Jvb2xlYW5fYXR0cmlidXRlc10pO1xuXG4vKiogQHR5cGVkZWYge3R5cGVvZiBfYm9vbGVhbl9hdHRyaWJ1dGVzW251bWJlcl19IEJvb2xlYW5BdHRyaWJ1dGVzICovXG4iLCAiLyoqIHJlZ2V4IG9mIGFsbCBodG1sIHZvaWQgZWxlbWVudCBuYW1lcyAqL1xuY29uc3Qgdm9pZF9lbGVtZW50X25hbWVzID1cblx0L14oPzphcmVhfGJhc2V8YnJ8Y29sfGNvbW1hbmR8ZW1iZWR8aHJ8aW1nfGlucHV0fGtleWdlbnxsaW5rfG1ldGF8cGFyYW18c291cmNlfHRyYWNrfHdicikkLztcblxuLyoqIHJlZ2V4IG9mIGFsbCBodG1sIGVsZW1lbnQgbmFtZXMuIHN2ZyBhbmQgbWF0aCBhcmUgb21pdHRlZCBiZWNhdXNlIHRoZXkgYmVsb25nIHRvIHRoZSBzdmcgZWxlbWVudHMgbmFtZXNwYWNlICovXG5jb25zdCBodG1sX2VsZW1lbnRfbmFtZXMgPVxuXHQvXig/OmF8YWJicnxhZGRyZXNzfGFyZWF8YXJ0aWNsZXxhc2lkZXxhdWRpb3xifGJhc2V8YmRpfGJkb3xibG9ja3F1b3RlfGJvZHl8YnJ8YnV0dG9ufGNhbnZhc3xjYXB0aW9ufGNpdGV8Y29kZXxjb2x8Y29sZ3JvdXB8ZGF0YXxkYXRhbGlzdHxkZHxkZWx8ZGV0YWlsc3xkZm58ZGlhbG9nfGRpdnxkbHxkdHxlbXxlbWJlZHxmaWVsZHNldHxmaWdjYXB0aW9ufGZpZ3VyZXxmb290ZXJ8Zm9ybXxoMXxoMnxoM3xoNHxoNXxoNnxoZWFkfGhlYWRlcnxocnxodG1sfGl8aWZyYW1lfGltZ3xpbnB1dHxpbnN8a2JkfGxhYmVsfGxlZ2VuZHxsaXxsaW5rfG1haW58bWFwfG1hcmt8bWV0YXxtZXRlcnxuYXZ8bm9zY3JpcHR8b2JqZWN0fG9sfG9wdGdyb3VwfG9wdGlvbnxvdXRwdXR8cHxwYXJhbXxwaWN0dXJlfHByZXxwcm9ncmVzc3xxfHJwfHJ0fHJ1Ynl8c3xzYW1wfHNjcmlwdHxzZWN0aW9ufHNlbGVjdHxzbWFsbHxzb3VyY2V8c3BhbnxzdHJvbmd8c3R5bGV8c3VifHN1bW1hcnl8c3VwfHRhYmxlfHRib2R5fHRkfHRlbXBsYXRlfHRleHRhcmVhfHRmb290fHRofHRoZWFkfHRpbWV8dGl0bGV8dHJ8dHJhY2t8dXx1bHx2YXJ8dmlkZW98d2JyKSQvO1xuXG4vKiogcmVnZXggb2YgYWxsIHN2ZyBlbGVtZW50IG5hbWVzICovXG5jb25zdCBzdmcgPVxuXHQvXig/OmFsdEdseXBofGFsdEdseXBoRGVmfGFsdEdseXBoSXRlbXxhbmltYXRlfGFuaW1hdGVDb2xvcnxhbmltYXRlTW90aW9ufGFuaW1hdGVUcmFuc2Zvcm18Y2lyY2xlfGNsaXBQYXRofGNvbG9yLXByb2ZpbGV8Y3Vyc29yfGRlZnN8ZGVzY3xkaXNjYXJkfGVsbGlwc2V8ZmVCbGVuZHxmZUNvbG9yTWF0cml4fGZlQ29tcG9uZW50VHJhbnNmZXJ8ZmVDb21wb3NpdGV8ZmVDb252b2x2ZU1hdHJpeHxmZURpZmZ1c2VMaWdodGluZ3xmZURpc3BsYWNlbWVudE1hcHxmZURpc3RhbnRMaWdodHxmZURyb3BTaGFkb3d8ZmVGbG9vZHxmZUZ1bmNBfGZlRnVuY0J8ZmVGdW5jR3xmZUZ1bmNSfGZlR2F1c3NpYW5CbHVyfGZlSW1hZ2V8ZmVNZXJnZXxmZU1lcmdlTm9kZXxmZU1vcnBob2xvZ3l8ZmVPZmZzZXR8ZmVQb2ludExpZ2h0fGZlU3BlY3VsYXJMaWdodGluZ3xmZVNwb3RMaWdodHxmZVRpbGV8ZmVUdXJidWxlbmNlfGZpbHRlcnxmb250fGZvbnQtZmFjZXxmb250LWZhY2UtZm9ybWF0fGZvbnQtZmFjZS1uYW1lfGZvbnQtZmFjZS1zcmN8Zm9udC1mYWNlLXVyaXxmb3JlaWduT2JqZWN0fGd8Z2x5cGh8Z2x5cGhSZWZ8aGF0Y2h8aGF0Y2hwYXRofGhrZXJufGltYWdlfGxpbmV8bGluZWFyR3JhZGllbnR8bWFya2VyfG1hc2t8bWVzaHxtZXNoZ3JhZGllbnR8bWVzaHBhdGNofG1lc2hyb3d8bWV0YWRhdGF8bWlzc2luZy1nbHlwaHxtcGF0aHxwYXRofHBhdHRlcm58cG9seWdvbnxwb2x5bGluZXxyYWRpYWxHcmFkaWVudHxyZWN0fHNldHxzb2xpZGNvbG9yfHN0b3B8c3ZnfHN3aXRjaHxzeW1ib2x8dGV4dHx0ZXh0UGF0aHx0cmVmfHRzcGFufHVua25vd258dXNlfHZpZXd8dmtlcm4pJC87XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNfdm9pZChuYW1lKSB7XG5cdHJldHVybiB2b2lkX2VsZW1lbnRfbmFtZXMudGVzdChuYW1lKSB8fCBuYW1lLnRvTG93ZXJDYXNlKCkgPT09ICchZG9jdHlwZSc7XG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNfaHRtbChuYW1lKSB7XG5cdHJldHVybiBodG1sX2VsZW1lbnRfbmFtZXMudGVzdChuYW1lKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc19zdmcobmFtZSkge1xuXHRyZXR1cm4gc3ZnLnRlc3QobmFtZSk7XG59XG4iLCAiaW1wb3J0IHtcblx0YWRkX3JlbmRlcl9jYWxsYmFjayxcblx0Zmx1c2gsXG5cdGZsdXNoX3JlbmRlcl9jYWxsYmFja3MsXG5cdHNjaGVkdWxlX3VwZGF0ZSxcblx0ZGlydHlfY29tcG9uZW50c1xufSBmcm9tICcuL3NjaGVkdWxlci5qcyc7XG5pbXBvcnQgeyBjdXJyZW50X2NvbXBvbmVudCwgc2V0X2N1cnJlbnRfY29tcG9uZW50IH0gZnJvbSAnLi9saWZlY3ljbGUuanMnO1xuaW1wb3J0IHsgYmxhbmtfb2JqZWN0LCBpc19lbXB0eSwgaXNfZnVuY3Rpb24sIHJ1biwgcnVuX2FsbCwgbm9vcCB9IGZyb20gJy4vdXRpbHMuanMnO1xuaW1wb3J0IHtcblx0Y2hpbGRyZW4sXG5cdGRldGFjaCxcblx0c3RhcnRfaHlkcmF0aW5nLFxuXHRlbmRfaHlkcmF0aW5nLFxuXHRnZXRfY3VzdG9tX2VsZW1lbnRzX3Nsb3RzLFxuXHRpbnNlcnQsXG5cdGVsZW1lbnQsXG5cdGF0dHJcbn0gZnJvbSAnLi9kb20uanMnO1xuaW1wb3J0IHsgdHJhbnNpdGlvbl9pbiB9IGZyb20gJy4vdHJhbnNpdGlvbnMuanMnO1xuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gYmluZChjb21wb25lbnQsIG5hbWUsIGNhbGxiYWNrKSB7XG5cdGNvbnN0IGluZGV4ID0gY29tcG9uZW50LiQkLnByb3BzW25hbWVdO1xuXHRpZiAoaW5kZXggIT09IHVuZGVmaW5lZCkge1xuXHRcdGNvbXBvbmVudC4kJC5ib3VuZFtpbmRleF0gPSBjYWxsYmFjaztcblx0XHRjYWxsYmFjayhjb21wb25lbnQuJCQuY3R4W2luZGV4XSk7XG5cdH1cbn1cblxuLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZV9jb21wb25lbnQoYmxvY2spIHtcblx0YmxvY2sgJiYgYmxvY2suYygpO1xufVxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gY2xhaW1fY29tcG9uZW50KGJsb2NrLCBwYXJlbnRfbm9kZXMpIHtcblx0YmxvY2sgJiYgYmxvY2subChwYXJlbnRfbm9kZXMpO1xufVxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gbW91bnRfY29tcG9uZW50KGNvbXBvbmVudCwgdGFyZ2V0LCBhbmNob3IpIHtcblx0Y29uc3QgeyBmcmFnbWVudCwgYWZ0ZXJfdXBkYXRlIH0gPSBjb21wb25lbnQuJCQ7XG5cdGZyYWdtZW50ICYmIGZyYWdtZW50Lm0odGFyZ2V0LCBhbmNob3IpO1xuXHQvLyBvbk1vdW50IGhhcHBlbnMgYmVmb3JlIHRoZSBpbml0aWFsIGFmdGVyVXBkYXRlXG5cdGFkZF9yZW5kZXJfY2FsbGJhY2soKCkgPT4ge1xuXHRcdGNvbnN0IG5ld19vbl9kZXN0cm95ID0gY29tcG9uZW50LiQkLm9uX21vdW50Lm1hcChydW4pLmZpbHRlcihpc19mdW5jdGlvbik7XG5cdFx0Ly8gaWYgdGhlIGNvbXBvbmVudCB3YXMgZGVzdHJveWVkIGltbWVkaWF0ZWx5XG5cdFx0Ly8gaXQgd2lsbCB1cGRhdGUgdGhlIGAkJC5vbl9kZXN0cm95YCByZWZlcmVuY2UgdG8gYG51bGxgLlxuXHRcdC8vIHRoZSBkZXN0cnVjdHVyZWQgb25fZGVzdHJveSBtYXkgc3RpbGwgcmVmZXJlbmNlIHRvIHRoZSBvbGQgYXJyYXlcblx0XHRpZiAoY29tcG9uZW50LiQkLm9uX2Rlc3Ryb3kpIHtcblx0XHRcdGNvbXBvbmVudC4kJC5vbl9kZXN0cm95LnB1c2goLi4ubmV3X29uX2Rlc3Ryb3kpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBFZGdlIGNhc2UgLSBjb21wb25lbnQgd2FzIGRlc3Ryb3llZCBpbW1lZGlhdGVseSxcblx0XHRcdC8vIG1vc3QgbGlrZWx5IGFzIGEgcmVzdWx0IG9mIGEgYmluZGluZyBpbml0aWFsaXNpbmdcblx0XHRcdHJ1bl9hbGwobmV3X29uX2Rlc3Ryb3kpO1xuXHRcdH1cblx0XHRjb21wb25lbnQuJCQub25fbW91bnQgPSBbXTtcblx0fSk7XG5cdGFmdGVyX3VwZGF0ZS5mb3JFYWNoKGFkZF9yZW5kZXJfY2FsbGJhY2spO1xufVxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gZGVzdHJveV9jb21wb25lbnQoY29tcG9uZW50LCBkZXRhY2hpbmcpIHtcblx0Y29uc3QgJCQgPSBjb21wb25lbnQuJCQ7XG5cdGlmICgkJC5mcmFnbWVudCAhPT0gbnVsbCkge1xuXHRcdGZsdXNoX3JlbmRlcl9jYWxsYmFja3MoJCQuYWZ0ZXJfdXBkYXRlKTtcblx0XHRydW5fYWxsKCQkLm9uX2Rlc3Ryb3kpO1xuXHRcdCQkLmZyYWdtZW50ICYmICQkLmZyYWdtZW50LmQoZGV0YWNoaW5nKTtcblx0XHQvLyBUT0RPIG51bGwgb3V0IG90aGVyIHJlZnMsIGluY2x1ZGluZyBjb21wb25lbnQuJCQgKGJ1dCBuZWVkIHRvXG5cdFx0Ly8gcHJlc2VydmUgZmluYWwgc3RhdGU/KVxuXHRcdCQkLm9uX2Rlc3Ryb3kgPSAkJC5mcmFnbWVudCA9IG51bGw7XG5cdFx0JCQuY3R4ID0gW107XG5cdH1cbn1cblxuLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuZnVuY3Rpb24gbWFrZV9kaXJ0eShjb21wb25lbnQsIGkpIHtcblx0aWYgKGNvbXBvbmVudC4kJC5kaXJ0eVswXSA9PT0gLTEpIHtcblx0XHRkaXJ0eV9jb21wb25lbnRzLnB1c2goY29tcG9uZW50KTtcblx0XHRzY2hlZHVsZV91cGRhdGUoKTtcblx0XHRjb21wb25lbnQuJCQuZGlydHkuZmlsbCgwKTtcblx0fVxuXHRjb21wb25lbnQuJCQuZGlydHlbKGkgLyAzMSkgfCAwXSB8PSAxIDw8IGkgJSAzMTtcbn1cblxuLy8gVE9ETzogRG9jdW1lbnQgdGhlIG90aGVyIHBhcmFtc1xuLyoqXG4gKiBAcGFyYW0ge1N2ZWx0ZUNvbXBvbmVudH0gY29tcG9uZW50XG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9wdWJsaWMuanMnKS5Db21wb25lbnRDb25zdHJ1Y3Rvck9wdGlvbnN9IG9wdGlvbnNcbiAqXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi91dGlscy5qcycpWydub3RfZXF1YWwnXX0gbm90X2VxdWFsIFVzZWQgdG8gY29tcGFyZSBwcm9wcyBhbmQgc3RhdGUgdmFsdWVzLlxuICogQHBhcmFtIHsodGFyZ2V0OiBFbGVtZW50IHwgU2hhZG93Um9vdCkgPT4gdm9pZH0gW2FwcGVuZF9zdHlsZXNdIEZ1bmN0aW9uIHRoYXQgYXBwZW5kcyBzdHlsZXMgdG8gdGhlIERPTSB3aGVuIHRoZSBjb21wb25lbnQgaXMgZmlyc3QgaW5pdGlhbGlzZWQuXG4gKiBUaGlzIHdpbGwgYmUgdGhlIGBhZGRfY3NzYCBmdW5jdGlvbiBmcm9tIHRoZSBjb21waWxlZCBjb21wb25lbnQuXG4gKlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0KFxuXHRjb21wb25lbnQsXG5cdG9wdGlvbnMsXG5cdGluc3RhbmNlLFxuXHRjcmVhdGVfZnJhZ21lbnQsXG5cdG5vdF9lcXVhbCxcblx0cHJvcHMsXG5cdGFwcGVuZF9zdHlsZXMgPSBudWxsLFxuXHRkaXJ0eSA9IFstMV1cbikge1xuXHRjb25zdCBwYXJlbnRfY29tcG9uZW50ID0gY3VycmVudF9jb21wb25lbnQ7XG5cdHNldF9jdXJyZW50X2NvbXBvbmVudChjb21wb25lbnQpO1xuXHQvKiogQHR5cGUge2ltcG9ydCgnLi9wcml2YXRlLmpzJykuVCQkfSAqL1xuXHRjb25zdCAkJCA9IChjb21wb25lbnQuJCQgPSB7XG5cdFx0ZnJhZ21lbnQ6IG51bGwsXG5cdFx0Y3R4OiBbXSxcblx0XHQvLyBzdGF0ZVxuXHRcdHByb3BzLFxuXHRcdHVwZGF0ZTogbm9vcCxcblx0XHRub3RfZXF1YWwsXG5cdFx0Ym91bmQ6IGJsYW5rX29iamVjdCgpLFxuXHRcdC8vIGxpZmVjeWNsZVxuXHRcdG9uX21vdW50OiBbXSxcblx0XHRvbl9kZXN0cm95OiBbXSxcblx0XHRvbl9kaXNjb25uZWN0OiBbXSxcblx0XHRiZWZvcmVfdXBkYXRlOiBbXSxcblx0XHRhZnRlcl91cGRhdGU6IFtdLFxuXHRcdGNvbnRleHQ6IG5ldyBNYXAob3B0aW9ucy5jb250ZXh0IHx8IChwYXJlbnRfY29tcG9uZW50ID8gcGFyZW50X2NvbXBvbmVudC4kJC5jb250ZXh0IDogW10pKSxcblx0XHQvLyBldmVyeXRoaW5nIGVsc2Vcblx0XHRjYWxsYmFja3M6IGJsYW5rX29iamVjdCgpLFxuXHRcdGRpcnR5LFxuXHRcdHNraXBfYm91bmQ6IGZhbHNlLFxuXHRcdHJvb3Q6IG9wdGlvbnMudGFyZ2V0IHx8IHBhcmVudF9jb21wb25lbnQuJCQucm9vdFxuXHR9KTtcblx0YXBwZW5kX3N0eWxlcyAmJiBhcHBlbmRfc3R5bGVzKCQkLnJvb3QpO1xuXHRsZXQgcmVhZHkgPSBmYWxzZTtcblx0JCQuY3R4ID0gaW5zdGFuY2Vcblx0XHQ/IGluc3RhbmNlKGNvbXBvbmVudCwgb3B0aW9ucy5wcm9wcyB8fCB7fSwgKGksIHJldCwgLi4ucmVzdCkgPT4ge1xuXHRcdFx0XHRjb25zdCB2YWx1ZSA9IHJlc3QubGVuZ3RoID8gcmVzdFswXSA6IHJldDtcblx0XHRcdFx0aWYgKCQkLmN0eCAmJiBub3RfZXF1YWwoJCQuY3R4W2ldLCAoJCQuY3R4W2ldID0gdmFsdWUpKSkge1xuXHRcdFx0XHRcdGlmICghJCQuc2tpcF9ib3VuZCAmJiAkJC5ib3VuZFtpXSkgJCQuYm91bmRbaV0odmFsdWUpO1xuXHRcdFx0XHRcdGlmIChyZWFkeSkgbWFrZV9kaXJ0eShjb21wb25lbnQsIGkpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiByZXQ7XG5cdFx0ICB9KVxuXHRcdDogW107XG5cdCQkLnVwZGF0ZSgpO1xuXHRyZWFkeSA9IHRydWU7XG5cdHJ1bl9hbGwoJCQuYmVmb3JlX3VwZGF0ZSk7XG5cdC8vIGBmYWxzZWAgYXMgYSBzcGVjaWFsIGNhc2Ugb2Ygbm8gRE9NIGNvbXBvbmVudFxuXHQkJC5mcmFnbWVudCA9IGNyZWF0ZV9mcmFnbWVudCA/IGNyZWF0ZV9mcmFnbWVudCgkJC5jdHgpIDogZmFsc2U7XG5cdGlmIChvcHRpb25zLnRhcmdldCkge1xuXHRcdGlmIChvcHRpb25zLmh5ZHJhdGUpIHtcblx0XHRcdHN0YXJ0X2h5ZHJhdGluZygpO1xuXHRcdFx0Ly8gVE9ETzogd2hhdCBpcyB0aGUgY29ycmVjdCB0eXBlIGhlcmU/XG5cdFx0XHQvLyBAdHMtZXhwZWN0LWVycm9yXG5cdFx0XHRjb25zdCBub2RlcyA9IGNoaWxkcmVuKG9wdGlvbnMudGFyZ2V0KTtcblx0XHRcdCQkLmZyYWdtZW50ICYmICQkLmZyYWdtZW50Lmwobm9kZXMpO1xuXHRcdFx0bm9kZXMuZm9yRWFjaChkZXRhY2gpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuXHRcdFx0JCQuZnJhZ21lbnQgJiYgJCQuZnJhZ21lbnQuYygpO1xuXHRcdH1cblx0XHRpZiAob3B0aW9ucy5pbnRybykgdHJhbnNpdGlvbl9pbihjb21wb25lbnQuJCQuZnJhZ21lbnQpO1xuXHRcdG1vdW50X2NvbXBvbmVudChjb21wb25lbnQsIG9wdGlvbnMudGFyZ2V0LCBvcHRpb25zLmFuY2hvcik7XG5cdFx0ZW5kX2h5ZHJhdGluZygpO1xuXHRcdGZsdXNoKCk7XG5cdH1cblx0c2V0X2N1cnJlbnRfY29tcG9uZW50KHBhcmVudF9jb21wb25lbnQpO1xufVxuXG5leHBvcnQgbGV0IFN2ZWx0ZUVsZW1lbnQ7XG5cbmlmICh0eXBlb2YgSFRNTEVsZW1lbnQgPT09ICdmdW5jdGlvbicpIHtcblx0U3ZlbHRlRWxlbWVudCA9IGNsYXNzIGV4dGVuZHMgSFRNTEVsZW1lbnQge1xuXHRcdC8qKiBUaGUgU3ZlbHRlIGNvbXBvbmVudCBjb25zdHJ1Y3RvciAqL1xuXHRcdCQkY3Rvcjtcblx0XHQvKiogU2xvdHMgKi9cblx0XHQkJHM7XG5cdFx0LyoqIFRoZSBTdmVsdGUgY29tcG9uZW50IGluc3RhbmNlICovXG5cdFx0JCRjO1xuXHRcdC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgY3VzdG9tIGVsZW1lbnQgaXMgY29ubmVjdGVkICovXG5cdFx0JCRjbiA9IGZhbHNlO1xuXHRcdC8qKiBDb21wb25lbnQgcHJvcHMgZGF0YSAqL1xuXHRcdCQkZCA9IHt9O1xuXHRcdC8qKiBgdHJ1ZWAgaWYgY3VycmVudGx5IGluIHRoZSBwcm9jZXNzIG9mIHJlZmxlY3RpbmcgY29tcG9uZW50IHByb3BzIGJhY2sgdG8gYXR0cmlidXRlcyAqL1xuXHRcdCQkciA9IGZhbHNlO1xuXHRcdC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgQ3VzdG9tRWxlbWVudFByb3BEZWZpbml0aW9uPn0gUHJvcHMgZGVmaW5pdGlvbiAobmFtZSwgcmVmbGVjdGVkLCB0eXBlIGV0YykgKi9cblx0XHQkJHBfZCA9IHt9O1xuXHRcdC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgRnVuY3Rpb25bXT59IEV2ZW50IGxpc3RlbmVycyAqL1xuXHRcdCQkbCA9IHt9O1xuXHRcdC8qKiBAdHlwZSB7TWFwPEZ1bmN0aW9uLCBGdW5jdGlvbj59IEV2ZW50IGxpc3RlbmVyIHVuc3Vic2NyaWJlIGZ1bmN0aW9ucyAqL1xuXHRcdCQkbF91ID0gbmV3IE1hcCgpO1xuXG5cdFx0Y29uc3RydWN0b3IoJCRjb21wb25lbnRDdG9yLCAkJHNsb3RzLCB1c2Vfc2hhZG93X2RvbSkge1xuXHRcdFx0c3VwZXIoKTtcblx0XHRcdHRoaXMuJCRjdG9yID0gJCRjb21wb25lbnRDdG9yO1xuXHRcdFx0dGhpcy4kJHMgPSAkJHNsb3RzO1xuXHRcdFx0aWYgKHVzZV9zaGFkb3dfZG9tKSB7XG5cdFx0XHRcdHRoaXMuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nIH0pO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGFkZEV2ZW50TGlzdGVuZXIodHlwZSwgbGlzdGVuZXIsIG9wdGlvbnMpIHtcblx0XHRcdC8vIFdlIGNhbid0IGRldGVybWluZSB1cGZyb250IGlmIHRoZSBldmVudCBpcyBhIGN1c3RvbSBldmVudCBvciBub3QsIHNvIHdlIGhhdmUgdG9cblx0XHRcdC8vIGxpc3RlbiB0byBib3RoLiBJZiBzb21lb25lIHVzZXMgYSBjdXN0b20gZXZlbnQgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIGEgcmVndWxhclxuXHRcdFx0Ly8gYnJvd3NlciBldmVudCwgdGhpcyBmaXJlcyB0d2ljZSAtIHdlIGNhbid0IGF2b2lkIHRoYXQuXG5cdFx0XHR0aGlzLiQkbFt0eXBlXSA9IHRoaXMuJCRsW3R5cGVdIHx8IFtdO1xuXHRcdFx0dGhpcy4kJGxbdHlwZV0ucHVzaChsaXN0ZW5lcik7XG5cdFx0XHRpZiAodGhpcy4kJGMpIHtcblx0XHRcdFx0Y29uc3QgdW5zdWIgPSB0aGlzLiQkYy4kb24odHlwZSwgbGlzdGVuZXIpO1xuXHRcdFx0XHR0aGlzLiQkbF91LnNldChsaXN0ZW5lciwgdW5zdWIpO1xuXHRcdFx0fVxuXHRcdFx0c3VwZXIuYWRkRXZlbnRMaXN0ZW5lcih0eXBlLCBsaXN0ZW5lciwgb3B0aW9ucyk7XG5cdFx0fVxuXG5cdFx0cmVtb3ZlRXZlbnRMaXN0ZW5lcih0eXBlLCBsaXN0ZW5lciwgb3B0aW9ucykge1xuXHRcdFx0c3VwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcih0eXBlLCBsaXN0ZW5lciwgb3B0aW9ucyk7XG5cdFx0XHRpZiAodGhpcy4kJGMpIHtcblx0XHRcdFx0Y29uc3QgdW5zdWIgPSB0aGlzLiQkbF91LmdldChsaXN0ZW5lcik7XG5cdFx0XHRcdGlmICh1bnN1Yikge1xuXHRcdFx0XHRcdHVuc3ViKCk7XG5cdFx0XHRcdFx0dGhpcy4kJGxfdS5kZWxldGUobGlzdGVuZXIpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKSB7XG5cdFx0XHR0aGlzLiQkY24gPSB0cnVlO1xuXHRcdFx0aWYgKCF0aGlzLiQkYykge1xuXHRcdFx0XHQvLyBXZSB3YWl0IG9uZSB0aWNrIHRvIGxldCBwb3NzaWJsZSBjaGlsZCBzbG90IGVsZW1lbnRzIGJlIGNyZWF0ZWQvbW91bnRlZFxuXHRcdFx0XHRhd2FpdCBQcm9taXNlLnJlc29sdmUoKTtcblx0XHRcdFx0aWYgKCF0aGlzLiQkY24pIHtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblx0XHRcdFx0ZnVuY3Rpb24gY3JlYXRlX3Nsb3QobmFtZSkge1xuXHRcdFx0XHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRsZXQgbm9kZTtcblx0XHRcdFx0XHRcdGNvbnN0IG9iaiA9IHtcblx0XHRcdFx0XHRcdFx0YzogZnVuY3Rpb24gY3JlYXRlKCkge1xuXHRcdFx0XHRcdFx0XHRcdG5vZGUgPSBlbGVtZW50KCdzbG90Jyk7XG5cdFx0XHRcdFx0XHRcdFx0aWYgKG5hbWUgIT09ICdkZWZhdWx0Jykge1xuXHRcdFx0XHRcdFx0XHRcdFx0YXR0cihub2RlLCAnbmFtZScsIG5hbWUpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0LyoqXG5cdFx0XHRcdFx0XHRcdCAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHRhcmdldFxuXHRcdFx0XHRcdFx0XHQgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBbYW5jaG9yXVxuXHRcdFx0XHRcdFx0XHQgKi9cblx0XHRcdFx0XHRcdFx0bTogZnVuY3Rpb24gbW91bnQodGFyZ2V0LCBhbmNob3IpIHtcblx0XHRcdFx0XHRcdFx0XHRpbnNlcnQodGFyZ2V0LCBub2RlLCBhbmNob3IpO1xuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRkOiBmdW5jdGlvbiBkZXN0cm95KGRldGFjaGluZykge1xuXHRcdFx0XHRcdFx0XHRcdGlmIChkZXRhY2hpbmcpIHtcblx0XHRcdFx0XHRcdFx0XHRcdGRldGFjaChub2RlKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0XHRyZXR1cm4gb2JqO1xuXHRcdFx0XHRcdH07XG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc3QgJCRzbG90cyA9IHt9O1xuXHRcdFx0XHRjb25zdCBleGlzdGluZ19zbG90cyA9IGdldF9jdXN0b21fZWxlbWVudHNfc2xvdHModGhpcyk7XG5cdFx0XHRcdGZvciAoY29uc3QgbmFtZSBvZiB0aGlzLiQkcykge1xuXHRcdFx0XHRcdGlmIChuYW1lIGluIGV4aXN0aW5nX3Nsb3RzKSB7XG5cdFx0XHRcdFx0XHQkJHNsb3RzW25hbWVdID0gW2NyZWF0ZV9zbG90KG5hbWUpXTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0Zm9yIChjb25zdCBhdHRyaWJ1dGUgb2YgdGhpcy5hdHRyaWJ1dGVzKSB7XG5cdFx0XHRcdFx0Ly8gdGhpcy4kJGRhdGEgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIHRoaXMuYXR0cmlidXRlc1xuXHRcdFx0XHRcdGNvbnN0IG5hbWUgPSB0aGlzLiQkZ19wKGF0dHJpYnV0ZS5uYW1lKTtcblx0XHRcdFx0XHRpZiAoIShuYW1lIGluIHRoaXMuJCRkKSkge1xuXHRcdFx0XHRcdFx0dGhpcy4kJGRbbmFtZV0gPSBnZXRfY3VzdG9tX2VsZW1lbnRfdmFsdWUobmFtZSwgYXR0cmlidXRlLnZhbHVlLCB0aGlzLiQkcF9kLCAndG9Qcm9wJyk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuJCRjID0gbmV3IHRoaXMuJCRjdG9yKHtcblx0XHRcdFx0XHR0YXJnZXQ6IHRoaXMuc2hhZG93Um9vdCB8fCB0aGlzLFxuXHRcdFx0XHRcdHByb3BzOiB7XG5cdFx0XHRcdFx0XHQuLi50aGlzLiQkZCxcblx0XHRcdFx0XHRcdCQkc2xvdHMsXG5cdFx0XHRcdFx0XHQkJHNjb3BlOiB7XG5cdFx0XHRcdFx0XHRcdGN0eDogW11cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1xuXG5cdFx0XHRcdC8vIFJlZmxlY3QgY29tcG9uZW50IHByb3BzIGFzIGF0dHJpYnV0ZXNcblx0XHRcdFx0Y29uc3QgcmVmbGVjdF9hdHRyaWJ1dGVzID0gKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuJCRyID0gdHJ1ZTtcblx0XHRcdFx0XHRmb3IgKGNvbnN0IGtleSBpbiB0aGlzLiQkcF9kKSB7XG5cdFx0XHRcdFx0XHR0aGlzLiQkZFtrZXldID0gdGhpcy4kJGMuJCQuY3R4W3RoaXMuJCRjLiQkLnByb3BzW2tleV1dO1xuXHRcdFx0XHRcdFx0aWYgKHRoaXMuJCRwX2Rba2V5XS5yZWZsZWN0KSB7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IGF0dHJpYnV0ZV92YWx1ZSA9IGdldF9jdXN0b21fZWxlbWVudF92YWx1ZShcblx0XHRcdFx0XHRcdFx0XHRrZXksXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy4kJGRba2V5XSxcblx0XHRcdFx0XHRcdFx0XHR0aGlzLiQkcF9kLFxuXHRcdFx0XHRcdFx0XHRcdCd0b0F0dHJpYnV0ZSdcblx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0aWYgKGF0dHJpYnV0ZV92YWx1ZSA9PSBudWxsKSB7XG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5yZW1vdmVBdHRyaWJ1dGUodGhpcy4kJHBfZFtrZXldLmF0dHJpYnV0ZSB8fCBrZXkpO1xuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdHRoaXMuc2V0QXR0cmlidXRlKHRoaXMuJCRwX2Rba2V5XS5hdHRyaWJ1dGUgfHwga2V5LCBhdHRyaWJ1dGVfdmFsdWUpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHRoaXMuJCRyID0gZmFsc2U7XG5cdFx0XHRcdH07XG5cdFx0XHRcdHRoaXMuJCRjLiQkLmFmdGVyX3VwZGF0ZS5wdXNoKHJlZmxlY3RfYXR0cmlidXRlcyk7XG5cdFx0XHRcdHJlZmxlY3RfYXR0cmlidXRlcygpOyAvLyBvbmNlIGluaXRpYWxseSBiZWNhdXNlIGFmdGVyX3VwZGF0ZSBpcyBhZGRlZCB0b28gbGF0ZSBmb3IgZmlyc3QgcmVuZGVyXG5cblx0XHRcdFx0Zm9yIChjb25zdCB0eXBlIGluIHRoaXMuJCRsKSB7XG5cdFx0XHRcdFx0Zm9yIChjb25zdCBsaXN0ZW5lciBvZiB0aGlzLiQkbFt0eXBlXSkge1xuXHRcdFx0XHRcdFx0Y29uc3QgdW5zdWIgPSB0aGlzLiQkYy4kb24odHlwZSwgbGlzdGVuZXIpO1xuXHRcdFx0XHRcdFx0dGhpcy4kJGxfdS5zZXQobGlzdGVuZXIsIHVuc3ViKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy4kJGwgPSB7fTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBXZSBkb24ndCBuZWVkIHRoaXMgd2hlbiB3b3JraW5nIHdpdGhpbiBTdmVsdGUgY29kZSwgYnV0IGZvciBjb21wYXRpYmlsaXR5IG9mIHBlb3BsZSB1c2luZyB0aGlzIG91dHNpZGUgb2YgU3ZlbHRlXG5cdFx0Ly8gYW5kIHNldHRpbmcgYXR0cmlidXRlcyB0aHJvdWdoIHNldEF0dHJpYnV0ZSBldGMsIHRoaXMgaXMgaGVscGZ1bFxuXHRcdGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhhdHRyLCBfb2xkVmFsdWUsIG5ld1ZhbHVlKSB7XG5cdFx0XHRpZiAodGhpcy4kJHIpIHJldHVybjtcblx0XHRcdGF0dHIgPSB0aGlzLiQkZ19wKGF0dHIpO1xuXHRcdFx0dGhpcy4kJGRbYXR0cl0gPSBnZXRfY3VzdG9tX2VsZW1lbnRfdmFsdWUoYXR0ciwgbmV3VmFsdWUsIHRoaXMuJCRwX2QsICd0b1Byb3AnKTtcblx0XHRcdHRoaXMuJCRjPy4kc2V0KHsgW2F0dHJdOiB0aGlzLiQkZFthdHRyXSB9KTtcblx0XHR9XG5cblx0XHRkaXNjb25uZWN0ZWRDYWxsYmFjaygpIHtcblx0XHRcdHRoaXMuJCRjbiA9IGZhbHNlO1xuXHRcdFx0Ly8gSW4gYSBtaWNyb3Rhc2ssIGJlY2F1c2UgdGhpcyBjb3VsZCBiZSBhIG1vdmUgd2l0aGluIHRoZSBET01cblx0XHRcdFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuXHRcdFx0XHRpZiAoIXRoaXMuJCRjbikge1xuXHRcdFx0XHRcdHRoaXMuJCRjLiRkZXN0cm95KCk7XG5cdFx0XHRcdFx0dGhpcy4kJGMgPSB1bmRlZmluZWQ7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdCQkZ19wKGF0dHJpYnV0ZV9uYW1lKSB7XG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHRPYmplY3Qua2V5cyh0aGlzLiQkcF9kKS5maW5kKFxuXHRcdFx0XHRcdChrZXkpID0+XG5cdFx0XHRcdFx0XHR0aGlzLiQkcF9kW2tleV0uYXR0cmlidXRlID09PSBhdHRyaWJ1dGVfbmFtZSB8fFxuXHRcdFx0XHRcdFx0KCF0aGlzLiQkcF9kW2tleV0uYXR0cmlidXRlICYmIGtleS50b0xvd2VyQ2FzZSgpID09PSBhdHRyaWJ1dGVfbmFtZSlcblx0XHRcdFx0KSB8fCBhdHRyaWJ1dGVfbmFtZVxuXHRcdFx0KTtcblx0XHR9XG5cdH07XG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHByb3BcbiAqIEBwYXJhbSB7YW55fSB2YWx1ZVxuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBDdXN0b21FbGVtZW50UHJvcERlZmluaXRpb24+fSBwcm9wc19kZWZpbml0aW9uXG4gKiBAcGFyYW0geyd0b0F0dHJpYnV0ZScgfCAndG9Qcm9wJ30gW3RyYW5zZm9ybV1cbiAqL1xuZnVuY3Rpb24gZ2V0X2N1c3RvbV9lbGVtZW50X3ZhbHVlKHByb3AsIHZhbHVlLCBwcm9wc19kZWZpbml0aW9uLCB0cmFuc2Zvcm0pIHtcblx0Y29uc3QgdHlwZSA9IHByb3BzX2RlZmluaXRpb25bcHJvcF0/LnR5cGU7XG5cdHZhbHVlID0gdHlwZSA9PT0gJ0Jvb2xlYW4nICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nID8gdmFsdWUgIT0gbnVsbCA6IHZhbHVlO1xuXHRpZiAoIXRyYW5zZm9ybSB8fCAhcHJvcHNfZGVmaW5pdGlvbltwcm9wXSkge1xuXHRcdHJldHVybiB2YWx1ZTtcblx0fSBlbHNlIGlmICh0cmFuc2Zvcm0gPT09ICd0b0F0dHJpYnV0ZScpIHtcblx0XHRzd2l0Y2ggKHR5cGUpIHtcblx0XHRcdGNhc2UgJ09iamVjdCc6XG5cdFx0XHRjYXNlICdBcnJheSc6XG5cdFx0XHRcdHJldHVybiB2YWx1ZSA9PSBudWxsID8gbnVsbCA6IEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcblx0XHRcdGNhc2UgJ0Jvb2xlYW4nOlxuXHRcdFx0XHRyZXR1cm4gdmFsdWUgPyAnJyA6IG51bGw7XG5cdFx0XHRjYXNlICdOdW1iZXInOlxuXHRcdFx0XHRyZXR1cm4gdmFsdWUgPT0gbnVsbCA/IG51bGwgOiB2YWx1ZTtcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdHJldHVybiB2YWx1ZTtcblx0XHR9XG5cdH0gZWxzZSB7XG5cdFx0c3dpdGNoICh0eXBlKSB7XG5cdFx0XHRjYXNlICdPYmplY3QnOlxuXHRcdFx0Y2FzZSAnQXJyYXknOlxuXHRcdFx0XHRyZXR1cm4gdmFsdWUgJiYgSlNPTi5wYXJzZSh2YWx1ZSk7XG5cdFx0XHRjYXNlICdCb29sZWFuJzpcblx0XHRcdFx0cmV0dXJuIHZhbHVlOyAvLyBjb252ZXJzaW9uIGFscmVhZHkgaGFuZGxlZCBhYm92ZVxuXHRcdFx0Y2FzZSAnTnVtYmVyJzpcblx0XHRcdFx0cmV0dXJuIHZhbHVlICE9IG51bGwgPyArdmFsdWUgOiB2YWx1ZTtcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdHJldHVybiB2YWx1ZTtcblx0XHR9XG5cdH1cbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqXG4gKiBUdXJuIGEgU3ZlbHRlIGNvbXBvbmVudCBpbnRvIGEgY3VzdG9tIGVsZW1lbnQuXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9wdWJsaWMuanMnKS5Db21wb25lbnRUeXBlfSBDb21wb25lbnQgIEEgU3ZlbHRlIGNvbXBvbmVudCBjb25zdHJ1Y3RvclxuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBDdXN0b21FbGVtZW50UHJvcERlZmluaXRpb24+fSBwcm9wc19kZWZpbml0aW9uICBUaGUgcHJvcHMgdG8gb2JzZXJ2ZVxuICogQHBhcmFtIHtzdHJpbmdbXX0gc2xvdHMgIFRoZSBzbG90cyB0byBjcmVhdGVcbiAqIEBwYXJhbSB7c3RyaW5nW119IGFjY2Vzc29ycyAgT3RoZXIgYWNjZXNzb3JzIGJlc2lkZXMgdGhlIG9uZXMgZm9yIHByb3BzIHRoZSBjb21wb25lbnQgaGFzXG4gKiBAcGFyYW0ge2Jvb2xlYW59IHVzZV9zaGFkb3dfZG9tICBXaGV0aGVyIHRvIHVzZSBzaGFkb3cgRE9NXG4gKiBAcGFyYW0geyhjZTogbmV3ICgpID0+IEhUTUxFbGVtZW50KSA9PiBuZXcgKCkgPT4gSFRNTEVsZW1lbnR9IFtleHRlbmRdXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVfY3VzdG9tX2VsZW1lbnQoXG5cdENvbXBvbmVudCxcblx0cHJvcHNfZGVmaW5pdGlvbixcblx0c2xvdHMsXG5cdGFjY2Vzc29ycyxcblx0dXNlX3NoYWRvd19kb20sXG5cdGV4dGVuZFxuKSB7XG5cdGxldCBDbGFzcyA9IGNsYXNzIGV4dGVuZHMgU3ZlbHRlRWxlbWVudCB7XG5cdFx0Y29uc3RydWN0b3IoKSB7XG5cdFx0XHRzdXBlcihDb21wb25lbnQsIHNsb3RzLCB1c2Vfc2hhZG93X2RvbSk7XG5cdFx0XHR0aGlzLiQkcF9kID0gcHJvcHNfZGVmaW5pdGlvbjtcblx0XHR9XG5cdFx0c3RhdGljIGdldCBvYnNlcnZlZEF0dHJpYnV0ZXMoKSB7XG5cdFx0XHRyZXR1cm4gT2JqZWN0LmtleXMocHJvcHNfZGVmaW5pdGlvbikubWFwKChrZXkpID0+XG5cdFx0XHRcdChwcm9wc19kZWZpbml0aW9uW2tleV0uYXR0cmlidXRlIHx8IGtleSkudG9Mb3dlckNhc2UoKVxuXHRcdFx0KTtcblx0XHR9XG5cdH07XG5cdE9iamVjdC5rZXlzKHByb3BzX2RlZmluaXRpb24pLmZvckVhY2goKHByb3ApID0+IHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoQ2xhc3MucHJvdG90eXBlLCBwcm9wLCB7XG5cdFx0XHRnZXQoKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLiQkYyAmJiBwcm9wIGluIHRoaXMuJCRjID8gdGhpcy4kJGNbcHJvcF0gOiB0aGlzLiQkZFtwcm9wXTtcblx0XHRcdH0sXG5cdFx0XHRzZXQodmFsdWUpIHtcblx0XHRcdFx0dmFsdWUgPSBnZXRfY3VzdG9tX2VsZW1lbnRfdmFsdWUocHJvcCwgdmFsdWUsIHByb3BzX2RlZmluaXRpb24pO1xuXHRcdFx0XHR0aGlzLiQkZFtwcm9wXSA9IHZhbHVlO1xuXHRcdFx0XHR0aGlzLiQkYz8uJHNldCh7IFtwcm9wXTogdmFsdWUgfSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH0pO1xuXHRhY2Nlc3NvcnMuZm9yRWFjaCgoYWNjZXNzb3IpID0+IHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoQ2xhc3MucHJvdG90eXBlLCBhY2Nlc3Nvciwge1xuXHRcdFx0Z2V0KCkge1xuXHRcdFx0XHRyZXR1cm4gdGhpcy4kJGM/LlthY2Nlc3Nvcl07XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH0pO1xuXHRpZiAoZXh0ZW5kKSB7XG5cdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciAtIGFzc2lnbmluZyBoZXJlIGlzIGZpbmVcblx0XHRDbGFzcyA9IGV4dGVuZChDbGFzcyk7XG5cdH1cblx0Q29tcG9uZW50LmVsZW1lbnQgPSAvKiogQHR5cGUge2FueX0gKi8gKENsYXNzKTtcblx0cmV0dXJuIENsYXNzO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIFN2ZWx0ZSBjb21wb25lbnRzLiBVc2VkIHdoZW4gZGV2PWZhbHNlLlxuICpcbiAqIEB0ZW1wbGF0ZSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW1Byb3BzPWFueV1cbiAqIEB0ZW1wbGF0ZSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW0V2ZW50cz1hbnldXG4gKi9cbmV4cG9ydCBjbGFzcyBTdmVsdGVDb21wb25lbnQge1xuXHQvKipcblx0ICogIyMjIFBSSVZBVEUgQVBJXG5cdCAqXG5cdCAqIERvIG5vdCB1c2UsIG1heSBjaGFuZ2UgYXQgYW55IHRpbWVcblx0ICpcblx0ICogQHR5cGUge2FueX1cblx0ICovXG5cdCQkID0gdW5kZWZpbmVkO1xuXHQvKipcblx0ICogIyMjIFBSSVZBVEUgQVBJXG5cdCAqXG5cdCAqIERvIG5vdCB1c2UsIG1heSBjaGFuZ2UgYXQgYW55IHRpbWVcblx0ICpcblx0ICogQHR5cGUge2FueX1cblx0ICovXG5cdCQkc2V0ID0gdW5kZWZpbmVkO1xuXG5cdC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cblx0JGRlc3Ryb3koKSB7XG5cdFx0ZGVzdHJveV9jb21wb25lbnQodGhpcywgMSk7XG5cdFx0dGhpcy4kZGVzdHJveSA9IG5vb3A7XG5cdH1cblxuXHQvKipcblx0ICogQHRlbXBsYXRlIHtFeHRyYWN0PGtleW9mIEV2ZW50cywgc3RyaW5nPn0gS1xuXHQgKiBAcGFyYW0ge0t9IHR5cGVcblx0ICogQHBhcmFtIHsoKGU6IEV2ZW50c1tLXSkgPT4gdm9pZCkgfCBudWxsIHwgdW5kZWZpbmVkfSBjYWxsYmFja1xuXHQgKiBAcmV0dXJucyB7KCkgPT4gdm9pZH1cblx0ICovXG5cdCRvbih0eXBlLCBjYWxsYmFjaykge1xuXHRcdGlmICghaXNfZnVuY3Rpb24oY2FsbGJhY2spKSB7XG5cdFx0XHRyZXR1cm4gbm9vcDtcblx0XHR9XG5cdFx0Y29uc3QgY2FsbGJhY2tzID0gdGhpcy4kJC5jYWxsYmFja3NbdHlwZV0gfHwgKHRoaXMuJCQuY2FsbGJhY2tzW3R5cGVdID0gW10pO1xuXHRcdGNhbGxiYWNrcy5wdXNoKGNhbGxiYWNrKTtcblx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0Y29uc3QgaW5kZXggPSBjYWxsYmFja3MuaW5kZXhPZihjYWxsYmFjayk7XG5cdFx0XHRpZiAoaW5kZXggIT09IC0xKSBjYWxsYmFja3Muc3BsaWNlKGluZGV4LCAxKTtcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEBwYXJhbSB7UGFydGlhbDxQcm9wcz59IHByb3BzXG5cdCAqIEByZXR1cm5zIHt2b2lkfVxuXHQgKi9cblx0JHNldChwcm9wcykge1xuXHRcdGlmICh0aGlzLiQkc2V0ICYmICFpc19lbXB0eShwcm9wcykpIHtcblx0XHRcdHRoaXMuJCQuc2tpcF9ib3VuZCA9IHRydWU7XG5cdFx0XHR0aGlzLiQkc2V0KHByb3BzKTtcblx0XHRcdHRoaXMuJCQuc2tpcF9ib3VuZCA9IGZhbHNlO1xuXHRcdH1cblx0fVxufVxuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEN1c3RvbUVsZW1lbnRQcm9wRGVmaW5pdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IFthdHRyaWJ1dGVdXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtyZWZsZWN0XVxuICogQHByb3BlcnR5IHsnU3RyaW5nJ3wnQm9vbGVhbid8J051bWJlcid8J0FycmF5J3wnT2JqZWN0J30gW3R5cGVdXG4gKi9cbiIsICIvLyBnZW5lcmF0ZWQgZHVyaW5nIHJlbGVhc2UsIGRvIG5vdCBtb2RpZnlcblxuLyoqXG4gKiBUaGUgY3VycmVudCB2ZXJzaW9uLCBhcyBzZXQgaW4gcGFja2FnZS5qc29uLlxuICpcbiAqIGh0dHBzOi8vc3ZlbHRlLmRldi9kb2NzL3N2ZWx0ZS1jb21waWxlciNzdmVsdGUtdmVyc2lvblxuICogQHR5cGUge3N0cmluZ31cbiAqL1xuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSAnNC4yLjEnO1xuZXhwb3J0IGNvbnN0IFBVQkxJQ19WRVJTSU9OID0gJzQnO1xuIiwgImltcG9ydCB7XG5cdGN1c3RvbV9ldmVudCxcblx0YXBwZW5kLFxuXHRhcHBlbmRfaHlkcmF0aW9uLFxuXHRpbnNlcnQsXG5cdGluc2VydF9oeWRyYXRpb24sXG5cdGRldGFjaCxcblx0bGlzdGVuLFxuXHRhdHRyXG59IGZyb20gJy4vZG9tLmpzJztcbmltcG9ydCB7IFN2ZWx0ZUNvbXBvbmVudCB9IGZyb20gJy4vQ29tcG9uZW50LmpzJztcbmltcG9ydCB7IGlzX3ZvaWQgfSBmcm9tICcuLi8uLi9zaGFyZWQvdXRpbHMvbmFtZXMuanMnO1xuaW1wb3J0IHsgVkVSU0lPTiB9IGZyb20gJy4uLy4uL3NoYXJlZC92ZXJzaW9uLmpzJztcbmltcG9ydCB7IGNvbnRlbnRlZGl0YWJsZV90cnV0aHlfdmFsdWVzIH0gZnJvbSAnLi91dGlscy5qcyc7XG5pbXBvcnQgeyBlbnN1cmVfYXJyYXlfbGlrZSB9IGZyb20gJy4vZWFjaC5qcyc7XG5cbi8qKlxuICogQHRlbXBsYXRlIFRcbiAqIEBwYXJhbSB7c3RyaW5nfSB0eXBlXG4gKiBAcGFyYW0ge1R9IFtkZXRhaWxdXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpc3BhdGNoX2Rldih0eXBlLCBkZXRhaWwpIHtcblx0ZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChjdXN0b21fZXZlbnQodHlwZSwgeyB2ZXJzaW9uOiBWRVJTSU9OLCAuLi5kZXRhaWwgfSwgeyBidWJibGVzOiB0cnVlIH0pKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge05vZGV9IHRhcmdldFxuICogQHBhcmFtIHtOb2RlfSBub2RlXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZF9kZXYodGFyZ2V0LCBub2RlKSB7XG5cdGRpc3BhdGNoX2RldignU3ZlbHRlRE9NSW5zZXJ0JywgeyB0YXJnZXQsIG5vZGUgfSk7XG5cdGFwcGVuZCh0YXJnZXQsIG5vZGUpO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7Tm9kZX0gdGFyZ2V0XG4gKiBAcGFyYW0ge05vZGV9IG5vZGVcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kX2h5ZHJhdGlvbl9kZXYodGFyZ2V0LCBub2RlKSB7XG5cdGRpc3BhdGNoX2RldignU3ZlbHRlRE9NSW5zZXJ0JywgeyB0YXJnZXQsIG5vZGUgfSk7XG5cdGFwcGVuZF9oeWRyYXRpb24odGFyZ2V0LCBub2RlKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge05vZGV9IHRhcmdldFxuICogQHBhcmFtIHtOb2RlfSBub2RlXG4gKiBAcGFyYW0ge05vZGV9IFthbmNob3JdXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluc2VydF9kZXYodGFyZ2V0LCBub2RlLCBhbmNob3IpIHtcblx0ZGlzcGF0Y2hfZGV2KCdTdmVsdGVET01JbnNlcnQnLCB7IHRhcmdldCwgbm9kZSwgYW5jaG9yIH0pO1xuXHRpbnNlcnQodGFyZ2V0LCBub2RlLCBhbmNob3IpO1xufVxuXG4vKiogQHBhcmFtIHtOb2RlfSB0YXJnZXRcbiAqIEBwYXJhbSB7Tm9kZX0gbm9kZVxuICogQHBhcmFtIHtOb2RlfSBbYW5jaG9yXVxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRfaHlkcmF0aW9uX2Rldih0YXJnZXQsIG5vZGUsIGFuY2hvcikge1xuXHRkaXNwYXRjaF9kZXYoJ1N2ZWx0ZURPTUluc2VydCcsIHsgdGFyZ2V0LCBub2RlLCBhbmNob3IgfSk7XG5cdGluc2VydF9oeWRyYXRpb24odGFyZ2V0LCBub2RlLCBhbmNob3IpO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7Tm9kZX0gbm9kZVxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXRhY2hfZGV2KG5vZGUpIHtcblx0ZGlzcGF0Y2hfZGV2KCdTdmVsdGVET01SZW1vdmUnLCB7IG5vZGUgfSk7XG5cdGRldGFjaChub2RlKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge05vZGV9IGJlZm9yZVxuICogQHBhcmFtIHtOb2RlfSBhZnRlclxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXRhY2hfYmV0d2Vlbl9kZXYoYmVmb3JlLCBhZnRlcikge1xuXHR3aGlsZSAoYmVmb3JlLm5leHRTaWJsaW5nICYmIGJlZm9yZS5uZXh0U2libGluZyAhPT0gYWZ0ZXIpIHtcblx0XHRkZXRhY2hfZGV2KGJlZm9yZS5uZXh0U2libGluZyk7XG5cdH1cbn1cblxuLyoqXG4gKiBAcGFyYW0ge05vZGV9IGFmdGVyXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRldGFjaF9iZWZvcmVfZGV2KGFmdGVyKSB7XG5cdHdoaWxlIChhZnRlci5wcmV2aW91c1NpYmxpbmcpIHtcblx0XHRkZXRhY2hfZGV2KGFmdGVyLnByZXZpb3VzU2libGluZyk7XG5cdH1cbn1cblxuLyoqXG4gKiBAcGFyYW0ge05vZGV9IGJlZm9yZVxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXRhY2hfYWZ0ZXJfZGV2KGJlZm9yZSkge1xuXHR3aGlsZSAoYmVmb3JlLm5leHRTaWJsaW5nKSB7XG5cdFx0ZGV0YWNoX2RldihiZWZvcmUubmV4dFNpYmxpbmcpO1xuXHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHtOb2RlfSBub2RlXG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnRcbiAqIEBwYXJhbSB7RXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdH0gaGFuZGxlclxuICogQHBhcmFtIHtib29sZWFuIHwgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgfCBFdmVudExpc3RlbmVyT3B0aW9uc30gW29wdGlvbnNdXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtoYXNfcHJldmVudF9kZWZhdWx0XVxuICogQHBhcmFtIHtib29sZWFufSBbaGFzX3N0b3BfcHJvcGFnYXRpb25dXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtoYXNfc3RvcF9pbW1lZGlhdGVfcHJvcGFnYXRpb25dXG4gKiBAcmV0dXJucyB7KCkgPT4gdm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxpc3Rlbl9kZXYoXG5cdG5vZGUsXG5cdGV2ZW50LFxuXHRoYW5kbGVyLFxuXHRvcHRpb25zLFxuXHRoYXNfcHJldmVudF9kZWZhdWx0LFxuXHRoYXNfc3RvcF9wcm9wYWdhdGlvbixcblx0aGFzX3N0b3BfaW1tZWRpYXRlX3Byb3BhZ2F0aW9uXG4pIHtcblx0Y29uc3QgbW9kaWZpZXJzID1cblx0XHRvcHRpb25zID09PSB0cnVlID8gWydjYXB0dXJlJ10gOiBvcHRpb25zID8gQXJyYXkuZnJvbShPYmplY3Qua2V5cyhvcHRpb25zKSkgOiBbXTtcblx0aWYgKGhhc19wcmV2ZW50X2RlZmF1bHQpIG1vZGlmaWVycy5wdXNoKCdwcmV2ZW50RGVmYXVsdCcpO1xuXHRpZiAoaGFzX3N0b3BfcHJvcGFnYXRpb24pIG1vZGlmaWVycy5wdXNoKCdzdG9wUHJvcGFnYXRpb24nKTtcblx0aWYgKGhhc19zdG9wX2ltbWVkaWF0ZV9wcm9wYWdhdGlvbikgbW9kaWZpZXJzLnB1c2goJ3N0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbicpO1xuXHRkaXNwYXRjaF9kZXYoJ1N2ZWx0ZURPTUFkZEV2ZW50TGlzdGVuZXInLCB7IG5vZGUsIGV2ZW50LCBoYW5kbGVyLCBtb2RpZmllcnMgfSk7XG5cdGNvbnN0IGRpc3Bvc2UgPSBsaXN0ZW4obm9kZSwgZXZlbnQsIGhhbmRsZXIsIG9wdGlvbnMpO1xuXHRyZXR1cm4gKCkgPT4ge1xuXHRcdGRpc3BhdGNoX2RldignU3ZlbHRlRE9NUmVtb3ZlRXZlbnRMaXN0ZW5lcicsIHsgbm9kZSwgZXZlbnQsIGhhbmRsZXIsIG1vZGlmaWVycyB9KTtcblx0XHRkaXNwb3NlKCk7XG5cdH07XG59XG5cbi8qKlxuICogQHBhcmFtIHtFbGVtZW50fSBub2RlXG4gKiBAcGFyYW0ge3N0cmluZ30gYXR0cmlidXRlXG4gKiBAcGFyYW0ge3N0cmluZ30gW3ZhbHVlXVxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhdHRyX2Rldihub2RlLCBhdHRyaWJ1dGUsIHZhbHVlKSB7XG5cdGF0dHIobm9kZSwgYXR0cmlidXRlLCB2YWx1ZSk7XG5cdGlmICh2YWx1ZSA9PSBudWxsKSBkaXNwYXRjaF9kZXYoJ1N2ZWx0ZURPTVJlbW92ZUF0dHJpYnV0ZScsIHsgbm9kZSwgYXR0cmlidXRlIH0pO1xuXHRlbHNlIGRpc3BhdGNoX2RldignU3ZlbHRlRE9NU2V0QXR0cmlidXRlJywgeyBub2RlLCBhdHRyaWJ1dGUsIHZhbHVlIH0pO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5XG4gKiBAcGFyYW0ge2FueX0gW3ZhbHVlXVxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm9wX2Rldihub2RlLCBwcm9wZXJ0eSwgdmFsdWUpIHtcblx0bm9kZVtwcm9wZXJ0eV0gPSB2YWx1ZTtcblx0ZGlzcGF0Y2hfZGV2KCdTdmVsdGVET01TZXRQcm9wZXJ0eScsIHsgbm9kZSwgcHJvcGVydHksIHZhbHVlIH0pO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IG5vZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eVxuICogQHBhcmFtIHthbnl9IFt2YWx1ZV1cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZGF0YXNldF9kZXYobm9kZSwgcHJvcGVydHksIHZhbHVlKSB7XG5cdG5vZGUuZGF0YXNldFtwcm9wZXJ0eV0gPSB2YWx1ZTtcblx0ZGlzcGF0Y2hfZGV2KCdTdmVsdGVET01TZXREYXRhc2V0JywgeyBub2RlLCBwcm9wZXJ0eSwgdmFsdWUgfSk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtUZXh0fSB0ZXh0XG4gKiBAcGFyYW0ge3Vua25vd259IGRhdGFcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0X2RhdGFfZGV2KHRleHQsIGRhdGEpIHtcblx0ZGF0YSA9ICcnICsgZGF0YTtcblx0aWYgKHRleHQuZGF0YSA9PT0gZGF0YSkgcmV0dXJuO1xuXHRkaXNwYXRjaF9kZXYoJ1N2ZWx0ZURPTVNldERhdGEnLCB7IG5vZGU6IHRleHQsIGRhdGEgfSk7XG5cdHRleHQuZGF0YSA9IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyAoZGF0YSk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtUZXh0fSB0ZXh0XG4gKiBAcGFyYW0ge3Vua25vd259IGRhdGFcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0X2RhdGFfY29udGVudGVkaXRhYmxlX2Rldih0ZXh0LCBkYXRhKSB7XG5cdGRhdGEgPSAnJyArIGRhdGE7XG5cdGlmICh0ZXh0Lndob2xlVGV4dCA9PT0gZGF0YSkgcmV0dXJuO1xuXHRkaXNwYXRjaF9kZXYoJ1N2ZWx0ZURPTVNldERhdGEnLCB7IG5vZGU6IHRleHQsIGRhdGEgfSk7XG5cdHRleHQuZGF0YSA9IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyAoZGF0YSk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtUZXh0fSB0ZXh0XG4gKiBAcGFyYW0ge3Vua25vd259IGRhdGFcbiAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyX3ZhbHVlXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldF9kYXRhX21heWJlX2NvbnRlbnRlZGl0YWJsZV9kZXYodGV4dCwgZGF0YSwgYXR0cl92YWx1ZSkge1xuXHRpZiAofmNvbnRlbnRlZGl0YWJsZV90cnV0aHlfdmFsdWVzLmluZGV4T2YoYXR0cl92YWx1ZSkpIHtcblx0XHRzZXRfZGF0YV9jb250ZW50ZWRpdGFibGVfZGV2KHRleHQsIGRhdGEpO1xuXHR9IGVsc2Uge1xuXHRcdHNldF9kYXRhX2Rldih0ZXh0LCBkYXRhKTtcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZW5zdXJlX2FycmF5X2xpa2VfZGV2KGFyZykge1xuXHRpZiAoXG5cdFx0dHlwZW9mIGFyZyAhPT0gJ3N0cmluZycgJiZcblx0XHQhKGFyZyAmJiB0eXBlb2YgYXJnID09PSAnb2JqZWN0JyAmJiAnbGVuZ3RoJyBpbiBhcmcpICYmXG5cdFx0ISh0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIGFyZyAmJiBTeW1ib2wuaXRlcmF0b3IgaW4gYXJnKVxuXHQpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoJ3sjZWFjaH0gb25seSB3b3JrcyB3aXRoIGl0ZXJhYmxlIHZhbHVlcy4nKTtcblx0fVxuXHRyZXR1cm4gZW5zdXJlX2FycmF5X2xpa2UoYXJnKTtcbn1cblxuLyoqXG4gKiBAcmV0dXJucyB7dm9pZH0gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZV9zbG90cyhuYW1lLCBzbG90LCBrZXlzKSB7XG5cdGZvciAoY29uc3Qgc2xvdF9rZXkgb2YgT2JqZWN0LmtleXMoc2xvdCkpIHtcblx0XHRpZiAoIX5rZXlzLmluZGV4T2Yoc2xvdF9rZXkpKSB7XG5cdFx0XHRjb25zb2xlLndhcm4oYDwke25hbWV9PiByZWNlaXZlZCBhbiB1bmV4cGVjdGVkIHNsb3QgXCIke3Nsb3Rfa2V5fVwiLmApO1xuXHRcdH1cblx0fVxufVxuXG4vKipcbiAqIEBwYXJhbSB7dW5rbm93bn0gdGFnXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlX2R5bmFtaWNfZWxlbWVudCh0YWcpIHtcblx0Y29uc3QgaXNfc3RyaW5nID0gdHlwZW9mIHRhZyA9PT0gJ3N0cmluZyc7XG5cdGlmICh0YWcgJiYgIWlzX3N0cmluZykge1xuXHRcdHRocm93IG5ldyBFcnJvcignPHN2ZWx0ZTplbGVtZW50PiBleHBlY3RzIFwidGhpc1wiIGF0dHJpYnV0ZSB0byBiZSBhIHN0cmluZy4nKTtcblx0fVxufVxuXG4vKipcbiAqIEBwYXJhbSB7dW5kZWZpbmVkIHwgc3RyaW5nfSB0YWdcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVfdm9pZF9keW5hbWljX2VsZW1lbnQodGFnKSB7XG5cdGlmICh0YWcgJiYgaXNfdm9pZCh0YWcpKSB7XG5cdFx0Y29uc29sZS53YXJuKGA8c3ZlbHRlOmVsZW1lbnQgdGhpcz1cIiR7dGFnfVwiPiBpcyBzZWxmLWNsb3NpbmcgYW5kIGNhbm5vdCBoYXZlIGNvbnRlbnQuYCk7XG5cdH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnN0cnVjdF9zdmVsdGVfY29tcG9uZW50X2Rldihjb21wb25lbnQsIHByb3BzKSB7XG5cdGNvbnN0IGVycm9yX21lc3NhZ2UgPSAndGhpcz17Li4ufSBvZiA8c3ZlbHRlOmNvbXBvbmVudD4gc2hvdWxkIHNwZWNpZnkgYSBTdmVsdGUgY29tcG9uZW50Lic7XG5cdHRyeSB7XG5cdFx0Y29uc3QgaW5zdGFuY2UgPSBuZXcgY29tcG9uZW50KHByb3BzKTtcblx0XHRpZiAoIWluc3RhbmNlLiQkIHx8ICFpbnN0YW5jZS4kc2V0IHx8ICFpbnN0YW5jZS4kb24gfHwgIWluc3RhbmNlLiRkZXN0cm95KSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoZXJyb3JfbWVzc2FnZSk7XG5cdFx0fVxuXHRcdHJldHVybiBpbnN0YW5jZTtcblx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0Y29uc3QgeyBtZXNzYWdlIH0gPSBlcnI7XG5cdFx0aWYgKHR5cGVvZiBtZXNzYWdlID09PSAnc3RyaW5nJyAmJiBtZXNzYWdlLmluZGV4T2YoJ2lzIG5vdCBhIGNvbnN0cnVjdG9yJykgIT09IC0xKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoZXJyb3JfbWVzc2FnZSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRocm93IGVycjtcblx0XHR9XG5cdH1cbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBTdmVsdGUgY29tcG9uZW50cyB3aXRoIHNvbWUgbWlub3IgZGV2LWVuaGFuY2VtZW50cy4gVXNlZCB3aGVuIGRldj10cnVlLlxuICpcbiAqIENhbiBiZSB1c2VkIHRvIGNyZWF0ZSBzdHJvbmdseSB0eXBlZCBTdmVsdGUgY29tcG9uZW50cy5cbiAqXG4gKiAjIyMjIEV4YW1wbGU6XG4gKlxuICogWW91IGhhdmUgY29tcG9uZW50IGxpYnJhcnkgb24gbnBtIGNhbGxlZCBgY29tcG9uZW50LWxpYnJhcnlgLCBmcm9tIHdoaWNoXG4gKiB5b3UgZXhwb3J0IGEgY29tcG9uZW50IGNhbGxlZCBgTXlDb21wb25lbnRgLiBGb3IgU3ZlbHRlK1R5cGVTY3JpcHQgdXNlcnMsXG4gKiB5b3Ugd2FudCB0byBwcm92aWRlIHR5cGluZ3MuIFRoZXJlZm9yZSB5b3UgY3JlYXRlIGEgYGluZGV4LmQudHNgOlxuICogYGBgdHNcbiAqIGltcG9ydCB7IFN2ZWx0ZUNvbXBvbmVudCB9IGZyb20gXCJzdmVsdGVcIjtcbiAqIGV4cG9ydCBjbGFzcyBNeUNvbXBvbmVudCBleHRlbmRzIFN2ZWx0ZUNvbXBvbmVudDx7Zm9vOiBzdHJpbmd9PiB7fVxuICogYGBgXG4gKiBUeXBpbmcgdGhpcyBtYWtlcyBpdCBwb3NzaWJsZSBmb3IgSURFcyBsaWtlIFZTIENvZGUgd2l0aCB0aGUgU3ZlbHRlIGV4dGVuc2lvblxuICogdG8gcHJvdmlkZSBpbnRlbGxpc2Vuc2UgYW5kIHRvIHVzZSB0aGUgY29tcG9uZW50IGxpa2UgdGhpcyBpbiBhIFN2ZWx0ZSBmaWxlXG4gKiB3aXRoIFR5cGVTY3JpcHQ6XG4gKiBgYGBzdmVsdGVcbiAqIDxzY3JpcHQgbGFuZz1cInRzXCI+XG4gKiBcdGltcG9ydCB7IE15Q29tcG9uZW50IH0gZnJvbSBcImNvbXBvbmVudC1saWJyYXJ5XCI7XG4gKiA8L3NjcmlwdD5cbiAqIDxNeUNvbXBvbmVudCBmb289eydiYXInfSAvPlxuICogYGBgXG4gKiBAdGVtcGxhdGUge1JlY29yZDxzdHJpbmcsIGFueT59IFtQcm9wcz1hbnldXG4gKiBAdGVtcGxhdGUge1JlY29yZDxzdHJpbmcsIGFueT59IFtFdmVudHM9YW55XVxuICogQHRlbXBsYXRlIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbU2xvdHM9YW55XVxuICogQGV4dGVuZHMge1N2ZWx0ZUNvbXBvbmVudDxQcm9wcywgRXZlbnRzPn1cbiAqL1xuZXhwb3J0IGNsYXNzIFN2ZWx0ZUNvbXBvbmVudERldiBleHRlbmRzIFN2ZWx0ZUNvbXBvbmVudCB7XG5cdC8qKlxuXHQgKiBGb3IgdHlwZSBjaGVja2luZyBjYXBhYmlsaXRpZXMgb25seS5cblx0ICogRG9lcyBub3QgZXhpc3QgYXQgcnVudGltZS5cblx0ICogIyMjIERPIE5PVCBVU0UhXG5cdCAqXG5cdCAqIEB0eXBlIHtQcm9wc31cblx0ICovXG5cdCQkcHJvcF9kZWY7XG5cdC8qKlxuXHQgKiBGb3IgdHlwZSBjaGVja2luZyBjYXBhYmlsaXRpZXMgb25seS5cblx0ICogRG9lcyBub3QgZXhpc3QgYXQgcnVudGltZS5cblx0ICogIyMjIERPIE5PVCBVU0UhXG5cdCAqXG5cdCAqIEB0eXBlIHtFdmVudHN9XG5cdCAqL1xuXHQkJGV2ZW50c19kZWY7XG5cdC8qKlxuXHQgKiBGb3IgdHlwZSBjaGVja2luZyBjYXBhYmlsaXRpZXMgb25seS5cblx0ICogRG9lcyBub3QgZXhpc3QgYXQgcnVudGltZS5cblx0ICogIyMjIERPIE5PVCBVU0UhXG5cdCAqXG5cdCAqIEB0eXBlIHtTbG90c31cblx0ICovXG5cdCQkc2xvdF9kZWY7XG5cblx0LyoqIEBwYXJhbSB7aW1wb3J0KCcuL3B1YmxpYy5qcycpLkNvbXBvbmVudENvbnN0cnVjdG9yT3B0aW9uczxQcm9wcz59IG9wdGlvbnMgKi9cblx0Y29uc3RydWN0b3Iob3B0aW9ucykge1xuXHRcdGlmICghb3B0aW9ucyB8fCAoIW9wdGlvbnMudGFyZ2V0ICYmICFvcHRpb25zLiQkaW5saW5lKSkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiJ3RhcmdldCcgaXMgYSByZXF1aXJlZCBvcHRpb25cIik7XG5cdFx0fVxuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHQvKiogQHJldHVybnMge3ZvaWR9ICovXG5cdCRkZXN0cm95KCkge1xuXHRcdHN1cGVyLiRkZXN0cm95KCk7XG5cdFx0dGhpcy4kZGVzdHJveSA9ICgpID0+IHtcblx0XHRcdGNvbnNvbGUud2FybignQ29tcG9uZW50IHdhcyBhbHJlYWR5IGRlc3Ryb3llZCcpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWNvbnNvbGVcblx0XHR9O1xuXHR9XG5cblx0LyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuXHQkY2FwdHVyZV9zdGF0ZSgpIHt9XG5cblx0LyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuXHQkaW5qZWN0X3N0YXRlKCkge31cbn1cbi8qKlxuICogQHRlbXBsYXRlIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbUHJvcHM9YW55XVxuICogQHRlbXBsYXRlIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbRXZlbnRzPWFueV1cbiAqIEB0ZW1wbGF0ZSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW1Nsb3RzPWFueV1cbiAqIEBkZXByZWNhdGVkIFVzZSBgU3ZlbHRlQ29tcG9uZW50YCBpbnN0ZWFkLiBTZWUgUFIgZm9yIG1vcmUgaW5mb3JtYXRpb246IGh0dHBzOi8vZ2l0aHViLmNvbS9zdmVsdGVqcy9zdmVsdGUvcHVsbC84NTEyXG4gKiBAZXh0ZW5kcyB7U3ZlbHRlQ29tcG9uZW50RGV2PFByb3BzLCBFdmVudHMsIFNsb3RzPn1cbiAqL1xuZXhwb3J0IGNsYXNzIFN2ZWx0ZUNvbXBvbmVudFR5cGVkIGV4dGVuZHMgU3ZlbHRlQ29tcG9uZW50RGV2IHt9XG5cbi8qKiBAcmV0dXJucyB7KCkgPT4gdm9pZH0gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb29wX2d1YXJkKHRpbWVvdXQpIHtcblx0Y29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpO1xuXHRyZXR1cm4gKCkgPT4ge1xuXHRcdGlmIChEYXRlLm5vdygpIC0gc3RhcnQgPiB0aW1lb3V0KSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ0luZmluaXRlIGxvb3AgZGV0ZWN0ZWQnKTtcblx0XHR9XG5cdH07XG59XG4iLCAiaW1wb3J0IHsgUFVCTElDX1ZFUlNJT04gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdmVyc2lvbi5qcyc7XG5cbmlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJylcblx0Ly8gQHRzLWlnbm9yZVxuXHQod2luZG93Ll9fc3ZlbHRlIHx8ICh3aW5kb3cuX19zdmVsdGUgPSB7IHY6IG5ldyBTZXQoKSB9KSkudi5hZGQoUFVCTElDX1ZFUlNJT04pO1xuIiwgImltcG9ydCB7IGN1YmljT3V0LCBjdWJpY0luT3V0LCBsaW5lYXIgfSBmcm9tICcuLi9lYXNpbmcvaW5kZXguanMnO1xuaW1wb3J0IHsgYXNzaWduLCBzcGxpdF9jc3NfdW5pdCwgaXNfZnVuY3Rpb24gfSBmcm9tICcuLi9pbnRlcm5hbC9pbmRleC5qcyc7XG5cbi8qKlxuICogQW5pbWF0ZXMgYSBgYmx1cmAgZmlsdGVyIGFsb25nc2lkZSBhbiBlbGVtZW50J3Mgb3BhY2l0eS5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUtdHJhbnNpdGlvbiNibHVyXG4gKiBAcGFyYW0ge0VsZW1lbnR9IG5vZGVcbiAqIEBwYXJhbSB7aW1wb3J0KCcuL3B1YmxpYycpLkJsdXJQYXJhbXN9IFtwYXJhbXNdXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL3B1YmxpYycpLlRyYW5zaXRpb25Db25maWd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBibHVyKFxuXHRub2RlLFxuXHR7IGRlbGF5ID0gMCwgZHVyYXRpb24gPSA0MDAsIGVhc2luZyA9IGN1YmljSW5PdXQsIGFtb3VudCA9IDUsIG9wYWNpdHkgPSAwIH0gPSB7fVxuKSB7XG5cdGNvbnN0IHN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShub2RlKTtcblx0Y29uc3QgdGFyZ2V0X29wYWNpdHkgPSArc3R5bGUub3BhY2l0eTtcblx0Y29uc3QgZiA9IHN0eWxlLmZpbHRlciA9PT0gJ25vbmUnID8gJycgOiBzdHlsZS5maWx0ZXI7XG5cdGNvbnN0IG9kID0gdGFyZ2V0X29wYWNpdHkgKiAoMSAtIG9wYWNpdHkpO1xuXHRjb25zdCBbdmFsdWUsIHVuaXRdID0gc3BsaXRfY3NzX3VuaXQoYW1vdW50KTtcblx0cmV0dXJuIHtcblx0XHRkZWxheSxcblx0XHRkdXJhdGlvbixcblx0XHRlYXNpbmcsXG5cdFx0Y3NzOiAoX3QsIHUpID0+IGBvcGFjaXR5OiAke3RhcmdldF9vcGFjaXR5IC0gb2QgKiB1fTsgZmlsdGVyOiAke2Z9IGJsdXIoJHt1ICogdmFsdWV9JHt1bml0fSk7YFxuXHR9O1xufVxuXG4vKipcbiAqIEFuaW1hdGVzIHRoZSBvcGFjaXR5IG9mIGFuIGVsZW1lbnQgZnJvbSAwIHRvIHRoZSBjdXJyZW50IG9wYWNpdHkgZm9yIGBpbmAgdHJhbnNpdGlvbnMgYW5kIGZyb20gdGhlIGN1cnJlbnQgb3BhY2l0eSB0byAwIGZvciBgb3V0YCB0cmFuc2l0aW9ucy5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUtdHJhbnNpdGlvbiNmYWRlXG4gKiBAcGFyYW0ge0VsZW1lbnR9IG5vZGVcbiAqIEBwYXJhbSB7aW1wb3J0KCcuL3B1YmxpYycpLkZhZGVQYXJhbXN9IFtwYXJhbXNdXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL3B1YmxpYycpLlRyYW5zaXRpb25Db25maWd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmYWRlKG5vZGUsIHsgZGVsYXkgPSAwLCBkdXJhdGlvbiA9IDQwMCwgZWFzaW5nID0gbGluZWFyIH0gPSB7fSkge1xuXHRjb25zdCBvID0gK2dldENvbXB1dGVkU3R5bGUobm9kZSkub3BhY2l0eTtcblx0cmV0dXJuIHtcblx0XHRkZWxheSxcblx0XHRkdXJhdGlvbixcblx0XHRlYXNpbmcsXG5cdFx0Y3NzOiAodCkgPT4gYG9wYWNpdHk6ICR7dCAqIG99YFxuXHR9O1xufVxuXG4vKipcbiAqIEFuaW1hdGVzIHRoZSB4IGFuZCB5IHBvc2l0aW9ucyBhbmQgdGhlIG9wYWNpdHkgb2YgYW4gZWxlbWVudC4gYGluYCB0cmFuc2l0aW9ucyBhbmltYXRlIGZyb20gdGhlIHByb3ZpZGVkIHZhbHVlcywgcGFzc2VkIGFzIHBhcmFtZXRlcnMgdG8gdGhlIGVsZW1lbnQncyBkZWZhdWx0IHZhbHVlcy4gYG91dGAgdHJhbnNpdGlvbnMgYW5pbWF0ZSBmcm9tIHRoZSBlbGVtZW50J3MgZGVmYXVsdCB2YWx1ZXMgdG8gdGhlIHByb3ZpZGVkIHZhbHVlcy5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUtdHJhbnNpdGlvbiNmbHlcbiAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtpbXBvcnQoJy4vcHVibGljJykuRmx5UGFyYW1zfSBbcGFyYW1zXVxuICogQHJldHVybnMge2ltcG9ydCgnLi9wdWJsaWMnKS5UcmFuc2l0aW9uQ29uZmlnfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZmx5KFxuXHRub2RlLFxuXHR7IGRlbGF5ID0gMCwgZHVyYXRpb24gPSA0MDAsIGVhc2luZyA9IGN1YmljT3V0LCB4ID0gMCwgeSA9IDAsIG9wYWNpdHkgPSAwIH0gPSB7fVxuKSB7XG5cdGNvbnN0IHN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShub2RlKTtcblx0Y29uc3QgdGFyZ2V0X29wYWNpdHkgPSArc3R5bGUub3BhY2l0eTtcblx0Y29uc3QgdHJhbnNmb3JtID0gc3R5bGUudHJhbnNmb3JtID09PSAnbm9uZScgPyAnJyA6IHN0eWxlLnRyYW5zZm9ybTtcblx0Y29uc3Qgb2QgPSB0YXJnZXRfb3BhY2l0eSAqICgxIC0gb3BhY2l0eSk7XG5cdGNvbnN0IFt4VmFsdWUsIHhVbml0XSA9IHNwbGl0X2Nzc191bml0KHgpO1xuXHRjb25zdCBbeVZhbHVlLCB5VW5pdF0gPSBzcGxpdF9jc3NfdW5pdCh5KTtcblx0cmV0dXJuIHtcblx0XHRkZWxheSxcblx0XHRkdXJhdGlvbixcblx0XHRlYXNpbmcsXG5cdFx0Y3NzOiAodCwgdSkgPT4gYFxuXHRcdFx0dHJhbnNmb3JtOiAke3RyYW5zZm9ybX0gdHJhbnNsYXRlKCR7KDEgLSB0KSAqIHhWYWx1ZX0ke3hVbml0fSwgJHsoMSAtIHQpICogeVZhbHVlfSR7eVVuaXR9KTtcblx0XHRcdG9wYWNpdHk6ICR7dGFyZ2V0X29wYWNpdHkgLSBvZCAqIHV9YFxuXHR9O1xufVxuXG4vKipcbiAqIFNsaWRlcyBhbiBlbGVtZW50IGluIGFuZCBvdXQuXG4gKlxuICogaHR0cHM6Ly9zdmVsdGUuZGV2L2RvY3Mvc3ZlbHRlLXRyYW5zaXRpb24jc2xpZGVcbiAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtpbXBvcnQoJy4vcHVibGljJykuU2xpZGVQYXJhbXN9IFtwYXJhbXNdXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL3B1YmxpYycpLlRyYW5zaXRpb25Db25maWd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzbGlkZShub2RlLCB7IGRlbGF5ID0gMCwgZHVyYXRpb24gPSA0MDAsIGVhc2luZyA9IGN1YmljT3V0LCBheGlzID0gJ3knIH0gPSB7fSkge1xuXHRjb25zdCBzdHlsZSA9IGdldENvbXB1dGVkU3R5bGUobm9kZSk7XG5cdGNvbnN0IG9wYWNpdHkgPSArc3R5bGUub3BhY2l0eTtcblx0Y29uc3QgcHJpbWFyeV9wcm9wZXJ0eSA9IGF4aXMgPT09ICd5JyA/ICdoZWlnaHQnIDogJ3dpZHRoJztcblx0Y29uc3QgcHJpbWFyeV9wcm9wZXJ0eV92YWx1ZSA9IHBhcnNlRmxvYXQoc3R5bGVbcHJpbWFyeV9wcm9wZXJ0eV0pO1xuXHRjb25zdCBzZWNvbmRhcnlfcHJvcGVydGllcyA9IGF4aXMgPT09ICd5JyA/IFsndG9wJywgJ2JvdHRvbSddIDogWydsZWZ0JywgJ3JpZ2h0J107XG5cdGNvbnN0IGNhcGl0YWxpemVkX3NlY29uZGFyeV9wcm9wZXJ0aWVzID0gc2Vjb25kYXJ5X3Byb3BlcnRpZXMubWFwKFxuXHRcdChlKSA9PiBgJHtlWzBdLnRvVXBwZXJDYXNlKCl9JHtlLnNsaWNlKDEpfWBcblx0KTtcblx0Y29uc3QgcGFkZGluZ19zdGFydF92YWx1ZSA9IHBhcnNlRmxvYXQoc3R5bGVbYHBhZGRpbmcke2NhcGl0YWxpemVkX3NlY29uZGFyeV9wcm9wZXJ0aWVzWzBdfWBdKTtcblx0Y29uc3QgcGFkZGluZ19lbmRfdmFsdWUgPSBwYXJzZUZsb2F0KHN0eWxlW2BwYWRkaW5nJHtjYXBpdGFsaXplZF9zZWNvbmRhcnlfcHJvcGVydGllc1sxXX1gXSk7XG5cdGNvbnN0IG1hcmdpbl9zdGFydF92YWx1ZSA9IHBhcnNlRmxvYXQoc3R5bGVbYG1hcmdpbiR7Y2FwaXRhbGl6ZWRfc2Vjb25kYXJ5X3Byb3BlcnRpZXNbMF19YF0pO1xuXHRjb25zdCBtYXJnaW5fZW5kX3ZhbHVlID0gcGFyc2VGbG9hdChzdHlsZVtgbWFyZ2luJHtjYXBpdGFsaXplZF9zZWNvbmRhcnlfcHJvcGVydGllc1sxXX1gXSk7XG5cdGNvbnN0IGJvcmRlcl93aWR0aF9zdGFydF92YWx1ZSA9IHBhcnNlRmxvYXQoXG5cdFx0c3R5bGVbYGJvcmRlciR7Y2FwaXRhbGl6ZWRfc2Vjb25kYXJ5X3Byb3BlcnRpZXNbMF19V2lkdGhgXVxuXHQpO1xuXHRjb25zdCBib3JkZXJfd2lkdGhfZW5kX3ZhbHVlID0gcGFyc2VGbG9hdChcblx0XHRzdHlsZVtgYm9yZGVyJHtjYXBpdGFsaXplZF9zZWNvbmRhcnlfcHJvcGVydGllc1sxXX1XaWR0aGBdXG5cdCk7XG5cdHJldHVybiB7XG5cdFx0ZGVsYXksXG5cdFx0ZHVyYXRpb24sXG5cdFx0ZWFzaW5nLFxuXHRcdGNzczogKHQpID0+XG5cdFx0XHQnb3ZlcmZsb3c6IGhpZGRlbjsnICtcblx0XHRcdGBvcGFjaXR5OiAke01hdGgubWluKHQgKiAyMCwgMSkgKiBvcGFjaXR5fTtgICtcblx0XHRcdGAke3ByaW1hcnlfcHJvcGVydHl9OiAke3QgKiBwcmltYXJ5X3Byb3BlcnR5X3ZhbHVlfXB4O2AgK1xuXHRcdFx0YHBhZGRpbmctJHtzZWNvbmRhcnlfcHJvcGVydGllc1swXX06ICR7dCAqIHBhZGRpbmdfc3RhcnRfdmFsdWV9cHg7YCArXG5cdFx0XHRgcGFkZGluZy0ke3NlY29uZGFyeV9wcm9wZXJ0aWVzWzFdfTogJHt0ICogcGFkZGluZ19lbmRfdmFsdWV9cHg7YCArXG5cdFx0XHRgbWFyZ2luLSR7c2Vjb25kYXJ5X3Byb3BlcnRpZXNbMF19OiAke3QgKiBtYXJnaW5fc3RhcnRfdmFsdWV9cHg7YCArXG5cdFx0XHRgbWFyZ2luLSR7c2Vjb25kYXJ5X3Byb3BlcnRpZXNbMV19OiAke3QgKiBtYXJnaW5fZW5kX3ZhbHVlfXB4O2AgK1xuXHRcdFx0YGJvcmRlci0ke3NlY29uZGFyeV9wcm9wZXJ0aWVzWzBdfS13aWR0aDogJHt0ICogYm9yZGVyX3dpZHRoX3N0YXJ0X3ZhbHVlfXB4O2AgK1xuXHRcdFx0YGJvcmRlci0ke3NlY29uZGFyeV9wcm9wZXJ0aWVzWzFdfS13aWR0aDogJHt0ICogYm9yZGVyX3dpZHRoX2VuZF92YWx1ZX1weDtgXG5cdH07XG59XG5cbi8qKlxuICogQW5pbWF0ZXMgdGhlIG9wYWNpdHkgYW5kIHNjYWxlIG9mIGFuIGVsZW1lbnQuIGBpbmAgdHJhbnNpdGlvbnMgYW5pbWF0ZSBmcm9tIGFuIGVsZW1lbnQncyBjdXJyZW50IChkZWZhdWx0KSB2YWx1ZXMgdG8gdGhlIHByb3ZpZGVkIHZhbHVlcywgcGFzc2VkIGFzIHBhcmFtZXRlcnMuIGBvdXRgIHRyYW5zaXRpb25zIGFuaW1hdGUgZnJvbSB0aGUgcHJvdmlkZWQgdmFsdWVzIHRvIGFuIGVsZW1lbnQncyBkZWZhdWx0IHZhbHVlcy5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUtdHJhbnNpdGlvbiNzY2FsZVxuICogQHBhcmFtIHtFbGVtZW50fSBub2RlXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9wdWJsaWMnKS5TY2FsZVBhcmFtc30gW3BhcmFtc11cbiAqIEByZXR1cm5zIHtpbXBvcnQoJy4vcHVibGljJykuVHJhbnNpdGlvbkNvbmZpZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNjYWxlKFxuXHRub2RlLFxuXHR7IGRlbGF5ID0gMCwgZHVyYXRpb24gPSA0MDAsIGVhc2luZyA9IGN1YmljT3V0LCBzdGFydCA9IDAsIG9wYWNpdHkgPSAwIH0gPSB7fVxuKSB7XG5cdGNvbnN0IHN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShub2RlKTtcblx0Y29uc3QgdGFyZ2V0X29wYWNpdHkgPSArc3R5bGUub3BhY2l0eTtcblx0Y29uc3QgdHJhbnNmb3JtID0gc3R5bGUudHJhbnNmb3JtID09PSAnbm9uZScgPyAnJyA6IHN0eWxlLnRyYW5zZm9ybTtcblx0Y29uc3Qgc2QgPSAxIC0gc3RhcnQ7XG5cdGNvbnN0IG9kID0gdGFyZ2V0X29wYWNpdHkgKiAoMSAtIG9wYWNpdHkpO1xuXHRyZXR1cm4ge1xuXHRcdGRlbGF5LFxuXHRcdGR1cmF0aW9uLFxuXHRcdGVhc2luZyxcblx0XHRjc3M6IChfdCwgdSkgPT4gYFxuXHRcdFx0dHJhbnNmb3JtOiAke3RyYW5zZm9ybX0gc2NhbGUoJHsxIC0gc2QgKiB1fSk7XG5cdFx0XHRvcGFjaXR5OiAke3RhcmdldF9vcGFjaXR5IC0gb2QgKiB1fVxuXHRcdGBcblx0fTtcbn1cblxuLyoqXG4gKiBBbmltYXRlcyB0aGUgc3Ryb2tlIG9mIGFuIFNWRyBlbGVtZW50LCBsaWtlIGEgc25ha2UgaW4gYSB0dWJlLiBgaW5gIHRyYW5zaXRpb25zIGJlZ2luIHdpdGggdGhlIHBhdGggaW52aXNpYmxlIGFuZCBkcmF3IHRoZSBwYXRoIHRvIHRoZSBzY3JlZW4gb3ZlciB0aW1lLiBgb3V0YCB0cmFuc2l0aW9ucyBzdGFydCBpbiBhIHZpc2libGUgc3RhdGUgYW5kIGdyYWR1YWxseSBlcmFzZSB0aGUgcGF0aC4gYGRyYXdgIG9ubHkgd29ya3Mgd2l0aCBlbGVtZW50cyB0aGF0IGhhdmUgYSBgZ2V0VG90YWxMZW5ndGhgIG1ldGhvZCwgbGlrZSBgPHBhdGg+YCBhbmQgYDxwb2x5bGluZT5gLlxuICpcbiAqIGh0dHBzOi8vc3ZlbHRlLmRldi9kb2NzL3N2ZWx0ZS10cmFuc2l0aW9uI2RyYXdcbiAqIEBwYXJhbSB7U1ZHRWxlbWVudCAmIHsgZ2V0VG90YWxMZW5ndGgoKTogbnVtYmVyIH19IG5vZGVcbiAqIEBwYXJhbSB7aW1wb3J0KCcuL3B1YmxpYycpLkRyYXdQYXJhbXN9IFtwYXJhbXNdXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL3B1YmxpYycpLlRyYW5zaXRpb25Db25maWd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkcmF3KG5vZGUsIHsgZGVsYXkgPSAwLCBzcGVlZCwgZHVyYXRpb24sIGVhc2luZyA9IGN1YmljSW5PdXQgfSA9IHt9KSB7XG5cdGxldCBsZW4gPSBub2RlLmdldFRvdGFsTGVuZ3RoKCk7XG5cdGNvbnN0IHN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShub2RlKTtcblx0aWYgKHN0eWxlLnN0cm9rZUxpbmVjYXAgIT09ICdidXR0Jykge1xuXHRcdGxlbiArPSBwYXJzZUludChzdHlsZS5zdHJva2VXaWR0aCk7XG5cdH1cblx0aWYgKGR1cmF0aW9uID09PSB1bmRlZmluZWQpIHtcblx0XHRpZiAoc3BlZWQgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0ZHVyYXRpb24gPSA4MDA7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGR1cmF0aW9uID0gbGVuIC8gc3BlZWQ7XG5cdFx0fVxuXHR9IGVsc2UgaWYgKHR5cGVvZiBkdXJhdGlvbiA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdGR1cmF0aW9uID0gZHVyYXRpb24obGVuKTtcblx0fVxuXHRyZXR1cm4ge1xuXHRcdGRlbGF5LFxuXHRcdGR1cmF0aW9uLFxuXHRcdGVhc2luZyxcblx0XHRjc3M6IChfLCB1KSA9PiBgXG5cdFx0XHRzdHJva2UtZGFzaGFycmF5OiAke2xlbn07XG5cdFx0XHRzdHJva2UtZGFzaG9mZnNldDogJHt1ICogbGVufTtcblx0XHRgXG5cdH07XG59XG5cbi8qKlxuICogVGhlIGBjcm9zc2ZhZGVgIGZ1bmN0aW9uIGNyZWF0ZXMgYSBwYWlyIG9mIFt0cmFuc2l0aW9uc10oL2RvY3MjdGVtcGxhdGUtc3ludGF4LWVsZW1lbnQtZGlyZWN0aXZlcy10cmFuc2l0aW9uLWZuKSBjYWxsZWQgYHNlbmRgIGFuZCBgcmVjZWl2ZWAuIFdoZW4gYW4gZWxlbWVudCBpcyAnc2VudCcsIGl0IGxvb2tzIGZvciBhIGNvcnJlc3BvbmRpbmcgZWxlbWVudCBiZWluZyAncmVjZWl2ZWQnLCBhbmQgZ2VuZXJhdGVzIGEgdHJhbnNpdGlvbiB0aGF0IHRyYW5zZm9ybXMgdGhlIGVsZW1lbnQgdG8gaXRzIGNvdW50ZXJwYXJ0J3MgcG9zaXRpb24gYW5kIGZhZGVzIGl0IG91dC4gV2hlbiBhbiBlbGVtZW50IGlzICdyZWNlaXZlZCcsIHRoZSByZXZlcnNlIGhhcHBlbnMuIElmIHRoZXJlIGlzIG5vIGNvdW50ZXJwYXJ0LCB0aGUgYGZhbGxiYWNrYCB0cmFuc2l0aW9uIGlzIHVzZWQuXG4gKlxuICogaHR0cHM6Ly9zdmVsdGUuZGV2L2RvY3Mvc3ZlbHRlLXRyYW5zaXRpb24jY3Jvc3NmYWRlXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9wdWJsaWMnKS5Dcm9zc2ZhZGVQYXJhbXMgJiB7XG4gKiBcdGZhbGxiYWNrPzogKG5vZGU6IEVsZW1lbnQsIHBhcmFtczogaW1wb3J0KCcuL3B1YmxpYycpLkNyb3NzZmFkZVBhcmFtcywgaW50cm86IGJvb2xlYW4pID0+IGltcG9ydCgnLi9wdWJsaWMnKS5UcmFuc2l0aW9uQ29uZmlnO1xuICogfX0gcGFyYW1zXG4gKiBAcmV0dXJucyB7Wyhub2RlOiBhbnksIHBhcmFtczogaW1wb3J0KCcuL3B1YmxpYycpLkNyb3NzZmFkZVBhcmFtcyAmIHsga2V5OiBhbnk7IH0pID0+ICgpID0+IGltcG9ydCgnLi9wdWJsaWMnKS5UcmFuc2l0aW9uQ29uZmlnLCAobm9kZTogYW55LCBwYXJhbXM6IGltcG9ydCgnLi9wdWJsaWMnKS5Dcm9zc2ZhZGVQYXJhbXMgJiB7IGtleTogYW55OyB9KSA9PiAoKSA9PiBpbXBvcnQoJy4vcHVibGljJykuVHJhbnNpdGlvbkNvbmZpZ119XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcm9zc2ZhZGUoeyBmYWxsYmFjaywgLi4uZGVmYXVsdHMgfSkge1xuXHQvKiogQHR5cGUge01hcDxhbnksIEVsZW1lbnQ+fSAqL1xuXHRjb25zdCB0b19yZWNlaXZlID0gbmV3IE1hcCgpO1xuXHQvKiogQHR5cGUge01hcDxhbnksIEVsZW1lbnQ+fSAqL1xuXHRjb25zdCB0b19zZW5kID0gbmV3IE1hcCgpO1xuXHQvKipcblx0ICogQHBhcmFtIHtFbGVtZW50fSBmcm9tX25vZGVcblx0ICogQHBhcmFtIHtFbGVtZW50fSBub2RlXG5cdCAqIEBwYXJhbSB7aW1wb3J0KCcuL3B1YmxpYycpLkNyb3NzZmFkZVBhcmFtc30gcGFyYW1zXG5cdCAqIEByZXR1cm5zIHtpbXBvcnQoJy4vcHVibGljJykuVHJhbnNpdGlvbkNvbmZpZ31cblx0ICovXG5cdGZ1bmN0aW9uIGNyb3NzZmFkZShmcm9tX25vZGUsIG5vZGUsIHBhcmFtcykge1xuXHRcdGNvbnN0IHtcblx0XHRcdGRlbGF5ID0gMCxcblx0XHRcdGR1cmF0aW9uID0gKGQpID0+IE1hdGguc3FydChkKSAqIDMwLFxuXHRcdFx0ZWFzaW5nID0gY3ViaWNPdXRcblx0XHR9ID0gYXNzaWduKGFzc2lnbih7fSwgZGVmYXVsdHMpLCBwYXJhbXMpO1xuXHRcdGNvbnN0IGZyb20gPSBmcm9tX25vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cdFx0Y29uc3QgdG8gPSBub2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXHRcdGNvbnN0IGR4ID0gZnJvbS5sZWZ0IC0gdG8ubGVmdDtcblx0XHRjb25zdCBkeSA9IGZyb20udG9wIC0gdG8udG9wO1xuXHRcdGNvbnN0IGR3ID0gZnJvbS53aWR0aCAvIHRvLndpZHRoO1xuXHRcdGNvbnN0IGRoID0gZnJvbS5oZWlnaHQgLyB0by5oZWlnaHQ7XG5cdFx0Y29uc3QgZCA9IE1hdGguc3FydChkeCAqIGR4ICsgZHkgKiBkeSk7XG5cdFx0Y29uc3Qgc3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKG5vZGUpO1xuXHRcdGNvbnN0IHRyYW5zZm9ybSA9IHN0eWxlLnRyYW5zZm9ybSA9PT0gJ25vbmUnID8gJycgOiBzdHlsZS50cmFuc2Zvcm07XG5cdFx0Y29uc3Qgb3BhY2l0eSA9ICtzdHlsZS5vcGFjaXR5O1xuXHRcdHJldHVybiB7XG5cdFx0XHRkZWxheSxcblx0XHRcdGR1cmF0aW9uOiBpc19mdW5jdGlvbihkdXJhdGlvbikgPyBkdXJhdGlvbihkKSA6IGR1cmF0aW9uLFxuXHRcdFx0ZWFzaW5nLFxuXHRcdFx0Y3NzOiAodCwgdSkgPT4gYFxuXHRcdFx0XHRvcGFjaXR5OiAke3QgKiBvcGFjaXR5fTtcblx0XHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG5cdFx0XHRcdHRyYW5zZm9ybTogJHt0cmFuc2Zvcm19IHRyYW5zbGF0ZSgke3UgKiBkeH1weCwke3UgKiBkeX1weCkgc2NhbGUoJHt0ICsgKDEgLSB0KSAqIGR3fSwgJHtcblx0XHRcdFx0dCArICgxIC0gdCkgKiBkaFxuXHRcdFx0fSk7XG5cdFx0XHRgXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcGFyYW0ge01hcDxhbnksIEVsZW1lbnQ+fSBpdGVtc1xuXHQgKiBAcGFyYW0ge01hcDxhbnksIEVsZW1lbnQ+fSBjb3VudGVycGFydHNcblx0ICogQHBhcmFtIHtib29sZWFufSBpbnRyb1xuXHQgKiBAcmV0dXJucyB7KG5vZGU6IGFueSwgcGFyYW1zOiBpbXBvcnQoJy4vcHVibGljJykuQ3Jvc3NmYWRlUGFyYW1zICYgeyBrZXk6IGFueTsgfSkgPT4gKCkgPT4gaW1wb3J0KCcuL3B1YmxpYycpLlRyYW5zaXRpb25Db25maWd9XG5cdCAqL1xuXHRmdW5jdGlvbiB0cmFuc2l0aW9uKGl0ZW1zLCBjb3VudGVycGFydHMsIGludHJvKSB7XG5cdFx0cmV0dXJuIChub2RlLCBwYXJhbXMpID0+IHtcblx0XHRcdGl0ZW1zLnNldChwYXJhbXMua2V5LCBub2RlKTtcblx0XHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRcdGlmIChjb3VudGVycGFydHMuaGFzKHBhcmFtcy5rZXkpKSB7XG5cdFx0XHRcdFx0Y29uc3Qgb3RoZXJfbm9kZSA9IGNvdW50ZXJwYXJ0cy5nZXQocGFyYW1zLmtleSk7XG5cdFx0XHRcdFx0Y291bnRlcnBhcnRzLmRlbGV0ZShwYXJhbXMua2V5KTtcblx0XHRcdFx0XHRyZXR1cm4gY3Jvc3NmYWRlKG90aGVyX25vZGUsIG5vZGUsIHBhcmFtcyk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ly8gaWYgdGhlIG5vZGUgaXMgZGlzYXBwZWFyaW5nIGFsdG9nZXRoZXJcblx0XHRcdFx0Ly8gKGkuZS4gd2Fzbid0IGNsYWltZWQgYnkgdGhlIG90aGVyIGxpc3QpXG5cdFx0XHRcdC8vIHRoZW4gd2UgbmVlZCB0byBzdXBwbHkgYW4gb3V0cm9cblx0XHRcdFx0aXRlbXMuZGVsZXRlKHBhcmFtcy5rZXkpO1xuXHRcdFx0XHRyZXR1cm4gZmFsbGJhY2sgJiYgZmFsbGJhY2sobm9kZSwgcGFyYW1zLCBpbnRybyk7XG5cdFx0XHR9O1xuXHRcdH07XG5cdH1cblx0cmV0dXJuIFt0cmFuc2l0aW9uKHRvX3NlbmQsIHRvX3JlY2VpdmUsIGZhbHNlKSwgdHJhbnNpdGlvbih0b19yZWNlaXZlLCB0b19zZW5kLCB0cnVlKV07XG59XG4iLCAiaW1wb3J0IHtcblx0cnVuX2FsbCxcblx0c3Vic2NyaWJlLFxuXHRub29wLFxuXHRzYWZlX25vdF9lcXVhbCxcblx0aXNfZnVuY3Rpb24sXG5cdGdldF9zdG9yZV92YWx1ZVxufSBmcm9tICcuLi9pbnRlcm5hbC9pbmRleC5qcyc7XG5cbmNvbnN0IHN1YnNjcmliZXJfcXVldWUgPSBbXTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgYFJlYWRhYmxlYCBzdG9yZSB0aGF0IGFsbG93cyByZWFkaW5nIGJ5IHN1YnNjcmlwdGlvbi5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUtc3RvcmUjcmVhZGFibGVcbiAqIEB0ZW1wbGF0ZSBUXG4gKiBAcGFyYW0ge1R9IFt2YWx1ZV0gaW5pdGlhbCB2YWx1ZVxuICogQHBhcmFtIHtpbXBvcnQoJy4vcHVibGljLmpzJykuU3RhcnRTdG9wTm90aWZpZXI8VD59IFtzdGFydF1cbiAqIEByZXR1cm5zIHtpbXBvcnQoJy4vcHVibGljLmpzJykuUmVhZGFibGU8VD59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWFkYWJsZSh2YWx1ZSwgc3RhcnQpIHtcblx0cmV0dXJuIHtcblx0XHRzdWJzY3JpYmU6IHdyaXRhYmxlKHZhbHVlLCBzdGFydCkuc3Vic2NyaWJlXG5cdH07XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgYFdyaXRhYmxlYCBzdG9yZSB0aGF0IGFsbG93cyBib3RoIHVwZGF0aW5nIGFuZCByZWFkaW5nIGJ5IHN1YnNjcmlwdGlvbi5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUtc3RvcmUjd3JpdGFibGVcbiAqIEB0ZW1wbGF0ZSBUXG4gKiBAcGFyYW0ge1R9IFt2YWx1ZV0gaW5pdGlhbCB2YWx1ZVxuICogQHBhcmFtIHtpbXBvcnQoJy4vcHVibGljLmpzJykuU3RhcnRTdG9wTm90aWZpZXI8VD59IFtzdGFydF1cbiAqIEByZXR1cm5zIHtpbXBvcnQoJy4vcHVibGljLmpzJykuV3JpdGFibGU8VD59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3cml0YWJsZSh2YWx1ZSwgc3RhcnQgPSBub29wKSB7XG5cdC8qKiBAdHlwZSB7aW1wb3J0KCcuL3B1YmxpYy5qcycpLlVuc3Vic2NyaWJlcn0gKi9cblx0bGV0IHN0b3A7XG5cdC8qKiBAdHlwZSB7U2V0PGltcG9ydCgnLi9wcml2YXRlLmpzJykuU3Vic2NyaWJlSW52YWxpZGF0ZVR1cGxlPFQ+Pn0gKi9cblx0Y29uc3Qgc3Vic2NyaWJlcnMgPSBuZXcgU2V0KCk7XG5cdC8qKiBAcGFyYW0ge1R9IG5ld192YWx1ZVxuXHQgKiBAcmV0dXJucyB7dm9pZH1cblx0ICovXG5cdGZ1bmN0aW9uIHNldChuZXdfdmFsdWUpIHtcblx0XHRpZiAoc2FmZV9ub3RfZXF1YWwodmFsdWUsIG5ld192YWx1ZSkpIHtcblx0XHRcdHZhbHVlID0gbmV3X3ZhbHVlO1xuXHRcdFx0aWYgKHN0b3ApIHtcblx0XHRcdFx0Ly8gc3RvcmUgaXMgcmVhZHlcblx0XHRcdFx0Y29uc3QgcnVuX3F1ZXVlID0gIXN1YnNjcmliZXJfcXVldWUubGVuZ3RoO1xuXHRcdFx0XHRmb3IgKGNvbnN0IHN1YnNjcmliZXIgb2Ygc3Vic2NyaWJlcnMpIHtcblx0XHRcdFx0XHRzdWJzY3JpYmVyWzFdKCk7XG5cdFx0XHRcdFx0c3Vic2NyaWJlcl9xdWV1ZS5wdXNoKHN1YnNjcmliZXIsIHZhbHVlKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAocnVuX3F1ZXVlKSB7XG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBzdWJzY3JpYmVyX3F1ZXVlLmxlbmd0aDsgaSArPSAyKSB7XG5cdFx0XHRcdFx0XHRzdWJzY3JpYmVyX3F1ZXVlW2ldWzBdKHN1YnNjcmliZXJfcXVldWVbaSArIDFdKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0c3Vic2NyaWJlcl9xdWV1ZS5sZW5ndGggPSAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEBwYXJhbSB7aW1wb3J0KCcuL3B1YmxpYy5qcycpLlVwZGF0ZXI8VD59IGZuXG5cdCAqIEByZXR1cm5zIHt2b2lkfVxuXHQgKi9cblx0ZnVuY3Rpb24gdXBkYXRlKGZuKSB7XG5cdFx0c2V0KGZuKHZhbHVlKSk7XG5cdH1cblxuXHQvKipcblx0ICogQHBhcmFtIHtpbXBvcnQoJy4vcHVibGljLmpzJykuU3Vic2NyaWJlcjxUPn0gcnVuXG5cdCAqIEBwYXJhbSB7aW1wb3J0KCcuL3ByaXZhdGUuanMnKS5JbnZhbGlkYXRvcjxUPn0gW2ludmFsaWRhdGVdXG5cdCAqIEByZXR1cm5zIHtpbXBvcnQoJy4vcHVibGljLmpzJykuVW5zdWJzY3JpYmVyfVxuXHQgKi9cblx0ZnVuY3Rpb24gc3Vic2NyaWJlKHJ1biwgaW52YWxpZGF0ZSA9IG5vb3ApIHtcblx0XHQvKiogQHR5cGUge2ltcG9ydCgnLi9wcml2YXRlLmpzJykuU3Vic2NyaWJlSW52YWxpZGF0ZVR1cGxlPFQ+fSAqL1xuXHRcdGNvbnN0IHN1YnNjcmliZXIgPSBbcnVuLCBpbnZhbGlkYXRlXTtcblx0XHRzdWJzY3JpYmVycy5hZGQoc3Vic2NyaWJlcik7XG5cdFx0aWYgKHN1YnNjcmliZXJzLnNpemUgPT09IDEpIHtcblx0XHRcdHN0b3AgPSBzdGFydChzZXQsIHVwZGF0ZSkgfHwgbm9vcDtcblx0XHR9XG5cdFx0cnVuKHZhbHVlKTtcblx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0c3Vic2NyaWJlcnMuZGVsZXRlKHN1YnNjcmliZXIpO1xuXHRcdFx0aWYgKHN1YnNjcmliZXJzLnNpemUgPT09IDAgJiYgc3RvcCkge1xuXHRcdFx0XHRzdG9wKCk7XG5cdFx0XHRcdHN0b3AgPSBudWxsO1xuXHRcdFx0fVxuXHRcdH07XG5cdH1cblx0cmV0dXJuIHsgc2V0LCB1cGRhdGUsIHN1YnNjcmliZSB9O1xufVxuXG4vKipcbiAqIERlcml2ZWQgdmFsdWUgc3RvcmUgYnkgc3luY2hyb25pemluZyBvbmUgb3IgbW9yZSByZWFkYWJsZSBzdG9yZXMgYW5kXG4gKiBhcHBseWluZyBhbiBhZ2dyZWdhdGlvbiBmdW5jdGlvbiBvdmVyIGl0cyBpbnB1dCB2YWx1ZXMuXG4gKlxuICogaHR0cHM6Ly9zdmVsdGUuZGV2L2RvY3Mvc3ZlbHRlLXN0b3JlI2Rlcml2ZWRcbiAqIEB0ZW1wbGF0ZSB7aW1wb3J0KCcuL3ByaXZhdGUuanMnKS5TdG9yZXN9IFNcbiAqIEB0ZW1wbGF0ZSBUXG4gKiBAb3ZlcmxvYWRcbiAqIEBwYXJhbSB7U30gc3RvcmVzIC0gaW5wdXQgc3RvcmVzXG4gKiBAcGFyYW0geyh2YWx1ZXM6IGltcG9ydCgnLi9wcml2YXRlLmpzJykuU3RvcmVzVmFsdWVzPFM+LCBzZXQ6ICh2YWx1ZTogVCkgPT4gdm9pZCwgdXBkYXRlOiAoZm46IGltcG9ydCgnLi9wdWJsaWMuanMnKS5VcGRhdGVyPFQ+KSA9PiB2b2lkKSA9PiBpbXBvcnQoJy4vcHVibGljLmpzJykuVW5zdWJzY3JpYmVyIHwgdm9pZH0gZm4gLSBmdW5jdGlvbiBjYWxsYmFjayB0aGF0IGFnZ3JlZ2F0ZXMgdGhlIHZhbHVlc1xuICogQHBhcmFtIHtUfSBbaW5pdGlhbF92YWx1ZV0gLSBpbml0aWFsIHZhbHVlXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL3B1YmxpYy5qcycpLlJlYWRhYmxlPFQ+fVxuICovXG5cbi8qKlxuICogRGVyaXZlZCB2YWx1ZSBzdG9yZSBieSBzeW5jaHJvbml6aW5nIG9uZSBvciBtb3JlIHJlYWRhYmxlIHN0b3JlcyBhbmRcbiAqIGFwcGx5aW5nIGFuIGFnZ3JlZ2F0aW9uIGZ1bmN0aW9uIG92ZXIgaXRzIGlucHV0IHZhbHVlcy5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUtc3RvcmUjZGVyaXZlZFxuICogQHRlbXBsYXRlIHtpbXBvcnQoJy4vcHJpdmF0ZS5qcycpLlN0b3Jlc30gU1xuICogQHRlbXBsYXRlIFRcbiAqIEBvdmVybG9hZFxuICogQHBhcmFtIHtTfSBzdG9yZXMgLSBpbnB1dCBzdG9yZXNcbiAqIEBwYXJhbSB7KHZhbHVlczogaW1wb3J0KCcuL3ByaXZhdGUuanMnKS5TdG9yZXNWYWx1ZXM8Uz4pID0+IFR9IGZuIC0gZnVuY3Rpb24gY2FsbGJhY2sgdGhhdCBhZ2dyZWdhdGVzIHRoZSB2YWx1ZXNcbiAqIEBwYXJhbSB7VH0gW2luaXRpYWxfdmFsdWVdIC0gaW5pdGlhbCB2YWx1ZVxuICogQHJldHVybnMge2ltcG9ydCgnLi9wdWJsaWMuanMnKS5SZWFkYWJsZTxUPn1cbiAqL1xuXG4vKipcbiAqIEB0ZW1wbGF0ZSB7aW1wb3J0KCcuL3ByaXZhdGUuanMnKS5TdG9yZXN9IFNcbiAqIEB0ZW1wbGF0ZSBUXG4gKiBAcGFyYW0ge1N9IHN0b3Jlc1xuICogQHBhcmFtIHtGdW5jdGlvbn0gZm5cbiAqIEBwYXJhbSB7VH0gW2luaXRpYWxfdmFsdWVdXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL3B1YmxpYy5qcycpLlJlYWRhYmxlPFQ+fVxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVyaXZlZChzdG9yZXMsIGZuLCBpbml0aWFsX3ZhbHVlKSB7XG5cdGNvbnN0IHNpbmdsZSA9ICFBcnJheS5pc0FycmF5KHN0b3Jlcyk7XG5cdC8qKiBAdHlwZSB7QXJyYXk8aW1wb3J0KCcuL3B1YmxpYy5qcycpLlJlYWRhYmxlPGFueT4+fSAqL1xuXHRjb25zdCBzdG9yZXNfYXJyYXkgPSBzaW5nbGUgPyBbc3RvcmVzXSA6IHN0b3Jlcztcblx0aWYgKCFzdG9yZXNfYXJyYXkuZXZlcnkoQm9vbGVhbikpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoJ2Rlcml2ZWQoKSBleHBlY3RzIHN0b3JlcyBhcyBpbnB1dCwgZ290IGEgZmFsc3kgdmFsdWUnKTtcblx0fVxuXHRjb25zdCBhdXRvID0gZm4ubGVuZ3RoIDwgMjtcblx0cmV0dXJuIHJlYWRhYmxlKGluaXRpYWxfdmFsdWUsIChzZXQsIHVwZGF0ZSkgPT4ge1xuXHRcdGxldCBzdGFydGVkID0gZmFsc2U7XG5cdFx0Y29uc3QgdmFsdWVzID0gW107XG5cdFx0bGV0IHBlbmRpbmcgPSAwO1xuXHRcdGxldCBjbGVhbnVwID0gbm9vcDtcblx0XHRjb25zdCBzeW5jID0gKCkgPT4ge1xuXHRcdFx0aWYgKHBlbmRpbmcpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0Y2xlYW51cCgpO1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0gZm4oc2luZ2xlID8gdmFsdWVzWzBdIDogdmFsdWVzLCBzZXQsIHVwZGF0ZSk7XG5cdFx0XHRpZiAoYXV0bykge1xuXHRcdFx0XHRzZXQocmVzdWx0KTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNsZWFudXAgPSBpc19mdW5jdGlvbihyZXN1bHQpID8gcmVzdWx0IDogbm9vcDtcblx0XHRcdH1cblx0XHR9O1xuXHRcdGNvbnN0IHVuc3Vic2NyaWJlcnMgPSBzdG9yZXNfYXJyYXkubWFwKChzdG9yZSwgaSkgPT5cblx0XHRcdHN1YnNjcmliZShcblx0XHRcdFx0c3RvcmUsXG5cdFx0XHRcdCh2YWx1ZSkgPT4ge1xuXHRcdFx0XHRcdHZhbHVlc1tpXSA9IHZhbHVlO1xuXHRcdFx0XHRcdHBlbmRpbmcgJj0gfigxIDw8IGkpO1xuXHRcdFx0XHRcdGlmIChzdGFydGVkKSB7XG5cdFx0XHRcdFx0XHRzeW5jKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHQoKSA9PiB7XG5cdFx0XHRcdFx0cGVuZGluZyB8PSAxIDw8IGk7XG5cdFx0XHRcdH1cblx0XHRcdClcblx0XHQpO1xuXHRcdHN0YXJ0ZWQgPSB0cnVlO1xuXHRcdHN5bmMoKTtcblx0XHRyZXR1cm4gZnVuY3Rpb24gc3RvcCgpIHtcblx0XHRcdHJ1bl9hbGwodW5zdWJzY3JpYmVycyk7XG5cdFx0XHRjbGVhbnVwKCk7XG5cdFx0XHQvLyBXZSBuZWVkIHRvIHNldCB0aGlzIHRvIGZhbHNlIGJlY2F1c2UgY2FsbGJhY2tzIGNhbiBzdGlsbCBoYXBwZW4gZGVzcGl0ZSBoYXZpbmcgdW5zdWJzY3JpYmVkOlxuXHRcdFx0Ly8gQ2FsbGJhY2tzIG1pZ2h0IGFscmVhZHkgYmUgcGxhY2VkIGluIHRoZSBxdWV1ZSB3aGljaCBkb2Vzbid0IGtub3cgaXQgc2hvdWxkIG5vIGxvbmdlclxuXHRcdFx0Ly8gaW52b2tlIHRoaXMgZGVyaXZlZCBzdG9yZS5cblx0XHRcdHN0YXJ0ZWQgPSBmYWxzZTtcblx0XHR9O1xuXHR9KTtcbn1cblxuLyoqXG4gKiBUYWtlcyBhIHN0b3JlIGFuZCByZXR1cm5zIGEgbmV3IG9uZSBkZXJpdmVkIGZyb20gdGhlIG9sZCBvbmUgdGhhdCBpcyByZWFkYWJsZS5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUtc3RvcmUjcmVhZG9ubHlcbiAqIEB0ZW1wbGF0ZSBUXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9wdWJsaWMuanMnKS5SZWFkYWJsZTxUPn0gc3RvcmUgIC0gc3RvcmUgdG8gbWFrZSByZWFkb25seVxuICogQHJldHVybnMge2ltcG9ydCgnLi9wdWJsaWMuanMnKS5SZWFkYWJsZTxUPn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlYWRvbmx5KHN0b3JlKSB7XG5cdHJldHVybiB7XG5cdFx0c3Vic2NyaWJlOiBzdG9yZS5zdWJzY3JpYmUuYmluZChzdG9yZSlcblx0fTtcbn1cblxuZXhwb3J0IHsgZ2V0X3N0b3JlX3ZhbHVlIGFzIGdldCB9O1xuIiwgIjxzY3JpcHQgbGFuZz1cInRzXCIgY29udGV4dD1cIm1vZHVsZVwiPlxuICBpbXBvcnQgeyB3cml0YWJsZSwgdHlwZSBXcml0YWJsZSB9IGZyb20gJ3N2ZWx0ZS9zdG9yZSc7XG4gIGltcG9ydCB7IGZhZGUgfSBmcm9tICdzdmVsdGUvdHJhbnNpdGlvbic7XG5cbiAgZXhwb3J0IGNvbnN0IGJhY2tkcm9wVmlzaWJsZTogV3JpdGFibGU8Ym9vbGVhbj4gPSB3cml0YWJsZShmYWxzZSk7XG48L3NjcmlwdD5cblxueyNpZiAkYmFja2Ryb3BWaXNpYmxlfVxuICA8ZGl2IGNsYXNzPVwiYmctYmxhY2svNTAgYWJzb2x1dGUgaW5zZXQtMCB6LTMwXCIgdHJhbnNpdGlvbjpmYWRlIGRhdGEtdGVzdC1pZD1cImJhY2tkcm9wXCI+PC9kaXY+XG57L2lmfVxuIiwgIjxzY3JpcHQgbGFuZz1cInRzXCI+XG4gIGltcG9ydCB0eXBlIHsgUGFnZSB9IGZyb20gXCIkbGliL3R5cGVzXCI7XG4gIFxuICBleHBvcnQgbGV0IHBhZ2U6IFBhZ2U7XG5cbiAgZnVuY3Rpb24gZ2V0UGFnZU5hbWUocGFnZTogUGFnZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuICghcGFnZS5wYXRoIHx8IHBhZ2UucGF0aCA9PT0gJycpID8gJ2luZGV4JyA6IHBhZ2UucGF0aDtcbiAgfVxuPC9zY3JpcHQ+XG48ZGl2IFxuICBjbGFzcz1cImZsZXgtMSBmbGV4IGZsZXgtY29sXCIgXG4gIGRhdGEtdGVzdC1pZD1cImZha2UtYnJvd3NlclwiPlxuICA8ZGl2IFxuICAgIGNsYXNzPVwiYmctZ3JheS01MCBib3JkZXItYiBib3JkZXItZ3JheS0yMDAgYm9yZGVyLXNvbGlkIHJvdW5kZWQtdC14bCBoLTEyIHB4LTMuNSBmbGV4XCIgXG4gICAgZGF0YS10ZXN0LWlkPVwiYWRkcmVzcy1iYXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWwtNCBweS0yXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImlubGluZS1ibG9jayBoLTIgdy0yIG1sLTIgcm91bmRlZC1mdWxsIGJnLXJlZC05MDBcIj48L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cImlubGluZS1ibG9jayBoLTIgdy0yIG1sLTIgcm91bmRlZC1mdWxsIGJnLWFtYmVyLTQwMFwiPjwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiaW5saW5lLWJsb2NrIGgtMiB3LTIgbWwtMiByb3VuZGVkLWZ1bGwgYmctbGltZS03MDBcIj48L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZsZXgtMSBweS0yLjUgb3ZlcmZsb3ctdmlzaWJsZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJvdW5kZWQgYmctd2hpdGUgYmctZ3JheS01MCBib3JkZXItYiBib3JkZXItZ3JheS0yMDAgc2hhZG93IG1heC13LXhzIG14LWF1dG8gdGV4dC1jZW50ZXIgcHktMC41IHJlbGF0aXZlXCI+XG4gICAgICAgIDxzcGFuIGRhdGEtdGVzdC1pZD1cInVybC1ib3hcIj57Z2V0UGFnZU5hbWUocGFnZSl9PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInB5LTNcIj5cbiAgICAgIEQgfCBUIHwgUFxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPHNsb3QvPlxuPC9kaXY+IiwgImZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHtcbiAgaWYgKGtleSBpbiBvYmopIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHtcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB3cml0YWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIG9ialtrZXldID0gdmFsdWU7XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuXG5mdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHtcbiAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpO1xuXG4gIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7XG4gICAgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkge1xuICAgICAgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7XG4gICAgfSk7XG4gICAga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpO1xuICB9XG5cbiAgcmV0dXJuIGtleXM7XG59XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQyKHRhcmdldCkge1xuICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9O1xuXG4gICAgaWYgKGkgJSAyKSB7XG4gICAgICBvd25LZXlzKE9iamVjdChzb3VyY2UpLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBvd25LZXlzKE9iamVjdChzb3VyY2UpKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufVxuXG5mdW5jdGlvbiBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShzb3VyY2UsIGV4Y2x1ZGVkKSB7XG4gIGlmIChzb3VyY2UgPT0gbnVsbCkgcmV0dXJuIHt9O1xuICB2YXIgdGFyZ2V0ID0ge307XG4gIHZhciBzb3VyY2VLZXlzID0gT2JqZWN0LmtleXMoc291cmNlKTtcbiAgdmFyIGtleSwgaTtcblxuICBmb3IgKGkgPSAwOyBpIDwgc291cmNlS2V5cy5sZW5ndGg7IGkrKykge1xuICAgIGtleSA9IHNvdXJjZUtleXNbaV07XG4gICAgaWYgKGV4Y2x1ZGVkLmluZGV4T2Yoa2V5KSA+PSAwKSBjb250aW51ZTtcbiAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuZnVuY3Rpb24gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKHNvdXJjZSwgZXhjbHVkZWQpIHtcbiAgaWYgKHNvdXJjZSA9PSBudWxsKSByZXR1cm4ge307XG5cbiAgdmFyIHRhcmdldCA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlKHNvdXJjZSwgZXhjbHVkZWQpO1xuXG4gIHZhciBrZXksIGk7XG5cbiAgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICB2YXIgc291cmNlU3ltYm9sS2V5cyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoc291cmNlKTtcblxuICAgIGZvciAoaSA9IDA7IGkgPCBzb3VyY2VTeW1ib2xLZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBrZXkgPSBzb3VyY2VTeW1ib2xLZXlzW2ldO1xuICAgICAgaWYgKGV4Y2x1ZGVkLmluZGV4T2Yoa2V5KSA+PSAwKSBjb250aW51ZTtcbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHNvdXJjZSwga2V5KSkgY29udGludWU7XG4gICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbmZ1bmN0aW9uIF9zbGljZWRUb0FycmF5KGFyciwgaSkge1xuICByZXR1cm4gX2FycmF5V2l0aEhvbGVzKGFycikgfHwgX2l0ZXJhYmxlVG9BcnJheUxpbWl0KGFyciwgaSkgfHwgX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KGFyciwgaSkgfHwgX25vbkl0ZXJhYmxlUmVzdCgpO1xufVxuXG5mdW5jdGlvbiBfYXJyYXlXaXRoSG9sZXMoYXJyKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGFycikpIHJldHVybiBhcnI7XG59XG5cbmZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXlMaW1pdChhcnIsIGkpIHtcbiAgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwidW5kZWZpbmVkXCIgfHwgIShTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KGFycikpKSByZXR1cm47XG4gIHZhciBfYXJyID0gW107XG4gIHZhciBfbiA9IHRydWU7XG4gIHZhciBfZCA9IGZhbHNlO1xuICB2YXIgX2UgPSB1bmRlZmluZWQ7XG5cbiAgdHJ5IHtcbiAgICBmb3IgKHZhciBfaSA9IGFycltTeW1ib2wuaXRlcmF0b3JdKCksIF9zOyAhKF9uID0gKF9zID0gX2kubmV4dCgpKS5kb25lKTsgX24gPSB0cnVlKSB7XG4gICAgICBfYXJyLnB1c2goX3MudmFsdWUpO1xuXG4gICAgICBpZiAoaSAmJiBfYXJyLmxlbmd0aCA9PT0gaSkgYnJlYWs7XG4gICAgfVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICBfZCA9IHRydWU7XG4gICAgX2UgPSBlcnI7XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICghX24gJiYgX2lbXCJyZXR1cm5cIl0gIT0gbnVsbCkgX2lbXCJyZXR1cm5cIl0oKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaWYgKF9kKSB0aHJvdyBfZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gX2Fycjtcbn1cblxuZnVuY3Rpb24gX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KG8sIG1pbkxlbikge1xuICBpZiAoIW8pIHJldHVybjtcbiAgaWYgKHR5cGVvZiBvID09PSBcInN0cmluZ1wiKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTtcbiAgdmFyIG4gPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykuc2xpY2UoOCwgLTEpO1xuICBpZiAobiA9PT0gXCJPYmplY3RcIiAmJiBvLmNvbnN0cnVjdG9yKSBuID0gby5jb25zdHJ1Y3Rvci5uYW1lO1xuICBpZiAobiA9PT0gXCJNYXBcIiB8fCBuID09PSBcIlNldFwiKSByZXR1cm4gQXJyYXkuZnJvbShvKTtcbiAgaWYgKG4gPT09IFwiQXJndW1lbnRzXCIgfHwgL14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pO1xufVxuXG5mdW5jdGlvbiBfYXJyYXlMaWtlVG9BcnJheShhcnIsIGxlbikge1xuICBpZiAobGVuID09IG51bGwgfHwgbGVuID4gYXJyLmxlbmd0aCkgbGVuID0gYXJyLmxlbmd0aDtcblxuICBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIGFycjJbaV0gPSBhcnJbaV07XG5cbiAgcmV0dXJuIGFycjI7XG59XG5cbmZ1bmN0aW9uIF9ub25JdGVyYWJsZVJlc3QoKSB7XG4gIHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7XG59XG5cbmV4cG9ydCB7IF9hcnJheUxpa2VUb0FycmF5IGFzIGFycmF5TGlrZVRvQXJyYXksIF9hcnJheVdpdGhIb2xlcyBhcyBhcnJheVdpdGhIb2xlcywgX2RlZmluZVByb3BlcnR5IGFzIGRlZmluZVByb3BlcnR5LCBfaXRlcmFibGVUb0FycmF5TGltaXQgYXMgaXRlcmFibGVUb0FycmF5TGltaXQsIF9ub25JdGVyYWJsZVJlc3QgYXMgbm9uSXRlcmFibGVSZXN0LCBfb2JqZWN0U3ByZWFkMiBhcyBvYmplY3RTcHJlYWQyLCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgYXMgb2JqZWN0V2l0aG91dFByb3BlcnRpZXMsIF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIGFzIG9iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UsIF9zbGljZWRUb0FycmF5IGFzIHNsaWNlZFRvQXJyYXksIF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSBhcyB1bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSB9O1xuIiwgImZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHtcbiAgaWYgKGtleSBpbiBvYmopIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHtcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB3cml0YWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIG9ialtrZXldID0gdmFsdWU7XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuXG5mdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHtcbiAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpO1xuXG4gIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7XG4gICAgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkge1xuICAgICAgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7XG4gICAgfSk7XG4gICAga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpO1xuICB9XG5cbiAgcmV0dXJuIGtleXM7XG59XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQyKHRhcmdldCkge1xuICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9O1xuXG4gICAgaWYgKGkgJSAyKSB7XG4gICAgICBvd25LZXlzKE9iamVjdChzb3VyY2UpLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBvd25LZXlzKE9iamVjdChzb3VyY2UpKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufVxuXG5mdW5jdGlvbiBjb21wb3NlKCkge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgZm5zID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIGZuc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgfVxuXG4gIHJldHVybiBmdW5jdGlvbiAoeCkge1xuICAgIHJldHVybiBmbnMucmVkdWNlUmlnaHQoZnVuY3Rpb24gKHksIGYpIHtcbiAgICAgIHJldHVybiBmKHkpO1xuICAgIH0sIHgpO1xuICB9O1xufVxuXG5mdW5jdGlvbiBjdXJyeShmbikge1xuICByZXR1cm4gZnVuY3Rpb24gY3VycmllZCgpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgZm9yICh2YXIgX2xlbjIgPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4yKSwgX2tleTIgPSAwOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgICBhcmdzW19rZXkyXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgfVxuXG4gICAgcmV0dXJuIGFyZ3MubGVuZ3RoID49IGZuLmxlbmd0aCA/IGZuLmFwcGx5KHRoaXMsIGFyZ3MpIDogZnVuY3Rpb24gKCkge1xuICAgICAgZm9yICh2YXIgX2xlbjMgPSBhcmd1bWVudHMubGVuZ3RoLCBuZXh0QXJncyA9IG5ldyBBcnJheShfbGVuMyksIF9rZXkzID0gMDsgX2tleTMgPCBfbGVuMzsgX2tleTMrKykge1xuICAgICAgICBuZXh0QXJnc1tfa2V5M10gPSBhcmd1bWVudHNbX2tleTNdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY3VycmllZC5hcHBseShfdGhpcywgW10uY29uY2F0KGFyZ3MsIG5leHRBcmdzKSk7XG4gICAgfTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gaXNPYmplY3QodmFsdWUpIHtcbiAgcmV0dXJuIHt9LnRvU3RyaW5nLmNhbGwodmFsdWUpLmluY2x1ZGVzKCdPYmplY3QnKTtcbn1cblxuZnVuY3Rpb24gaXNFbXB0eShvYmopIHtcbiAgcmV0dXJuICFPYmplY3Qua2V5cyhvYmopLmxlbmd0aDtcbn1cblxuZnVuY3Rpb24gaXNGdW5jdGlvbih2YWx1ZSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nO1xufVxuXG5mdW5jdGlvbiBoYXNPd25Qcm9wZXJ0eShvYmplY3QsIHByb3BlcnR5KSB7XG4gIHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2hhbmdlcyhpbml0aWFsLCBjaGFuZ2VzKSB7XG4gIGlmICghaXNPYmplY3QoY2hhbmdlcykpIGVycm9ySGFuZGxlcignY2hhbmdlVHlwZScpO1xuICBpZiAoT2JqZWN0LmtleXMoY2hhbmdlcykuc29tZShmdW5jdGlvbiAoZmllbGQpIHtcbiAgICByZXR1cm4gIWhhc093blByb3BlcnR5KGluaXRpYWwsIGZpZWxkKTtcbiAgfSkpIGVycm9ySGFuZGxlcignY2hhbmdlRmllbGQnKTtcbiAgcmV0dXJuIGNoYW5nZXM7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlU2VsZWN0b3Ioc2VsZWN0b3IpIHtcbiAgaWYgKCFpc0Z1bmN0aW9uKHNlbGVjdG9yKSkgZXJyb3JIYW5kbGVyKCdzZWxlY3RvclR5cGUnKTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVIYW5kbGVyKGhhbmRsZXIpIHtcbiAgaWYgKCEoaXNGdW5jdGlvbihoYW5kbGVyKSB8fCBpc09iamVjdChoYW5kbGVyKSkpIGVycm9ySGFuZGxlcignaGFuZGxlclR5cGUnKTtcbiAgaWYgKGlzT2JqZWN0KGhhbmRsZXIpICYmIE9iamVjdC52YWx1ZXMoaGFuZGxlcikuc29tZShmdW5jdGlvbiAoX2hhbmRsZXIpIHtcbiAgICByZXR1cm4gIWlzRnVuY3Rpb24oX2hhbmRsZXIpO1xuICB9KSkgZXJyb3JIYW5kbGVyKCdoYW5kbGVyc1R5cGUnKTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVJbml0aWFsKGluaXRpYWwpIHtcbiAgaWYgKCFpbml0aWFsKSBlcnJvckhhbmRsZXIoJ2luaXRpYWxJc1JlcXVpcmVkJyk7XG4gIGlmICghaXNPYmplY3QoaW5pdGlhbCkpIGVycm9ySGFuZGxlcignaW5pdGlhbFR5cGUnKTtcbiAgaWYgKGlzRW1wdHkoaW5pdGlhbCkpIGVycm9ySGFuZGxlcignaW5pdGlhbENvbnRlbnQnKTtcbn1cblxuZnVuY3Rpb24gdGhyb3dFcnJvcihlcnJvck1lc3NhZ2VzLCB0eXBlKSB7XG4gIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2VzW3R5cGVdIHx8IGVycm9yTWVzc2FnZXNbXCJkZWZhdWx0XCJdKTtcbn1cblxudmFyIGVycm9yTWVzc2FnZXMgPSB7XG4gIGluaXRpYWxJc1JlcXVpcmVkOiAnaW5pdGlhbCBzdGF0ZSBpcyByZXF1aXJlZCcsXG4gIGluaXRpYWxUeXBlOiAnaW5pdGlhbCBzdGF0ZSBzaG91bGQgYmUgYW4gb2JqZWN0JyxcbiAgaW5pdGlhbENvbnRlbnQ6ICdpbml0aWFsIHN0YXRlIHNob3VsZG5cXCd0IGJlIGFuIGVtcHR5IG9iamVjdCcsXG4gIGhhbmRsZXJUeXBlOiAnaGFuZGxlciBzaG91bGQgYmUgYW4gb2JqZWN0IG9yIGEgZnVuY3Rpb24nLFxuICBoYW5kbGVyc1R5cGU6ICdhbGwgaGFuZGxlcnMgc2hvdWxkIGJlIGEgZnVuY3Rpb25zJyxcbiAgc2VsZWN0b3JUeXBlOiAnc2VsZWN0b3Igc2hvdWxkIGJlIGEgZnVuY3Rpb24nLFxuICBjaGFuZ2VUeXBlOiAncHJvdmlkZWQgdmFsdWUgb2YgY2hhbmdlcyBzaG91bGQgYmUgYW4gb2JqZWN0JyxcbiAgY2hhbmdlRmllbGQ6ICdpdCBzZWFtcyB5b3Ugd2FudCB0byBjaGFuZ2UgYSBmaWVsZCBpbiB0aGUgc3RhdGUgd2hpY2ggaXMgbm90IHNwZWNpZmllZCBpbiB0aGUgXCJpbml0aWFsXCIgc3RhdGUnLFxuICBcImRlZmF1bHRcIjogJ2FuIHVua25vd24gZXJyb3IgYWNjdXJlZCBpbiBgc3RhdGUtbG9jYWxgIHBhY2thZ2UnXG59O1xudmFyIGVycm9ySGFuZGxlciA9IGN1cnJ5KHRocm93RXJyb3IpKGVycm9yTWVzc2FnZXMpO1xudmFyIHZhbGlkYXRvcnMgPSB7XG4gIGNoYW5nZXM6IHZhbGlkYXRlQ2hhbmdlcyxcbiAgc2VsZWN0b3I6IHZhbGlkYXRlU2VsZWN0b3IsXG4gIGhhbmRsZXI6IHZhbGlkYXRlSGFuZGxlcixcbiAgaW5pdGlhbDogdmFsaWRhdGVJbml0aWFsXG59O1xuXG5mdW5jdGlvbiBjcmVhdGUoaW5pdGlhbCkge1xuICB2YXIgaGFuZGxlciA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307XG4gIHZhbGlkYXRvcnMuaW5pdGlhbChpbml0aWFsKTtcbiAgdmFsaWRhdG9ycy5oYW5kbGVyKGhhbmRsZXIpO1xuICB2YXIgc3RhdGUgPSB7XG4gICAgY3VycmVudDogaW5pdGlhbFxuICB9O1xuICB2YXIgZGlkVXBkYXRlID0gY3VycnkoZGlkU3RhdGVVcGRhdGUpKHN0YXRlLCBoYW5kbGVyKTtcbiAgdmFyIHVwZGF0ZSA9IGN1cnJ5KHVwZGF0ZVN0YXRlKShzdGF0ZSk7XG4gIHZhciB2YWxpZGF0ZSA9IGN1cnJ5KHZhbGlkYXRvcnMuY2hhbmdlcykoaW5pdGlhbCk7XG4gIHZhciBnZXRDaGFuZ2VzID0gY3VycnkoZXh0cmFjdENoYW5nZXMpKHN0YXRlKTtcblxuICBmdW5jdGlvbiBnZXRTdGF0ZSgpIHtcbiAgICB2YXIgc2VsZWN0b3IgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IGZ1bmN0aW9uIChzdGF0ZSkge1xuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH07XG4gICAgdmFsaWRhdG9ycy5zZWxlY3RvcihzZWxlY3Rvcik7XG4gICAgcmV0dXJuIHNlbGVjdG9yKHN0YXRlLmN1cnJlbnQpO1xuICB9XG5cbiAgZnVuY3Rpb24gc2V0U3RhdGUoY2F1c2VkQ2hhbmdlcykge1xuICAgIGNvbXBvc2UoZGlkVXBkYXRlLCB1cGRhdGUsIHZhbGlkYXRlLCBnZXRDaGFuZ2VzKShjYXVzZWRDaGFuZ2VzKTtcbiAgfVxuXG4gIHJldHVybiBbZ2V0U3RhdGUsIHNldFN0YXRlXTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdENoYW5nZXMoc3RhdGUsIGNhdXNlZENoYW5nZXMpIHtcbiAgcmV0dXJuIGlzRnVuY3Rpb24oY2F1c2VkQ2hhbmdlcykgPyBjYXVzZWRDaGFuZ2VzKHN0YXRlLmN1cnJlbnQpIDogY2F1c2VkQ2hhbmdlcztcbn1cblxuZnVuY3Rpb24gdXBkYXRlU3RhdGUoc3RhdGUsIGNoYW5nZXMpIHtcbiAgc3RhdGUuY3VycmVudCA9IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBzdGF0ZS5jdXJyZW50KSwgY2hhbmdlcyk7XG4gIHJldHVybiBjaGFuZ2VzO1xufVxuXG5mdW5jdGlvbiBkaWRTdGF0ZVVwZGF0ZShzdGF0ZSwgaGFuZGxlciwgY2hhbmdlcykge1xuICBpc0Z1bmN0aW9uKGhhbmRsZXIpID8gaGFuZGxlcihzdGF0ZS5jdXJyZW50KSA6IE9iamVjdC5rZXlzKGNoYW5nZXMpLmZvckVhY2goZnVuY3Rpb24gKGZpZWxkKSB7XG4gICAgdmFyIF9oYW5kbGVyJGZpZWxkO1xuXG4gICAgcmV0dXJuIChfaGFuZGxlciRmaWVsZCA9IGhhbmRsZXJbZmllbGRdKSA9PT0gbnVsbCB8fCBfaGFuZGxlciRmaWVsZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2hhbmRsZXIkZmllbGQuY2FsbChoYW5kbGVyLCBzdGF0ZS5jdXJyZW50W2ZpZWxkXSk7XG4gIH0pO1xuICByZXR1cm4gY2hhbmdlcztcbn1cblxudmFyIGluZGV4ID0ge1xuICBjcmVhdGU6IGNyZWF0ZVxufTtcblxuZXhwb3J0IGRlZmF1bHQgaW5kZXg7XG4iLCAidmFyIGNvbmZpZyA9IHtcbiAgcGF0aHM6IHtcbiAgICB2czogJ2h0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbW9uYWNvLWVkaXRvckAwLjQzLjAvbWluL3ZzJ1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb25maWc7XG4iLCAiZnVuY3Rpb24gY3VycnkoZm4pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGN1cnJpZWQoKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXJncy5sZW5ndGggPj0gZm4ubGVuZ3RoID8gZm4uYXBwbHkodGhpcywgYXJncykgOiBmdW5jdGlvbiAoKSB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIG5leHRBcmdzID0gbmV3IEFycmF5KF9sZW4yKSwgX2tleTIgPSAwOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgICAgIG5leHRBcmdzW19rZXkyXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjdXJyaWVkLmFwcGx5KF90aGlzLCBbXS5jb25jYXQoYXJncywgbmV4dEFyZ3MpKTtcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjdXJyeTtcbiIsICJmdW5jdGlvbiBpc09iamVjdCh2YWx1ZSkge1xuICByZXR1cm4ge30udG9TdHJpbmcuY2FsbCh2YWx1ZSkuaW5jbHVkZXMoJ09iamVjdCcpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBpc09iamVjdDtcbiIsICJpbXBvcnQgY3VycnkgZnJvbSAnLi4vdXRpbHMvY3VycnkuanMnO1xuaW1wb3J0IGlzT2JqZWN0IGZyb20gJy4uL3V0aWxzL2lzT2JqZWN0LmpzJztcblxuLyoqXG4gKiB2YWxpZGF0ZXMgdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGFuZCBpbmZvcm1zIGFib3V0IGRlcHJlY2F0aW9uXG4gKiBAcGFyYW0ge09iamVjdH0gY29uZmlnIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IFxuICogQHJldHVybiB7T2JqZWN0fSBjb25maWcgLSB0aGUgdmFsaWRhdGVkIGNvbmZpZ3VyYXRpb24gb2JqZWN0XG4gKi9cblxuZnVuY3Rpb24gdmFsaWRhdGVDb25maWcoY29uZmlnKSB7XG4gIGlmICghY29uZmlnKSBlcnJvckhhbmRsZXIoJ2NvbmZpZ0lzUmVxdWlyZWQnKTtcbiAgaWYgKCFpc09iamVjdChjb25maWcpKSBlcnJvckhhbmRsZXIoJ2NvbmZpZ1R5cGUnKTtcblxuICBpZiAoY29uZmlnLnVybHMpIHtcbiAgICBpbmZvcm1BYm91dERlcHJlY2F0aW9uKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhdGhzOiB7XG4gICAgICAgIHZzOiBjb25maWcudXJscy5tb25hY29CYXNlXG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBjb25maWc7XG59XG4vKipcbiAqIGxvZ3MgZGVwcmVjYXRpb24gbWVzc2FnZVxuICovXG5cblxuZnVuY3Rpb24gaW5mb3JtQWJvdXREZXByZWNhdGlvbigpIHtcbiAgY29uc29sZS53YXJuKGVycm9yTWVzc2FnZXMuZGVwcmVjYXRpb24pO1xufVxuXG5mdW5jdGlvbiB0aHJvd0Vycm9yKGVycm9yTWVzc2FnZXMsIHR5cGUpIHtcbiAgdGhyb3cgbmV3IEVycm9yKGVycm9yTWVzc2FnZXNbdHlwZV0gfHwgZXJyb3JNZXNzYWdlc1tcImRlZmF1bHRcIl0pO1xufVxuXG52YXIgZXJyb3JNZXNzYWdlcyA9IHtcbiAgY29uZmlnSXNSZXF1aXJlZDogJ3RoZSBjb25maWd1cmF0aW9uIG9iamVjdCBpcyByZXF1aXJlZCcsXG4gIGNvbmZpZ1R5cGU6ICd0aGUgY29uZmlndXJhdGlvbiBvYmplY3Qgc2hvdWxkIGJlIGFuIG9iamVjdCcsXG4gIFwiZGVmYXVsdFwiOiAnYW4gdW5rbm93biBlcnJvciBhY2N1cmVkIGluIGBAbW9uYWNvLWVkaXRvci9sb2FkZXJgIHBhY2thZ2UnLFxuICBkZXByZWNhdGlvbjogXCJEZXByZWNhdGlvbiB3YXJuaW5nIVxcbiAgICBZb3UgYXJlIHVzaW5nIGRlcHJlY2F0ZWQgd2F5IG9mIGNvbmZpZ3VyYXRpb24uXFxuXFxuICAgIEluc3RlYWQgb2YgdXNpbmdcXG4gICAgICBtb25hY28uY29uZmlnKHsgdXJsczogeyBtb25hY29CYXNlOiAnLi4uJyB9IH0pXFxuICAgIHVzZVxcbiAgICAgIG1vbmFjby5jb25maWcoeyBwYXRoczogeyB2czogJy4uLicgfSB9KVxcblxcbiAgICBGb3IgbW9yZSBwbGVhc2UgY2hlY2sgdGhlIGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3N1cmVuLWF0b3lhbi9tb25hY28tbG9hZGVyI2NvbmZpZ1xcbiAgXCJcbn07XG52YXIgZXJyb3JIYW5kbGVyID0gY3VycnkodGhyb3dFcnJvcikoZXJyb3JNZXNzYWdlcyk7XG52YXIgdmFsaWRhdG9ycyA9IHtcbiAgY29uZmlnOiB2YWxpZGF0ZUNvbmZpZ1xufTtcblxuZXhwb3J0IGRlZmF1bHQgdmFsaWRhdG9ycztcbmV4cG9ydCB7IGVycm9ySGFuZGxlciwgZXJyb3JNZXNzYWdlcyB9O1xuIiwgInZhciBjb21wb3NlID0gZnVuY3Rpb24gY29tcG9zZSgpIHtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGZucyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICBmbnNbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24gKHgpIHtcbiAgICByZXR1cm4gZm5zLnJlZHVjZVJpZ2h0KGZ1bmN0aW9uICh5LCBmKSB7XG4gICAgICByZXR1cm4gZih5KTtcbiAgICB9LCB4KTtcbiAgfTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvc2U7XG4iLCAiaW1wb3J0IHsgb2JqZWN0U3ByZWFkMiBhcyBfb2JqZWN0U3ByZWFkMiB9IGZyb20gJy4uL192aXJ0dWFsL19yb2xsdXBQbHVnaW5CYWJlbEhlbHBlcnMuanMnO1xuXG5mdW5jdGlvbiBtZXJnZSh0YXJnZXQsIHNvdXJjZSkge1xuICBPYmplY3Qua2V5cyhzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgIGlmIChzb3VyY2Vba2V5XSBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgaWYgKHRhcmdldFtrZXldKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24oc291cmNlW2tleV0sIG1lcmdlKHRhcmdldFtrZXldLCBzb3VyY2Vba2V5XSkpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgdGFyZ2V0KSwgc291cmNlKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgbWVyZ2U7XG4iLCAiLy8gVGhlIHNvdXJjZSAoaGFzIGJlZW4gY2hhbmdlZCkgaXMgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy81NDY1I2lzc3VlY29tbWVudC0xNTc4ODgzMjVcbnZhciBDQU5DRUxBVElPTl9NRVNTQUdFID0ge1xuICB0eXBlOiAnY2FuY2VsYXRpb24nLFxuICBtc2c6ICdvcGVyYXRpb24gaXMgbWFudWFsbHkgY2FuY2VsZWQnXG59O1xuXG5mdW5jdGlvbiBtYWtlQ2FuY2VsYWJsZShwcm9taXNlKSB7XG4gIHZhciBoYXNDYW5jZWxlZF8gPSBmYWxzZTtcbiAgdmFyIHdyYXBwZWRQcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgIHByb21pc2UudGhlbihmdW5jdGlvbiAodmFsKSB7XG4gICAgICByZXR1cm4gaGFzQ2FuY2VsZWRfID8gcmVqZWN0KENBTkNFTEFUSU9OX01FU1NBR0UpIDogcmVzb2x2ZSh2YWwpO1xuICAgIH0pO1xuICAgIHByb21pc2VbXCJjYXRjaFwiXShyZWplY3QpO1xuICB9KTtcbiAgcmV0dXJuIHdyYXBwZWRQcm9taXNlLmNhbmNlbCA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gaGFzQ2FuY2VsZWRfID0gdHJ1ZTtcbiAgfSwgd3JhcHBlZFByb21pc2U7XG59XG5cbmV4cG9ydCBkZWZhdWx0IG1ha2VDYW5jZWxhYmxlO1xuZXhwb3J0IHsgQ0FOQ0VMQVRJT05fTUVTU0FHRSB9O1xuIiwgImltcG9ydCB7IHNsaWNlZFRvQXJyYXkgYXMgX3NsaWNlZFRvQXJyYXksIG9iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIGFzIF9vYmplY3RXaXRob3V0UHJvcGVydGllcyB9IGZyb20gJy4uL192aXJ0dWFsL19yb2xsdXBQbHVnaW5CYWJlbEhlbHBlcnMuanMnO1xuaW1wb3J0IHN0YXRlIGZyb20gJ3N0YXRlLWxvY2FsJztcbmltcG9ydCBjb25maWckMSBmcm9tICcuLi9jb25maWcvaW5kZXguanMnO1xuaW1wb3J0IHZhbGlkYXRvcnMgZnJvbSAnLi4vdmFsaWRhdG9ycy9pbmRleC5qcyc7XG5pbXBvcnQgY29tcG9zZSBmcm9tICcuLi91dGlscy9jb21wb3NlLmpzJztcbmltcG9ydCBtZXJnZSBmcm9tICcuLi91dGlscy9kZWVwTWVyZ2UuanMnO1xuaW1wb3J0IG1ha2VDYW5jZWxhYmxlIGZyb20gJy4uL3V0aWxzL21ha2VDYW5jZWxhYmxlLmpzJztcblxuLyoqIHRoZSBsb2NhbCBzdGF0ZSBvZiB0aGUgbW9kdWxlICovXG5cbnZhciBfc3RhdGUkY3JlYXRlID0gc3RhdGUuY3JlYXRlKHtcbiAgY29uZmlnOiBjb25maWckMSxcbiAgaXNJbml0aWFsaXplZDogZmFsc2UsXG4gIHJlc29sdmU6IG51bGwsXG4gIHJlamVjdDogbnVsbCxcbiAgbW9uYWNvOiBudWxsXG59KSxcbiAgICBfc3RhdGUkY3JlYXRlMiA9IF9zbGljZWRUb0FycmF5KF9zdGF0ZSRjcmVhdGUsIDIpLFxuICAgIGdldFN0YXRlID0gX3N0YXRlJGNyZWF0ZTJbMF0sXG4gICAgc2V0U3RhdGUgPSBfc3RhdGUkY3JlYXRlMlsxXTtcbi8qKlxuICogc2V0IHRoZSBsb2FkZXIgY29uZmlndXJhdGlvblxuICogQHBhcmFtIHtPYmplY3R9IGNvbmZpZyAtIHRoZSBjb25maWd1cmF0aW9uIG9iamVjdFxuICovXG5cblxuZnVuY3Rpb24gY29uZmlnKGdsb2JhbENvbmZpZykge1xuICB2YXIgX3ZhbGlkYXRvcnMkY29uZmlnID0gdmFsaWRhdG9ycy5jb25maWcoZ2xvYmFsQ29uZmlnKSxcbiAgICAgIG1vbmFjbyA9IF92YWxpZGF0b3JzJGNvbmZpZy5tb25hY28sXG4gICAgICBjb25maWcgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3ZhbGlkYXRvcnMkY29uZmlnLCBbXCJtb25hY29cIl0pO1xuXG4gIHNldFN0YXRlKGZ1bmN0aW9uIChzdGF0ZSkge1xuICAgIHJldHVybiB7XG4gICAgICBjb25maWc6IG1lcmdlKHN0YXRlLmNvbmZpZywgY29uZmlnKSxcbiAgICAgIG1vbmFjbzogbW9uYWNvXG4gICAgfTtcbiAgfSk7XG59XG4vKipcbiAqIGhhbmRsZXMgdGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSBtb25hY28tZWRpdG9yXG4gKiBAcmV0dXJuIHtQcm9taXNlfSAtIHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgbW9uYWNvICh3aXRoIGEgY2FuY2VsYWJsZSBwcm9taXNlKVxuICovXG5cblxuZnVuY3Rpb24gaW5pdCgpIHtcbiAgdmFyIHN0YXRlID0gZ2V0U3RhdGUoZnVuY3Rpb24gKF9yZWYpIHtcbiAgICB2YXIgbW9uYWNvID0gX3JlZi5tb25hY28sXG4gICAgICAgIGlzSW5pdGlhbGl6ZWQgPSBfcmVmLmlzSW5pdGlhbGl6ZWQsXG4gICAgICAgIHJlc29sdmUgPSBfcmVmLnJlc29sdmU7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1vbmFjbzogbW9uYWNvLFxuICAgICAgaXNJbml0aWFsaXplZDogaXNJbml0aWFsaXplZCxcbiAgICAgIHJlc29sdmU6IHJlc29sdmVcbiAgICB9O1xuICB9KTtcblxuICBpZiAoIXN0YXRlLmlzSW5pdGlhbGl6ZWQpIHtcbiAgICBzZXRTdGF0ZSh7XG4gICAgICBpc0luaXRpYWxpemVkOiB0cnVlXG4gICAgfSk7XG5cbiAgICBpZiAoc3RhdGUubW9uYWNvKSB7XG4gICAgICBzdGF0ZS5yZXNvbHZlKHN0YXRlLm1vbmFjbyk7XG4gICAgICByZXR1cm4gbWFrZUNhbmNlbGFibGUod3JhcHBlclByb21pc2UpO1xuICAgIH1cblxuICAgIGlmICh3aW5kb3cubW9uYWNvICYmIHdpbmRvdy5tb25hY28uZWRpdG9yKSB7XG4gICAgICBzdG9yZU1vbmFjb0luc3RhbmNlKHdpbmRvdy5tb25hY28pO1xuICAgICAgc3RhdGUucmVzb2x2ZSh3aW5kb3cubW9uYWNvKTtcbiAgICAgIHJldHVybiBtYWtlQ2FuY2VsYWJsZSh3cmFwcGVyUHJvbWlzZSk7XG4gICAgfVxuXG4gICAgY29tcG9zZShpbmplY3RTY3JpcHRzLCBnZXRNb25hY29Mb2FkZXJTY3JpcHQpKGNvbmZpZ3VyZUxvYWRlcik7XG4gIH1cblxuICByZXR1cm4gbWFrZUNhbmNlbGFibGUod3JhcHBlclByb21pc2UpO1xufVxuLyoqXG4gKiBpbmplY3RzIHByb3ZpZGVkIHNjcmlwdHMgaW50byB0aGUgZG9jdW1lbnQuYm9keVxuICogQHBhcmFtIHtPYmplY3R9IHNjcmlwdCAtIGFuIEhUTUwgc2NyaXB0IGVsZW1lbnRcbiAqIEByZXR1cm4ge09iamVjdH0gLSB0aGUgaW5qZWN0ZWQgSFRNTCBzY3JpcHQgZWxlbWVudFxuICovXG5cblxuZnVuY3Rpb24gaW5qZWN0U2NyaXB0cyhzY3JpcHQpIHtcbiAgcmV0dXJuIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbn1cbi8qKlxuICogY3JlYXRlcyBhbiBIVE1MIHNjcmlwdCBlbGVtZW50IHdpdGgvd2l0aG91dCBwcm92aWRlZCBzcmNcbiAqIEBwYXJhbSB7c3RyaW5nfSBbc3JjXSAtIHRoZSBzb3VyY2UgcGF0aCBvZiB0aGUgc2NyaXB0XG4gKiBAcmV0dXJuIHtPYmplY3R9IC0gdGhlIGNyZWF0ZWQgSFRNTCBzY3JpcHQgZWxlbWVudFxuICovXG5cblxuZnVuY3Rpb24gY3JlYXRlU2NyaXB0KHNyYykge1xuICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gIHJldHVybiBzcmMgJiYgKHNjcmlwdC5zcmMgPSBzcmMpLCBzY3JpcHQ7XG59XG4vKipcbiAqIGNyZWF0ZXMgYW4gSFRNTCBzY3JpcHQgZWxlbWVudCB3aXRoIHRoZSBtb25hY28gbG9hZGVyIHNyY1xuICogQHJldHVybiB7T2JqZWN0fSAtIHRoZSBjcmVhdGVkIEhUTUwgc2NyaXB0IGVsZW1lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIGdldE1vbmFjb0xvYWRlclNjcmlwdChjb25maWd1cmVMb2FkZXIpIHtcbiAgdmFyIHN0YXRlID0gZ2V0U3RhdGUoZnVuY3Rpb24gKF9yZWYyKSB7XG4gICAgdmFyIGNvbmZpZyA9IF9yZWYyLmNvbmZpZyxcbiAgICAgICAgcmVqZWN0ID0gX3JlZjIucmVqZWN0O1xuICAgIHJldHVybiB7XG4gICAgICBjb25maWc6IGNvbmZpZyxcbiAgICAgIHJlamVjdDogcmVqZWN0XG4gICAgfTtcbiAgfSk7XG4gIHZhciBsb2FkZXJTY3JpcHQgPSBjcmVhdGVTY3JpcHQoXCJcIi5jb25jYXQoc3RhdGUuY29uZmlnLnBhdGhzLnZzLCBcIi9sb2FkZXIuanNcIikpO1xuXG4gIGxvYWRlclNjcmlwdC5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIGNvbmZpZ3VyZUxvYWRlcigpO1xuICB9O1xuXG4gIGxvYWRlclNjcmlwdC5vbmVycm9yID0gc3RhdGUucmVqZWN0O1xuICByZXR1cm4gbG9hZGVyU2NyaXB0O1xufVxuLyoqXG4gKiBjb25maWd1cmVzIHRoZSBtb25hY28gbG9hZGVyXG4gKi9cblxuXG5mdW5jdGlvbiBjb25maWd1cmVMb2FkZXIoKSB7XG4gIHZhciBzdGF0ZSA9IGdldFN0YXRlKGZ1bmN0aW9uIChfcmVmMykge1xuICAgIHZhciBjb25maWcgPSBfcmVmMy5jb25maWcsXG4gICAgICAgIHJlc29sdmUgPSBfcmVmMy5yZXNvbHZlLFxuICAgICAgICByZWplY3QgPSBfcmVmMy5yZWplY3Q7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbmZpZzogY29uZmlnLFxuICAgICAgcmVzb2x2ZTogcmVzb2x2ZSxcbiAgICAgIHJlamVjdDogcmVqZWN0XG4gICAgfTtcbiAgfSk7XG4gIHZhciByZXF1aXJlID0gd2luZG93LnJlcXVpcmU7XG5cbiAgcmVxdWlyZS5jb25maWcoc3RhdGUuY29uZmlnKTtcblxuICByZXF1aXJlKFsndnMvZWRpdG9yL2VkaXRvci5tYWluJ10sIGZ1bmN0aW9uIChtb25hY28pIHtcbiAgICBzdG9yZU1vbmFjb0luc3RhbmNlKG1vbmFjbyk7XG4gICAgc3RhdGUucmVzb2x2ZShtb25hY28pO1xuICB9LCBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICBzdGF0ZS5yZWplY3QoZXJyb3IpO1xuICB9KTtcbn1cbi8qKlxuICogc3RvcmUgbW9uYWNvIGluc3RhbmNlIGluIGxvY2FsIHN0YXRlXG4gKi9cblxuXG5mdW5jdGlvbiBzdG9yZU1vbmFjb0luc3RhbmNlKG1vbmFjbykge1xuICBpZiAoIWdldFN0YXRlKCkubW9uYWNvKSB7XG4gICAgc2V0U3RhdGUoe1xuICAgICAgbW9uYWNvOiBtb25hY29cbiAgICB9KTtcbiAgfVxufVxuLyoqXG4gKiBpbnRlcm5hbCBoZWxwZXIgZnVuY3Rpb25cbiAqIGV4dHJhY3RzIHN0b3JlZCBtb25hY28gaW5zdGFuY2VcbiAqIEByZXR1cm4ge09iamVjdHxudWxsfSAtIHRoZSBtb25hY28gaW5zdGFuY2VcbiAqL1xuXG5cbmZ1bmN0aW9uIF9fZ2V0TW9uYWNvSW5zdGFuY2UoKSB7XG4gIHJldHVybiBnZXRTdGF0ZShmdW5jdGlvbiAoX3JlZjQpIHtcbiAgICB2YXIgbW9uYWNvID0gX3JlZjQubW9uYWNvO1xuICAgIHJldHVybiBtb25hY287XG4gIH0pO1xufVxuXG52YXIgd3JhcHBlclByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gIHJldHVybiBzZXRTdGF0ZSh7XG4gICAgcmVzb2x2ZTogcmVzb2x2ZSxcbiAgICByZWplY3Q6IHJlamVjdFxuICB9KTtcbn0pO1xudmFyIGxvYWRlciA9IHtcbiAgY29uZmlnOiBjb25maWcsXG4gIGluaXQ6IGluaXQsXG4gIF9fZ2V0TW9uYWNvSW5zdGFuY2U6IF9fZ2V0TW9uYWNvSW5zdGFuY2Vcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGxvYWRlcjtcbiIsICI8c2NyaXB0IGxhbmc9XCJ0c1wiPlxuICBpbXBvcnQgbG9hZGVyIGZyb20gJ0Btb25hY28tZWRpdG9yL2xvYWRlcic7XG4gIGltcG9ydCB7IG9uRGVzdHJveSwgb25Nb3VudCB9IGZyb20gJ3N2ZWx0ZSc7XG4gIGltcG9ydCB0eXBlICogYXMgTW9uYWNvIGZyb20gJ21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9lZGl0b3IuYXBpJztcbiAgZXhwb3J0IGxldCB2YWx1ZTogc3RyaW5nO1xuICBpbXBvcnQgeyBjcmVhdGVFdmVudERpc3BhdGNoZXIgfSBmcm9tICdzdmVsdGUnO1xuICBsZXQgZGlzcGF0Y2ggPSBjcmVhdGVFdmVudERpc3BhdGNoZXIoKTtcbiAgXG4gIGxldCBlZGl0b3I6IE1vbmFjby5lZGl0b3IuSVN0YW5kYWxvbmVDb2RlRWRpdG9yO1xuICBsZXQgbW9uYWNvOiB0eXBlb2YgTW9uYWNvO1xuICBsZXQgZWRpdG9yQ29udGFpbmVyOiBIVE1MRWxlbWVudDtcbiAgJDoge1xuICAgIGlmIChlZGl0b3IpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdjb2RlIGVkaXRvciB2YWx1ZScsIHZhbHVlKTtcbiAgICAgIGVkaXRvci5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuICB9XG4gIG9uTW91bnQoYXN5bmMgKCkgPT4ge1xuICAgICAgbG9hZGVyLmNvbmZpZyh7IHBhdGhzOiB7IHZzOiAnL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL21pbi92cycgfSB9KTtcblxuICAgICAgbW9uYWNvID0gYXdhaXQgbG9hZGVyLmluaXQoKTtcblxuICAgICAgY29uc3QgZWRpdG9yID0gbW9uYWNvLmVkaXRvci5jcmVhdGUoZWRpdG9yQ29udGFpbmVyLCB7XG4gICAgICAgIHZhbHVlLFxuXHQgICAgICBsYW5ndWFnZTogJ2VsaXhpcicsXG4gICAgICAgIG1pbmltYXA6IHsgZW5hYmxlZDogZmFsc2UgfSxcbiAgICAgICAgbGluZU51bWJlcnM6IFwib2ZmXCIsXG4gICAgICAgIGF1dG9tYXRpY0xheW91dDogdHJ1ZVxuICAgICAgfSk7XG4gICAgICBlZGl0b3Iub25EaWRCbHVyRWRpdG9yV2lkZ2V0KGUgPT4ge1xuICAgICAgICBsZXQgY29udGVudCA9IGVkaXRvci5nZXRWYWx1ZSgpO1xuICAgICAgICBkaXNwYXRjaCgnY2hhbmdlJywgY29udGVudCk7XG4gICAgICB9KTtcbiAgfSk7XG5cbiAgb25EZXN0cm95KCgpID0+IHtcbiAgICAgIG1vbmFjbz8uZWRpdG9yLmdldE1vZGVscygpLmZvckVhY2goKG1vZGVsKSA9PiBtb2RlbC5kaXNwb3NlKCkpO1xuICB9KTtcbjwvc2NyaXB0PlxuXG48ZGl2IGJpbmQ6dGhpcz17ZWRpdG9yQ29udGFpbmVyfSBjbGFzcz1cInctNTIgaC0yNCBweS0wLjUgcHgtMC41IGJnLWdyYXktMTAwXCI+PC9kaXY+IiwgImV4cG9ydCBmdW5jdGlvbiB0cmFuc2xhdGUoX25vZGU6IEhUTUxFbGVtZW50LCB7IGRlbGF5ID0gMCwgZHVyYXRpb24gPSAzMDAsIHggPSAwLCB5ID0gMCB9KSB7XG4gIHJldHVybiB7XG4gICAgZGVsYXksXG4gICAgZHVyYXRpb24sXG4gICAgY3NzOiAodDogbnVtYmVyKSA9PiBgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHt4ICogdH1weCwgJHt5ICogdH1weClgXG4gIH07XG59IiwgImltcG9ydCB7IHdyaXRhYmxlIH0gZnJvbSAnc3ZlbHRlL3N0b3JlJztcbmltcG9ydCB0eXBlIHsgV3JpdGFibGUgfSBmcm9tICdzdmVsdGUvc3RvcmUnO1xuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRDYXRlZ29yeSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IGN1cnJlbnRDb21wb25lbnRDYXRlZ29yeTogV3JpdGFibGU8Q29tcG9uZW50Q2F0ZWdvcnkgfCBudWxsPiA9IHdyaXRhYmxlKG51bGwpXG4iLCAiaW1wb3J0IHsgd3JpdGFibGUgfSBmcm9tICdzdmVsdGUvc3RvcmUnO1xuaW1wb3J0IHR5cGUgeyBXcml0YWJsZSB9IGZyb20gJ3N2ZWx0ZS9zdG9yZSc7XG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudERlZmluaXRpb24gfSBmcm9tICcuLi90eXBlcyc7XG5cblxuZXhwb3J0IGNvbnN0IGRyYWdnZWRPYmplY3Q6IFdyaXRhYmxlPENvbXBvbmVudERlZmluaXRpb24gfCBudWxsPiA9IHdyaXRhYmxlKG51bGwpXG4iLCAiPHNjcmlwdCBsYW5nPVwidHNcIj5cblx0aW1wb3J0IHsgZmFkZSB9IGZyb20gJ3N2ZWx0ZS90cmFuc2l0aW9uJztcbiAgaW1wb3J0IHsgdHJhbnNsYXRlIH0gZnJvbSAnJGxpYi91dGlscy9hbmltYXRpb25zJztcbiAgaW1wb3J0IHsgY3VycmVudENvbXBvbmVudENhdGVnb3J5IH0gZnJvbSAnJGxpYi9zdG9yZXMvY3VycmVudENvbXBvbmVudENhdGVnb3J5JztcbiAgaW1wb3J0IHsgZHJhZ2dlZE9iamVjdCB9IGZyb20gJyRsaWIvc3RvcmVzL2RyYWdBbmREcm9wJztcbiAgaW1wb3J0IHR5cGUgeyBDb21wb25lbnRDYXRlZ29yeSwgQ29tcG9uZW50RGVmaW5pdGlvbiwgTWVudUNhdGVnb3J5IH0gZnJvbSAnJGxpYi90eXBlcyc7XG4gIGV4cG9ydCBsZXQgY29tcG9uZW50czogQ29tcG9uZW50RGVmaW5pdGlvbltdO1xuXG4gIGxldCBtZW51Q2F0ZWdvcmllczogTWVudUNhdGVnb3J5W10gPSBbXTtcbiAgJDogbWVudUNhdGVnb3JpZXMgPSBbe1xuICAgIG5hbWU6ICdCYXNlJyxcbiAgICBpdGVtczogQXJyYXkuZnJvbShuZXcgU2V0KGNvbXBvbmVudERlZmluaXRpb25zLm1hcChkID0+IGQuY2F0ZWdvcnkpKSkubWFwKGlkID0+ICh7IGlkLCBuYW1lOiBpZCB9KSlcbiAgfV07XG5cbiAgJDogY29tcG9uZW50RGVmaW5pdGlvbnMgPSBjb21wb25lbnRzO1xuXHQkOiBjb21wb25lbnREZWZpbml0aW9uc0J5Q2F0ZWdvcnkgPSAoY29tcG9uZW50RGVmaW5pdGlvbnMgfHwgW10pLnJlZHVjZSgoYWNjOiB7IFtrZXk6IHN0cmluZ106IENvbXBvbmVudERlZmluaXRpb25bXSB9LCBjb21wOiBDb21wb25lbnREZWZpbml0aW9uKSA9PiB7XG4gICAgICBhY2NbY29tcC5jYXRlZ29yeV0gfHw9IFtdO1xuICAgICAgYWNjW2NvbXAuY2F0ZWdvcnldLnB1c2goY29tcCk7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9KTtcbiAgJDogY3VycmVudERlZmluaXRpb25zID0gJGN1cnJlbnRDb21wb25lbnRDYXRlZ29yeSA/IGNvbXBvbmVudERlZmluaXRpb25zQnlDYXRlZ29yeVskY3VycmVudENvbXBvbmVudENhdGVnb3J5LmlkXSA6IFtdO1xuXG5cdGNvbnN0IHNlY3Rpb25UaXRsZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG5cdFx0bmF2OiAnTmF2cycsXG5cdFx0aGVhZGVyOiAnSGVhZGVycycsXG5cdFx0c2lnbl9pbjogJ1NpZ24gaW5zJyxcblx0XHRzaWduX3VwOiAnU2lnbiB1cHMnLFxuXHRcdHN0YXRzOiAnU3RhdHMnLFxuXHRcdGZvb3RlcjogJ0Zvb3RlcnMnLFxuXHRcdGJhc2ljOiAnQmFzaWNzJyxcblx0XHRvdGhlcjogJ090aGVyJ1xuXHR9XG5cbiAgbGV0IHNob3dFeGFtcGxlcyA9IGZhbHNlO1xuICBsZXQgaGlkZUNvbXBvbmVudFRpbWVyO1xuXG5cdGZ1bmN0aW9uIGNvbGxhcHNlQ2F0ZWdvcnlNZW51KCkge1xuXHRcdGhpZGVDb21wb25lbnRUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0c2hvd0V4YW1wbGVzID0gZmFsc2U7XG4gICAgfSwgNDAwKTtcblx0fVxuXHRmdW5jdGlvbiBhYm9ydENvbGxhcHNlQ2F0ZWdvcnlNZW51KCkge1xuXHRcdGNsZWFyVGltZW91dChoaWRlQ29tcG9uZW50VGltZXIpO1xuXHR9XHQgIFxuXG5cdGZ1bmN0aW9uIGV4cGFuZENhdGVnb3J5TWVudShjb21wb25lbnRDYXRlZ29yeTogQ29tcG9uZW50Q2F0ZWdvcnkpIHtcblx0XHRpZiAoJGRyYWdnZWRPYmplY3QpIHJldHVybjtcblx0XHRjbGVhclRpbWVvdXQoaGlkZUNvbXBvbmVudFRpbWVyKTtcblx0XHQkY3VycmVudENvbXBvbmVudENhdGVnb3J5ID0gY29tcG9uZW50Q2F0ZWdvcnk7XG5cdFx0c2hvd0V4YW1wbGVzID0gdHJ1ZTtcblx0fVxuXG5cdGZ1bmN0aW9uIGRyYWdTdGFydChjb21wb25lbnREZWZpbml0aW9uOiBDb21wb25lbnREZWZpbml0aW9uLCBlOiBEcmFnRXZlbnQpIHtcblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdCRkcmFnZ2VkT2JqZWN0ID0gY29tcG9uZW50RGVmaW5pdGlvblxuXHRcdFx0c2hvd0V4YW1wbGVzID0gZmFsc2U7XG5cdFx0fSwgMTAwKVxuXHR9XG5cblx0ZnVuY3Rpb24gZHJhZ0VuZCgpIHtcblx0XHQkZHJhZ2dlZE9iamVjdCA9IG51bGw7XG5cdH1cbjwvc2NyaXB0PlxuXG48IS0tIExlZnQgc2lkZWJhciAtLT5cbjxkaXYgY2xhc3M9XCJ3LTY0IGJnLXdoaXRlIGJvcmRlci1ncmF5LTEwMCBib3JkZXItc29saWQgYm9yZGVyLXJcIiBpZD1cImxlZnQtc2lkZWJhclwiIGRhdGEtdGVzdC1pZD1cImxlZnQtc2lkZWJhclwiPlxuICA8ZGl2IGNsYXNzPVwic3RpY2t5IHRvcC0wXCI+XG4gICAgPGRpdiBjbGFzcz1cImJvcmRlci1iIGJvcmRlci1ncmF5LTEwMCBib3JkZXItc29saWQgcHktNCBweC00XCIgZGF0YS10ZXN0LWlkPVwibG9nb1wiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWxnXCI+QmVhY29uIENNUzwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8dWwgY2xhc3M9XCJweC00XCIgZGF0YS10ZXN0LWlkPVwiY29tcG9uZW50LXRyZWVcIj5cbiAgICAgIHsjZWFjaCBtZW51Q2F0ZWdvcmllcyBhcyBjYXRlZ29yeX1cbiAgICAgICAgPGxpIGNsYXNzPVwicGItMVwiIGRhdGEtdGVzdC1pZD1cIm5hdi1pdGVtXCI+XG4gICAgICAgICAgPGg1IGNsYXNzPVwidXBwZXJjYXNlXCI+e2NhdGVnb3J5Lm5hbWV9PC9oNT5cbiAgICAgICAgPC9saT5cbiAgICAgICAgeyNlYWNoIGNhdGVnb3J5Lml0ZW1zIGFzIGl0ZW19XG4gICAgICAgICAgPGxpIGNsYXNzPVwicGItMVwiIGRhdGEtdGVzdC1pZD1cIm5hdi1pdGVtXCIgb246bW91c2VlbnRlcj17KCkgPT4gZXhwYW5kQ2F0ZWdvcnlNZW51KGl0ZW0pfSBvbjptb3VzZWxlYXZlPXtjb2xsYXBzZUNhdGVnb3J5TWVudX0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGwtMlwiPntzZWN0aW9uVGl0bGVzW2l0ZW0ubmFtZV19PC9kaXY+XHRcbiAgICAgICAgICA8L2xpPlxuICAgICAgICB7L2VhY2h9XG4gICAgICB7L2VhY2h9XG4gICAgPC91bD5cbiAgPC9kaXY+XG48L2Rpdj5cblxueyNpZiBzaG93RXhhbXBsZXN9XG4gIDxkaXYgY2xhc3M9XCJiZy1ibGFjay81MCBhYnNvbHV0ZSBpbnNldC0wIHotNTBcIiB0cmFuc2l0aW9uOmZhZGU9e3tkdXJhdGlvbjogMzAwfX0gaWQ9XCJiYWNrZHJvcFwiIGRhdGEtdGVzdC1pZD1cImJhY2tkcm9wXCI+PC9kaXY+XG57L2lmfVx0XG48ZGl2IFxuICBjbGFzcz1cImFic29sdXRlIHctOTYgLWxlZnQtMzIgYmctd2hpdGUgaW5zZXQteS0wIHNoYWRvdy1zbSB6LTUwIHB0LTMgcGItNCBweC01IHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTMwMFwiIFxuICBjbGFzczp0cmFuc2xhdGUteC05Nj17c2hvd0V4YW1wbGVzfVxuICBpZD1cImNvbXBvbmVudC1wcmV2aWV3c1wiXG4gIGRhdGEtdGVzdC1pZD1cImNvbXBvbmVudC1wcmV2aWV3c1wiIFxuICB0cmFuc2l0aW9uOnRyYW5zbGF0ZT17e3g6IDM4NH19XG4gIG9uOm1vdXNlZW50ZXI9e2Fib3J0Q29sbGFwc2VDYXRlZ29yeU1lbnV9XG4gIG9uOm1vdXNlbGVhdmU9e2NvbGxhcHNlQ2F0ZWdvcnlNZW51fT5cbiAgPGg0IGNsYXNzPVwidGV4dC0yeGxcIj57c2VjdGlvblRpdGxlc1skY3VycmVudENvbXBvbmVudENhdGVnb3J5Py5uYW1lXX08L2g0PlxuICA8cD5TZWxlY3QgYSBjb21wb25lbnQg8J+RhyAgYW5kIGRyYWcgaXQgdG8gdGhlIGNhbnZhcyDwn5GJPC9wPlxuICB7I2lmIGN1cnJlbnREZWZpbml0aW9uc31cbiAgICB7I2VhY2ggY3VycmVudERlZmluaXRpb25zIGFzIGV4YW1wbGV9XG4gICAgICA8ZGl2IFxuICAgICAgICBkcmFnZ2FibGVcbiAgICAgICAgb246ZHJhZ3N0YXJ0PXtlID0+IGRyYWdTdGFydChleGFtcGxlLCBlKX1cbiAgICAgICAgb246ZHJhZ2VuZD17ZHJhZ0VuZH1cbiAgICAgICAgY2xhc3M9XCJwdC02XCIgXG4gICAgICAgIGRhdGEtdGVzdC1pZD1cImNvbXBvbmVudC1wcmV2aWV3LWNhcmRcIj5cbiAgICAgICAgPGltZyBjbGFzcz1cInJvdW5kZWQgb3V0bGluZS1vZmZzZXQtMiBvdXRsaW5lLWJsdWUtNTAwIGhvdmVyOm91dGxpbmUgaG92ZXI6b3V0bGluZS0yXCIgc3JjPXtleGFtcGxlLnRodW1ibmFpbH0gYWx0PXtleGFtcGxlLm5hbWV9IC8+XG4gICAgICA8L2Rpdj5cbiAgICB7L2VhY2h9XG4gIHsvaWZ9XG48L2Rpdj5cblxuPHN0eWxlPlxuXHQjbGVmdC1zaWRlYmFyIHtcblx0XHR6LWluZGV4OiAxMDAwO1xuXHR9XG5cdCNjb21wb25lbnQtcHJldmlld3MsICNiYWNrZHJvcCB7XG5cdFx0ei1pbmRleDogOTk5O1xuXHR9XG48L3N0eWxlPiIsICJpbXBvcnQgeyB3cml0YWJsZSwgZGVyaXZlZCwgZ2V0IH0gZnJvbSAnc3ZlbHRlL3N0b3JlJztcbmltcG9ydCB0eXBlIHsgV3JpdGFibGUsIFJlYWRhYmxlIH0gZnJvbSAnc3ZlbHRlL3N0b3JlJztcbmltcG9ydCB0eXBlIHsgQXN0RWxlbWVudCwgQXN0Tm9kZSwgUGFnZSB9IGZyb20gJyRsaWIvdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgcGFnZTogV3JpdGFibGU8UGFnZT4gPSB3cml0YWJsZSgpO1xuZXhwb3J0IGNvbnN0IHNlbGVjdGVkQXN0RWxlbWVudElkOiBXcml0YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+ID0gd3JpdGFibGUoKTtcbi8vIGV4cG9ydCBjb25zdCBoaWdobGlnaHRlZEFzdEVsZW1lbnRJZDogV3JpdGFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPiA9IHdyaXRhYmxlKCk7XG5leHBvcnQgY29uc3QgaGlnaGxpZ2h0ZWRBc3RFbGVtZW50OiBXcml0YWJsZTxBc3RFbGVtZW50IHwgdW5kZWZpbmVkPiA9IHdyaXRhYmxlKCk7XG5leHBvcnQgY29uc3Qgc2xvdFRhcmdldEVsZW1lbnQ6IFdyaXRhYmxlPEFzdEVsZW1lbnQgfCB1bmRlZmluZWQ+ID0gd3JpdGFibGUoKTtcblxuZXhwb3J0IGNvbnN0IHJvb3RBc3RFbGVtZW50OiBSZWFkYWJsZTxBc3RFbGVtZW50IHwgdW5kZWZpbmVkPiA9IGRlcml2ZWQoW3BhZ2VdLCAoWyRwYWdlXSkgPT4ge1xuICAvLyBUaGlzIGlzIGEgdmlydHVhbCBBc3RFbGVtZW50IGludGVuZGVkIHRvIHNpbXVsYXRlIHRoZSBwYWdlIGl0c2VsZiB0byByZW9yZGVyIHRoZSBjb21wb25lbnRzIGF0IHRoZSBmaXJzdCBsZXZlbC5cbiAgcmV0dXJuIHsgdGFnOiAncm9vdCcsIGF0dHJzOiB7fSwgY29udGVudDogJHBhZ2UuYXN0IH07XG59KTtcbmV4cG9ydCBjb25zdCBzZWxlY3RlZEFzdEVsZW1lbnQ6IFJlYWRhYmxlPEFzdEVsZW1lbnQgfCB1bmRlZmluZWQ+ID0gZGVyaXZlZChbcGFnZSwgc2VsZWN0ZWRBc3RFbGVtZW50SWRdLCAoWyRwYWdlLCAkc2VsZWN0ZWRBc3RFbGVtZW50SWRdKSA9PiB7XG4gIGlmICgkc2VsZWN0ZWRBc3RFbGVtZW50SWQpIHtcbiAgICBpZiAoJHNlbGVjdGVkQXN0RWxlbWVudElkID09PSAncm9vdCcpIHJldHVybiBnZXQocm9vdEFzdEVsZW1lbnQpO1xuICAgIHJldHVybiBmaW5kQXN0RWxlbWVudCgkcGFnZS5hc3QsICRzZWxlY3RlZEFzdEVsZW1lbnRJZCk7XG4gIH1cbn0pO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNBc3RFbGVtZW50KG1heWJlTm9kZTogQXN0Tm9kZSk6IG1heWJlTm9kZSBpcyBBc3RFbGVtZW50IHtcbiAgcmV0dXJuIHR5cGVvZiBtYXliZU5vZGUgIT09ICdzdHJpbmcnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZEFzdEVsZW1lbnQoYXN0OiBBc3ROb2RlW10sIGlkOiBzdHJpbmcpOiBBc3RFbGVtZW50IHtcbiAgbGV0IGluZGV4ZXMgPSBpZC5zcGxpdChcIi5cIikubWFwKHMgPT4gcGFyc2VJbnQocywgMTApKTtcbiAgbGV0IG5vZGU6IEFzdE5vZGUgPSBhc3RbaW5kZXhlc1swXV0gYXMgQXN0RWxlbWVudFxuICBhc3QgPSBub2RlLmNvbnRlbnQ7XG4gIGZvcihsZXQgaSA9IDE7IGkgPCBpbmRleGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgbm9kZSA9IGFzdFtpbmRleGVzW2ldXSBhcyBBc3RFbGVtZW50OyBcbiAgICBhc3QgPSBub2RlLmNvbnRlbnQ7XG4gIH1cbiAgcmV0dXJuIG5vZGU7XG59XG5leHBvcnQgZnVuY3Rpb24gZmluZEFzdEVsZW1lbnRJZChhc3ROb2RlOiBBc3ROb2RlKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgbGV0ICRwYWdlID0gZ2V0KHBhZ2UpO1xuICByZXR1cm4gX2ZpbmRBc3RFbGVtZW50SWQoJHBhZ2UuYXN0LCBhc3ROb2RlLCBcIlwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9maW5kQXN0RWxlbWVudElkKGFzdDogQXN0Tm9kZVtdLCBhc3ROb2RlOiBBc3ROb2RlLCBpZDogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgZm9yKGxldCBpID0gMDsgaSA8IGFzdC5sZW5ndGg7IGkrKykge1xuICAgIGxldCBjdXJyZW50Tm9kZSA9IGFzdFtpXTtcbiAgICBpZiAoY3VycmVudE5vZGUgPT09IGFzdE5vZGUpIHtcbiAgICAgIHJldHVybiBpZCArIGk7XG4gICAgfSBlbHNlIGlmIChpc0FzdEVsZW1lbnQoY3VycmVudE5vZGUpKSB7XG4gICAgICBsZXQgcmVzdWx0ID0gX2ZpbmRBc3RFbGVtZW50SWQoY3VycmVudE5vZGUuY29udGVudCwgYXN0Tm9kZSwgaWQgKyBpICsgXCIuXCIpO1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwgIjxzY3JpcHQgbGFuZz1cInRzXCI+XG4gIGltcG9ydCB7IGlzQXN0RWxlbWVudCB9IGZyb20gJyRsaWIvc3RvcmVzL3BhZ2UnO1xuICBpbXBvcnQgdHlwZSB7IEFzdE5vZGUgfSBmcm9tICckbGliL3R5cGVzJztcbiAgZXhwb3J0IGxldCBub2RlOiBBc3ROb2RlO1xuPC9zY3JpcHQ+XG5cbnsjaWYgaXNBc3RFbGVtZW50KG5vZGUpfVxuICB7I2lmIG5vZGUudGFnID09PSAnaHRtbF9jb21tZW50J31cbiAgICB7QGh0bWwgXCI8IS0tXCIgKyBub2RlLmNvbnRlbnQgKyBcIi0tPlwifVxuICB7OmVsc2UgaWYgbm9kZS50YWcgPT09ICdlZXhfY29tbWVudCd9XG4gICAge0BodG1sIFwiPCEtLVwiICsgbm9kZS5jb250ZW50ICsgXCItLT5cIn1cbiAgezplbHNlIGlmIG5vZGUudGFnID09PSAnZWV4JyAmJiBub2RlLmNvbnRlbnRbMF0gPT09ICdAaW5uZXJfY29udGVudCd9XG4gICAgPHNsb3QvPlxuICB7OmVsc2UgaWYgbm9kZS5yZW5kZXJlZF9odG1sfVxuICAgIHtAaHRtbCBub2RlLnJlbmRlcmVkX2h0bWx9XG4gIHs6ZWxzZSBpZiBub2RlLmF0dHJzLnNlbGZDbG9zZX1cbiAgICA8c3ZlbHRlOmVsZW1lbnQgdGhpcz17bm9kZS50YWd9IHsuLi5ub2RlLmF0dHJzfS8+XG4gIHs6ZWxzZX1cbiAgICA8c3ZlbHRlOmVsZW1lbnQgdGhpcz17bm9kZS50YWd9IHsuLi5ub2RlLmF0dHJzfT5cbiAgICAgIHsjZWFjaCBub2RlLmNvbnRlbnQgYXMgc3Vibm9kZSwgaW5kZXh9XG4gICAgICAgIDxzdmVsdGU6c2VsZiBub2RlPXtzdWJub2RlfS8+XG4gICAgICB7L2VhY2h9XG4gICAgPC9zdmVsdGU6ZWxlbWVudD5cbiAgey9pZn1cbns6ZWxzZX1cbiAge25vZGV9XG57L2lmfVxuIiwgIjxzY3JpcHQgbGFuZz1cInRzXCI+XG4gIGltcG9ydCB7IHNlbGVjdGVkQXN0RWxlbWVudCwgc2xvdFRhcmdldEVsZW1lbnQsIHNlbGVjdGVkQXN0RWxlbWVudElkLCBoaWdobGlnaHRlZEFzdEVsZW1lbnQsIGlzQXN0RWxlbWVudCB9IGZyb20gJyRsaWIvc3RvcmVzL3BhZ2UnO1xuICBpbXBvcnQgdHlwZSB7IEFzdE5vZGUgfSBmcm9tICckbGliL3R5cGVzJztcbiAgZXhwb3J0IGxldCBub2RlOiBBc3ROb2RlO1xuICBleHBvcnQgbGV0IG5vZGVJZDogc3RyaW5nO1xuICBpbXBvcnQgeyBkcmFnZ2VkT2JqZWN0IH0gZnJvbSAnJGxpYi9zdG9yZXMvZHJhZ0FuZERyb3AnO1xuXG4gIGZ1bmN0aW9uIGhhbmRsZURyYWdFbnRlcigpIHtcbiAgICBpZiAoaXNBc3RFbGVtZW50KG5vZGUpICYmICRkcmFnZ2VkT2JqZWN0Py5jYXRlZ29yeSA9PT0gJ2Jhc2ljJykge1xuICAgICAgJHNsb3RUYXJnZXRFbGVtZW50ID0gbm9kZTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVEcmFnTGVhdmUoKSB7XG4gICAgaWYgKGlzQXN0RWxlbWVudChub2RlKSAmJiAkZHJhZ2dlZE9iamVjdD8uY2F0ZWdvcnkgPT09ICdiYXNpYycgJiYgJHNsb3RUYXJnZXRFbGVtZW50ID09PSBub2RlKSB7XG4gICAgICAkc2xvdFRhcmdldEVsZW1lbnQgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlTW91c2VPdmVyKCkge1xuICAgIGlzQXN0RWxlbWVudChub2RlKSAmJiAoJGhpZ2hsaWdodGVkQXN0RWxlbWVudCA9IG5vZGUpO1xuICB9XG4gIGZ1bmN0aW9uIGhhbmRsZU1vdXNlT3V0KCkge1xuICAgICRoaWdobGlnaHRlZEFzdEVsZW1lbnQgPSB1bmRlZmluZWRcbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZUNsaWNrKCkge1xuICAgICRzZWxlY3RlZEFzdEVsZW1lbnRJZCA9IG5vZGVJZFxuICB9XG5cbiAgLy8gV2hlbiByZW5kZXJpbmcgcmF3IGh0bWwsIHdlIGNhbid0IGFkZCB0aGUgdXN1YWwgY2xhc3NlcyB0byB0aGUgd3JhcHBlci5cbiAgZnVuY3Rpb24gaGlnaGxpZ2h0Q29udGVudCh3cmFwcGVyRGl2OiBIVE1MRWxlbWVudCwgeyBzZWxlY3RlZCwgaGlnaGxpZ2h0ZWQgfTogeyBzZWxlY3RlZDogYm9vbGVhbiwgaGlnaGxpZ2h0ZWQ6IGJvb2xlYW4gfSkge1xuICAgIGxldCBzdGFydHNXaXRoT25lQ2hpbGRyZW4gPSB3cmFwcGVyRGl2LmNoaWxkcmVuLmxlbmd0aCA9PT0gMTtcbiAgICBpZiAoc3RhcnRzV2l0aE9uZUNoaWxkcmVuKSB7XG4gICAgICBsZXQgY2hpbGQgPSB3cmFwcGVyRGl2LmNoaWxkcmVuWzBdO1xuICAgICAgY2hpbGQuc2V0QXR0cmlidXRlKCdkYXRhLXNlbGVjdGVkJywgU3RyaW5nKHNlbGVjdGVkKSk7XG4gICAgICBjaGlsZC5zZXRBdHRyaWJ1dGUoJ2RhdGEtaGlnaGxpZ2h0ZWQnLCBTdHJpbmcoaGlnaGxpZ2h0ZWQpKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHVwZGF0ZSh7IHNlbGVjdGVkLCBoaWdobGlnaHRlZCB9OiB7IHNlbGVjdGVkOiBib29sZWFuLCBoaWdobGlnaHRlZDogYm9vbGVhbiB9KSB7XG4gICAgICAgIGlmICh3cmFwcGVyRGl2LmNoaWxkcmVuLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgIGxldCBjaGlsZCA9IHdyYXBwZXJEaXYuY2hpbGRyZW5bMF07XG4gICAgICAgICAgY2hpbGQuc2V0QXR0cmlidXRlKCdkYXRhLXNlbGVjdGVkJywgU3RyaW5nKHNlbGVjdGVkKSk7XG4gICAgICAgICAgY2hpbGQuc2V0QXR0cmlidXRlKCdkYXRhLWhpZ2hsaWdodGVkJywgU3RyaW5nKGhpZ2hsaWdodGVkKSk7XG4gICAgICAgIH0gZWxzZSBpZiAod3JhcHBlckRpdi5jaGlsZHJlbi5sZW5ndGggPT09IDAgJiYgd3JhcHBlckRpdi5jaGlsZE5vZGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgIHdyYXBwZXJEaXYuc2V0QXR0cmlidXRlKCdkYXRhLW5vY2hpbGRyZW4nLCBcInRydWVcIik7XG4gICAgICAgICAgd3JhcHBlckRpdi5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2VsZWN0ZWQnLCBTdHJpbmcoc2VsZWN0ZWQpKTtcbiAgICAgICAgICB3cmFwcGVyRGl2LnNldEF0dHJpYnV0ZSgnZGF0YS1oaWdobGlnaHRlZCcsIFN0cmluZyhoaWdobGlnaHRlZCkpO1xuICAgICAgICB9IGVsc2UgaWYgKHN0YXJ0c1dpdGhPbmVDaGlsZHJlbikge1xuICAgICAgICAgIEFycmF5LmZyb20od3JhcHBlckRpdi5jaGlsZHJlbikuZm9yRWFjaChjaGlsZCA9PiB7XG4gICAgICAgICAgICBjaGlsZC5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtc2VsZWN0ZWQnKTtcbiAgICAgICAgICAgIGNoaWxkLnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1oaWdobGlnaHRlZCcpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZGVzdHJveSgpIHtcbiAgICAgICAgLy8gbm9vcFxuICAgICAgfVxuICAgIH1cbiAgfVxuPC9zY3JpcHQ+XG5cbnsjaWYgaXNBc3RFbGVtZW50KG5vZGUpfVxuICB7I2lmIG5vZGUudGFnID09PSAnaHRtbF9jb21tZW50J31cbiAgICB7QGh0bWwgXCI8IS0tXCIgKyBub2RlLmNvbnRlbnQgKyBcIi0tPlwifVxuICB7OmVsc2UgaWYgbm9kZS50YWcgPT09ICdlZXhfY29tbWVudCd9XG4gICAge0BodG1sIFwiPCEtLVwiICsgbm9kZS5jb250ZW50ICsgXCItLT5cIn1cbiAgezplbHNlIGlmIG5vZGUudGFnID09PSAnZWV4JyAmJiBub2RlLmNvbnRlbnRbMF0gPT09ICdAaW5uZXJfY29udGVudCd9XG4gICAgPHNsb3QvPlxuICB7OmVsc2UgaWYgbm9kZS5yZW5kZXJlZF9odG1sfVxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY29udGVudHNcIlxuICAgICAgb246bW91c2VvdmVyfHN0b3BQcm9wYWdhdGlvbj17aGFuZGxlTW91c2VPdmVyfVxuICAgICAgb246bW91c2VvdXR8c3RvcFByb3BhZ2F0aW9uPXtoYW5kbGVNb3VzZU91dH1cbiAgICAgIG9uOmNsaWNrfHByZXZlbnREZWZhdWx0fHN0b3BQcm9wYWdhdGlvbj17KCkgPT4gJHNlbGVjdGVkQXN0RWxlbWVudElkID0gbm9kZUlkfVxuICAgICAgdXNlOmhpZ2hsaWdodENvbnRlbnQ9e3tzZWxlY3RlZDogJHNlbGVjdGVkQXN0RWxlbWVudCA9PT0gbm9kZSwgaGlnaGxpZ2h0ZWQ6ICRoaWdobGlnaHRlZEFzdEVsZW1lbnQgPT09IG5vZGV9fVxuICAgID57QGh0bWwgbm9kZS5yZW5kZXJlZF9odG1sfTwvZGl2PlxuICB7OmVsc2UgaWYgbm9kZS5hdHRycy5zZWxmQ2xvc2V9XG4gICAgPHN2ZWx0ZTplbGVtZW50XG4gICAgICB0aGlzPXtub2RlLnRhZ31cbiAgICAgIHsuLi5ub2RlLmF0dHJzfVxuICAgICAgZGF0YS1zZWxlY3RlZD17JHNlbGVjdGVkQXN0RWxlbWVudCA9PT0gbm9kZX1cbiAgICAgIGRhdGEtaGlnaGxpZ2h0ZWQ9eyRoaWdobGlnaHRlZEFzdEVsZW1lbnQgPT09IG5vZGV9XG4gICAgICBkYXRhLXNsb3QtdGFyZ2V0PXskc2xvdFRhcmdldEVsZW1lbnQgPT09IG5vZGUgJiYgISRzbG90VGFyZ2V0RWxlbWVudC5hdHRycy5zZWxmQ2xvc2V9XG4gICAgICBvbjpkcmFnZW50ZXJ8c3RvcFByb3BhZ2F0aW9uPXtoYW5kbGVEcmFnRW50ZXJ9XG4gICAgICBvbjpkcmFnbGVhdmV8c3RvcFByb3BhZ2F0aW9uPXtoYW5kbGVEcmFnTGVhdmV9XG4gICAgICBvbjptb3VzZW92ZXJ8c3RvcFByb3BhZ2F0aW9uPXtoYW5kbGVNb3VzZU92ZXJ9XG4gICAgICBvbjptb3VzZW91dHxzdG9wUHJvcGFnYXRpb249e2hhbmRsZU1vdXNlT3V0fVxuICAgICAgb246Y2xpY2t8cHJldmVudERlZmF1bHR8c3RvcFByb3BhZ2F0aW9uPXtoYW5kbGVDbGlja30gLz5cbiAgezplbHNlfVxuICAgIDxzdmVsdGU6ZWxlbWVudFxuICAgICAgdGhpcz17bm9kZS50YWd9XG4gICAgICB7Li4ubm9kZS5hdHRyc31cbiAgICAgIGRhdGEtc2VsZWN0ZWQ9eyRzZWxlY3RlZEFzdEVsZW1lbnQgPT09IG5vZGV9XG4gICAgICBkYXRhLWhpZ2hsaWdodGVkPXskaGlnaGxpZ2h0ZWRBc3RFbGVtZW50ID09PSBub2RlfVxuICAgICAgZGF0YS1zbG90LXRhcmdldD17JHNsb3RUYXJnZXRFbGVtZW50ID09PSBub2RlfVxuICAgICAgb246ZHJhZ2VudGVyfHN0b3BQcm9wYWdhdGlvbj17aGFuZGxlRHJhZ0VudGVyfVxuICAgICAgb246ZHJhZ2xlYXZlfHN0b3BQcm9wYWdhdGlvbj17aGFuZGxlRHJhZ0xlYXZlfVxuICAgICAgb246bW91c2VvdmVyfHN0b3BQcm9wYWdhdGlvbj17aGFuZGxlTW91c2VPdmVyfVxuICAgICAgb246bW91c2VvdXR8c3RvcFByb3BhZ2F0aW9uPXtoYW5kbGVNb3VzZU91dH1cbiAgICAgIG9uOmNsaWNrfHByZXZlbnREZWZhdWx0fHN0b3BQcm9wYWdhdGlvbj17KCkgPT4gJHNlbGVjdGVkQXN0RWxlbWVudElkID0gbm9kZUlkfT5cbiAgICAgIHsjZWFjaCBub2RlLmNvbnRlbnQgYXMgc3Vibm9kZSwgaW5kZXh9XG4gICAgICAgIDxzdmVsdGU6c2VsZiBub2RlPXtzdWJub2RlfSBub2RlSWQ9XCJ7bm9kZUlkfS57aW5kZXh9XCIvPlxuICAgICAgey9lYWNofVxuICAgIDwvc3ZlbHRlOmVsZW1lbnQ+XG4gIHsvaWZ9XG57OmVsc2V9XG4gIHtub2RlfVxuey9pZn1cbiIsICI8c2NyaXB0IGxhbmc9XCJ0c1wiPlxuICBpbXBvcnQgeyBQYWdlLCBBc3RFbGVtZW50LCBBc3ROb2RlIH0gZnJvbSBcIiRsaWIvdHlwZXNcIlxuICBpbXBvcnQgTGF5b3V0QXN0Tm9kZSBmcm9tICcuL0xheW91dEFzdE5vZGUuc3ZlbHRlJztcbiAgaW1wb3J0IFBhZ2VBc3ROb2RlIGZyb20gJy4vUGFnZUFzdE5vZGUuc3ZlbHRlJztcbiAgaW1wb3J0IEJyb3dzZXJGcmFtZSBmcm9tICcuL0Jyb3dzZXJGcmFtZS5zdmVsdGUnO1xuICBpbXBvcnQgeyBzZWxlY3RlZEFzdEVsZW1lbnRJZCB9IGZyb20gXCIkbGliL3N0b3Jlcy9wYWdlXCI7XG4gIGltcG9ydCB7IGN1cnJlbnRDb21wb25lbnRDYXRlZ29yeSB9IGZyb20gXCIkbGliL3N0b3Jlcy9jdXJyZW50Q29tcG9uZW50Q2F0ZWdvcnlcIjtcbiAgaW1wb3J0IHsgcGFnZSwgc2xvdFRhcmdldEVsZW1lbnQgfSBmcm9tIFwiJGxpYi9zdG9yZXMvcGFnZVwiO1xuICBpbXBvcnQgeyBkcmFnZ2VkT2JqZWN0IH0gZnJvbSBcIiRsaWIvc3RvcmVzL2RyYWdBbmREcm9wXCI7XG5cbiAgZXhwb3J0IGxldCBsaXZlO1xuICBsZXQgaXNEcmFnZ2luZ092ZXIgPSBmYWxzZTtcblxuICBhc3luYyBmdW5jdGlvbiBoYW5kbGVEcmFnRHJvcChlOiBEcmFnRXZlbnQpIHtcbiAgICBsZXQgeyB0YXJnZXQgfSA9IGU7XG4gICAgJGN1cnJlbnRDb21wb25lbnRDYXRlZ29yeSA9IG51bGw7XG4gICAgaWYgKCEkZHJhZ2dlZE9iamVjdCkgcmV0dXJuO1xuICAgIGlmICgkZHJhZ2dlZE9iamVjdC5jYXRlZ29yeSA9PT0gJ2Jhc2ljJykge1xuICAgICAgaWYgKCEodGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKSByZXR1cm47XG4gICAgICBpZiAodGFyZ2V0LmlkID09PSAnZmFrZS1icm93c2VyLWNvbnRlbnQnKSByZXR1cm47XG4gICAgICBpZiAoISRzbG90VGFyZ2V0RWxlbWVudCkgcmV0dXJuO1xuICAgICAgaWYgKCRzbG90VGFyZ2V0RWxlbWVudC5hdHRycy5zZWxmQ2xvc2UpIHJldHVybjtcbiAgICAgIGFkZEJhc2ljQ29tcG9uZW50VG9UYXJnZXQoJHNsb3RUYXJnZXRFbGVtZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVidWdnZXI7XG4gICAgICBsaXZlLnB1c2hFdmVudChcInJlbmRlcl9jb21wb25lbnRfaW5fcGFnZVwiLCB7IGNvbXBvbmVudF9pZDogJGRyYWdnZWRPYmplY3QuaWQsIHBhZ2VfaWQ6ICRwYWdlLmlkIH0sICh7YXN0fTogeyBhc3Q6IEFzdE5vZGVbXSB9KSA9PiB7XG4gICAgICAgIC8vIFRoaXMgYXBwZW5kcyBhdCB0aGUgZW5kLiBXZSBtaWdodCB3YW50IGF0IHRoZSBiZWdpbm5pbmcsIG9yIGluIGEgc3BlY2lmaWMgcG9zaXRpb25cbiAgICAgICAgbGl2ZS5wdXNoRXZlbnQoXCJ1cGRhdGVfcGFnZV9hc3RcIiwgeyBpZDogJHBhZ2UuaWQsIGFzdDogWy4uLiRwYWdlLmFzdCwgLi4uYXN0XSB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpc0RyYWdnaW5nT3ZlciA9IGZhbHNlO1xuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gYWRkQmFzaWNDb21wb25lbnRUb1RhcmdldChhc3RFbGVtZW50OiBBc3RFbGVtZW50KSB7XG4gICAgaWYgKCEkZHJhZ2dlZE9iamVjdCkgcmV0dXJuO1xuICAgIGxldCBjb21wb25lbnREZWZpbml0aW9uID0gJGRyYWdnZWRPYmplY3Q7XG4gICAgJGRyYWdnZWRPYmplY3QgPSBudWxsO1xuICAgIGxldCB0YXJnZXROb2RlID0gYXN0RWxlbWVudDtcbiAgICBsaXZlLnB1c2hFdmVudChcInJlbmRlcl9jb21wb25lbnRfaW5fcGFnZVwiLCB7IGNvbXBvbmVudF9pZDogY29tcG9uZW50RGVmaW5pdGlvbi5pZCwgcGFnZV9pZDogJHBhZ2UuaWQgfSwgKHthc3R9OiB7IGFzdDogQXN0Tm9kZVtdIH0pID0+IHtcbiAgICAgIHRhcmdldE5vZGU/LmNvbnRlbnQucHVzaCguLi5hc3QpO1xuICAgICAgJHNsb3RUYXJnZXRFbGVtZW50ID0gdW5kZWZpbmVkO1xuICAgICAgbGl2ZS5wdXNoRXZlbnQoXCJ1cGRhdGVfcGFnZV9hc3RcIiwgeyBpZDogJHBhZ2UuaWQsIGFzdDogJHBhZ2UuYXN0IH0pO1xuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gZHJhZ092ZXIoKSB7XG4gICAgaXNEcmFnZ2luZ092ZXIgPSB0cnVlO1xuICB9XG48L3NjcmlwdD5cblxuPGRpdiBjbGFzcz1cImZsZXgtMSBweC04IHB5LTQgZmxleCBtYXgtaC1mdWxsXCIgZGF0YS10ZXN0LWlkPVwibWFpblwiPlxuICA8QnJvd3NlckZyYW1lIHBhZ2U9eyRwYWdlfT5cbiAgICA8ZGl2IFxuICAgICAgb246ZHJvcHxwcmV2ZW50RGVmYXVsdD17aGFuZGxlRHJhZ0Ryb3B9XG4gICAgICBvbjpkcmFnb3ZlcnxwcmV2ZW50RGVmYXVsdD17ZHJhZ092ZXJ9XG4gICAgICBzdHlsZT1cIi0tb3V0bGluZWQtaWQ6IHRpdGxlLTFcIlxuICAgICAgaWQ9XCJmYWtlLWJyb3dzZXItY29udGVudFwiXG4gICAgICBjbGFzcz1cImJnLXdoaXRlIHJvdW5kZWQtYi14bCByZWxhdGl2ZSBvdmVyZmxvdy1oaWRkZW4gZmxleC0xIHtpc0RyYWdnaW5nT3ZlciAmJiAnYm9yZGVyLWRhc2hlZCBib3JkZXItYmx1ZS01MDAgYm9yZGVyLTInfVwiIFxuICAgICAgZGF0YS10ZXN0LWlkPVwiYnJvd3Nlci1jb250ZW50XCI+XG4gICAgICA8ZGl2IGlkPVwicGFnZS13cmFwcGVyXCIgY2xhc3M9XCJwLTEgbS0xXCIgZGF0YS1zZWxlY3RlZD17JHNlbGVjdGVkQXN0RWxlbWVudElkID09PSAncm9vdCd9PlxuICAgICAgICB7I2VhY2ggJHBhZ2UubGF5b3V0LmFzdCBhcyBsYXlvdXRBc3ROb2RlfVxuICAgICAgICAgIDxMYXlvdXRBc3ROb2RlIG5vZGU9e2xheW91dEFzdE5vZGV9PlxuICAgICAgICAgICAgeyNlYWNoICRwYWdlLmFzdCBhcyBhc3ROb2RlLCBpbmRleH1cbiAgICAgICAgICAgICAgPFBhZ2VBc3ROb2RlIG5vZGU9e2FzdE5vZGV9IG5vZGVJZD1cIntpbmRleH1cIi8+XG4gICAgICAgICAgICB7L2VhY2h9XG4gICAgICAgICAgPC9MYXlvdXRBc3ROb2RlPlxuICAgICAgICB7L2VhY2h9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9Ccm93c2VyRnJhbWU+XG48L2Rpdj5cblxuPHN0eWxlPlxuICA6Z2xvYmFsKFtkYXRhLXNlbGVjdGVkPVwidHJ1ZVwiXSwgW2RhdGEtaGlnaGxpZ2h0ZWQ9XCJ0cnVlXCJdKSB7XG4gICAgb3V0bGluZS1jb2xvcjogIzA2YjZkNDsgXG4gICAgb3V0bGluZS13aWR0aDogMnB4O1xuICAgIG91dGxpbmUtc3R5bGU6IGRhc2hlZDsgICAgXG4gIH1cbiAgOmdsb2JhbCguY29udGVudHNbZGF0YS1ub2NoaWxkcmVuPVwidHJ1ZVwiXSwgLmNvbnRlbnRzW2RhdGEtbm9jaGlsZHJlbj1cInRydWVcIl0pIHtcbiAgICAvKiBJbiB0aGUgc3BlY2lmaWMgY2FzZSBvZiBhbiBlbGVtZW50IGNvbnRhaW5pbmcgb25seSBhbiBFRVggZXhwcmVzc2lvbiB0aGF0IGdlbmVyYXRlcyBubyBjaGlsZHJlbiAob25seSBhIHRleHQgbm9kZSksXG4gICAgdGhlcmUgaXMgbm8gY2hpbGQgbm9kZSB0byB3aGljaCBhcHBseSB0aGUgc3R5bGVzLCBzbyB3ZSBoYXZlIHRvIGFwcGx5IHRoZW0gdG8gdGhlIHdyYXBwZXIsIHNvIHdlIGhhdmUgdG8gb3ZlcndyaXRlIHRoZVxuICAgIGRpc3BsYXk6IGNvbnRlbnRzIGZvciB0aGUgc3R5bGVzIHRvIGFwcGx5ICovXG4gICAgZGlzcGxheTogaW5saW5lOyBcbiAgfSAgXG4gIDpnbG9iYWwoW2RhdGEtc2xvdC10YXJnZXQ9XCJ0cnVlXCJdKSB7XG4gICAgb3V0bGluZS1jb2xvcjogcmVkOyBcbiAgICBvdXRsaW5lLXdpZHRoOiAycHg7XG4gICAgb3V0bGluZS1zdHlsZTogZGFzaGVkOyAgICBcbiAgfSAgXG48L3N0eWxlPlxuIiwgIjxzY3JpcHQgbGFuZz1cInRzXCI+XG4gIGltcG9ydCB7IGNyZWF0ZUV2ZW50RGlzcGF0Y2hlciB9IGZyb20gJ3N2ZWx0ZSc7XG4gIGNvbnN0IGRpc3BhdGNoID0gY3JlYXRlRXZlbnREaXNwYXRjaGVyKCk7XG48L3NjcmlwdD5cblxuPHNwYW4gY2xhc3M9XCJyb3VuZGVkLWZ1bGwgYmctZ3JheS03MDAgdGV4dC13aGl0ZSB0ZXh0LXhzIGlubGluZS1ibG9jayBweC0zIHB5LTIgbS0xIGxlYWRpbmctNFwiPlxuICA8c2xvdD48L3Nsb3Q+XG4gIDxidXR0b24gXG4gICAgY2xhc3M9XCJyb3VuZGVkLWZ1bGwgaW5saW5lLWJsb2NrIGJnLWdyYXktNzAwIHRleHQtd2hpdGUgbWwtMlwiIFxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIG9uOmNsaWNrfHByZXZlbnREZWZhdWx0PXsoKSA9PiBkaXNwYXRjaCgnZGVsZXRlJyl9PuKclTwvYnV0dG9uPlxuPC9zcGFuPiIsICI8c2NyaXB0IGxhbmc9XCJ0c1wiPlxuICBpbXBvcnQgeyBjcmVhdGVFdmVudERpc3BhdGNoZXIgfSBmcm9tICdzdmVsdGUnO1xuICBpbXBvcnQgdHlwZSB7IEFzdEVsZW1lbnQsIEFzdE5vZGUgfSBmcm9tICckbGliL3R5cGVzJztcbiAgaW1wb3J0IHsgaGlnaGxpZ2h0ZWRBc3RFbGVtZW50LCBmaW5kQXN0RWxlbWVudElkLCBzZWxlY3RlZEFzdEVsZW1lbnRJZCwgaXNBc3RFbGVtZW50IH0gZnJvbSAnJGxpYi9zdG9yZXMvcGFnZSc7XG4gIGltcG9ydCBDb2RlRWRpdG9yIGZyb20gJy4vQ29kZUVkaXRvci5zdmVsdGUnO1xuXG4gIGNvbnN0IGRpc3BhdGNoID0gY3JlYXRlRXZlbnREaXNwYXRjaGVyKCk7XG4gIGV4cG9ydCBsZXQgdmFsdWU6IHN0cmluZyB8IG51bGwgPSAnJztcbiAgZXhwb3J0IGxldCBhc3ROb2RlczogQXN0Tm9kZVtdIHwgbnVsbCA9IG51bGw7XG4gIGV4cG9ydCBsZXQgY2xlYXJPblVwZGF0ZSA9IGZhbHNlO1xuICBleHBvcnQgbGV0IGV4cGFuZGVkID0gdHJ1ZTtcbiAgZXhwb3J0IGxldCBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XG4gIGV4cG9ydCBsZXQgbGFyZ2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgJDogYXN0RWxlbWVudHMgPSAoYXN0Tm9kZXMgfHwgW10pLmZpbHRlcihpc0FzdEVsZW1lbnQpXG5cbiAgZnVuY3Rpb24gaGlnaGxpZ2h0QXN0RWxlbWVudChhc3RFbGVtZW50OiBBc3RFbGVtZW50KSB7XG4gICAgJGhpZ2hsaWdodGVkQXN0RWxlbWVudCA9IGFzdEVsZW1lbnQ7XG4gIH1cbiAgZnVuY3Rpb24gdW5oaWdobGlnaHRBc3RFbGVtZW50KCkge1xuICAgICRoaWdobGlnaHRlZEFzdEVsZW1lbnQgPSB1bmRlZmluZWQ7XG4gIH1cbiAgbGV0IGludGVybmFsVmFsdWU6IHN0cmluZyB8IG51bGwgPSBhc3RFbGVtZW50cyA/IG51bGwgOiB2YWx1ZTtcbiAgJDoge1xuICAgIGlmIChhc3ROb2Rlcz8ubGVuZ3RoID09PSAxKSB7XG4gICAgICBsZXQgZmlyc3QgPSBhc3ROb2Rlc1swXTtcbiAgICAgIGlmICghaXNBc3RFbGVtZW50KGZpcnN0KSkge1xuICAgICAgICBpbnRlcm5hbFZhbHVlID0gZmlyc3Q7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChhc3ROb2Rlcykge1xuICAgICAgaW50ZXJuYWxWYWx1ZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlS2V5ZG93bihlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYoIShlLnRhcmdldCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpKSByZXR1cm47XG4gICAgbGV0IHRleHQgPSBlLnRhcmdldC52YWx1ZTtcbiAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicgJiYgdGV4dCAmJiB0ZXh0Lmxlbmd0aCA+IDAgJiYgdGV4dCAhPT0gdmFsdWUpIHtcbiAgICAgIGRpc3BhdGNoKCd1cGRhdGUnLCB0ZXh0KTtcbiAgICAgIGlmIChjbGVhck9uVXBkYXRlKSB7XG4gICAgICAgIGludGVybmFsVmFsdWUgPSBudWxsO1xuICAgICAgICBlLnRhcmdldC52YWx1ZSA9ICcnO1xuICAgICAgfSAgICAgICBcbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gaGFuZGxlVGV4dENoYW5nZShlOiBFdmVudCkge1xuICAgIGlmICgoZS50YXJnZXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50IHx8IGUudGFyZ2V0IGluc3RhbmNlb2YgSFRNTFRleHRBcmVhRWxlbWVudCkpIHtcbiAgICAgIGRpc3BhdGNoKCd0ZXh0Q2hhbmdlJywgZS50YXJnZXQudmFsdWUpOyAgICBcbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gc2VsZWN0KGFzdEVsZW1lbnQ6IEFzdEVsZW1lbnQpIHtcbiAgICBsZXQgaWQgPSBmaW5kQXN0RWxlbWVudElkKGFzdEVsZW1lbnQpO1xuICAgICRzZWxlY3RlZEFzdEVsZW1lbnRJZCA9IGlkO1xuICB9XG4gIGZ1bmN0aW9uIG1vdmVBc3RFbGVtZW50KG1vdmVtZW50OiBudW1iZXIsIGFzdEVsZW1lbnQ6IEFzdEVsZW1lbnQpIHtcbiAgICBpZiAoIWFzdE5vZGVzKSByZXR1cm47XG4gICAgbGV0IGFzdE5vZGVzQ29weSA9IEFycmF5LmZyb20oYXN0Tm9kZXMpO1xuICAgIGxldCBpbmRleCA9IGFzdE5vZGVzQ29weS5pbmRleE9mKGFzdEVsZW1lbnQpO1xuICAgIGFzdE5vZGVzQ29weS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIGFzdE5vZGVzQ29weS5zcGxpY2UoaW5kZXggKyBtb3ZlbWVudCwgMCwgYXN0RWxlbWVudCk7XG4gICAgZGlzcGF0Y2goJ25vZGVzQ2hhbmdlJywgYXN0Tm9kZXNDb3B5KTtcbiAgfVxuPC9zY3JpcHQ+XG5cbjxzZWN0aW9uIGNsYXNzPVwicC00IGJvcmRlci1iIGJvcmRlci1iLWdyYXktMTAwIGJvcmRlci1zb2xpZFwiPlxuICA8aGVhZGVyIGNsYXNzPVwidGV4dC1zbSBtYi0yXCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhbGlnbi1taWRkbGUgdGV4dC1iYXNlXCIgb246Y2xpY2s9eygpID0+IGV4cGFuZGVkID0gIWV4cGFuZGVkfT57ZXhwYW5kZWQgPyAn4payJyA6ICfilrwnfTwvYnV0dG9uPlxuICAgIDxzbG90IG5hbWU9XCJoZWFkaW5nXCIgLz5cbiAgICA8IS0tIENsYXNzZXMgLS0+XG4gIDwvaGVhZGVyPlxuICB7I2lmICQkc2xvdHNbJ3ZhbHVlJ119XG4gICAgPHNsb3QgbmFtZT1cImlucHV0XCI+XG4gICAgICA8aW5wdXQgXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCIgXG4gICAgICAgIGNsYXNzPVwidy1mdWxsIHB5LTEgcHgtMiBiZy1ncmF5LTEwMCBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1tZCBsZWFkaW5nLTYgdGV4dC1zbVwiXG4gICAgICAgIHtwbGFjZWhvbGRlcn1cbiAgICAgICAgdmFsdWU9e2ludGVybmFsVmFsdWV9IFxuICAgICAgICBvbjprZXlkb3duPXtoYW5kbGVLZXlkb3dufVxuICAgICAgICBvbjpjaGFuZ2U9e2hhbmRsZVRleHRDaGFuZ2V9PlxuICAgIDwvc2xvdD5cbiAgICA8ZGl2IGNsYXNzPVwicHQtM1wiPjxzbG90IG5hbWU9XCJ2YWx1ZVwiLz48L2Rpdj5cbiAgezplbHNlfVxuICAgIHsjaWYgZXhwYW5kZWR9XG4gICAgICA8c2xvdCBuYW1lPVwiaW5wdXRcIj5cbiAgICAgICAgeyNpZiBpbnRlcm5hbFZhbHVlfVxuICAgICAgICAgIHsjaWYgbGFyZ2V9XG4gICAgICAgICAgICA8IS0tIDxDb2RlRWRpdG9yIHZhbHVlPXtpbnRlcm5hbFZhbHVlfSBvbjpjaGFuZ2U9eyhlKSA9PiBkaXNwYXRjaCgndGV4dENoYW5nZScsIGUuZGV0YWlsKX0vPiAtLT5cbiAgICAgICAgICAgIDx0ZXh0YXJlYSBcbiAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIHB5LTEgcHgtMiBiZy1ncmF5LTEwMCBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1tZCBsZWFkaW5nLTYgdGV4dC1zbVwiXG4gICAgICAgICAgICB7cGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICB2YWx1ZT17aW50ZXJuYWxWYWx1ZX0gXG4gICAgICAgICAgICBvbjprZXlkb3duPXtoYW5kbGVLZXlkb3dufVxuICAgICAgICAgICAgb246Y2hhbmdlPXtoYW5kbGVUZXh0Q2hhbmdlfT48L3RleHRhcmVhPlxuICAgICAgICAgIHs6ZWxzZX1cbiAgICAgICAgICAgIDxpbnB1dCBcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIiBcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgcHktMSBweC0yIGJnLWdyYXktMTAwIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLW1kIGxlYWRpbmctNiB0ZXh0LXNtXCJcbiAgICAgICAgICAgICAge3BsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICB2YWx1ZT17aW50ZXJuYWxWYWx1ZX0gXG4gICAgICAgICAgICAgIG9uOmtleWRvd249e2hhbmRsZUtleWRvd259XG4gICAgICAgICAgICAgIG9uOmNoYW5nZT17aGFuZGxlVGV4dENoYW5nZX0+XG4gICAgICAgICAgey9pZn1cbiAgICAgICAgICB7I2lmICQkc2xvdHNbJ3ZhbHVlJ119XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHQtM1wiPjxzbG90IG5hbWU9XCJ2YWx1ZVwiLz48L2Rpdj5cbiAgICAgICAgICB7L2lmfVxuICAgICAgICB7OmVsc2UgaWYgYXN0RWxlbWVudHN9XG4gICAgICAgICAgeyNlYWNoIGFzdEVsZW1lbnRzIGFzIGFzdEVsZW1lbnQsIGlkeH1cbiAgICAgICAgICAgIDxwIG9uOm1vdXNlZW50ZXI9eygpID0+IGhpZ2hsaWdodEFzdEVsZW1lbnQoYXN0RWxlbWVudCl9IG9uOm1vdXNlbGVhdmU9eygpID0+IHVuaGlnaGxpZ2h0QXN0RWxlbWVudCgpfT5cbiAgICAgICAgICAgICAgJmx0O3thc3RFbGVtZW50LnRhZ30mZ3Q7IEVsZW1lbnQgXG4gICAgICAgICAgICAgIDxidXR0b24gXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJiZy1ibHVlLTUwMCBob3ZlcjpiZy1ibHVlLTcwMCB0ZXh0LXdoaXRlIGlubGluZSBoLTUgdy01IGFsaWduLW1pZGRsZVwiXG4gICAgICAgICAgICAgICAgb246Y2xpY2s9eygpID0+IHNlbGVjdChhc3RFbGVtZW50KX0+XG4gICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsPVwiY3VycmVudENvbG9yXCIgZD1cIk00LDNINVY1SDNWNEExLDEgMCAwLDEgNCwzTTIwLDNBMSwxIDAgMCwxIDIxLDRWNUgxOVYzSDIwTTE1LDVWM0gxN1Y1SDE1TTExLDVWM0gxM1Y1SDExTTcsNVYzSDlWNUg3TTIxLDIwQTEsMSAwIDAsMSAyMCwyMUgxOVYxOUgyMVYyME0xNSwyMVYxOUgxN1YyMUgxNU0xMSwyMVYxOUgxM1YyMUgxMU03LDIxVjE5SDlWMjFIN000LDIxQTEsMSAwIDAsMSAzLDIwVjE5SDVWMjFINE0zLDE1SDVWMTdIM1YxNU0yMSwxNVYxN0gxOVYxNUgyMU0zLDExSDVWMTNIM1YxMU0yMSwxMVYxM0gxOVYxMUgyMU0zLDdINVY5SDNWN00yMSw3VjlIMTlWN0gyMVpcIj48L3BhdGg+XG4gICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmctZ3JheS01MDAgaG92ZXI6YmctZ3JheS03MDAgZGlzYWJsZWQ6YmctZ3JheS0zMDAgdGV4dC13aGl0ZSBpbmxpbmUgaC01IHctNSBhbGlnbi1taWRkbGVcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpZHggPT09IDB9XG4gICAgICAgICAgICAgICAgb246Y2xpY2s9eygpID0+IG1vdmVBc3RFbGVtZW50KC0xLCBhc3RFbGVtZW50KX0+XG4gICAgICAgICAgICAgICAg4oaRXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmctZ3JheS01MDAgaG92ZXI6YmctZ3JheS03MDAgZGlzYWJsZWQ6YmctZ3JheS0zMDAgdGV4dC13aGl0ZSBpbmxpbmUgaC01IHctNSBhbGlnbi1taWRkbGVcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpZHggPT09IGFzdEVsZW1lbnRzLmxlbmd0aCAtIDF9XG4gICAgICAgICAgICAgICAgb246Y2xpY2s9eygpID0+IG1vdmVBc3RFbGVtZW50KDEsIGFzdEVsZW1lbnQpfT5cbiAgICAgICAgICAgICAgICDihpNcbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgey9lYWNofVxuICAgICAgICB7L2lmfVxuICAgICAgPC9zbG90PlxuICAgIHsvaWZ9XG4gIHsvaWZ9XG48L3NlY3Rpb24+IiwgIjxzY3JpcHQgbGFuZz1cInRzXCI+XG5cdGltcG9ydCBQaWxsIGZyb20gJyRsaWIvY29tcG9uZW50cy9QaWxsLnN2ZWx0ZSc7XG5cdGltcG9ydCBTaWRlYmFyU2VjdGlvbiBmcm9tICckbGliL2NvbXBvbmVudHMvU2lkZWJhclNlY3Rpb24uc3ZlbHRlJztcbiAgaW1wb3J0IHsgY3JlYXRlRXZlbnREaXNwYXRjaGVyIH0gZnJvbSAnc3ZlbHRlJztcblx0aW1wb3J0IHsgZHJhZ2dlZE9iamVjdCB9IGZyb20gJyRsaWIvc3RvcmVzL2RyYWdBbmREcm9wJztcbiAgaW1wb3J0IHsgcGFnZSwgc2VsZWN0ZWRBc3RFbGVtZW50LCBzZWxlY3RlZEFzdEVsZW1lbnRJZCwgZmluZEFzdEVsZW1lbnQsIGlzQXN0RWxlbWVudCB9IGZyb20gJyRsaWIvc3RvcmVzL3BhZ2UnO1xuICBpbXBvcnQgdHlwZSB7IEFzdE5vZGUgfSBmcm9tICckbGliL3R5cGVzJztcbiAgZXhwb3J0IGxldCBsaXZlO1xuXG4gIGNvbnN0IGRpc3BhdGNoID0gY3JlYXRlRXZlbnREaXNwYXRjaGVyKCk7XG5cbiAgbGV0IGNsYXNzTGlzdDogc3RyaW5nW107XG4gICQ6IHtcbiAgICBsZXQgY2xhc3NBdHRyID0gJHNlbGVjdGVkQXN0RWxlbWVudD8uYXR0cnM/LmNsYXNzO1xuICAgIGNsYXNzTGlzdCA9IGNsYXNzQXR0ciA/IGNsYXNzQXR0ci5zcGxpdChcIiBcIikuZmlsdGVyKGUgPT4gZS50cmltKCkubGVuZ3RoID4gMCkgOiBbXVxuICB9XG4gICQ6IGVkaXRhYmxlQXR0cnMgPSBPYmplY3QuZW50cmllcygkc2VsZWN0ZWRBc3RFbGVtZW50Py5hdHRycyB8fCB7fSlcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoW2ssIF9dKSA9PiBrICE9PSAnY2xhc3MnICYmIGsgIT09ICdzZWxmQ2xvc2UnICYmICEvZGF0YS0vLnRlc3QoaykpXG4gICQ6IHNpZGViYXJUaXRsZSA9ICRzZWxlY3RlZEFzdEVsZW1lbnQ/LnRhZztcbiAgJDogaXNSb290Tm9kZSA9ICEhJHNlbGVjdGVkQXN0RWxlbWVudElkICYmICRzZWxlY3RlZEFzdEVsZW1lbnRJZCA9PT0gJ3Jvb3QnO1xuICAkOiBhdHRyaWJ1dGVzRWRpdGFibGUgPSAkc2VsZWN0ZWRBc3RFbGVtZW50Py50YWcgIT09ICdlZXgnO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIGFkZENsYXNzKHsgZGV0YWlsOiBuZXdDbGFzcyB9OiBDdXN0b21FdmVudDxzdHJpbmc+KSB7XG4gICAgbGV0IG5vZGUgPSAkc2VsZWN0ZWRBc3RFbGVtZW50O1xuICAgIGlmIChub2RlKSB7XG4gICAgICBub2RlLmF0dHJzLmNsYXNzID0gbm9kZS5hdHRycy5jbGFzcyA/IGAke25vZGUuYXR0cnMuY2xhc3N9ICR7bmV3Q2xhc3N9YCA6IG5ld0NsYXNzO1xuICAgICAgbGl2ZS5wdXNoRXZlbnQoXCJ1cGRhdGVfcGFnZV9hc3RcIiwgeyBpZDogJHBhZ2UuaWQsIGFzdDogJHBhZ2UuYXN0IH0pO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHBhcmVudE5vZGVJZCgpIHtcbiAgICBpZiAoJHNlbGVjdGVkQXN0RWxlbWVudElkKSB7XG4gICAgICBsZXQgcGFydHMgPSAkc2VsZWN0ZWRBc3RFbGVtZW50SWQuc3BsaXQoXCIuXCIpO1xuICAgICAgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMSkgcmV0dXJuICdyb290JztcbiAgICAgIHJldHVybiBwYXJ0cy5zbGljZSgwLCAtMSkuam9pbihcIi5cIilcbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gc2VsZWN0UGFyZW50Tm9kZSgpIHtcbiAgICBsZXQgcGFyZW50SWQgPSBwYXJlbnROb2RlSWQoKTtcbiAgICBpZiAocGFyZW50SWQpIHtcbiAgICAgICRzZWxlY3RlZEFzdEVsZW1lbnRJZCA9IHBhcmVudElkO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGZ1bmN0aW9uIGRlbGV0ZUNsYXNzKGNsYXNzTmFtZTogc3RyaW5nKSB7XG4gICAgbGV0IG5vZGUgPSAkc2VsZWN0ZWRBc3RFbGVtZW50O1xuICAgIGlmIChub2RlKSB7XG4gICAgICBsZXQgbmV3Q2xhc3MgPSBub2RlLmF0dHJzLmNsYXNzLnNwbGl0KFwiIFwiKS5maWx0ZXIoYyA9PiBjICE9PSBjbGFzc05hbWUpLmpvaW4oXCIgXCIpO1xuICAgICAgbm9kZS5hdHRycy5jbGFzcyA9IG5ld0NsYXNzO1xuICAgICAgbGl2ZS5wdXNoRXZlbnQoXCJ1cGRhdGVfcGFnZV9hc3RcIiwgeyBpZDogJHBhZ2UuaWQsIGFzdDogJHBhZ2UuYXN0IH0pO1xuICAgIH1cbiAgfSAgXG5cbiAgYXN5bmMgZnVuY3Rpb24gdXBkYXRlVGV4dChlOiBDdXN0b21FdmVudDxzdHJpbmc+KSB7XG4gICAgbGV0IG5vZGUgPSAkc2VsZWN0ZWRBc3RFbGVtZW50O1xuICAgIGlmIChub2RlICYmIGlzQXN0RWxlbWVudChub2RlKSkge1xuICAgICAgbm9kZS5jb250ZW50ID0gW2UuZGV0YWlsXVxuICAgICAgbGl2ZS5wdXNoRXZlbnQoXCJ1cGRhdGVfcGFnZV9hc3RcIiwgeyBpZDogJHBhZ2UuaWQsIGFzdDogJHBhZ2UuYXN0IH0pO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZUF0dHJpYnV0ZShhdHRyTmFtZTogc3RyaW5nLCBlOiBDdXN0b21FdmVudDxzdHJpbmc+KSB7XG4gICAgbGV0IG5vZGUgPSAkc2VsZWN0ZWRBc3RFbGVtZW50O1xuICAgIGlmIChub2RlICYmIGlzQXN0RWxlbWVudChub2RlKSkge1xuICAgICAgbm9kZS5hdHRyc1thdHRyTmFtZV0gPSBlLmRldGFpbDtcbiAgICAgIGxpdmUucHVzaEV2ZW50KFwidXBkYXRlX3BhZ2VfYXN0XCIsIHsgaWQ6ICRwYWdlLmlkLCBhc3Q6ICRwYWdlLmFzdCB9KTsgICAgIFxuICAgIH0gICAgXG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBkZWxldGVDb21wb25lbnQoKSB7XG4gICAgbGV0IG5vZGUgPSAkc2VsZWN0ZWRBc3RFbGVtZW50O1xuICAgIGlmICghbm9kZSkgcmV0dXJuO1xuICAgIGlmIChjb25maXJtKCdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgY29tcG9uZW50PycpKSB7XG4gICAgICBsZXQgcGFyZW50SWQgPSBwYXJlbnROb2RlSWQoKTtcbiAgICAgIGxldCBjb250ZW50ID0gKHBhcmVudElkICYmIHBhcmVudElkICE9PSAncm9vdCcpID8gZmluZEFzdEVsZW1lbnQoJHBhZ2UuYXN0LCBwYXJlbnRJZCk/LmNvbnRlbnQgOiAkcGFnZS5hc3Q7XG4gICAgICBpZiAoY29udGVudCkge1xuICAgICAgICBsZXQgdGFyZ2V0SW5kZXggPSAoY29udGVudCBhcyB1bmtub3duW10pLmluZGV4T2Yobm9kZSk7XG4gICAgICAgIGNvbnRlbnQuc3BsaWNlKHRhcmdldEluZGV4LCAxKTtcbiAgICAgICAgJHNlbGVjdGVkQXN0RWxlbWVudElkID0gdW5kZWZpbmVkO1xuICAgICAgICBsaXZlLnB1c2hFdmVudChcInVwZGF0ZV9wYWdlX2FzdFwiLCB7IGlkOiAkcGFnZS5pZCwgYXN0OiAkcGFnZS5hc3QgfSk7XG4gICAgICB9IFxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGRyb3BJbnNpZGUoKSB7XG4gICAgZGlzcGF0Y2goJ2Ryb3BwZWRJbnRvVGFyZ2V0JywgJHNlbGVjdGVkQXN0RWxlbWVudCk7XG4gIH1cblxuICBsZXQgaXNEcmFnZ2luZ092ZXIgPSBmYWxzZTtcbiAgZnVuY3Rpb24gZHJhZ092ZXIoZTogRHJhZ0V2ZW50KXtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgaXNEcmFnZ2luZ092ZXIgPSB0cnVlO1xuICAgIGlmIChlLmRhdGFUcmFuc2Zlcikge1xuICAgICAgZS5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9IFwibW92ZVwiO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGZ1bmN0aW9uIGNoYW5nZU5vZGVzKHsgZGV0YWlsOiBub2RlcyB9OiBDdXN0b21FdmVudDxBc3ROb2RlW10+KSB7XG4gICAgaWYgKCRzZWxlY3RlZEFzdEVsZW1lbnRJZCA9PT0gJ3Jvb3QnKSB7XG4gICAgICBsZXQgc2VsZWN0ZWRFbGVtZW50ID0gJHBhZ2U7XG4gICAgICBzZWxlY3RlZEVsZW1lbnQuYXN0ID0gbm9kZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBzZWxlY3RlZEVsZW1lbnQgPSAkc2VsZWN0ZWRBc3RFbGVtZW50O1xuICAgICAgaWYgKCFzZWxlY3RlZEVsZW1lbnQpIHJldHVybjtcbiAgICAgIHNlbGVjdGVkRWxlbWVudC5jb250ZW50ID0gbm9kZXM7XG4gICAgfVxuICAgIGxpdmUucHVzaEV2ZW50KFwidXBkYXRlX3BhZ2VfYXN0XCIsIHsgaWQ6ICRwYWdlLmlkLCBhc3Q6ICRwYWdlLmFzdCB9KTtcbiAgfSAgXG48L3NjcmlwdD5cblxuPGRpdiBjbGFzcz1cInctNjQgYmctd2hpdGVcIiBkYXRhLXRlc3QtaWQ9XCJyaWdodC1zaWRlYmFyXCI+XG4gIDxkaXYgY2xhc3M9XCJzdGlja3kgdG9wLTBcIj5cbiAgICB7I2lmICRzZWxlY3RlZEFzdEVsZW1lbnR9XG4gICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWIgdGV4dC1sZyBmb250LW1lZGl1bSBsZWFkaW5nLTUgcHQtNyBwci03IHBiLTUgcGwtNCByZWxhdGl2ZVwiPlxuICAgICAgICB7c2lkZWJhclRpdGxlfVxuICAgICAgICB7I2lmICFpc1Jvb3ROb2RlfVxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCIgXG4gICAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBweS0zIHRvcC0zIHJpZ2h0LTVcIiBcbiAgICAgICAgICBvbjpjbGljaz17c2VsZWN0UGFyZW50Tm9kZX0+4oawPC9idXR0b24+ICAgICAgXG4gICAgICAgIHsvaWZ9XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCIgXG4gICAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBweS0zIHRvcC0zIHJpZ2h0LTFcIiBcbiAgICAgICAgICBvbjpjbGljaz17KCkgPT4gJHNlbGVjdGVkQXN0RWxlbWVudElkID0gdW5kZWZpbmVkfT7DlzwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICB7I2lmIGF0dHJpYnV0ZXNFZGl0YWJsZX1cbiAgICAgICAgPFNpZGViYXJTZWN0aW9uIGNsZWFyT25VcGRhdGU9e3RydWV9IG9uOnVwZGF0ZT17YWRkQ2xhc3N9IHBsYWNlaG9sZGVyPVwiQWRkIG5ldyBjbGFzc1wiID5cbiAgICAgICAgICA8c3ZlbHRlOmZyYWdtZW50IHNsb3Q9XCJoZWFkaW5nXCI+Q2xhc3Nlczwvc3ZlbHRlOmZyYWdtZW50PlxuICAgICAgICAgIDxzdmVsdGU6ZnJhZ21lbnQgc2xvdD1cInZhbHVlXCI+XG4gICAgICAgICAgICB7I2VhY2ggY2xhc3NMaXN0IGFzIGNsYXNzTmFtZX1cbiAgICAgICAgICAgICAgPFBpbGwgb246ZGVsZXRlPXsoKSA9PiBkZWxldGVDbGFzcyhjbGFzc05hbWUpfT57Y2xhc3NOYW1lfTwvUGlsbD5cbiAgICAgICAgICAgIHsvZWFjaH1cbiAgICAgICAgICA8L3N2ZWx0ZTpmcmFnbWVudD5cbiAgICAgICAgPC9TaWRlYmFyU2VjdGlvbj5cbiAgICAgICAgeyNlYWNoIGVkaXRhYmxlQXR0cnMgYXMgZW50cnkgKGVudHJ5KX1cbiAgICAgICAgICB7QGNvbnN0IFtuYW1lLCB2YWx1ZV0gPSBlbnRyeX1cbiAgICAgICAgICA8U2lkZWJhclNlY3Rpb24gY2xlYXJPblVwZGF0ZT17dHJ1ZX0gdmFsdWU9e3ZhbHVlfSBvbjp0ZXh0Q2hhbmdlPXsoZSkgPT4gdXBkYXRlQXR0cmlidXRlKG5hbWUsIGUpfSBwbGFjZWhvbGRlcj1cIlNldCB7bmFtZX1cIj5cbiAgICAgICAgICAgIDxzdmVsdGU6ZnJhZ21lbnQgc2xvdD1cImhlYWRpbmdcIj57bmFtZX08L3N2ZWx0ZTpmcmFnbWVudD5cbiAgICAgICAgICA8L1NpZGViYXJTZWN0aW9uPlxuICAgICAgICB7L2VhY2h9XG4gICAgICB7L2lmfVxuXG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmVcIj5cbiAgICAgICAgeyNpZiAkZHJhZ2dlZE9iamVjdCAmJiAkZHJhZ2dlZE9iamVjdC5jYXRlZ29yeSA9PT0gXCJiYXNpY1wifVxuICAgICAgICAgIDxkaXYgXG4gICAgICAgICAgICBjbGFzcz1cImFic29sdXRlIGgtOCBiZy13aGl0ZSBvcGFjaXR5LTcwIHctZnVsbCBoLWZ1bGwgcC00XCIgXG4gICAgICAgICAgICBjbGFzczpvcGFjaXR5LTkwPXtpc0RyYWdnaW5nT3Zlcn1cbiAgICAgICAgICAgIG9uOmRyb3B8cHJldmVudERlZmF1bHQ9e2Ryb3BJbnNpZGV9IFxuICAgICAgICAgICAgb246ZHJhZ292ZXI9e2RyYWdPdmVyfVxuICAgICAgICAgICAgb246ZHJhZ2xlYXZlPXsoKSA9PiBpc0RyYWdnaW5nT3ZlciA9IGZhbHNlfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggcm91bmRlZC1sZyBvdXRsaW5lLWRhc2hlZCBvdXRsaW5lLTIgaC1mdWxsIHRleHQtY2VudGVyIGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICBEcm9wIGNvbXBvbmVudHMgaGVyZVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIHsvaWZ9XG4gICAgICAgIHsjaWYgJHNlbGVjdGVkQXN0RWxlbWVudC5jb250ZW50Lmxlbmd0aCA+IDB9XG4gICAgICAgICAgPFNpZGViYXJTZWN0aW9uIFxuICAgICAgICAgICAgYXN0Tm9kZXM9eyRzZWxlY3RlZEFzdEVsZW1lbnQuY29udGVudH1cbiAgICAgICAgICAgIGxhcmdlPXskc2VsZWN0ZWRBc3RFbGVtZW50LnRhZyA9PT0gJ2VleCd9XG4gICAgICAgICAgICBvbjp0ZXh0Q2hhbmdlPXsoZSkgPT4gdXBkYXRlVGV4dChlKX0gXG4gICAgICAgICAgICBvbjpub2Rlc0NoYW5nZT17Y2hhbmdlTm9kZXN9PlxuICAgICAgICAgICAgPHN2ZWx0ZTpmcmFnbWVudCBzbG90PVwiaGVhZGluZ1wiPkNvbnRlbnQ8L3N2ZWx0ZTpmcmFnbWVudD5cbiAgICAgICAgICA8L1NpZGViYXJTZWN0aW9uPlxuICAgICAgICB7L2lmfVxuICAgICAgPC9kaXY+XG4gICAgICBcbiAgICAgIDxTaWRlYmFyU2VjdGlvbiBleHBhbmRlZD17ZmFsc2V9PlxuICAgICAgICA8c3ZlbHRlOmZyYWdtZW50IHNsb3Q9XCJoZWFkaW5nXCI+RGVsZXRlPC9zdmVsdGU6ZnJhZ21lbnQ+XG4gICAgICAgIDxzdmVsdGU6ZnJhZ21lbnQgc2xvdD1cImlucHV0XCI+XG4gICAgICAgICAgPGJ1dHRvbiBcbiAgICAgICAgICAgIG9uOmNsaWNrPXtkZWxldGVDb21wb25lbnR9XG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCIgXG4gICAgICAgICAgICBjbGFzcz1cImJnLXJlZC01MDAgaG92ZXI6YmctcmVkLTcwMCB0ZXh0LXdoaXRlIGZvbnQtYm9sZCBweS0yIHB4LTQgcm91bmRlZCBvdXRsaW5lLWRhc2hlZCBvdXRsaW5lLTIgdy1mdWxsXCI+XG4gICAgICAgICAgICBEZWxldGVcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9zdmVsdGU6ZnJhZ21lbnQ+XG4gICAgICA8L1NpZGViYXJTZWN0aW9uPlxuICAgIHs6ZWxzZX1cbiAgICAgIDxkaXYgY2xhc3M9XCJwdC04XCI+XG4gICAgICAgIFNlbGVjdCBhIGNvbXBvbmVudCB0byBlZGl0IGl0cyBwcm9wZXJ0aWVzXG4gICAgICA8L2Rpdj5cbiAgICB7L2lmfVxuICA8L2Rpdj5cbjwvZGl2PiAgICAiLCAiPHNjcmlwdCBsYW5nPVwidHNcIj5cblx0aW1wb3J0IENvbXBvbmVudHNTaWRlYmFyIGZyb20gXCIuL0NvbXBvbmVudHNTaWRlYmFyLnN2ZWx0ZVwiO1xuXHRpbXBvcnQgQmFja2Ryb3AgZnJvbSBcIi4vQmFja2Ryb3Auc3ZlbHRlXCI7XG5cdGltcG9ydCBQYWdlUHJldmlldyBmcm9tIFwiLi9QYWdlUHJldmlldy5zdmVsdGVcIjtcblx0aW1wb3J0IFByb3BlcnRpZXNTaWRlYmFyIGZyb20gXCIuL1Byb3BlcnRpZXNTaWRlYmFyLnN2ZWx0ZVwiO1xuXHRpbXBvcnQgeyBwYWdlIGFzIHBhZ2VTdG9yZSB9IGZyb20gXCIkbGliL3N0b3Jlcy9wYWdlXCI7XG5cdGltcG9ydCB0eXBlIHsgQ29tcG9uZW50RGVmaW5pdGlvbiwgUGFnZSB9IGZyb20gXCIkbGliL3R5cGVzXCI7XG5cblx0ZXhwb3J0IGxldCBjb21wb25lbnRzOiBDb21wb25lbnREZWZpbml0aW9uW107XG5cdGV4cG9ydCBsZXQgcGFnZTogUGFnZTtcblx0ZXhwb3J0IGxldCBsaXZlO1xuXHQkOiAkcGFnZVN0b3JlID0gcGFnZTtcblxuXHRmdW5jdGlvbiBhZGRCYXNpY0NvbXBvbmVudFRvVGFyZ2V0KGU6IEN1c3RvbUV2ZW50KSB7XG5cdFx0Ly8gVGhpcyBtZXRob2QgaXMgaW4gUGFnZVByZXZpZXcuIFxuXHR9XG48L3NjcmlwdD5cbjxCYWNrZHJvcC8+XG48ZGl2IGNsYXNzPVwiZmxleCBtaW4taC1zY3JlZW4gYmctZ3JheS0xMDBcIiBkYXRhLXRlc3QtaWQ9XCJhcHAtY29udGFpbmVyXCI+XG5cdDwhLS0gTGVmdCBzaWRlYmFyIC0tPlxuXHQ8Q29tcG9uZW50c1NpZGViYXIge2NvbXBvbmVudHN9Lz5cblxuXHQ8IS0tIE1haW4gLS0+XG5cdDxQYWdlUHJldmlldyB7bGl2ZX0gLz5cblxuXHQ8IS0tIFJpZ2h0IHNpZGViYXIgLS0+XG5cdDxQcm9wZXJ0aWVzU2lkZWJhciBcblx0XHR7bGl2ZX1cblx0XHRvbjpkcm9wcGVkSW50b1RhcmdldD17ZSA9PiBhZGRCYXNpY0NvbXBvbmVudFRvVGFyZ2V0KGUuZGV0YWlsKX0vPlxuPC9kaXY+Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFNQSxPQUFDLFNBQVVBLFNBQVFDLFdBQVU7QUFDM0I7QUFHQSxTQUFDLFdBQVk7QUFDWCxjQUFJLFdBQVc7QUFDZixjQUFJLFVBQVUsQ0FBQyxNQUFNLE9BQU8sVUFBVSxHQUFHO0FBQ3pDLG1CQUFTLElBQUksR0FBRyxJQUFJLFFBQVEsVUFBVSxDQUFDRCxRQUFPLHVCQUF1QixFQUFFLEdBQUc7QUFDeEUsWUFBQUEsUUFBTyx3QkFDTEEsUUFBTyxRQUFRLENBQUMsSUFBSSx1QkFBdUI7QUFDN0MsWUFBQUEsUUFBTyx1QkFDTEEsUUFBTyxRQUFRLENBQUMsSUFBSSxzQkFBc0IsS0FDMUNBLFFBQU8sUUFBUSxDQUFDLElBQUksNkJBQTZCO0FBQUEsVUFDckQ7QUFDQSxjQUFJLENBQUNBLFFBQU87QUFDVixZQUFBQSxRQUFPLHdCQUF3QixTQUFVLFVBQVVFLFVBQVM7QUFDMUQsa0JBQUksV0FBVyxJQUFJLEtBQUssRUFBRSxRQUFRO0FBQ2xDLGtCQUFJLGFBQWEsS0FBSyxJQUFJLEdBQUcsTUFBTSxXQUFXLFNBQVM7QUFDdkQsa0JBQUksS0FBS0YsUUFBTyxXQUFXLFdBQVk7QUFDckMseUJBQVMsV0FBVyxVQUFVO0FBQUEsY0FDaEMsR0FBRyxVQUFVO0FBQ2IseUJBQVcsV0FBVztBQUN0QixxQkFBTztBQUFBLFlBQ1Q7QUFDRixjQUFJLENBQUNBLFFBQU87QUFDVixZQUFBQSxRQUFPLHVCQUF1QixTQUFVLElBQUk7QUFDMUMsMkJBQWEsRUFBRTtBQUFBLFlBQ2pCO0FB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SUFDTCxPQUFPO0FBQ0wsWUFBTSxzREFBc0Q7QUFBQSxJQUM5RDtBQUFBLEVBQ0YsQ0FBQztBQUVELE1BQUksYUFDRixTQUFTLGNBQWMsTUFBTSxFQUFFLGFBQWEsWUFBWSxLQUFLO0FBQy9ELE1BQUksWUFBWSxTQUNiLGNBQWMseUJBQXlCLEVBQ3ZDLGFBQWEsU0FBUztBQUN6QixNQUFJLGFBQWEsSUFBSSxTQUFTLFdBQVcsWUFBWSxRQUFRLFFBQVE7QUFBQSxJQUNuRSxPQUFPLEVBQUUsR0FBRyxTQUFTLFNBQVUsR0FBRyxHQUFHLE1BQU07QUFBQSxJQUMzQyxRQUFRLEVBQUUsYUFBYSxVQUFVO0FBQUEsRUFDbkMsQ0FBQztBQUNELGFBQVcsUUFBUTtBQUNuQixTQUFPLGFBQWE7IiwKICAibmFtZXMiOiBbIndpbmRvdyIsICJkb2N1bWVudCIsICJlbGVtZW50IiwgInRvcGJhciIsICJsb29wIiwgIl9kZWZpbmVQcm9wZXJ0eSIsICJvd25LZXlzIiwgIl9vYmplY3RTcHJlYWQyIiwgImVycm9yTWVzc2FnZXMiLCAidXBkYXRlIiwgImdldFN0YXRlIiwgInN0YXRlIiwgInNldFN0YXRlIiwgImN1cnJ5IiwgImlzT2JqZWN0IiwgImNvbmZpZyIsICJlcnJvckhhbmRsZXIiLCAidGhyb3dFcnJvciIsICJ2YWxpZGF0b3JzIiwgImNvbXBvc2UiLCAicHJvbWlzZSIsICJjb25maWd1cmVMb2FkZXIiLCAicmVxdWlyZSIsICJjb2xvcnMiLCAiaW5kZXgiLCAiZWxlbWVudCIsICJub29wIiwgImVsZW1lbnQiLCAiZmlsZSIsICJub29wIiwgIm5vb3AiLCAibm9vcCIsICJub3ciLCAiZWxlbWVudCIsICJjaGlsZHJlbiIsICJpbnNlcnQiLCAiZGV0YWNoIiwgImVsZW1lbnQiLCAidGV4dCIsICJkZXRhY2giLCAiZWxlbWVudCIsICJpbnNlcnQiLCAiZGV0YWNoIiwgImVsZW1lbnQiLCAiaGFzaCIsICJydWxlcyIsICJkZXRhY2giLCAiZGV0YWNoIiwgImNvbmZpZyIsICJpbml0IiwgInRpY2siLCAibm9vcCIsICJub3ciLCAiY3JlYXRlX2VhY2hfYmxvY2siLCAiaW5zZXJ0IiwgInVwZGF0ZSIsICJpbml0IiwgImluc3RhbmNlIiwgImNyZWF0ZV9mcmFnbWVudCIsICJhcHBlbmRfc3R5bGVzIiwgIm5vb3AiLCAiZGV0YWNoIiwgImNyZWF0ZV9zbG90IiwgImNyZWF0ZSIsICJpbnNlcnQiLCAiYXR0ciIsICJub29wIiwgImluZGV4IiwgImRldGFjaCIsICJ0ZXh0IiwgIm5vb3AiLCAidXBkYXRlIiwgInN1YnNjcmliZSIsICJydW4iLCAiY3R4IiwgImN0eCIsICJwYWdlIiwgIl9kZWZpbmVQcm9wZXJ0eSIsICJvd25LZXlzIiwgIl9vYmplY3RTcHJlYWQyIiwgIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwgIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsICJfc2xpY2VkVG9BcnJheSIsICJfYXJyYXlXaXRoSG9sZXMiLCAiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwgIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsICJfbm9uSXRlcmFibGVSZXN0IiwgIl9hcnJheUxpa2VUb0FycmF5IiwgIl9kZWZpbmVQcm9wZXJ0eSIsICJvd25LZXlzIiwgIl9vYmplY3RTcHJlYWQyIiwgImNvbXBvc2UiLCAiY3VycnkiLCAiaXNPYmplY3QiLCAiaXNFbXB0eSIsICJpc0Z1bmN0aW9uIiwgImhhc093blByb3BlcnR5IiwgInZhbGlkYXRlQ2hhbmdlcyIsICJlcnJvckhhbmRsZXIiLCAidmFsaWRhdGVTZWxlY3RvciIsICJ2YWxpZGF0ZUhhbmRsZXIiLCAidmFsaWRhdGVJbml0aWFsIiwgInRocm93RXJyb3IiLCAiZXJyb3JNZXNzYWdlcyIsICJ2YWxpZGF0b3JzIiwgImNyZWF0ZSIsICJkaWRTdGF0ZVVwZGF0ZSIsICJ1cGRhdGUiLCAidXBkYXRlU3RhdGUiLCAiZXh0cmFjdENoYW5nZXMiLCAiZ2V0U3RhdGUiLCAic3RhdGUiLCAic2V0U3RhdGUiLCAiaW5kZXgiLCAic3RhdGVfbG9jYWxfZGVmYXVsdCIsICJjb25maWciLCAiY29uZmlnX2RlZmF1bHQiLCAiY3VycnkiLCAiY3VycnlfZGVmYXVsdCIsICJpc09iamVjdCIsICJpc09iamVjdF9kZWZhdWx0IiwgInZhbGlkYXRlQ29uZmlnIiwgImNvbmZpZyIsICJlcnJvckhhbmRsZXIiLCAiaXNPYmplY3RfZGVmYXVsdCIsICJpbmZvcm1BYm91dERlcHJlY2F0aW9uIiwgImVycm9yTWVzc2FnZXMiLCAidGhyb3dFcnJvciIsICJjdXJyeV9kZWZhdWx0IiwgInZhbGlkYXRvcnMiLCAidmFsaWRhdG9yc19kZWZhdWx0IiwgImNvbXBvc2UiLCAiY29tcG9zZV9kZWZhdWx0IiwgIm1lcmdlIiwgIl9vYmplY3RTcHJlYWQyIiwgImRlZXBNZXJnZV9kZWZhdWx0IiwgIkNBTkNFTEFUSU9OX01FU1NBR0UiLCAibWFrZUNhbmNlbGFibGUiLCAicHJvbWlzZSIsICJtYWtlQ2FuY2VsYWJsZV9kZWZhdWx0IiwgIl9zdGF0ZSRjcmVhdGUiLCAic3RhdGVfbG9jYWxfZGVmYXVsdCIsICJjb25maWdfZGVmYXVsdCIsICJfc3RhdGUkY3JlYXRlMiIsICJfc2xpY2VkVG9BcnJheSIsICJnZXRTdGF0ZSIsICJzZXRTdGF0ZSIsICJjb25maWciLCAidmFsaWRhdG9yc19kZWZhdWx0IiwgIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsICJkZWVwTWVyZ2VfZGVmYXVsdCIsICJpbml0IiwgIm1ha2VDYW5jZWxhYmxlX2RlZmF1bHQiLCAid3JhcHBlclByb21pc2UiLCAic3RvcmVNb25hY29JbnN0YW5jZSIsICJjb21wb3NlX2RlZmF1bHQiLCAiaW5qZWN0U2NyaXB0cyIsICJnZXRNb25hY29Mb2FkZXJTY3JpcHQiLCAiY29uZmlndXJlTG9hZGVyIiwgImNyZWF0ZVNjcmlwdCIsICJyZXF1aXJlIiwgIl9fZ2V0TW9uYWNvSW5zdGFuY2UiLCAibG9hZGVyIiwgImxvYWRlcl9kZWZhdWx0IiwgImN0eCIsICJjcmVhdGVfaWZfYmxvY2siLCAiY3R4IiwgImN0eCIsICJjcmVhdGVfZHluYW1pY19lbGVtZW50XzEiLCAiY3JlYXRlX2R5bmFtaWNfZWxlbWVudCIsICJjdHgiLCAiZGlzcGF0Y2giLCAiY3R4IiwgImNyZWF0ZV9pZl9ibG9ja180IiwgImNyZWF0ZV9pZl9ibG9ja18zIiwgImNyZWF0ZV9pZl9ibG9ja180IiwgImNyZWF0ZV9pZl9ibG9ja18zIiwgImNyZWF0ZV9pZl9ibG9ja18yIiwgImNyZWF0ZV9pZl9ibG9ja18xIiwgImN0eCIsICJ0b3BiYXIiXQp9Cg== diff --git a/priv/static/beacon_live_admin.js.gz b/priv/static/beacon_live_admin.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..bec1970f45f014172119117adc4e3ce648a3c530 GIT binary patch literal 15246 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 UdPOy$z^!loH+!40NkXCk0J+wh>Hq)$ literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin.min-0d87a192b0422c55742e7c45e77b4c42.css b/priv/static/beacon_live_admin.min-0d87a192b0422c55742e7c45e77b4c42.css new file mode 100644 index 00000000..b2178614 --- /dev/null +++ b/priv/static/beacon_live_admin.min-0d87a192b0422c55742e7c45e77b4c42.css @@ -0,0 +1,3 @@ +@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap"); +/*! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:Plus Jakarta Sans,sans-serif,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=checkbox]:indeterminate,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:#0000}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:#0000}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.hero-arrow-left-solid{--hero-arrow-left-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-arrow-left-solid);mask:var(--hero-arrow-left-solid)}.hero-arrow-left-solid,.hero-arrow-path{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-arrow-path{--hero-arrow-path:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-arrow-path);mask:var(--hero-arrow-path)}.hero-clipboard-document-check-solid{--hero-clipboard-document-check-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-clipboard-document-check-solid);mask:var(--hero-clipboard-document-check-solid)}.hero-clipboard-document-check-solid,.hero-document-plus-solid{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-document-plus-solid{--hero-document-plus-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-document-plus-solid);mask:var(--hero-document-plus-solid)}.hero-exclamation-circle-mini{--hero-exclamation-circle-mini:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-exclamation-circle-mini);mask:var(--hero-exclamation-circle-mini)}.hero-exclamation-circle-mini,.hero-eye{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-eye{--hero-eye:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-eye);mask:var(--hero-eye)}.hero-eye-solid{--hero-eye-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-eye-solid);mask:var(--hero-eye-solid)}.hero-eye-solid,.hero-information-circle-mini{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-information-circle-mini{--hero-information-circle-mini:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-information-circle-mini);mask:var(--hero-information-circle-mini)}.hero-pencil-square{--hero-pencil-square:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-pencil-square);mask:var(--hero-pencil-square)}.hero-pencil-square,.hero-trash{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-trash{--hero-trash:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-trash);mask:var(--hero-trash)}.hero-x-mark-solid{--hero-x-mark-solid:url('data:image/svg+xml;utf8,');background-color:currentColor;display:inline-block;height:1.25rem;-webkit-mask:var(--hero-x-mark-solid);mask:var(--hero-x-mark-solid);vertical-align:middle;width:1.25rem}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-inset-y-px{bottom:-1px;top:-1px}.inset-y-0{bottom:0;top:0}.-left-3{left:-.75rem}.-left-32{left:-8rem}.-left-4{left:-1rem}.-left-5{left:-1.25rem}.-right-3{right:-.75rem}.-right-4{right:-1rem}.-top-10{top:-2.5rem}.left-0{left:0}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-5{right:1.25rem}.top-0{top:0}.top-1{top:.25rem}.top-2{top:.5rem}.top-6{top:1.5rem}.z-30{z-index:30}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.-m-3{margin:-.75rem}.m-8{margin:2rem}.-my-4{margin-bottom:-1rem;margin-top:-1rem}.mx-auto{margin-left:auto;margin-right:auto}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-11{margin-top:2.75rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.line-clamp-1{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-10{height:2.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-\[calc\(100vh_-_170px\)\]{height:calc(100vh - 170px)}.h-\[calc\(100vh_-_206px\)\]{height:calc(100vh - 206px)}.h-\[calc\(100vh_-_210px\)\]{height:calc(100vh - 210px)}.h-\[calc\(100vh_-_223px\)\]{height:calc(100vh - 223px)}.h-\[calc\(100vh_-_60px\)\]{height:calc(100vh - 60px)}.h-full{height:100%}.max-h-60{max-height:15rem}.min-h-\[6rem\]{min-height:6rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[40rem\]{width:40rem}.w-full{width:100%}.min-w-\[150px\]{min-width:150px}.max-w-3xl{max-width:48rem}.max-w-\[76px\]{max-width:76px}.max-w-screen-xl{max-width:1280px}.flex-1{flex:1 1 0%}.flex-none{flex:none}.shrink-0{flex-shrink:0}.-translate-y-2{--tw-translate-y:-0.5rem}.-translate-y-2,.translate-x-96{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-96{--tw-translate-x:24rem}.translate-y-0{--tw-translate-y:0px}.translate-y-0,.translate-y-4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-4{--tw-translate-y:1rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.grid-flow-col{grid-auto-flow:column}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-8{row-gap:2rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-zinc-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(244 244 245/var(--tw-divide-opacity))}.justify-self-end{justify-self:end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[1\.25rem\]{border-radius:1.25rem}.rounded-\[20px\]{border-radius:20px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-\[1\.25rem\]{border-top-left-radius:1.25rem;border-top-right-radius:1.25rem}.rounded-t-\[20px\]{border-top-left-radius:20px;border-top-right-radius:20px}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-900\/25{border-color:#11182740}.border-rose-400{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity))}.border-transparent{border-color:#0000}.border-zinc-200{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity))}.border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.bg-\[\#0D1829\]{--tw-bg-opacity:1;background-color:rgb(13 24 41/var(--tw-bg-opacity))}.bg-\[\#F0F5F9\]{--tw-bg-opacity:1;background-color:rgb(240 245 249/var(--tw-bg-opacity))}.bg-black\/50{background-color:#00000080}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-zinc-50\/90{background-color:#fafafae6}.bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity))}.fill-cyan-900{fill:#164e63}.fill-rose-900{fill:#881337}.p-0{padding:0}.p-14{padding:3.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-\[22px\]{padding-left:22px;padding-right:22px}.py-0{padding-bottom:0;padding-top:0}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-1{padding-bottom:.25rem}.pb-4{padding-bottom:1rem}.pl-0{padding-left:0}.pl-2{padding-left:.5rem}.pl-6{padding-left:1.5rem}.pr-6{padding-right:1.5rem}.pt-0{padding-top:0}.pt-10{padding-top:2.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-sans{font-family:Plus Jakarta Sans,sans-serif,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-lg\/6{font-size:1.125rem;line-height:1.5rem}.text-sm,.text-sm\/5{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-8{line-height:2rem}.tracking-\[1\.68px\]{letter-spacing:1.68px}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.\!text-red-500{--tw-text-opacity:1!important;color:rgb(239 68 68/var(--tw-text-opacity))!important}.text-\[\#030913\]{--tw-text-opacity:1;color:rgb(3 9 19/var(--tw-text-opacity))}.text-\[\#111625\]{--tw-text-opacity:1;color:rgb(17 22 37/var(--tw-text-opacity))}.text-\[\#304254\]{--tw-text-opacity:1;color:rgb(48 66 84/var(--tw-text-opacity))}.text-\[\#445668\]{--tw-text-opacity:1;color:rgb(68 86 104/var(--tw-text-opacity))}.text-\[\#61758A\]{--tw-text-opacity:1;color:rgb(97 117 138/var(--tw-text-opacity))}.text-\[\#F23630\]{--tw-text-opacity:1;color:rgb(242 54 48/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity))}.text-gray-50{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity))}.text-rose-900{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity))}.text-zinc-600{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity))}.text-zinc-700{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.text-zinc-800{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity))}.text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.shadow-zinc-700\/10{--tw-shadow-color:#3f3f461a;--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid #0000;outline-offset:2px}.outline{outline-style:solid}.outline-offset-2{outline-offset:2px}.outline-blue-500{outline-color:#3b82f6}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.ring-emerald-500{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.ring-rose-500{--tw-ring-opacity:1;--tw-ring-color:rgb(244 63 94/var(--tw-ring-opacity))}.ring-zinc-700\/10{--tw-ring-color:#3f3f461a}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\@container{container-type:inline-size}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAARsABAAAAAACMwAAAQRAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AXBEICoRkg3oLGgABNgIkAy4EIAWFAAeBAwwHGy8HyI7Cca8UYSlFWGJzMUTEQ/1+r2f33Q+oAgAFVkiO0LMiG92pzNTWmEogIUHV6LrA3+vU9yUZFWCUyyYpAGzHxMo5cgl5YpzSCUM8NWtp6sXT3zttbOqD96hLoIAijvawNWhs2hMogzEXBdQFssAy6shdkO6VPDXsvEGgCwihJoRAvaBtQgx0vqymBYQK7HoBasgsSYO9G/Rcy7nAD9pML9mFjgKPfId1ALiW9o7HQAUNkLR49NmAP3T1LIDvcKYsVP8XB0G1hXJmAH2cGQG5lOOYwRNCU2IAjgXYW7OFQ8CTV1oH8oewJAxfJWQEAAQqZBDoKEB+BpBwZjwGiJ8gUY0sCREiXJZ0Z5xVnPERYcR9YmHXCwDxHvHzot3vXmY3QADqmqhp5Ikhdr38OX/dCICxm8BvYCH0UMn7GeAIgauF0qTguFDk7y8SBckPFlz8SJ4vofPlGew+ZC+pEreJW7rJtuvDYZuDCR28i+w8dyn0zJXobrID0+4fRvi2EfLAEOTG4GDbgRGExLDxt4tE24bF+weByZRhiC0zZSqYNu2tUI+nPHcOqi9cGNO3BzbcIVs2dDMjcutbRfQlWX6wa/zmuKowR6r0Zq/KAerL2Lo3Y935H6eCJozvi+Wz3sDWmBhZuQjZkIkB1dHsF9/Dh+dfHMpWgeBA2S0d26erjNSsTjymkqHUKoquk8qL6V2/dtGKYkXHL46WF0mlnIhu2YRWU5SaOcVQqqwJTaskkh76NC1pj5MoYYpm6X/SaWWx8u+fZCVQSVdpS8Li4yefUh+ucay5uzkR4ODLF2bO0Y0d8wl8z2VZD2hdByDoV+rl9nqmPN2bkemffokxXwJsCUJde4rDdejqUOJFLY4CDoFcqp6l8OTYoznu+G5NxvTaNI+Vmn8L13v9Zf+FOP4T/n2/fT61j3/9JbmdaGm/7qAuQXAZlHm3BrezpAbEs3eyA7rCYipEJ8O75LL0p4A/8B5C1wLcNHwkWdbAP8RGEQGfI68EYSKCQOoHASrHDYBij4ugZsx2ULemg9R3TBIFAl1DgIB+EMAfutr3CiDGdSwnLZdKHC0HK712RlZmFlzYlNOn3yr58qV2PTcrJuJEKE//czjkYbmZ5atXpkYVI04RNy0rl361WC6sXE2MzDwctNzaGLn1s9Z9KwElD6VQYX9FgkorQdCjrkhVKSKdPRVkP2NiMVafddwnw16rpCDUJGjB4MYc1rxJAzeWjZEeJwHDc8JalrtVTRlOW2dmrf2eh04ePZZT/gzV5u/XlgnjMbprRAHhpi4WfEYYHA8cEYiH+EiAhEjEZ3T/A4gSeFzWgiVMaUooXcGC6LL3V/LMWqdT66fVezjj9znYL+kQ+zB0koJlTuAL5N31gDgEAA==) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0370-03ff}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0100-02af,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1e??,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-white:hover{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.hover\:bg-\[\#F0F5F9\]:hover{--tw-bg-opacity:1;background-color:rgb(240 245 249/var(--tw-bg-opacity))}.hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.hover\:bg-zinc-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.hover\:bg-zinc-700:hover{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity))}.hover\:text-\[\#304254\]:hover{--tw-text-opacity:1;color:rgb(48 66 84/var(--tw-text-opacity))}.hover\:text-\[\#AE182D\]:hover{--tw-text-opacity:1;color:rgb(174 24 45/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.hover\:text-zinc-700:hover{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-40:hover{opacity:.4}.hover\:outline:hover{outline-style:solid}.hover\:outline-2:hover{outline-width:2px}.hover\:ring-2:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.hover\:ring-gray-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.hover\:ring-offset-8:hover{--tw-ring-offset-width:8px}.hover\:ring-offset-white:hover{--tw-ring-offset-color:#fff}.focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.focus\:border-rose-400:focus{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity))}.focus\:border-zinc-400:focus{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity))}.focus-visible\:ring-4:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-blue-200:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity))}.focus-visible\:ring-purple-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(168 85 247/var(--tw-ring-opacity))}.active\:bg-blue-800:active{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity))}.active\:text-blue-700:active{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.active\:text-white\/80:active{color:#fffc}.group:first-child .group-first\:block{display:block}.group:hover .group-hover\:bg-\[\#F0F5F9\]{--tw-bg-opacity:1;background-color:rgb(240 245 249/var(--tw-bg-opacity))}.group:hover .group-hover\:bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.group:hover .group-hover\:opacity-70{opacity:.7}@container (min-width: 180px){.\@\[180px\]\:block{display:block}.\@\[180px\]\:w-11{width:2.75rem}.\@\[180px\]\:justify-start{justify-content:flex-start}.\@\[180px\]\:gap-1\.5{gap:.375rem}.\@\[180px\]\:p-3{padding:.75rem}.\@\[180px\]\:py-3{padding-bottom:.75rem;padding-top:.75rem}.\@\[180px\]\:pl-2{padding-left:.5rem}.\@\[180px\]\:pr-0{padding-right:0}.\@\[180px\]\:text-lg\/7{font-size:1.125rem;line-height:1.75rem}}@container (min-width: 240px){.\@\[240px\]\:w-\[54px\]{width:54px}.\@\[240px\]\:gap-2{gap:.5rem}.\@\[240px\]\:gap-2\.5{gap:.625rem}.\@\[240px\]\:px-3{padding-left:.75rem;padding-right:.75rem}.\@\[240px\]\:py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.\@\[240px\]\:py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.\@\[240px\]\:pl-3{padding-left:.75rem}.\@\[240px\]\:text-lg{font-size:1.125rem;line-height:1.75rem}.\@\[240px\]\:text-xl\/\[30px\]{font-size:1.25rem;line-height:30px}}@container (min-width: 300px){.\@\[300px\]\:w-\[62px\]{width:62px}.\@\[300px\]\:gap-2\.5{gap:.625rem}.\@\[300px\]\:gap-3\.5{gap:.875rem}.\@\[300px\]\:py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.\@\[300px\]\:text-3xl\/\[45px\]{font-size:1.875rem;line-height:45px}.\@\[300px\]\:text-xl{font-size:1.25rem;line-height:1.75rem}}@container (min-width: 350px){.\@\[350px\]\:h-7{height:1.75rem}.\@\[350px\]\:w-7{width:1.75rem}.\@\[350px\]\:w-\[72px\]{width:72px}.\@\[350px\]\:gap-4{gap:1rem}.\@\[350px\]\:py-4{padding-bottom:1rem;padding-top:1rem}.\@\[350px\]\:pl-6{padding-left:1.5rem}.\@\[350px\]\:text-2xl{font-size:1.5rem;line-height:2rem}.\@\[350px\]\:text-4xl\/\[56px\]{font-size:2.25rem;line-height:56px}}.phx-no-feedback.phx-no-feedback\:hidden{display:none}.phx-no-feedback.phx-no-feedback\:border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.phx-no-feedback.phx-no-feedback\:focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.phx-no-feedback.phx-no-feedback\:focus\:border-zinc-400:focus{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.phx-no-feedback .phx-no-feedback\:hidden{display:none}.phx-no-feedback .phx-no-feedback\:border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.phx-no-feedback .phx-no-feedback\:focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.phx-no-feedback .phx-no-feedback\:focus\:border-zinc-400:focus{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.phx-submit-loading .phx-submit-loading\:opacity-75,.phx-submit-loading.phx-submit-loading\:opacity-75{opacity:.75}@media (min-width:640px){.sm\:mt-0{margin-top:0}.sm\:w-96{width:24rem}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-\[180px\]{max-width:180px}.sm\:translate-y-0{--tw-translate-y:0px}.sm\:scale-100,.sm\:translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.sm\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:gap-8{gap:2rem}.sm\:overflow-visible{overflow:visible}.sm\:rounded-l-xl{border-bottom-left-radius:.75rem;border-top-left-radius:.75rem}.sm\:rounded-r-xl{border-bottom-right-radius:.75rem;border-top-right-radius:.75rem}.sm\:p-6{padding:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:leading-6{line-height:1.5rem}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:text-2xl\/8{font-size:1.5rem;line-height:2rem}}@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:h-\[calc\(100vh_-_144px\)\]{height:calc(100vh - 144px)}.lg\:h-\[calc\(100vh_-_239px\)\]{height:calc(100vh - 239px)}.lg\:h-full{height:100%}.lg\:max-w-none{max-width:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:overflow-y-auto{overflow-y:auto}.lg\:rounded-b-none{border-bottom-left-radius:0;border-bottom-right-radius:0}.lg\:rounded-t-\[1\.25rem\]{border-top-left-radius:1.25rem;border-top-right-radius:1.25rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-8{padding-bottom:2rem;padding-top:2rem}}.focus-visible\:\[\&\:not\(\:active\)\]\:ring-2:not(:active):focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}@container (min-width: 350px){.\@\[350px\]\:focus-visible\:\[\&\:not\(\:active\)\]\:ring-4:not(:active):focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}}.\[\&\>div\]\:contents>div{display:contents}.\[\&_\.margin\]\:\!bg-\[\#0D1829\] .margin,.\[\&_\.monaco-editor-background\]\:\!bg-\[\#0D1829\] .monaco-editor-background{--tw-bg-opacity:1!important;background-color:rgb(13 24 41/var(--tw-bg-opacity))!important} +/*# sourceMappingURL=beacon_live_admin.min.css.map */ \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min-0d87a192b0422c55742e7c45e77b4c42.css.gz b/priv/static/beacon_live_admin.min-0d87a192b0422c55742e7c45e77b4c42.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..b10cd7d47e4cc20c804cc1677bfb8176ca35f10c GIT binary patch literal 107787 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 literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css b/priv/static/beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css new file mode 100644 index 00000000..d8012c97 --- /dev/null +++ b/priv/static/beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css @@ -0,0 +1,3 @@ +@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap"); +/*! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:Plus Jakarta Sans,sans-serif,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=checkbox]:indeterminate,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:#0000}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:#0000}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.hero-arrow-left-solid{--hero-arrow-left-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-arrow-left-solid);mask:var(--hero-arrow-left-solid)}.hero-arrow-left-solid,.hero-arrow-path{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-arrow-path{--hero-arrow-path:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-arrow-path);mask:var(--hero-arrow-path)}.hero-clipboard-document-check-solid{--hero-clipboard-document-check-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-clipboard-document-check-solid);mask:var(--hero-clipboard-document-check-solid)}.hero-clipboard-document-check-solid,.hero-document-plus-solid{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-document-plus-solid{--hero-document-plus-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-document-plus-solid);mask:var(--hero-document-plus-solid)}.hero-exclamation-circle-mini{--hero-exclamation-circle-mini:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-exclamation-circle-mini);mask:var(--hero-exclamation-circle-mini)}.hero-exclamation-circle-mini,.hero-eye{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-eye{--hero-eye:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-eye);mask:var(--hero-eye)}.hero-eye-solid{--hero-eye-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-eye-solid);mask:var(--hero-eye-solid)}.hero-eye-solid,.hero-information-circle-mini{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-information-circle-mini{--hero-information-circle-mini:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-information-circle-mini);mask:var(--hero-information-circle-mini)}.hero-pencil-square{--hero-pencil-square:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-pencil-square);mask:var(--hero-pencil-square)}.hero-pencil-square,.hero-trash{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-trash{--hero-trash:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-trash);mask:var(--hero-trash)}.hero-x-mark-solid{--hero-x-mark-solid:url('data:image/svg+xml;utf8,');background-color:currentColor;display:inline-block;height:1.25rem;-webkit-mask:var(--hero-x-mark-solid);mask:var(--hero-x-mark-solid);vertical-align:middle;width:1.25rem}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-inset-y-px{bottom:-1px;top:-1px}.inset-y-0{bottom:0;top:0}.-left-3{left:-.75rem}.-left-32{left:-8rem}.-left-4{left:-1rem}.-left-5{left:-1.25rem}.-right-3{right:-.75rem}.-right-4{right:-1rem}.-top-10{top:-2.5rem}.left-0{left:0}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-5{right:1.25rem}.top-0{top:0}.top-1{top:.25rem}.top-2{top:.5rem}.top-6{top:1.5rem}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.-m-3{margin:-.75rem}.m-8{margin:2rem}.-my-4{margin-bottom:-1rem;margin-top:-1rem}.mx-auto{margin-left:auto;margin-right:auto}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-11{margin-top:2.75rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.line-clamp-1{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-10{height:2.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-\[calc\(100vh_-_170px\)\]{height:calc(100vh - 170px)}.h-\[calc\(100vh_-_206px\)\]{height:calc(100vh - 206px)}.h-\[calc\(100vh_-_210px\)\]{height:calc(100vh - 210px)}.h-\[calc\(100vh_-_223px\)\]{height:calc(100vh - 223px)}.h-\[calc\(100vh_-_60px\)\]{height:calc(100vh - 60px)}.h-full{height:100%}.max-h-60{max-height:15rem}.min-h-\[6rem\]{min-height:6rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[40rem\]{width:40rem}.w-full{width:100%}.min-w-\[150px\]{min-width:150px}.max-w-3xl{max-width:48rem}.max-w-\[76px\]{max-width:76px}.max-w-screen-xl{max-width:1280px}.flex-1{flex:1 1 0%}.flex-none{flex:none}.shrink-0{flex-shrink:0}.-translate-y-2{--tw-translate-y:-0.5rem}.-translate-y-2,.translate-x-96{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-96{--tw-translate-x:24rem}.translate-y-0{--tw-translate-y:0px}.translate-y-0,.translate-y-4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-4{--tw-translate-y:1rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.grid-flow-col{grid-auto-flow:column}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-8{row-gap:2rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-zinc-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(244 244 245/var(--tw-divide-opacity))}.justify-self-end{justify-self:end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[1\.25rem\]{border-radius:1.25rem}.rounded-\[20px\]{border-radius:20px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-\[1\.25rem\]{border-top-left-radius:1.25rem;border-top-right-radius:1.25rem}.rounded-t-\[20px\]{border-top-left-radius:20px;border-top-right-radius:20px}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-900\/25{border-color:#11182740}.border-rose-400{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity))}.border-transparent{border-color:#0000}.border-zinc-200{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity))}.border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.bg-\[\#0D1829\]{--tw-bg-opacity:1;background-color:rgb(13 24 41/var(--tw-bg-opacity))}.bg-\[\#F0F5F9\]{--tw-bg-opacity:1;background-color:rgb(240 245 249/var(--tw-bg-opacity))}.bg-black\/50{background-color:#00000080}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-zinc-50\/90{background-color:#fafafae6}.bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity))}.fill-cyan-900{fill:#164e63}.fill-rose-900{fill:#881337}.p-0{padding:0}.p-14{padding:3.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-\[22px\]{padding-left:22px;padding-right:22px}.py-0{padding-bottom:0;padding-top:0}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-1{padding-bottom:.25rem}.pb-4{padding-bottom:1rem}.pl-0{padding-left:0}.pl-2{padding-left:.5rem}.pl-6{padding-left:1.5rem}.pr-6{padding-right:1.5rem}.pt-0{padding-top:0}.pt-10{padding-top:2.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-sans{font-family:Plus Jakarta Sans,sans-serif,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-lg\/6{font-size:1.125rem;line-height:1.5rem}.text-sm,.text-sm\/5{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-8{line-height:2rem}.tracking-\[1\.68px\]{letter-spacing:1.68px}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.\!text-red-500{--tw-text-opacity:1!important;color:rgb(239 68 68/var(--tw-text-opacity))!important}.text-\[\#030913\]{--tw-text-opacity:1;color:rgb(3 9 19/var(--tw-text-opacity))}.text-\[\#111625\]{--tw-text-opacity:1;color:rgb(17 22 37/var(--tw-text-opacity))}.text-\[\#304254\]{--tw-text-opacity:1;color:rgb(48 66 84/var(--tw-text-opacity))}.text-\[\#445668\]{--tw-text-opacity:1;color:rgb(68 86 104/var(--tw-text-opacity))}.text-\[\#61758A\]{--tw-text-opacity:1;color:rgb(97 117 138/var(--tw-text-opacity))}.text-\[\#F23630\]{--tw-text-opacity:1;color:rgb(242 54 48/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity))}.text-gray-50{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity))}.text-rose-900{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity))}.text-zinc-600{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity))}.text-zinc-700{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.text-zinc-800{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity))}.text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.shadow-zinc-700\/10{--tw-shadow-color:#3f3f461a;--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid #0000;outline-offset:2px}.outline{outline-style:solid}.outline-offset-2{outline-offset:2px}.outline-blue-500{outline-color:#3b82f6}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.ring-emerald-500{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.ring-rose-500{--tw-ring-opacity:1;--tw-ring-color:rgb(244 63 94/var(--tw-ring-opacity))}.ring-zinc-700\/10{--tw-ring-color:#3f3f461a}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\@container{container-type:inline-size}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAARsABAAAAAACMwAAAQRAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AXBEICoRkg3oLGgABNgIkAy4EIAWFAAeBAwwHGy8HyI7Cca8UYSlFWGJzMUTEQ/1+r2f33Q+oAgAFVkiO0LMiG92pzNTWmEogIUHV6LrA3+vU9yUZFWCUyyYpAGzHxMo5cgl5YpzSCUM8NWtp6sXT3zttbOqD96hLoIAijvawNWhs2hMogzEXBdQFssAy6shdkO6VPDXsvEGgCwihJoRAvaBtQgx0vqymBYQK7HoBasgsSYO9G/Rcy7nAD9pML9mFjgKPfId1ALiW9o7HQAUNkLR49NmAP3T1LIDvcKYsVP8XB0G1hXJmAH2cGQG5lOOYwRNCU2IAjgXYW7OFQ8CTV1oH8oewJAxfJWQEAAQqZBDoKEB+BpBwZjwGiJ8gUY0sCREiXJZ0Z5xVnPERYcR9YmHXCwDxHvHzot3vXmY3QADqmqhp5Ikhdr38OX/dCICxm8BvYCH0UMn7GeAIgauF0qTguFDk7y8SBckPFlz8SJ4vofPlGew+ZC+pEreJW7rJtuvDYZuDCR28i+w8dyn0zJXobrID0+4fRvi2EfLAEOTG4GDbgRGExLDxt4tE24bF+weByZRhiC0zZSqYNu2tUI+nPHcOqi9cGNO3BzbcIVs2dDMjcutbRfQlWX6wa/zmuKowR6r0Zq/KAerL2Lo3Y935H6eCJozvi+Wz3sDWmBhZuQjZkIkB1dHsF9/Dh+dfHMpWgeBA2S0d26erjNSsTjymkqHUKoquk8qL6V2/dtGKYkXHL46WF0mlnIhu2YRWU5SaOcVQqqwJTaskkh76NC1pj5MoYYpm6X/SaWWx8u+fZCVQSVdpS8Li4yefUh+ucay5uzkR4ODLF2bO0Y0d8wl8z2VZD2hdByDoV+rl9nqmPN2bkemffokxXwJsCUJde4rDdejqUOJFLY4CDoFcqp6l8OTYoznu+G5NxvTaNI+Vmn8L13v9Zf+FOP4T/n2/fT61j3/9JbmdaGm/7qAuQXAZlHm3BrezpAbEs3eyA7rCYipEJ8O75LL0p4A/8B5C1wLcNHwkWdbAP8RGEQGfI68EYSKCQOoHASrHDYBij4ugZsx2ULemg9R3TBIFAl1DgIB+EMAfutr3CiDGdSwnLZdKHC0HK712RlZmFlzYlNOn3yr58qV2PTcrJuJEKE//czjkYbmZ5atXpkYVI04RNy0rl361WC6sXE2MzDwctNzaGLn1s9Z9KwElD6VQYX9FgkorQdCjrkhVKSKdPRVkP2NiMVafddwnw16rpCDUJGjB4MYc1rxJAzeWjZEeJwHDc8JalrtVTRlOW2dmrf2eh04ePZZT/gzV5u/XlgnjMbprRAHhpi4WfEYYHA8cEYiH+EiAhEjEZ3T/A4gSeFzWgiVMaUooXcGC6LL3V/LMWqdT66fVezjj9znYL+kQ+zB0koJlTuAL5N31gDgEAA==) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,d09GRgABAAAAABYIAA8AAAAAIvQAAQABAAAAAAAAAAAAAAAAAAAAAAAAAABHREVGAAABWAAAAFUAAAB8A/sEA0dQT1MAAAGwAAAAIAAAACBEaExjR1NVQgAAAdAAAAB8AAAA2oznjLlPUy8yAAACTAAAAFAAAABgFbhbWVNUQVQAAAKcAAAARgAAAF7mY9MfY21hcAAAAuQAAACcAAAAyiWjHUtnYXNwAAADgAAAAAgAAAAIAAAAEGdseWYAAAOIAAANaAAAFaitMZRUaGVhZAAAEPAAAAA2AAAANhiM8XVoaGVhAAARKAAAAB8AAAAkBcX/v2htdHgAABFIAAAApQAAAbj2/yFObG9jYQAAEfAAAADgAAAA4DKVN3dtYXhwAAAS0AAAABwAAAAgAHkAZ25hbWUAABLsAAABFwAAAoA+ml9fcG9zdAAAFAQAAAIEAAADsD4PMIh42mJgZGBg4GGAACYGISCfGYglAA3EAQaAAAAEwb1nRJCSlAgSgQgCCUTS/7/RGobCSyqvabxV6BR6Bh8VJmZfWH1T2BUOhVPhUrh5/FX4lB9Uzwf/AAAAAAEAAAAOAAoADAAAAAAAAURGTFQACAAEAAAAAP//AAB42i3IAYdCQRiF4WdmdsMCFlwQSLiSQEQgSUggAZAAKqH/X4eu43lnfAr+dKbqdnc46W+X18NcvV7vT5NvjUyNs4XUDAtQ0RRiZoSqtx5+W2feb4XhzRyjxV6QGi6bWJJSNRST6IMfTdHFPym/SnaTuqtZ0dBZaR8/6BCseNpjYGGKYpzAwMrAwNTFFMHAwOANoRnjGIwYHYCiDAycDDDQzoAEvJyAxAEGR+brzH/+XWFgYP7DqKPAwDj//nWgLjWmW0BZBQZWADB/DnV42kXIIQIBARQFwHl/QQIkWXInUAANXMOBJCcTd+KIGCjMNViq9/H0CM6P/S0j0bOwUqh08iEb8kPTXn3RiMoYhD90Nwc3AAB42kSJIQxBUQBFz3dlE37+WYRB/T0ChqSaRJWMMTN6MgWJIhMpol50/W3PY39zt3vu3Q4QAwT4CO+3cc5AQBKRIOTqxTTUSHMttNJGex1100NPayHyA+fHzi+11lYHnXT/enuxofXM27zA7FynZuI4wz08/vGBACKmAOjRJ02XDFly5ClQpUiJFm06lGlQoU6TGp9FMVgCALDOLAsAAQAB//8AD3jalVcFXCNHF9+ZJQkOS0gCLeFIlmywg5CwWUjIRi9IKZcLV0pDIHDl3HpO3d3d2+t9Xhd6dXd3o+7uLmy+N7ubHPUWfivzdubp/0komkpQFJLwNLxpqTyKcjEWxmZhELIk0D+lbahJuh2up/H0DOfEXonCXgpTTorCHJzRUaVwQu/Ss3ZWp3fZOc6u1eqct+59y7DjZUfo+vbSMozLSsnhO+9Exa8HBouKBv1UOq1woLdjjkIUBZJXVP8WdSXcaWoEqGUgTU9VUbVEQ5fTaCjX6rQ6o8lI3rSs3eV0820cy/LwQp4jj02sa+CKS/RlDS1tY+Ej9vP39Pj32+wJhzxb8PTEHs7ecl2ONs806BWTrQvCns5d+sUVIgVyJ0BaLkgrkH1hkP/hOQHeuBbVSc+jXfB0/I0F0kyc7B6B24+Z3co/C/8jiQ8SiQ/wtHQ/ap/hUEy6EvYuh72fqnt52MdbDCzjMiw//XR0xOmnx7E7Hp95UOaaBB0csLNQ5ap30XqWZplkYtW2RdfetvTi5cD6PtQhXSQdjuLS5eRMH5wphDNV8hlwjMntFgSiTpuIBZqlq2kD07e5r6AsR1Oa3715SJtfkLM5tUWTn6vF0x/V+BnGb/kQlM1r2mvTyjrpVLTavnTD+lbpW+CeRQkjc9c3Yx70Ap7YwCQmX8UaevfJV3AODZE+sbJnQS06Z4bD6yp6FtikJYCXofQ3mMJvwek5FKWxchzPtLndLidEj4Hw2SF4DETNqoWlETWFUi5XKqTcvX6/1xMI5DtTQdQbGnU6R4PStcGUc0FYRL1iOCxK28UwmC77jJN9ZlAxokCDZZgMOJIfRiYEYSJy8sneri7vyXiaHwsFx3npabR/j0/sJnYKwMWCXwRkU5kIpe9HH9yPj4bgbCE76tTYmAjy6ayjSYRU/Ovqnrxv2bo8vVajz9uw531PLt0/T6+B9wPQerTsecZeUGBnnpcukI56j7EXFnLM+8CVBa48cC0mcmmXXuEKcWfSL42cXFiMcUnhCSMvIQY9ID1dyebmspWQloL0KZzdDc6C5+Xs5ZEFlEYWw26oR7oZXShdhwYSuDmemHkyTry0W/o72Ns8KxJ8JhIGNRK8EgmDHIkxHnyk3L2hkNcTDudCJE5RAnEqxCEWCpwSCMk3GSfpbwAnHPAn3AEkEFDifvKiRY2p9YmA0B5MbMxfN45GpW3ivHkieY6vy/qek1E/2wWfXp/ch6C2LH/L8PWYk06w+BjGZ0HrZ6bh1Bo4ZQLrNWq+MmvQ/6SrIEdnJuHrKCj1A6lU8lc5N0fReYn3SEnCR8EWqC/u9LvYSmOIqIVqBL35rFt4lyHjGdZgZ6xa2S3EINlNHIuwL+lyJsWFYtLpGhYX2txms3tvjjebea4y2jbi/yCY4qNRPhX8wD/SFj0FfWvxNX5Q762p8dZ/0OizgIbjoD+rWg3VwKUgiTWMJ0a3Lr3h5uVbU5h7803pB+m1r7/O1kg8jbVwlqzV6gjrHLJW/UHW5RQ1q1bTRAKp1XZagSlN6vTapUVlmhx90RLikBi6sG3YaEy0SWOEk1oJgZOGcFZxRtalZK3WPrLWkjqdyXJ4MxA868F79J/k+iO3pn4j2VEsHpf+/ccZD/LVegrydUQftWqSdS4Fn7KWF6s9itht12UsH963gMmBv9LCfYjt6FNHL0Ta2NsilQIvtZoCrzzCW61/ZJ0v2xpTuwQNsgvAVpJ06hVD10vdcC1B++Gj4gDDeBz1xOOEi+oh4FJAuGbQCWuDaoEaWxIrNSOqVAt4RJhb7BqDRrAYBCRKd6K3pSe6UZn0bjdyx1EV2ikeoz8b/pqOEV5qJQNeRYR3psLAuoSsM6iHtVFe12W9VyzLdsPaCrJ3pigLZISay0bSjwj8yYpkhZwBC81u20JA/ULIgYsB9WhM2gogR29JVQB0sgL0X5yJiR0wUi/3QL4Z/xwdOoPLwPI/gwik4MkVbpt7z3BkkdvGV57yVJ2zy+vtctbFNDQ7j0cVSnmS3uMjLK2NrenpQGaxp0eU3uzoWUMsy1e9ylEVFAXxWp2uJxanj1diCHSNQpcuVehqT7crFAXfKv3T2XQFd+krVdwT+mNAV6ObPpR4XN2/TaaXKPsVH4DcFlUunMrgmb4K6DVA18I6GzeZ2pihkgkh3YcjShfS8KTAkvGAzcwKLqhYLFplnttuu3h5Qh4azm1PJafmC81kXMgODw93DRHIkaoNOHQoeauxkuoHMTEZTcqcwmp1v+wMhQOpsXikzqJFiQTSWuq4dlFs7/D58tekLkqtrp3jWD4zvbxljq0/Kp4hRiOBMwIRkEO0LgNPGUj8TdnIwyyXadYGZvYkpwpMtqUCgTFeFHxR91jw8H07o/N8TQ3t/oAghKbwg+KIq3Gg0zdYWprq9o3yU0jb5fGE+qO8JxDygK86QWoV+K8MZPLQWKqxySSImLQWQ/qu5GRuQS5GGOsKdZuG75qagg5zakX9nDz4m1NfgVbPTE8RH0UhyqXg8Uqiu6CobhLsJCdN1VjWHrJEUNsDaE5U10Zde3RU1OfmfIQ2Su+8bnSw3qXh8DJPkhXr6sXaWrG+TmRf8C9qL8ij3xzc5dny4BAfXOLxLIk2RTgu0iTfSbxj6e+hqs8liNGAHIiPwENOEjWIHixII+IgNC7IIKvy4nQLLq0WRVuGVwWjnsDchV5nbHV+SttR76yuNzqaN+/t4oXWlpZOXSp/L91gjxjS5OT4W1sitpi4U22ZtbK2qb+5ztZcU+nvBR0i4EczeMBC7BdpgUwaumJaEWXU6VjBbSdqcJHy5v7NcelWdOH/nJGGMqHl6N6otjBRiPMLzMcMT2y3hnpHJufHE5e7YuEOc4vgiR52mLGweEzBNZIIEtVu6BaInw0MmykISYBbjX3ewKKE390exNxyZzW7ZGhmGld5g9EA5Jnah0DPUoiVdda8ObsF8Syorc8AWh05D1Ob0FeBKehDyswZUDvQbcqss88+gRDqnSQTz2SmQnOYIzXTQuSQmZGRg4AudHTX3Y+sXM2RXLQFdcSlTVY76QKZjg/1wDS7T5E6Dd3Zhdhsg36udwzpFm0sKIHxr+gQbL4F+tRitrOkpJOVzoWTI+CtH0F6JSD756MWwaKdBYtNppGET2gXEyuSzYFaTQ7K1aGCKagA55F5Dk1I542uqawt3dlW+p8dXYPoppd1C6X7IebvUE0y5gUCOSVn2TbOugNuv4JAaF7I4993WddiIdG7T2+vb489unbdtWtoBw6GNu//WNeontldHNzTmfS3z/O1C33x4GRQBcNaoo06rYI2jKxNZfpH3Aj26tXpEkqeMqQrLscVfcOXJ2KYSdnYCs3YfJiQG9Bz8/ukB+ubFpIcHs2iyzq7/ijJaweHmQyCUueUMjfqGg0Ek87G+e3hOquWxpuhwq33+adwhT/Z2jocuMifdNrmtOy/9Tu5wsFNjBI9hyBT5oAckCJk52tWBduvfDXEj4cCY+5EpN0bDntTO3yUmtj46EmAv+bdvHxHWDzJH1Cds0r9TVUGMoxUrSqFhMJgJMWIGKQUI9eOsj0E2H5nQ15+ea1Rhnoi4FHmrfvPABkxhDX5rKPqTMA54J4A/AxyUzGem8U4n/E4wfjBXfOn0BN3de7fNw+FYWi7xU8Qrv4KICgqk2dQAfxBJvtyyqzM18owofySJ73KkGkvLKLHVg2EOlfFRlaNabxhR0Pt1NTqEZSU/umLolcHe28eWT31Y9R3c4ODzCzA1wFydES3dB+ZWoBiBUmmX8hhsolhQPT4qoGIt9sbGVg1Ppu5ZIn6yDtIIFaDfy3YQZBvUjqiYFDmf6KqS3mCynZeQZAMIGiUN3RG+8XKGkunpRuu2p3EgWinuwbibazJH+x/cGBtfkrnbXzI3tRkf0i5N7qh/q4YeLB/sLbCZquozeQhRzNgSUju+quoHdS8LHXpLOphWeoaKhsDmUOZwqF6BzUvS102a+9hKlXhoGafzIHZwUHxi0yNK9RymIeVCYJm5AnC/tdmCFpw6X53jtCsGF/7B7MEDh53XDqtdEVZF1HRpRg0VHqITA0oVBZykuS+XKmrshMTyX+BZpVJVqd3McrY1A9jUxOtxa9sGKQ19CsbmtTBqckc8OqlehgPnjYHOsrRs5KFjE+IegFsP5A6jyogdqsFEjihJm7uXA6u/CabvbnZbmuCvf9Kj6Et1JkUDaiC+eNfsUMO2YoE6QGSJRfDt4OxA74xyle9wk1hx14Me+ssDY015TWNDRb5FPY0WGoaG2ssDcTuF1AOOhBdDNmQAoOLZ1G01CIS0YwEWEMPItqgc9AW/ATRRq9qAxRgDHtVTWHvmJzD++Oj0Yt0HlhpgqOz7GRn23yumWXNcP2oPvHRVnM1y1abrZkn6JHlBQhWeNOtsL7qb/KmW3/Jm9j0NN2ALqS3yzYBwp4GINENxx0HX46jbehh+FKkyHAp1dFFItU91OWoq2/tGqJtsaDd4bAHYzIvfDjwYmbzwofLvF7HHvDcdObL6+2jAezZuhXWim2HwVsJ+e2E4Kvp9yyi+2ND8V9ahQ49dPKXhv0fU9XbSQABAAAAAjYEQmkxjl8PPPUAAwPoAAAAANvSppoAAAAA29rQ8v+D/0wCRAO2AAAABgACAAAAAAAAeNpjYGRgYP7z7woDA1PE/+Z/qkwuQBFUkAsAn/sGhgB42k3OAQbDQBCF4RFAb1AAgQAIGiioKigCy1jtUgKF3CCgAO0xCgU5TCGAnqT58TD4vNmHma3cMtrgikF5xwVnZLjeHRrUSJLVjyjY4RZ2jpoHJHUebrThTg9HCfdgtfY2yhabyv+vYMYDs3bX2pGVe5zQ46jO0cX/6n1AwhYFLh2yUn9hFslBCl2vmwUL3vhgEWY6mNlETiTsi2fl5M+mFap1UxQAAAAAAAAaADsARgBRAIgAnwC1AMoA5AETATIBZAGHAZgBwwHhAfcCJwJFAmACbwKBAsAC2ALgAugC8AMNAxUDHQMlA10DZQNtA4sDkwObA7YDvgPGA84D7AP0A/wEBAQMBDcEcQR9BIkElQShBK0EuQTFBNAE2wUCBTYFcQWUBdMGFQZHBmkGnwa5BsEG3gcHBw8HTgdWB3YHqgfcCBEIKggyCF4IZwiMCMsI1gjhCOwI9wkCCQ0JGAkjCV4JaQl0CaEJtwnFCeUJ7gn2Cf4KDAoUCjoKQgpoCnUKjgqbCqgK1HjaY2BkYGDIZzBgYGYwYWAB8xCAiYEJABWSAOF42pWRNVIEQBBF3youKS4J7u7u7im67r7HQE/DAcjRkIhz8KsWd2pqpl//aRkBsjnDhMGcAZzDExsolpdiI7ncpVhrPw9PbKbeUPnEFgoNi09spdbgeOJcOg1HKTaol+Hiic2vNQ150q+eOJ9Mwz1j+AmQJIQTOw4ilNNKM5qidSkHsrNaI4wqakdxPsLSFvCL/KJlQrIuxewRkT9CVNaBX7oiqRZHNALyemnSsONEEYrbpZE9RXqlfu7ylfbUl5ofT7WqPTtRPNoL0UqjZotGn7JG6fuhbsOH3B/v/iF2U57urDjtU/7a9x/9PryV7J5Up5SIuFHTiUfWL9Wu/SUmmWeLg5cfnNHcwSN/j1X0tvJ8jzumYzUAeNpcwcNBAAAABdD/sm3btm3XqQbo3CYt0DidWioeey8F+fP1nIUk8t9LkqF8KMhwxjKZqcxkLvNZyGJWs5mtbOchj3lSqEixEqXKlKtQqUq1GrXq1GvQqEmzFq3atOvQqUu3Hr369BswaMiwEaPGjJswacq0GbPmzFuwaMmyFat5s2bdhk1btu3YtWffgUNHjp04debchUtXqU9tevLu2o1bd+7z6sF3FWSh3CAQBNDB6/4bjeto3d3b0YXchJ0Ch0W/vsfdtiUJsC5vn7UX7VV7097tQzdlY+aMIqy16k2SZ0o2Wko2D63DIPbBPGI5WOcQhiADzX7LOY0zDHhkfomQcSrCL77QzEsu1GuIY7BvIHQHoN+O9LuR/oHOfYheyiP9AY0nn1vPOAzBeIGR86paGQ8+GsfifchQjTnsr8j5OY94tkYTpbF0mivvshhIceqvjNdS8sp9yIaUVKQPkKUsw2yTkn5tNfT4zAIJ7RbQwwLaGrAgB4cR8rxALoK5RMYC+VsiBxJZ9Tk61qORPkWHq72M1Oc0oWFlEj4X8COCjwW4J15hWrzYdxn/yLC09HbZUOFRiXVztMi0t2hTBS+dakVOUyr8X5uVr83UJnShk+4yRDxnAUNi7Z6SbJFsK1nrrZGseJCxDfBGOfN46EqTYh1pWGoD+ZWO9YWVfwCOGQZH) format("woff");unicode-range:u+0370-03ff}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0100-02af,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1e??,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-white:hover{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.hover\:bg-\[\#F0F5F9\]:hover{--tw-bg-opacity:1;background-color:rgb(240 245 249/var(--tw-bg-opacity))}.hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.hover\:bg-zinc-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.hover\:bg-zinc-700:hover{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity))}.hover\:text-\[\#304254\]:hover{--tw-text-opacity:1;color:rgb(48 66 84/var(--tw-text-opacity))}.hover\:text-\[\#AE182D\]:hover{--tw-text-opacity:1;color:rgb(174 24 45/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.hover\:text-zinc-700:hover{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-40:hover{opacity:.4}.hover\:outline:hover{outline-style:solid}.hover\:outline-2:hover{outline-width:2px}.hover\:ring-2:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.hover\:ring-gray-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.hover\:ring-offset-8:hover{--tw-ring-offset-width:8px}.hover\:ring-offset-white:hover{--tw-ring-offset-color:#fff}.focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.focus\:border-rose-400:focus{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity))}.focus\:border-zinc-400:focus{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity))}.focus-visible\:ring-4:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-blue-200:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity))}.focus-visible\:ring-purple-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(168 85 247/var(--tw-ring-opacity))}.active\:bg-blue-800:active{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity))}.active\:text-blue-700:active{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.active\:text-white\/80:active{color:#fffc}.group:first-child .group-first\:block{display:block}.group:hover .group-hover\:bg-\[\#F0F5F9\]{--tw-bg-opacity:1;background-color:rgb(240 245 249/var(--tw-bg-opacity))}.group:hover .group-hover\:bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.group:hover .group-hover\:opacity-70{opacity:.7}@container (min-width: 180px){.\@\[180px\]\:block{display:block}.\@\[180px\]\:w-11{width:2.75rem}.\@\[180px\]\:justify-start{justify-content:flex-start}.\@\[180px\]\:gap-1\.5{gap:.375rem}.\@\[180px\]\:p-3{padding:.75rem}.\@\[180px\]\:py-3{padding-bottom:.75rem;padding-top:.75rem}.\@\[180px\]\:pl-2{padding-left:.5rem}.\@\[180px\]\:pr-0{padding-right:0}.\@\[180px\]\:text-lg\/7{font-size:1.125rem;line-height:1.75rem}}@container (min-width: 240px){.\@\[240px\]\:w-\[54px\]{width:54px}.\@\[240px\]\:gap-2{gap:.5rem}.\@\[240px\]\:gap-2\.5{gap:.625rem}.\@\[240px\]\:px-3{padding-left:.75rem;padding-right:.75rem}.\@\[240px\]\:py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.\@\[240px\]\:py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.\@\[240px\]\:pl-3{padding-left:.75rem}.\@\[240px\]\:text-lg{font-size:1.125rem;line-height:1.75rem}.\@\[240px\]\:text-xl\/\[30px\]{font-size:1.25rem;line-height:30px}}@container (min-width: 300px){.\@\[300px\]\:w-\[62px\]{width:62px}.\@\[300px\]\:gap-2\.5{gap:.625rem}.\@\[300px\]\:gap-3\.5{gap:.875rem}.\@\[300px\]\:py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.\@\[300px\]\:text-3xl\/\[45px\]{font-size:1.875rem;line-height:45px}.\@\[300px\]\:text-xl{font-size:1.25rem;line-height:1.75rem}}@container (min-width: 350px){.\@\[350px\]\:h-7{height:1.75rem}.\@\[350px\]\:w-7{width:1.75rem}.\@\[350px\]\:w-\[72px\]{width:72px}.\@\[350px\]\:gap-4{gap:1rem}.\@\[350px\]\:py-4{padding-bottom:1rem;padding-top:1rem}.\@\[350px\]\:pl-6{padding-left:1.5rem}.\@\[350px\]\:text-2xl{font-size:1.5rem;line-height:2rem}.\@\[350px\]\:text-4xl\/\[56px\]{font-size:2.25rem;line-height:56px}}.phx-no-feedback.phx-no-feedback\:hidden{display:none}.phx-no-feedback.phx-no-feedback\:border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.phx-no-feedback.phx-no-feedback\:focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.phx-no-feedback.phx-no-feedback\:focus\:border-zinc-400:focus{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.phx-no-feedback .phx-no-feedback\:hidden{display:none}.phx-no-feedback .phx-no-feedback\:border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.phx-no-feedback .phx-no-feedback\:focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.phx-no-feedback .phx-no-feedback\:focus\:border-zinc-400:focus{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.phx-submit-loading .phx-submit-loading\:opacity-75,.phx-submit-loading.phx-submit-loading\:opacity-75{opacity:.75}@media (min-width:640px){.sm\:mt-0{margin-top:0}.sm\:w-96{width:24rem}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-\[180px\]{max-width:180px}.sm\:translate-y-0{--tw-translate-y:0px}.sm\:scale-100,.sm\:translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.sm\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:gap-8{gap:2rem}.sm\:overflow-visible{overflow:visible}.sm\:rounded-l-xl{border-bottom-left-radius:.75rem;border-top-left-radius:.75rem}.sm\:rounded-r-xl{border-bottom-right-radius:.75rem;border-top-right-radius:.75rem}.sm\:p-6{padding:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:leading-6{line-height:1.5rem}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:text-2xl\/8{font-size:1.5rem;line-height:2rem}}@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:h-\[calc\(100vh_-_144px\)\]{height:calc(100vh - 144px)}.lg\:h-\[calc\(100vh_-_239px\)\]{height:calc(100vh - 239px)}.lg\:h-full{height:100%}.lg\:max-w-none{max-width:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:overflow-y-auto{overflow-y:auto}.lg\:rounded-b-none{border-bottom-left-radius:0;border-bottom-right-radius:0}.lg\:rounded-t-\[1\.25rem\]{border-top-left-radius:1.25rem;border-top-right-radius:1.25rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-8{padding-bottom:2rem;padding-top:2rem}}.focus-visible\:\[\&\:not\(\:active\)\]\:ring-2:not(:active):focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}@container (min-width: 350px){.\@\[350px\]\:focus-visible\:\[\&\:not\(\:active\)\]\:ring-4:not(:active):focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}}.\[\&\>div\]\:contents>div{display:contents}.\[\&_\.margin\]\:\!bg-\[\#0D1829\] .margin,.\[\&_\.monaco-editor-background\]\:\!bg-\[\#0D1829\] .monaco-editor-background{--tw-bg-opacity:1!important;background-color:rgb(13 24 41/var(--tw-bg-opacity))!important} +/*# sourceMappingURL=beacon_live_admin.min.css.map */ \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css.gz b/priv/static/beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..4976b77899880f01760d2c316877593dbe377a03 GIT binary patch literal 107773 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

q&J0oH%{;Kb0c2&#?|49E3W~TsEl$G~fmH>}L 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 z z4+ye*?TF{4H`4t=CGC zIRvg>V+fu2sivIMgVX=*F|F3%iY--%Qc0)hy215VaX+O1S?6(xZvqTDpNqV&MOsE4 z#4|tQc73IROFZ~GNVe#8FHgpDViQCm!k%Ti&P(I2a`%ToMtvV_$;^TTcOh7$I7N#Z zr`rlsf9iF%4^F1xIwch?cEoc>EJo2adKdlvyMCeM<*0;bP=3+QLi!u zoFTEP{(O|<9z3^v-%(>fQOJ+y@+vxJg`fKa7tDn8Tg&SOzHRgWo`}kUBrAa(|Jp>E z7=VIm-|lU!ko!hE(we3;al5p;1!qG97DJ!p4c`Xa#vB?8>c1swUkZ z7xdj9G*KtguO*wE^-&18cv-JGCFQ*9R} z>#kl>`{A!rLIai8`6ox2pi+GKeSr0P1eB!)8g~hWD2DC-io>OIp1!0<@(cfFW<+#gGYnLnSwo;4ShrCwxuV`vz@r+ zJQ6TaTVWYhqDnejF0&UDKvZf6PB}qZg^CopMM+N=!(nO`8J;010L@rl^g?e$1X_KW zi)DSW6XW1*l8lLqK?#bYBGtOqJVMdjr^eki{BWG;`3y%bol{2x?b#g|GZn7Ri5V*4 ztqp{*COzJ@Hu8{aV!BTbFTo-3xx^NXOPcfT{d3+BskqvHMmd06vzWEPv-omCG zG2z5bJ^6d+%vj3_3Plo`X;P;tXkWcr&V|iaJ7lL5o^N=X)5z5U%-jz!U81C2n?h%91900}y zI;>wybpiR%nb^F&Bqg`s(O)`zCz+sbJ4wIkv^*+{99jPBj|c2>iQcj8^5*MVQAkT> zHHY)PB^Rqv*;|H@EbrrQ#*_xF@?4pI7>DPMA60{lX)L=vNN**Ge~%1^t2*F2J}>OO z{VpTCDawAOf@tI{M^Z&=k3*kA`geK`N!uIa<8`C|;p0N)!rgJ+kZ@!c<9P!i9_y3> z35!8MQb#5#g%BLri5}8ClS!!Ait~A{h%hI>G-VmJrVO(Ed@T(qn&g}rPz3rELB0DFL%N))ejAc5m+?)v7H*Tic~?-sotm(iQ}kbTA_9**YcvgD zEY4?<0Gp1y7!XIAgVxM%gSW{>{M86x$U{^dY#cl&)d*QDHQ~590vc3ev2HDSnFo=W zm^rdRL)zg_R7K~Wzg%F?Mk>WX7*2e+Kc3g7*`W68v>4q*Kf6qM&=75ArX~`}c%5Ro zUT0zRwk9@=V0G~QJ;&Hvq+3=MC`iD}t?|}v5vB(Z0NDAA6*|g%BmXj$@6`_GjXv_* zAmv=~wpVMkb5jCM9dORS)i}t?3z1eQ)V%VmMfiFn4~~S9P+sR4KgX-$vd12o=zpYg z9KX%)>j>C3x$q~s4=cr`qB22#Y)NPt9M*pHawxbDbt`p+=I7b%l`#7~>qU6H{D{ZD zyACHLV*tvI3O9O_GupIlksvXs!`t65Hqq9BTudpHsS${g!Z=He6qcN#sc^|lGsBqe zm674pVU`ePpY#c;BmlBBP_V#BymPP|oAiD?J3C5JlK~fNY_qd(iT8-lxdOk>0{rNZ zALR^r`dk{-VZ+>_9?p;7kSw(T;vlgwWj=3AiarP>;_dD~iRvWk(8@1My}~ipyCdAp z%BL&Tdilp)d>Q*;y^F{DXFb5j-YFJ4+jS^}xgFXUlu?Y(afbWL~zx^X8F1{V<3c3PqXw(541q~v}k9p&Om zlSTW|Smcw3n+e8E(>s;g`P#~ zo?yEMJ55pOa_G~(VqK7Fa4KJ^`TNXumrfu%OSOk1M+c>!;rFqWJ!JK>r^_Iwo3}L_ zZIw~Xs?_2X!AbU%yGARA9v&YgwEXylHGLFKMVLZluY-Qp&s!jq&W_usKXXGm44uZy z!W^sYYYW~b0w3VTIWz%f3gpIOW0@rvhE|x(^PR6D>ngR(&&jzQ3}@awW3C^}$@}#h zzEF!y#cToxEGd_m+UyTgz)FanQ$j`P#Q}|f9+pKgc2Rwhb7cp#`sn568*HywyPU~D z1I-TScfW-w$nYg=Q<9ohUx)#d`bs52wtrV$_@#vVVaTx^@xy)Ywd=IqwZQXq&Ank6T=x+vkN zu%e3{Z*L^xZL}5=8WayK9T~oxqNM`XrGLm$Nz_q8k^=Vb?`GHy>(4i-PgcC;$m-;& zvA3x07Z+MhT;{4_hg4G$dK8@A8-_O7ZGT7Y%a~Na#j+zuddh?1;Cr~8iE_#b$XD=l zHnD#drd-BTNNF9Ad|22YRMiZ8*i`?0{kgAyinFxL0CYCT5thXpU#FYbIGsFdnW@dU ziSjbADkCJw52iS&6+O*Y9o!yheJok+gunNfg*8TPp~GdnUmaSNq@+CUsgMg1aiuLg zt$Vw|IM&w^(CB=5XHi`Vq#++s|BmhA&K2+E4!3c+vqOu=`un>|@Tc>iA^a7J~=Q>)MOEPHq z&gfdq^~QTs!q(vbx_k3xw~-`I@c;c3nrYj$%3&#SUn-lO28fFQaS;bWmfG5IAH;nF zY4zO)eD6sqDW$5+w&~fLHHi;Egok^Cd${}0fyW0!Uk@jQP!KjfFP-fwz-AL>+ojze z#F{az8R%l3&E%%qLkl%6pW7l{LE&+$aUhg#t6OyoR25Kt5Oc^VVZ7;dpC(in!BiDV zPzv5+77Be2Y!OJpY!{EV@P1=OWCzHSWd}SCrBj^L70zM0JTj$8bCnFmR$)hW0L=3p zsjeV)%vHO0OrTYxwvna2c^DI4r5$<&AMR~s*41Gyy29!G{jND@8r-VwS#!=xe5~&dyyI${ z#;=BVY)_lFgQE!>@;c5FQd=V10HEn^2_L1R$9SK|Lrf4jII^z*+(nvKQ9V#36MJ-#QA2@7X z5bCJmG=(gJ65KY4Itf*Hgj{EAOY{!+>h-`spb0w+v^5_%y>O4qnjP_R%v@owCcA@k zIM!z)*8}&;`!2^xteWOwd$^p~AnBj)YQ1aP$cl{1PX2rwQ%pc(-|c*#<~XijAhov_66L(xBNUvY85nG*Nm!SjahRjz>WYNJ z4W!|WfccAkKej@4@VssC*ZAC1@j)-fa=woe?05b|X1%e7#GyKIqwUnCkkt1>2vr$> z1&r->=9!uquM0NYps1mEi@6Ku*994ntv8#<1;YXeDzJFy?h_+79+D}b*75-3WKlAy z@>F0Mnc7YiP=_7LY)W_9ct1wUrI%s&;aU-;Y|5Y$%_+;5>%9xC)FWd5N@9KuQu^+? z%C)?Y=d2mllT1bKY+wO?b9l=wCbpJd zs=`X?BHsims6CFiYM$;4aF0$-u|}iI=hi93&dHvv`4*GMX;l~X?j5A%G#qYQ?+e*{ zMbm;wGJQJ@cB^L>fiG{6gn*EJo2Hq%rk2xcac!x2qc6x|)=r1pj&lSqugUWrMiL6p z+B=~wd*wW+Ybqb@Lvp8@z4BbuvW{x~E2vIdm;FusY;j|Onzu-cKyyr_(dmBE-@(UL~V zA@R1c@D4kQS%FQ2kA#Abx8`MvrB=CT{D}Lm8s!#@4ItE0a zU8S4JR*H2A&KX~x4aQtjHXG_` z1RmO@J)Aqo=QJY?eIJLd)A>NG))P_JR5eU{D&DTq#`Wz1!w&k$p!W)GYIhKG z?lh17anG>k2``%^pv)Dr55v~vb1Fo}19VKM7;*f5*ei*d2ybMnn{vMzAuW41J}OrV zxSJfR3qE#OS`4OWhfJF$jd$hXcha@a4&x@;YI^$PK$|le*khM#j={_Q#YfxB-q4A` z!Uq{(LsrBcm&Y)bfb@ygfEo_<^e|rY$Wz9kpf9=M!Bb7D?iFSflY{oM6I9p}+T)8Q zyE49l!`T#FWhC(EOgAAk)SLEL?s%}NE8j1^3LhBF(hwWYJQwL0bF40NtP-BM`^rkS za=Syf!LezNiaasMNv+PPNJB%J?3ffP@)g7GwPlwFa1?m`^dMREfNZH!rMH5opr}+g z7qOFuIMp4wJXChZ??8d^7!g7_wC_DVycQSxK`j7WbvmM353byd>|*zO^X9Z|Dt3}$qAc@@@FexTP@$nw!JQ)4dqve_m+09 zgcat~yDzlXL-p0=RBTcBxRb44;b|>%^!<1ZyOQh1Q$_%^UubYXoL6v0W+S~NGm{5L zo}8n`pO|(6K{`L%^;HWA?E_R=~4LTRb^(_Q2F!lBPXlstV zA@-wlGT+&~17DLl?$1czx`s>fTrfXc7WI~%I6y;1K=aKG?>noz=YSz{yT<61Usdel zs_exscJTK|26#}TRdo5xmY9Il3_B!8#!8GHz-_ro%<5{h%wAr!0_+ZH6_C+Fo{VEZ z7A<-LwjerQ;)6(71OS!;1CH@!93%kg*Di?NR9BqIicZmke11v9$<&b8!ZM*id9TEi z+vEl36ci`SOmTnXFcRO>(Id1e4DOGrQzDxNwaF5Se0Ok*u}op|4orG-_VqEa8u*wYifn@JCd^!R27TkEI8$C_q3K6+u7bX!7?71M5lLW(Q4szSPlmy0OVw_ zGGXKsk83r&$5m;qAAVc=(!Sf&j)smmY?cCl4|bs(OT~Tbl}9zib}CqdTpCezEgW-F z4>cDootlldh(7vOC%ahY$R$46Nyl8$oZ$}C(X+d&7DyIHqJ}|EmomxLdnuprdn=fQ z#}=1nuWU7XD90w?cDhJiDT4{9{LCtxXNWY*>qPUf`at}n=##_nGK4UVb zMaT7mt%Bg4tYcf{7mrsZ5#?g*3N$IMfZ4>!hm#_fdT^2T$6P3zRj8)Dq!--qyo4*n zrj<;ZPhx^BoPh6wBX;D)9iuJY*_$W?*>;~n5QvF=c6Y=i23UZeu8V4$bUL0;EeWo@ zgGj?YAFRzBwqtOS`b&oGKpE$I^ah~qW(SJASCa8;oiJo(spbr$>0Edj-oB#~Pd})G+yjEuj!TMttKX8gmNH!`Op0 zqREo4%QAlqe7Cl3`O@*g^Si2(Je&S9(}4obq=1Jt4h{zi8v`k4fCaN|Cx#XQEQpPh zshpDwJM1My*E1=Hpl6Msvw@8d>XjZ3;_jPKkMaYn!o{LOr9)=xii7ZJ=9Sb(eu~>WVxWeKIl-5n# z3wvhc0ff2G=~_N!YrUerGT!etXpbl#Ef|d$!%2Mpk}GSrm{8q(7o)+7J%iYTjhM@P zt2wTQX-rrT(iwygCTbYhC4xyRr=;Yq|qJ|sl@C7+92Cx zvfCPCPL$A6+G&|@5yOfgUqnDU89?hcjDRwGd3ng`Q^ZS!C0~t8vRsbk{bJ5{lu9Cf zIJ-?>%Q{O2=3{k~<`xk~J37bX1cr11cI?RnHO=OvRYlgvn#XI#oKFjJ+XjaGD{TOJN=pKVnI2XEntjM^ZbLkigt8UBQ?xTfIHuY`ofT*tS zdA=L#Cekpi5`oRapmn{F8kuwE?46uc5S?qGSB`>39ej-9{zke2F)ZC3wlkP6FByOK zDS|7o;E+Ri8IK^+JB;!fwGc)j@8>BSDe+d+lH>}e+>H@C)X^Q|BUY!~PH95T))Z;H zmqq9RY);?WIfy_laj!9I@s3B-1#(w*3!8*lAb??+ zw1*s})T4MlSv)fo)4>eVTX>3x=Sx&)&Tf*bo2eG0557ZD$HTp6g7fKgxCAURQOxmd zTt>f$kUDTcyoV?!90FocEKU?Lq+Ng^0-4;{H>Wev#t0c_$Ji)`L7Hr|))vG?9SxzS zKbac5rePyGGhnKo5XwZcHKy9!AAAMLdN>t6Eb}IT+*WvKd`+w9Vvx-nWTA|bwl>J)+A&&*QXZppL%MhR8 zVY#)BuvRu{M;J9bh%`Eg9(QZ6T3I^69%rsTvBidKYr!cN)Rapuc~OsUZwI&5Q1hp!sA#~Q7^}>BW0T>0j;x@TQo$Gc82{c%zGWR@so177%U1Y1|Xnw zz+ZIrL?K=mZjOFYeFE8LCZ+*45dkZ>h}eVB0K6nlJ*6Y*t`}0IEWWL?3P7)-umiFH z+RkPR6J$mPbr<>%!E-2^D2ugu2$k>MbrA+jkFN@KMlI9q1O~DO*6cIoU{>jXoDS73 z7Vk1lXpSF7L=NK~jgToWQg>L_j5u zUVO^+*hV8ovUFfWU)^h<-kr!U$H44|x-(%&FBQs>5{VBvd^pn&8@{KvQc9&9;RqRK zlQ}FNbKjrGVu}yXZ*cP&G)YQ$Gi~Vt4R=WxdQ-!1N7~>y4?dDm9%GdjO;g*F8o&@k z3(qI>29A&2F1Nev=`P=*zOV@tQ|&H)gL5S<0AtW7h*C9)HX!phdop>;tNLLwC~hy^70ZT(b=KtNlF?M2l0E51<;F>B+*0NP>Ovwn zLg(1{mp(d7=QA3KNoneS7*2Gsq()>b9V6!$VAE=MqD(`Er&DqsgWbbM{?WF)oUW(J zHuTs6!V{?FfZwTlapzjy)DI35dHwV6NZ}fLsZj;-K}uU9mgZ3Mcs`Y-RP&UA#wadL zYq7eif3T-Jk5=n>5*~#kEW(jLQm7Hv^WCyZQG*Un&ybpUmnsV-?KxN1&bJP_??P}c zsE>ND^X72!?qhRZKvGfU(~i%ajXv&(MTr_RPA==UP!Si9S7W^DFDjG{K<#w~RrF}HROd9MSojl99Vtmz!1~$+KOANzv+zcnL+5~Q2 z>Qpa;opJ|nq)g(l?hCYzdf{+rN$j9_7DwZH3D$#0tqyXMVQ??2SlYC30jW(GlcTB` zC)AO^5h7D^L;7a(#e&EDyl2ZGbaM;@1EZ&W)t)Ek=IhoYFGDK>>MYw7jiN-5IAU;q zSyIv{C?!7g_a$W}?7-FFUDw*OxwyM)(~2^wykZ@!>9K8G$RJ{Fuk(>rK-GL~M41z( zDM4w9#?~@P2teLz?wm2@BcOy<72wcC3cJ?H@e4E;6J~3dB;GtRyOO1wQGo1bJK8?n zw(MTgva}jX@c=s++1Iic<*tM{m<<(S6BV#h6sC0*wkci=@KOcWp=&&nJA?h1@c}2f zPPIc?XOOvW83Pn21UuU%aFejaqKCdLjt=2D8E4C0u6a+J7lvO=LL?| zM~4u!5Rci=*!eA)E^Tme90Z`wqnx_)2|VmL6)jAn?iPf*`=KzHs)1iH!?|sZ(Bln6 zwRzvCdw>Ka=YH6Na8hnqwO1n;HpxMHG(8B>(ndZ$xccUzdt{#Q;DOvz_mQlR&AoG) zz!VjoUkVXaMc}OP{Th^~=gkFdIGdBc-6TA-+EdTdUIwP(qKUYwpJIOxw+giNbkp8l zJx06C5UZ%uE%&-_-qao^8z0X)K2ptgy2S^NJPQmeod$?U{U55 zQ265j-hAfj4ef?=1U^b8qUH}CD|LDCO)h@;Q>~1J4}fAnPYg(chl~@0_Rg_5QFL^0 z4fzvg^hy|j+q5{yEn)8V7UJ+wtIT*_*SWn0wZ)?Bbqw;e2^QC+N)5ArjCa#Jz}0A0 zwOXM?U>ivacIS-&BTU}H@d>Br^Ei{VkHgkFDnY_g9_%bhSWUFB z3T}XT0u7`csa7ZCI&7+dJsc^xB~TZ2kah@W0BR>b#L{@U7{yUOux$;Hh4no3vr`i_ z^~6wk4D|``;>3yZH(%~33p1p+-lKYn>a+AfN0dcmCN@X{XNi*?d7I1;Ocpzkb*P5U z?EMD{5CBWK=PPt>4za?OX3fWk9VwU+2iB%LtB_7S^p%%l1$;dE3ql8ue_Kt7m?bHD zST^XeKr>&V%Yi?LA>K_!j!fi*7$U$1aEkH$7zf~}nG~Ihy2bTSpI~nmDdH}+)Gu!* ze|=?ke&g(rbW)zwb={`vS$}zdI;~D-)4ZO-RA-RW0|Peuc%}8%SBEEWZzHE)-nX5< zyl-14He#+>8qzt7902k$Ukrw`XEmW|sk$*mio&&P(&+jyE=K_ks{2qP{!qbT4}<<3 zmT&Kqn*@A*6_wBmJJ5Fw?gSqnbR>l)K0sXDaPq}L;`Vy1YlgpR3x!76=r%Xz0Ub3dzGe@^ z;AlStjZ`(JTxDE)Waq{cN^YZC`AR<8x<1c`b?0v!bgVpqODW$r*)$}glnXTPpgqbd zmpmE>oAKJHnMZ%NZYVo~%LHMjRNii9J9&(d12?)8IPUdyvXufVQ75>em_6;-9H8a? z25zcuk+%-;B-fWL9?03Uo5O{BbV-!vxpH|>!inOzJ=f^yu;%B$>KC!Q$woheMGN2} z%=LSuHf>MIqj;%^P4Wok!2vj2 z?-6Jn3}V%yZP)-v&eUeW}F8= zRyN*jI_1#yuFD-BJ-XVQ{6OS~R2IiWqYfDBW9EG??k1;^sn%iJV~$%U{t)pqc1xh# zgjM%?6`-r6UXA!#&QP9F4~S}%A_zo_yszZ(210u~gd!iN(>0cr={Ut}NUpZ^Xw#t0$TpSR+HISCD`(fXfm=#zo2jkQ&P@V5l@DVX zbxhQtK)aAPh_%6~C$nDBV?_q``ojj(M>QT9Dw~r%tkq|2@TqY}7;mx5ofco6V7_uM zgxZWVfs6h9`MYTbev9Gx0wuVc$WvBmXj;WIb`UyJK+sb>Z`FfV_A1O!!BP^rHaY=X zJ%`5q+8!qmE|slc9!1WHrLwC>*VuC~WSt^pbv@mkW!p32zDce~9SINytJ1AU zDlrzsLk~B%dTF-#6 zniXMAZ=AYvim=g(LLayD9vD!#xn5M~#2F03BWpd%CMpr*{x2(Wq9a6u16Vr9FOO5Y zk#c_x;ihd00Prpkrq3%jRfK@PZ!EX;b`iFp2ALE7mvrTelU*?PtCNv&oe)iozS`U z9^s<*XOo|fXF!$;qdSdDG+!PTb#zpZafv!>FLzO;&udgxX0NFnckBG-&QTY)E#i^b zLxOJ?SRGr$wbiZRqO0{8wA=h%4?;yq0v?a4-)kbm027e$u#FL8$L50#5FWJvl-{il zAz^ldnWvE#t;~+EXX-ivrd^iT=$v3dT&ZF(n<|h)E;vjQnQvox+w3R)2xd!7#NAAn zP$X`{2p_Im-d{(ey&^tUSkHGBZwOhV*SkVtFwM~t0tqyG$-^6S^4BY8lJ~_ega8$X zlsOB6a>gvff+p>x`sm}4m1!0!A)!yl%T<$463TN+c}_TN9|whSAn|8O7veiFounHC zPLmLl@g5?;bzQaFq+N_9u?uAn1y&iH(kv@dp>@f6PtBWPT$MGel1JMfl%mISNniRk zy=J~`bA71a3;n!!bEeom#xm!TTP9&lS$7XnNsKDDV|Bg;+{)zgX*RZ0M1tE|p&ELc z&s~?Nc@jmDCa5{M6w+R?1Sb-P$BO3Mfg~fPm(sb&jtY6dz;LPYT$L?FYS}O=DBKuX z`AHbZKyr@Nw8va%tC&2%w#y?T8OG`aBfnCWB7TidV;*{K_|@b2KouZ#UPbQr%#IW~UQ`N$!OFVctj1rW0UXGD!()o3XELaZ_g}TdU6LZ<*#_J;#GA zA#fp(n{Ucxc>>ond(H&lxi?^Jy=8TI&bUT0!CYR0=_F^5PL`kF<4RlaI@I`BbvRSs zg(dUK`*^z+g@0AMJ4_|GX7%XUmBc7EScK&GA)fH#<9I|*9KC0W6CL)0pr;rTBB7o% z8gH4WT}m|7-;v_OZ&K2`)ErM?4&;IY5sN}Z^Kh2o-oI`k!hkz`Ucz{CT?g^~K-v2y z)#}zwgQ%_VL!Y9EVVu#SH!%IKlxd;6$R1(&v1JRE5zvA(vQ#m2x4I7c5Low2)n*`{ zh?Ug0Mczgq+6-+faa_$1lekvV4$Iwg9=FYa+RLTgv)Xk*E~FJrK#6nmpbcJ)sgv0F z8i9JE)<00e&ea@-JDafgla(+nj|sztZPzHR7e*nkourB53B z1#?6;j6FA!-b|&anC^0QQE$PMhzw4rK0y`uRMUtnF2=^TtWxc9&PZ38N&^Qf$1W(e zBo&y56q!;0!rCeOzSIr`aVnBpShci-w>i&+#_iZ-21U0Q*y6-DcHMWLE2uY>by!L<^V_=Z zI3-B77GLAX{cMPXt+)X~5F4gntaw5u02pvW!6s8yfe6k9;Xq;R{kqGuyj#sW@)e9)vdM8hx4QADX%4!w@&TLVS_SaXLhG&!@3;O8pR(Q=AhdhFNH7tZ zQ#~0U7e><7YJ`8*PF8sNKji4ZD5!5 z@jA}~1}~{~yqr-~MX!&-InW1{4X9a|&Q%qLlcyqg{kUBdw2Yi6z%6|W_ly={rr{u> zw@gi)oJqDPyM|JD=vJfDeu3I8iAHVUUVX=cZMWhZY@RUjz8A7P8qMoXxRw@n!ua6f zW}*-u&Xngi9CdpD7j#!k8F=kvG<_+l07U}28UvCIY|4NC>0P|r#vA_hU*|fG|LaeG z8LKR)!{~kIRY~+=Jb>W;_#c1X4-f*q95DF({sVcQ!@mE1{}H^L2l&e&^j;4yjR*+7 z-+w@_=g9LMeLW|i=hVwNjJzJ6S1`DbfI&QdIVaGUgZJbGLoobuprF^oa}>O{z8K%kUrQp9)0`W&Bz|=c}+^zCE1iTm?`=k8P-R{`F1PuDe68gd$qW91r zUIPmKenV_o75wp4ysY5m^E)N{VME}^yZt}$kN6MKGQ8~BJygIL`t_cD>HJmBugp>M z9ge>v(O;Q=N%}qZdxj!m_II*}2y|EeI~4nU{9iT_{{ab7Pfc3r!qOQoQPhswbER2G>^M!(O~+;kT6U;csYnEIXth;AZ(u+3i)}XR?=dy|nD9 zv5$uLed>kv{NeMOU;46Y@A~N-`10@TuD4+?Vt)F5--}9r`pd8F|5!%g6~UkONxwV% zJ#pX4dlTf>%lAcmwZxzP{B`GVT3;Lf{G86e>^U3!>1z$XcmVwMUV4@Cc`to4v)3@R zM{5|_gB|jPr+qo@r*GuEO`80X!Cnnaerw=Qz2Bza-x%h@zwBt@Z$HO%F!rCb_Ddpq zy7x=-?@inYu{-(KEBkHQ{#sC1_tEYFe^Ah#iQYjw5`hrp_ltUQ{y!`V!go>6&sSmn zN1{G?T~+T+`zq&?3qN=Bi_5<5roVh5eYM4_hrV%nvC&ua{3rF$KkS>|UE-g=YJ}g` z{h#N>-;?&wtmXe;9Q=BrFCGnp-`Q1vH(c$t$P@4Hs0saXxO!pve#-jHFQPYj=!dUb z|EU#>{?jFz?`iaF3w}?r|2dXy#;z$|3!nd>WSo5BKNux`EZ7T%Y>Iv@g2-LkYuoPy z-+PUPqkEXfeuTb1iFko$pDV2|h5Qf-ey76v77KpG{Uz&u1jx_qf6cVP-+q2hz4;Jl zUB7SHG%Lb)uTAe?nsyx&b@2El%=)JA*4L{~gI*H(C-UzX!2b(N-@hyKtqA*HSbqIj z+$X3^fWLxd;&1;N)YahaIkbECr!uSFkkC7b1e@ijUw;1huOI*Va{lq(exTE@DCYMN z^vfGs{+YnKsQiW?ANwJT*ByO(-SEq&tLGe|YWNTr(em2$&9KC4-a{XM#(vpPKKzV) zk8|@L`K9r~aQBH1-xb}gzf$brV;Ji4jqop@T8Fy%!Pw$G{CR8<#lwf6zem-*2R~DF zS&|MPz;8%ic6O0`1c+baebMjxY>PfXKSS`#JYKL&8oi8!-X`)R3+-F)vxQ#HU-kd- zuNe9~f3w2#;%{HmJaq}bD)QGgeBJw5(>VMcl4kirk*~`5T8*zu|5A~^j$L25e`|+V zL0=o<`@(lCevbk99ZQnmok8*a*?&X!W~kq5rSA-0ijTm@zalS9U$OZumnYE=4UK@m z8v5n@lc90=3q#}ZCqsXx`LQX#B0)Zre5tR`B>z!`e`fHa4CGZCDE1p|yz%)`9Z#z7 zF3iar?^*LR!Mqc^GWb#d$G;L^+JgAi7T6bxMqjiH{g%P5 zV)R@6LfIjq-k@JNO3!(O1i1_&1h=zoY*r(ck{|bCWK6 z@%BEBqVSoj(dP#pgd1|G%xc|ARC6 zPc6y6k^SyJX3Osk``>EJ@5ulE%9{UhD*x%`>_@-M_S{x`&$#jKJ8fTJMeNVt>Hh~q zzJQn5-~P3X!p!?J3gd6Ur7u5zD2E*}m0p+Zz0V-G!=-2Q{GP%;!ASHaF1@yT<50h~ zKTkh3$74}^iqIhVf4?@D-tzt#nctw-FE7`xG|!e-qM`Gu*M}|Z`?o##Mbn4Rbp2l9 zzC4im^LK{5Ts@zT{@VWQO`Ts!moKW-FBt4~aaRvtjd{J^JNid7yT7(SFLySt?YD2* zpNw9n`Q?C@X)m98Zr}F2?1`_|_sf^#K9!b>3(I|{0bpHqlcIF<%?S81zUiB`Auo_M)+M2@(uNuykBrdUw#25 zzJ~(e0N(46B6tM-uI1Hy@!7JH1U0oAD&I`AmH`zx34MT-%`S_l<+HMx%?Vt-)#AI z_1Tn9vUCrZ&wF_v|FlPfDgF2N{|=$gV)Cawe7-H=A+$IsCH|udjLK*Xy_B@+A7? zasKNxe(c2HU;d6if?qRxK3Rr7zHaYbJwI^#PX*48y!f+!JX!BvNPg{w@Naz({*`?F zg8Z%GfWNIcUbpMFw=+Nf_2d8Zaks+o@lPM$?#w-n{P|J9-t(uo_MiR_x_$jm_nh>P zl(2uuMCkviCi7VKzOr`*s(ze_nsChdwpF(*FC$pI-y-lm6p>dAsWj zvJeSVAOG#$Tj!rY)7F(2)bICvG1Plx`FuWMYt~mR0{_lRY&!hVHV&7o@?uGmA{rUL``hH(v R^X|U^{}Wq+5@wI20s#Gb4W$48 literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin.min-ae945c0971f81a9672da06f4a32c40ba.js b/priv/static/beacon_live_admin.min-ae945c0971f81a9672da06f4a32c40ba.js new file mode 100644 index 00000000..68c7506e --- /dev/null +++ b/priv/static/beacon_live_admin.min-ae945c0971f81a9672da06f4a32c40ba.js @@ -0,0 +1,18 @@ +var BeaconLiveAdmin=(()=>{var J=Object.create;var P=Object.defineProperty;var Y=Object.getOwnPropertyDescriptor;var Q=Object.getOwnPropertyNames;var X=Object.getPrototypeOf,Z=Object.prototype.hasOwnProperty;var ee=(e,n)=>()=>(n||e((n={exports:{}}).exports,n),n.exports);var te=(e,n,t,r)=>{if(n&&typeof n=="object"||typeof n=="function")for(let o of Q(n))!Z.call(e,o)&&o!==t&&P(e,o,{get:()=>n[o],enumerable:!(r=Y(n,o))||r.enumerable});return e};var ne=(e,n,t)=>(t=e!=null?J(X(e)):{},te(n||!e||!e.__esModule?P(t,"default",{value:e,enumerable:!0}):t,e));var I=ee((M,y)=>{(function(e,n){"use strict";(function(){for(var i=0,c=["ms","moz","webkit","o"],f=0;fh.show(),i)}else o=!0,u!==null&&e.cancelAnimationFrame(u),t||V(),t.style.opacity=1,t.style.display="block",h.progress(0),s.autoRun&&function c(){a=e.requestAnimationFrame(c),h.progress("+"+.05*Math.pow(1-Math.sqrt(r),2))}()},progress:function(i){return typeof i=="undefined"||(typeof i=="string"&&(i=(i.indexOf("+")>=0||i.indexOf("-")>=0?r:0)+parseFloat(i)),r=i>1?1:i,b()),r},hide:function(){clearTimeout(d),d=null,o&&(o=!1,a!=null&&(e.cancelAnimationFrame(a),a=null),function i(){if(h.progress("+.1")>=1&&(t.style.opacity-=.05,t.style.opacity<=.05)){t.style.display="none",u=null;return}u=e.requestAnimationFrame(i)}())}};typeof y=="object"&&typeof y.exports=="object"?y.exports=h:typeof define=="function"&&define.amd?define(function(){return h}):this.topbar=h}).call(M,window,document)});var j=ne(I());function re(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function x(e,n){var t=Object.keys(e);if(Object.getOwnPropertySymbols){var r=Object.getOwnPropertySymbols(e);n&&(r=r.filter(function(o){return Object.getOwnPropertyDescriptor(e,o).enumerable})),t.push.apply(t,r)}return t}function L(e){for(var n=1;n=0)&&(t[o]=e[o]);return t}function ie(e,n){if(e==null)return{};var t=oe(e,n),r,o;if(Object.getOwnPropertySymbols){var a=Object.getOwnPropertySymbols(e);for(o=0;o=0)&&Object.prototype.propertyIsEnumerable.call(e,r)&&(t[r]=e[r])}return t}function ae(e,n){return ue(e)||se(e,n)||ce(e,n)||de()}function ue(e){if(Array.isArray(e))return e}function se(e,n){if(!(typeof Symbol=="undefined"||!(Symbol.iterator in Object(e)))){var t=[],r=!0,o=!1,a=void 0;try{for(var u=e[Symbol.iterator](),d;!(r=(d=u.next()).done)&&(t.push(d.value),!(n&&t.length===n));r=!0);}catch(l){o=!0,a=l}finally{try{!r&&u.return!=null&&u.return()}finally{if(o)throw a}}return t}}function ce(e,n){if(e){if(typeof e=="string")return q(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);if(t==="Object"&&e.constructor&&(t=e.constructor.name),t==="Map"||t==="Set")return Array.from(e);if(t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t))return q(e,n)}}function q(e,n){(n==null||n>e.length)&&(n=e.length);for(var t=0,r=new Array(n);t=e.length?e.apply(this,o):function(){for(var u=arguments.length,d=new Array(u),l=0;l1&&arguments[1]!==void 0?arguments[1]:{};O.initial(e),O.handler(n);var t={current:e},r=p(_e)(t,n),o=p(je)(t),a=p(O.changes)(e),u=p(ke)(t);function d(){var s=arguments.length>0&&arguments[0]!==void 0?arguments[0]:function(b){return b};return O.selector(s),s(t.current)}function l(s){fe(r,o,a,u)(s)}return[d,l]}function ke(e,n){return m(n)?n(e.current):n}function je(e,n){return e.current=D(D({},e.current),n),n}function _e(e,n,t){return m(n)?n(e.current):Object.keys(t).forEach(function(r){var o;return(o=n[r])===null||o===void 0?void 0:o.call(n,e.current[r])}),t}var Ee={create:we},Se=Ee,Te={paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@0.36.1/min/vs"}},Ce=Te;function Ae(e){return function n(){for(var t=this,r=arguments.length,o=new Array(r),a=0;a=e.length?e.apply(this,o):function(){for(var u=arguments.length,d=new Array(u),l=0;l[{token:"",foreground:e.default},{token:"variable",foreground:e.lightRed},{token:"constant",foreground:e.blue},{token:"constant.character.escape",foreground:e.blue},{token:"comment",foreground:e.gray},{token:"number",foreground:e.blue},{token:"regexp",foreground:e.lightRed},{token:"type",foreground:e.lightRed},{token:"string",foreground:e.green},{token:"keyword",foreground:e.purple},{token:"operator",foreground:e.peach},{token:"delimiter.bracket.embed",foreground:e.red},{token:"sigil",foreground:e.teal},{token:"function",foreground:e.blue},{token:"function.call",foreground:e.default},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"keyword.md",foreground:e.lightRed},{token:"keyword.table",foreground:e.lightRed},{token:"string.link.md",foreground:e.blue},{token:"variable.md",foreground:e.teal},{token:"string.md",foreground:e.default},{token:"variable.source.md",foreground:e.default},{token:"tag",foreground:e.lightRed},{token:"metatag",foreground:e.lightRed},{token:"attribute.name",foreground:e.peach},{token:"attribute.value",foreground:e.green},{token:"string.key",foreground:e.lightRed},{token:"keyword.json",foreground:e.blue},{token:"operator.sql",foreground:e.purple}],Ze={base:"vs-dark",inherit:!1,rules:Xe(A),colors:{"editor.background":A.background,"editor.foreground":A.default,"editorLineNumber.foreground":"#636d83","editorCursor.foreground":"#636d83","editor.selectionBackground":"#3e4451","editor.findMatchHighlightBackground":"#528bff3d","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","input.background":"#1b1d23","input.border":"#181a1f","editorBracketMatch.border":"#282c34","editorBracketMatch.background":"#3e4451"}},et=class{constructor(e,n,t,r){this.el=e,this.path=n,this.value=t,this.opts=r,this.standalone_code_editor=null,this._onMount=[]}isMounted(){return!!this.standalone_code_editor}mount(){if(this.isMounted())throw new Error("The monaco editor is already mounted");this._mountEditor()}onMount(e){this._onMount.push(e)}dispose(){if(this.isMounted()){let e=this.standalone_code_editor.getModel();e&&e.dispose(),this.standalone_code_editor.dispose()}}_mountEditor(){this.opts.value=this.value,z.config({paths:{vs:"https://cdn.jsdelivr.net/npm/monaco-editor@latest/min/vs"}}),z.init().then(e=>{e.editor.defineTheme("default",Ze);let n=e.Uri.parse(this.path),t=this.opts.language,r=e.editor.createModel(this.value,t,n);this.opts.language=void 0,this.opts.model=r,this.standalone_code_editor=e.editor.create(this.el,this.opts),this._onMount.forEach(a=>a(e)),this._setScreenDependantEditorOptions(),new ResizeObserver(a=>{console.log("resizeObserver"),a.forEach(()=>{this.el.offsetHeight>0&&(this._setScreenDependantEditorOptions(),this.standalone_code_editor.layout())})}).observe(this.el),this.standalone_code_editor.onDidContentSizeChange(()=>{console.log("onDidContentSizeChanges");let a=this.standalone_code_editor.getContentHeight();this.el.style.height=`${a}px`})})}_setScreenDependantEditorOptions(){window.screen.width<768?this.standalone_code_editor.updateOptions({folding:!1,lineDecorationsWidth:16,lineNumbersMinChars:Math.floor(Math.log10(this.standalone_code_editor.getModel().getLineCount()))+3}):this.standalone_code_editor.updateOptions({folding:!0,lineDecorationsWidth:10,lineNumbersMinChars:5})}},tt=et,$={mounted(){let e=JSON.parse(this.el.dataset.opts);this.codeEditor=new tt(this.el,this.el.dataset.path,this.el.dataset.value,e),this.codeEditor.onMount(n=>{this.el.dispatchEvent(new CustomEvent("lme:editor_mounted",{detail:{hook:this,editor:this.codeEditor},bubbles:!0})),this.handleEvent("lme:change_language:"+this.el.dataset.path,t=>{let r=this.codeEditor.standalone_code_editor.getModel();r.getLanguageId()!==t.mimeTypeOrLanguageId&&n.editor.setModelLanguage(r,t.mimeTypeOrLanguageId)}),this.handleEvent("lme:set_value:"+this.el.dataset.path,t=>{this.codeEditor.standalone_code_editor.setValue(t.value)}),this.el.querySelectorAll("textarea").forEach(t=>{t.setAttribute("name","live_monaco_editor["+this.el.dataset.path+"]")}),this.el.removeAttribute("data-value"),this.el.removeAttribute("data-opts")}),this.codeEditor.isMounted()||this.codeEditor.mount()},destroyed(){this.codeEditor&&this.codeEditor.dispose()}};var U={};U.CodeEditorHook=$;j.default.config({barColors:{0:"#29d"},shadowColor:"rgba(0, 0, 0, .3)"});window.addEventListener("phx:page-loading-start",e=>j.default.show(300));window.addEventListener("phx:page-loading-stop",e=>j.default.hide());window.addEventListener("lme:editor_mounted",e=>{let n=e.detail.hook,t=e.detail.editor.standalone_code_editor,r=e.detail.editor.path+"_editor_lost_focus";t.onDidBlurEditorWidget(()=>{n.pushEvent(r,{value:t.getValue()})})});window.addEventListener("beacon_admin:clipcopy",e=>{let n=`${e.target.id}-copy-to-clipboard-result`,t=document.getElementById(n);"clipboard"in navigator?(e.target.tagName==="INPUT"?txt=e.target.value:txt=e.target.textContent,navigator.clipboard.writeText(txt).then(()=>{t.innerText="Copied to clipboard",t.classList.remove("invisible","text-red-500","opacity-0"),t.classList.add("text-green-500","opacity-100","-translate-y-2"),setTimeout(function(){t.classList.remove("text-green-500","opacity-100","-translate-y-2"),t.classList.add("invisible","text-red-500","opacity-0")},2e3)}).catch(()=>{t.innerText="Could not copy",t.classList.remove("invisible","text-green-500","opacity-0"),t.classList.add("text-red-500","opacity-100","-translate-y-2")})):alert("Sorry, your browser does not support clipboard copy.")});var nt=document.querySelector("html").getAttribute("phx-socket")||"/live",rt=document.querySelector("meta[name='csrf-token']").getAttribute("content"),G=new LiveView.LiveSocket(nt,Phoenix.Socket,{hooks:U,params:{_csrf_token:rt}});G.connect();window.liveSocket=G;})(); +/** + * @license MIT + * topbar 2.0.0, 2023-02-04 + * https://buunguyen.github.io/topbar + * Copyright (c) 2021 Buu Nguyen + */ +//# sourceMappingURL=beacon_live_admin.min.js.map diff --git a/priv/static/beacon_live_admin.min-ae945c0971f81a9672da06f4a32c40ba.js.gz b/priv/static/beacon_live_admin.min-ae945c0971f81a9672da06f4a32c40ba.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..7c60fbbdcd8c67c406fa0c1453feb3ba1ecfc01b GIT binary patch literal 6254 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 Yu?|`R{`VDnH9EQTUlD#`?UzFU0LW1#00000 literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin.min-d042ca250916cec9bc009760e0439417.css b/priv/static/beacon_live_admin.min-d042ca250916cec9bc009760e0439417.css new file mode 100644 index 00000000..5fe54c5d --- /dev/null +++ b/priv/static/beacon_live_admin.min-d042ca250916cec9bc009760e0439417.css @@ -0,0 +1,3 @@ +@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap"); +/*! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:Plus Jakarta Sans,sans-serif,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=checkbox]:indeterminate,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:#0000}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:#0000}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.hero-arrow-left-solid{--hero-arrow-left-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-arrow-left-solid);mask:var(--hero-arrow-left-solid)}.hero-arrow-left-solid,.hero-arrow-path{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-arrow-path{--hero-arrow-path:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-arrow-path);mask:var(--hero-arrow-path)}.hero-clipboard-document-check-solid{--hero-clipboard-document-check-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-clipboard-document-check-solid);mask:var(--hero-clipboard-document-check-solid)}.hero-clipboard-document-check-solid,.hero-document-plus-solid{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-document-plus-solid{--hero-document-plus-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-document-plus-solid);mask:var(--hero-document-plus-solid)}.hero-exclamation-circle-mini{--hero-exclamation-circle-mini:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-exclamation-circle-mini);mask:var(--hero-exclamation-circle-mini)}.hero-exclamation-circle-mini,.hero-eye{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-eye{--hero-eye:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-eye);mask:var(--hero-eye)}.hero-eye-solid{--hero-eye-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-eye-solid);mask:var(--hero-eye-solid)}.hero-eye-solid,.hero-information-circle-mini{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-information-circle-mini{--hero-information-circle-mini:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-information-circle-mini);mask:var(--hero-information-circle-mini)}.hero-pencil-square{--hero-pencil-square:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-pencil-square);mask:var(--hero-pencil-square)}.hero-pencil-square,.hero-trash{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-trash{--hero-trash:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-trash);mask:var(--hero-trash)}.hero-x-mark-solid{--hero-x-mark-solid:url('data:image/svg+xml;utf8,');background-color:currentColor;display:inline-block;height:1.25rem;-webkit-mask:var(--hero-x-mark-solid);mask:var(--hero-x-mark-solid);vertical-align:middle;width:1.25rem}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-inset-y-px{bottom:-1px;top:-1px}.inset-y-0{bottom:0;top:0}.-left-3{left:-.75rem}.-left-32{left:-8rem}.-left-4{left:-1rem}.-left-5{left:-1.25rem}.-right-3{right:-.75rem}.-right-4{right:-1rem}.-top-10{top:-2.5rem}.left-0{left:0}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-5{right:1.25rem}.top-0{top:0}.top-1{top:.25rem}.top-2{top:.5rem}.top-6{top:1.5rem}.z-30{z-index:30}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.-m-3{margin:-.75rem}.m-8{margin:2rem}.-my-4{margin-bottom:-1rem;margin-top:-1rem}.mx-auto{margin-left:auto;margin-right:auto}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-11{margin-top:2.75rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.line-clamp-1{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-10{height:2.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-\[calc\(100vh_-_170px\)\]{height:calc(100vh - 170px)}.h-\[calc\(100vh_-_206px\)\]{height:calc(100vh - 206px)}.h-\[calc\(100vh_-_210px\)\]{height:calc(100vh - 210px)}.h-\[calc\(100vh_-_223px\)\]{height:calc(100vh - 223px)}.h-\[calc\(100vh_-_60px\)\]{height:calc(100vh - 60px)}.h-full{height:100%}.max-h-60{max-height:15rem}.min-h-\[6rem\]{min-height:6rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[40rem\]{width:40rem}.w-full{width:100%}.min-w-\[150px\]{min-width:150px}.max-w-3xl{max-width:48rem}.max-w-\[76px\]{max-width:76px}.max-w-screen-xl{max-width:1280px}.flex-1{flex:1 1 0%}.flex-none{flex:none}.shrink-0{flex-shrink:0}.-translate-y-2{--tw-translate-y:-0.5rem}.-translate-y-2,.translate-x-96{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-96{--tw-translate-x:24rem}.translate-y-0{--tw-translate-y:0px}.translate-y-0,.translate-y-4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-4{--tw-translate-y:1rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.grid-flow-col{grid-auto-flow:column}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-8{row-gap:2rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-zinc-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(244 244 245/var(--tw-divide-opacity))}.justify-self-end{justify-self:end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[1\.25rem\]{border-radius:1.25rem}.rounded-\[20px\]{border-radius:20px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-\[1\.25rem\]{border-top-left-radius:1.25rem;border-top-right-radius:1.25rem}.rounded-t-\[20px\]{border-top-left-radius:20px;border-top-right-radius:20px}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-900\/25{border-color:#11182740}.border-rose-400{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity))}.border-transparent{border-color:#0000}.border-zinc-200{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity))}.border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.bg-\[\#0D1829\]{--tw-bg-opacity:1;background-color:rgb(13 24 41/var(--tw-bg-opacity))}.bg-\[\#F0F5F9\]{--tw-bg-opacity:1;background-color:rgb(240 245 249/var(--tw-bg-opacity))}.bg-black\/50{background-color:#00000080}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-zinc-50\/90{background-color:#fafafae6}.bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity))}.fill-cyan-900{fill:#164e63}.fill-rose-900{fill:#881337}.p-0{padding:0}.p-14{padding:3.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-\[22px\]{padding-left:22px;padding-right:22px}.py-0{padding-bottom:0;padding-top:0}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-1{padding-bottom:.25rem}.pb-4{padding-bottom:1rem}.pl-0{padding-left:0}.pl-2{padding-left:.5rem}.pl-6{padding-left:1.5rem}.pr-6{padding-right:1.5rem}.pt-0{padding-top:0}.pt-10{padding-top:2.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-sans{font-family:Plus Jakarta Sans,sans-serif,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-lg\/6{font-size:1.125rem;line-height:1.5rem}.text-sm,.text-sm\/5{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-8{line-height:2rem}.tracking-\[1\.68px\]{letter-spacing:1.68px}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.\!text-red-500{--tw-text-opacity:1!important;color:rgb(239 68 68/var(--tw-text-opacity))!important}.text-\[\#030913\]{--tw-text-opacity:1;color:rgb(3 9 19/var(--tw-text-opacity))}.text-\[\#111625\]{--tw-text-opacity:1;color:rgb(17 22 37/var(--tw-text-opacity))}.text-\[\#304254\]{--tw-text-opacity:1;color:rgb(48 66 84/var(--tw-text-opacity))}.text-\[\#445668\]{--tw-text-opacity:1;color:rgb(68 86 104/var(--tw-text-opacity))}.text-\[\#61758A\]{--tw-text-opacity:1;color:rgb(97 117 138/var(--tw-text-opacity))}.text-\[\#F23630\]{--tw-text-opacity:1;color:rgb(242 54 48/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity))}.text-gray-50{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity))}.text-rose-900{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity))}.text-zinc-600{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity))}.text-zinc-700{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.text-zinc-800{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity))}.text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.shadow-zinc-700\/10{--tw-shadow-color:#3f3f461a;--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid #0000;outline-offset:2px}.outline{outline-style:solid}.outline-offset-2{outline-offset:2px}.outline-blue-500{outline-color:#3b82f6}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.ring-emerald-500{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.ring-rose-500{--tw-ring-opacity:1;--tw-ring-color:rgb(244 63 94/var(--tw-ring-opacity))}.ring-zinc-700\/10{--tw-ring-color:#3f3f461a}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\@container{container-type:inline-size}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAARsABAAAAAACMwAAAQRAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AXBEICoRkg3oLGgABNgIkAy4EIAWFAAeBAwwHGy8HyI7Cca8UYSlFWGJzMUTEQ/1+r2f33Q+oAgAFVkiO0LMiG92pzNTWmEogIUHV6LrA3+vU9yUZFWCUyyYpAGzHxMo5cgl5YpzSCUM8NWtp6sXT3zttbOqD96hLoIAijvawNWhs2hMogzEXBdQFssAy6shdkO6VPDXsvEGgCwihJoRAvaBtQgx0vqymBYQK7HoBasgsSYO9G/Rcy7nAD9pML9mFjgKPfId1ALiW9o7HQAUNkLR49NmAP3T1LIDvcKYsVP8XB0G1hXJmAH2cGQG5lOOYwRNCU2IAjgXYW7OFQ8CTV1oH8oewJAxfJWQEAAQqZBDoKEB+BpBwZjwGiJ8gUY0sCREiXJZ0Z5xVnPERYcR9YmHXCwDxHvHzot3vXmY3QADqmqhp5Ikhdr38OX/dCICxm8BvYCH0UMn7GeAIgauF0qTguFDk7y8SBckPFlz8SJ4vofPlGew+ZC+pEreJW7rJtuvDYZuDCR28i+w8dyn0zJXobrID0+4fRvi2EfLAEOTG4GDbgRGExLDxt4tE24bF+weByZRhiC0zZSqYNu2tUI+nPHcOqi9cGNO3BzbcIVs2dDMjcutbRfQlWX6wa/zmuKowR6r0Zq/KAerL2Lo3Y935H6eCJozvi+Wz3sDWmBhZuQjZkIkB1dHsF9/Dh+dfHMpWgeBA2S0d26erjNSsTjymkqHUKoquk8qL6V2/dtGKYkXHL46WF0mlnIhu2YRWU5SaOcVQqqwJTaskkh76NC1pj5MoYYpm6X/SaWWx8u+fZCVQSVdpS8Li4yefUh+ucay5uzkR4ODLF2bO0Y0d8wl8z2VZD2hdByDoV+rl9nqmPN2bkemffokxXwJsCUJde4rDdejqUOJFLY4CDoFcqp6l8OTYoznu+G5NxvTaNI+Vmn8L13v9Zf+FOP4T/n2/fT61j3/9JbmdaGm/7qAuQXAZlHm3BrezpAbEs3eyA7rCYipEJ8O75LL0p4A/8B5C1wLcNHwkWdbAP8RGEQGfI68EYSKCQOoHASrHDYBij4ugZsx2ULemg9R3TBIFAl1DgIB+EMAfutr3CiDGdSwnLZdKHC0HK712RlZmFlzYlNOn3yr58qV2PTcrJuJEKE//czjkYbmZ5atXpkYVI04RNy0rl361WC6sXE2MzDwctNzaGLn1s9Z9KwElD6VQYX9FgkorQdCjrkhVKSKdPRVkP2NiMVafddwnw16rpCDUJGjB4MYc1rxJAzeWjZEeJwHDc8JalrtVTRlOW2dmrf2eh04ePZZT/gzV5u/XlgnjMbprRAHhpi4WfEYYHA8cEYiH+EiAhEjEZ3T/A4gSeFzWgiVMaUooXcGC6LL3V/LMWqdT66fVezjj9znYL+kQ+zB0koJlTuAL5N31gDgEAA==) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0370-03ff}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0100-02af,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1e??,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-white:hover{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.hover\:bg-\[\#F0F5F9\]:hover{--tw-bg-opacity:1;background-color:rgb(240 245 249/var(--tw-bg-opacity))}.hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.hover\:bg-zinc-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.hover\:bg-zinc-700:hover{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity))}.hover\:text-\[\#304254\]:hover{--tw-text-opacity:1;color:rgb(48 66 84/var(--tw-text-opacity))}.hover\:text-\[\#AE182D\]:hover{--tw-text-opacity:1;color:rgb(174 24 45/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.hover\:text-zinc-700:hover{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-40:hover{opacity:.4}.hover\:outline:hover{outline-style:solid}.hover\:outline-2:hover{outline-width:2px}.hover\:ring-2:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.hover\:ring-gray-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.hover\:ring-offset-8:hover{--tw-ring-offset-width:8px}.hover\:ring-offset-white:hover{--tw-ring-offset-color:#fff}.focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.focus\:border-rose-400:focus{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity))}.focus\:border-zinc-400:focus{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity))}.focus-visible\:ring-4:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-blue-200:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity))}.focus-visible\:ring-purple-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(168 85 247/var(--tw-ring-opacity))}.active\:bg-blue-800:active{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity))}.active\:text-blue-700:active{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.active\:text-white\/80:active{color:#fffc}.group:first-child .group-first\:block{display:block}.group:hover .group-hover\:bg-\[\#F0F5F9\]{--tw-bg-opacity:1;background-color:rgb(240 245 249/var(--tw-bg-opacity))}.group:hover .group-hover\:bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.group:hover .group-hover\:opacity-70{opacity:.7}@container (min-width: 180px){.\@\[180px\]\:block{display:block}.\@\[180px\]\:w-11{width:2.75rem}.\@\[180px\]\:justify-start{justify-content:flex-start}.\@\[180px\]\:gap-1\.5{gap:.375rem}.\@\[180px\]\:p-3{padding:.75rem}.\@\[180px\]\:py-3{padding-bottom:.75rem;padding-top:.75rem}.\@\[180px\]\:pl-2{padding-left:.5rem}.\@\[180px\]\:pr-0{padding-right:0}.\@\[180px\]\:text-lg\/7{font-size:1.125rem;line-height:1.75rem}}@container (min-width: 240px){.\@\[240px\]\:w-\[54px\]{width:54px}.\@\[240px\]\:gap-2{gap:.5rem}.\@\[240px\]\:gap-2\.5{gap:.625rem}.\@\[240px\]\:px-3{padding-left:.75rem;padding-right:.75rem}.\@\[240px\]\:py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.\@\[240px\]\:py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.\@\[240px\]\:pl-3{padding-left:.75rem}.\@\[240px\]\:text-lg{font-size:1.125rem;line-height:1.75rem}.\@\[240px\]\:text-xl\/\[30px\]{font-size:1.25rem;line-height:30px}}@container (min-width: 300px){.\@\[300px\]\:w-\[62px\]{width:62px}.\@\[300px\]\:gap-2\.5{gap:.625rem}.\@\[300px\]\:gap-3\.5{gap:.875rem}.\@\[300px\]\:py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.\@\[300px\]\:text-3xl\/\[45px\]{font-size:1.875rem;line-height:45px}.\@\[300px\]\:text-xl{font-size:1.25rem;line-height:1.75rem}}@container (min-width: 350px){.\@\[350px\]\:h-7{height:1.75rem}.\@\[350px\]\:w-7{width:1.75rem}.\@\[350px\]\:w-\[72px\]{width:72px}.\@\[350px\]\:gap-4{gap:1rem}.\@\[350px\]\:py-4{padding-bottom:1rem;padding-top:1rem}.\@\[350px\]\:pl-6{padding-left:1.5rem}.\@\[350px\]\:text-2xl{font-size:1.5rem;line-height:2rem}.\@\[350px\]\:text-4xl\/\[56px\]{font-size:2.25rem;line-height:56px}}.phx-no-feedback.phx-no-feedback\:hidden{display:none}.phx-no-feedback.phx-no-feedback\:border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.phx-no-feedback.phx-no-feedback\:focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.phx-no-feedback.phx-no-feedback\:focus\:border-zinc-400:focus{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.phx-no-feedback .phx-no-feedback\:hidden{display:none}.phx-no-feedback .phx-no-feedback\:border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.phx-no-feedback .phx-no-feedback\:focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.phx-no-feedback .phx-no-feedback\:focus\:border-zinc-400:focus{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.phx-submit-loading .phx-submit-loading\:opacity-75,.phx-submit-loading.phx-submit-loading\:opacity-75{opacity:.75}@media (min-width:640px){.sm\:mt-0{margin-top:0}.sm\:w-96{width:24rem}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-\[180px\]{max-width:180px}.sm\:translate-y-0{--tw-translate-y:0px}.sm\:scale-100,.sm\:translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.sm\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:gap-8{gap:2rem}.sm\:overflow-visible{overflow:visible}.sm\:rounded-l-xl{border-bottom-left-radius:.75rem;border-top-left-radius:.75rem}.sm\:rounded-r-xl{border-bottom-right-radius:.75rem;border-top-right-radius:.75rem}.sm\:p-6{padding:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:leading-6{line-height:1.5rem}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:text-2xl\/8{font-size:1.5rem;line-height:2rem}}@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:h-\[calc\(100vh_-_144px\)\]{height:calc(100vh - 144px)}.lg\:h-\[calc\(100vh_-_239px\)\]{height:calc(100vh - 239px)}.lg\:h-full{height:100%}.lg\:max-w-none{max-width:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:overflow-y-auto{overflow-y:auto}.lg\:rounded-b-none{border-bottom-left-radius:0;border-bottom-right-radius:0}.lg\:rounded-t-\[1\.25rem\]{border-top-left-radius:1.25rem;border-top-right-radius:1.25rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-8{padding-bottom:2rem;padding-top:2rem}}.focus-visible\:\[\&\:not\(\:active\)\]\:ring-2:not(:active):focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}@container (min-width: 350px){.\@\[350px\]\:focus-visible\:\[\&\:not\(\:active\)\]\:ring-4:not(:active):focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}}.\[\&\>div\]\:contents>div{display:contents}.\[\&_\.margin\]\:\!bg-\[\#0D1829\] .margin,.\[\&_\.monaco-editor-background\]\:\!bg-\[\#0D1829\] .monaco-editor-background{--tw-bg-opacity:1!important;background-color:rgb(13 24 41/var(--tw-bg-opacity))!important} +/*# sourceMappingURL=beacon_live_admin.min.css.map */ \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min-d042ca250916cec9bc009760e0439417.css.gz b/priv/static/beacon_live_admin.min-d042ca250916cec9bc009760e0439417.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..619cbd73936c95051ca785454fba17d046a11e43 GIT binary patch literal 107779 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%0DQKc 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

    EDM8&;yvZ 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

    LlGzfa(oKg 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 XeuBQ=7udY}Z@~Wqa`3U7prir-X`Iw9 literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin.min-f369b2d906563c1a6fee02c192c6c6a3.css b/priv/static/beacon_live_admin.min-f369b2d906563c1a6fee02c192c6c6a3.css new file mode 100644 index 00000000..c28f9ea8 --- /dev/null +++ b/priv/static/beacon_live_admin.min-f369b2d906563c1a6fee02c192c6c6a3.css @@ -0,0 +1,3 @@ +@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap"); +/*! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:Plus Jakarta Sans,sans-serif,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=checkbox]:indeterminate,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:#0000}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:#0000}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.hero-arrow-left-solid{--hero-arrow-left-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-arrow-left-solid);mask:var(--hero-arrow-left-solid)}.hero-arrow-left-solid,.hero-arrow-path{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-arrow-path{--hero-arrow-path:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-arrow-path);mask:var(--hero-arrow-path)}.hero-clipboard-document-check-solid{--hero-clipboard-document-check-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-clipboard-document-check-solid);mask:var(--hero-clipboard-document-check-solid)}.hero-clipboard-document-check-solid,.hero-document-plus-solid{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-document-plus-solid{--hero-document-plus-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-document-plus-solid);mask:var(--hero-document-plus-solid)}.hero-exclamation-circle-mini{--hero-exclamation-circle-mini:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-exclamation-circle-mini);mask:var(--hero-exclamation-circle-mini)}.hero-exclamation-circle-mini,.hero-eye{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-eye{--hero-eye:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-eye);mask:var(--hero-eye)}.hero-eye-solid{--hero-eye-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-eye-solid);mask:var(--hero-eye-solid)}.hero-eye-solid,.hero-information-circle-mini{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-information-circle-mini{--hero-information-circle-mini:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-information-circle-mini);mask:var(--hero-information-circle-mini)}.hero-pencil-square{--hero-pencil-square:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-pencil-square);mask:var(--hero-pencil-square)}.hero-pencil-square,.hero-trash{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-trash{--hero-trash:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-trash);mask:var(--hero-trash)}.hero-x-mark-solid{--hero-x-mark-solid:url('data:image/svg+xml;utf8,');background-color:currentColor;display:inline-block;height:1.25rem;-webkit-mask:var(--hero-x-mark-solid);mask:var(--hero-x-mark-solid);vertical-align:middle;width:1.25rem}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-inset-y-px{bottom:-1px;top:-1px}.-left-3{left:-.75rem}.-left-4{left:-1rem}.-left-5{left:-1.25rem}.-right-3{right:-.75rem}.-right-4{right:-1rem}.-top-10{top:-2.5rem}.left-0{left:0}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-5{right:1.25rem}.top-1{top:.25rem}.top-2{top:.5rem}.top-6{top:1.5rem}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.-m-3{margin:-.75rem}.m-8{margin:2rem}.-my-4{margin-bottom:-1rem;margin-top:-1rem}.mx-auto{margin-left:auto;margin-right:auto}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-11{margin-top:2.75rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.line-clamp-1{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-10{height:2.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-\[calc\(100vh_-_170px\)\]{height:calc(100vh - 170px)}.h-\[calc\(100vh_-_206px\)\]{height:calc(100vh - 206px)}.h-\[calc\(100vh_-_210px\)\]{height:calc(100vh - 210px)}.h-\[calc\(100vh_-_223px\)\]{height:calc(100vh - 223px)}.h-\[calc\(100vh_-_60px\)\]{height:calc(100vh - 60px)}.h-full{height:100%}.max-h-60{max-height:15rem}.min-h-\[6rem\]{min-height:6rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[40rem\]{width:40rem}.w-full{width:100%}.min-w-\[150px\]{min-width:150px}.max-w-3xl{max-width:48rem}.max-w-\[76px\]{max-width:76px}.max-w-screen-xl{max-width:1280px}.flex-1{flex:1 1 0%}.flex-none{flex:none}.shrink-0{flex-shrink:0}.-translate-y-2{--tw-translate-y:-0.5rem}.-translate-y-2,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px}.translate-y-4{--tw-translate-y:1rem}.transform,.translate-y-4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.grid-flow-col{grid-auto-flow:column}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-8{row-gap:2rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-zinc-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(244 244 245/var(--tw-divide-opacity))}.justify-self-end{justify-self:end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[1\.25rem\]{border-radius:1.25rem}.rounded-\[20px\]{border-radius:20px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-\[1\.25rem\]{border-top-left-radius:1.25rem;border-top-right-radius:1.25rem}.rounded-t-\[20px\]{border-top-left-radius:20px;border-top-right-radius:20px}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-900\/25{border-color:#11182740}.border-rose-400{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity))}.border-transparent{border-color:#0000}.border-zinc-200{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity))}.border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.bg-\[\#0D1829\]{--tw-bg-opacity:1;background-color:rgb(13 24 41/var(--tw-bg-opacity))}.bg-\[\#F0F5F9\]{--tw-bg-opacity:1;background-color:rgb(240 245 249/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-zinc-50\/90{background-color:#fafafae6}.bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity))}.fill-cyan-900{fill:#164e63}.fill-rose-900{fill:#881337}.p-0{padding:0}.p-14{padding:3.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-\[22px\]{padding-left:22px;padding-right:22px}.py-0{padding-bottom:0;padding-top:0}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-4{padding-bottom:1rem}.pl-0{padding-left:0}.pl-6{padding-left:1.5rem}.pr-6{padding-right:1.5rem}.pt-0{padding-top:0}.pt-10{padding-top:2.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-7{padding-top:1.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-sans{font-family:Plus Jakarta Sans,sans-serif,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-lg\/6{font-size:1.125rem;line-height:1.5rem}.text-sm,.text-sm\/5{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-8{line-height:2rem}.tracking-\[1\.68px\]{letter-spacing:1.68px}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.\!text-red-500{--tw-text-opacity:1!important;color:rgb(239 68 68/var(--tw-text-opacity))!important}.text-\[\#030913\]{--tw-text-opacity:1;color:rgb(3 9 19/var(--tw-text-opacity))}.text-\[\#111625\]{--tw-text-opacity:1;color:rgb(17 22 37/var(--tw-text-opacity))}.text-\[\#304254\]{--tw-text-opacity:1;color:rgb(48 66 84/var(--tw-text-opacity))}.text-\[\#445668\]{--tw-text-opacity:1;color:rgb(68 86 104/var(--tw-text-opacity))}.text-\[\#61758A\]{--tw-text-opacity:1;color:rgb(97 117 138/var(--tw-text-opacity))}.text-\[\#F23630\]{--tw-text-opacity:1;color:rgb(242 54 48/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity))}.text-gray-50{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity))}.text-rose-900{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity))}.text-zinc-600{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity))}.text-zinc-700{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.text-zinc-800{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity))}.text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.shadow-zinc-700\/10{--tw-shadow-color:#3f3f461a;--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid #0000;outline-offset:2px}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.ring-emerald-500{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.ring-rose-500{--tw-ring-opacity:1;--tw-ring-color:rgb(244 63 94/var(--tw-ring-opacity))}.ring-zinc-700\/10{--tw-ring-color:#3f3f461a}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\@container{container-type:inline-size}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAARsABAAAAAACMwAAAQRAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AXBEICoRkg3oLGgABNgIkAy4EIAWFAAeBAwwHGy8HyI7Cca8UYSlFWGJzMUTEQ/1+r2f33Q+oAgAFVkiO0LMiG92pzNTWmEogIUHV6LrA3+vU9yUZFWCUyyYpAGzHxMo5cgl5YpzSCUM8NWtp6sXT3zttbOqD96hLoIAijvawNWhs2hMogzEXBdQFssAy6shdkO6VPDXsvEGgCwihJoRAvaBtQgx0vqymBYQK7HoBasgsSYO9G/Rcy7nAD9pML9mFjgKPfId1ALiW9o7HQAUNkLR49NmAP3T1LIDvcKYsVP8XB0G1hXJmAH2cGQG5lOOYwRNCU2IAjgXYW7OFQ8CTV1oH8oewJAxfJWQEAAQqZBDoKEB+BpBwZjwGiJ8gUY0sCREiXJZ0Z5xVnPERYcR9YmHXCwDxHvHzot3vXmY3QADqmqhp5Ikhdr38OX/dCICxm8BvYCH0UMn7GeAIgauF0qTguFDk7y8SBckPFlz8SJ4vofPlGew+ZC+pEreJW7rJtuvDYZuDCR28i+w8dyn0zJXobrID0+4fRvi2EfLAEOTG4GDbgRGExLDxt4tE24bF+weByZRhiC0zZSqYNu2tUI+nPHcOqi9cGNO3BzbcIVs2dDMjcutbRfQlWX6wa/zmuKowR6r0Zq/KAerL2Lo3Y935H6eCJozvi+Wz3sDWmBhZuQjZkIkB1dHsF9/Dh+dfHMpWgeBA2S0d26erjNSsTjymkqHUKoquk8qL6V2/dtGKYkXHL46WF0mlnIhu2YRWU5SaOcVQqqwJTaskkh76NC1pj5MoYYpm6X/SaWWx8u+fZCVQSVdpS8Li4yefUh+ucay5uzkR4ODLF2bO0Y0d8wl8z2VZD2hdByDoV+rl9nqmPN2bkemffokxXwJsCUJde4rDdejqUOJFLY4CDoFcqp6l8OTYoznu+G5NxvTaNI+Vmn8L13v9Zf+FOP4T/n2/fT61j3/9JbmdaGm/7qAuQXAZlHm3BrezpAbEs3eyA7rCYipEJ8O75LL0p4A/8B5C1wLcNHwkWdbAP8RGEQGfI68EYSKCQOoHASrHDYBij4ugZsx2ULemg9R3TBIFAl1DgIB+EMAfutr3CiDGdSwnLZdKHC0HK712RlZmFlzYlNOn3yr58qV2PTcrJuJEKE//czjkYbmZ5atXpkYVI04RNy0rl361WC6sXE2MzDwctNzaGLn1s9Z9KwElD6VQYX9FgkorQdCjrkhVKSKdPRVkP2NiMVafddwnw16rpCDUJGjB4MYc1rxJAzeWjZEeJwHDc8JalrtVTRlOW2dmrf2eh04ePZZT/gzV5u/XlgnjMbprRAHhpi4WfEYYHA8cEYiH+EiAhEjEZ3T/A4gSeFzWgiVMaUooXcGC6LL3V/LMWqdT66fVezjj9znYL+kQ+zB0koJlTuAL5N31gDgEAA==) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAABSoABAAAAAALZwAABRHAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGoEUG4JCHIFaBmA/U1RBVF4AgjQRCAq6aK19C4IEAAE2AiQDg3gEIAWFAAeIdgwHGxUlFeOYJbBxAI/ZefqIqs3iiv8/Jchx1MK1Hj6QCjtsqbzREj7Uu8Vx4pSRrqjmog/tOGN3PfRXFIaNPCUhbk3yIME013ZitMnf2OPLamGnvJSoHMue4TQeqDV+b/f2ixpqiWQm3a2TaXSGZBIKQzTpane0ls7s7gPdE1EA4QKMMiqqbEyFrGs1kCcjOjxu6582F5E4AxChZTD2BkxKGCX4gI1UsRK9DL0of1R4P9u7+5HGfrX3OwbnhVDfo1ShNOG0//9r5nsDbebe/2ezwChUT4Wa4SIYk9iMLSXbsgQUHjkAHhu73EgVO0u+qBHYhiz4TghZsfp0qpfMCc6Vp9AAAgqA/ac137d73mQLPAViIYmMQSN292aSTCb7YPMIkhKnxFucIjogW+ECZfgA7ICFdr9Q9XuX/rAtCUl4LMIiJSq/qoHaR8oKReEQKlyIQp/wZ2Q0Wt2ybDVJkI6jN6VZmkGkjKKleOxxv3avJwC1XlMjPURBWjVHdsvkHl4eEuZRcZ6U5nl53qCBN2vlXbp4rz4+aIiPm+A8ns+Z4wsW+Z49fuhYXkML6o7ifxBQyieDTJvh9ANu3+bedsBhgHuW82FnAzHg4piEB+Lb/+fK8cccXk805V7bPelZXNBt2yrUn1dTy4oRfZDaAcNDxExWZQWWYDHWxdJ8PfIszRpYIS9GuVyZoKzsmXU0j4rxpNS6eQ2atWhF0rYmXcWby93z7jl05BgBqoFSGDjyyzQCqyGu3VGblLZRW3RkNgVx69a2TsBhHMTIlREa0KQJB0rorLKRXqclPuj0GlQVoBrLSsOrFIeSEVempgUNY8agMXMq7hQGq2jTaYVkpkYFepFrLE6F4wpAvBRDwFy8bdggE0gQQcl4ljMhv5hrOGdKuvtgT2P2z/8BWH7qYUQ3vPLqB+KgyAO6CSAkRoB6FOhH9u9s6s0B4O+pvtSc+YACDIQoRIIKIAAZEAPDZyDeBsSVk+JSCA+B/IoYCi3OguvL6qRCcRp9CJEikzNL2px0yZTcKZK4dKKnMc8RWc29OGZNwoQnc/IkNh2Hu+T388rDv8PA3yqjpNNrn1dboQ+pUUwIMAXYt/tOR9BnWw+L8O9GGOlyhW71mrXrNm4SlmClZUqVRq2t1htwqsZqdzhrGY/PH6gLJlMN6camltbmrv4Bb9bVWd7fRVt7XyiRidqlH8I8VwVwEiBEAGeA4kmg9DIQppFNHTIkP18GZyDCFiQcIoaMmBdEEOEkZkdWI5kvhhPfaXze5KQYk0WPFhix3I14NHp6bxETpUOxFvQGwZQxpseO94Q2WK0NjXNiBAi5Ow6F60NhV3CkVj86sNlTr83vBPQZUzc26AoMvCHoD3NzQwPhgunRsB7Ija51t3ps95ip1fr2aFPIoLEMwhYzMxOJMFgc229vjPFs/NToW++c9S9cNzzNk0gQlUwefwM3nin6rF758+e4vn/bt0LC6tfmB+jL+mdb3z91m/9/D2sm94kVWo/UeEWS70yhb8WIYTgW817o0KUHFw6VPtQKPMrZ1qdE6TqqvMYjX69klqOA07Ve3K6GD5PJNIATcfn/kxmKe+/2GFISC2s8f5KDhZOhj0Kz8wDHTV3NHNnBooNEB5UbK0sV78fvDg82W1kwbmf9t4vRdHhZkk4+cCMdiuJWgAWkNq/X+BgOtrIExWAjoYjqWYf8HG44FnuspFE4S/BJZv0Vxt1wnywuNa2FLJVn6VqHEmvG9oUA4kwE1GDESeFSs1dQReB1XV1GLKk0ctY1/K8Jtley2l2aGfBm0+hArIXlYKZwThrctJo4gw1u2Q3MvuXSU8zbnnNxMFrySgFQav4xRCQ9s0hpPWusPPz/T5bWo0CNpPSR/flIZ+Z0i2E2XGSXz3wULEZxImpr/7ilYrKxZOj0+KkcPTHvV56WFimWnRB1eB7Tb3AvaphMlp3VzNYqZZ4KSdzW8gpSqo+s5rf9Vqq/wbo33uLKS5e1H3TpnVXj06NRIzxl675TCGpihVaokR1m7ASgTtIQRxXeCsZlXNza61NWzexp20ucbuQ8K5nUpQE0N4hTlQWpZMd1fQ0KpLZJKKrofIXyQohqFNOnREanRbnblELP0Net7ek5GEqxNvs49RJXKpOcqxEs65JuGbOzku7GO6sfOBRuH4hjoVMRpKpJSd0beiLY0dQI3eI8aIvWxo4tWAWiVE0HTvRp8eQ7b61dRNF4pMQ4GRIQqNMiW53ZHnlgg0XzqTRrGcKTqWWvao5jUlNOqXYKHw6VyeTJaMaHD6zJyKXI5EW3RdaMqHHhH9VPSjAxe8dVrpZOaZMiRYpU6G5kryOfgo7uD5UNQdD2O8kgIiYIEP8ZdpLZkcsvL7iLmfW3K62Mxp0hoVL8t929rzf3vvWen/DRuaw5pqCgyFek99YInxRz6AlTDH8FMaWJCCg0TN+RaqGIxDNB3MfDB9RxvNgSxCqP5fP2+3e4E2+jmt3li873b6QdwdNIl1uXavNmdYrG4ZpTw3dwHW6fdfjWxG0th59UiadmDz+hJnx8ls+5iAvO9rc8f40n5GutE3l7i6/cIh95yxMj/kY+KhPjxv9FOjGQPzE9+Ph0WPrM+3tp4NyHNR/9j4E1a4yf538gyr+W6kzWy8ttzlJm/nG/pDKAE4owV2Xax2w1Wimd3mo3bnX16yiDSgUNugEgFVAxmZKFdkoZjckoipMrohARJIXjFCQcBNX+NEmKQKSC5eQgxd/odXxS5inLc3hBlEfaGS3iETPDgIz3jPqMd7/5ywVzBZmBvgZkoq0kSVtND97jFRQ3ZPtAhEfVrddpE2fZJ4cab/NkvMDJ9zsu3rOuivzveM1MPx8SiAs6BL2zmjV9rVx/Ky1oKOou6JIJgEhAsTL5YLk8ytpdFiQcUM5CdsjgBEXYCYLCdca2tf8mBxH+ojmpVHMUVMeSSvMJ8bYTOG01EHQNfgJIBdYGqaZ+LtLYjSYjbdCIK+HjiXX2ZUyLDVfWcVUw1tMMQkhN6nEdqZFLpPCV5HrrMnebXa+pT8nA/4cG74x3/BAoe6PrxcamzsmdGLJjO7snky/G3xho3PrlTszhKNm57SvwtyBNhpy1yWDgdo3iRa0MllGomO7xBbm2uH8olJn/3eSIRU2THqPcdatEJqr87LK0SMhU3UcpVTTxiXI96dwgEpJaLW6hiEsIiwnXktWbUW6wJw1EAhhTKFnjKKmMxhSQvvEoGa9TQWg2KH9JoWJzL1NKlUDSQhigBa4tAAHvc7tv9+a/fcML/GO+XYSZMjzwhZcsig90pYGoiOIKAifB2WBB4hRUspAdunEIyZMkhLiOar9ZKQjCYzzKLFpi9FrNvkQrd51RHGZkWpPPRixZkrP12uzv1aSJHCVJU7UGWohRAlrAqiKtd9N8B4pAcYVKJ9z81YRtNjPXZaXtUYbF3JztalT/Xzmm+BzbtONm2+zQXMZhdcbqEkD+7KoHZzW33tZ8TlN6rrnttsyDs59pae4ba37Zqv1mqH8M3DfGvHMhL7XDF3vSaHySGfDF501j+VGv/r1BekQY0ODWobOeQcJCG4wMFmIQtPO3ed0H50k/F7iPfosrhqclNyw3LQzMK7yn/wg9zYzsH9FN/W14MZ8DzvV9YM6egcE422iqMDvNogYTO5DY1R/tCEjqnHWSzgDYKDA3SvVBHfK7DQazq0aHu2kT8tYbbA6N1qonDDazFhGacEpuzmzh6uUVLpeoVp+2srION+pirRqA+ODlwlwmz7ri/c4sY5S87Xzr8g86gdK/SIy5AFf07gEeHXyh8FDOPmZrHWD5K+f/K18dBE/ZHp9Yk9ideuafdeveu647lSiclrOCNoQV8ohxBsrYsJKg/TQRVspYOGOUR5CCoH0nfse8LJopP88NYu7z5TOil0kMXLPyWbpQwbZ3xf5Ef+I0jVdNnOxCPPisGjnAo8NTh9Fhx3uAypleNto3ah3tHfXx4Ltq5B7ec7T3KG1Y1srSKfDf1m3XDfBJEH/dNsDySHySSqjUHCTVMViXOuE5glutej39C/wIOHBwxPuFOCNq2+RJ/UxSAPJ+cXm4KR1ShBpTkTJXueqwUq46pCqXsLyfB2Zm0arXCvOXrxPrrUE/naWDfuvIsR35Lwvbmo1Rt174mDALw+mBimfEp8TL6+0BX022ZnZP+0jyVPITux67vCSLXYbpa7CSkynuNi0VUQ7yWYggTPfC1KGPvR/vIMiut0WYCETKWVYOSgWQk8tZEhFGkw4nTcSOvsaQc0+y4Y5QHuXk0MTKFFHKDhVs+zsH7cPtbtKd/f8HhydY44959ajM8EqF9qon1WCvoLY+HbrC7fbxPtx9oD6UcjEoHeoOobS7VnRO3a0+J9KfJ9CeMcLFjozdqIrGlfAjHql7D6uy+/bn79eYaVxnqgF5Y15a9Z5y5TH2hY7+FUlweTAsJYBIEO/sTv21d8/RLSNoxONjEZz3VmktNAVjHQnGJOOiCujWGSyQgQaLjhqZqY8bsNh3dVGnpbrWTBbTfgtuT3rRpa7LqmxYqa3qMtdoRZFQ+IdoFOzGhr2ytympzgQeg+xrh6clQJgEzoJljdMT7fc3MIJPXTz0cN441/o4WDSwsmN2kPte9YPzB0Xi+7qO4oE1KPmn+i/nX+rUn2BhYbDddjfX9FqlVNZWUlarGHT1V/4tXAlPrJOXnarnrmpzu+W4Tyg2SWX/ncqn842QsLUEwoDF6sRrpdbN77/TY/8K0KL3J0AcQ5+y13zS+HDBY+sz1/zSr2C/f1GlsAZEChR9GHr72fzPQ92mFqsMB05sqObNe9ZVVc07bnpjCAsGJDmZ3Ja8WH5cyyXUa3L35Z6gAoDF0OdffY4w9P1X38/f5pUYevurt8H/k4N7xj0+CfLGzsbaWtjT0fZm7iyjEs3R02z33WNna/+6VAdNhtMGaNmPk5b1uyJNOLh8/GeyUJgGnanw7eh2hVlnqLj5+nkIm5CDYmhiagJN5Crxf9L3ifWT3k982EsK5uF7edqwLIE0nCKEwQdNYOj89dHmiIdpiUau81yvbJdI2pXXg5GJEeaL81l36wFPdt0sgJj/vKS+QUc8Rpp6cY1EdVNV1U0qQWQxZsWAObBo5ft5eclV41OwpaXCkm16S+4ygKwtMOR6YRUbkphv/NC4bdwwVfPKMu1ffGjxG3aDcFhYZhQYMDAa57oegN5X2mXP9c8xz5V52q9XRpe1DPar3PynZinLILoeqjR/CCHGLQOjPx+dIxJAgVsdtzKZnAYHbvTF0yE1EuMEqdaSFnIT0oFdAosv6vSFfvZhvoshR603QtvrI7VfOOujNgt2o/QL6Y1YyenWJ3Ea6Efe+s4cID3N4ei3GHplcNfLjWtOPXJKflwsOg7+HPOVPF5XnovrSbWWOMZzsg42gAI3O25mMouF0EFbfFw6tPzZ+wTreK73ef980wJbZKmqevHih+nu9l0v0AuextqypKRsydKHD4vKMtIvpJmiVzZ0deut5PtD2Pibps+bO1r72xaDNxeqp6Ozt6Ojt7PR/zDzRS/0LG7aL9nYs+TJF4PPZzLDZ9uHRXTcGnTDmtJ8yNCq0pkQLgmYr489ULVi6jDfcy56ZEbfWW8BCrVOpsE9y2ToMU7maHTXp4Q8E3q39aQHfA2pZ1BIQsdkMiZicqZgAqVEPRNGqZBxSixhzeyWSZTayXobXU9W2ujqEpmWjXo3iYmNy/M6lYGUkTzNf4JFDiICImU2lSkY0x1xVUXskum7Xy0HKTnHvtiVvVuGr+RobaPjAhwje9DqEHlR1KJdNjmRQjHBevQ9BMJ/QARjCGwWTlUehEP4s3Io/x6R9yJ3EKIQmrqe+G50lGGMtOL61fFzGRA+IFmJ7BqJk1BCXPA/jvHo1aOCqo3KDAmTVAKzKH875YKI9eHnogQ+nyfGsEwki2z1xohZNiIjB6GcAhTLUThjeCawLCwK4/BuEIiT0pz+j9Nclf4bZPQfwLMnVy+3cj19/Dn/k8+LruzB7G9KAAL4mUdhXCVp8N85oO2CwzFkyhgxgxlMuMsMNhAHjx5zAh0oIoTG/Y2Czkcxi5jFjL4LMJvLkCNvTpk8dHpPku4sYgJFM4MCQm630G2gwGyD/I+n0RLRzA6M6BsnDUANSgA0Ygqz+iPpDoAGje4smAswuz0OffQEzGFCAciMrk9fTMYVOPUp1EcRgDq3BtI5gKN+e9uIRfq/ywFO0qJqsOJQsYgeVu6FPJgkAG6HSqYPsoVFfQguMCeY+xH6MDHv+ghYPPYRipjozSnwRDGiawCNBS5CpZNFKpX9FVhiz44Fuzod69ptG5aMWzmtWXdsNHX1viMVyRYelxza4HXMFBKOtI3ac2lNVNuvTY8uK2paagG0K1XvSruwjRv62ZVOtBZEGuN0COmNo0tGwlBa3xFo6GrquC59VW0+qkk1jWvu/rHVbKz3XQh6OeoknaSUsjXCJysPSH494NDSpnCwFGTb6CTXrSx25K+H8r5dsyFbn1hcDpau21vJWO9NnvghjNg2mj8ZIPjrJKDfpxDBLyD0s/Qk8W/LyCooqmrRpsP3kMGQYWOm8XdIgijJiqrphmnZEGFCGRdS0w1lWrbjer6CSmBKlSlXQURMopJUFRk5BSUVNQ2tajo4PQOCEQmimJhZ0GpY2dg5ONVycWN4ePn4BdQJCqmHhEVEsTgxcQlJKWkNGjXJRHi60/3por6fqSJ2qyIIIGQMxBQjphG8sRCcIL28GJrhsXZzAguEQpI9zJCgOOaBnt4cQ1lHEHshGqL5QwwnaNsMndGcAUHIGI0pQtDgxMwzHKRVRocOLI+1mwsQCIUkfdEFURwjPL05hrKOKvZCNETzhxhO0LYZuRTN5Vise4agz/2L377e9D9E2eNn9kM//lPK4bxenc7eOm3nD/t/X5mOAAA=) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0370-03ff}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0100-02af,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1e??,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-white:hover{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.hover\:bg-\[\#F0F5F9\]:hover{--tw-bg-opacity:1;background-color:rgb(240 245 249/var(--tw-bg-opacity))}.hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.hover\:bg-zinc-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.hover\:bg-zinc-700:hover{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity))}.hover\:text-\[\#304254\]:hover{--tw-text-opacity:1;color:rgb(48 66 84/var(--tw-text-opacity))}.hover\:text-\[\#AE182D\]:hover{--tw-text-opacity:1;color:rgb(174 24 45/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.hover\:text-zinc-700:hover{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-40:hover{opacity:.4}.hover\:ring-2:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.hover\:ring-gray-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.hover\:ring-offset-8:hover{--tw-ring-offset-width:8px}.hover\:ring-offset-white:hover{--tw-ring-offset-color:#fff}.focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.focus\:border-rose-400:focus{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity))}.focus\:border-zinc-400:focus{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity))}.focus-visible\:ring-4:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-blue-200:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity))}.focus-visible\:ring-purple-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(168 85 247/var(--tw-ring-opacity))}.active\:bg-blue-800:active{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity))}.active\:text-blue-700:active{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.active\:text-white\/80:active{color:#fffc}.group:first-child .group-first\:block{display:block}.group:hover .group-hover\:bg-\[\#F0F5F9\]{--tw-bg-opacity:1;background-color:rgb(240 245 249/var(--tw-bg-opacity))}.group:hover .group-hover\:bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.group:hover .group-hover\:opacity-70{opacity:.7}@container (min-width: 180px){.\@\[180px\]\:block{display:block}.\@\[180px\]\:w-11{width:2.75rem}.\@\[180px\]\:justify-start{justify-content:flex-start}.\@\[180px\]\:gap-1\.5{gap:.375rem}.\@\[180px\]\:p-3{padding:.75rem}.\@\[180px\]\:py-3{padding-bottom:.75rem;padding-top:.75rem}.\@\[180px\]\:pl-2{padding-left:.5rem}.\@\[180px\]\:pr-0{padding-right:0}.\@\[180px\]\:text-lg\/7{font-size:1.125rem;line-height:1.75rem}}@container (min-width: 240px){.\@\[240px\]\:w-\[54px\]{width:54px}.\@\[240px\]\:gap-2{gap:.5rem}.\@\[240px\]\:gap-2\.5{gap:.625rem}.\@\[240px\]\:px-3{padding-left:.75rem;padding-right:.75rem}.\@\[240px\]\:py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.\@\[240px\]\:py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.\@\[240px\]\:pl-3{padding-left:.75rem}.\@\[240px\]\:text-lg{font-size:1.125rem;line-height:1.75rem}.\@\[240px\]\:text-xl\/\[30px\]{font-size:1.25rem;line-height:30px}}@container (min-width: 300px){.\@\[300px\]\:w-\[62px\]{width:62px}.\@\[300px\]\:gap-2\.5{gap:.625rem}.\@\[300px\]\:gap-3\.5{gap:.875rem}.\@\[300px\]\:py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.\@\[300px\]\:text-3xl\/\[45px\]{font-size:1.875rem;line-height:45px}.\@\[300px\]\:text-xl{font-size:1.25rem;line-height:1.75rem}}@container (min-width: 350px){.\@\[350px\]\:h-7{height:1.75rem}.\@\[350px\]\:w-7{width:1.75rem}.\@\[350px\]\:w-\[72px\]{width:72px}.\@\[350px\]\:gap-4{gap:1rem}.\@\[350px\]\:py-4{padding-bottom:1rem;padding-top:1rem}.\@\[350px\]\:pl-6{padding-left:1.5rem}.\@\[350px\]\:text-2xl{font-size:1.5rem;line-height:2rem}.\@\[350px\]\:text-4xl\/\[56px\]{font-size:2.25rem;line-height:56px}}.phx-no-feedback.phx-no-feedback\:hidden{display:none}.phx-no-feedback.phx-no-feedback\:border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.phx-no-feedback.phx-no-feedback\:focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.phx-no-feedback.phx-no-feedback\:focus\:border-zinc-400:focus{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.phx-no-feedback .phx-no-feedback\:hidden{display:none}.phx-no-feedback .phx-no-feedback\:border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.phx-no-feedback .phx-no-feedback\:focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.phx-no-feedback .phx-no-feedback\:focus\:border-zinc-400:focus{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.phx-submit-loading .phx-submit-loading\:opacity-75,.phx-submit-loading.phx-submit-loading\:opacity-75{opacity:.75}@media (min-width:640px){.sm\:mt-0{margin-top:0}.sm\:w-96{width:24rem}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-\[180px\]{max-width:180px}.sm\:translate-y-0{--tw-translate-y:0px}.sm\:scale-100,.sm\:translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.sm\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:gap-8{gap:2rem}.sm\:overflow-visible{overflow:visible}.sm\:rounded-l-xl{border-bottom-left-radius:.75rem;border-top-left-radius:.75rem}.sm\:rounded-r-xl{border-bottom-right-radius:.75rem;border-top-right-radius:.75rem}.sm\:p-6{padding:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:leading-6{line-height:1.5rem}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:text-2xl\/8{font-size:1.5rem;line-height:2rem}}@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:h-\[calc\(100vh_-_144px\)\]{height:calc(100vh - 144px)}.lg\:h-\[calc\(100vh_-_239px\)\]{height:calc(100vh - 239px)}.lg\:h-full{height:100%}.lg\:max-w-none{max-width:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:overflow-y-auto{overflow-y:auto}.lg\:rounded-b-none{border-bottom-left-radius:0;border-bottom-right-radius:0}.lg\:rounded-t-\[1\.25rem\]{border-top-left-radius:1.25rem;border-top-right-radius:1.25rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-8{padding-bottom:2rem;padding-top:2rem}}.focus-visible\:\[\&\:not\(\:active\)\]\:ring-2:not(:active):focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}@container (min-width: 350px){.\@\[350px\]\:focus-visible\:\[\&\:not\(\:active\)\]\:ring-4:not(:active):focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}}.\[\&\>div\]\:contents>div{display:contents}.\[\&_\.margin\]\:\!bg-\[\#0D1829\] .margin,.\[\&_\.monaco-editor-background\]\:\!bg-\[\#0D1829\] .monaco-editor-background{--tw-bg-opacity:1!important;background-color:rgb(13 24 41/var(--tw-bg-opacity))!important} +/*# sourceMappingURL=beacon_live_admin.min.css.map */ \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min-f369b2d906563c1a6fee02c192c6c6a3.css.gz b/priv/static/beacon_live_admin.min-f369b2d906563c1a6fee02c192c6c6a3.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..95868fb8504780da80b6887ab3a90799246d7414 GIT binary patch literal 107594 zcmV(>K-j+@iwFP!000006WqOLm*Y6HDENJUg?XFQO>0Q?CyF*eGWhqgfnx69x zMK4;>$S}9|w=Y1Ml+sjI&z+q+d&@A%h(I8K2t))x5cyXxOyV@J6>0G67dOw7>L$*|6Ln&rnSCj zSW#wyr;9i@q)?K-Ab)vy((T+zAD-5h9jDgwI!;Y1eL`zl9C&8!PZnh{*81BzJ~T3~ z^djf!M9~0{@2|=>8u`9qfEHU({`BR`cQ+4%=f>Vz`(ED2twRo3SPk9W6j}a+q3EB# z!TxF3mYx@>)yS+o2Q_3*QJjW)a7I@B^aT5>r{OWQUgShdR7W7X#a3!_3fp7m=%7{fU<*|HnZrTzh?!Ix=3!I4E5(bi$K36 zapqMGO|1Y_xwF3QtQ6X7(9i?VfgJ$wdH|ULb?12;J~bY33RVeN1I>d+_ykNRxD0kM zWP?CYGVAGb^X&!ky0d}vfTJ7zzAgaw=)sGUB7caJ+)3jidC085GV%vVs;8Fz{Qmg9 zaJ=V#tA;z+soSpZ;+^611DpBwqfzlK(M=ONwQGA$4S25Fnx|mU1J4$M;Tc)q|CS#U z>$el#-ycp-sRd-XJb+FQJ@9lQxegcLge)DfGOVW)=G$5~eAr)+dF|p#ZMO(7)E(6bSnq7ddRylV0TU841kRi*~>U%;(BgySf?gPo%e@AI(ybXafVLl_O}># zEiXSlVHZ~KbNLwte@o-wW!#)KWE5!zsFTm$xfQ(J9eqXqEl(9eRP`D+EU!X!UFfO*4TkXm*9`t61GF=r#5!bQ75uATxb{H@6C2K(@5LIj8!Kt$PZzra<7Cj{B= z_m6wxF-{!>2lfk#{!#-;TJYO1FlhWz+j-Vrh!4O00*56I|NZi3LIS)JJ$Gwx=H^?! z{qkp=IN91SXHWx<0z*%J`=t`}4!i+*#A|pppnv-XSkW&v^S56@y2jQ>__sm+f}ARZ zvVprVUvDGX%One0VeJ%c3=8Hdw`8dWVqp&A;Q8(rcM4Tx9@kVyGNc9==<__ zNzAF#KQB|k{|9C&_&=Pf{C6cKuQguXf%)2<&dUztHsiH-4})a`H#6@ zV1>16)#!dmL-9Y7^^rVE7}BGBxs%;Rqe8VU>ZvEA~iY zWYC~$)C;�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 Y;dsK;&9se&^L^= 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
    -
    - <.form :let={f} for={@form} id="page-form" class="space-y-8" phx-target={@myself} phx-change="validate" phx-submit="save"> - Page settings - <.input field={f[:path]} type="text" label="Path" class="!text-red-500" /> - <.input field={f[:title]} type="text" label="Title" /> - <.input field={f[:description]} type="textarea" label="Description" /> - <.input field={f[:layout_id]} type="select" options={layouts_to_options(@layouts)} label="Layout" /> - <.input field={f[:format]} type="select" label="Format" options={template_format_options(@site)} /> - - - <%= for mod <- extra_page_fields(@site) do %> - <%= extra_page_field(@site, @extra_fields, mod) %> - <% end %> - -
    -
    - <%= template_error(@form[:template]) %> -
    - @language})} /> + <%= if @visual_mode do %> + <.svelte name="components/UiBuilder" class="relative overflow-x-hidden" props={%{components: @components, page: @builder_page}} socket={@socket} /> + <% else %> +
    +
    +
    + <.form :let={f} for={@form} id="page-form" class="space-y-8" phx-target={@myself} phx-change="validate" phx-submit="save"> + Page settings + <.input field={f[:path]} type="text" label="Path" class="!text-red-500" /> + <.input field={f[:title]} type="text" label="Title" /> + <.input field={f[:description]} type="textarea" label="Description" /> + <.input field={f[:layout_id]} type="select" options={layouts_to_options(@layouts)} label="Layout" /> + <.input field={f[:format]} type="select" label="Format" options={template_format_options(@site)} /> + + + <%= for mod <- extra_page_fields(@site) do %> + <%= extra_page_field(@site, @extra_fields, mod) %> + <% end %> + +
    +
    + <%= template_error(@form[:template]) %> +
    + @language})} /> +
    -
    + <% end %>
    """ end diff --git a/lib/beacon/live_admin/live/page_editor_live/new.ex b/lib/beacon/live_admin/live/page_editor_live/new.ex index ddab3800..8721228e 100644 --- a/lib/beacon/live_admin/live/page_editor_live/new.ex +++ b/lib/beacon/live_admin/live/page_editor_live/new.ex @@ -15,7 +15,10 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do end defp assigns(socket) do - assign(socket, page_title: "Create New Page", page: %Content.Page{path: "", site: socket.assigns.beacon_page.site}) + assign(socket, + page_title: "Create New Page", + page: %Content.Page{path: "", site: socket.assigns.beacon_page.site} + ) end @impl true diff --git a/lib/beacon/live_admin/web_api/component.ex b/lib/beacon/live_admin/web_api/component.ex index ddbf1fe4..11029086 100644 --- a/lib/beacon/live_admin/web_api/component.ex +++ b/lib/beacon/live_admin/web_api/component.ex @@ -9,6 +9,9 @@ defmodule Beacon.LiveAdmin.WebAPI.Component do path = for segment <- String.split(page.path, "/"), segment != "", do: segment # beacon_live_data = Beacon.DataSource.live_data(site, path, []) beacon_live_data = call(site, Beacon.DataSource, :live_data, [site, path, []]) - call(site, BeaconWeb.API.ComponentJSON, :show_ast, [%{component: component, assigns: %{beacon_live_data: beacon_live_data}}]) + + call(site, BeaconWeb.API.ComponentJSON, :show_ast, [ + %{component: component, assigns: %{beacon_live_data: beacon_live_data}} + ]) end end From 0beffea456301fc81cb68cc2632010c5fd1f08bf Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Fri, 10 Nov 2023 11:35:15 -0500 Subject: [PATCH 005/141] temp workaround to unblock new pages --- lib/beacon/live_admin/live/page_editor_live/form_component.ex | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index a9dae422..b2096d16 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -9,9 +9,11 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do def update(%{site: site, page: page} = assigns, socket) do # FIXME: new pages page = Map.put_new(page, :path, "/") + page = Map.put(page, :template, "
    FIXME
    ") changeset = Content.change_page(site, page) layouts = Content.list_layouts(site) + %{data: builder_page} = WebAPI.Page.show(site, page) {:ok, @@ -22,6 +24,8 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do |> assign(:language, language(page.format)) |> assign(:template, page.template) |> assign(:changed_template, page.template) + |> assign(:builder_page, builder_page) + |> assign_new(:visual_mode, fn -> false end) |> assign_extra_fields(changeset)} end From 5901995d4ee5acad6f42a96ae6355a1d88262d45 Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Fri, 10 Nov 2023 11:43:50 -0500 Subject: [PATCH 006/141] update Beacon to handle nil templates --- lib/beacon/live_admin/live/page_editor_live/edit.ex | 3 ++- lib/beacon/live_admin/live/page_editor_live/form_component.ex | 1 - mix.lock | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/edit.ex b/lib/beacon/live_admin/live/page_editor_live/edit.ex index c663d84d..475fa0fe 100644 --- a/lib/beacon/live_admin/live/page_editor_live/edit.ex +++ b/lib/beacon/live_admin/live/page_editor_live/edit.ex @@ -77,7 +77,8 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do {:ok, page} -> {:noreply, assign(socket, :page, page)} - {:error, changeset} -> + # FIXME: handle update ast error + {:error, _changeset} -> throw("How should we handle this?") end end diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index b2096d16..a16c34d7 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -9,7 +9,6 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do def update(%{site: site, page: page} = assigns, socket) do # FIXME: new pages page = Map.put_new(page, :path, "/") - page = Map.put(page, :template, "
    FIXME
    ") changeset = Content.change_page(site, page) layouts = Content.list_layouts(site) diff --git a/mix.lock b/mix.lock index 61685a52..aa091717 100644 --- a/mix.lock +++ b/mix.lock @@ -1,6 +1,6 @@ %{ "accent": {:hex, :accent, "1.1.1", "20257356446d45078b19b91608f74669b407b39af891ee3db9ee6824d1cae19d", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:plug, "~> 1.3", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "6d5afa50d4886e3370e04fa501468cbaa6c4b5fe926f72ccfa844ad9e259adae"}, - "beacon": {:git, "https://github.com/beaconCMS/beacon.git", "4fa1eca70e84ca7157b0e5dcbb4cc60f9f10b25f", []}, + "beacon": {:git, "https://github.com/beaconCMS/beacon.git", "62ca0592234b7a90f4dc36bf019e523ff9f27c56", []}, "castore": {:hex, :castore, "1.0.4", "ff4d0fb2e6411c0479b1d965a814ea6d00e51eb2f58697446e9c41a97d940b28", [:mix], [], "hexpm", "9418c1b8144e11656f0be99943db4caf04612e3eaecefb5dae9a2a87565584f8"}, "cc_precompiler": {:hex, :cc_precompiler, "0.1.7", "77de20ac77f0e53f20ca82c563520af0237c301a1ec3ab3bc598e8a96c7ee5d9", [:mix], [{:elixir_make, "~> 0.7.3", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "2768b28bf3c2b4f788c995576b39b8cb5d47eb788526d93bd52206c1d8bf4b75"}, "cowboy": {:hex, :cowboy, "2.10.0", "ff9ffeff91dae4ae270dd975642997afe2a1179d94b1887863e43f681a203e26", [:make, :rebar3], [{:cowlib, "2.12.1", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "3afdccb7183cc6f143cb14d3cf51fa00e53db9ec80cdcd525482f5e99bc41d6b"}, From 67e8505410e23e6b45abc0d0000493af67d7d50c Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Fri, 10 Nov 2023 21:32:43 +0100 Subject: [PATCH 007/141] Almost working but not yet --- .../live/page_editor_live/form_component.ex | 5 ++--- .../live_admin/live/page_editor_live/new.ex | 20 ++++++++++++++++++- 2 files changed, 21 insertions(+), 4 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index a16c34d7..fd696751 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -7,7 +7,6 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do @impl true def update(%{site: site, page: page} = assigns, socket) do - # FIXME: new pages page = Map.put_new(page, :path, "/") changeset = Content.change_page(site, page) @@ -132,8 +131,8 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do <%= @page_title %> <:actions> <.button :if={@live_action == :new} phx-disable-with="Saving..." form="page-form" class="uppercase">Create Draft Page - <.button :if={@live_action == :edit && !@visual_mode} phx-click="enable_visual_mode" form="page-form" class="uppercase">Visual Editor - <.button :if={@live_action == :edit && @visual_mode} phx-click="disable_visual_mode" form="page-form" class="uppercase">Code Editor + <.button :if={!@visual_mode} phx-click="enable_visual_mode" form="page-form" class="uppercase">Visual Editor + <.button :if={@visual_mode} phx-click="disable_visual_mode" form="page-form" class="uppercase">Code Editor <.button :if={@live_action == :edit} phx-disable-with="Saving..." form="page-form" class="uppercase">Save Changes <.button :if={@live_action == :edit} phx-click={show_modal("publish-confirm-modal")} phx-target={@myself} class="uppercase">Publish diff --git a/lib/beacon/live_admin/live/page_editor_live/new.ex b/lib/beacon/live_admin/live/page_editor_live/new.ex index 8721228e..f1ff8a63 100644 --- a/lib/beacon/live_admin/live/page_editor_live/new.ex +++ b/lib/beacon/live_admin/live/page_editor_live/new.ex @@ -3,6 +3,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do use Beacon.LiveAdmin.PageBuilder alias Beacon.Content + alias Beacon.LiveAdmin.WebAPI @impl true @spec menu_link(any(), any()) :: :skip | {:submenu, <<_::40>>} @@ -11,12 +12,18 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do @impl true def handle_params(_params, _url, socket) do - {:noreply, assigns(socket)} + %{data: components} = + BeaconWeb.API.ComponentJSON.index(%{ + components: Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) + }) + + {:noreply, assign(socket, components: components)} end defp assigns(socket) do assign(socket, page_title: "Create New Page", + visual_mode: true, page: %Content.Page{path: "", site: socket.assigns.beacon_page.site} ) end @@ -31,6 +38,16 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do {:noreply, socket} end + @impl true + def handle_event("enable_visual_mode", _args, socket) do + {:noreply, assign(socket, visual_mode: true)} + end + + @impl true + def handle_event("disable_visual_mode", _args, socket) do + {:noreply, assign(socket, visual_mode: false)} + end + @impl true def render(assigns) do ~H""" @@ -39,6 +56,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do id="page-editor-form-new" site={@beacon_page.site} page_title={@page_title} + visual_mode={@visual_mode} live_action={@live_action} page={@page} patch="/pages" From 1db4c3afcfef4d08645b65531e824b3ef0e861c7 Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Fri, 10 Nov 2023 22:39:53 +0100 Subject: [PATCH 008/141] Page renders, but I can't get the components --- .../live_admin/live/page_editor_live/new.ex | 21 +++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/new.ex b/lib/beacon/live_admin/live/page_editor_live/new.ex index f1ff8a63..da5e68cf 100644 --- a/lib/beacon/live_admin/live/page_editor_live/new.ex +++ b/lib/beacon/live_admin/live/page_editor_live/new.ex @@ -12,19 +12,27 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do @impl true def handle_params(_params, _url, socket) do + {:noreply, assigns(socket)} + end + + defp assigns(socket) do %{data: components} = BeaconWeb.API.ComponentJSON.index(%{ - components: Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) + components: [] # Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) }) - {:noreply, assign(socket, components: components)} - end - - defp assigns(socket) do assign(socket, page_title: "Create New Page", visual_mode: true, - page: %Content.Page{path: "", site: socket.assigns.beacon_page.site} + components: components, + page: %Content.Page{ + path: "", + site: socket.assigns.beacon_page.site, + layout: %Content.Layout{ + template: "", + site: socket.assigns.beacon_page.site + } + } ) end @@ -57,6 +65,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do site={@beacon_page.site} page_title={@page_title} visual_mode={@visual_mode} + components={@components} live_action={@live_action} page={@page} patch="/pages" From 2253e6e7dfbf76f25952663f8bc914e22800bad3 Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Fri, 1 Dec 2023 17:10:05 +0100 Subject: [PATCH 009/141] Fix extra div after merge conflict --- lib/beacon/live_admin/live/page_editor_live/form_component.ex | 1 - 1 file changed, 1 deletion(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index fd696751..b7e948db 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -167,7 +167,6 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do <.svelte name="components/UiBuilder" class="relative overflow-x-hidden" props={%{components: @components, page: @builder_page}} socket={@socket} /> <% else %>
    -
    <.form :let={f} for={@form} id="page-form" class="space-y-8" phx-target={@myself} phx-change="validate" phx-submit="save"> Page settings From 83e66d1959dcb4c0f69257ae88a14bf3b69f3b7e Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Fri, 1 Dec 2023 18:03:19 +0100 Subject: [PATCH 010/141] Components load --- lib/beacon/live_admin/live/page_editor_live/edit.ex | 11 ++++------- lib/beacon/live_admin/live/page_editor_live/new.ex | 12 +++++------- 2 files changed, 9 insertions(+), 14 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/edit.ex b/lib/beacon/live_admin/live/page_editor_live/edit.ex index 475fa0fe..eab44f25 100644 --- a/lib/beacon/live_admin/live/page_editor_live/edit.ex +++ b/lib/beacon/live_admin/live/page_editor_live/edit.ex @@ -1,7 +1,6 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do @moduledoc false - require Logger require IEx use Beacon.LiveAdmin.PageBuilder alias Beacon.LiveAdmin.Content @@ -13,18 +12,16 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do @impl true def mount(_params, _session, socket) do - components = Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) - {:ok, assign(socket, page: nil, visual_mode: true, components: components)} + component_records = Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) + {:ok, assign(socket, page: nil, visual_mode: true, components: component_records)} end @impl true def handle_params(%{"id" => id}, _url, socket) do page = Content.get_page(socket.assigns.beacon_page.site, id, preloads: [:layout]) + component_records = Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) - %{data: components} = - BeaconWeb.API.ComponentJSON.index(%{ - components: Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) - }) + %{data: components} = BeaconWeb.API.ComponentJSON.index(%{ components: component_records }) {:noreply, assign(socket, diff --git a/lib/beacon/live_admin/live/page_editor_live/new.ex b/lib/beacon/live_admin/live/page_editor_live/new.ex index da5e68cf..02eb903a 100644 --- a/lib/beacon/live_admin/live/page_editor_live/new.ex +++ b/lib/beacon/live_admin/live/page_editor_live/new.ex @@ -2,7 +2,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do @moduledoc false use Beacon.LiveAdmin.PageBuilder - alias Beacon.Content + alias Beacon.LiveAdmin.Content alias Beacon.LiveAdmin.WebAPI @impl true @@ -16,19 +16,17 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do end defp assigns(socket) do - %{data: components} = - BeaconWeb.API.ComponentJSON.index(%{ - components: [] # Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) - }) + component_records = Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) + %{data: components} = BeaconWeb.API.ComponentJSON.index(%{components: component_records}) assign(socket, page_title: "Create New Page", visual_mode: true, components: components, - page: %Content.Page{ + page: %Beacon.Content.Page{ path: "", site: socket.assigns.beacon_page.site, - layout: %Content.Layout{ + layout: %Beacon.Content.Layout{ template: "", site: socket.assigns.beacon_page.site } From 4b115ae7588a62f6337c2964db1c536ffb35e23b Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Fri, 1 Dec 2023 21:16:55 +0100 Subject: [PATCH 011/141] Visual editor works on both new and edit pages --- assets/svelte/components/PagePreview.svelte | 1 - lib/beacon/live_admin/content.ex | 4 ++++ .../live_admin/live/page_editor_live/new.ex | 21 ++++++++++++++++++- 3 files changed, 24 insertions(+), 2 deletions(-) diff --git a/assets/svelte/components/PagePreview.svelte b/assets/svelte/components/PagePreview.svelte index 608756fe..264bda13 100644 --- a/assets/svelte/components/PagePreview.svelte +++ b/assets/svelte/components/PagePreview.svelte @@ -22,7 +22,6 @@ if ($slotTargetElement.attrs.selfClose) return; addBasicComponentToTarget($slotTargetElement); } else { - debugger; live.pushEvent("render_component_in_page", { component_id: $draggedObject.id, page_id: $page.id }, ({ast}: { ast: AstNode[] }) => { // This appends at the end. We might want at the beginning, or in a specific position live.pushEvent("update_page_ast", { id: $page.id, ast: [...$page.ast, ...ast] }); diff --git a/lib/beacon/live_admin/content.ex b/lib/beacon/live_admin/content.ex index 82fa2db8..168cbab5 100644 --- a/lib/beacon/live_admin/content.ex +++ b/lib/beacon/live_admin/content.ex @@ -73,6 +73,10 @@ defmodule Beacon.LiveAdmin.Content do call(site, Beacon.Content, :update_page, [page, attrs]) end + def set_page_ast(site, page, ast) do + call(site, Beacon.Content, :set_page_ast, [page, ast]) + end + def publish_page(site, id) do call(site, Beacon.Content, :publish_page, [id]) end diff --git a/lib/beacon/live_admin/live/page_editor_live/new.ex b/lib/beacon/live_admin/live/page_editor_live/new.ex index 02eb903a..0bc70de1 100644 --- a/lib/beacon/live_admin/live/page_editor_live/new.ex +++ b/lib/beacon/live_admin/live/page_editor_live/new.ex @@ -27,7 +27,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do path: "", site: socket.assigns.beacon_page.site, layout: %Beacon.Content.Layout{ - template: "", + template: "<%= @inner_content %>", site: socket.assigns.beacon_page.site } } @@ -54,6 +54,25 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do {:noreply, assign(socket, visual_mode: false)} end + @impl true + def handle_event( + "render_component_in_page", + %{"component_id" => component_id}, + socket + ) do + component = Content.get_component(socket.assigns.beacon_page.site, component_id) + + %{data: %{ast: ast}} = + WebAPI.Component.show_ast(socket.assigns.beacon_page.site, component, socket.assigns.page) + {:reply, %{"ast" => ast}, socket} + end + + + def handle_event("update_page_ast", %{"id" => id, "ast" => ast}, socket) do + page = Content.set_page_ast(socket.assigns.beacon_page.site, socket.assigns.page, ast) + {:noreply, assign(socket, :page, page)} + end + @impl true def render(assigns) do ~H""" From b10a4d02a8090f25157ca372b7996394053b57a1 Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Fri, 15 Dec 2023 18:29:33 +0100 Subject: [PATCH 012/141] Changes in visual model are saved to the URL --- .../live_admin/live/page_editor_live/edit.ex | 16 ++++++++++------ .../live_admin/live/page_editor_live/new.ex | 17 +++++++++++------ 2 files changed, 21 insertions(+), 12 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/edit.ex b/lib/beacon/live_admin/live/page_editor_live/edit.ex index eab44f25..03757ced 100644 --- a/lib/beacon/live_admin/live/page_editor_live/edit.ex +++ b/lib/beacon/live_admin/live/page_editor_live/edit.ex @@ -11,13 +11,13 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do def menu_link(_, _), do: :skip @impl true - def mount(_params, _session, socket) do + def mount(params, _session, socket) do component_records = Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) - {:ok, assign(socket, page: nil, visual_mode: true, components: component_records)} + {:ok, assign(socket, page: nil, visual_mode: params["visual_mode"] === "true", components: component_records)} end @impl true - def handle_params(%{"id" => id}, _url, socket) do + def handle_params(%{"id" => id } = params, _url, socket) do page = Content.get_page(socket.assigns.beacon_page.site, id, preloads: [:layout]) component_records = Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) @@ -27,7 +27,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do assign(socket, page_title: "Edit Page", page: page, - visual_mode: false, + visual_mode: params["visual_mode"] === "true", components: components )} end @@ -44,12 +44,16 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do @impl true def handle_event("enable_visual_mode", _args, socket) do - {:noreply, assign(socket, visual_mode: true)} + socket = assign(socket, visual_mode: true) + path = Beacon.LiveAdmin.Router.beacon_live_admin_path(socket, socket.assigns.beacon_page.site, "/pages/#{socket.assigns.page.id}", %{visual_mode: "true"}) + {:noreply, push_patch(socket, to: path)} end @impl true def handle_event("disable_visual_mode", _args, socket) do - {:noreply, assign(socket, visual_mode: false)} + socket = assign(socket, visual_mode: false) + path = Beacon.LiveAdmin.Router.beacon_live_admin_path(socket, socket.assigns.beacon_page.site, "/pages/#{socket.assigns.page.id}") + {:noreply, push_patch(socket, to: path)} end @impl true diff --git a/lib/beacon/live_admin/live/page_editor_live/new.ex b/lib/beacon/live_admin/live/page_editor_live/new.ex index 0bc70de1..fe99309b 100644 --- a/lib/beacon/live_admin/live/page_editor_live/new.ex +++ b/lib/beacon/live_admin/live/page_editor_live/new.ex @@ -11,17 +11,17 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do def menu_link(_, _), do: :skip @impl true - def handle_params(_params, _url, socket) do - {:noreply, assigns(socket)} + def handle_params(params, _url, socket) do + {:noreply, assigns(socket, params)} end - defp assigns(socket) do + defp assigns(socket, params \\ %{}) do component_records = Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) %{data: components} = BeaconWeb.API.ComponentJSON.index(%{components: component_records}) assign(socket, page_title: "Create New Page", - visual_mode: true, + visual_mode: params["visual_mode"] === "true", components: components, page: %Beacon.Content.Page{ path: "", @@ -46,14 +46,19 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do @impl true def handle_event("enable_visual_mode", _args, socket) do - {:noreply, assign(socket, visual_mode: true)} + socket = assign(socket, visual_mode: true) + path = Beacon.LiveAdmin.Router.beacon_live_admin_path(socket, socket.assigns.beacon_page.site, "/pages/new", %{visual_mode: "true"}) + {:noreply, push_patch(socket, to: path)} end @impl true def handle_event("disable_visual_mode", _args, socket) do - {:noreply, assign(socket, visual_mode: false)} + socket = assign(socket, visual_mode: false) + path = Beacon.LiveAdmin.Router.beacon_live_admin_path(socket, socket.assigns.beacon_page.site, "/pages/new") + {:noreply, push_patch(socket, to: path)} end + @impl true def handle_event( "render_component_in_page", From 9741cf371add911a31a47e54abc98cf5abf9359a Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Fri, 15 Dec 2023 20:31:34 +0100 Subject: [PATCH 013/141] Save form data when changing between visual editor and code editor --- .../live_admin/live/page_editor_live/form_component.ex | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index b7e948db..eeb241dd 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -9,11 +9,15 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do def update(%{site: site, page: page} = assigns, socket) do page = Map.put_new(page, :path, "/") - changeset = Content.change_page(site, page) + changeset = case socket.assigns do + %{form: form} -> + form.source + _ -> + Content.change_page(site, page) + end layouts = Content.list_layouts(site) %{data: builder_page} = WebAPI.Page.show(site, page) - {:ok, socket |> assign(assigns) From 901685a53b57eb58fa1d192126e94cc18101c1ce Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Fri, 15 Dec 2023 16:44:49 -0300 Subject: [PATCH 014/141] move visual mode handle event to the current process --- .../live/page_editor_live/form_component.ex | 12 ++++++++++-- lib/beacon/live_admin/live/page_editor_live/new.ex | 10 ---------- 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index b7e948db..23886417 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -83,6 +83,14 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do end end + def handle_event("enable_visual_mode", _args, socket) do + {:noreply, assign(socket, visual_mode: true)} + end + + def handle_event("disable_visual_mode", _args, socket) do + {:noreply, assign(socket, visual_mode: false)} + end + defp save_page(socket, :new, page_params) do case Content.create_page(socket.assigns.site, page_params) do {:ok, page} -> @@ -131,8 +139,8 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do <%= @page_title %> <:actions> <.button :if={@live_action == :new} phx-disable-with="Saving..." form="page-form" class="uppercase">Create Draft Page - <.button :if={!@visual_mode} phx-click="enable_visual_mode" form="page-form" class="uppercase">Visual Editor - <.button :if={@visual_mode} phx-click="disable_visual_mode" form="page-form" class="uppercase">Code Editor + <.button :if={!@visual_mode} phx-click="enable_visual_mode" phx-target={@myself} form="page-form" class="uppercase">Visual Editor + <.button :if={@visual_mode} phx-click="disable_visual_mode" phx-target={@myself} form="page-form" class="uppercase">Code Editor <.button :if={@live_action == :edit} phx-disable-with="Saving..." form="page-form" class="uppercase">Save Changes <.button :if={@live_action == :edit} phx-click={show_modal("publish-confirm-modal")} phx-target={@myself} class="uppercase">Publish diff --git a/lib/beacon/live_admin/live/page_editor_live/new.ex b/lib/beacon/live_admin/live/page_editor_live/new.ex index 0bc70de1..2bf8b724 100644 --- a/lib/beacon/live_admin/live/page_editor_live/new.ex +++ b/lib/beacon/live_admin/live/page_editor_live/new.ex @@ -44,16 +44,6 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do {:noreply, socket} end - @impl true - def handle_event("enable_visual_mode", _args, socket) do - {:noreply, assign(socket, visual_mode: true)} - end - - @impl true - def handle_event("disable_visual_mode", _args, socket) do - {:noreply, assign(socket, visual_mode: false)} - end - @impl true def handle_event( "render_component_in_page", From 2a922325cd4fe84e9c57d98b049f9e82411084ab Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Mon, 8 Jan 2024 10:29:47 -0300 Subject: [PATCH 015/141] generate the current stylesheet for the page being edited using the site configuration --- lib/beacon/live_admin/components/layouts.ex | 16 ++++++++++++++++ .../components/layouts/admin.html.heex | 2 -- .../live/page_editor_live/form_component.ex | 4 ++++ lib/beacon/live_admin/runtime_css.ex | 7 +++++++ 4 files changed, 27 insertions(+), 2 deletions(-) create mode 100644 lib/beacon/live_admin/runtime_css.ex diff --git a/lib/beacon/live_admin/components/layouts.ex b/lib/beacon/live_admin/components/layouts.ex index a7f86cf3..69e6b60e 100644 --- a/lib/beacon/live_admin/components/layouts.ex +++ b/lib/beacon/live_admin/components/layouts.ex @@ -1,4 +1,6 @@ defmodule Beacon.LiveAdmin.Layouts do + @moduledoc false + use Beacon.LiveAdmin.Web, :html embed_templates "layouts/*" @@ -12,6 +14,20 @@ defmodule Beacon.LiveAdmin.Layouts do Phoenix.VerifiedRoutes.unverified_path(conn_or_socket, router(conn_or_socket), path) end + def page_stylesheet(site, template) do + case Beacon.LiveAdmin.RuntimeCSS.compile(site, template) do + {:ok, stylesheet} -> + stylesheet + + {:error, error} -> + """ + Failed to generate the page stylesheet: + + #{inspect(error)} + """ + end + end + defp router(%Plug.Conn{private: %{phoenix_router: router}}), do: router defp router(%Phoenix.LiveView.Socket{router: router}), do: router end diff --git a/lib/beacon/live_admin/components/layouts/admin.html.heex b/lib/beacon/live_admin/components/layouts/admin.html.heex index 83973607..06957b8e 100644 --- a/lib/beacon/live_admin/components/layouts/admin.html.heex +++ b/lib/beacon/live_admin/components/layouts/admin.html.heex @@ -6,8 +6,6 @@ <%= assigns[:page_title] || "Beacon LiveAdmin" %> - diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index 69faa9c2..62cc8a25 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -137,6 +137,10 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do def render(assigns) do ~H"""
    + + <.header> diff --git a/lib/beacon/live_admin/runtime_css.ex b/lib/beacon/live_admin/runtime_css.ex new file mode 100644 index 00000000..0cd7bac5 --- /dev/null +++ b/lib/beacon/live_admin/runtime_css.ex @@ -0,0 +1,7 @@ +defmodule Beacon.LiveAdmin.RuntimeCSS do + import Beacon.LiveAdmin.Cluster, only: [call: 4] + + def compile(site, template) when is_atom(site) and is_binary(template) do + call(site, Beacon.RuntimeCSS, :compile, [site, template]) + end +end From 8b4a9a76ddcd162e4bc3cb6e111a25af19257673 Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Wed, 10 Jan 2024 15:11:56 -0300 Subject: [PATCH 016/141] small fixes --- .../live/page_editor_live/form_component.ex | 139 +++++++++--------- 1 file changed, 70 insertions(+), 69 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index 62cc8a25..7ded8261 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -87,11 +87,11 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do end end - def handle_event("enable_visual_mode", _args, socket) do + def handle_event("enable_visual_mode", _params, socket) do {:noreply, assign(socket, visual_mode: true)} end - def handle_event("disable_visual_mode", _args, socket) do + def handle_event("disable_visual_mode", _params, socket) do {:noreply, assign(socket, visual_mode: false)} end @@ -133,13 +133,54 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do assign(socket, :form, to_form(changeset)) end + defp assign_extra_fields(socket, changeset) do + params = Ecto.Changeset.get_field(changeset, :extra) + + extra_fields = + Content.page_extra_fields( + socket.assigns.site, + socket.assigns.form, + params, + changeset.errors + ) + + assign(socket, :extra_fields, extra_fields) + end + + defp layouts_to_options(layouts) do + Enum.map(layouts, &{&1.title, &1.id}) + end + + defp template_format_options(site) do + template_formats = Config.template_formats(site) + + Keyword.new(template_formats, fn {identifier, description} -> + {String.to_atom(description), identifier} + end) + end + + defp language("heex" = _format), do: "html" + defp language(:heex), do: "html" + defp language(format), do: to_string(format) + + defp extra_page_fields(site), do: Config.extra_page_fields(site) + + defp extra_page_field(site, extra_fields, mod) do + env = __ENV__ + name = Content.page_field_name(site, mod) + html = Content.render_page_field(site, mod, extra_fields[name], env) + {:safe, html} + end + + defp compile_stylesheet(%{site: site, template: template}) when is_binary(template), do: Beacon.LiveAdmin.Layouts.page_stylesheet(site, template) + defp compile_stylesheet(%{site: _, template: _}), do: "" + + @impl true def render(assigns) do ~H"""
    - + @@ -179,73 +220,33 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do
    - <%= if @visual_mode do %> - <.svelte name="components/UiBuilder" class="relative overflow-x-hidden" props={%{components: @components, page: @builder_page}} socket={@socket} /> - <% else %> -
    -
    - <.form :let={f} for={@form} id="page-form" class="space-y-8" phx-target={@myself} phx-change="validate" phx-submit="save"> - Page settings - <.input field={f[:path]} type="text" label="Path" class="!text-red-500" /> - <.input field={f[:title]} type="text" label="Title" /> - <.input field={f[:description]} type="textarea" label="Description" /> - <.input field={f[:layout_id]} type="select" options={layouts_to_options(@layouts)} label="Layout" /> - <.input field={f[:format]} type="select" label="Format" options={template_format_options(@site)} /> - - - <%= for mod <- extra_page_fields(@site) do %> - <%= extra_page_field(@site, @extra_fields, mod) %> - <% end %> - -
    -
    - <%= template_error(@form[:template]) %> -
    - @language})} /> -
    + <.svelte :if={@visual_mode} name="components/UiBuilder" class="relative overflow-x-hidden" props={%{components: @components, page: @builder_page}} socket={@socket} /> + +
    +
    + <.form :let={f} for={@form} id="page-form" class="space-y-8" phx-target={@myself} phx-change="validate" phx-submit="save"> + Page settings + <.input field={f[:path]} type="text" label="Path" class="!text-red-500" /> + <.input field={f[:title]} type="text" label="Title" /> + <.input field={f[:description]} type="textarea" label="Description" /> + <.input field={f[:layout_id]} type="select" options={layouts_to_options(@layouts)} label="Layout" /> + <.input field={f[:format]} type="select" label="Format" options={template_format_options(@site)} /> + + + <%= for mod <- extra_page_fields(@site) do %> + <%= extra_page_field(@site, @extra_fields, mod) %> + <% end %> + +
    +
    + <%= template_error(@form[:template]) %> +
    + @language})} />
    - <% end %> +
    +
    """ end - - defp assign_extra_fields(socket, changeset) do - params = Ecto.Changeset.get_field(changeset, :extra) - - extra_fields = - Content.page_extra_fields( - socket.assigns.site, - socket.assigns.form, - params, - changeset.errors - ) - - assign(socket, :extra_fields, extra_fields) - end - - defp layouts_to_options(layouts) do - Enum.map(layouts, &{&1.title, &1.id}) - end - - defp template_format_options(site) do - template_formats = Config.template_formats(site) - - Keyword.new(template_formats, fn {identifier, description} -> - {String.to_atom(description), identifier} - end) - end - - defp language("heex" = _format), do: "html" - defp language(:heex), do: "html" - defp language(format), do: to_string(format) - - defp extra_page_fields(site), do: Config.extra_page_fields(site) - - defp extra_page_field(site, extra_fields, mod) do - env = __ENV__ - name = Content.page_field_name(site, mod) - html = Content.render_page_field(site, mod, extra_fields[name], env) - {:safe, html} - end end From 5cc028d023da3941bfbc1dba5c42902045e124ba Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Wed, 10 Jan 2024 15:20:40 -0300 Subject: [PATCH 017/141] mix format --- .../live_admin/live/page_editor_live/edit.ex | 38 +++++++++++++++---- .../live/page_editor_live/form_component.ex | 26 ++++++++----- .../live_admin/live/page_editor_live/new.ex | 6 ++- 3 files changed, 51 insertions(+), 19 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/edit.ex b/lib/beacon/live_admin/live/page_editor_live/edit.ex index 03757ced..4b1f9db1 100644 --- a/lib/beacon/live_admin/live/page_editor_live/edit.ex +++ b/lib/beacon/live_admin/live/page_editor_live/edit.ex @@ -12,16 +12,25 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do @impl true def mount(params, _session, socket) do - component_records = Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) - {:ok, assign(socket, page: nil, visual_mode: params["visual_mode"] === "true", components: component_records)} + component_records = + Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) + + {:ok, + assign(socket, + page: nil, + visual_mode: params["visual_mode"] === "true", + components: component_records + )} end @impl true - def handle_params(%{"id" => id } = params, _url, socket) do + def handle_params(%{"id" => id} = params, _url, socket) do page = Content.get_page(socket.assigns.beacon_page.site, id, preloads: [:layout]) - component_records = Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) - %{data: components} = BeaconWeb.API.ComponentJSON.index(%{ components: component_records }) + component_records = + Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) + + %{data: components} = BeaconWeb.API.ComponentJSON.index(%{components: component_records}) {:noreply, assign(socket, @@ -45,14 +54,29 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do @impl true def handle_event("enable_visual_mode", _args, socket) do socket = assign(socket, visual_mode: true) - path = Beacon.LiveAdmin.Router.beacon_live_admin_path(socket, socket.assigns.beacon_page.site, "/pages/#{socket.assigns.page.id}", %{visual_mode: "true"}) + + path = + Beacon.LiveAdmin.Router.beacon_live_admin_path( + socket, + socket.assigns.beacon_page.site, + "/pages/#{socket.assigns.page.id}", + %{visual_mode: "true"} + ) + {:noreply, push_patch(socket, to: path)} end @impl true def handle_event("disable_visual_mode", _args, socket) do socket = assign(socket, visual_mode: false) - path = Beacon.LiveAdmin.Router.beacon_live_admin_path(socket, socket.assigns.beacon_page.site, "/pages/#{socket.assigns.page.id}") + + path = + Beacon.LiveAdmin.Router.beacon_live_admin_path( + socket, + socket.assigns.beacon_page.site, + "/pages/#{socket.assigns.page.id}" + ) + {:noreply, push_patch(socket, to: path)} end diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index 7ded8261..a367f6d9 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -9,15 +9,19 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do def update(%{site: site, page: page} = assigns, socket) do page = Map.put_new(page, :path, "/") - changeset = case socket.assigns do - %{form: form} -> - form.source - _ -> - Content.change_page(site, page) - end + changeset = + case socket.assigns do + %{form: form} -> + form.source + + _ -> + Content.change_page(site, page) + end + layouts = Content.list_layouts(site) %{data: builder_page} = WebAPI.Page.show(site, page) + {:ok, socket |> assign(assigns) @@ -172,15 +176,18 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do {:safe, html} end - defp compile_stylesheet(%{site: site, template: template}) when is_binary(template), do: Beacon.LiveAdmin.Layouts.page_stylesheet(site, template) - defp compile_stylesheet(%{site: _, template: _}), do: "" + defp compile_stylesheet(%{site: site, template: template}) when is_binary(template), + do: Beacon.LiveAdmin.Layouts.page_stylesheet(site, template) + defp compile_stylesheet(%{site: _, template: _}), do: "" @impl true def render(assigns) do ~H"""
    - + @@ -245,7 +252,6 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do
    -
    """ end diff --git a/lib/beacon/live_admin/live/page_editor_live/new.ex b/lib/beacon/live_admin/live/page_editor_live/new.ex index 1db8f565..a3560b47 100644 --- a/lib/beacon/live_admin/live/page_editor_live/new.ex +++ b/lib/beacon/live_admin/live/page_editor_live/new.ex @@ -16,7 +16,9 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do end defp assigns(socket, params \\ %{}) do - component_records = Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) + component_records = + Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) + %{data: components} = BeaconWeb.API.ComponentJSON.index(%{components: component_records}) assign(socket, @@ -54,10 +56,10 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do %{data: %{ast: ast}} = WebAPI.Component.show_ast(socket.assigns.beacon_page.site, component, socket.assigns.page) + {:reply, %{"ast" => ast}, socket} end - def handle_event("update_page_ast", %{"id" => id, "ast" => ast}, socket) do page = Content.set_page_ast(socket.assigns.beacon_page.site, socket.assigns.page, ast) {:noreply, assign(socket, :page, page)} From d3e1f578191fa11060cb5d9de99b5ef80cf4ac07 Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Thu, 11 Jan 2024 17:36:59 -0300 Subject: [PATCH 018/141] do not save the page on every change and preserve state --- .../live_admin/live/page_editor_live/edit.ex | 16 +++++-------- .../live/page_editor_live/form_component.ex | 24 +++++++++++++++++++ 2 files changed, 30 insertions(+), 10 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/edit.ex b/lib/beacon/live_admin/live/page_editor_live/edit.ex index 4b1f9db1..53c3da01 100644 --- a/lib/beacon/live_admin/live/page_editor_live/edit.ex +++ b/lib/beacon/live_admin/live/page_editor_live/edit.ex @@ -95,17 +95,13 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do {:reply, %{"ast" => ast}, socket} end - def handle_event("update_page_ast", %{"id" => id, "ast" => ast}, socket) do - page = Content.get_page(socket.assigns.beacon_page.site, id, preloads: [:layout]) - - case Content.update_page(socket.assigns.beacon_page.site, page, %{"ast" => ast}) do - {:ok, page} -> - {:noreply, assign(socket, :page, page)} + def handle_event("update_page_ast", %{"ast" => ast}, socket) do + send_update(Beacon.LiveAdmin.PageEditorLive.FormComponent, + id: "page-editor-form-edit", + ast: ast + ) - # FIXME: handle update ast error - {:error, _changeset} -> - throw("How should we handle this?") - end + {:noreply, socket} end @impl true diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index a367f6d9..c43e5909 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -4,6 +4,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do alias Beacon.LiveAdmin.Config alias Beacon.LiveAdmin.Content alias Beacon.LiveAdmin.WebAPI + alias Ecto.Changeset @impl true def update(%{site: site, page: page} = assigns, socket) do @@ -41,6 +42,29 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do {:ok, assign_form(socket, changeset)} end + def update(%{ast: ast}, socket) do + template = Beacon.Template.HEEx.HEExDecoder.decode(ast) + params = Map.merge(socket.assigns.form.params, %{"template" => template}) + changeset = Content.change_page(socket.assigns.site, socket.assigns.page, params) + + case Changeset.apply_action(changeset, :update) do + {:ok, page} -> + # TODO: remove web api + %{data: builder_page} = WebAPI.Page.show(page.site, page) + + {:ok, + socket + |> assign_form(changeset) + |> assign(:template, page.template) + |> assign(:changed_template, page.template) + |> assign(:builder_page, builder_page)} + + _ -> + # TODO: handle errors + {:ok, socket} + end + end + @impl true def handle_event( "validate", From 4356c49596588ccfd75c0f18e4beb9d1c7d5ba24 Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Thu, 11 Jan 2024 18:00:05 -0300 Subject: [PATCH 019/141] update ast (visual editor) after changes on the code editor --- .../live/page_editor_live/form_component.ex | 23 +++++++++++++++---- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index c43e5909..17b0c4d0 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -36,14 +36,16 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do |> assign_extra_fields(changeset)} end - def update(%{template: value}, socket) do - params = Map.merge(socket.assigns.form.params, %{"template" => value}) - changeset = Content.change_page(socket.assigns.site, socket.assigns.page, params) - {:ok, assign_form(socket, changeset)} + def update(%{template: template}, socket) do + update_template(socket, template) end def update(%{ast: ast}, socket) do template = Beacon.Template.HEEx.HEExDecoder.decode(ast) + update_template(socket, template) + end + + defp update_template(socket, template) do params = Map.merge(socket.assigns.form.params, %{"template" => template}) changeset = Content.change_page(socket.assigns.site, socket.assigns.page, params) @@ -66,6 +68,11 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do end @impl true + def handle_event("validate", %{"_target" => ["live_monaco_editor", "template"]}, socket) do + # ignore change events from the editor field + {:noreply, socket} + end + def handle_event( "validate", %{"_target" => ["page", "format"], "page" => page_params}, @@ -272,7 +279,13 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do
    <%= template_error(@form[:template]) %>
    - @language})} /> + @language})} + change="set_template" + />
    From 8ee661461bbc2f7bdaee2e6543ef1d54f83f77f5 Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Thu, 11 Jan 2024 18:10:55 -0300 Subject: [PATCH 020/141] remove unnecessary query param --- .../live_admin/live/page_editor_live/edit.ex | 37 +------------------ 1 file changed, 2 insertions(+), 35 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/edit.ex b/lib/beacon/live_admin/live/page_editor_live/edit.ex index 53c3da01..4f11de59 100644 --- a/lib/beacon/live_admin/live/page_editor_live/edit.ex +++ b/lib/beacon/live_admin/live/page_editor_live/edit.ex @@ -11,20 +11,19 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do def menu_link(_, _), do: :skip @impl true - def mount(params, _session, socket) do + def mount(_params, _session, socket) do component_records = Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) {:ok, assign(socket, page: nil, - visual_mode: params["visual_mode"] === "true", components: component_records )} end @impl true - def handle_params(%{"id" => id} = params, _url, socket) do + def handle_params(%{"id" => id}, _url, socket) do page = Content.get_page(socket.assigns.beacon_page.site, id, preloads: [:layout]) component_records = @@ -36,7 +35,6 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do assign(socket, page_title: "Edit Page", page: page, - visual_mode: params["visual_mode"] === "true", components: components )} end @@ -51,36 +49,6 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do {:noreply, socket} end - @impl true - def handle_event("enable_visual_mode", _args, socket) do - socket = assign(socket, visual_mode: true) - - path = - Beacon.LiveAdmin.Router.beacon_live_admin_path( - socket, - socket.assigns.beacon_page.site, - "/pages/#{socket.assigns.page.id}", - %{visual_mode: "true"} - ) - - {:noreply, push_patch(socket, to: path)} - end - - @impl true - def handle_event("disable_visual_mode", _args, socket) do - socket = assign(socket, visual_mode: false) - - path = - Beacon.LiveAdmin.Router.beacon_live_admin_path( - socket, - socket.assigns.beacon_page.site, - "/pages/#{socket.assigns.page.id}" - ) - - {:noreply, push_patch(socket, to: path)} - end - - @impl true def handle_event( "render_component_in_page", %{"component_id" => component_id, "page_id" => page_id}, @@ -113,7 +81,6 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do site={@beacon_page.site} page_title={@page_title} live_action={@live_action} - visual_mode={@visual_mode} components={@components} page={@page} patch="/pages" From 855063a16f968d62958efe4fff7073f519b5c2f9 Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Thu, 11 Jan 2024 18:13:15 -0300 Subject: [PATCH 021/141] clean up --- .../live_admin/live/page_editor_live/form_component.ex | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index 17b0c4d0..d209c395 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -8,6 +8,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do @impl true def update(%{site: site, page: page} = assigns, socket) do + # TODO: handle empty path in the json encoder page = Map.put_new(page, :path, "/") changeset = @@ -19,15 +20,13 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do Content.change_page(site, page) end - layouts = Content.list_layouts(site) - %{data: builder_page} = WebAPI.Page.show(site, page) {:ok, socket |> assign(assigns) |> assign_form(changeset) - |> assign(:layouts, layouts) + |> assign_new(:layouts, fn -> Content.list_layouts(site) end) |> assign(:language, language(page.format)) |> assign(:template, page.template) |> assign(:changed_template, page.template) From 646045eebf963d3c55e4c598e153c38ae3334d85 Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Thu, 11 Jan 2024 18:21:47 -0300 Subject: [PATCH 022/141] update New --- .../live/page_editor_live/form_component.ex | 2 +- .../live_admin/live/page_editor_live/new.ex | 43 +++++++++---------- 2 files changed, 22 insertions(+), 23 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index d209c395..57690ddd 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -224,9 +224,9 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do <.header> <%= @page_title %> <:actions> - <.button :if={@live_action == :new} phx-disable-with="Saving..." form="page-form" class="uppercase">Create Draft Page <.button :if={!@visual_mode} phx-click="enable_visual_mode" phx-target={@myself} form="page-form" class="uppercase">Visual Editor <.button :if={@visual_mode} phx-click="disable_visual_mode" phx-target={@myself} form="page-form" class="uppercase">Code Editor + <.button :if={@live_action == :new} phx-disable-with="Saving..." form="page-form" class="uppercase">Create Draft Page <.button :if={@live_action == :edit} phx-disable-with="Saving..." form="page-form" class="uppercase">Save Changes <.button :if={@live_action == :edit} phx-click={show_modal("publish-confirm-modal")} phx-target={@myself} class="uppercase">Publish diff --git a/lib/beacon/live_admin/live/page_editor_live/new.ex b/lib/beacon/live_admin/live/page_editor_live/new.ex index a3560b47..7f18a5f8 100644 --- a/lib/beacon/live_admin/live/page_editor_live/new.ex +++ b/lib/beacon/live_admin/live/page_editor_live/new.ex @@ -11,29 +11,25 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do def menu_link(_, _), do: :skip @impl true - def handle_params(params, _url, socket) do - {:noreply, assigns(socket, params)} - end - - defp assigns(socket, params \\ %{}) do + def handle_params(_params, _url, socket) do component_records = Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) %{data: components} = BeaconWeb.API.ComponentJSON.index(%{components: component_records}) - assign(socket, - page_title: "Create New Page", - visual_mode: params["visual_mode"] === "true", - components: components, - page: %Beacon.Content.Page{ - path: "", - site: socket.assigns.beacon_page.site, - layout: %Beacon.Content.Layout{ - template: "<%= @inner_content %>", - site: socket.assigns.beacon_page.site - } - } - ) + {:noreply, + assign(socket, + page_title: "Create New Page", + components: components, + page: %Beacon.Content.Page{ + path: "", + site: socket.assigns.beacon_page.site, + layout: %Beacon.Content.Layout{ + template: "<%= @inner_content %>", + site: socket.assigns.beacon_page.site + } + } + )} end @impl true @@ -60,9 +56,13 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do {:reply, %{"ast" => ast}, socket} end - def handle_event("update_page_ast", %{"id" => id, "ast" => ast}, socket) do - page = Content.set_page_ast(socket.assigns.beacon_page.site, socket.assigns.page, ast) - {:noreply, assign(socket, :page, page)} + def handle_event("update_page_ast", %{"ast" => ast}, socket) do + send_update(Beacon.LiveAdmin.PageEditorLive.FormComponent, + id: "page-editor-form-new", + ast: ast + ) + + {:noreply, socket} end @impl true @@ -73,7 +73,6 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do id="page-editor-form-new" site={@beacon_page.site} page_title={@page_title} - visual_mode={@visual_mode} components={@components} live_action={@live_action} page={@page} From 28fadb4b11c35c5cb4c5389c39267ee9f9735fa0 Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Thu, 11 Jan 2024 18:23:35 -0300 Subject: [PATCH 023/141] remove unused fn --- lib/beacon/live_admin/content.ex | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib/beacon/live_admin/content.ex b/lib/beacon/live_admin/content.ex index 168cbab5..82fa2db8 100644 --- a/lib/beacon/live_admin/content.ex +++ b/lib/beacon/live_admin/content.ex @@ -73,10 +73,6 @@ defmodule Beacon.LiveAdmin.Content do call(site, Beacon.Content, :update_page, [page, attrs]) end - def set_page_ast(site, page, ast) do - call(site, Beacon.Content, :set_page_ast, [page, ast]) - end - def publish_page(site, id) do call(site, Beacon.Content, :publish_page, [id]) end From 0e31412bd7f0bbfd8f2237cf3a8a033d25520d7b Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Thu, 11 Jan 2024 18:30:12 -0300 Subject: [PATCH 024/141] update beacon --- mix.lock | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.lock b/mix.lock index aa091717..a4a8bd81 100644 --- a/mix.lock +++ b/mix.lock @@ -1,6 +1,6 @@ %{ "accent": {:hex, :accent, "1.1.1", "20257356446d45078b19b91608f74669b407b39af891ee3db9ee6824d1cae19d", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:plug, "~> 1.3", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "6d5afa50d4886e3370e04fa501468cbaa6c4b5fe926f72ccfa844ad9e259adae"}, - "beacon": {:git, "https://github.com/beaconCMS/beacon.git", "62ca0592234b7a90f4dc36bf019e523ff9f27c56", []}, + "beacon": {:git, "https://github.com/beaconCMS/beacon.git", "d88e2f04bcc3bccd44567cf8167f4bce8faf660c", []}, "castore": {:hex, :castore, "1.0.4", "ff4d0fb2e6411c0479b1d965a814ea6d00e51eb2f58697446e9c41a97d940b28", [:mix], [], "hexpm", "9418c1b8144e11656f0be99943db4caf04612e3eaecefb5dae9a2a87565584f8"}, "cc_precompiler": {:hex, :cc_precompiler, "0.1.7", "77de20ac77f0e53f20ca82c563520af0237c301a1ec3ab3bc598e8a96c7ee5d9", [:mix], [{:elixir_make, "~> 0.7.3", [hex: :elixir_make, repo: "hexpm", optional: false]}], "hexpm", "2768b28bf3c2b4f788c995576b39b8cb5d47eb788526d93bd52206c1d8bf4b75"}, "cowboy": {:hex, :cowboy, "2.10.0", "ff9ffeff91dae4ae270dd975642997afe2a1179d94b1887863e43f681a203e26", [:make, :rebar3], [{:cowlib, "2.12.1", [hex: :cowlib, repo: "hexpm", optional: false]}, {:ranch, "1.8.0", [hex: :ranch, repo: "hexpm", optional: false]}], "hexpm", "3afdccb7183cc6f143cb14d3cf51fa00e53db9ec80cdcd525482f5e99bc41d6b"}, From ed0cac92938d8d5911f1003cc8800cb438210a21 Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Thu, 11 Jan 2024 18:37:37 -0300 Subject: [PATCH 025/141] make dialyzer happy --- .dialyzer_ignore.exs | 1 - mix.exs | 2 +- 2 files changed, 1 insertion(+), 2 deletions(-) diff --git a/.dialyzer_ignore.exs b/.dialyzer_ignore.exs index 1f8b4aa6..0d4f101c 100644 --- a/.dialyzer_ignore.exs +++ b/.dialyzer_ignore.exs @@ -1,3 +1,2 @@ [ - {"lib/beacon/live_admin/components.ex", :unknown_function} ] diff --git a/mix.exs b/mix.exs index f18bce31..e617c69e 100644 --- a/mix.exs +++ b/mix.exs @@ -14,7 +14,7 @@ defmodule Beacon.LiveAdmin.MixProject do deps: deps(), dialyzer: [ plt_file: {:no_warn, "priv/plts/dialyzer.plt"}, - plt_add_apps: [:mix], + plt_add_apps: [:mix, :beacon], list_unused_filters: true ] ] From 04365bf28a501979324576d4c291619d310b498d Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Thu, 11 Jan 2024 18:41:42 -0300 Subject: [PATCH 026/141] mix format --- .dialyzer_ignore.exs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.dialyzer_ignore.exs b/.dialyzer_ignore.exs index 0d4f101c..fe51488c 100644 --- a/.dialyzer_ignore.exs +++ b/.dialyzer_ignore.exs @@ -1,2 +1 @@ -[ -] +[] From 3e5b866217ac8219325ac7259b53bf7924d27796 Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Fri, 12 Jan 2024 17:13:15 +0100 Subject: [PATCH 027/141] Different approach to visual editor form (#99) * Save progress * Save progress debugging --- .../live_admin/live/page_editor_live/edit.ex | 13 +++++ .../live/page_editor_live/form_component.ex | 28 +++++++--- .../live_admin/live/page_editor_live/new.ex | 54 ++++++++++++------- priv/static/beacon_live_admin.js | 1 - priv/static/beacon_live_admin.min.css.map | 2 +- 5 files changed, 72 insertions(+), 26 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/edit.ex b/lib/beacon/live_admin/live/page_editor_live/edit.ex index 4f11de59..1e7a22ac 100644 --- a/lib/beacon/live_admin/live/page_editor_live/edit.ex +++ b/lib/beacon/live_admin/live/page_editor_live/edit.ex @@ -49,6 +49,19 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do {:noreply, socket} end + @impl true + def handle_event("enable_visual_mode", _args, socket) do + path = Beacon.LiveAdmin.Router.beacon_live_admin_path(socket, socket.assigns.beacon_page.site, "/pages/#{socket.assigns.page.id}", %{visual_mode: "true"}) + {:noreply, push_patch(socket, to: path)} + end + + @impl true + def handle_event("disable_visual_mode", _args, socket) do + path = Beacon.LiveAdmin.Router.beacon_live_admin_path(socket, socket.assigns.beacon_page.site, "/pages/#{socket.assigns.page.id}") + {:noreply, push_patch(socket, to: path)} + end + + @impl true def handle_event( "render_component_in_page", %{"component_id" => component_id, "page_id" => page_id}, diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index 57690ddd..8cf9cf90 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -5,6 +5,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do alias Beacon.LiveAdmin.Content alias Beacon.LiveAdmin.WebAPI alias Ecto.Changeset + require Logger @impl true def update(%{site: site, page: page} = assigns, socket) do @@ -19,7 +20,9 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do _ -> Content.change_page(site, page) end - + Logger.debug("###################################### page: #{inspect(page)}") + Logger.debug("###################################### changeset: #{inspect(changeset)}") + Logger.debug("###################################### page.template: #{inspect(page.template)}") %{data: builder_page} = WebAPI.Page.show(site, page) {:ok, @@ -102,6 +105,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do def handle_event("save", %{"page" => page_params}, socket) do page_params = Map.put(page_params, "site", socket.assigns.site) + Logger.debug("###################################### page_params: #{inspect(page_params)}") save_page(socket, socket.assigns.live_action, page_params) end @@ -212,6 +216,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do defp compile_stylesheet(%{site: _, template: _}), do: "" @impl true + @spec render(any()) :: Phoenix.LiveView.Rendered.t() def render(assigns) do ~H"""
    @@ -257,9 +262,19 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do
    - <.svelte :if={@visual_mode} name="components/UiBuilder" class="relative overflow-x-hidden" props={%{components: @components, page: @builder_page}} socket={@socket} /> - -
    +

    Page.template: <%= @page.template %>

    +

    Template: <%= @template %>

    +

    form: <%= inspect(@form) %>

    + + <.svelte name="components/UiBuilder" class={[ + "relative overflow-x-hidden", + if(!@visual_mode, do: "hidden"), + ]} props={%{components: @components, page: @builder_page}} socket={@socket} /> +
    <.form :let={f} for={@form} id="page-form" class="space-y-8" phx-target={@myself} phx-change="validate" phx-submit="save"> Page settings @@ -268,7 +283,8 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do <.input field={f[:description]} type="textarea" label="Description" /> <.input field={f[:layout_id]} type="select" options={layouts_to_options(@layouts)} label="Layout" /> <.input field={f[:format]} type="select" label="Format" options={template_format_options(@site)} /> - + <.input field={f[:template]} type="hidden" name="page[template]" id="page-form_template" value={Phoenix.HTML.Form.input_value(f, :template)}/> + <%= for mod <- extra_page_fields(@site) do %> <%= extra_page_field(@site, @extra_fields, mod) %> @@ -282,7 +298,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do path="template" class="col-span-full lg:col-span-2" value={@template} - opts={Map.merge(LiveMonacoEditor.default_opts(), %{"language" => @language})} + opts={Map.merge(LiveMonacoEditor.default_opts(), %{"language" => @language})} change="set_template" />
    diff --git a/lib/beacon/live_admin/live/page_editor_live/new.ex b/lib/beacon/live_admin/live/page_editor_live/new.ex index 7f18a5f8..16db4ee3 100644 --- a/lib/beacon/live_admin/live/page_editor_live/new.ex +++ b/lib/beacon/live_admin/live/page_editor_live/new.ex @@ -4,32 +4,37 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do use Beacon.LiveAdmin.PageBuilder alias Beacon.LiveAdmin.Content alias Beacon.LiveAdmin.WebAPI + require Logger @impl true @spec menu_link(any(), any()) :: :skip | {:submenu, <<_::40>>} def menu_link("/pages", :new), do: {:submenu, "Pages"} def menu_link(_, _), do: :skip - @impl true - def handle_params(_params, _url, socket) do - component_records = - Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) - + def mount(params, session, socket) do + component_records = Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) %{data: components} = BeaconWeb.API.ComponentJSON.index(%{components: component_records}) - {:noreply, - assign(socket, - page_title: "Create New Page", - components: components, - page: %Beacon.Content.Page{ - path: "", - site: socket.assigns.beacon_page.site, - layout: %Beacon.Content.Layout{ - template: "<%= @inner_content %>", - site: socket.assigns.beacon_page.site - } - } - )} + socket = assign(socket, + page_title: "Create New Page", + visual_mode: params["visual_mode"] === "true", + components: components, + page: %Beacon.Content.Page{ + path: "", + site: socket.assigns.beacon_page.site, + layout: %Beacon.Content.Layout{ + template: "<%= @inner_content %>", + site: socket.assigns.beacon_page.site + } + } + ) + + {:ok, socket} + end + + @impl true + def handle_params(params, _url, socket) do + {:noreply, assign(socket, visual_mode: params["visual_mode"] === "true")} end @impl true @@ -42,6 +47,19 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do {:noreply, socket} end + @impl true + def handle_event("enable_visual_mode", _args, socket) do + path = Beacon.LiveAdmin.Router.beacon_live_admin_path(socket, socket.assigns.beacon_page.site, "/pages/new", %{visual_mode: "true"}) + {:noreply, push_patch(socket, to: path)} + end + + @impl true + def handle_event("disable_visual_mode", _args, socket) do + path = Beacon.LiveAdmin.Router.beacon_live_admin_path(socket, socket.assigns.beacon_page.site, "/pages/new") + {:noreply, push_patch(socket, to: path)} + end + + @impl true def handle_event( "render_component_in_page", diff --git a/priv/static/beacon_live_admin.js b/priv/static/beacon_live_admin.js index a224b374..4751aeab 100644 --- a/priv/static/beacon_live_admin.js +++ b/priv/static/beacon_live_admin.js @@ -7744,7 +7744,6 @@ var BeaconLiveAdmin = (() => { return; addBasicComponentToTarget2($slotTargetElement); } else { - debugger; live.pushEvent( "render_component_in_page", { diff --git a/priv/static/beacon_live_admin.min.css.map b/priv/static/beacon_live_admin.min.css.map index cce4e292..5b881f43 100644 --- a/priv/static/beacon_live_admin.min.css.map +++ b/priv/static/beacon_live_admin.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%20a_20Xd%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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A,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,gCAAA,kBCAA,ADAA,uDCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"beacon_live_admin.min.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file +{"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%20a_20Xd%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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A,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,gCAAA,kBCAA,ADAA,uDCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"beacon_live_admin.min.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} From f7e093d86d581ee5f2a1b38ce0d7da58746b0f8d Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Fri, 12 Jan 2024 21:41:59 +0100 Subject: [PATCH 028/141] Refactor form component and remove debug logging --- .../live/page_editor_live/form_component.ex | 11 +++++------ 1 file changed, 5 insertions(+), 6 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index 8cf9cf90..19d1a81f 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -105,7 +105,6 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do def handle_event("save", %{"page" => page_params}, socket) do page_params = Map.put(page_params, "site", socket.assigns.site) - Logger.debug("###################################### page_params: #{inspect(page_params)}") save_page(socket, socket.assigns.live_action, page_params) end @@ -229,8 +228,8 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do <.header> <%= @page_title %> <:actions> - <.button :if={!@visual_mode} phx-click="enable_visual_mode" phx-target={@myself} form="page-form" class="uppercase">Visual Editor - <.button :if={@visual_mode} phx-click="disable_visual_mode" phx-target={@myself} form="page-form" class="uppercase">Code Editor + <.button type="button" :if={!@visual_mode} phx-click="enable_visual_mode" phx-target={@myself} class="uppercase">Visual Editor + <.button type="button" :if={@visual_mode} phx-click="disable_visual_mode" phx-target={@myself} class="uppercase">Code Editor <.button :if={@live_action == :new} phx-disable-with="Saving..." form="page-form" class="uppercase">Create Draft Page <.button :if={@live_action == :edit} phx-disable-with="Saving..." form="page-form" class="uppercase">Save Changes <.button :if={@live_action == :edit} phx-click={show_modal("publish-confirm-modal")} phx-target={@myself} class="uppercase">Publish @@ -262,9 +261,9 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do
    -

    Page.template: <%= @page.template %>

    + <%!--

    Page.template: <%= @page.template %>

    Template: <%= @template %>

    -

    form: <%= inspect(@form) %>

    +

    form: <%= inspect(@form) %>

    --%> <.svelte name="components/UiBuilder" class={[ "relative overflow-x-hidden", @@ -298,7 +297,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do path="template" class="col-span-full lg:col-span-2" value={@template} - opts={Map.merge(LiveMonacoEditor.default_opts(), %{"language" => @language})} + opts={Map.merge(LiveMonacoEditor.default_opts(), %{"language" => @language})} change="set_template" />
    From 7561e8f4403c871dc690dbc3846dae6676ee2754 Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Fri, 12 Jan 2024 21:59:16 +0100 Subject: [PATCH 029/141] Try to persist the visual mode --- lib/beacon/live_admin/live/page_editor_live/edit.ex | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/edit.ex b/lib/beacon/live_admin/live/page_editor_live/edit.ex index 1e7a22ac..ae56adc8 100644 --- a/lib/beacon/live_admin/live/page_editor_live/edit.ex +++ b/lib/beacon/live_admin/live/page_editor_live/edit.ex @@ -11,19 +11,20 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do def menu_link(_, _), do: :skip @impl true - def mount(_params, _session, socket) do + def mount(params, _session, socket) do component_records = Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) {:ok, assign(socket, page: nil, + visual_mode: params["visual_mode"] === "true", components: component_records )} end @impl true - def handle_params(%{"id" => id}, _url, socket) do + def handle_params(%{"id" => id} = params, _url, socket) do page = Content.get_page(socket.assigns.beacon_page.site, id, preloads: [:layout]) component_records = @@ -35,6 +36,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do assign(socket, page_title: "Edit Page", page: page, + visual_mode: params["visual_mode"] === "true", components: components )} end From d110bcd2519fdc2d7d8835085d272ed0a09727e4 Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Sat, 13 Jan 2024 00:11:29 +0100 Subject: [PATCH 030/141] Visual_mode query parameter works again --- lib/beacon/live_admin/live/page_editor_live/edit.ex | 4 +++- .../live/page_editor_live/form_component.ex | 12 ++---------- lib/beacon/live_admin/live/page_editor_live/new.ex | 1 + 3 files changed, 6 insertions(+), 11 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/edit.ex b/lib/beacon/live_admin/live/page_editor_live/edit.ex index ae56adc8..cc88a209 100644 --- a/lib/beacon/live_admin/live/page_editor_live/edit.ex +++ b/lib/beacon/live_admin/live/page_editor_live/edit.ex @@ -2,6 +2,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do @moduledoc false require IEx + require Logger use Beacon.LiveAdmin.PageBuilder alias Beacon.LiveAdmin.Content alias Beacon.LiveAdmin.WebAPI @@ -31,7 +32,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) %{data: components} = BeaconWeb.API.ComponentJSON.index(%{components: component_records}) - + Logger.debug("##################### handle_params: params: #{inspect(params)}") {:noreply, assign(socket, page_title: "Edit Page", @@ -96,6 +97,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do site={@beacon_page.site} page_title={@page_title} live_action={@live_action} + visual_mode={@visual_mode} components={@components} page={@page} patch="/pages" diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index 19d1a81f..a2218077 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -124,14 +124,6 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do end end - def handle_event("enable_visual_mode", _params, socket) do - {:noreply, assign(socket, visual_mode: true)} - end - - def handle_event("disable_visual_mode", _params, socket) do - {:noreply, assign(socket, visual_mode: false)} - end - defp save_page(socket, :new, page_params) do case Content.create_page(socket.assigns.site, page_params) do {:ok, page} -> @@ -228,8 +220,8 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do <.header> <%= @page_title %> <:actions> - <.button type="button" :if={!@visual_mode} phx-click="enable_visual_mode" phx-target={@myself} class="uppercase">Visual Editor - <.button type="button" :if={@visual_mode} phx-click="disable_visual_mode" phx-target={@myself} class="uppercase">Code Editor + <.button type="button" :if={!@visual_mode} phx-click="enable_visual_mode" class="uppercase">Visual Editor + <.button type="button" :if={@visual_mode} phx-click="disable_visual_mode" class="uppercase">Code Editor <.button :if={@live_action == :new} phx-disable-with="Saving..." form="page-form" class="uppercase">Create Draft Page <.button :if={@live_action == :edit} phx-disable-with="Saving..." form="page-form" class="uppercase">Save Changes <.button :if={@live_action == :edit} phx-click={show_modal("publish-confirm-modal")} phx-target={@myself} class="uppercase">Publish diff --git a/lib/beacon/live_admin/live/page_editor_live/new.ex b/lib/beacon/live_admin/live/page_editor_live/new.ex index 16db4ee3..0b6f2247 100644 --- a/lib/beacon/live_admin/live/page_editor_live/new.ex +++ b/lib/beacon/live_admin/live/page_editor_live/new.ex @@ -92,6 +92,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do site={@beacon_page.site} page_title={@page_title} components={@components} + visual_mode={@visual_mode} live_action={@live_action} page={@page} patch="/pages" From b4e39c635cb499a07caec1ee7b0c7a934c646448 Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Mon, 15 Jan 2024 21:10:48 +0100 Subject: [PATCH 031/141] This should be working but it's not --- .../live/page_editor_live/form_component.ex | 35 +++++++++---------- priv/static/beacon_live_admin.min.css.map | 2 +- 2 files changed, 17 insertions(+), 20 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index a2218077..66945021 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -31,8 +31,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do |> assign_form(changeset) |> assign_new(:layouts, fn -> Content.list_layouts(site) end) |> assign(:language, language(page.format)) - |> assign(:template, page.template) - |> assign(:changed_template, page.template) + # |> assign(:template, page.template) |> assign(:builder_page, builder_page) |> assign_new(:visual_mode, fn -> false end) |> assign_extra_fields(changeset)} @@ -48,25 +47,23 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do end defp update_template(socket, template) do + # socket = socket |> assign(:template, template) params = Map.merge(socket.assigns.form.params, %{"template" => template}) changeset = Content.change_page(socket.assigns.site, socket.assigns.page, params) - case Changeset.apply_action(changeset, :update) do - {:ok, page} -> - # TODO: remove web api - %{data: builder_page} = WebAPI.Page.show(page.site, page) - - {:ok, - socket - |> assign_form(changeset) - |> assign(:template, page.template) - |> assign(:changed_template, page.template) - |> assign(:builder_page, builder_page)} - - _ -> - # TODO: handle errors - {:ok, socket} - end + Logger.debug("###################################### changeset: #{inspect(changeset)}") + {:ok, socket |> assign_form(changeset)} + # case Changeset.apply_action(changeset, :update) do + # {:ok, page} -> + # Logger.debug("###################################### about to reurn the updated form") + # # |> assign(:template, page.template) + # # |> assign(:changed_template, page.template) + # # |> assign(:builder_page, builder_page)} + + # _ -> + # # TODO: handle errors + # {:ok, socket} + # end end @impl true @@ -288,7 +285,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do @language})} change="set_template" /> diff --git a/priv/static/beacon_live_admin.min.css.map b/priv/static/beacon_live_admin.min.css.map index 5b881f43..bf65f827 100644 --- a/priv/static/beacon_live_admin.min.css.map +++ b/priv/static/beacon_live_admin.min.css.map @@ -1 +1 @@ -{"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%20a_20Xd%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"AAIA,mHAAmH;ACJnH,gEAAA,ACKA,iBAME,sBAAwD,CAHxD,qBAIF,CAEA,eAEE,eACF,CAWA,KAEE,6BAA8B,CAI9B,4BAA8E,CAD9E,kNAAsP,CAEtP,8BAAkF,CANlF,eAAgB,CAEhB,eAAgB,CAChB,aAAW,CAAX,UAIF,CAOA,KAEE,mBAAoB,CADpB,QAEF,CAQA,GAGE,oBAAqB,CADrB,aAAc,CADd,QAGF,CAMA,oBACE,wCAAiC,CAAjC,gCACF,CAMA,kBAME,iBAAkB,CAClB,mBACF,CAMA,EACE,aAAc,CACd,uBACF,CAMA,SAEE,kBACF,CAOA,kBAIE,mGAAyI,CACzI,aACF,CAMA,MACE,aACF,CAMA,QAEE,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,sBACF,CAEA,IACE,aACF,CAEA,IACE,SACF,CAQA,MAGE,wBAAyB,CADzB,oBAAqB,CADrB,aAGF,CAQA,sCAME,6BAA8B,CAK9B,aAAc,CANd,mBAAoB,CAGpB,cAAe,CADf,+BAAgC,CAEhC,mBAAoB,CACpB,mBAAoB,CAEpB,QAAS,CACT,SACF,CAMA,cAEE,mBACF,CAOA,gDAIE,yBAA0B,CAC1B,wBAA6B,CAC7B,qBACF,CAMA,gBACE,YACF,CAMA,iBACE,eACF,CAMA,SACE,sBACF,CAMA,wDAEE,WACF,CAOA,cACE,4BAA6B,CAC7B,mBACF,CAMA,4BACE,uBACF,CAOA,6BACE,yBAA0B,CAC1B,YACF,CAMA,QACE,iBACF,CAMA,mDAaE,QACF,CAEA,SACE,QAEF,CAEA,gBAHE,SAKF,CAEA,WAGE,eAAgB,CAChB,QAAS,CACT,SACF,CAKA,OACE,SACF,CAMA,SACE,eACF,CAOA,mDAGE,aAAwC,CADxC,SAEF,CAJA,yCAGE,aAAwC,CADxC,SAEF,CAMA,qBAEE,cACF,CAKA,UACE,cACF,CAQA,+CAQE,aAAc,CACd,qBACF,CAMA,UAGE,WAAY,CADZ,cAEF,CAGA,SACE,YACF,CDzXA,6LAAA,sBAAA,wBAAA,qBAAA,gBAAA,sBAAA,qBAAA,gBAAA,iBAAA,eAAA,mBAAA,qBAAA,uRAAA,4CAAA,2BAAA,4BAAA,wBAAA,2GAAA,yGAAA,qBAAA,+EAAA,wBAAA,mBAAA,mDAAA,cAAA,UAAA,yCAAA,cAAA,UAAA,uCAAA,UAAA,8BAAA,iBAAA,+TAAA,iBAAA,cAAA,OAAA,iQAAA,uCAAA,4BAAA,4BAAA,qBAAA,iCAAA,yBAAA,WAAA,sBAAA,wBAAA,wBAAA,wBAAA,qBAAA,iCAAA,yBAAA,6BAAA,sBAAA,wBAAA,qBAAA,gBAAA,sBAAA,6BAAA,qBAAA,iBAAA,cAAA,qBAAA,cAAA,YAAA,UAAA,iCAAA,yBAAA,yBAAA,sBAAA,iBAAA,sBAAA,WAAA,gBAAA,gBAAA,aAAA,mBAAA,yCAAA,4CAAA,2BAAA,4BAAA,wBAAA,2GAAA,yGAAA,+EAAA,wBAAA,mBAAA,6CAAA,8BAAA,wBAAA,4BAAA,0BAAA,mBAAA,wBAAA,4RAAA,qBAAA,mLAAA,gJAAA,8BAAA,mBAAA,8BAAA,sPAAA,wBAAA,4BAAA,0BAAA,wEAAA,8BAAA,mBAAA,YAAA,iBAAA,qBAAA,gBAAA,eAAA,gBAAA,oBAAA,UAAA,kBAAA,6BAAA,0CAAA,4BAAA,wBAAA,wBAAA,mBAAA,mBAAA,cAAA,cAAA,cAAA,eAAA,eAAA,aAAA,aAAA,kBAAA,sCAAA,8BAAA,6BAAA,4BAAA,eAAA,oBAAA,sBAAA,uBAAA,wBAAA,kBAAA,2BAAA,4BAAA,0BAAA,kCAAA,2BAAA,sBAAA,8BAAA,YAAA,kBAAA,gBAAA,iBAAA,kBAAA,cAAA,gBAAA,aAAA,mBAAA,qBAAA,2BAAA,yBAAA,0BAAA,2BAAA,uBAAA,wBAAA,yBAAA,sBAAA,WAAA,WAAA,yBAAA,WAAA,gBAAA,CAAA,yBAAA,WAAA,gBAAA,CAAA,0BAAA,WAAA,iBAAA,CAAA,0BAAA,WAAA,iBAAA,CAAA,0BAAA,WAAA,iBAAA,CAAA,uBAAA,8WAAA,0CAAA,kCAAA,wCAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,iBAAA,4ZAAA,oCAAA,4BAAA,qCAAA,mzBAAA,wDAAA,gDAAA,+DAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,0BAAA,qqBAAA,6CAAA,qCAAA,8BAAA,iWAAA,iDAAA,yCAAA,wCAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,UAAA,qgBAAA,6BAAA,qBAAA,gBAAA,ofAAA,mCAAA,2BAAA,8CAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,8BAAA,qcAAA,iDAAA,yCAAA,oBAAA,ifAAA,uCAAA,+BAAA,gCAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,YAAA,2oBAAA,+BAAA,uBAAA,mBAAA,gZAAA,8BAAA,qBAAA,eAAA,sCAAA,8BAAA,sBAAA,cAAA,SAAA,mBAAA,eAAA,WAAA,YAAA,gBAAA,UAAA,kBAAA,mBAAA,UAAA,SAAA,mBAAA,WAAA,kBAAA,QAAA,gBAAA,OAAA,eAAA,UAAA,kBAAA,UAAA,kBAAA,QAAA,gBAAA,SAAA,QAAA,aAAA,YAAA,SAAA,WAAA,SAAA,MAAA,SAAA,aAAA,UAAA,WAAA,SAAA,WAAA,SAAA,cAAA,UAAA,cAAA,UAAA,YAAA,SAAA,YAAA,QAAA,OAAA,SAAA,QAAA,SAAA,aAAA,SAAA,YAAA,SAAA,cAAA,OAAA,MAAA,OAAA,WAAA,OAAA,UAAA,OAAA,WAAA,OAAA,WAAA,MAAA,WAAA,MAAA,WAAA,YAAA,0BAAA,eAAA,iBAAA,MAAA,eAAA,KAAA,cAAA,KAAA,YAAA,OAAA,oBAAA,iBAAA,SAAA,iBAAA,kBAAA,QAAA,mBAAA,MAAA,qBAAA,OAAA,qBAAA,MAAA,oBAAA,MAAA,mBAAA,MAAA,mBAAA,MAAA,kBAAA,MAAA,mBAAA,MAAA,iBAAA,MAAA,iBAAA,SAAA,iBAAA,MAAA,mBAAA,MAAA,aAAA,SAAA,mBAAA,MAAA,kBAAA,OAAA,kBAAA,OAAA,mBAAA,OAAA,kBAAA,OAAA,gBAAA,MAAA,iBAAA,MAAA,kBAAA,MAAA,gBAAA,MAAA,gBAAA,cAAA,4BAAA,qBAAA,oBAAA,gBAAA,OAAA,cAAA,cAAA,qBAAA,QAAA,eAAA,MAAA,aAAA,aAAA,oBAAA,OAAA,cAAA,MAAA,aAAA,UAAA,iBAAA,QAAA,aAAA,eAAA,iBAAA,MAAA,cAAA,MAAA,YAAA,KAAA,aAAA,MAAA,YAAA,KAAA,cAAA,KAAA,YAAA,KAAA,eAAA,KAAA,cAAA,KAAA,eAAA,KAAA,YAAA,6BAAA,2BAAA,6BAAA,2BAAA,6BAAA,2BAAA,6BAAA,2BAAA,4BAAA,0BAAA,QAAA,YAAA,UAAA,iBAAA,YAAA,gBAAA,gBAAA,gBAAA,YAAA,gBAAA,cAAA,iBAAA,QAAA,UAAA,MAAA,aAAA,MAAA,aAAA,KAAA,YAAA,KAAA,aAAA,KAAA,WAAA,KAAA,cAAA,MAAA,YAAA,KAAA,aAAA,MAAA,YAAA,KAAA,cAAA,MAAA,YAAA,KAAA,cAAA,MAAA,YAAA,aAAA,YAAA,QAAA,WAAA,iBAAA,gBAAA,WAAA,gBAAA,gBAAA,eAAA,iBAAA,iBAAA,UAAA,gBAAA,QAAA,YAAA,WAAA,UAAA,UAAA,cAAA,gBAAA,yBAAA,gCAAA,8LAAA,gBAAA,uBAAA,eAAA,qBAAA,8BAAA,8LAAA,eAAA,sBAAA,WAAA,8LAAA,gBAAA,GAAA,wBAAA,CAAA,cAAA,kCAAA,eAAA,sBAAA,aAAA,8CAAA,aAAA,2CAAA,UAAA,sBAAA,WAAA,eAAA,aAAA,uBAAA,WAAA,qBAAA,cAAA,mBAAA,aAAA,yBAAA,gBAAA,uBAAA,iBAAA,8BAAA,OAAA,MAAA,UAAA,YAAA,OAAA,WAAA,UAAA,YAAA,OAAA,UAAA,OAAA,WAAA,OAAA,SAAA,OAAA,WAAA,SAAA,qBAAA,gBAAA,SAAA,aAAA,yCAAA,uBAAA,mDAAA,sDAAA,yCAAA,uBAAA,mDAAA,sDAAA,wCAAA,wBAAA,yDAAA,4DAAA,+CAAA,sBAAA,uDAAA,+CAAA,sBAAA,uDAAA,kBAAA,iBAAA,iBAAA,gBAAA,kBAAA,iBAAA,iBAAA,gBAAA,iBAAA,gBAAA,mBAAA,kBAAA,mBAAA,mBAAA,SAAA,qBAAA,aAAA,mBAAA,sBAAA,sBAAA,kBAAA,mBAAA,cAAA,qBAAA,YAAA,oBAAA,YAAA,sBAAA,YAAA,qBAAA,cAAA,iCAAA,kCAAA,wBAAA,+BAAA,gCAAA,oBAAA,4BAAA,6BAAA,cAAA,6BAAA,8BAAA,cAAA,8BAAA,+BAAA,QAAA,iBAAA,UAAA,iBAAA,UAAA,wBAAA,YAAA,wBAAA,UAAA,sBAAA,UAAA,uBAAA,UAAA,qBAAA,cAAA,mBAAA,eAAA,oBAAA,iBAAA,sBAAA,sDAAA,iBAAA,sBAAA,qDAAA,iBAAA,sBAAA,uDAAA,iBAAA,sBAAA,uDAAA,iBAAA,sBAAA,uDAAA,qBAAA,uBAAA,iBAAA,sBAAA,uDAAA,oBAAA,mBAAA,iBAAA,sBAAA,uDAAA,iBAAA,sBAAA,uDAAA,mBAAA,sBAAA,8DAAA,iBAAA,kBAAA,oDAAA,iBAAA,kBAAA,uDAAA,cAAA,kBAAA,sDAAA,cAAA,2BAAA,aAAA,kBAAA,uDAAA,aAAA,kBAAA,sDAAA,aAAA,kBAAA,qDAAA,eAAA,kBAAA,uDAAA,aAAA,kBAAA,uDAAA,aAAA,kBAAA,uDAAA,YAAA,kBAAA,uDAAA,aAAA,kBAAA,uDAAA,aAAA,kBAAA,oDAAA,aAAA,kBAAA,qDAAA,YAAA,kBAAA,qDAAA,YAAA,kBAAA,qDAAA,YAAA,kBAAA,uDAAA,UAAA,kBAAA,uDAAA,gBAAA,2BAAA,aAAA,kBAAA,oDAAA,eAAA,aAAA,eAAA,aAAA,KAAA,UAAA,KAAA,eAAA,MAAA,eAAA,KAAA,cAAA,KAAA,eAAA,KAAA,aAAA,KAAA,eAAA,MAAA,eAAA,gBAAA,SAAA,qBAAA,sBAAA,MAAA,oBAAA,qBAAA,MAAA,mBAAA,oBAAA,SAAA,qBAAA,sBAAA,MAAA,oBAAA,qBAAA,SAAA,qBAAA,sBAAA,MAAA,kBAAA,mBAAA,MAAA,qBAAA,sBAAA,MAAA,oBAAA,qBAAA,MAAA,kBAAA,mBAAA,aAAA,kBAAA,mBAAA,MAAA,iBAAA,cAAA,SAAA,uBAAA,oBAAA,MAAA,sBAAA,mBAAA,OAAA,sBAAA,mBAAA,MAAA,qBAAA,kBAAA,SAAA,uBAAA,oBAAA,MAAA,sBAAA,mBAAA,SAAA,uBAAA,oBAAA,MAAA,oBAAA,iBAAA,MAAA,uBAAA,oBAAA,MAAA,sBAAA,mBAAA,MAAA,sBAAA,MAAA,oBAAA,MAAA,uBAAA,MAAA,eAAA,MAAA,mBAAA,MAAA,kBAAA,MAAA,oBAAA,MAAA,qBAAA,MAAA,sBAAA,MAAA,cAAA,OAAA,mBAAA,OAAA,iBAAA,MAAA,kBAAA,MAAA,mBAAA,MAAA,iBAAA,MAAA,mBAAA,MAAA,oBAAA,MAAA,iBAAA,WAAA,gBAAA,aAAA,kBAAA,YAAA,iBAAA,cAAA,sBAAA,WAAA,mNAAA,UAAA,iBAAA,iBAAA,WAAA,eAAA,mBAAA,SAAA,mBAAA,oBAAA,YAAA,mBAAA,mBAAA,qBAAA,kBAAA,oBAAA,SAAA,kBAAA,oBAAA,SAAA,iBAAA,iBAAA,WAAA,gBAAA,YAAA,gBAAA,aAAA,gBAAA,aAAA,gBAAA,eAAA,gBAAA,WAAA,yBAAA,YAAA,0BAAA,WAAA,iBAAA,WAAA,oBAAA,WAAA,mBAAA,WAAA,iBAAA,sBAAA,sBAAA,gBAAA,qBAAA,iBAAA,oBAAA,gBAAA,8BAAA,sDAAA,mBAAA,oBAAA,yCAAA,mBAAA,oBAAA,2CAAA,mBAAA,oBAAA,2CAAA,mBAAA,oBAAA,4CAAA,mBAAA,oBAAA,6CAAA,mBAAA,oBAAA,4CAAA,eAAA,oBAAA,4CAAA,eAAA,oBAAA,4CAAA,kBAAA,oBAAA,0CAAA,cAAA,oBAAA,8CAAA,eAAA,oBAAA,8CAAA,eAAA,oBAAA,2CAAA,eAAA,oBAAA,2CAAA,gBAAA,oBAAA,4CAAA,gBAAA,oBAAA,4CAAA,cAAA,oBAAA,4CAAA,cAAA,oBAAA,4CAAA,eAAA,oBAAA,4CAAA,eAAA,oBAAA,4CAAA,gBAAA,oBAAA,2CAAA,YAAA,oBAAA,8CAAA,eAAA,oBAAA,8CAAA,eAAA,oBAAA,2CAAA,eAAA,oBAAA,2CAAA,eAAA,oBAAA,2CAAA,eAAA,oBAAA,2CAAA,aAAA,mCAAA,kCAAA,WAAA,UAAA,aAAA,UAAA,YAAA,WAAA,YAAA,WAAA,YAAA,WAAA,YAAA,WAAA,QAAA,2DAAA,6FAAA,mBAAA,mGAAA,WAAA,gEAAA,kGAAA,WAAA,8DAAA,gGAAA,sBAAA,mGAAA,WAAA,kCAAA,uDAAA,WAAA,iEAAA,mGAAA,mGAAA,qBAAA,4BAAA,qCAAA,cAAA,wBAAA,mBAAA,SAAA,oBAAA,gBAAA,qBAAA,WAAA,kBAAA,kBAAA,mBAAA,kBAAA,sBAAA,QAAA,2GAAA,yGAAA,yFAAA,YAAA,sBAAA,kBAAA,oBAAA,uDAAA,eAAA,oBAAA,wDAAA,eAAA,oBAAA,sDAAA,mBAAA,0BAAA,QAAA,iLAAA,YAAA,yBAAA,sJAAA,8IAAA,sKAAA,mDAAA,gBAAA,yBAAA,wBAAA,mDAAA,mBAAA,yBAAA,0FAAA,mDAAA,oBAAA,yBAAA,4BAAA,mDAAA,sBAAA,yBAAA,8BAAA,mDAAA,cAAA,wBAAA,cAAA,wBAAA,SAAA,kDAAA,UAAA,kDAAA,aAAA,2BAAA,AECA,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,+zHAAA,CACA,gFAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,+ggBAAA,CACA,+DAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,m7ZAAA,CACA,yBAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,29VAAA,CACA,0JAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,mmpBAAA,CACA,gJAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,+m9DAAA,CACA,qMAAA,CHzDF,6BAAA,eCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,yBAAA,kBCAA,ADAA,qDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,gCAAA,kBCAA,ADAA,uDCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"beacon_live_admin.min.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} +{"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%20Un--6c%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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A,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,gCAAA,kBCAA,ADAA,uDCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"beacon_live_admin.min.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file From 9c70812d35926217acc995b77834d35c32a9de5d Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Mon, 15 Jan 2024 22:43:40 +0100 Subject: [PATCH 032/141] Save some progress (finally) --- .../live/page_editor_live/form_component.ex | 41 +++++++++---------- 1 file changed, 19 insertions(+), 22 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index 66945021..f3e692c8 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -15,9 +15,11 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do changeset = case socket.assigns do %{form: form} -> + Logger.debug("###################################### There is a @form") form.source - _ -> + _ -> + Logger.debug("###################################### There is no @form") Content.change_page(site, page) end Logger.debug("###################################### page: #{inspect(page)}") @@ -31,7 +33,6 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do |> assign_form(changeset) |> assign_new(:layouts, fn -> Content.list_layouts(site) end) |> assign(:language, language(page.format)) - # |> assign(:template, page.template) |> assign(:builder_page, builder_page) |> assign_new(:visual_mode, fn -> false end) |> assign_extra_fields(changeset)} @@ -47,23 +48,20 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do end defp update_template(socket, template) do - # socket = socket |> assign(:template, template) params = Map.merge(socket.assigns.form.params, %{"template" => template}) changeset = Content.change_page(socket.assigns.site, socket.assigns.page, params) - - Logger.debug("###################################### changeset: #{inspect(changeset)}") - {:ok, socket |> assign_form(changeset)} - # case Changeset.apply_action(changeset, :update) do - # {:ok, page} -> - # Logger.debug("###################################### about to reurn the updated form") - # # |> assign(:template, page.template) - # # |> assign(:changed_template, page.template) - # # |> assign(:builder_page, builder_page)} - - # _ -> - # # TODO: handle errors - # {:ok, socket} - # end + case Changeset.apply_action(changeset, :update) do + {:ok, page} -> + %{data: builder_page} = WebAPI.Page.show(page.site, page) + socket = + socket + |> assign_form(changeset) + |> assign(:builder_page, builder_page) + {:ok, socket} + _ -> + # TODO: handle errors + {:ok, socket} + end end @impl true @@ -250,9 +248,9 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do
    - <%!--

    Page.template: <%= @page.template %>

    -

    Template: <%= @template %>

    -

    form: <%= inspect(@form) %>

    --%> + <%!--

    Page.template: <%= @page.template %>

    --%> +

    Template: <%= @form[:template].value %>

    + <%!--

    form: <%= inspect(@form) %>

    --%> <.svelte name="components/UiBuilder" class={[ "relative overflow-x-hidden", @@ -272,7 +270,6 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do <.input field={f[:layout_id]} type="select" options={layouts_to_options(@layouts)} label="Layout" /> <.input field={f[:format]} type="select" label="Format" options={template_format_options(@site)} /> <.input field={f[:template]} type="hidden" name="page[template]" id="page-form_template" value={Phoenix.HTML.Form.input_value(f, :template)}/> - <%= for mod <- extra_page_fields(@site) do %> <%= extra_page_field(@site, @extra_fields, mod) %> @@ -285,7 +282,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do @language})} change="set_template" /> From 73b967e6fd5e60967cd3a0fc9ff565c7049fcf87 Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Mon, 15 Jan 2024 17:02:43 -0500 Subject: [PATCH 033/141] format --- .../live_admin/live/page_editor_live/edit.ex | 18 ++++++- .../live/page_editor_live/form_component.ex | 41 ++++++++++------ .../live_admin/live/page_editor_live/new.ex | 47 ++++++++++++------- 3 files changed, 74 insertions(+), 32 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/edit.ex b/lib/beacon/live_admin/live/page_editor_live/edit.ex index cc88a209..a6a796a7 100644 --- a/lib/beacon/live_admin/live/page_editor_live/edit.ex +++ b/lib/beacon/live_admin/live/page_editor_live/edit.ex @@ -33,6 +33,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do %{data: components} = BeaconWeb.API.ComponentJSON.index(%{components: component_records}) Logger.debug("##################### handle_params: params: #{inspect(params)}") + {:noreply, assign(socket, page_title: "Edit Page", @@ -54,13 +55,26 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do @impl true def handle_event("enable_visual_mode", _args, socket) do - path = Beacon.LiveAdmin.Router.beacon_live_admin_path(socket, socket.assigns.beacon_page.site, "/pages/#{socket.assigns.page.id}", %{visual_mode: "true"}) + path = + Beacon.LiveAdmin.Router.beacon_live_admin_path( + socket, + socket.assigns.beacon_page.site, + "/pages/#{socket.assigns.page.id}", + %{visual_mode: "true"} + ) + {:noreply, push_patch(socket, to: path)} end @impl true def handle_event("disable_visual_mode", _args, socket) do - path = Beacon.LiveAdmin.Router.beacon_live_admin_path(socket, socket.assigns.beacon_page.site, "/pages/#{socket.assigns.page.id}") + path = + Beacon.LiveAdmin.Router.beacon_live_admin_path( + socket, + socket.assigns.beacon_page.site, + "/pages/#{socket.assigns.page.id}" + ) + {:noreply, push_patch(socket, to: path)} end diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index f3e692c8..3be77b99 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -18,13 +18,18 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do Logger.debug("###################################### There is a @form") form.source - _ -> - Logger.debug("###################################### There is no @form") + _ -> + Logger.debug("###################################### There is no @form") Content.change_page(site, page) end + Logger.debug("###################################### page: #{inspect(page)}") Logger.debug("###################################### changeset: #{inspect(changeset)}") - Logger.debug("###################################### page.template: #{inspect(page.template)}") + + Logger.debug( + "###################################### page.template: #{inspect(page.template)}" + ) + %{data: builder_page} = WebAPI.Page.show(site, page) {:ok, @@ -50,14 +55,18 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do defp update_template(socket, template) do params = Map.merge(socket.assigns.form.params, %{"template" => template}) changeset = Content.change_page(socket.assigns.site, socket.assigns.page, params) + case Changeset.apply_action(changeset, :update) do {:ok, page} -> %{data: builder_page} = WebAPI.Page.show(page.site, page) + socket = socket |> assign_form(changeset) |> assign(:builder_page, builder_page) + {:ok, socket} + _ -> # TODO: handle errors {:ok, socket} @@ -215,8 +224,8 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do <.header> <%= @page_title %> <:actions> - <.button type="button" :if={!@visual_mode} phx-click="enable_visual_mode" class="uppercase">Visual Editor - <.button type="button" :if={@visual_mode} phx-click="disable_visual_mode" class="uppercase">Code Editor + <.button :if={!@visual_mode} type="button" phx-click="enable_visual_mode" class="uppercase">Visual Editor + <.button :if={@visual_mode} type="button" phx-click="disable_visual_mode" class="uppercase">Code Editor <.button :if={@live_action == :new} phx-disable-with="Saving..." form="page-form" class="uppercase">Create Draft Page <.button :if={@live_action == :edit} phx-disable-with="Saving..." form="page-form" class="uppercase">Save Changes <.button :if={@live_action == :edit} phx-click={show_modal("publish-confirm-modal")} phx-target={@myself} class="uppercase">Publish @@ -252,15 +261,19 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do

    Template: <%= @form[:template].value %>

    <%!--

    form: <%= inspect(@form) %>

    --%> - <.svelte name="components/UiBuilder" class={[ - "relative overflow-x-hidden", - if(!@visual_mode, do: "hidden"), - ]} props={%{components: @components, page: @builder_page}} socket={@socket} /> -
    + "relative overflow-x-hidden", + if(!@visual_mode, do: "hidden") + ]} + props={%{components: @components, page: @builder_page}} + socket={@socket} + /> +
    <.form :let={f} for={@form} id="page-form" class="space-y-8" phx-target={@myself} phx-change="validate" phx-submit="save"> Page settings @@ -269,7 +282,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do <.input field={f[:description]} type="textarea" label="Description" /> <.input field={f[:layout_id]} type="select" options={layouts_to_options(@layouts)} label="Layout" /> <.input field={f[:format]} type="select" label="Format" options={template_format_options(@site)} /> - <.input field={f[:template]} type="hidden" name="page[template]" id="page-form_template" value={Phoenix.HTML.Form.input_value(f, :template)}/> + <.input field={f[:template]} type="hidden" name="page[template]" id="page-form_template" value={Phoenix.HTML.Form.input_value(f, :template)} /> <%= for mod <- extra_page_fields(@site) do %> <%= extra_page_field(@site, @extra_fields, mod) %> diff --git a/lib/beacon/live_admin/live/page_editor_live/new.ex b/lib/beacon/live_admin/live/page_editor_live/new.ex index 0b6f2247..56eecf1e 100644 --- a/lib/beacon/live_admin/live/page_editor_live/new.ex +++ b/lib/beacon/live_admin/live/page_editor_live/new.ex @@ -12,22 +12,25 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do def menu_link(_, _), do: :skip def mount(params, session, socket) do - component_records = Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) + component_records = + Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) + %{data: components} = BeaconWeb.API.ComponentJSON.index(%{components: component_records}) - socket = assign(socket, - page_title: "Create New Page", - visual_mode: params["visual_mode"] === "true", - components: components, - page: %Beacon.Content.Page{ - path: "", - site: socket.assigns.beacon_page.site, - layout: %Beacon.Content.Layout{ - template: "<%= @inner_content %>", - site: socket.assigns.beacon_page.site + socket = + assign(socket, + page_title: "Create New Page", + visual_mode: params["visual_mode"] === "true", + components: components, + page: %Beacon.Content.Page{ + path: "", + site: socket.assigns.beacon_page.site, + layout: %Beacon.Content.Layout{ + template: "<%= @inner_content %>", + site: socket.assigns.beacon_page.site + } } - } - ) + ) {:ok, socket} end @@ -49,17 +52,29 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do @impl true def handle_event("enable_visual_mode", _args, socket) do - path = Beacon.LiveAdmin.Router.beacon_live_admin_path(socket, socket.assigns.beacon_page.site, "/pages/new", %{visual_mode: "true"}) + path = + Beacon.LiveAdmin.Router.beacon_live_admin_path( + socket, + socket.assigns.beacon_page.site, + "/pages/new", + %{visual_mode: "true"} + ) + {:noreply, push_patch(socket, to: path)} end @impl true def handle_event("disable_visual_mode", _args, socket) do - path = Beacon.LiveAdmin.Router.beacon_live_admin_path(socket, socket.assigns.beacon_page.site, "/pages/new") + path = + Beacon.LiveAdmin.Router.beacon_live_admin_path( + socket, + socket.assigns.beacon_page.site, + "/pages/new" + ) + {:noreply, push_patch(socket, to: path)} end - @impl true def handle_event( "render_component_in_page", From 9862b5d488f6f24e866c23bf202e36e85465d2c1 Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Mon, 15 Jan 2024 18:25:08 -0500 Subject: [PATCH 034/141] fix 2-way sync and refactor visual_mode query param --- .../live_admin/live/page_editor_live/edit.ex | 53 ++++--------- .../live/page_editor_live/form_component.ex | 77 +++++++++---------- 2 files changed, 51 insertions(+), 79 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/edit.ex b/lib/beacon/live_admin/live/page_editor_live/edit.ex index a6a796a7..f0254e67 100644 --- a/lib/beacon/live_admin/live/page_editor_live/edit.ex +++ b/lib/beacon/live_admin/live/page_editor_live/edit.ex @@ -2,7 +2,6 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do @moduledoc false require IEx - require Logger use Beacon.LiveAdmin.PageBuilder alias Beacon.LiveAdmin.Content alias Beacon.LiveAdmin.WebAPI @@ -12,35 +11,24 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do def menu_link(_, _), do: :skip @impl true - def mount(params, _session, socket) do - component_records = - Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) + def mount(%{"id" => id} = params, _session, socket) do + page = Content.get_page(socket.assigns.beacon_page.site, id, preloads: [:layout]) + components = Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) + %{data: components} = BeaconWeb.API.ComponentJSON.index(%{components: components}) + editor = Map.get(params, "editor", "code") {:ok, assign(socket, - page: nil, - visual_mode: params["visual_mode"] === "true", - components: component_records + page: page, + components: components, + editor: editor )} end @impl true - def handle_params(%{"id" => id} = params, _url, socket) do - page = Content.get_page(socket.assigns.beacon_page.site, id, preloads: [:layout]) - - component_records = - Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) - - %{data: components} = BeaconWeb.API.ComponentJSON.index(%{components: component_records}) - Logger.debug("##################### handle_params: params: #{inspect(params)}") - - {:noreply, - assign(socket, - page_title: "Edit Page", - page: page, - visual_mode: params["visual_mode"] === "true", - components: components - )} + def handle_params(params, _url, socket) do + editor = Map.get(params, "editor", "code") + {:noreply, assign(socket, page_title: "Edit Page", editor: editor)} end @impl true @@ -54,31 +42,18 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do end @impl true - def handle_event("enable_visual_mode", _args, socket) do + def handle_event("enable_editor", %{"editor" => editor}, socket) do path = Beacon.LiveAdmin.Router.beacon_live_admin_path( socket, socket.assigns.beacon_page.site, "/pages/#{socket.assigns.page.id}", - %{visual_mode: "true"} - ) - - {:noreply, push_patch(socket, to: path)} - end - - @impl true - def handle_event("disable_visual_mode", _args, socket) do - path = - Beacon.LiveAdmin.Router.beacon_live_admin_path( - socket, - socket.assigns.beacon_page.site, - "/pages/#{socket.assigns.page.id}" + %{editor: editor} ) {:noreply, push_patch(socket, to: path)} end - @impl true def handle_event( "render_component_in_page", %{"component_id" => component_id, "page_id" => page_id}, @@ -111,7 +86,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do site={@beacon_page.site} page_title={@page_title} live_action={@live_action} - visual_mode={@visual_mode} + editor={@editor} components={@components} page={@page} patch="/pages" diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index 3be77b99..3104ad24 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -5,7 +5,6 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do alias Beacon.LiveAdmin.Content alias Beacon.LiveAdmin.WebAPI alias Ecto.Changeset - require Logger @impl true def update(%{site: site, page: page} = assigns, socket) do @@ -15,31 +14,19 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do changeset = case socket.assigns do %{form: form} -> - Logger.debug("###################################### There is a @form") - form.source + Content.change_page(site, page, form.params) _ -> - Logger.debug("###################################### There is no @form") Content.change_page(site, page) end - Logger.debug("###################################### page: #{inspect(page)}") - Logger.debug("###################################### changeset: #{inspect(changeset)}") - - Logger.debug( - "###################################### page.template: #{inspect(page.template)}" - ) - - %{data: builder_page} = WebAPI.Page.show(site, page) - {:ok, socket |> assign(assigns) |> assign_form(changeset) + |> assign_builder_page(changeset) |> assign_new(:layouts, fn -> Content.list_layouts(site) end) |> assign(:language, language(page.format)) - |> assign(:builder_page, builder_page) - |> assign_new(:visual_mode, fn -> false end) |> assign_extra_fields(changeset)} end @@ -49,33 +36,25 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do def update(%{ast: ast}, socket) do template = Beacon.Template.HEEx.HEExDecoder.decode(ast) - update_template(socket, template) + + socket + |> LiveMonacoEditor.set_value(template, to: "template") + |> update_template(template) end defp update_template(socket, template) do params = Map.merge(socket.assigns.form.params, %{"template" => template}) changeset = Content.change_page(socket.assigns.site, socket.assigns.page, params) - case Changeset.apply_action(changeset, :update) do - {:ok, page} -> - %{data: builder_page} = WebAPI.Page.show(page.site, page) - - socket = - socket - |> assign_form(changeset) - |> assign(:builder_page, builder_page) - - {:ok, socket} - - _ -> - # TODO: handle errors - {:ok, socket} - end + {:ok, + socket + |> assign_form(changeset) + |> assign_builder_page(changeset)} end @impl true + # ignore change events from the editor field def handle_event("validate", %{"_target" => ["live_monaco_editor", "template"]}, socket) do - # ignore change events from the editor field {:noreply, socket} end @@ -166,6 +145,17 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do assign(socket, :form, to_form(changeset)) end + defp assign_builder_page(socket, changeset) do + with {:ok, page} <- Changeset.apply_action(changeset, :update), + %{data: builder_page} <- WebAPI.Page.show(page.site, page) do + assign(socket, :builder_page, builder_page) + else + # TODO: handle errors + _ -> + assign(socket, :builder_page, nil) + end + end + defp assign_extra_fields(socket, changeset) do params = Ecto.Changeset.get_field(changeset, :extra) @@ -219,13 +209,23 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do <%= compile_stylesheet(@page) %> + <%= inspect(@editor) %> + +

    + <%= String.slice(@form[:template].value, 0..100) %> +

    + +

    + <%= String.slice(@builder_page.template, 0..100) %> +

    + <.header> <%= @page_title %> <:actions> - <.button :if={!@visual_mode} type="button" phx-click="enable_visual_mode" class="uppercase">Visual Editor - <.button :if={@visual_mode} type="button" phx-click="disable_visual_mode" class="uppercase">Code Editor + <.button :if={@editor == "code"} type="button" phx-click="enable_editor" phx-value-editor="visual" class="uppercase">Visual Editor + <.button :if={@editor == "visual"} type="button" phx-click="enable_editor" phx-value-editor="code" class="uppercase">Code Editor <.button :if={@live_action == :new} phx-disable-with="Saving..." form="page-form" class="uppercase">Create Draft Page <.button :if={@live_action == :edit} phx-disable-with="Saving..." form="page-form" class="uppercase">Save Changes <.button :if={@live_action == :edit} phx-click={show_modal("publish-confirm-modal")} phx-target={@myself} class="uppercase">Publish @@ -257,22 +257,19 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do
    - <%!--

    Page.template: <%= @page.template %>

    --%> -

    Template: <%= @form[:template].value %>

    - <%!--

    form: <%= inspect(@form) %>

    --%> - <.svelte name="components/UiBuilder" class={[ "relative overflow-x-hidden", - if(!@visual_mode, do: "hidden") + if(@editor == "code", do: "hidden") ]} props={%{components: @components, page: @builder_page}} socket={@socket} /> +
    <.form :let={f} for={@form} id="page-form" class="space-y-8" phx-target={@myself} phx-change="validate" phx-submit="save"> From ab33df2e8a619cace8dc6237fcc80d4875fc90e5 Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Mon, 15 Jan 2024 18:47:38 -0500 Subject: [PATCH 035/141] WIP: fix 2-way sync in the New live view --- .../live_admin/live/page_editor_live/edit.ex | 4 +- .../live/page_editor_live/form_component.ex | 23 ++----- .../live_admin/live/page_editor_live/new.ex | 64 ++++++++----------- lib/beacon/live_admin/private.ex | 4 +- 4 files changed, 33 insertions(+), 62 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/edit.ex b/lib/beacon/live_admin/live/page_editor_live/edit.ex index f0254e67..f79550b3 100644 --- a/lib/beacon/live_admin/live/page_editor_live/edit.ex +++ b/lib/beacon/live_admin/live/page_editor_live/edit.ex @@ -19,6 +19,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do {:ok, assign(socket, + page_title: "Edit Page", page: page, components: components, editor: editor @@ -28,7 +29,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do @impl true def handle_params(params, _url, socket) do editor = Map.get(params, "editor", "code") - {:noreply, assign(socket, page_title: "Edit Page", editor: editor)} + {:noreply, assign(socket, editor: editor)} end @impl true @@ -41,7 +42,6 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do {:noreply, socket} end - @impl true def handle_event("enable_editor", %{"editor" => editor}, socket) do path = Beacon.LiveAdmin.Router.beacon_live_admin_path( diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index 3104ad24..1ba6f675 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -200,6 +200,9 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do defp compile_stylesheet(%{site: _, template: _}), do: "" + defp svelte_page_builder_class("code" = _editor), do: "hidden" + defp svelte_page_builder_class("visual" = _editor), do: "relative overflow-x-hidden" + @impl true @spec render(any()) :: Phoenix.LiveView.Rendered.t() def render(assigns) do @@ -209,16 +212,6 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do <%= compile_stylesheet(@page) %> - <%= inspect(@editor) %> - -

    - <%= String.slice(@form[:template].value, 0..100) %> -

    - -

    - <%= String.slice(@builder_page.template, 0..100) %> -

    - <.header> @@ -257,15 +250,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do
    - <.svelte - name="components/UiBuilder" - class={[ - "relative overflow-x-hidden", - if(@editor == "code", do: "hidden") - ]} - props={%{components: @components, page: @builder_page}} - socket={@socket} - /> + <.svelte name="components/UiBuilder" class={svelte_page_builder_class(@editor)} props={%{components: @components, page: @builder_page}} socket={@socket} />
    ", - site: socket.assigns.beacon_page.site - } - } - ) - - {:ok, socket} + @impl true + def mount(params, _session, socket) do + components = Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) + %{data: components} = BeaconWeb.API.ComponentJSON.index(%{components: components}) + editor = Map.get(params, "editor", "code") + + {:ok, + assign(socket, + page_title: "Create New Page", + components: components, + page: %Beacon.Content.Page{ + path: "", + site: socket.assigns.beacon_page.site, + layout: %Beacon.Content.Layout{ + template: "<%= @inner_content %>", + site: socket.assigns.beacon_page.site + } + }, + editor: editor + )} end @impl true def handle_params(params, _url, socket) do - {:noreply, assign(socket, visual_mode: params["visual_mode"] === "true")} + editor = Map.get(params, "editor", "code") + {:noreply, assign(socket, editor: editor)} end @impl true @@ -50,26 +49,13 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do {:noreply, socket} end - @impl true - def handle_event("enable_visual_mode", _args, socket) do + def handle_event("enable_editor", %{"editor" => editor}, socket) do path = Beacon.LiveAdmin.Router.beacon_live_admin_path( socket, socket.assigns.beacon_page.site, "/pages/new", - %{visual_mode: "true"} - ) - - {:noreply, push_patch(socket, to: path)} - end - - @impl true - def handle_event("disable_visual_mode", _args, socket) do - path = - Beacon.LiveAdmin.Router.beacon_live_admin_path( - socket, - socket.assigns.beacon_page.site, - "/pages/new" + %{editor: editor} ) {:noreply, push_patch(socket, to: path)} @@ -107,7 +93,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do site={@beacon_page.site} page_title={@page_title} components={@components} - visual_mode={@visual_mode} + editor={@editor} live_action={@live_action} page={@page} patch="/pages" diff --git a/lib/beacon/live_admin/private.ex b/lib/beacon/live_admin/private.ex index 670fbd08..017a66a3 100644 --- a/lib/beacon/live_admin/private.ex +++ b/lib/beacon/live_admin/private.ex @@ -1,8 +1,8 @@ defmodule Beacon.LiveAdmin.Private do @doc false - # Call to private APIs. - # Those should be handled carefully and not be spread over the codebase. + # Concentrate calls to private APIs so it's easier to track breaking changes. + # Should be avoided as much as possible. def mount(params, session, socket) do Phoenix.LiveView.Lifecycle.mount(params, session, socket) From a446f402db7aff9b0556ca550e2ff38f98a9bd22 Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Tue, 16 Jan 2024 17:57:26 +0100 Subject: [PATCH 036/141] Fix a couple warnings --- assets/svelte/components/PagePreview.svelte | 39 ++++++++++--------- .../components/PropertiesSidebar.svelte | 1 + 2 files changed, 22 insertions(+), 18 deletions(-) diff --git a/assets/svelte/components/PagePreview.svelte b/assets/svelte/components/PagePreview.svelte index 264bda13..9326b7f9 100644 --- a/assets/svelte/components/PagePreview.svelte +++ b/assets/svelte/components/PagePreview.svelte @@ -48,25 +48,28 @@
    - -
    -
    - {#each $page.layout.ast as layoutAstNode} - - {#each $page.ast as astNode, index} - - {/each} - - {/each} + {#if $page} + +
    +
    + {#each $page.layout.ast as layoutAstNode} + + {#each $page.ast as astNode, index} + + {/each} + + {/each} +
    -
    - + + {/if}
    From f9080444eaba459db07b04142dec8e2dff8c9b06 Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Thu, 18 Jan 2024 10:57:35 -0500 Subject: [PATCH 038/141] WIP: New and Edit - resolve and keep state - compile page stylesheet - update page builder on layout change --- config/config.exs | 2 + config/dev.exs | 1 + config/runtime.exs | 1 + config/test.exs | 3 + .../live_admin/live/page_editor_live/edit.ex | 44 +++++++------ .../live/page_editor_live/form_component.ex | 19 +++--- .../live_admin/live/page_editor_live/new.ex | 65 +++++++++++-------- lib/beacon/live_admin/page_live.ex | 3 +- 8 files changed, 81 insertions(+), 57 deletions(-) create mode 100644 config/dev.exs create mode 100644 config/runtime.exs create mode 100644 config/test.exs diff --git a/config/config.exs b/config/config.exs index b2fa667b..a61b1467 100644 --- a/config/config.exs +++ b/config/config.exs @@ -19,3 +19,5 @@ if Mix.env() == :dev do cd: Path.expand("../assets", __DIR__) ] end + +import_config "#{config_env()}.exs" diff --git a/config/dev.exs b/config/dev.exs new file mode 100644 index 00000000..becde769 --- /dev/null +++ b/config/dev.exs @@ -0,0 +1 @@ +import Config diff --git a/config/runtime.exs b/config/runtime.exs new file mode 100644 index 00000000..becde769 --- /dev/null +++ b/config/runtime.exs @@ -0,0 +1 @@ +import Config diff --git a/config/test.exs b/config/test.exs new file mode 100644 index 00000000..f1005927 --- /dev/null +++ b/config/test.exs @@ -0,0 +1,3 @@ +import Config + +config :logger, level: :error diff --git a/lib/beacon/live_admin/live/page_editor_live/edit.ex b/lib/beacon/live_admin/live/page_editor_live/edit.ex index f79550b3..66a4365f 100644 --- a/lib/beacon/live_admin/live/page_editor_live/edit.ex +++ b/lib/beacon/live_admin/live/page_editor_live/edit.ex @@ -1,7 +1,6 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do @moduledoc false - require IEx use Beacon.LiveAdmin.PageBuilder alias Beacon.LiveAdmin.Content alias Beacon.LiveAdmin.WebAPI @@ -11,25 +10,27 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do def menu_link(_, _), do: :skip @impl true - def mount(%{"id" => id} = params, _session, socket) do - page = Content.get_page(socket.assigns.beacon_page.site, id, preloads: [:layout]) - components = Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) - %{data: components} = BeaconWeb.API.ComponentJSON.index(%{components: components}) + def handle_params(params, _url, socket) do editor = Map.get(params, "editor", "code") + %{site: site} = socket.assigns.beacon_page - {:ok, - assign(socket, - page_title: "Edit Page", - page: page, - components: components, - editor: editor - )} - end + socket = + socket + |> assign_new(:layouts, fn -> Content.list_layouts(site) end) + |> assign_new(:components, fn -> + components = Content.list_components(site, per_page: :infinity) + %{data: components} = BeaconWeb.API.ComponentJSON.index(%{components: components}) + components + end) + |> assign_new(:page, fn -> Content.get_page(site, params["id"], preloads: [:layout]) end) - @impl true - def handle_params(params, _url, socket) do - editor = Map.get(params, "editor", "code") - {:noreply, assign(socket, editor: editor)} + socket = + assign(socket, + page_title: "Edit Page", + editor: editor + ) + + {:noreply, socket} end @impl true @@ -83,12 +84,13 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do <.live_component module={Beacon.LiveAdmin.PageEditorLive.FormComponent} id="page-editor-form-edit" - site={@beacon_page.site} - page_title={@page_title} live_action={@live_action} - editor={@editor} - components={@components} + page_title={@page_title} + site={@beacon_page.site} + layouts={@layouts} page={@page} + components={@components} + editor={@editor} patch="/pages" /> """ diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index 830ee2f5..3a7f227c 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -25,7 +25,6 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do |> assign(assigns) |> assign_form(changeset) |> assign_builder_page(changeset) - |> assign_new(:layouts, fn -> Content.list_layouts(site) end) |> assign(:language, language(page.format)) |> assign_extra_fields(changeset)} end @@ -71,7 +70,10 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do |> Content.validate_page(socket.assigns.page, page_params) |> Map.put(:action, :validate) - {:noreply, assign_form(socket, changeset)} + {:noreply, + socket + |> assign_form(changeset) + |> assign_builder_page(changeset)} end def handle_event("validate", %{"page" => page_params}, socket) do @@ -83,6 +85,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do {:noreply, socket |> assign_form(changeset) + |> assign_builder_page(changeset) |> assign_extra_fields(changeset)} end @@ -115,7 +118,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do {:noreply, socket |> put_flash(:info, "Page created successfully") - |> push_patch(to: to)} + |> push_navigate(to: to)} {:error, changeset} -> changeset = Map.put(changeset, :action, :insert) @@ -195,15 +198,13 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do {:safe, html} end - # track @form which gets updated on template changes - # to force recompiling the page stylesheet - defp compile_stylesheet(%{source: %Changeset{} = changeset}) do + defp compile_stylesheet(%{source: %Changeset{} = changeset}, "visual" = _editor) do site = Changeset.get_field(changeset, :site) - template = Changeset.get_field(changeset, :template) + template = Changeset.get_field(changeset, :template) || "" Beacon.LiveAdmin.Layouts.page_stylesheet(site, template) end - defp compile_stylesheet(_), do: "" + defp compile_stylesheet(_, _), do: "" defp svelte_page_builder_class("code" = _editor), do: "hidden" defp svelte_page_builder_class("visual" = _editor), do: "relative overflow-x-hidden" @@ -214,7 +215,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do ~H"""
    diff --git a/lib/beacon/live_admin/live/page_editor_live/new.ex b/lib/beacon/live_admin/live/page_editor_live/new.ex index a49eb7a5..a3059017 100644 --- a/lib/beacon/live_admin/live/page_editor_live/new.ex +++ b/lib/beacon/live_admin/live/page_editor_live/new.ex @@ -4,39 +4,51 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do use Beacon.LiveAdmin.PageBuilder alias Beacon.LiveAdmin.Content alias Beacon.LiveAdmin.WebAPI - require Logger @impl true - @spec menu_link(any(), any()) :: :skip | {:submenu, <<_::40>>} def menu_link("/pages", :new), do: {:submenu, "Pages"} def menu_link(_, _), do: :skip @impl true - def mount(params, _session, socket) do - components = Content.list_components(socket.assigns.beacon_page.site, per_page: :infinity) - %{data: components} = BeaconWeb.API.ComponentJSON.index(%{components: components}) + def handle_params(params, _url, socket) do editor = Map.get(params, "editor", "code") + %{site: site} = socket.assigns.beacon_page + + socket = + socket + |> assign_new(:layouts, fn -> Content.list_layouts(site) end) + |> assign_new(:components, fn -> + components = Content.list_components(site, per_page: :infinity) + %{data: components} = BeaconWeb.API.ComponentJSON.index(%{components: components}) + components + end) + + socket = + assign(socket, + page_title: "Create New Page", + editor: editor, + page: build_new_page(site, socket.assigns.layouts) + ) - {:ok, - assign(socket, - page_title: "Create New Page", - components: components, - page: %Beacon.Content.Page{ - path: "", - site: socket.assigns.beacon_page.site, - layout: %Beacon.Content.Layout{ - template: "<%= @inner_content %>", - site: socket.assigns.beacon_page.site - } - }, - editor: editor - )} + {:noreply, socket} end - @impl true - def handle_params(params, _url, socket) do - editor = Map.get(params, "editor", "code") - {:noreply, assign(socket, editor: editor)} + defp build_new_page(site, [layout | _] = _layouts) do + %Beacon.Content.Page{ + path: "", + site: site, + layout_id: layout.id, + layout: layout + } + end + + defp build_new_page(site, _layouts) do + %Beacon.Content.Page{ + path: "", + site: site, + layout_id: nil, + layout: nil + } end @impl true @@ -90,12 +102,13 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do <.live_component module={Beacon.LiveAdmin.PageEditorLive.FormComponent} id="page-editor-form-new" - site={@beacon_page.site} + live_action={@live_action} page_title={@page_title} + site={@beacon_page.site} + layouts={@layouts} + page={@page} components={@components} editor={@editor} - live_action={@live_action} - page={@page} patch="/pages" /> """ diff --git a/lib/beacon/live_admin/page_live.ex b/lib/beacon/live_admin/page_live.ex index 2e1c0256..c04c1d77 100644 --- a/lib/beacon/live_admin/page_live.ex +++ b/lib/beacon/live_admin/page_live.ex @@ -215,7 +215,8 @@ defmodule Beacon.LiveAdmin.PageLive do path = Beacon.LiveAdmin.Router.beacon_live_admin_path(socket, page.site, path) assigns = %{text: text, icon: icon, path: path} - # force redirect to re-execute plug to fecth current url + # use href to force redirecting to re-execute plug to fecth current url + # more info at https://github.com/phoenixframework/phoenix_live_view/pull/2654 ~H""" <.link href={@path} From 67f457121e5958959abd20490ecc155e75c6d0fc Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Thu, 18 Jan 2024 11:02:24 -0500 Subject: [PATCH 039/141] fix test and clean up --- .../live_admin/live/error_page_editor_live/index_test.exs | 2 +- .../live_admin/live/layout_editor_live/edit_test.exs | 5 +---- test/beacon/live_admin/live/page_editor_live/new_test.exs | 8 +++++--- 3 files changed, 7 insertions(+), 8 deletions(-) diff --git a/test/beacon/live_admin/live/error_page_editor_live/index_test.exs b/test/beacon/live_admin/live/error_page_editor_live/index_test.exs index 9fa431bb..d6c689c4 100644 --- a/test/beacon/live_admin/live/error_page_editor_live/index_test.exs +++ b/test/beacon/live_admin/live/error_page_editor_live/index_test.exs @@ -48,7 +48,7 @@ defmodule Beacon.LiveAdmin.ErrorPageEditorLive.IndexTest do end test "update an error page", %{conn: conn, another_layout: layout} do - {:ok, view, html} = live(conn, "/admin/site_a/error_pages/404") + {:ok, view, _html} = live(conn, "/admin/site_a/error_pages/404") assert has_element?(view, "[selected=\"selected\"]", "Default") diff --git a/test/beacon/live_admin/live/layout_editor_live/edit_test.exs b/test/beacon/live_admin/live/layout_editor_live/edit_test.exs index 3325aa8a..a2dfbd24 100644 --- a/test/beacon/live_admin/live/layout_editor_live/edit_test.exs +++ b/test/beacon/live_admin/live/layout_editor_live/edit_test.exs @@ -51,10 +51,7 @@ defmodule Beacon.LiveAdmin.LayoutEditorLive.EditTest do assert html =~ "Published" end - test "simple remove nils from resource_links", %{ - conn: conn, - resource_links_layout: resource_links_layout - } do + test "simple remove nils from resource_links" do map = Beacon.LiveAdmin.LayoutEditorLive.ResourceLinks.coerce_resource_link_params(%{ "resource_links" => %{ diff --git a/test/beacon/live_admin/live/page_editor_live/new_test.exs b/test/beacon/live_admin/live/page_editor_live/new_test.exs index f1e9a427..4131eca8 100644 --- a/test/beacon/live_admin/live/page_editor_live/new_test.exs +++ b/test/beacon/live_admin/live/page_editor_live/new_test.exs @@ -16,9 +16,11 @@ defmodule Beacon.LiveAdmin.PageEditorLive.NewTest do test "create new page and patch to edit page", %{conn: conn} do {:ok, live, _html} = live(conn, "/admin/site_a/pages/new") - live - |> form("#page-form", page: %{path: "/my/page", title: "My Page", format: "heex"}) - |> render_submit(%{page: %{"template" => "
    test
    "}}) + assert {:ok, live, _html} = + live + |> form("#page-form", page: %{path: "/my/page", title: "My Page", format: "heex"}) + |> render_submit(%{page: %{"template" => "
    test
    "}}) + |> follow_redirect(conn) assert has_element?(live, "h1", "Edit Page") assert has_element?(live, "button", "Save Changes") From 3679e013875ab640e613db0570124191863db732 Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Fri, 19 Jan 2024 20:44:48 +0100 Subject: [PATCH 040/141] Try to use shadow-dom for the editor --- assets/build.js | 14 +++++- assets/package-lock.json | 54 +++++++++------------ assets/package.json | 4 +- assets/svelte/components/PagePreview.svelte | 16 ++---- assets/svelte/components/PageWrapper.svelte | 25 ++++++++++ package-lock.json | 6 +++ 6 files changed, 71 insertions(+), 48 deletions(-) create mode 100644 assets/svelte/components/PageWrapper.svelte create mode 100644 package-lock.json diff --git a/assets/build.js b/assets/build.js index be54b65d..cc59cd91 100644 --- a/assets/build.js +++ b/assets/build.js @@ -29,7 +29,12 @@ let optsClient = { importGlobPlugin(), sveltePlugin({ preprocess: sveltePreprocess(), - compilerOptions: { dev: !deploy, hydratable: true, css: "injected" }, + compilerOptions: { + dev: !deploy, + hydratable: true, + css: "injected", + customElement: true + }, }), ], } @@ -50,7 +55,12 @@ let optsServer = { importGlobPlugin(), sveltePlugin({ preprocess: sveltePreprocess(), - compilerOptions: { dev: !deploy, hydratable: true, generate: "ssr" }, + compilerOptions: { + dev: !deploy, + hydratable: true, + generate: "ssr", + customElement: true + }, }), ], } diff --git a/assets/package-lock.json b/assets/package-lock.json index 94b07d3d..ea619908 100644 --- a/assets/package-lock.json +++ b/assets/package-lock.json @@ -19,8 +19,8 @@ "eslint": "^8.40.0", "eslint-config-prettier": "^8.8.0", "prettier": "^2.8.8", - "svelte": "^4.2.1", - "svelte-preprocess": "^5.0.4", + "svelte": "^4.2.9", + "svelte-preprocess": "^5.1.3", "typescript": "^5.2.2" } }, @@ -740,9 +740,9 @@ } }, "node_modules/axobject-query": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.2.1.tgz", - "integrity": "sha512-jsyHu61e6N4Vbz/v18DHwWYKK0bSWLqn47eeDSKPB7m8tqMHF9YJ+mhIk2lVteyZrY8tnSj/jHOv4YiTCuCJgg==", + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.0.0.tgz", + "integrity": "sha512-+60uv1hiVFhHZeO+Lz0RYzsVHy5Wr1ayX0mwda9KPDVLNJgZ1T9Ny7VmFbLDzxsH0D87I86vgj3gFrjTJUYznw==", "dev": true, "dependencies": { "dequal": "^2.0.3" @@ -1724,9 +1724,9 @@ "dev": true }, "node_modules/magic-string": { - "version": "0.30.4", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.4.tgz", - "integrity": "sha512-Q/TKtsC5BPm0kGqgBIF9oXAs/xEf2vRKiIB4wCRQTJOQIByZ1d+NnUOotvJOvNpi5RNIgVOMC3pOuaP1ZTDlVg==", + "version": "0.30.5", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.5.tgz", + "integrity": "sha512-7xlpfBaQaP/T6Vh8MO/EqXSW5En6INHEvEXQiuff7Gku0PWjU3uf6w/j9o7O+SpB5fOAkrI5HeoNgwjEO0pFsA==", "dev": true, "dependencies": { "@jridgewell/sourcemap-codec": "^1.4.15" @@ -2502,23 +2502,24 @@ } }, "node_modules/svelte": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.1.tgz", - "integrity": "sha512-LpLqY2Jr7cRxkrTc796/AaaoMLF/1ax7cto8Ot76wrvKQhrPmZ0JgajiWPmg9mTSDqO16SSLiD17r9MsvAPTmw==", + "version": "4.2.9", + "resolved": "https://registry.npmjs.org/svelte/-/svelte-4.2.9.tgz", + "integrity": "sha512-hsoB/WZGEPFXeRRLPhPrbRz67PhP6sqYgvwcAs+gWdSQSvNDw+/lTeUJSWe5h2xC97Fz/8QxAOqItwBzNJPU8w==", "dev": true, "dependencies": { "@ampproject/remapping": "^2.2.1", "@jridgewell/sourcemap-codec": "^1.4.15", "@jridgewell/trace-mapping": "^0.3.18", + "@types/estree": "^1.0.1", "acorn": "^8.9.0", "aria-query": "^5.3.0", - "axobject-query": "^3.2.1", + "axobject-query": "^4.0.0", "code-red": "^1.0.3", "css-tree": "^2.3.1", "estree-walker": "^3.0.3", "is-reference": "^3.0.1", "locate-character": "^3.0.0", - "magic-string": "^0.30.0", + "magic-string": "^0.30.4", "periscopic": "^3.1.0" }, "engines": { @@ -2526,32 +2527,33 @@ } }, "node_modules/svelte-preprocess": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-5.0.4.tgz", - "integrity": "sha512-ABia2QegosxOGsVlsSBJvoWeXy1wUKSfF7SWJdTjLAbx/Y3SrVevvvbFNQqrSJw89+lNSsM58SipmZJ5SRi5iw==", + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/svelte-preprocess/-/svelte-preprocess-5.1.3.tgz", + "integrity": "sha512-xxAkmxGHT+J/GourS5mVJeOXZzne1FR5ljeOUAMXUkfEhkLEllRreXpbl3dIYJlcJRfL1LO1uIAPpBpBfiqGPw==", "dev": true, "hasInstallScript": true, "dependencies": { "@types/pug": "^2.0.6", "detect-indent": "^6.1.0", - "magic-string": "^0.27.0", + "magic-string": "^0.30.5", "sorcery": "^0.11.0", "strip-indent": "^3.0.0" }, "engines": { - "node": ">= 14.10.0" + "node": ">= 16.0.0", + "pnpm": "^8.0.0" }, "peerDependencies": { "@babel/core": "^7.10.2", "coffeescript": "^2.5.1", "less": "^3.11.3 || ^4.0.0", "postcss": "^7 || ^8", - "postcss-load-config": "^2.1.0 || ^3.0.0 || ^4.0.0", + "postcss-load-config": "^2.1.0 || ^3.0.0 || ^4.0.0 || ^5.0.0", "pug": "^3.0.0", "sass": "^1.26.8", "stylus": "^0.55.0", "sugarss": "^2.0.0 || ^3.0.0 || ^4.0.0", - "svelte": "^3.23.0 || ^4.0.0-next.0 || ^4.0.0", + "svelte": "^3.23.0 || ^4.0.0-next.0 || ^4.0.0 || ^5.0.0-next.0", "typescript": ">=3.9.5 || ^4.0.0 || ^5.0.0" }, "peerDependenciesMeta": { @@ -2587,18 +2589,6 @@ } } }, - "node_modules/svelte-preprocess/node_modules/magic-string": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.27.0.tgz", - "integrity": "sha512-8UnnX2PeRAPZuN12svgR9j7M1uWMovg/CEnIwIG0LFkXSJJe4PdfUGiTGl8V9bsBHFUtfVINcSyYxd7q+kx9fA==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.13" - }, - "engines": { - "node": ">=12" - } - }, "node_modules/tailwindcss": { "version": "3.3.3", "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-3.3.3.tgz", diff --git a/assets/package.json b/assets/package.json index 10b3c3fd..9299fb42 100644 --- a/assets/package.json +++ b/assets/package.json @@ -12,8 +12,8 @@ "eslint": "^8.40.0", "eslint-config-prettier": "^8.8.0", "prettier": "^2.8.8", - "svelte": "^4.2.1", - "svelte-preprocess": "^5.0.4", + "svelte": "^4.2.9", + "svelte-preprocess": "^5.1.3", "typescript": "^5.2.2" }, "dependencies": { diff --git a/assets/svelte/components/PagePreview.svelte b/assets/svelte/components/PagePreview.svelte index 9326b7f9..7c4c5447 100644 --- a/assets/svelte/components/PagePreview.svelte +++ b/assets/svelte/components/PagePreview.svelte @@ -1,7 +1,5 @@ + + + {#each $page.layout.ast as layoutAstNode} + + {#each $page.ast as astNode, index} + + {/each} + + {/each} + + \ No newline at end of file diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 00000000..45446e2a --- /dev/null +++ b/package-lock.json @@ -0,0 +1,6 @@ +{ + "name": "beacon_live_admin", + "lockfileVersion": 3, + "requires": true, + "packages": {} +} From 5893b852e443a980c096d2d6335df3783b50c55c Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Fri, 19 Jan 2024 23:33:18 +0100 Subject: [PATCH 041/141] Seems to work --- assets/svelte/components/PageWrapper.svelte | 25 +++++++++++++------ assets/svelte/components/UiBuilder.svelte | 3 +++ assets/svelte/stores/styles.ts | 5 ++++ .../live/page_editor_live/form_component.ex | 6 ++--- 4 files changed, 29 insertions(+), 10 deletions(-) create mode 100644 assets/svelte/stores/styles.ts diff --git a/assets/svelte/components/PageWrapper.svelte b/assets/svelte/components/PageWrapper.svelte index 8a367a82..184febe3 100644 --- a/assets/svelte/components/PageWrapper.svelte +++ b/assets/svelte/components/PageWrapper.svelte @@ -5,16 +5,27 @@ import PageAstNode from './PageAstNode.svelte'; import { selectedAstElementId } from "$lib/stores/page"; import { page } from "$lib/stores/page"; + import { styles as stylesStore } from "$lib/stores/styles"; + let span: HTMLSpanElement; + $: { + if (span) { + span.innerHTML = ''; + let styleEl = document.createElement('style'); + styleEl.innerHTML = $stylesStore; + span.append(styleEl); + } + } + - {#each $page.layout.ast as layoutAstNode} - - {#each $page.ast as astNode, index} - - {/each} - - {/each} +{#each $page.layout.ast as layoutAstNode} + + {#each $page.ast as astNode, index} + + {/each} + +{/each} + --%> @@ -256,7 +256,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do
    - <.svelte name="components/UiBuilder" class={svelte_page_builder_class(@editor)} props={%{components: @components, page: @builder_page}} socket={@socket} /> + <.svelte name="components/UiBuilder" class={svelte_page_builder_class(@editor)} props={%{components: @components, page: @builder_page, styles: compile_stylesheet(@form, @editor) }} socket={@socket} />
    Date: Sat, 20 Jan 2024 01:26:24 +0100 Subject: [PATCH 042/141] Remove commented code --- lib/beacon/live_admin/live/page_editor_live/form_component.ex | 4 ---- 1 file changed, 4 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index ce5eb773..47819d38 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -214,10 +214,6 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do def render(assigns) do ~H"""
    - <%!-- --%> - <.header> From dc123fd5364e8aeaabbf736152b65dbbbed0d37d Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Thu, 25 Jan 2024 17:46:22 -0500 Subject: [PATCH 043/141] do not compile ast on every keystroke --- .../live_admin/live/page_editor_live/form_component.ex | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index 47819d38..3387a428 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -148,6 +148,14 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do assign(socket, :form, to_form(changeset)) end + defp assign_builder_page( + %{assigns: %{editor: "code", builder_page: builder_page}} = socket, + changeset + ) + when not is_nil(builder_page) do + socket + end + defp assign_builder_page(socket, changeset) do with {:ok, page} <- Changeset.apply_action(changeset, :update), %{data: builder_page} <- WebAPI.Page.show(page.site, page) do @@ -252,7 +260,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do
    - <.svelte name="components/UiBuilder" class={svelte_page_builder_class(@editor)} props={%{components: @components, page: @builder_page, styles: compile_stylesheet(@form, @editor) }} socket={@socket} /> + <.svelte name="components/UiBuilder" class={svelte_page_builder_class(@editor)} props={%{components: @components, page: @builder_page, styles: compile_stylesheet(@form, @editor)}} socket={@socket} />
    Date: Thu, 25 Jan 2024 17:48:19 -0500 Subject: [PATCH 044/141] mark unused arg --- lib/beacon/live_admin/live/page_editor_live/form_component.ex | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index 3387a428..08ef94ae 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -150,7 +150,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do defp assign_builder_page( %{assigns: %{editor: "code", builder_page: builder_page}} = socket, - changeset + _changeset ) when not is_nil(builder_page) do socket From 21ab158e986cf764b291b56ebdfff3fc610139ab Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Fri, 26 Jan 2024 21:33:06 +0100 Subject: [PATCH 045/141] Fix some frontend issues --- assets/svelte/components/LayoutAstNode.svelte | 10 ++++++---- 1 file changed, 6 insertions(+), 4 deletions(-) diff --git a/assets/svelte/components/LayoutAstNode.svelte b/assets/svelte/components/LayoutAstNode.svelte index 83f424ce..76d2683e 100644 --- a/assets/svelte/components/LayoutAstNode.svelte +++ b/assets/svelte/components/LayoutAstNode.svelte @@ -13,13 +13,15 @@ {:else if node.rendered_html} {@html node.rendered_html} - {:else if node.attrs.selfClose} + {:else if node.attrs?.selfClose} {:else} - {#each node.content as subnode, index} - - {/each} + {#if node.content} + {#each node.content as subnode, index} + + {/each} + {/if} {/if} {:else} From e1e2089b8bef460b84a9a6842d09bc21e2a30905 Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Fri, 26 Jan 2024 17:26:17 -0500 Subject: [PATCH 046/141] include layout template in the generated page stylesheet --- .../live_admin/live/page_editor_live/form_component.ex | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index 08ef94ae..0574de49 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -208,7 +208,14 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do defp compile_stylesheet(%{source: %Changeset{} = changeset}, "visual" = _editor) do site = Changeset.get_field(changeset, :site) - template = Changeset.get_field(changeset, :template) || "" + + template = + List.to_string([ + Map.get(Changeset.get_field(changeset, :layout, %{}), :template, ""), + "\n", + Changeset.get_field(changeset, :template) || "" + ]) + Beacon.LiveAdmin.Layouts.page_stylesheet(site, template) end From c0286906cf4c472d2690bdba81c25117ec93c018 Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Sat, 27 Jan 2024 00:57:24 +0100 Subject: [PATCH 047/141] New blog post about LiveSvelte / Beacon --- lib/beacon/live_admin/live/page_editor_live/form_component.ex | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index 08ef94ae..8948dc69 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -221,6 +221,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do @spec render(any()) :: Phoenix.LiveView.Rendered.t() def render(assigns) do ~H""" +
    From 3a0427534bfb5abc98f683d3375b14b767008864 Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Sat, 3 Feb 2024 00:04:59 +0100 Subject: [PATCH 048/141] Push some fixes --- assets/svelte/components/ComponentsSidebar.svelte | 2 +- .../live_admin/live/page_editor_live/form_component.ex | 8 ++++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/assets/svelte/components/ComponentsSidebar.svelte b/assets/svelte/components/ComponentsSidebar.svelte index 8416ac09..4a9d56a9 100644 --- a/assets/svelte/components/ComponentsSidebar.svelte +++ b/assets/svelte/components/ComponentsSidebar.svelte @@ -66,7 +66,7 @@
    - D | T | P +
    From 62e1a12b0ae7c90c2343e34a1c16a05d079a035b Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Thu, 8 Feb 2024 11:00:36 -0500 Subject: [PATCH 050/141] assets.build --- priv/static/beacon_live_admin.js | 1538 +++++++++++++++++++----------- 1 file changed, 966 insertions(+), 572 deletions(-) diff --git a/priv/static/beacon_live_admin.js b/priv/static/beacon_live_admin.js index 4751aeab..575ba23c 100644 --- a/priv/static/beacon_live_admin.js +++ b/priv/static/beacon_live_admin.js @@ -812,7 +812,6 @@ var BeaconLiveAdmin = (() => { this._onMount.forEach((callback) => callback(monaco)); this._setScreenDependantEditorOptions(); const resizeObserver = new ResizeObserver((entries) => { - console.log("resizeObserver"); entries.forEach(() => { if (this.el.offsetHeight > 0) { this._setScreenDependantEditorOptions(); @@ -822,7 +821,6 @@ var BeaconLiveAdmin = (() => { }); resizeObserver.observe(this.el); this.standalone_code_editor.onDidContentSizeChange(() => { - console.log("onDidContentSizeChanges"); const contentHeight = this.standalone_code_editor.getContentHeight(); this.el.style.height = `${contentHeight}px`; }); @@ -857,12 +855,13 @@ var BeaconLiveAdmin = (() => { opts ); this.codeEditor.onMount((monaco) => { - this.el.dispatchEvent( - new CustomEvent("lme:editor_mounted", { - detail: { hook: this, editor: this.codeEditor }, - bubbles: true - }) - ); + if (this.el.dataset.changeEvent && this.el.dataset.changeEvent !== "") { + this.codeEditor.standalone_code_editor.onDidChangeModelContent(() => { + this.pushEvent(this.el.dataset.changeEvent, { + value: this.codeEditor.standalone_code_editor.getValue() + }); + }); + } this.handleEvent( "lme:change_language:" + this.el.dataset.path, (data) => { @@ -883,6 +882,12 @@ var BeaconLiveAdmin = (() => { }); this.el.removeAttribute("data-value"); this.el.removeAttribute("data-opts"); + this.el.dispatchEvent( + new CustomEvent("lme:editor_mounted", { + detail: { hook: this, editor: this.codeEditor }, + bubbles: true + }) + ); }); if (!this.codeEditor.isMounted()) { this.codeEditor.mount(); @@ -1040,9 +1045,9 @@ var BeaconLiveAdmin = (() => { tar ); } - function add_location(element2, file12, line, column, char) { + function add_location(element2, file13, line, column, char) { element2.__svelte_meta = { - loc: { file: file12, line, column, char } + loc: { file: file13, line, column, char } }; } function run(fn) { @@ -1313,12 +1318,12 @@ var BeaconLiveAdmin = (() => { function append(target, node) { target.appendChild(node); } - function append_styles(target, style_sheet_id, styles) { + function append_styles(target, style_sheet_id, styles2) { const append_styles_to = get_root_for_style(target); if (!append_styles_to.getElementById(style_sheet_id)) { const style = element("style"); style.id = style_sheet_id; - style.textContent = styles; + style.textContent = styles2; append_stylesheet(append_styles_to, style); } } @@ -1450,7 +1455,10 @@ var BeaconLiveAdmin = (() => { }); } function set_custom_element_data(node, prop, value) { - if (prop in node) { + const lower = prop.toLowerCase(); + if (lower in node) { + node[lower] = typeof node[lower] === "boolean" && value === "" ? true : value; + } else if (prop in node) { node[prop] = typeof node[prop] === "boolean" && value === "" ? true : value; } else { attr(node, prop, value); @@ -1581,6 +1589,9 @@ var BeaconLiveAdmin = (() => { detach2(html_tag_nodes[0]); detach2(html_tag_nodes[html_tag_nodes.length - 1]); const claimed_nodes = html_tag_nodes.slice(1, html_tag_nodes.length - 1); + if (claimed_nodes.length === 0) { + return new HtmlTagHydration(is_svg); + } for (const n of claimed_nodes) { n.claim_order = nodes.claim_info.total_claimed; nodes.claim_info.total_claimed += 1; @@ -2287,7 +2298,7 @@ var BeaconLiveAdmin = (() => { } component.$$.dirty[i / 31 | 0] |= 1 << i % 31; } - function init2(component, options, instance12, create_fragment12, not_equal, props, append_styles2 = null, dirty = [-1]) { + function init2(component, options, instance13, create_fragment13, not_equal, props, append_styles2 = null, dirty = [-1]) { const parent_component = current_component; set_current_component(component); const $$ = component.$$ = { @@ -2313,7 +2324,7 @@ var BeaconLiveAdmin = (() => { }; append_styles2 && append_styles2($$.root); let ready = false; - $$.ctx = instance12 ? instance12(component, options.props || {}, (i, ret, ...rest) => { + $$.ctx = instance13 ? instance13(component, options.props || {}, (i, ret, ...rest) => { const value = rest.length ? rest[0] : ret; if ($$.ctx && not_equal($$.ctx[i], $$.ctx[i] = value)) { if (!$$.skip_bound && $$.bound[i]) @@ -2326,7 +2337,7 @@ var BeaconLiveAdmin = (() => { $$.update(); ready = true; run_all($$.before_update); - $$.fragment = create_fragment12 ? create_fragment12($$.ctx) : false; + $$.fragment = create_fragment13 ? create_fragment13($$.ctx) : false; if (options.target) { if (options.hydrate) { start_hydrating(); @@ -2438,6 +2449,12 @@ var BeaconLiveAdmin = (() => { this.$$d[name] = get_custom_element_value(name, attribute.value, this.$$p_d, "toProp"); } } + for (const key in this.$$p_d) { + if (!(key in this.$$d) && this[key] !== void 0) { + this.$$d[key] = this[key]; + delete this[key]; + } + } this.$$c = new this.$$ctor({ target: this.shadowRoot || this, props: { @@ -2535,6 +2552,44 @@ var BeaconLiveAdmin = (() => { } } } + function create_custom_element(Component, props_definition, slots, accessors, use_shadow_dom, extend) { + let Class = class extends SvelteElement { + constructor() { + super(Component, slots, use_shadow_dom); + this.$$p_d = props_definition; + } + static get observedAttributes() { + return Object.keys(props_definition).map( + (key) => (props_definition[key].attribute || key).toLowerCase() + ); + } + }; + Object.keys(props_definition).forEach((prop) => { + Object.defineProperty(Class.prototype, prop, { + get() { + return this.$$c && prop in this.$$c ? this.$$c[prop] : this.$$d[prop]; + }, + set(value) { + value = get_custom_element_value(prop, value, props_definition); + this.$$d[prop] = value; + this.$$c?.$set({ [prop]: value }); + } + }); + }); + accessors.forEach((accessor) => { + Object.defineProperty(Class.prototype, accessor, { + get() { + return this.$$c?.[accessor]; + } + }); + }); + if (extend) { + Class = extend(Class); + } + Component.element = /** @type {any} */ + Class; + return Class; + } var SvelteComponent = class { constructor() { /** @@ -2591,7 +2646,7 @@ var BeaconLiveAdmin = (() => { }; // node_modules/svelte/src/shared/version.js - var VERSION = "4.2.1"; + var VERSION = "4.2.9"; var PUBLIC_VERSION = "4"; // node_modules/svelte/src/runtime/internal/dev.js @@ -2993,6 +3048,7 @@ var BeaconLiveAdmin = (() => { }); } }; + create_custom_element(Backdrop, {}, [], [], true); var Backdrop_default = Backdrop; // svelte/components/BrowserFrame.svelte @@ -3021,8 +3077,8 @@ var BeaconLiveAdmin = (() => { let t3; let t4; let div3; - let textContent = "D | T | P"; - let t6; + let textContent = ``; + let t5; let current; const default_slot_template = ( /*#slots*/ @@ -3052,8 +3108,8 @@ var BeaconLiveAdmin = (() => { t3 = text(t3_value); t4 = space(); div3 = element("div"); - div3.textContent = textContent; - t6 = space(); + div3.innerHTML = textContent; + t5 = space(); if (default_slot) default_slot.c(); this.h(); @@ -3087,10 +3143,10 @@ var BeaconLiveAdmin = (() => { div2_nodes.forEach(detach_dev); t4 = claim_space(div4_nodes); div3 = claim_element(div4_nodes, "DIV", { class: true, ["data-svelte-h"]: true }); - if (get_svelte_dataset(div3) !== "svelte-v12u6m") - div3.textContent = textContent; + if (get_svelte_dataset(div3) !== "svelte-1czp51h") + div3.innerHTML = textContent; div4_nodes.forEach(detach_dev); - t6 = claim_space(div5_nodes); + t5 = claim_space(div5_nodes); if (default_slot) default_slot.l(div5_nodes); div5_nodes.forEach(detach_dev); @@ -3136,7 +3192,7 @@ var BeaconLiveAdmin = (() => { append_hydration_dev(span3, t3); append_hydration_dev(div4, t4); append_hydration_dev(div4, div3); - append_hydration_dev(div5, t6); + append_hydration_dev(div5, t5); if (default_slot) { default_slot.m(div5, null); } @@ -3245,12 +3301,14 @@ var BeaconLiveAdmin = (() => { }); } get page() { - throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + return this.$$.ctx[0]; } - set page(value) { - throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + set page(page2) { + this.$$set({ page: page2 }); + flush(); } }; + create_custom_element(BrowserFrame, { "page": {} }, ["default"], [], true); var BrowserFrame_default = BrowserFrame; // svelte/components/CodeEditor.svelte @@ -3956,12 +4014,14 @@ var BeaconLiveAdmin = (() => { }); } get value() { - throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + return this.$$.ctx[1]; } set value(value) { - throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + this.$$set({ value }); + flush(); } }; + create_custom_element(CodeEditor2, { "value": {} }, [], [], true); var CodeEditor_default = CodeEditor2; // svelte/components/ComponentsSidebar.svelte @@ -4457,7 +4517,7 @@ var BeaconLiveAdmin = (() => { let div1; let div0; let span; - let textContent = "Beacon CMS"; + let textContent = "Components"; let t1; let ul; let t2; @@ -4535,7 +4595,7 @@ var BeaconLiveAdmin = (() => { div0 = claim_element(div1_nodes, "DIV", { class: true, "data-test-id": true }); var div0_nodes = children(div0); span = claim_element(div0_nodes, "SPAN", { class: true, ["data-svelte-h"]: true }); - if (get_svelte_dataset(span) !== "svelte-1cdjyeb") + if (get_svelte_dataset(span) !== "svelte-ce1df2") span.textContent = textContent; div0_nodes.forEach(detach_dev); t1 = claim_space(div1_nodes); @@ -4956,12 +5016,14 @@ var BeaconLiveAdmin = (() => { }); } get components() { - throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + return this.$$.ctx[10]; } - set components(value) { - throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + set components(components) { + this.$$set({ components }); + flush(); } }; + create_custom_element(ComponentsSidebar, { "components": {} }, [], [], true); var ComponentsSidebar_default = ComponentsSidebar; // svelte/components/LayoutAstNode.svelte @@ -5064,7 +5126,7 @@ var BeaconLiveAdmin = (() => { block, id: create_else_block_1.name, type: "else", - source: "(23:0) {:else}", + source: "(25:0) {:else}", ctx }); return block; @@ -5107,7 +5169,7 @@ var BeaconLiveAdmin = (() => { return 3; if ( /*node*/ - ctx2[0].attrs.selfClose + ctx2[0].attrs?.selfClose ) return 4; return 5; @@ -5353,7 +5415,7 @@ var BeaconLiveAdmin = (() => { block, id: create_if_block_5.name, type: "if", - source: "(14:33) ", + source: "(14:34) ", ctx }); return block; @@ -5578,6 +5640,100 @@ var BeaconLiveAdmin = (() => { }); return block; } + function create_if_block_6(ctx) { + let each_1_anchor; + let current; + let each_value = ensure_array_like_dev( + /*node*/ + ctx[0].content + ); + let each_blocks = []; + for (let i = 0; i < each_value.length; i += 1) { + each_blocks[i] = create_each_block2(get_each_context2(ctx, each_value, i)); + } + const out = (i) => transition_out(each_blocks[i], 1, 1, () => { + each_blocks[i] = null; + }); + const block = { + c: function create3() { + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].c(); + } + each_1_anchor = empty(); + }, + l: function claim(nodes) { + for (let i = 0; i < each_blocks.length; i += 1) { + each_blocks[i].l(nodes); + } + each_1_anchor = empty(); + }, + m: function mount(target, anchor) { + for (let i = 0; i < each_blocks.length; i += 1) { + if (each_blocks[i]) { + each_blocks[i].m(target, anchor); + } + } + insert_hydration_dev(target, each_1_anchor, anchor); + current = true; + }, + p: function update2(ctx2, dirty) { + if (dirty & /*node*/ + 1) { + each_value = ensure_array_like_dev( + /*node*/ + ctx2[0].content + ); + let i; + for (i = 0; i < each_value.length; i += 1) { + const child_ctx = get_each_context2(ctx2, each_value, i); + if (each_blocks[i]) { + each_blocks[i].p(child_ctx, dirty); + transition_in(each_blocks[i], 1); + } else { + each_blocks[i] = create_each_block2(child_ctx); + each_blocks[i].c(); + transition_in(each_blocks[i], 1); + each_blocks[i].m(each_1_anchor.parentNode, each_1_anchor); + } + } + group_outros(); + for (i = each_value.length; i < each_blocks.length; i += 1) { + out(i); + } + check_outros(); + } + }, + i: function intro(local) { + if (current) + return; + for (let i = 0; i < each_value.length; i += 1) { + transition_in(each_blocks[i]); + } + current = true; + }, + o: function outro(local) { + each_blocks = each_blocks.filter(Boolean); + for (let i = 0; i < each_blocks.length; i += 1) { + transition_out(each_blocks[i]); + } + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(each_1_anchor); + } + destroy_each(each_blocks, detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_if_block_6.name, + type: "if", + source: "(18:6) {#if node.content}", + ctx + }); + return block; + } function create_each_block2(ctx) { let layoutastnode; let current; @@ -5625,7 +5781,7 @@ var BeaconLiveAdmin = (() => { block, id: create_each_block2.name, type: "each", - source: "(18:6) {#each node.content as subnode, index}", + source: "(19:8) {#each node.content as subnode, index}", ctx }); return block; @@ -5633,17 +5789,10 @@ var BeaconLiveAdmin = (() => { function create_dynamic_element_1(ctx) { let svelte_element; let current; - let each_value = ensure_array_like_dev( + let if_block = ( /*node*/ - ctx[0].content + ctx[0].content && create_if_block_6(ctx) ); - let each_blocks = []; - for (let i = 0; i < each_value.length; i += 1) { - each_blocks[i] = create_each_block2(get_each_context2(ctx, each_value, i)); - } - const out = (i) => transition_out(each_blocks[i], 1, 1, () => { - each_blocks[i] = null; - }); let svelte_element_levels = [ /*node*/ ctx[0].attrs @@ -5658,9 +5807,8 @@ var BeaconLiveAdmin = (() => { /*node*/ ctx[0].tag ); - for (let i = 0; i < each_blocks.length; i += 1) { - each_blocks[i].c(); - } + if (if_block) + if_block.c(); this.h(); }, l: function claim(nodes) { @@ -5671,9 +5819,8 @@ var BeaconLiveAdmin = (() => { {} ); var svelte_element_nodes = children(svelte_element); - for (let i = 0; i < each_blocks.length; i += 1) { - each_blocks[i].l(svelte_element_nodes); - } + if (if_block) + if_block.l(svelte_element_nodes); svelte_element_nodes.forEach(detach_dev); this.h(); }, @@ -5682,41 +5829,36 @@ var BeaconLiveAdmin = (() => { /*node*/ ctx[0].tag )(svelte_element, svelte_element_data); - add_location(svelte_element, file5, 18, 4, 529); + add_location(svelte_element, file5, 18, 4, 530); }, m: function mount(target, anchor) { insert_hydration_dev(target, svelte_element, anchor); - for (let i = 0; i < each_blocks.length; i += 1) { - if (each_blocks[i]) { - each_blocks[i].m(svelte_element, null); - } - } + if (if_block) + if_block.m(svelte_element, null); current = true; }, p: function update2(ctx2, dirty) { - if (dirty & /*node*/ - 1) { - each_value = ensure_array_like_dev( - /*node*/ - ctx2[0].content - ); - let i; - for (i = 0; i < each_value.length; i += 1) { - const child_ctx = get_each_context2(ctx2, each_value, i); - if (each_blocks[i]) { - each_blocks[i].p(child_ctx, dirty); - transition_in(each_blocks[i], 1); - } else { - each_blocks[i] = create_each_block2(child_ctx); - each_blocks[i].c(); - transition_in(each_blocks[i], 1); - each_blocks[i].m(svelte_element, null); + if ( + /*node*/ + ctx2[0].content + ) { + if (if_block) { + if_block.p(ctx2, dirty); + if (dirty & /*node*/ + 1) { + transition_in(if_block, 1); } + } else { + if_block = create_if_block_6(ctx2); + if_block.c(); + transition_in(if_block, 1); + if_block.m(svelte_element, null); } + } else if (if_block) { group_outros(); - for (i = each_value.length; i < each_blocks.length; i += 1) { - out(i); - } + transition_out(if_block, 1, 1, () => { + if_block = null; + }); check_outros(); } set_dynamic_element_data( @@ -5729,23 +5871,19 @@ var BeaconLiveAdmin = (() => { i: function intro(local) { if (current) return; - for (let i = 0; i < each_value.length; i += 1) { - transition_in(each_blocks[i]); - } + transition_in(if_block); current = true; }, o: function outro(local) { - each_blocks = each_blocks.filter(Boolean); - for (let i = 0; i < each_blocks.length; i += 1) { - transition_out(each_blocks[i]); - } + transition_out(if_block); current = false; }, d: function destroy(detaching) { if (detaching) { detach_dev(svelte_element); } - destroy_each(each_blocks, detaching); + if (if_block) + if_block.d(); } }; dispatch_dev("SvelteRegisterBlock", { @@ -5790,7 +5928,7 @@ var BeaconLiveAdmin = (() => { /*node*/ ctx[0].tag )(svelte_element, svelte_element_data); - add_location(svelte_element, file5, 16, 4, 465); + add_location(svelte_element, file5, 16, 4, 466); }, m: function mount(target, anchor) { insert_hydration_dev(target, svelte_element, anchor); @@ -5945,12 +6083,14 @@ var BeaconLiveAdmin = (() => { }); } get node() { - throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + return this.$$.ctx[0]; } - set node(value) { - throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + set node(node) { + this.$$set({ node }); + flush(); } }; + create_custom_element(LayoutAstNode, { "node": {} }, ["default"], [], true); var LayoutAstNode_default = LayoutAstNode; // svelte/components/PageAstNode.svelte @@ -7203,18 +7343,21 @@ var BeaconLiveAdmin = (() => { }); } get node() { - throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + return this.$$.ctx[0]; } - set node(value) { - throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + set node(node) { + this.$$set({ node }); + flush(); } get nodeId() { - throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + return this.$$.ctx[1]; } - set nodeId(value) { - throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + set nodeId(nodeId) { + this.$$set({ nodeId }); + flush(); } }; + create_custom_element(PageAstNode, { "node": {}, "nodeId": {} }, ["default"], [], true); var PageAstNode_default = PageAstNode; // svelte/components/PagePreview.svelte @@ -7224,83 +7367,513 @@ var BeaconLiveAdmin = (() => { }); var file7 = "svelte/components/PagePreview.svelte"; function add_css2(target) { - append_styles(target, "svelte-xdxbam", '[data-selected="true"], [data-highlighted="true"]{outline-color:#06b6d4;outline-width:2px;outline-style:dashed}.contents[data-nochildren="true"], .contents[data-nochildren="true"]{display:inline}[data-slot-target="true"]{outline-color:red;outline-width:2px;outline-style:dashed}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFnZVByZXZpZXcuc3ZlbHRlIiwibWFwcGluZ3MiOiJBQXlFVSxpREFBbUQsQ0FDekQsYUFBYSxDQUFFLE9BQU8sQ0FDdEIsYUFBYSxDQUFFLEdBQUcsQ0FDbEIsYUFBYSxDQUFFLE1BQ2pCLENBQ1Esb0VBQXNFLENBSTVFLE9BQU8sQ0FBRSxNQUNYLENBQ1EseUJBQTJCLENBQ2pDLGFBQWEsQ0FBRSxHQUFHLENBQ2xCLGFBQWEsQ0FBRSxHQUFHLENBQ2xCLGFBQWEsQ0FBRSxNQUNqQiIsIm5hbWVzIjpbXSwic291cmNlcyI6WyJQYWdlUHJldmlldy5zdmVsdGUiXX0= */'); - } - function get_each_context4(ctx, list, i) { - const child_ctx = ctx.slice(); - child_ctx[11] = list[i]; - return child_ctx; + append_styles(target, "svelte-y00j5s", '.contents[data-nochildren="true"], .contents[data-nochildren="true"]{display:inline}[data-slot-target="true"]{outline-color:red;outline-width:2px;outline-style:dashed}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFnZVByZXZpZXcuc3ZlbHRlIiwibWFwcGluZ3MiOiJBQXdFVSxvRUFBc0UsQ0FJNUUsT0FBTyxDQUFFLE1BQ1gsQ0FDUSx5QkFBMkIsQ0FDakMsYUFBYSxDQUFFLEdBQUcsQ0FDbEIsYUFBYSxDQUFFLEdBQUcsQ0FDbEIsYUFBYSxDQUFFLE1BQ2pCIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIlBhZ2VQcmV2aWV3LnN2ZWx0ZSJdfQ== */'); } - function get_each_context_12(ctx, list, i) { - const child_ctx = ctx.slice(); - child_ctx[14] = list[i]; - child_ctx[16] = i; - return child_ctx; - } - function create_each_block_12(ctx) { - let pageastnode; + function create_if_block5(ctx) { + let browserframe; let current; - pageastnode = new PageAstNode_default({ + browserframe = new BrowserFrame_default({ props: { - node: ( - /*astNode*/ - ctx[14] + page: ( + /*$page*/ + ctx[1] ), - nodeId: ( - /*index*/ - ctx[16] - ) + $$slots: { default: [create_default_slot] }, + $$scope: { ctx } }, $$inline: true }); const block = { c: function create3() { - create_component(pageastnode.$$.fragment); + create_component(browserframe.$$.fragment); }, l: function claim(nodes) { - claim_component(pageastnode.$$.fragment, nodes); + claim_component(browserframe.$$.fragment, nodes); }, m: function mount(target, anchor) { - mount_component(pageastnode, target, anchor); + mount_component(browserframe, target, anchor); current = true; }, p: function update2(ctx2, dirty) { - const pageastnode_changes = {}; + const browserframe_changes = {}; if (dirty & /*$page*/ 2) - pageastnode_changes.node = /*astNode*/ - ctx2[14]; - pageastnode.$set(pageastnode_changes); + browserframe_changes.page = /*$page*/ + ctx2[1]; + if (dirty & /*$$scope, isDraggingOver, $selectedAstElementId*/ + 2053) { + browserframe_changes.$$scope = { dirty, ctx: ctx2 }; + } + browserframe.$set(browserframe_changes); }, i: function intro(local) { if (current) return; - transition_in(pageastnode.$$.fragment, local); + transition_in(browserframe.$$.fragment, local); current = true; }, o: function outro(local) { - transition_out(pageastnode.$$.fragment, local); + transition_out(browserframe.$$.fragment, local); current = false; }, d: function destroy(detaching) { - destroy_component(pageastnode, detaching); + destroy_component(browserframe, detaching); } }; dispatch_dev("SvelteRegisterBlock", { block, - id: create_each_block_12.name, - type: "each", - source: "(77:12) {#each $page.ast as astNode, index}", + id: create_if_block5.name, + type: "if", + source: "(63:2) {#if $page}", ctx }); return block; } - function create_default_slot_1(ctx) { - let t; - let current; - let each_value_1 = ensure_array_like_dev( - /*$page*/ - ctx[1].ast + function create_default_slot(ctx) { + let div1; + let div0; + let page_wrapper; + let div0_data_selected_value; + let div1_class_value; + let mounted; + let dispose; + const block = { + c: function create3() { + div1 = element("div"); + div0 = element("div"); + page_wrapper = element("page-wrapper"); + this.h(); + }, + l: function claim(nodes) { + div1 = claim_element(nodes, "DIV", { + role: true, + style: true, + id: true, + class: true, + "data-test-id": true + }); + var div1_nodes = children(div1); + div0 = claim_element(div1_nodes, "DIV", { + id: true, + class: true, + "data-selected": true + }); + var div0_nodes = children(div0); + page_wrapper = claim_element(div0_nodes, "PAGE-WRAPPER", {}); + children(page_wrapper).forEach(detach_dev); + div0_nodes.forEach(detach_dev); + div1_nodes.forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + add_location(page_wrapper, file7, 59, 10, 3379); + attr_dev(div0, "id", "page-wrapper"); + attr_dev(div0, "class", "p-1 m-1"); + attr_dev(div0, "data-selected", div0_data_selected_value = /*$selectedAstElementId*/ + ctx[2] === "root"); + add_location(div0, file7, 58, 8, 3280); + attr_dev(div1, "role", "document"); + set_style(div1, "--outlined-id", "title-1"); + attr_dev(div1, "id", "fake-browser-content"); + attr_dev(div1, "class", div1_class_value = "bg-white rounded-b-xl relative overflow-hidden flex-1 " + /*isDraggingOver*/ + (ctx[0] && "border-dashed border-blue-500 border-2")); + attr_dev(div1, "data-test-id", "browser-content"); + add_location(div1, file7, 50, 6, 2903); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, div1, anchor); + append_hydration_dev(div1, div0); + append_hydration_dev(div0, page_wrapper); + if (!mounted) { + dispose = [ + listen_dev(div1, "drop", prevent_default( + /*handleDragDrop*/ + ctx[3] + ), false, true, false, false), + listen_dev(div1, "dragover", prevent_default( + /*dragOver*/ + ctx[4] + ), false, true, false, false) + ]; + mounted = true; + } + }, + p: function update2(ctx2, dirty) { + if (dirty & /*$selectedAstElementId*/ + 4 && div0_data_selected_value !== (div0_data_selected_value = /*$selectedAstElementId*/ + ctx2[2] === "root")) { + attr_dev(div0, "data-selected", div0_data_selected_value); + } + if (dirty & /*isDraggingOver*/ + 1 && div1_class_value !== (div1_class_value = "bg-white rounded-b-xl relative overflow-hidden flex-1 " + /*isDraggingOver*/ + (ctx2[0] && "border-dashed border-blue-500 border-2"))) { + attr_dev(div1, "class", div1_class_value); + } + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(div1); + } + mounted = false; + run_all(dispose); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_default_slot.name, + type: "slot", + source: "(64:4) ", + ctx + }); + return block; + } + function create_fragment7(ctx) { + let div; + let current; + let if_block = ( + /*$page*/ + ctx[1] && create_if_block5(ctx) + ); + const block = { + c: function create3() { + div = element("div"); + if (if_block) + if_block.c(); + this.h(); + }, + l: function claim(nodes) { + div = claim_element(nodes, "DIV", { class: true, "data-test-id": true }); + var div_nodes = children(div); + if (if_block) + if_block.l(div_nodes); + div_nodes.forEach(detach_dev); + this.h(); + }, + h: function hydrate() { + attr_dev(div, "class", "flex-1 px-8 py-4 flex max-h-full"); + attr_dev(div, "data-test-id", "main"); + add_location(div, file7, 47, 0, 2784); + }, + m: function mount(target, anchor) { + insert_hydration_dev(target, div, anchor); + if (if_block) + if_block.m(div, null); + current = true; + }, + p: function update2(ctx2, [dirty]) { + if ( + /*$page*/ + ctx2[1] + ) { + if (if_block) { + if_block.p(ctx2, dirty); + if (dirty & /*$page*/ + 2) { + transition_in(if_block, 1); + } + } else { + if_block = create_if_block5(ctx2); + if_block.c(); + transition_in(if_block, 1); + if_block.m(div, null); + } + } else if (if_block) { + group_outros(); + transition_out(if_block, 1, 1, () => { + if_block = null; + }); + check_outros(); + } + }, + i: function intro(local) { + if (current) + return; + transition_in(if_block); + current = true; + }, + o: function outro(local) { + transition_out(if_block); + current = false; + }, + d: function destroy(detaching) { + if (detaching) { + detach_dev(div); + } + if (if_block) + if_block.d(); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_fragment7.name, + type: "component", + source: "", + ctx + }); + return block; + } + function instance7($$self, $$props, $$invalidate) { + let $page; + let $slotTargetElement; + let $draggedObject; + let $currentComponentCategory; + let $selectedAstElementId; + validate_store(page, "page"); + component_subscribe($$self, page, ($$value) => $$invalidate(1, $page = $$value)); + validate_store(slotTargetElement, "slotTargetElement"); + component_subscribe($$self, slotTargetElement, ($$value) => $$invalidate(6, $slotTargetElement = $$value)); + validate_store(draggedObject, "draggedObject"); + component_subscribe($$self, draggedObject, ($$value) => $$invalidate(7, $draggedObject = $$value)); + validate_store(currentComponentCategory, "currentComponentCategory"); + component_subscribe($$self, currentComponentCategory, ($$value) => $$invalidate(8, $currentComponentCategory = $$value)); + validate_store(selectedAstElementId, "selectedAstElementId"); + component_subscribe($$self, selectedAstElementId, ($$value) => $$invalidate(2, $selectedAstElementId = $$value)); + let { $$slots: slots = {}, $$scope } = $$props; + validate_slots("PagePreview", slots, []); + var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) { + function adopt(value) { + return value instanceof P ? value : new P(function(resolve) { + resolve(value); + }); + } + return new (P || (P = Promise))(function(resolve, reject) { + function fulfilled(value) { + try { + step(generator.next(value)); + } catch (e) { + reject(e); + } + } + function rejected(value) { + try { + step(generator["throw"](value)); + } catch (e) { + reject(e); + } + } + function step(result) { + result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); + } + step((generator = generator.apply(thisArg, _arguments || [])).next()); + }); + }; + let { live } = $$props; + let isDraggingOver = false; + function handleDragDrop(e) { + return __awaiter(this, void 0, void 0, function* () { + let { target } = e; + set_store_value(currentComponentCategory, $currentComponentCategory = null, $currentComponentCategory); + if (!$draggedObject) + return; + if ($draggedObject.category === "basic") { + if (!(target instanceof HTMLElement)) + return; + if (target.id === "fake-browser-content") + return; + if (!$slotTargetElement) + return; + if ($slotTargetElement.attrs.selfClose) + return; + addBasicComponentToTarget2($slotTargetElement); + } else { + live.pushEvent( + "render_component_in_page", + { + component_id: $draggedObject.id, + page_id: $page.id + }, + ({ ast }) => { + live.pushEvent("update_page_ast", { + id: $page.id, + ast: [...$page.ast, ...ast] + }); + } + ); + } + $$invalidate(0, isDraggingOver = false); + }); + } + function addBasicComponentToTarget2(astElement) { + return __awaiter(this, void 0, void 0, function* () { + if (!$draggedObject) + return; + let componentDefinition = $draggedObject; + set_store_value(draggedObject, $draggedObject = null, $draggedObject); + let targetNode = astElement; + live.pushEvent( + "render_component_in_page", + { + component_id: componentDefinition.id, + page_id: $page.id + }, + ({ ast }) => { + targetNode === null || targetNode === void 0 ? void 0 : targetNode.content.push(...ast); + set_store_value(slotTargetElement, $slotTargetElement = void 0, $slotTargetElement); + live.pushEvent("update_page_ast", { id: $page.id, ast: $page.ast }); + } + ); + }); + } + function dragOver() { + $$invalidate(0, isDraggingOver = true); + } + $$self.$$.on_mount.push(function() { + if (live === void 0 && !("live" in $$props || $$self.$$.bound[$$self.$$.props["live"]])) { + console.warn(" was created without expected prop 'live'"); + } + }); + const writable_props = ["live"]; + Object.keys($$props).forEach((key) => { + if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$" && key !== "slot") + console.warn(` was created with unknown prop '${key}'`); + }); + $$self.$$set = ($$props2) => { + if ("live" in $$props2) + $$invalidate(5, live = $$props2.live); + }; + $$self.$capture_state = () => ({ + __awaiter, + BrowserFrame: BrowserFrame_default, + selectedAstElementId, + currentComponentCategory, + page, + slotTargetElement, + draggedObject, + live, + isDraggingOver, + handleDragDrop, + addBasicComponentToTarget: addBasicComponentToTarget2, + dragOver, + $page, + $slotTargetElement, + $draggedObject, + $currentComponentCategory, + $selectedAstElementId + }); + $$self.$inject_state = ($$props2) => { + if ("__awaiter" in $$props2) + __awaiter = $$props2.__awaiter; + if ("live" in $$props2) + $$invalidate(5, live = $$props2.live); + if ("isDraggingOver" in $$props2) + $$invalidate(0, isDraggingOver = $$props2.isDraggingOver); + }; + if ($$props && "$$inject" in $$props) { + $$self.$inject_state($$props.$$inject); + } + return [isDraggingOver, $page, $selectedAstElementId, handleDragDrop, dragOver, live]; + } + var PagePreview = class extends SvelteComponentDev { + constructor(options) { + super(options); + init2(this, options, instance7, create_fragment7, safe_not_equal, { live: 5 }, add_css2); + dispatch_dev("SvelteRegisterComponent", { + component: this, + tagName: "PagePreview", + options, + id: create_fragment7.name + }); + } + get live() { + return this.$$.ctx[5]; + } + set live(live) { + this.$$set({ live }); + flush(); + } + }; + create_custom_element(PagePreview, { "live": {} }, [], [], true); + var PagePreview_default = PagePreview; + + // svelte/components/PageWrapper.svelte + var PageWrapper_exports = {}; + __export(PageWrapper_exports, { + default: () => PageWrapper_default + }); + + // svelte/stores/styles.ts + var styles = writable(null); + + // svelte/components/PageWrapper.svelte + var file8 = "svelte/components/PageWrapper.svelte"; + function add_css3(target) { + append_styles(target, "svelte-1v7imuv", '[data-selected="true"], [data-highlighted="true"]{outline-color:#06b6d4;outline-width:2px;outline-style:dashed}\n/*# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiUGFnZVdyYXBwZXIuc3ZlbHRlIiwibWFwcGluZ3MiOiJBQThCWSxpREFBbUQsQ0FDekQsYUFBYSxDQUFFLE9BQU8sQ0FDdEIsYUFBYSxDQUFFLEdBQUcsQ0FDbEIsYUFBYSxDQUFFLE1BQ2pCIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIlBhZ2VXcmFwcGVyLnN2ZWx0ZSJdfQ== */'); + } + function get_each_context4(ctx, list, i) { + const child_ctx = ctx.slice(); + child_ctx[4] = list[i]; + return child_ctx; + } + function get_each_context_12(ctx, list, i) { + const child_ctx = ctx.slice(); + child_ctx[7] = list[i]; + child_ctx[9] = i; + return child_ctx; + } + function create_each_block_12(ctx) { + let pageastnode; + let current; + pageastnode = new PageAstNode_default({ + props: { + node: ( + /*astNode*/ + ctx[7] + ), + nodeId: String( + /*index*/ + ctx[9] + ) + }, + $$inline: true + }); + const block = { + c: function create3() { + create_component(pageastnode.$$.fragment); + }, + l: function claim(nodes) { + claim_component(pageastnode.$$.fragment, nodes); + }, + m: function mount(target, anchor) { + mount_component(pageastnode, target, anchor); + current = true; + }, + p: function update2(ctx2, dirty) { + const pageastnode_changes = {}; + if (dirty & /*$page*/ + 2) + pageastnode_changes.node = /*astNode*/ + ctx2[7]; + pageastnode.$set(pageastnode_changes); + }, + i: function intro(local) { + if (current) + return; + transition_in(pageastnode.$$.fragment, local); + current = true; + }, + o: function outro(local) { + transition_out(pageastnode.$$.fragment, local); + current = false; + }, + d: function destroy(detaching) { + destroy_component(pageastnode, detaching); + } + }; + dispatch_dev("SvelteRegisterBlock", { + block, + id: create_each_block_12.name, + type: "each", + source: "(22:4) {#each $page.ast as astNode, index}", + ctx + }); + return block; + } + function create_default_slot2(ctx) { + let t; + let current; + let each_value_1 = ensure_array_like_dev( + /*$page*/ + ctx[1].ast ); let each_blocks = []; for (let i = 0; i < each_value_1.length; i += 1) { @@ -7332,7 +7905,7 @@ var BeaconLiveAdmin = (() => { current = true; }, p: function update2(ctx2, dirty) { - if (dirty & /*$page*/ + if (dirty & /*$page, String*/ 2) { each_value_1 = ensure_array_like_dev( /*$page*/ @@ -7382,9 +7955,9 @@ var BeaconLiveAdmin = (() => { }; dispatch_dev("SvelteRegisterBlock", { block, - id: create_default_slot_1.name, + id: create_default_slot2.name, type: "slot", - source: "(76:10) ", + source: "(21:2) ", ctx }); return block; @@ -7396,9 +7969,9 @@ var BeaconLiveAdmin = (() => { props: { node: ( /*layoutAstNode*/ - ctx[11] + ctx[4] ), - $$slots: { default: [create_default_slot_1] }, + $$slots: { default: [create_default_slot2] }, $$scope: { ctx } }, $$inline: true @@ -7419,9 +7992,9 @@ var BeaconLiveAdmin = (() => { if (dirty & /*$page*/ 2) layoutastnode_changes.node = /*layoutAstNode*/ - ctx2[11]; + ctx2[4]; if (dirty & /*$$scope, $page*/ - 131074) { + 1026) { layoutastnode_changes.$$scope = { dirty, ctx: ctx2 }; } layoutastnode.$set(layoutastnode_changes); @@ -7444,19 +8017,16 @@ var BeaconLiveAdmin = (() => { block, id: create_each_block4.name, type: "each", - source: "(75:8) {#each $page.layout.ast as layoutAstNode}", + source: "(20:0) {#each $page.layout.ast as layoutAstNode}", ctx }); return block; } - function create_default_slot(ctx) { - let div1; - let div0; - let div0_data_selected_value; - let div1_class_value; + function create_fragment8(ctx) { + let span_1; + let t; + let each_1_anchor; let current; - let mounted; - let dispose; let each_value = ensure_array_like_dev( /*$page*/ ctx[1].layout.ast @@ -7470,396 +8040,175 @@ var BeaconLiveAdmin = (() => { }); const block = { c: function create3() { - div1 = element("div"); - div0 = element("div"); + span_1 = element("span"); + t = space(); for (let i = 0; i < each_blocks.length; i += 1) { each_blocks[i].c(); } + each_1_anchor = empty(); this.h(); }, l: function claim(nodes) { - div1 = claim_element(nodes, "DIV", { - style: true, - id: true, - class: true, - "data-test-id": true - }); - var div1_nodes = children(div1); - div0 = claim_element(div1_nodes, "DIV", { - id: true, - class: true, - "data-selected": true - }); - var div0_nodes = children(div0); + span_1 = claim_element(nodes, "SPAN", { id: true }); + children(span_1).forEach(detach_dev); + t = claim_space(nodes); for (let i = 0; i < each_blocks.length; i += 1) { - each_blocks[i].l(div0_nodes); + each_blocks[i].l(nodes); } - div0_nodes.forEach(detach_dev); - div1_nodes.forEach(detach_dev); + each_1_anchor = empty(); this.h(); }, h: function hydrate() { - attr_dev(div0, "id", "page-wrapper"); - attr_dev(div0, "class", "p-1 m-1"); - attr_dev(div0, "data-selected", div0_data_selected_value = /*$selectedAstElementId*/ - ctx[2] === "root"); - add_location(div0, file7, 59, 6, 3346); - set_style(div1, "--outlined-id", "title-1"); - attr_dev(div1, "id", "fake-browser-content"); - attr_dev(div1, "class", div1_class_value = "bg-white rounded-b-xl relative overflow-hidden flex-1 " + /*isDraggingOver*/ - (ctx[0] && "border-dashed border-blue-500 border-2")); - attr_dev(div1, "data-test-id", "browser-content"); - add_location(div1, file7, 52, 4, 3007); + attr_dev(span_1, "id", "style-target"); + add_location(span_1, file8, 19, 0, 522); }, m: function mount(target, anchor) { - insert_hydration_dev(target, div1, anchor); - append_hydration_dev(div1, div0); + insert_hydration_dev(target, span_1, anchor); + ctx[3](span_1); + insert_hydration_dev(target, t, anchor); for (let i = 0; i < each_blocks.length; i += 1) { if (each_blocks[i]) { - each_blocks[i].m(div0, null); - } - } - current = true; - if (!mounted) { - dispose = [ - listen_dev(div1, "drop", prevent_default( - /*handleDragDrop*/ - ctx[3] - ), false, true, false, false), - listen_dev(div1, "dragover", prevent_default( - /*dragOver*/ - ctx[4] - ), false, true, false, false) - ]; - mounted = true; - } - }, - p: function update2(ctx2, dirty) { - if (dirty & /*$page*/ - 2) { - each_value = ensure_array_like_dev( - /*$page*/ - ctx2[1].layout.ast - ); - let i; - for (i = 0; i < each_value.length; i += 1) { - const child_ctx = get_each_context4(ctx2, each_value, i); - if (each_blocks[i]) { - each_blocks[i].p(child_ctx, dirty); - transition_in(each_blocks[i], 1); - } else { - each_blocks[i] = create_each_block4(child_ctx); - each_blocks[i].c(); - transition_in(each_blocks[i], 1); - each_blocks[i].m(div0, null); - } - } - group_outros(); - for (i = each_value.length; i < each_blocks.length; i += 1) { - out(i); + each_blocks[i].m(target, anchor); } - check_outros(); - } - if (!current || dirty & /*$selectedAstElementId*/ - 4 && div0_data_selected_value !== (div0_data_selected_value = /*$selectedAstElementId*/ - ctx2[2] === "root")) { - attr_dev(div0, "data-selected", div0_data_selected_value); - } - if (!current || dirty & /*isDraggingOver*/ - 1 && div1_class_value !== (div1_class_value = "bg-white rounded-b-xl relative overflow-hidden flex-1 " + /*isDraggingOver*/ - (ctx2[0] && "border-dashed border-blue-500 border-2"))) { - attr_dev(div1, "class", div1_class_value); - } - }, - i: function intro(local) { - if (current) - return; - for (let i = 0; i < each_value.length; i += 1) { - transition_in(each_blocks[i]); - } - current = true; - }, - o: function outro(local) { - each_blocks = each_blocks.filter(Boolean); - for (let i = 0; i < each_blocks.length; i += 1) { - transition_out(each_blocks[i]); - } - current = false; - }, - d: function destroy(detaching) { - if (detaching) { - detach_dev(div1); } - destroy_each(each_blocks, detaching); - mounted = false; - run_all(dispose); - } - }; - dispatch_dev("SvelteRegisterBlock", { - block, - id: create_default_slot.name, - type: "slot", - source: "(66:2) ", - ctx - }); - return block; - } - function create_fragment7(ctx) { - let div; - let browserframe; - let current; - browserframe = new BrowserFrame_default({ - props: { - page: ( - /*$page*/ - ctx[1] - ), - $$slots: { default: [create_default_slot] }, - $$scope: { ctx } - }, - $$inline: true - }); - const block = { - c: function create3() { - div = element("div"); - create_component(browserframe.$$.fragment); - this.h(); - }, - l: function claim(nodes) { - div = claim_element(nodes, "DIV", { class: true, "data-test-id": true }); - var div_nodes = children(div); - claim_component(browserframe.$$.fragment, div_nodes); - div_nodes.forEach(detach_dev); - this.h(); - }, - h: function hydrate() { - attr_dev(div, "class", "flex-1 px-8 py-4 flex max-h-full"); - attr_dev(div, "data-test-id", "main"); - add_location(div, file7, 50, 0, 2906); - }, - m: function mount(target, anchor) { - insert_hydration_dev(target, div, anchor); - mount_component(browserframe, div, null); - current = true; - }, - p: function update2(ctx2, [dirty]) { - const browserframe_changes = {}; - if (dirty & /*$page*/ - 2) - browserframe_changes.page = /*$page*/ - ctx2[1]; - if (dirty & /*$$scope, isDraggingOver, $selectedAstElementId, $page*/ - 131079) { - browserframe_changes.$$scope = { dirty, ctx: ctx2 }; + insert_hydration_dev(target, each_1_anchor, anchor); + current = true; + }, + p: function update2(ctx2, [dirty]) { + if (dirty & /*$page, String*/ + 2) { + each_value = ensure_array_like_dev( + /*$page*/ + ctx2[1].layout.ast + ); + let i; + for (i = 0; i < each_value.length; i += 1) { + const child_ctx = get_each_context4(ctx2, each_value, i); + if (each_blocks[i]) { + each_blocks[i].p(child_ctx, dirty); + transition_in(each_blocks[i], 1); + } else { + each_blocks[i] = create_each_block4(child_ctx); + each_blocks[i].c(); + transition_in(each_blocks[i], 1); + each_blocks[i].m(each_1_anchor.parentNode, each_1_anchor); + } + } + group_outros(); + for (i = each_value.length; i < each_blocks.length; i += 1) { + out(i); + } + check_outros(); } - browserframe.$set(browserframe_changes); }, i: function intro(local) { if (current) return; - transition_in(browserframe.$$.fragment, local); + for (let i = 0; i < each_value.length; i += 1) { + transition_in(each_blocks[i]); + } current = true; }, o: function outro(local) { - transition_out(browserframe.$$.fragment, local); + each_blocks = each_blocks.filter(Boolean); + for (let i = 0; i < each_blocks.length; i += 1) { + transition_out(each_blocks[i]); + } current = false; }, d: function destroy(detaching) { if (detaching) { - detach_dev(div); + detach_dev(span_1); + detach_dev(t); + detach_dev(each_1_anchor); } - destroy_component(browserframe); + ctx[3](null); + destroy_each(each_blocks, detaching); } }; dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment7.name, + id: create_fragment8.name, type: "component", source: "", ctx }); return block; } - function instance7($$self, $$props, $$invalidate) { + function instance8($$self, $$props, $$invalidate) { + let $stylesStore; let $page; - let $slotTargetElement; - let $draggedObject; - let $currentComponentCategory; - let $selectedAstElementId; + validate_store(styles, "stylesStore"); + component_subscribe($$self, styles, ($$value) => $$invalidate(2, $stylesStore = $$value)); validate_store(page, "page"); component_subscribe($$self, page, ($$value) => $$invalidate(1, $page = $$value)); - validate_store(slotTargetElement, "slotTargetElement"); - component_subscribe($$self, slotTargetElement, ($$value) => $$invalidate(6, $slotTargetElement = $$value)); - validate_store(draggedObject, "draggedObject"); - component_subscribe($$self, draggedObject, ($$value) => $$invalidate(7, $draggedObject = $$value)); - validate_store(currentComponentCategory, "currentComponentCategory"); - component_subscribe($$self, currentComponentCategory, ($$value) => $$invalidate(8, $currentComponentCategory = $$value)); - validate_store(selectedAstElementId, "selectedAstElementId"); - component_subscribe($$self, selectedAstElementId, ($$value) => $$invalidate(2, $selectedAstElementId = $$value)); let { $$slots: slots = {}, $$scope } = $$props; - validate_slots("PagePreview", slots, []); - var __awaiter = this && this.__awaiter || function(thisArg, _arguments, P, generator) { - function adopt(value) { - return value instanceof P ? value : new P(function(resolve) { - resolve(value); - }); - } - return new (P || (P = Promise))(function(resolve, reject) { - function fulfilled(value) { - try { - step(generator.next(value)); - } catch (e) { - reject(e); - } - } - function rejected(value) { - try { - step(generator["throw"](value)); - } catch (e) { - reject(e); - } - } - function step(result) { - result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); - } - step((generator = generator.apply(thisArg, _arguments || [])).next()); - }); - }; - let { live } = $$props; - let isDraggingOver = false; - function handleDragDrop(e) { - return __awaiter(this, void 0, void 0, function* () { - let { target } = e; - set_store_value(currentComponentCategory, $currentComponentCategory = null, $currentComponentCategory); - if (!$draggedObject) - return; - if ($draggedObject.category === "basic") { - if (!(target instanceof HTMLElement)) - return; - if (target.id === "fake-browser-content") - return; - if (!$slotTargetElement) - return; - if ($slotTargetElement.attrs.selfClose) - return; - addBasicComponentToTarget2($slotTargetElement); - } else { - live.pushEvent( - "render_component_in_page", - { - component_id: $draggedObject.id, - page_id: $page.id - }, - ({ ast }) => { - live.pushEvent("update_page_ast", { - id: $page.id, - ast: [...$page.ast, ...ast] - }); - } - ); - } - $$invalidate(0, isDraggingOver = false); - }); - } - function addBasicComponentToTarget2(astElement) { - return __awaiter(this, void 0, void 0, function* () { - if (!$draggedObject) - return; - let componentDefinition = $draggedObject; - set_store_value(draggedObject, $draggedObject = null, $draggedObject); - let targetNode = astElement; - live.pushEvent( - "render_component_in_page", - { - component_id: componentDefinition.id, - page_id: $page.id - }, - ({ ast }) => { - targetNode === null || targetNode === void 0 ? void 0 : targetNode.content.push(...ast); - set_store_value(slotTargetElement, $slotTargetElement = void 0, $slotTargetElement); - live.pushEvent("update_page_ast", { id: $page.id, ast: $page.ast }); - } - ); - }); - } - function dragOver() { - $$invalidate(0, isDraggingOver = true); - } - $$self.$$.on_mount.push(function() { - if (live === void 0 && !("live" in $$props || $$self.$$.bound[$$self.$$.props["live"]])) { - console.warn(" was created without expected prop 'live'"); - } - }); - const writable_props = ["live"]; + validate_slots("page-wrapper", slots, []); + let span; + const writable_props = []; Object.keys($$props).forEach((key) => { if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$" && key !== "slot") - console.warn(` was created with unknown prop '${key}'`); + console.warn(` was created with unknown prop '${key}'`); }); - $$self.$$set = ($$props2) => { - if ("live" in $$props2) - $$invalidate(5, live = $$props2.live); - }; + function span_1_binding($$value) { + binding_callbacks[$$value ? "unshift" : "push"](() => { + span = $$value; + $$invalidate(0, span), $$invalidate(2, $stylesStore); + }); + } $$self.$capture_state = () => ({ - __awaiter, LayoutAstNode: LayoutAstNode_default, PageAstNode: PageAstNode_default, - BrowserFrame: BrowserFrame_default, - selectedAstElementId, - currentComponentCategory, page, - slotTargetElement, - draggedObject, - live, - isDraggingOver, - handleDragDrop, - addBasicComponentToTarget: addBasicComponentToTarget2, - dragOver, - $page, - $slotTargetElement, - $draggedObject, - $currentComponentCategory, - $selectedAstElementId + stylesStore: styles, + span, + $stylesStore, + $page }); $$self.$inject_state = ($$props2) => { - if ("__awaiter" in $$props2) - __awaiter = $$props2.__awaiter; - if ("live" in $$props2) - $$invalidate(5, live = $$props2.live); - if ("isDraggingOver" in $$props2) - $$invalidate(0, isDraggingOver = $$props2.isDraggingOver); + if ("span" in $$props2) + $$invalidate(0, span = $$props2.span); }; if ($$props && "$$inject" in $$props) { $$self.$inject_state($$props.$$inject); } - return [isDraggingOver, $page, $selectedAstElementId, handleDragDrop, dragOver, live]; + $$self.$$.update = () => { + if ($$self.$$.dirty & /*span, $stylesStore*/ + 5) { + $: { + if (span) { + $$invalidate(0, span.innerHTML = "", span); + let styleEl = document.createElement("style"); + styleEl.innerHTML = $stylesStore; + span.append(styleEl); + } + } + } + }; + return [span, $page, $stylesStore, span_1_binding]; } - var PagePreview = class extends SvelteComponentDev { + var PageWrapper = class extends SvelteComponentDev { constructor(options) { super(options); - init2(this, options, instance7, create_fragment7, safe_not_equal, { live: 5 }, add_css2); + init2(this, options, instance8, create_fragment8, safe_not_equal, {}, add_css3); dispatch_dev("SvelteRegisterComponent", { component: this, - tagName: "PagePreview", + tagName: "PageWrapper", options, - id: create_fragment7.name + id: create_fragment8.name }); } - get live() { - throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); - } - set live(value) { - throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); - } }; - var PagePreview_default = PagePreview; + customElements.define("page-wrapper", create_custom_element(PageWrapper, {}, [], [], true)); + var PageWrapper_default = PageWrapper; // svelte/components/Pill.svelte var Pill_exports = {}; __export(Pill_exports, { default: () => Pill_default }); - var file8 = "svelte/components/Pill.svelte"; - function create_fragment8(ctx) { + var file9 = "svelte/components/Pill.svelte"; + function create_fragment9(ctx) { let span; let t0; let button; @@ -7907,9 +8256,9 @@ var BeaconLiveAdmin = (() => { h: function hydrate() { attr_dev(button, "class", "rounded-full inline-block bg-gray-700 text-white ml-2"); attr_dev(button, "type", "button"); - add_location(button, file8, 7, 2, 233); + add_location(button, file9, 7, 2, 233); attr_dev(span, "class", "rounded-full bg-gray-700 text-white text-xs inline-block px-3 py-2 m-1 leading-4"); - add_location(span, file8, 5, 0, 119); + add_location(span, file9, 5, 0, 119); }, m: function mount(target, anchor) { insert_hydration_dev(target, span, anchor); @@ -7974,14 +8323,14 @@ var BeaconLiveAdmin = (() => { }; dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment8.name, + id: create_fragment9.name, type: "component", source: "", ctx }); return block; } - function instance8($$self, $$props, $$invalidate) { + function instance9($$self, $$props, $$invalidate) { let { $$slots: slots = {}, $$scope } = $$props; validate_slots("Pill", slots, ["default"]); const dispatch2 = createEventDispatcher(); @@ -8001,15 +8350,16 @@ var BeaconLiveAdmin = (() => { var Pill = class extends SvelteComponentDev { constructor(options) { super(options); - init2(this, options, instance8, create_fragment8, safe_not_equal, {}); + init2(this, options, instance9, create_fragment9, safe_not_equal, {}); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "Pill", options, - id: create_fragment8.name + id: create_fragment9.name }); } }; + create_custom_element(Pill, {}, ["default"], [], true); var Pill_default = Pill; // svelte/components/PropertiesSidebar.svelte @@ -8023,7 +8373,7 @@ var BeaconLiveAdmin = (() => { __export(SidebarSection_exports, { default: () => SidebarSection_default }); - var file9 = "svelte/components/SidebarSection.svelte"; + var file10 = "svelte/components/SidebarSection.svelte"; function get_each_context5(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[26] = list[i]; @@ -8123,7 +8473,7 @@ var BeaconLiveAdmin = (() => { }); return block; } - function create_if_block5(ctx) { + function create_if_block6(ctx) { let t; let div; let current; @@ -8173,7 +8523,7 @@ var BeaconLiveAdmin = (() => { }, h: function hydrate() { attr_dev(div, "class", "pt-3"); - add_location(div, file9, 79, 4, 2488); + add_location(div, file10, 79, 4, 2488); }, m: function mount(target, anchor) { if (input_slot_or_fallback) { @@ -8264,7 +8614,7 @@ var BeaconLiveAdmin = (() => { }; dispatch_dev("SvelteRegisterBlock", { block, - id: create_if_block5.name, + id: create_if_block6.name, type: "if", source: "(67:2) {#if $$slots['value']}", ctx @@ -8556,21 +8906,21 @@ var BeaconLiveAdmin = (() => { h: function hydrate() { attr_dev(path, "fill", "currentColor"); attr_dev(path, "d", "M4,3H5V5H3V4A1,1 0 0,1 4,3M20,3A1,1 0 0,1 21,4V5H19V3H20M15,5V3H17V5H15M11,5V3H13V5H11M7,5V3H9V5H7M21,20A1,1 0 0,1 20,21H19V19H21V20M15,21V19H17V21H15M11,21V19H13V21H11M7,21V19H9V21H7M4,21A1,1 0 0,1 3,20V19H5V21H4M3,15H5V17H3V15M21,15V17H19V15H21M3,11H5V13H3V11M21,11V13H19V11H21M3,7H5V9H3V7M21,7V9H19V7H21Z"); - add_location(path, file9, 112, 18, 3923); + add_location(path, file10, 112, 18, 3923); attr_dev(svg, "viewBox", "0 0 24 24"); - add_location(svg, file9, 111, 16, 3879); + add_location(svg, file10, 111, 16, 3879); attr_dev(button0, "class", "bg-blue-500 hover:bg-blue-700 text-white inline h-5 w-5 align-middle"); - add_location(button0, file9, 108, 14, 3708); + add_location(button0, file10, 108, 14, 3708); attr_dev(button1, "class", "bg-gray-500 hover:bg-gray-700 disabled:bg-gray-300 text-white inline h-5 w-5 align-middle"); button1.disabled = button1_disabled_value = /*idx*/ ctx[28] === 0; - add_location(button1, file9, 115, 14, 4330); + add_location(button1, file10, 115, 14, 4330); attr_dev(button2, "class", "bg-gray-500 hover:bg-gray-700 disabled:bg-gray-300 text-white inline h-5 w-5 align-middle"); button2.disabled = button2_disabled_value = /*idx*/ ctx[28] === /*astElements*/ ctx[4].length - 1; - add_location(button2, file9, 121, 14, 4611); - add_location(p, file9, 106, 12, 3542); + add_location(button2, file10, 121, 14, 4611); + add_location(p, file10, 106, 12, 3542); }, m: function mount(target, anchor) { insert_hydration_dev(target, p, anchor); @@ -8664,7 +9014,7 @@ var BeaconLiveAdmin = (() => { ); input.value = /*internalValue*/ ctx[3]; - add_location(input, file9, 93, 12, 3047); + add_location(input, file10, 93, 12, 3047); }, m: function mount(target, anchor) { insert_hydration_dev(target, input, anchor); @@ -8756,7 +9106,7 @@ var BeaconLiveAdmin = (() => { ); textarea.value = /*internalValue*/ ctx[3]; - add_location(textarea, file9, 86, 12, 2759); + add_location(textarea, file10, 86, 12, 2759); }, m: function mount(target, anchor) { insert_hydration_dev(target, textarea, anchor); @@ -8854,7 +9204,7 @@ var BeaconLiveAdmin = (() => { }, h: function hydrate() { attr_dev(div, "class", "pt-3"); - add_location(div, file9, 102, 12, 3389); + add_location(div, file10, 102, 12, 3389); }, m: function mount(target, anchor) { insert_hydration_dev(target, div, anchor); @@ -9042,7 +9392,7 @@ var BeaconLiveAdmin = (() => { ); input.value = /*internalValue*/ ctx[3]; - add_location(input, file9, 71, 6, 2227); + add_location(input, file10, 71, 6, 2227); }, m: function mount(target, anchor) { insert_hydration_dev(target, input, anchor); @@ -9110,7 +9460,7 @@ var BeaconLiveAdmin = (() => { }); return block; } - function create_fragment9(ctx) { + function create_fragment10(ctx) { let section; let header; let button; @@ -9137,7 +9487,7 @@ var BeaconLiveAdmin = (() => { ctx[15], get_heading_slot_context ); - const if_block_creators = [create_if_block5, create_if_block_14]; + const if_block_creators = [create_if_block6, create_if_block_14]; const if_blocks = []; function select_block_type(ctx2, dirty) { if ( @@ -9191,11 +9541,11 @@ var BeaconLiveAdmin = (() => { h: function hydrate() { attr_dev(button, "type", "button"); attr_dev(button, "class", "align-middle text-base"); - add_location(button, file9, 65, 4, 1988); + add_location(button, file10, 65, 4, 1988); attr_dev(header, "class", "text-sm mb-2"); - add_location(header, file9, 64, 2, 1954); + add_location(header, file10, 64, 2, 1954); attr_dev(section, "class", "p-4 border-b border-b-gray-100 border-solid"); - add_location(section, file9, 63, 0, 1890); + add_location(section, file10, 63, 0, 1890); }, m: function mount(target, anchor) { insert_hydration_dev(target, section, anchor); @@ -9309,14 +9659,14 @@ var BeaconLiveAdmin = (() => { }; dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment9.name, + id: create_fragment10.name, type: "component", source: "", ctx }); return block; } - function instance9($$self, $$props, $$invalidate) { + function instance10($$self, $$props, $$invalidate) { let astElements; let $selectedAstElementId; let $highlightedAstElement; @@ -9492,7 +9842,7 @@ var BeaconLiveAdmin = (() => { var SidebarSection = class extends SvelteComponentDev { constructor(options) { super(options); - init2(this, options, instance9, create_fragment9, safe_not_equal, { + init2(this, options, instance10, create_fragment10, safe_not_equal, { value: 12, astNodes: 13, clearOnUpdate: 14, @@ -9504,51 +9854,58 @@ var BeaconLiveAdmin = (() => { component: this, tagName: "SidebarSection", options, - id: create_fragment9.name + id: create_fragment10.name }); } get value() { - throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + return this.$$.ctx[12]; } set value(value) { - throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + this.$$set({ value }); + flush(); } get astNodes() { - throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + return this.$$.ctx[13]; } - set astNodes(value) { - throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + set astNodes(astNodes) { + this.$$set({ astNodes }); + flush(); } get clearOnUpdate() { - throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + return this.$$.ctx[14]; } - set clearOnUpdate(value) { - throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + set clearOnUpdate(clearOnUpdate) { + this.$$set({ clearOnUpdate }); + flush(); } get expanded() { - throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + return this.$$.ctx[0]; } - set expanded(value) { - throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + set expanded(expanded) { + this.$$set({ expanded }); + flush(); } get placeholder() { - throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + return this.$$.ctx[1]; } - set placeholder(value) { - throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + set placeholder(placeholder) { + this.$$set({ placeholder }); + flush(); } get large() { - throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + return this.$$.ctx[2]; } - set large(value) { - throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + set large(large) { + this.$$set({ large }); + flush(); } }; + create_custom_element(SidebarSection, { "value": {}, "astNodes": {}, "clearOnUpdate": { "type": "Boolean" }, "expanded": { "type": "Boolean" }, "placeholder": {}, "large": { "type": "Boolean" } }, ["heading", "input", "value"], [], true); var SidebarSection_default = SidebarSection; // svelte/components/PropertiesSidebar.svelte var { Object: Object_1 } = globals; - var file10 = "svelte/components/PropertiesSidebar.svelte"; + var file11 = "svelte/components/PropertiesSidebar.svelte"; function get_each_context6(ctx, list, i) { const child_ctx = ctx.slice(); child_ctx[29] = list[i]; @@ -9582,7 +9939,7 @@ var BeaconLiveAdmin = (() => { }, h: function hydrate() { attr_dev(div, "class", "pt-8"); - add_location(div, file10, 180, 6, 8038); + add_location(div, file11, 181, 6, 8062); }, m: function mount(target, anchor) { insert_hydration_dev(target, div, anchor); @@ -9600,12 +9957,12 @@ var BeaconLiveAdmin = (() => { block, id: create_else_block4.name, type: "else", - source: "(194:4) {:else}", + source: "(195:4) {:else}", ctx }); return block; } - function create_if_block6(ctx) { + function create_if_block7(ctx) { let div0; let t0; let t1; @@ -9713,11 +10070,11 @@ var BeaconLiveAdmin = (() => { h: function hydrate() { attr_dev(button, "type", "button"); attr_dev(button, "class", "absolute py-3 top-3 right-1"); - add_location(button, file10, 121, 8, 5640); + add_location(button, file11, 121, 8, 5640); attr_dev(div0, "class", "border-b text-lg font-medium leading-5 pt-7 pr-7 pb-5 pl-4 relative"); - add_location(div0, file10, 113, 6, 5342); + add_location(div0, file11, 113, 6, 5342); attr_dev(div1, "class", "relative"); - add_location(div1, file10, 143, 6, 6594); + add_location(div1, file11, 143, 6, 6594); }, m: function mount(target, anchor) { insert_hydration_dev(target, div0, anchor); @@ -9881,7 +10238,7 @@ var BeaconLiveAdmin = (() => { }; dispatch_dev("SvelteRegisterBlock", { block, - id: create_if_block6.name, + id: create_if_block7.name, type: "if", source: "(127:4) {#if $selectedAstElement}", ctx @@ -9912,7 +10269,7 @@ var BeaconLiveAdmin = (() => { h: function hydrate() { attr_dev(button, "type", "button"); attr_dev(button, "class", "absolute py-3 top-3 right-5"); - add_location(button, file10, 116, 10, 5483); + add_location(button, file11, 116, 10, 5483); }, m: function mount(target, anchor) { insert_hydration_dev(target, button, anchor); @@ -10097,7 +10454,7 @@ var BeaconLiveAdmin = (() => { }); return block; } - function create_default_slot2(ctx) { + function create_default_slot3(ctx) { let t_value = ( /*className*/ ctx[34] + "" @@ -10127,7 +10484,7 @@ var BeaconLiveAdmin = (() => { }; dispatch_dev("SvelteRegisterBlock", { block, - id: create_default_slot2.name, + id: create_default_slot3.name, type: "slot", source: "(146:14) deleteClass(className)}>", ctx @@ -10148,7 +10505,7 @@ var BeaconLiveAdmin = (() => { } pill = new Pill_default({ props: { - $$slots: { default: [create_default_slot2] }, + $$slots: { default: [create_default_slot3] }, $$scope: { ctx } }, $$inline: true @@ -10437,7 +10794,7 @@ var BeaconLiveAdmin = (() => { this.h(); }, l: function claim(nodes) { - div1 = claim_element(nodes, "DIV", { class: true }); + div1 = claim_element(nodes, "DIV", { class: true, role: true }); var div1_nodes = children(div1); div0 = claim_element(div1_nodes, "DIV", { class: true, ["data-svelte-h"]: true }); if (get_svelte_dataset(div0) !== "svelte-1mbq8po") @@ -10447,15 +10804,16 @@ var BeaconLiveAdmin = (() => { }, h: function hydrate() { attr_dev(div0, "class", "flex rounded-lg outline-dashed outline-2 h-full text-center justify-center items-center"); - add_location(div0, file10, 152, 12, 6985); + add_location(div0, file11, 153, 12, 7009); attr_dev(div1, "class", "absolute h-8 bg-white opacity-70 w-full h-full p-4"); + attr_dev(div1, "role", "list"); toggle_class( div1, "opacity-90", /*isDraggingOver*/ ctx[3] ); - add_location(div1, file10, 145, 10, 6695); + add_location(div1, file11, 145, 10, 6695); }, m: function mount(target, anchor) { insert_hydration_dev(target, div1, anchor); @@ -10591,7 +10949,7 @@ var BeaconLiveAdmin = (() => { block, id: create_if_block_15.name, type: "if", - source: "(172:8) {#if $selectedAstElement.content.length > 0}", + source: "(173:8) {#if $selectedAstElement.content.length > 0}", ctx }); return block; @@ -10618,7 +10976,7 @@ var BeaconLiveAdmin = (() => { block, id: create_heading_slot_1.name, type: "slot", - source: '(178:12) ', + source: '(179:12) ', ctx }); return block; @@ -10645,7 +11003,7 @@ var BeaconLiveAdmin = (() => { block, id: create_heading_slot.name, type: "slot", - source: '(184:8) ', + source: '(185:8) ', ctx }); return block; @@ -10674,7 +11032,7 @@ var BeaconLiveAdmin = (() => { h: function hydrate() { attr_dev(button, "type", "button"); attr_dev(button, "class", "bg-red-500 hover:bg-red-700 text-white font-bold py-2 px-4 rounded outline-dashed outline-2 w-full"); - add_location(button, file10, 171, 10, 7735); + add_location(button, file11, 172, 10, 7759); }, m: function mount(target, anchor) { insert_hydration_dev(target, button, anchor); @@ -10705,18 +11063,18 @@ var BeaconLiveAdmin = (() => { block, id: create_input_slot.name, type: "slot", - source: '(185:8) ', + source: '(186:8) ', ctx }); return block; } - function create_fragment10(ctx) { + function create_fragment11(ctx) { let div1; let div0; let current_block_type_index; let if_block; let current; - const if_block_creators = [create_if_block6, create_else_block4]; + const if_block_creators = [create_if_block7, create_else_block4]; const if_blocks = []; function select_block_type(ctx2, dirty) { if ( @@ -10747,10 +11105,10 @@ var BeaconLiveAdmin = (() => { }, h: function hydrate() { attr_dev(div0, "class", "sticky top-0"); - add_location(div0, file10, 111, 2, 5279); + add_location(div0, file11, 111, 2, 5279); attr_dev(div1, "class", "w-64 bg-white"); attr_dev(div1, "data-test-id", "right-sidebar"); - add_location(div1, file10, 110, 0, 5220); + add_location(div1, file11, 110, 0, 5220); }, m: function mount(target, anchor) { insert_hydration_dev(target, div1, anchor); @@ -10799,14 +11157,14 @@ var BeaconLiveAdmin = (() => { }; dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment10.name, + id: create_fragment11.name, type: "component", source: "", ctx }); return block; } - function instance10($$self, $$props, $$invalidate) { + function instance11($$self, $$props, $$invalidate) { let editableAttrs; let sidebarTitle; let isRootNode; @@ -11087,21 +11445,23 @@ var BeaconLiveAdmin = (() => { var PropertiesSidebar = class extends SvelteComponentDev { constructor(options) { super(options); - init2(this, options, instance10, create_fragment10, safe_not_equal, { live: 18 }, null, [-1, -1]); + init2(this, options, instance11, create_fragment11, safe_not_equal, { live: 18 }, null, [-1, -1]); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "PropertiesSidebar", options, - id: create_fragment10.name + id: create_fragment11.name }); } get live() { - throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + return this.$$.ctx[18]; } - set live(value) { - throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + set live(live) { + this.$$set({ live }); + flush(); } }; + create_custom_element(PropertiesSidebar, { "live": {} }, [], [], true); var PropertiesSidebar_default = PropertiesSidebar; // svelte/components/UiBuilder.svelte @@ -11109,8 +11469,8 @@ var BeaconLiveAdmin = (() => { __export(UiBuilder_exports, { default: () => UiBuilder_default }); - var file11 = "svelte/components/UiBuilder.svelte"; - function create_fragment11(ctx) { + var file12 = "svelte/components/UiBuilder.svelte"; + function create_fragment12(ctx) { let backdrop; let t0; let div; @@ -11145,7 +11505,7 @@ var BeaconLiveAdmin = (() => { propertiessidebar.$on( "droppedIntoTarget", /*droppedIntoTarget_handler*/ - ctx[3] + ctx[4] ); const block = { c: function create3() { @@ -11175,7 +11535,7 @@ var BeaconLiveAdmin = (() => { h: function hydrate() { attr_dev(div, "class", "flex min-h-screen bg-gray-100"); attr_dev(div, "data-test-id", "app-container"); - add_location(div, file11, 18, 0, 464); + add_location(div, file12, 21, 0, 569); }, m: function mount(target, anchor) { mount_component(backdrop, target, anchor); @@ -11237,7 +11597,7 @@ var BeaconLiveAdmin = (() => { }; dispatch_dev("SvelteRegisterBlock", { block, - id: create_fragment11.name, + id: create_fragment12.name, type: "component", source: "", ctx @@ -11246,14 +11606,18 @@ var BeaconLiveAdmin = (() => { } function addBasicComponentToTarget(e) { } - function instance11($$self, $$props, $$invalidate) { + function instance12($$self, $$props, $$invalidate) { + let $stylesStore; let $pageStore; + validate_store(styles, "stylesStore"); + component_subscribe($$self, styles, ($$value) => $$invalidate(5, $stylesStore = $$value)); validate_store(page, "pageStore"); - component_subscribe($$self, page, ($$value) => $$invalidate(4, $pageStore = $$value)); + component_subscribe($$self, page, ($$value) => $$invalidate(6, $pageStore = $$value)); let { $$slots: slots = {}, $$scope } = $$props; validate_slots("UiBuilder", slots, []); let { components } = $$props; let { page: page2 } = $$props; + let { styles: styles2 } = $$props; let { live } = $$props; $$self.$$.on_mount.push(function() { if (components === void 0 && !("components" in $$props || $$self.$$.bound[$$self.$$.props["components"]])) { @@ -11262,11 +11626,14 @@ var BeaconLiveAdmin = (() => { if (page2 === void 0 && !("page" in $$props || $$self.$$.bound[$$self.$$.props["page"]])) { console.warn(" was created without expected prop 'page'"); } + if (styles2 === void 0 && !("styles" in $$props || $$self.$$.bound[$$self.$$.props["styles"]])) { + console.warn(" was created without expected prop 'styles'"); + } if (live === void 0 && !("live" in $$props || $$self.$$.bound[$$self.$$.props["live"]])) { console.warn(" was created without expected prop 'live'"); } }); - const writable_props = ["components", "page", "live"]; + const writable_props = ["components", "page", "styles", "live"]; Object.keys($$props).forEach((key) => { if (!~writable_props.indexOf(key) && key.slice(0, 2) !== "$$" && key !== "slot") console.warn(` was created with unknown prop '${key}'`); @@ -11277,6 +11644,8 @@ var BeaconLiveAdmin = (() => { $$invalidate(0, components = $$props2.components); if ("page" in $$props2) $$invalidate(2, page2 = $$props2.page); + if ("styles" in $$props2) + $$invalidate(3, styles2 = $$props2.styles); if ("live" in $$props2) $$invalidate(1, live = $$props2.live); }; @@ -11286,10 +11655,13 @@ var BeaconLiveAdmin = (() => { PagePreview: PagePreview_default, PropertiesSidebar: PropertiesSidebar_default, pageStore: page, + stylesStore: styles, components, page: page2, + styles: styles2, live, addBasicComponentToTarget, + $stylesStore, $pageStore }); $$self.$inject_state = ($$props2) => { @@ -11297,6 +11669,8 @@ var BeaconLiveAdmin = (() => { $$invalidate(0, components = $$props2.components); if ("page" in $$props2) $$invalidate(2, page2 = $$props2.page); + if ("styles" in $$props2) + $$invalidate(3, styles2 = $$props2.styles); if ("live" in $$props2) $$invalidate(1, live = $$props2.live); }; @@ -11309,45 +11683,66 @@ var BeaconLiveAdmin = (() => { $: set_store_value(page, $pageStore = page2, $pageStore); } + if ($$self.$$.dirty & /*styles*/ + 8) { + $: + set_store_value(styles, $stylesStore = styles2, $stylesStore); + } }; - return [components, live, page2, droppedIntoTarget_handler]; + return [components, live, page2, styles2, droppedIntoTarget_handler]; } var UiBuilder = class extends SvelteComponentDev { constructor(options) { super(options); - init2(this, options, instance11, create_fragment11, safe_not_equal, { components: 0, page: 2, live: 1 }); + init2(this, options, instance12, create_fragment12, safe_not_equal, { + components: 0, + page: 2, + styles: 3, + live: 1 + }); dispatch_dev("SvelteRegisterComponent", { component: this, tagName: "UiBuilder", options, - id: create_fragment11.name + id: create_fragment12.name }); } get components() { - throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + return this.$$.ctx[0]; } - set components(value) { - throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + set components(components) { + this.$$set({ components }); + flush(); } get page() { - throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + return this.$$.ctx[2]; + } + set page(page2) { + this.$$set({ page: page2 }); + flush(); + } + get styles() { + return this.$$.ctx[3]; } - set page(value) { - throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + set styles(styles2) { + this.$$set({ styles: styles2 }); + flush(); } get live() { - throw new Error(": Props cannot be read directly from the component instance unless compiling with 'accessors: true' or ''"); + return this.$$.ctx[1]; } - set live(value) { - throw new Error(": Props cannot be set directly on the component instance unless compiling with 'accessors: true' or ''"); + set live(live) { + this.$$set({ live }); + flush(); } }; + create_custom_element(UiBuilder, { "components": {}, "page": {}, "styles": {}, "live": {} }, [], [], true); var UiBuilder_default = UiBuilder; // import-glob:../svelte/**/*.svelte - var modules = [Backdrop_exports, BrowserFrame_exports, CodeEditor_exports, ComponentsSidebar_exports, LayoutAstNode_exports, PageAstNode_exports, PagePreview_exports, Pill_exports, PropertiesSidebar_exports, SidebarSection_exports, UiBuilder_exports]; + var modules = [Backdrop_exports, BrowserFrame_exports, CodeEditor_exports, ComponentsSidebar_exports, LayoutAstNode_exports, PageAstNode_exports, PagePreview_exports, PageWrapper_exports, Pill_exports, PropertiesSidebar_exports, SidebarSection_exports, UiBuilder_exports]; var __default = modules; - var filenames = ["../svelte/components/Backdrop.svelte", "../svelte/components/BrowserFrame.svelte", "../svelte/components/CodeEditor.svelte", "../svelte/components/ComponentsSidebar.svelte", "../svelte/components/LayoutAstNode.svelte", "../svelte/components/PageAstNode.svelte", "../svelte/components/PagePreview.svelte", "../svelte/components/Pill.svelte", "../svelte/components/PropertiesSidebar.svelte", "../svelte/components/SidebarSection.svelte", "../svelte/components/UiBuilder.svelte"]; + var filenames = ["../svelte/components/Backdrop.svelte", "../svelte/components/BrowserFrame.svelte", "../svelte/components/CodeEditor.svelte", "../svelte/components/ComponentsSidebar.svelte", "../svelte/components/LayoutAstNode.svelte", "../svelte/components/PageAstNode.svelte", "../svelte/components/PagePreview.svelte", "../svelte/components/PageWrapper.svelte", "../svelte/components/Pill.svelte", "../svelte/components/PropertiesSidebar.svelte", "../svelte/components/SidebarSection.svelte", "../svelte/components/UiBuilder.svelte"]; // js/beacon_live_admin.js var Hooks = {}; @@ -11396,4 +11791,3 @@ var BeaconLiveAdmin = (() => { * https://buunguyen.github.io/topbar * Copyright (c) 2021 Buu Nguyen */ -//# sourceMappingURL=data:application/json;base64,ewogICJ2ZXJzaW9uIjogMywKICAic291cmNlcyI6IFsiLi4vLi4vYXNzZXRzL3ZlbmRvci90b3BiYXIuanMiLCAiLi4vLi4vYXNzZXRzL2pzL2JlYWNvbl9saXZlX2FkbWluLmpzIiwgIi4uLy4uL2RlcHMvbGl2ZV9tb25hY29fZWRpdG9yL2Fzc2V0cy9ub2RlX21vZHVsZXMvQG1vbmFjby1lZGl0b3IvbG9hZGVyL2xpYi9lcy9fdmlydHVhbC9fcm9sbHVwUGx1Z2luQmFiZWxIZWxwZXJzLmpzIiwgIi4uLy4uL2RlcHMvbGl2ZV9tb25hY29fZWRpdG9yL2Fzc2V0cy9ub2RlX21vZHVsZXMvc3RhdGUtbG9jYWwvbGliL2VzL3N0YXRlLWxvY2FsLmpzIiwgIi4uLy4uL2RlcHMvbGl2ZV9tb25hY29fZWRpdG9yL2Fzc2V0cy9ub2RlX21vZHVsZXMvQG1vbmFjby1lZGl0b3IvbG9hZGVyL2xpYi9lcy9jb25maWcvaW5kZXguanMiLCAiLi4vLi4vZGVwcy9saXZlX21vbmFjb19lZGl0b3IvYXNzZXRzL25vZGVfbW9kdWxlcy9AbW9uYWNvLWVkaXRvci9sb2FkZXIvbGliL2VzL3V0aWxzL2N1cnJ5LmpzIiwgIi4uLy4uL2RlcHMvbGl2ZV9tb25hY29fZWRpdG9yL2Fzc2V0cy9ub2RlX21vZHVsZXMvQG1vbmFjby1lZGl0b3IvbG9hZGVyL2xpYi9lcy91dGlscy9pc09iamVjdC5qcyIsICIuLi8uLi9kZXBzL2xpdmVfbW9uYWNvX2VkaXRvci9hc3NldHMvbm9kZV9tb2R1bGVzL0Btb25hY28tZWRpdG9yL2xvYWRlci9saWIvZXMvdmFsaWRhdG9ycy9pbmRleC5qcyIsICIuLi8uLi9kZXBzL2xpdmVfbW9uYWNvX2VkaXRvci9hc3NldHMvbm9kZV9tb2R1bGVzL0Btb25hY28tZWRpdG9yL2xvYWRlci9saWIvZXMvdXRpbHMvY29tcG9zZS5qcyIsICIuLi8uLi9kZXBzL2xpdmVfbW9uYWNvX2VkaXRvci9hc3NldHMvbm9kZV9tb2R1bGVzL0Btb25hY28tZWRpdG9yL2xvYWRlci9saWIvZXMvdXRpbHMvZGVlcE1lcmdlLmpzIiwgIi4uLy4uL2RlcHMvbGl2ZV9tb25hY29fZWRpdG9yL2Fzc2V0cy9ub2RlX21vZHVsZXMvQG1vbmFjby1lZGl0b3IvbG9hZGVyL2xpYi9lcy91dGlscy9tYWtlQ2FuY2VsYWJsZS5qcyIsICIuLi8uLi9kZXBzL2xpdmVfbW9uYWNvX2VkaXRvci9hc3NldHMvbm9kZV9tb2R1bGVzL0Btb25hY28tZWRpdG9yL2xvYWRlci9saWIvZXMvbG9hZGVyL2luZGV4LmpzIiwgIi4uLy4uL2RlcHMvbGl2ZV9tb25hY29fZWRpdG9yL2Fzc2V0cy9qcy9saXZlX21vbmFjb19lZGl0b3IvZWRpdG9yL3RoZW1lcy5qcyIsICIuLi8uLi9kZXBzL2xpdmVfbW9uYWNvX2VkaXRvci9hc3NldHMvanMvbGl2ZV9tb25hY29fZWRpdG9yL2VkaXRvci9jb2RlX2VkaXRvci5qcyIsICIuLi8uLi9kZXBzL2xpdmVfbW9uYWNvX2VkaXRvci9hc3NldHMvanMvbGl2ZV9tb25hY29fZWRpdG9yL2hvb2tzL2NvZGVfZWRpdG9yLmpzIiwgIi4uLy4uL2RlcHMvbGl2ZV9zdmVsdGUvYXNzZXRzL2pzL2xpdmVfc3ZlbHRlL3V0aWxzLmpzIiwgIi4uLy4uL2RlcHMvbGl2ZV9zdmVsdGUvYXNzZXRzL2pzL2xpdmVfc3ZlbHRlL3JlbmRlci5qcyIsICIuLi8uLi9kZXBzL2xpdmVfc3ZlbHRlL2Fzc2V0cy9qcy9saXZlX3N2ZWx0ZS9ob29rcy5qcyIsICJpbXBvcnQtZ2xvYjouLi9zdmVsdGUvKiovKi5zdmVsdGUiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9zdmVsdGUvc3JjL3J1bnRpbWUvaW50ZXJuYWwvdXRpbHMuanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9zdmVsdGUvc3JjL3J1bnRpbWUvaW50ZXJuYWwvZW52aXJvbm1lbnQuanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9zdmVsdGUvc3JjL3J1bnRpbWUvaW50ZXJuYWwvbG9vcC5qcyIsICIuLi8uLi9hc3NldHMvbm9kZV9tb2R1bGVzL3N2ZWx0ZS9zcmMvcnVudGltZS9pbnRlcm5hbC9nbG9iYWxzLmpzIiwgIi4uLy4uL2Fzc2V0cy9ub2RlX21vZHVsZXMvc3ZlbHRlL3NyYy9ydW50aW1lL2ludGVybmFsL1Jlc2l6ZU9ic2VydmVyU2luZ2xldG9uLmpzIiwgIi4uLy4uL2Fzc2V0cy9ub2RlX21vZHVsZXMvc3ZlbHRlL3NyYy9ydW50aW1lL2ludGVybmFsL2RvbS5qcyIsICIuLi8uLi9hc3NldHMvbm9kZV9tb2R1bGVzL3N2ZWx0ZS9zcmMvcnVudGltZS9pbnRlcm5hbC9zdHlsZV9tYW5hZ2VyLmpzIiwgIi4uLy4uL2Fzc2V0cy9ub2RlX21vZHVsZXMvc3ZlbHRlL3NyYy9ydW50aW1lL2ludGVybmFsL2xpZmVjeWNsZS5qcyIsICIuLi8uLi9hc3NldHMvbm9kZV9tb2R1bGVzL3N2ZWx0ZS9zcmMvcnVudGltZS9pbnRlcm5hbC9zY2hlZHVsZXIuanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9zdmVsdGUvc3JjL3J1bnRpbWUvaW50ZXJuYWwvdHJhbnNpdGlvbnMuanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9zdmVsdGUvc3JjL3J1bnRpbWUvaW50ZXJuYWwvZWFjaC5qcyIsICIuLi8uLi9hc3NldHMvbm9kZV9tb2R1bGVzL3N2ZWx0ZS9zcmMvcnVudGltZS9pbnRlcm5hbC9zcHJlYWQuanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9zdmVsdGUvc3JjL3NoYXJlZC9ib29sZWFuX2F0dHJpYnV0ZXMuanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9zdmVsdGUvc3JjL3NoYXJlZC91dGlscy9uYW1lcy5qcyIsICIuLi8uLi9hc3NldHMvbm9kZV9tb2R1bGVzL3N2ZWx0ZS9zcmMvcnVudGltZS9pbnRlcm5hbC9Db21wb25lbnQuanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9zdmVsdGUvc3JjL3NoYXJlZC92ZXJzaW9uLmpzIiwgIi4uLy4uL2Fzc2V0cy9ub2RlX21vZHVsZXMvc3ZlbHRlL3NyYy9ydW50aW1lL2ludGVybmFsL2Rldi5qcyIsICIuLi8uLi9hc3NldHMvbm9kZV9tb2R1bGVzL3N2ZWx0ZS9zcmMvcnVudGltZS9pbnRlcm5hbC9kaXNjbG9zZS12ZXJzaW9uL2luZGV4LmpzIiwgIi4uLy4uL2Fzc2V0cy9ub2RlX21vZHVsZXMvc3ZlbHRlL3NyYy9ydW50aW1lL3RyYW5zaXRpb24vaW5kZXguanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9zdmVsdGUvc3JjL3J1bnRpbWUvc3RvcmUvaW5kZXguanMiLCAiLi4vLi4vYXNzZXRzL3N2ZWx0ZS9jb21wb25lbnRzL0JhY2tkcm9wLnN2ZWx0ZSIsICIuLi8uLi9hc3NldHMvc3ZlbHRlL2NvbXBvbmVudHMvQnJvd3NlckZyYW1lLnN2ZWx0ZSIsICIuLi8uLi9hc3NldHMvbm9kZV9tb2R1bGVzL0Btb25hY28tZWRpdG9yL2xvYWRlci9saWIvZXMvX3ZpcnR1YWwvX3JvbGx1cFBsdWdpbkJhYmVsSGVscGVycy5qcyIsICIuLi8uLi9hc3NldHMvbm9kZV9tb2R1bGVzL3N0YXRlLWxvY2FsL2xpYi9lcy9zdGF0ZS1sb2NhbC5qcyIsICIuLi8uLi9hc3NldHMvbm9kZV9tb2R1bGVzL0Btb25hY28tZWRpdG9yL2xvYWRlci9saWIvZXMvY29uZmlnL2luZGV4LmpzIiwgIi4uLy4uL2Fzc2V0cy9ub2RlX21vZHVsZXMvQG1vbmFjby1lZGl0b3IvbG9hZGVyL2xpYi9lcy91dGlscy9jdXJyeS5qcyIsICIuLi8uLi9hc3NldHMvbm9kZV9tb2R1bGVzL0Btb25hY28tZWRpdG9yL2xvYWRlci9saWIvZXMvdXRpbHMvaXNPYmplY3QuanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9AbW9uYWNvLWVkaXRvci9sb2FkZXIvbGliL2VzL3ZhbGlkYXRvcnMvaW5kZXguanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9AbW9uYWNvLWVkaXRvci9sb2FkZXIvbGliL2VzL3V0aWxzL2NvbXBvc2UuanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9AbW9uYWNvLWVkaXRvci9sb2FkZXIvbGliL2VzL3V0aWxzL2RlZXBNZXJnZS5qcyIsICIuLi8uLi9hc3NldHMvbm9kZV9tb2R1bGVzL0Btb25hY28tZWRpdG9yL2xvYWRlci9saWIvZXMvdXRpbHMvbWFrZUNhbmNlbGFibGUuanMiLCAiLi4vLi4vYXNzZXRzL25vZGVfbW9kdWxlcy9AbW9uYWNvLWVkaXRvci9sb2FkZXIvbGliL2VzL2xvYWRlci9pbmRleC5qcyIsICIuLi8uLi9hc3NldHMvc3ZlbHRlL2NvbXBvbmVudHMvQ29kZUVkaXRvci5zdmVsdGUiLCAiLi4vLi4vYXNzZXRzL3N2ZWx0ZS91dGlscy9hbmltYXRpb25zLnRzIiwgIi4uLy4uL2Fzc2V0cy9zdmVsdGUvc3RvcmVzL2N1cnJlbnRDb21wb25lbnRDYXRlZ29yeS50cyIsICIuLi8uLi9hc3NldHMvc3ZlbHRlL3N0b3Jlcy9kcmFnQW5kRHJvcC50cyIsICIuLi8uLi9hc3NldHMvc3ZlbHRlL2NvbXBvbmVudHMvQ29tcG9uZW50c1NpZGViYXIuc3ZlbHRlIiwgIi4uLy4uL2Fzc2V0cy9zdmVsdGUvc3RvcmVzL3BhZ2UudHMiLCAiLi4vLi4vYXNzZXRzL3N2ZWx0ZS9jb21wb25lbnRzL0xheW91dEFzdE5vZGUuc3ZlbHRlIiwgIi4uLy4uL2Fzc2V0cy9zdmVsdGUvY29tcG9uZW50cy9QYWdlQXN0Tm9kZS5zdmVsdGUiLCAiLi4vLi4vYXNzZXRzL3N2ZWx0ZS9jb21wb25lbnRzL1BhZ2VQcmV2aWV3LnN2ZWx0ZSIsICIuLi8uLi9hc3NldHMvc3ZlbHRlL2NvbXBvbmVudHMvUGlsbC5zdmVsdGUiLCAiLi4vLi4vYXNzZXRzL3N2ZWx0ZS9jb21wb25lbnRzL1NpZGViYXJTZWN0aW9uLnN2ZWx0ZSIsICIuLi8uLi9hc3NldHMvc3ZlbHRlL2NvbXBvbmVudHMvUHJvcGVydGllc1NpZGViYXIuc3ZlbHRlIiwgIi4uLy4uL2Fzc2V0cy9zdmVsdGUvY29tcG9uZW50cy9VaUJ1aWxkZXIuc3ZlbHRlIl0sCiAgInNvdXJjZXNDb250ZW50IjogWyIvKipcbiAqIEBsaWNlbnNlIE1JVFxuICogdG9wYmFyIDIuMC4wLCAyMDIzLTAyLTA0XG4gKiBodHRwczovL2J1dW5ndXllbi5naXRodWIuaW8vdG9wYmFyXG4gKiBDb3B5cmlnaHQgKGMpIDIwMjEgQnV1IE5ndXllblxuICovXG4oZnVuY3Rpb24gKHdpbmRvdywgZG9jdW1lbnQpIHtcbiAgXCJ1c2Ugc3RyaWN0XCI7XG5cbiAgLy8gaHR0cHM6Ly9naXN0LmdpdGh1Yi5jb20vcGF1bGlyaXNoLzE1Nzk2NzFcbiAgKGZ1bmN0aW9uICgpIHtcbiAgICB2YXIgbGFzdFRpbWUgPSAwO1xuICAgIHZhciB2ZW5kb3JzID0gW1wibXNcIiwgXCJtb3pcIiwgXCJ3ZWJraXRcIiwgXCJvXCJdO1xuICAgIGZvciAodmFyIHggPSAwOyB4IDwgdmVuZG9ycy5sZW5ndGggJiYgIXdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWU7ICsreCkge1xuICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSA9XG4gICAgICAgIHdpbmRvd1t2ZW5kb3JzW3hdICsgXCJSZXF1ZXN0QW5pbWF0aW9uRnJhbWVcIl07XG4gICAgICB3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUgPVxuICAgICAgICB3aW5kb3dbdmVuZG9yc1t4XSArIFwiQ2FuY2VsQW5pbWF0aW9uRnJhbWVcIl0gfHxcbiAgICAgICAgd2luZG93W3ZlbmRvcnNbeF0gKyBcIkNhbmNlbFJlcXVlc3RBbmltYXRpb25GcmFtZVwiXTtcbiAgICB9XG4gICAgaWYgKCF3aW5kb3cucmVxdWVzdEFuaW1hdGlvbkZyYW1lKVxuICAgICAgd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZSA9IGZ1bmN0aW9uIChjYWxsYmFjaywgZWxlbWVudCkge1xuICAgICAgICB2YXIgY3VyclRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICAgICAgdmFyIHRpbWVUb0NhbGwgPSBNYXRoLm1heCgwLCAxNiAtIChjdXJyVGltZSAtIGxhc3RUaW1lKSk7XG4gICAgICAgIHZhciBpZCA9IHdpbmRvdy5zZXRUaW1lb3V0KGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICBjYWxsYmFjayhjdXJyVGltZSArIHRpbWVUb0NhbGwpO1xuICAgICAgICB9LCB0aW1lVG9DYWxsKTtcbiAgICAgICAgbGFzdFRpbWUgPSBjdXJyVGltZSArIHRpbWVUb0NhbGw7XG4gICAgICAgIHJldHVybiBpZDtcbiAgICAgIH07XG4gICAgaWYgKCF3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUpXG4gICAgICB3aW5kb3cuY2FuY2VsQW5pbWF0aW9uRnJhbWUgPSBmdW5jdGlvbiAoaWQpIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KGlkKTtcbiAgICAgIH07XG4gIH0pKCk7XG5cbiAgdmFyIGNhbnZhcyxcbiAgICBjdXJyZW50UHJvZ3Jlc3MsXG4gICAgc2hvd2luZyxcbiAgICBwcm9ncmVzc1RpbWVySWQgPSBudWxsLFxuICAgIGZhZGVUaW1lcklkID0gbnVsbCxcbiAgICBkZWxheVRpbWVySWQgPSBudWxsLFxuICAgIGFkZEV2ZW50ID0gZnVuY3Rpb24gKGVsZW0sIHR5cGUsIGhhbmRsZXIpIHtcbiAgICAgIGlmIChlbGVtLmFkZEV2ZW50TGlzdGVuZXIpIGVsZW0uYWRkRXZlbnRMaXN0ZW5lcih0eXBlLCBoYW5kbGVyLCBmYWxzZSk7XG4gICAgICBlbHNlIGlmIChlbGVtLmF0dGFjaEV2ZW50KSBlbGVtLmF0dGFjaEV2ZW50KFwib25cIiArIHR5cGUsIGhhbmRsZXIpO1xuICAgICAgZWxzZSBlbGVtW1wib25cIiArIHR5cGVdID0gaGFuZGxlcjtcbiAgICB9LFxuICAgIG9wdGlvbnMgPSB7XG4gICAgICBhdXRvUnVuOiB0cnVlLFxuICAgICAgYmFyVGhpY2tuZXNzOiAzLFxuICAgICAgYmFyQ29sb3JzOiB7XG4gICAgICAgIDA6IFwicmdiYSgyNiwgIDE4OCwgMTU2LCAuOSlcIixcbiAgICAgICAgXCIuMjVcIjogXCJyZ2JhKDUyLCAgMTUyLCAyMTksIC45KVwiLFxuICAgICAgICBcIi41MFwiOiBcInJnYmEoMjQxLCAxOTYsIDE1LCAgLjkpXCIsXG4gICAgICAgIFwiLjc1XCI6IFwicmdiYSgyMzAsIDEyNiwgMzQsICAuOSlcIixcbiAgICAgICAgXCIxLjBcIjogXCJyZ2JhKDIxMSwgODQsICAwLCAgIC45KVwiLFxuICAgICAgfSxcbiAgICAgIHNoYWRvd0JsdXI6IDEwLFxuICAgICAgc2hhZG93Q29sb3I6IFwicmdiYSgwLCAgIDAsICAgMCwgICAuNilcIixcbiAgICAgIGNsYXNzTmFtZTogbnVsbCxcbiAgICB9LFxuICAgIHJlcGFpbnQgPSBmdW5jdGlvbiAoKSB7XG4gICAgICBjYW52YXMud2lkdGggPSB3aW5kb3cuaW5uZXJXaWR0aDtcbiAgICAgIGNhbnZhcy5oZWlnaHQgPSBvcHRpb25zLmJhclRoaWNrbmVzcyAqIDU7IC8vIG5lZWQgc3BhY2UgZm9yIHNoYWRvd1xuXG4gICAgICB2YXIgY3R4ID0gY2FudmFzLmdldENvbnRleHQoXCIyZFwiKTtcbiAgICAgIGN0eC5zaGFkb3dCbHVyID0gb3B0aW9ucy5zaGFkb3dCbHVyO1xuICAgICAgY3R4LnNoYWRvd0NvbG9yID0gb3B0aW9ucy5zaGFkb3dDb2xvcjtcblxuICAgICAgdmFyIGxpbmVHcmFkaWVudCA9IGN0eC5jcmVhdGVMaW5lYXJHcmFkaWVudCgwLCAwLCBjYW52YXMud2lkdGgsIDApO1xuICAgICAgZm9yICh2YXIgc3RvcCBpbiBvcHRpb25zLmJhckNvbG9ycylcbiAgICAgICAgbGluZUdyYWRpZW50LmFkZENvbG9yU3RvcChzdG9wLCBvcHRpb25zLmJhckNvbG9yc1tzdG9wXSk7XG4gICAgICBjdHgubGluZVdpZHRoID0gb3B0aW9ucy5iYXJUaGlja25lc3M7XG4gICAgICBjdHguYmVnaW5QYXRoKCk7XG4gICAgICBjdHgubW92ZVRvKDAsIG9wdGlvbnMuYmFyVGhpY2tuZXNzIC8gMik7XG4gICAgICBjdHgubGluZVRvKFxuICAgICAgICBNYXRoLmNlaWwoY3VycmVudFByb2dyZXNzICogY2FudmFzLndpZHRoKSxcbiAgICAgICAgb3B0aW9ucy5iYXJUaGlja25lc3MgLyAyXG4gICAgICApO1xuICAgICAgY3R4LnN0cm9rZVN0eWxlID0gbGluZUdyYWRpZW50O1xuICAgICAgY3R4LnN0cm9rZSgpO1xuICAgIH0sXG4gICAgY3JlYXRlQ2FudmFzID0gZnVuY3Rpb24gKCkge1xuICAgICAgY2FudmFzID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChcImNhbnZhc1wiKTtcbiAgICAgIHZhciBzdHlsZSA9IGNhbnZhcy5zdHlsZTtcbiAgICAgIHN0eWxlLnBvc2l0aW9uID0gXCJmaXhlZFwiO1xuICAgICAgc3R5bGUudG9wID0gc3R5bGUubGVmdCA9IHN0eWxlLnJpZ2h0ID0gc3R5bGUubWFyZ2luID0gc3R5bGUucGFkZGluZyA9IDA7XG4gICAgICBzdHlsZS56SW5kZXggPSAxMDAwMDE7XG4gICAgICBzdHlsZS5kaXNwbGF5ID0gXCJub25lXCI7XG4gICAgICBpZiAob3B0aW9ucy5jbGFzc05hbWUpIGNhbnZhcy5jbGFzc0xpc3QuYWRkKG9wdGlvbnMuY2xhc3NOYW1lKTtcbiAgICAgIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoY2FudmFzKTtcbiAgICAgIGFkZEV2ZW50KHdpbmRvdywgXCJyZXNpemVcIiwgcmVwYWludCk7XG4gICAgfSxcbiAgICB0b3BiYXIgPSB7XG4gICAgICBjb25maWc6IGZ1bmN0aW9uIChvcHRzKSB7XG4gICAgICAgIGZvciAodmFyIGtleSBpbiBvcHRzKVxuICAgICAgICAgIGlmIChvcHRpb25zLmhhc093blByb3BlcnR5KGtleSkpIG9wdGlvbnNba2V5XSA9IG9wdHNba2V5XTtcbiAgICAgIH0sXG4gICAgICBzaG93OiBmdW5jdGlvbiAoZGVsYXkpIHtcbiAgICAgICAgaWYgKHNob3dpbmcpIHJldHVybjtcbiAgICAgICAgaWYgKGRlbGF5KSB7XG4gICAgICAgICAgaWYgKGRlbGF5VGltZXJJZCkgcmV0dXJuO1xuICAgICAgICAgIGRlbGF5VGltZXJJZCA9IHNldFRpbWVvdXQoKCkgPT4gdG9wYmFyLnNob3coKSwgZGVsYXkpO1xuICAgICAgICB9IGVsc2UgIHtcbiAgICAgICAgICBzaG93aW5nID0gdHJ1ZTtcbiAgICAgICAgICBpZiAoZmFkZVRpbWVySWQgIT09IG51bGwpIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZShmYWRlVGltZXJJZCk7XG4gICAgICAgICAgaWYgKCFjYW52YXMpIGNyZWF0ZUNhbnZhcygpO1xuICAgICAgICAgIGNhbnZhcy5zdHlsZS5vcGFjaXR5ID0gMTtcbiAgICAgICAgICBjYW52YXMuc3R5bGUuZGlzcGxheSA9IFwiYmxvY2tcIjtcbiAgICAgICAgICB0b3BiYXIucHJvZ3Jlc3MoMCk7XG4gICAgICAgICAgaWYgKG9wdGlvbnMuYXV0b1J1bikge1xuICAgICAgICAgICAgKGZ1bmN0aW9uIGxvb3AoKSB7XG4gICAgICAgICAgICAgIHByb2dyZXNzVGltZXJJZCA9IHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUobG9vcCk7XG4gICAgICAgICAgICAgIHRvcGJhci5wcm9ncmVzcyhcbiAgICAgICAgICAgICAgICBcIitcIiArIDAuMDUgKiBNYXRoLnBvdygxIC0gTWF0aC5zcXJ0KGN1cnJlbnRQcm9ncmVzcyksIDIpXG4gICAgICAgICAgICAgICk7XG4gICAgICAgICAgICB9KSgpO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHByb2dyZXNzOiBmdW5jdGlvbiAodG8pIHtcbiAgICAgICAgaWYgKHR5cGVvZiB0byA9PT0gXCJ1bmRlZmluZWRcIikgcmV0dXJuIGN1cnJlbnRQcm9ncmVzcztcbiAgICAgICAgaWYgKHR5cGVvZiB0byA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgICAgIHRvID1cbiAgICAgICAgICAgICh0by5pbmRleE9mKFwiK1wiKSA+PSAwIHx8IHRvLmluZGV4T2YoXCItXCIpID49IDBcbiAgICAgICAgICAgICAgPyBjdXJyZW50UHJvZ3Jlc3NcbiAgICAgICAgICAgICAgOiAwKSArIHBhcnNlRmxvYXQodG8pO1xuICAgICAgICB9XG4gICAgICAgIGN1cnJlbnRQcm9ncmVzcyA9IHRvID4gMSA/IDEgOiB0bztcbiAgICAgICAgcmVwYWludCgpO1xuICAgICAgICByZXR1cm4gY3VycmVudFByb2dyZXNzO1xuICAgICAgfSxcbiAgICAgIGhpZGU6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KGRlbGF5VGltZXJJZCk7XG4gICAgICAgIGRlbGF5VGltZXJJZCA9IG51bGw7XG4gICAgICAgIGlmICghc2hvd2luZykgcmV0dXJuO1xuICAgICAgICBzaG93aW5nID0gZmFsc2U7XG4gICAgICAgIGlmIChwcm9ncmVzc1RpbWVySWQgIT0gbnVsbCkge1xuICAgICAgICAgIHdpbmRvdy5jYW5jZWxBbmltYXRpb25GcmFtZShwcm9ncmVzc1RpbWVySWQpO1xuICAgICAgICAgIHByb2dyZXNzVGltZXJJZCA9IG51bGw7XG4gICAgICAgIH1cbiAgICAgICAgKGZ1bmN0aW9uIGxvb3AoKSB7XG4gICAgICAgICAgaWYgKHRvcGJhci5wcm9ncmVzcyhcIisuMVwiKSA+PSAxKSB7XG4gICAgICAgICAgICBjYW52YXMuc3R5bGUub3BhY2l0eSAtPSAwLjA1O1xuICAgICAgICAgICAgaWYgKGNhbnZhcy5zdHlsZS5vcGFjaXR5IDw9IDAuMDUpIHtcbiAgICAgICAgICAgICAgY2FudmFzLnN0eWxlLmRpc3BsYXkgPSBcIm5vbmVcIjtcbiAgICAgICAgICAgICAgZmFkZVRpbWVySWQgPSBudWxsO1xuICAgICAgICAgICAgICByZXR1cm47XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIGZhZGVUaW1lcklkID0gd2luZG93LnJlcXVlc3RBbmltYXRpb25GcmFtZShsb29wKTtcbiAgICAgICAgfSkoKTtcbiAgICAgIH0sXG4gICAgfTtcblxuICBpZiAodHlwZW9mIG1vZHVsZSA9PT0gXCJvYmplY3RcIiAmJiB0eXBlb2YgbW9kdWxlLmV4cG9ydHMgPT09IFwib2JqZWN0XCIpIHtcbiAgICBtb2R1bGUuZXhwb3J0cyA9IHRvcGJhcjtcbiAgfSBlbHNlIGlmICh0eXBlb2YgZGVmaW5lID09PSBcImZ1bmN0aW9uXCIgJiYgZGVmaW5lLmFtZCkge1xuICAgIGRlZmluZShmdW5jdGlvbiAoKSB7XG4gICAgICByZXR1cm4gdG9wYmFyO1xuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIHRoaXMudG9wYmFyID0gdG9wYmFyO1xuICB9XG59LmNhbGwodGhpcywgd2luZG93LCBkb2N1bWVudCkpO1xuIiwgImltcG9ydCB0b3BiYXIgZnJvbSBcIi4uL3ZlbmRvci90b3BiYXJcIlxuaW1wb3J0IHsgQ29kZUVkaXRvckhvb2sgfSBmcm9tIFwiLi4vLi4vZGVwcy9saXZlX21vbmFjb19lZGl0b3IvcHJpdi9zdGF0aWMvbGl2ZV9tb25hY29fZWRpdG9yLmVzbVwiXG5pbXBvcnQgeyBnZXRIb29rcyB9IGZyb20gXCJsaXZlX3N2ZWx0ZVwiXG5pbXBvcnQgKiBhcyBDb21wb25lbnRzIGZyb20gXCIuLi9zdmVsdGUvKiovKi5zdmVsdGVcIlxubGV0IEhvb2tzID0ge31cbkhvb2tzLkNvZGVFZGl0b3JIb29rID0gQ29kZUVkaXRvckhvb2tcbnRvcGJhci5jb25maWcoeyBiYXJDb2xvcnM6IHsgMDogXCIjMjlkXCIgfSwgc2hhZG93Q29sb3I6IFwicmdiYSgwLCAwLCAwLCAuMylcIiB9KVxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJwaHg6cGFnZS1sb2FkaW5nLXN0YXJ0XCIsIChfaW5mbykgPT4gdG9wYmFyLnNob3coMzAwKSlcbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwicGh4OnBhZ2UtbG9hZGluZy1zdG9wXCIsIChfaW5mbykgPT4gdG9wYmFyLmhpZGUoKSlcblxud2luZG93LmFkZEV2ZW50TGlzdGVuZXIoXCJsbWU6ZWRpdG9yX21vdW50ZWRcIiwgKGV2KSA9PiB7XG4gIGNvbnN0IGhvb2sgPSBldi5kZXRhaWwuaG9va1xuICBjb25zdCBlZGl0b3IgPSBldi5kZXRhaWwuZWRpdG9yLnN0YW5kYWxvbmVfY29kZV9lZGl0b3JcbiAgY29uc3QgZXZlbnROYW1lID0gZXYuZGV0YWlsLmVkaXRvci5wYXRoICsgXCJfZWRpdG9yX2xvc3RfZm9jdXNcIlxuXG4gIGVkaXRvci5vbkRpZEJsdXJFZGl0b3JXaWRnZXQoKCkgPT4ge1xuICAgIGhvb2sucHVzaEV2ZW50KGV2ZW50TmFtZSwgeyB2YWx1ZTogZWRpdG9yLmdldFZhbHVlKCkgfSlcbiAgfSlcbn0pXG5cbndpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwiYmVhY29uX2FkbWluOmNsaXBjb3B5XCIsIChldmVudCkgPT4ge1xuICBjb25zdCByZXN1bHRfaWQgPSBgJHtldmVudC50YXJnZXQuaWR9LWNvcHktdG8tY2xpcGJvYXJkLXJlc3VsdGBcbiAgY29uc3QgZWwgPSBkb2N1bWVudC5nZXRFbGVtZW50QnlJZChyZXN1bHRfaWQpXG5cbiAgaWYgKFwiY2xpcGJvYXJkXCIgaW4gbmF2aWdhdG9yKSB7XG4gICAgaWYgKGV2ZW50LnRhcmdldC50YWdOYW1lID09PSBcIklOUFVUXCIpIHtcbiAgICAgIHR4dCA9IGV2ZW50LnRhcmdldC52YWx1ZVxuICAgIH0gZWxzZSB7XG4gICAgICB0eHQgPSBldmVudC50YXJnZXQudGV4dENvbnRlbnRcbiAgICB9XG5cbiAgICBuYXZpZ2F0b3IuY2xpcGJvYXJkXG4gICAgICAud3JpdGVUZXh0KHR4dClcbiAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgZWwuaW5uZXJUZXh0ID0gXCJDb3BpZWQgdG8gY2xpcGJvYXJkXCJcbiAgICAgICAgLy8gTWFrZSBpdCB2aXNpYmxlXG4gICAgICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUoXCJpbnZpc2libGVcIiwgXCJ0ZXh0LXJlZC01MDBcIiwgXCJvcGFjaXR5LTBcIilcbiAgICAgICAgLy8gRmFkZSBpbiBhbmQgdHJhbnNsYXRlIHVwd2FyZHNcbiAgICAgICAgZWwuY2xhc3NMaXN0LmFkZChcInRleHQtZ3JlZW4tNTAwXCIsIFwib3BhY2l0eS0xMDBcIiwgXCItdHJhbnNsYXRlLXktMlwiKVxuXG4gICAgICAgIHNldFRpbWVvdXQoZnVuY3Rpb24gKCkge1xuICAgICAgICAgIGVsLmNsYXNzTGlzdC5yZW1vdmUoXCJ0ZXh0LWdyZWVuLTUwMFwiLCBcIm9wYWNpdHktMTAwXCIsIFwiLXRyYW5zbGF0ZS15LTJcIilcbiAgICAgICAgICBlbC5jbGFzc0xpc3QuYWRkKFwiaW52aXNpYmxlXCIsIFwidGV4dC1yZWQtNTAwXCIsIFwib3BhY2l0eS0wXCIpXG4gICAgICAgIH0sIDIwMDApXG4gICAgICB9KVxuICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgZWwuaW5uZXJUZXh0ID0gXCJDb3VsZCBub3QgY29weVwiXG4gICAgICAgIC8vIE1ha2UgaXQgdmlzaWJsZVxuICAgICAgICBlbC5jbGFzc0xpc3QucmVtb3ZlKFwiaW52aXNpYmxlXCIsIFwidGV4dC1ncmVlbi01MDBcIiwgXCJvcGFjaXR5LTBcIilcbiAgICAgICAgLy8gRmFkZSBpbiBhbmQgdHJhbnNsYXRlIHVwd2FyZHNcbiAgICAgICAgZWwuY2xhc3NMaXN0LmFkZChcInRleHQtcmVkLTUwMFwiLCBcIm9wYWNpdHktMTAwXCIsIFwiLXRyYW5zbGF0ZS15LTJcIilcbiAgICAgIH0pXG4gIH0gZWxzZSB7XG4gICAgYWxlcnQoXCJTb3JyeSwgeW91ciBicm93c2VyIGRvZXMgbm90IHN1cHBvcnQgY2xpcGJvYXJkIGNvcHkuXCIpXG4gIH1cbn0pXG5cbmxldCBzb2NrZXRQYXRoID1cbiAgZG9jdW1lbnQucXVlcnlTZWxlY3RvcihcImh0bWxcIikuZ2V0QXR0cmlidXRlKFwicGh4LXNvY2tldFwiKSB8fCBcIi9saXZlXCJcbmxldCBjc3JmVG9rZW4gPSBkb2N1bWVudFxuICAucXVlcnlTZWxlY3RvcihcIm1ldGFbbmFtZT0nY3NyZi10b2tlbiddXCIpXG4gIC5nZXRBdHRyaWJ1dGUoXCJjb250ZW50XCIpXG5sZXQgbGl2ZVNvY2tldCA9IG5ldyBMaXZlVmlldy5MaXZlU29ja2V0KHNvY2tldFBhdGgsIFBob2VuaXguU29ja2V0LCB7XG4gIGhvb2tzOiB7IC4uLmdldEhvb2tzKENvbXBvbmVudHMpLCAuLi5Ib29rcyB9LFxuICBwYXJhbXM6IHsgX2NzcmZfdG9rZW46IGNzcmZUb2tlbiB9LFxufSlcbmxpdmVTb2NrZXQuY29ubmVjdCgpXG53aW5kb3cubGl2ZVNvY2tldCA9IGxpdmVTb2NrZXRcbiIsICJmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7XG4gIGlmIChrZXkgaW4gb2JqKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7XG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgd3JpdGFibGU6IHRydWVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBvYmpba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cblxuZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7XG4gIHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTtcblxuICBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgIHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpO1xuICAgIGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHtcbiAgICAgIHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlO1xuICAgIH0pO1xuICAgIGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTtcbiAgfVxuXG4gIHJldHVybiBrZXlzO1xufVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkMih0YXJnZXQpIHtcbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTtcblxuICAgIGlmIChpICUgMikge1xuICAgICAgb3duS2V5cyhPYmplY3Qoc291cmNlKSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3duS2V5cyhPYmplY3Qoc291cmNlKSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuZnVuY3Rpb24gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2Uoc291cmNlLCBleGNsdWRlZCkge1xuICBpZiAoc291cmNlID09IG51bGwpIHJldHVybiB7fTtcbiAgdmFyIHRhcmdldCA9IHt9O1xuICB2YXIgc291cmNlS2V5cyA9IE9iamVjdC5rZXlzKHNvdXJjZSk7XG4gIHZhciBrZXksIGk7XG5cbiAgZm9yIChpID0gMDsgaSA8IHNvdXJjZUtleXMubGVuZ3RoOyBpKyspIHtcbiAgICBrZXkgPSBzb3VyY2VLZXlzW2ldO1xuICAgIGlmIChleGNsdWRlZC5pbmRleE9mKGtleSkgPj0gMCkgY29udGludWU7XG4gICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbmZ1bmN0aW9uIF9vYmplY3RXaXRob3V0UHJvcGVydGllcyhzb3VyY2UsIGV4Y2x1ZGVkKSB7XG4gIGlmIChzb3VyY2UgPT0gbnVsbCkgcmV0dXJuIHt9O1xuXG4gIHZhciB0YXJnZXQgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShzb3VyY2UsIGV4Y2x1ZGVkKTtcblxuICB2YXIga2V5LCBpO1xuXG4gIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgdmFyIHNvdXJjZVN5bWJvbEtleXMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKHNvdXJjZSk7XG5cbiAgICBmb3IgKGkgPSAwOyBpIDwgc291cmNlU3ltYm9sS2V5cy5sZW5ndGg7IGkrKykge1xuICAgICAga2V5ID0gc291cmNlU3ltYm9sS2V5c1tpXTtcbiAgICAgIGlmIChleGNsdWRlZC5pbmRleE9mKGtleSkgPj0gMCkgY29udGludWU7XG4gICAgICBpZiAoIU9iamVjdC5wcm90b3R5cGUucHJvcGVydHlJc0VudW1lcmFibGUuY2FsbChzb3VyY2UsIGtleSkpIGNvbnRpbnVlO1xuICAgICAgdGFyZ2V0W2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufVxuXG5mdW5jdGlvbiBfc2xpY2VkVG9BcnJheShhcnIsIGkpIHtcbiAgcmV0dXJuIF9hcnJheVdpdGhIb2xlcyhhcnIpIHx8IF9pdGVyYWJsZVRvQXJyYXlMaW1pdChhcnIsIGkpIHx8IF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShhcnIsIGkpIHx8IF9ub25JdGVyYWJsZVJlc3QoKTtcbn1cblxuZnVuY3Rpb24gX2FycmF5V2l0aEhvbGVzKGFycikge1xuICBpZiAoQXJyYXkuaXNBcnJheShhcnIpKSByZXR1cm4gYXJyO1xufVxuXG5mdW5jdGlvbiBfaXRlcmFibGVUb0FycmF5TGltaXQoYXJyLCBpKSB7XG4gIGlmICh0eXBlb2YgU3ltYm9sID09PSBcInVuZGVmaW5lZFwiIHx8ICEoU3ltYm9sLml0ZXJhdG9yIGluIE9iamVjdChhcnIpKSkgcmV0dXJuO1xuICB2YXIgX2FyciA9IFtdO1xuICB2YXIgX24gPSB0cnVlO1xuICB2YXIgX2QgPSBmYWxzZTtcbiAgdmFyIF9lID0gdW5kZWZpbmVkO1xuXG4gIHRyeSB7XG4gICAgZm9yICh2YXIgX2kgPSBhcnJbU3ltYm9sLml0ZXJhdG9yXSgpLCBfczsgIShfbiA9IChfcyA9IF9pLm5leHQoKSkuZG9uZSk7IF9uID0gdHJ1ZSkge1xuICAgICAgX2Fyci5wdXNoKF9zLnZhbHVlKTtcblxuICAgICAgaWYgKGkgJiYgX2Fyci5sZW5ndGggPT09IGkpIGJyZWFrO1xuICAgIH1cbiAgfSBjYXRjaCAoZXJyKSB7XG4gICAgX2QgPSB0cnVlO1xuICAgIF9lID0gZXJyO1xuICB9IGZpbmFsbHkge1xuICAgIHRyeSB7XG4gICAgICBpZiAoIV9uICYmIF9pW1wicmV0dXJuXCJdICE9IG51bGwpIF9pW1wicmV0dXJuXCJdKCk7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGlmIChfZCkgdGhyb3cgX2U7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIF9hcnI7XG59XG5cbmZ1bmN0aW9uIF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheShvLCBtaW5MZW4pIHtcbiAgaWYgKCFvKSByZXR1cm47XG4gIGlmICh0eXBlb2YgbyA9PT0gXCJzdHJpbmdcIikgcmV0dXJuIF9hcnJheUxpa2VUb0FycmF5KG8sIG1pbkxlbik7XG4gIHZhciBuID0gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5jYWxsKG8pLnNsaWNlKDgsIC0xKTtcbiAgaWYgKG4gPT09IFwiT2JqZWN0XCIgJiYgby5jb25zdHJ1Y3RvcikgbiA9IG8uY29uc3RydWN0b3IubmFtZTtcbiAgaWYgKG4gPT09IFwiTWFwXCIgfHwgbiA9PT0gXCJTZXRcIikgcmV0dXJuIEFycmF5LmZyb20obyk7XG4gIGlmIChuID09PSBcIkFyZ3VtZW50c1wiIHx8IC9eKD86VWl8SSludCg/Ojh8MTZ8MzIpKD86Q2xhbXBlZCk/QXJyYXkkLy50ZXN0KG4pKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTtcbn1cblxuZnVuY3Rpb24gX2FycmF5TGlrZVRvQXJyYXkoYXJyLCBsZW4pIHtcbiAgaWYgKGxlbiA9PSBudWxsIHx8IGxlbiA+IGFyci5sZW5ndGgpIGxlbiA9IGFyci5sZW5ndGg7XG5cbiAgZm9yICh2YXIgaSA9IDAsIGFycjIgPSBuZXcgQXJyYXkobGVuKTsgaSA8IGxlbjsgaSsrKSBhcnIyW2ldID0gYXJyW2ldO1xuXG4gIHJldHVybiBhcnIyO1xufVxuXG5mdW5jdGlvbiBfbm9uSXRlcmFibGVSZXN0KCkge1xuICB0aHJvdyBuZXcgVHlwZUVycm9yKFwiSW52YWxpZCBhdHRlbXB0IHRvIGRlc3RydWN0dXJlIG5vbi1pdGVyYWJsZSBpbnN0YW5jZS5cXG5JbiBvcmRlciB0byBiZSBpdGVyYWJsZSwgbm9uLWFycmF5IG9iamVjdHMgbXVzdCBoYXZlIGEgW1N5bWJvbC5pdGVyYXRvcl0oKSBtZXRob2QuXCIpO1xufVxuXG5leHBvcnQgeyBfYXJyYXlMaWtlVG9BcnJheSBhcyBhcnJheUxpa2VUb0FycmF5LCBfYXJyYXlXaXRoSG9sZXMgYXMgYXJyYXlXaXRoSG9sZXMsIF9kZWZpbmVQcm9wZXJ0eSBhcyBkZWZpbmVQcm9wZXJ0eSwgX2l0ZXJhYmxlVG9BcnJheUxpbWl0IGFzIGl0ZXJhYmxlVG9BcnJheUxpbWl0LCBfbm9uSXRlcmFibGVSZXN0IGFzIG5vbkl0ZXJhYmxlUmVzdCwgX29iamVjdFNwcmVhZDIgYXMgb2JqZWN0U3ByZWFkMiwgX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIGFzIG9iamVjdFdpdGhvdXRQcm9wZXJ0aWVzLCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZSBhcyBvYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlLCBfc2xpY2VkVG9BcnJheSBhcyBzbGljZWRUb0FycmF5LCBfdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkgYXMgdW5zdXBwb3J0ZWRJdGVyYWJsZVRvQXJyYXkgfTtcbiIsICJmdW5jdGlvbiBfZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7XG4gIGlmIChrZXkgaW4gb2JqKSB7XG4gICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7XG4gICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgd3JpdGFibGU6IHRydWVcbiAgICB9KTtcbiAgfSBlbHNlIHtcbiAgICBvYmpba2V5XSA9IHZhbHVlO1xuICB9XG5cbiAgcmV0dXJuIG9iajtcbn1cblxuZnVuY3Rpb24gb3duS2V5cyhvYmplY3QsIGVudW1lcmFibGVPbmx5KSB7XG4gIHZhciBrZXlzID0gT2JqZWN0LmtleXMob2JqZWN0KTtcblxuICBpZiAoT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scykge1xuICAgIHZhciBzeW1ib2xzID0gT2JqZWN0LmdldE93blByb3BlcnR5U3ltYm9scyhvYmplY3QpO1xuICAgIGlmIChlbnVtZXJhYmxlT25seSkgc3ltYm9scyA9IHN5bWJvbHMuZmlsdGVyKGZ1bmN0aW9uIChzeW0pIHtcbiAgICAgIHJldHVybiBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKG9iamVjdCwgc3ltKS5lbnVtZXJhYmxlO1xuICAgIH0pO1xuICAgIGtleXMucHVzaC5hcHBseShrZXlzLCBzeW1ib2xzKTtcbiAgfVxuXG4gIHJldHVybiBrZXlzO1xufVxuXG5mdW5jdGlvbiBfb2JqZWN0U3ByZWFkMih0YXJnZXQpIHtcbiAgZm9yICh2YXIgaSA9IDE7IGkgPCBhcmd1bWVudHMubGVuZ3RoOyBpKyspIHtcbiAgICB2YXIgc291cmNlID0gYXJndW1lbnRzW2ldICE9IG51bGwgPyBhcmd1bWVudHNbaV0gOiB7fTtcblxuICAgIGlmIChpICUgMikge1xuICAgICAgb3duS2V5cyhPYmplY3Qoc291cmNlKSwgdHJ1ZSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIF9kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgc291cmNlW2tleV0pO1xuICAgICAgfSk7XG4gICAgfSBlbHNlIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycykge1xuICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnRpZXModGFyZ2V0LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhzb3VyY2UpKTtcbiAgICB9IGVsc2Uge1xuICAgICAgb3duS2V5cyhPYmplY3Qoc291cmNlKSkuZm9yRWFjaChmdW5jdGlvbiAoa2V5KSB7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eSh0YXJnZXQsIGtleSwgT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcihzb3VyY2UsIGtleSkpO1xuICAgICAgfSk7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuZnVuY3Rpb24gY29tcG9zZSgpIHtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGZucyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICBmbnNbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24gKHgpIHtcbiAgICByZXR1cm4gZm5zLnJlZHVjZVJpZ2h0KGZ1bmN0aW9uICh5LCBmKSB7XG4gICAgICByZXR1cm4gZih5KTtcbiAgICB9LCB4KTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gY3VycnkoZm4pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGN1cnJpZWQoKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIGZvciAodmFyIF9sZW4yID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuMiksIF9rZXkyID0gMDsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgYXJnc1tfa2V5Ml0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgIH1cblxuICAgIHJldHVybiBhcmdzLmxlbmd0aCA+PSBmbi5sZW5ndGggPyBmbi5hcHBseSh0aGlzLCBhcmdzKSA6IGZ1bmN0aW9uICgpIHtcbiAgICAgIGZvciAodmFyIF9sZW4zID0gYXJndW1lbnRzLmxlbmd0aCwgbmV4dEFyZ3MgPSBuZXcgQXJyYXkoX2xlbjMpLCBfa2V5MyA9IDA7IF9rZXkzIDwgX2xlbjM7IF9rZXkzKyspIHtcbiAgICAgICAgbmV4dEFyZ3NbX2tleTNdID0gYXJndW1lbnRzW19rZXkzXTtcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIGN1cnJpZWQuYXBwbHkoX3RoaXMsIFtdLmNvbmNhdChhcmdzLCBuZXh0QXJncykpO1xuICAgIH07XG4gIH07XG59XG5cbmZ1bmN0aW9uIGlzT2JqZWN0KHZhbHVlKSB7XG4gIHJldHVybiB7fS50b1N0cmluZy5jYWxsKHZhbHVlKS5pbmNsdWRlcygnT2JqZWN0Jyk7XG59XG5cbmZ1bmN0aW9uIGlzRW1wdHkob2JqKSB7XG4gIHJldHVybiAhT2JqZWN0LmtleXMob2JqKS5sZW5ndGg7XG59XG5cbmZ1bmN0aW9uIGlzRnVuY3Rpb24odmFsdWUpIHtcbiAgcmV0dXJuIHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJztcbn1cblxuZnVuY3Rpb24gaGFzT3duUHJvcGVydHkob2JqZWN0LCBwcm9wZXJ0eSkge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iamVjdCwgcHJvcGVydHkpO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZUNoYW5nZXMoaW5pdGlhbCwgY2hhbmdlcykge1xuICBpZiAoIWlzT2JqZWN0KGNoYW5nZXMpKSBlcnJvckhhbmRsZXIoJ2NoYW5nZVR5cGUnKTtcbiAgaWYgKE9iamVjdC5rZXlzKGNoYW5nZXMpLnNvbWUoZnVuY3Rpb24gKGZpZWxkKSB7XG4gICAgcmV0dXJuICFoYXNPd25Qcm9wZXJ0eShpbml0aWFsLCBmaWVsZCk7XG4gIH0pKSBlcnJvckhhbmRsZXIoJ2NoYW5nZUZpZWxkJyk7XG4gIHJldHVybiBjaGFuZ2VzO1xufVxuXG5mdW5jdGlvbiB2YWxpZGF0ZVNlbGVjdG9yKHNlbGVjdG9yKSB7XG4gIGlmICghaXNGdW5jdGlvbihzZWxlY3RvcikpIGVycm9ySGFuZGxlcignc2VsZWN0b3JUeXBlJyk7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlSGFuZGxlcihoYW5kbGVyKSB7XG4gIGlmICghKGlzRnVuY3Rpb24oaGFuZGxlcikgfHwgaXNPYmplY3QoaGFuZGxlcikpKSBlcnJvckhhbmRsZXIoJ2hhbmRsZXJUeXBlJyk7XG4gIGlmIChpc09iamVjdChoYW5kbGVyKSAmJiBPYmplY3QudmFsdWVzKGhhbmRsZXIpLnNvbWUoZnVuY3Rpb24gKF9oYW5kbGVyKSB7XG4gICAgcmV0dXJuICFpc0Z1bmN0aW9uKF9oYW5kbGVyKTtcbiAgfSkpIGVycm9ySGFuZGxlcignaGFuZGxlcnNUeXBlJyk7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlSW5pdGlhbChpbml0aWFsKSB7XG4gIGlmICghaW5pdGlhbCkgZXJyb3JIYW5kbGVyKCdpbml0aWFsSXNSZXF1aXJlZCcpO1xuICBpZiAoIWlzT2JqZWN0KGluaXRpYWwpKSBlcnJvckhhbmRsZXIoJ2luaXRpYWxUeXBlJyk7XG4gIGlmIChpc0VtcHR5KGluaXRpYWwpKSBlcnJvckhhbmRsZXIoJ2luaXRpYWxDb250ZW50Jyk7XG59XG5cbmZ1bmN0aW9uIHRocm93RXJyb3IoZXJyb3JNZXNzYWdlcywgdHlwZSkge1xuICB0aHJvdyBuZXcgRXJyb3IoZXJyb3JNZXNzYWdlc1t0eXBlXSB8fCBlcnJvck1lc3NhZ2VzW1wiZGVmYXVsdFwiXSk7XG59XG5cbnZhciBlcnJvck1lc3NhZ2VzID0ge1xuICBpbml0aWFsSXNSZXF1aXJlZDogJ2luaXRpYWwgc3RhdGUgaXMgcmVxdWlyZWQnLFxuICBpbml0aWFsVHlwZTogJ2luaXRpYWwgc3RhdGUgc2hvdWxkIGJlIGFuIG9iamVjdCcsXG4gIGluaXRpYWxDb250ZW50OiAnaW5pdGlhbCBzdGF0ZSBzaG91bGRuXFwndCBiZSBhbiBlbXB0eSBvYmplY3QnLFxuICBoYW5kbGVyVHlwZTogJ2hhbmRsZXIgc2hvdWxkIGJlIGFuIG9iamVjdCBvciBhIGZ1bmN0aW9uJyxcbiAgaGFuZGxlcnNUeXBlOiAnYWxsIGhhbmRsZXJzIHNob3VsZCBiZSBhIGZ1bmN0aW9ucycsXG4gIHNlbGVjdG9yVHlwZTogJ3NlbGVjdG9yIHNob3VsZCBiZSBhIGZ1bmN0aW9uJyxcbiAgY2hhbmdlVHlwZTogJ3Byb3ZpZGVkIHZhbHVlIG9mIGNoYW5nZXMgc2hvdWxkIGJlIGFuIG9iamVjdCcsXG4gIGNoYW5nZUZpZWxkOiAnaXQgc2VhbXMgeW91IHdhbnQgdG8gY2hhbmdlIGEgZmllbGQgaW4gdGhlIHN0YXRlIHdoaWNoIGlzIG5vdCBzcGVjaWZpZWQgaW4gdGhlIFwiaW5pdGlhbFwiIHN0YXRlJyxcbiAgXCJkZWZhdWx0XCI6ICdhbiB1bmtub3duIGVycm9yIGFjY3VyZWQgaW4gYHN0YXRlLWxvY2FsYCBwYWNrYWdlJ1xufTtcbnZhciBlcnJvckhhbmRsZXIgPSBjdXJyeSh0aHJvd0Vycm9yKShlcnJvck1lc3NhZ2VzKTtcbnZhciB2YWxpZGF0b3JzID0ge1xuICBjaGFuZ2VzOiB2YWxpZGF0ZUNoYW5nZXMsXG4gIHNlbGVjdG9yOiB2YWxpZGF0ZVNlbGVjdG9yLFxuICBoYW5kbGVyOiB2YWxpZGF0ZUhhbmRsZXIsXG4gIGluaXRpYWw6IHZhbGlkYXRlSW5pdGlhbFxufTtcblxuZnVuY3Rpb24gY3JlYXRlKGluaXRpYWwpIHtcbiAgdmFyIGhhbmRsZXIgPSBhcmd1bWVudHMubGVuZ3RoID4gMSAmJiBhcmd1bWVudHNbMV0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1sxXSA6IHt9O1xuICB2YWxpZGF0b3JzLmluaXRpYWwoaW5pdGlhbCk7XG4gIHZhbGlkYXRvcnMuaGFuZGxlcihoYW5kbGVyKTtcbiAgdmFyIHN0YXRlID0ge1xuICAgIGN1cnJlbnQ6IGluaXRpYWxcbiAgfTtcbiAgdmFyIGRpZFVwZGF0ZSA9IGN1cnJ5KGRpZFN0YXRlVXBkYXRlKShzdGF0ZSwgaGFuZGxlcik7XG4gIHZhciB1cGRhdGUgPSBjdXJyeSh1cGRhdGVTdGF0ZSkoc3RhdGUpO1xuICB2YXIgdmFsaWRhdGUgPSBjdXJyeSh2YWxpZGF0b3JzLmNoYW5nZXMpKGluaXRpYWwpO1xuICB2YXIgZ2V0Q2hhbmdlcyA9IGN1cnJ5KGV4dHJhY3RDaGFuZ2VzKShzdGF0ZSk7XG5cbiAgZnVuY3Rpb24gZ2V0U3RhdGUoKSB7XG4gICAgdmFyIHNlbGVjdG9yID0gYXJndW1lbnRzLmxlbmd0aCA+IDAgJiYgYXJndW1lbnRzWzBdICE9PSB1bmRlZmluZWQgPyBhcmd1bWVudHNbMF0gOiBmdW5jdGlvbiAoc3RhdGUpIHtcbiAgICAgIHJldHVybiBzdGF0ZTtcbiAgICB9O1xuICAgIHZhbGlkYXRvcnMuc2VsZWN0b3Ioc2VsZWN0b3IpO1xuICAgIHJldHVybiBzZWxlY3RvcihzdGF0ZS5jdXJyZW50KTtcbiAgfVxuXG4gIGZ1bmN0aW9uIHNldFN0YXRlKGNhdXNlZENoYW5nZXMpIHtcbiAgICBjb21wb3NlKGRpZFVwZGF0ZSwgdXBkYXRlLCB2YWxpZGF0ZSwgZ2V0Q2hhbmdlcykoY2F1c2VkQ2hhbmdlcyk7XG4gIH1cblxuICByZXR1cm4gW2dldFN0YXRlLCBzZXRTdGF0ZV07XG59XG5cbmZ1bmN0aW9uIGV4dHJhY3RDaGFuZ2VzKHN0YXRlLCBjYXVzZWRDaGFuZ2VzKSB7XG4gIHJldHVybiBpc0Z1bmN0aW9uKGNhdXNlZENoYW5nZXMpID8gY2F1c2VkQ2hhbmdlcyhzdGF0ZS5jdXJyZW50KSA6IGNhdXNlZENoYW5nZXM7XG59XG5cbmZ1bmN0aW9uIHVwZGF0ZVN0YXRlKHN0YXRlLCBjaGFuZ2VzKSB7XG4gIHN0YXRlLmN1cnJlbnQgPSBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgc3RhdGUuY3VycmVudCksIGNoYW5nZXMpO1xuICByZXR1cm4gY2hhbmdlcztcbn1cblxuZnVuY3Rpb24gZGlkU3RhdGVVcGRhdGUoc3RhdGUsIGhhbmRsZXIsIGNoYW5nZXMpIHtcbiAgaXNGdW5jdGlvbihoYW5kbGVyKSA/IGhhbmRsZXIoc3RhdGUuY3VycmVudCkgOiBPYmplY3Qua2V5cyhjaGFuZ2VzKS5mb3JFYWNoKGZ1bmN0aW9uIChmaWVsZCkge1xuICAgIHZhciBfaGFuZGxlciRmaWVsZDtcblxuICAgIHJldHVybiAoX2hhbmRsZXIkZmllbGQgPSBoYW5kbGVyW2ZpZWxkXSkgPT09IG51bGwgfHwgX2hhbmRsZXIkZmllbGQgPT09IHZvaWQgMCA/IHZvaWQgMCA6IF9oYW5kbGVyJGZpZWxkLmNhbGwoaGFuZGxlciwgc3RhdGUuY3VycmVudFtmaWVsZF0pO1xuICB9KTtcbiAgcmV0dXJuIGNoYW5nZXM7XG59XG5cbnZhciBpbmRleCA9IHtcbiAgY3JlYXRlOiBjcmVhdGVcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGluZGV4O1xuIiwgInZhciBjb25maWcgPSB7XG4gIHBhdGhzOiB7XG4gICAgdnM6ICdodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL21vbmFjby1lZGl0b3JAMC4zNi4xL21pbi92cydcbiAgfVxufTtcblxuZXhwb3J0IGRlZmF1bHQgY29uZmlnO1xuIiwgImZ1bmN0aW9uIGN1cnJ5KGZuKSB7XG4gIHJldHVybiBmdW5jdGlvbiBjdXJyaWVkKCkge1xuICAgIHZhciBfdGhpcyA9IHRoaXM7XG5cbiAgICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgYXJncyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICAgIGFyZ3NbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gICAgfVxuXG4gICAgcmV0dXJuIGFyZ3MubGVuZ3RoID49IGZuLmxlbmd0aCA/IGZuLmFwcGx5KHRoaXMsIGFyZ3MpIDogZnVuY3Rpb24gKCkge1xuICAgICAgZm9yICh2YXIgX2xlbjIgPSBhcmd1bWVudHMubGVuZ3RoLCBuZXh0QXJncyA9IG5ldyBBcnJheShfbGVuMiksIF9rZXkyID0gMDsgX2tleTIgPCBfbGVuMjsgX2tleTIrKykge1xuICAgICAgICBuZXh0QXJnc1tfa2V5Ml0gPSBhcmd1bWVudHNbX2tleTJdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY3VycmllZC5hcHBseShfdGhpcywgW10uY29uY2F0KGFyZ3MsIG5leHRBcmdzKSk7XG4gICAgfTtcbiAgfTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgY3Vycnk7XG4iLCAiZnVuY3Rpb24gaXNPYmplY3QodmFsdWUpIHtcbiAgcmV0dXJuIHt9LnRvU3RyaW5nLmNhbGwodmFsdWUpLmluY2x1ZGVzKCdPYmplY3QnKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgaXNPYmplY3Q7XG4iLCAiaW1wb3J0IGN1cnJ5IGZyb20gJy4uL3V0aWxzL2N1cnJ5LmpzJztcbmltcG9ydCBpc09iamVjdCBmcm9tICcuLi91dGlscy9pc09iamVjdC5qcyc7XG5cbi8qKlxuICogdmFsaWRhdGVzIHRoZSBjb25maWd1cmF0aW9uIG9iamVjdCBhbmQgaW5mb3JtcyBhYm91dCBkZXByZWNhdGlvblxuICogQHBhcmFtIHtPYmplY3R9IGNvbmZpZyAtIHRoZSBjb25maWd1cmF0aW9uIG9iamVjdCBcbiAqIEByZXR1cm4ge09iamVjdH0gY29uZmlnIC0gdGhlIHZhbGlkYXRlZCBjb25maWd1cmF0aW9uIG9iamVjdFxuICovXG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ29uZmlnKGNvbmZpZykge1xuICBpZiAoIWNvbmZpZykgZXJyb3JIYW5kbGVyKCdjb25maWdJc1JlcXVpcmVkJyk7XG4gIGlmICghaXNPYmplY3QoY29uZmlnKSkgZXJyb3JIYW5kbGVyKCdjb25maWdUeXBlJyk7XG5cbiAgaWYgKGNvbmZpZy51cmxzKSB7XG4gICAgaW5mb3JtQWJvdXREZXByZWNhdGlvbigpO1xuICAgIHJldHVybiB7XG4gICAgICBwYXRoczoge1xuICAgICAgICB2czogY29uZmlnLnVybHMubW9uYWNvQmFzZVxuICAgICAgfVxuICAgIH07XG4gIH1cblxuICByZXR1cm4gY29uZmlnO1xufVxuLyoqXG4gKiBsb2dzIGRlcHJlY2F0aW9uIG1lc3NhZ2VcbiAqL1xuXG5cbmZ1bmN0aW9uIGluZm9ybUFib3V0RGVwcmVjYXRpb24oKSB7XG4gIGNvbnNvbGUud2FybihlcnJvck1lc3NhZ2VzLmRlcHJlY2F0aW9uKTtcbn1cblxuZnVuY3Rpb24gdGhyb3dFcnJvcihlcnJvck1lc3NhZ2VzLCB0eXBlKSB7XG4gIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2VzW3R5cGVdIHx8IGVycm9yTWVzc2FnZXNbXCJkZWZhdWx0XCJdKTtcbn1cblxudmFyIGVycm9yTWVzc2FnZXMgPSB7XG4gIGNvbmZpZ0lzUmVxdWlyZWQ6ICd0aGUgY29uZmlndXJhdGlvbiBvYmplY3QgaXMgcmVxdWlyZWQnLFxuICBjb25maWdUeXBlOiAndGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IHNob3VsZCBiZSBhbiBvYmplY3QnLFxuICBcImRlZmF1bHRcIjogJ2FuIHVua25vd24gZXJyb3IgYWNjdXJlZCBpbiBgQG1vbmFjby1lZGl0b3IvbG9hZGVyYCBwYWNrYWdlJyxcbiAgZGVwcmVjYXRpb246IFwiRGVwcmVjYXRpb24gd2FybmluZyFcXG4gICAgWW91IGFyZSB1c2luZyBkZXByZWNhdGVkIHdheSBvZiBjb25maWd1cmF0aW9uLlxcblxcbiAgICBJbnN0ZWFkIG9mIHVzaW5nXFxuICAgICAgbW9uYWNvLmNvbmZpZyh7IHVybHM6IHsgbW9uYWNvQmFzZTogJy4uLicgfSB9KVxcbiAgICB1c2VcXG4gICAgICBtb25hY28uY29uZmlnKHsgcGF0aHM6IHsgdnM6ICcuLi4nIH0gfSlcXG5cXG4gICAgRm9yIG1vcmUgcGxlYXNlIGNoZWNrIHRoZSBsaW5rIGh0dHBzOi8vZ2l0aHViLmNvbS9zdXJlbi1hdG95YW4vbW9uYWNvLWxvYWRlciNjb25maWdcXG4gIFwiXG59O1xudmFyIGVycm9ySGFuZGxlciA9IGN1cnJ5KHRocm93RXJyb3IpKGVycm9yTWVzc2FnZXMpO1xudmFyIHZhbGlkYXRvcnMgPSB7XG4gIGNvbmZpZzogdmFsaWRhdGVDb25maWdcbn07XG5cbmV4cG9ydCBkZWZhdWx0IHZhbGlkYXRvcnM7XG5leHBvcnQgeyBlcnJvckhhbmRsZXIsIGVycm9yTWVzc2FnZXMgfTtcbiIsICJ2YXIgY29tcG9zZSA9IGZ1bmN0aW9uIGNvbXBvc2UoKSB7XG4gIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBmbnMgPSBuZXcgQXJyYXkoX2xlbiksIF9rZXkgPSAwOyBfa2V5IDwgX2xlbjsgX2tleSsrKSB7XG4gICAgZm5zW19rZXldID0gYXJndW1lbnRzW19rZXldO1xuICB9XG5cbiAgcmV0dXJuIGZ1bmN0aW9uICh4KSB7XG4gICAgcmV0dXJuIGZucy5yZWR1Y2VSaWdodChmdW5jdGlvbiAoeSwgZikge1xuICAgICAgcmV0dXJuIGYoeSk7XG4gICAgfSwgeCk7XG4gIH07XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb21wb3NlO1xuIiwgImltcG9ydCB7IG9iamVjdFNwcmVhZDIgYXMgX29iamVjdFNwcmVhZDIgfSBmcm9tICcuLi9fdmlydHVhbC9fcm9sbHVwUGx1Z2luQmFiZWxIZWxwZXJzLmpzJztcblxuZnVuY3Rpb24gbWVyZ2UodGFyZ2V0LCBzb3VyY2UpIHtcbiAgT2JqZWN0LmtleXMoc291cmNlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICBpZiAoc291cmNlW2tleV0gaW5zdGFuY2VvZiBPYmplY3QpIHtcbiAgICAgIGlmICh0YXJnZXRba2V5XSkge1xuICAgICAgICBPYmplY3QuYXNzaWduKHNvdXJjZVtrZXldLCBtZXJnZSh0YXJnZXRba2V5XSwgc291cmNlW2tleV0pKTtcbiAgICAgIH1cbiAgICB9XG4gIH0pO1xuICByZXR1cm4gX29iamVjdFNwcmVhZDIoX29iamVjdFNwcmVhZDIoe30sIHRhcmdldCksIHNvdXJjZSk7XG59XG5cbmV4cG9ydCBkZWZhdWx0IG1lcmdlO1xuIiwgIi8vIFRoZSBzb3VyY2UgKGhhcyBiZWVuIGNoYW5nZWQpIGlzIGh0dHBzOi8vZ2l0aHViLmNvbS9mYWNlYm9vay9yZWFjdC9pc3N1ZXMvNTQ2NSNpc3N1ZWNvbW1lbnQtMTU3ODg4MzI1XG52YXIgQ0FOQ0VMQVRJT05fTUVTU0FHRSA9IHtcbiAgdHlwZTogJ2NhbmNlbGF0aW9uJyxcbiAgbXNnOiAnb3BlcmF0aW9uIGlzIG1hbnVhbGx5IGNhbmNlbGVkJ1xufTtcblxuZnVuY3Rpb24gbWFrZUNhbmNlbGFibGUocHJvbWlzZSkge1xuICB2YXIgaGFzQ2FuY2VsZWRfID0gZmFsc2U7XG4gIHZhciB3cmFwcGVkUHJvbWlzZSA9IG5ldyBQcm9taXNlKGZ1bmN0aW9uIChyZXNvbHZlLCByZWplY3QpIHtcbiAgICBwcm9taXNlLnRoZW4oZnVuY3Rpb24gKHZhbCkge1xuICAgICAgcmV0dXJuIGhhc0NhbmNlbGVkXyA/IHJlamVjdChDQU5DRUxBVElPTl9NRVNTQUdFKSA6IHJlc29sdmUodmFsKTtcbiAgICB9KTtcbiAgICBwcm9taXNlW1wiY2F0Y2hcIl0ocmVqZWN0KTtcbiAgfSk7XG4gIHJldHVybiB3cmFwcGVkUHJvbWlzZS5jYW5jZWwgPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIGhhc0NhbmNlbGVkXyA9IHRydWU7XG4gIH0sIHdyYXBwZWRQcm9taXNlO1xufVxuXG5leHBvcnQgZGVmYXVsdCBtYWtlQ2FuY2VsYWJsZTtcbmV4cG9ydCB7IENBTkNFTEFUSU9OX01FU1NBR0UgfTtcbiIsICJpbXBvcnQgeyBzbGljZWRUb0FycmF5IGFzIF9zbGljZWRUb0FycmF5LCBvYmplY3RXaXRob3V0UHJvcGVydGllcyBhcyBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgfSBmcm9tICcuLi9fdmlydHVhbC9fcm9sbHVwUGx1Z2luQmFiZWxIZWxwZXJzLmpzJztcbmltcG9ydCBzdGF0ZSBmcm9tICdzdGF0ZS1sb2NhbCc7XG5pbXBvcnQgY29uZmlnJDEgZnJvbSAnLi4vY29uZmlnL2luZGV4LmpzJztcbmltcG9ydCB2YWxpZGF0b3JzIGZyb20gJy4uL3ZhbGlkYXRvcnMvaW5kZXguanMnO1xuaW1wb3J0IGNvbXBvc2UgZnJvbSAnLi4vdXRpbHMvY29tcG9zZS5qcyc7XG5pbXBvcnQgbWVyZ2UgZnJvbSAnLi4vdXRpbHMvZGVlcE1lcmdlLmpzJztcbmltcG9ydCBtYWtlQ2FuY2VsYWJsZSBmcm9tICcuLi91dGlscy9tYWtlQ2FuY2VsYWJsZS5qcyc7XG5cbi8qKiB0aGUgbG9jYWwgc3RhdGUgb2YgdGhlIG1vZHVsZSAqL1xuXG52YXIgX3N0YXRlJGNyZWF0ZSA9IHN0YXRlLmNyZWF0ZSh7XG4gIGNvbmZpZzogY29uZmlnJDEsXG4gIGlzSW5pdGlhbGl6ZWQ6IGZhbHNlLFxuICByZXNvbHZlOiBudWxsLFxuICByZWplY3Q6IG51bGwsXG4gIG1vbmFjbzogbnVsbFxufSksXG4gICAgX3N0YXRlJGNyZWF0ZTIgPSBfc2xpY2VkVG9BcnJheShfc3RhdGUkY3JlYXRlLCAyKSxcbiAgICBnZXRTdGF0ZSA9IF9zdGF0ZSRjcmVhdGUyWzBdLFxuICAgIHNldFN0YXRlID0gX3N0YXRlJGNyZWF0ZTJbMV07XG4vKipcbiAqIHNldCB0aGUgbG9hZGVyIGNvbmZpZ3VyYXRpb25cbiAqIEBwYXJhbSB7T2JqZWN0fSBjb25maWcgLSB0aGUgY29uZmlndXJhdGlvbiBvYmplY3RcbiAqL1xuXG5cbmZ1bmN0aW9uIGNvbmZpZyhnbG9iYWxDb25maWcpIHtcbiAgdmFyIF92YWxpZGF0b3JzJGNvbmZpZyA9IHZhbGlkYXRvcnMuY29uZmlnKGdsb2JhbENvbmZpZyksXG4gICAgICBtb25hY28gPSBfdmFsaWRhdG9ycyRjb25maWcubW9uYWNvLFxuICAgICAgY29uZmlnID0gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKF92YWxpZGF0b3JzJGNvbmZpZywgW1wibW9uYWNvXCJdKTtcblxuICBzZXRTdGF0ZShmdW5jdGlvbiAoc3RhdGUpIHtcbiAgICByZXR1cm4ge1xuICAgICAgY29uZmlnOiBtZXJnZShzdGF0ZS5jb25maWcsIGNvbmZpZyksXG4gICAgICBtb25hY286IG1vbmFjb1xuICAgIH07XG4gIH0pO1xufVxuLyoqXG4gKiBoYW5kbGVzIHRoZSBpbml0aWFsaXphdGlvbiBvZiB0aGUgbW9uYWNvLWVkaXRvclxuICogQHJldHVybiB7UHJvbWlzZX0gLSByZXR1cm5zIGFuIGluc3RhbmNlIG9mIG1vbmFjbyAod2l0aCBhIGNhbmNlbGFibGUgcHJvbWlzZSlcbiAqL1xuXG5cbmZ1bmN0aW9uIGluaXQoKSB7XG4gIHZhciBzdGF0ZSA9IGdldFN0YXRlKGZ1bmN0aW9uIChfcmVmKSB7XG4gICAgdmFyIG1vbmFjbyA9IF9yZWYubW9uYWNvLFxuICAgICAgICBpc0luaXRpYWxpemVkID0gX3JlZi5pc0luaXRpYWxpemVkLFxuICAgICAgICByZXNvbHZlID0gX3JlZi5yZXNvbHZlO1xuICAgIHJldHVybiB7XG4gICAgICBtb25hY286IG1vbmFjbyxcbiAgICAgIGlzSW5pdGlhbGl6ZWQ6IGlzSW5pdGlhbGl6ZWQsXG4gICAgICByZXNvbHZlOiByZXNvbHZlXG4gICAgfTtcbiAgfSk7XG5cbiAgaWYgKCFzdGF0ZS5pc0luaXRpYWxpemVkKSB7XG4gICAgc2V0U3RhdGUoe1xuICAgICAgaXNJbml0aWFsaXplZDogdHJ1ZVxuICAgIH0pO1xuXG4gICAgaWYgKHN0YXRlLm1vbmFjbykge1xuICAgICAgc3RhdGUucmVzb2x2ZShzdGF0ZS5tb25hY28pO1xuICAgICAgcmV0dXJuIG1ha2VDYW5jZWxhYmxlKHdyYXBwZXJQcm9taXNlKTtcbiAgICB9XG5cbiAgICBpZiAod2luZG93Lm1vbmFjbyAmJiB3aW5kb3cubW9uYWNvLmVkaXRvcikge1xuICAgICAgc3RvcmVNb25hY29JbnN0YW5jZSh3aW5kb3cubW9uYWNvKTtcbiAgICAgIHN0YXRlLnJlc29sdmUod2luZG93Lm1vbmFjbyk7XG4gICAgICByZXR1cm4gbWFrZUNhbmNlbGFibGUod3JhcHBlclByb21pc2UpO1xuICAgIH1cblxuICAgIGNvbXBvc2UoaW5qZWN0U2NyaXB0cywgZ2V0TW9uYWNvTG9hZGVyU2NyaXB0KShjb25maWd1cmVMb2FkZXIpO1xuICB9XG5cbiAgcmV0dXJuIG1ha2VDYW5jZWxhYmxlKHdyYXBwZXJQcm9taXNlKTtcbn1cbi8qKlxuICogaW5qZWN0cyBwcm92aWRlZCBzY3JpcHRzIGludG8gdGhlIGRvY3VtZW50LmJvZHlcbiAqIEBwYXJhbSB7T2JqZWN0fSBzY3JpcHQgLSBhbiBIVE1MIHNjcmlwdCBlbGVtZW50XG4gKiBAcmV0dXJuIHtPYmplY3R9IC0gdGhlIGluamVjdGVkIEhUTUwgc2NyaXB0IGVsZW1lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIGluamVjdFNjcmlwdHMoc2NyaXB0KSB7XG4gIHJldHVybiBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKHNjcmlwdCk7XG59XG4vKipcbiAqIGNyZWF0ZXMgYW4gSFRNTCBzY3JpcHQgZWxlbWVudCB3aXRoL3dpdGhvdXQgcHJvdmlkZWQgc3JjXG4gKiBAcGFyYW0ge3N0cmluZ30gW3NyY10gLSB0aGUgc291cmNlIHBhdGggb2YgdGhlIHNjcmlwdFxuICogQHJldHVybiB7T2JqZWN0fSAtIHRoZSBjcmVhdGVkIEhUTUwgc2NyaXB0IGVsZW1lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIGNyZWF0ZVNjcmlwdChzcmMpIHtcbiAgdmFyIHNjcmlwdCA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ3NjcmlwdCcpO1xuICByZXR1cm4gc3JjICYmIChzY3JpcHQuc3JjID0gc3JjKSwgc2NyaXB0O1xufVxuLyoqXG4gKiBjcmVhdGVzIGFuIEhUTUwgc2NyaXB0IGVsZW1lbnQgd2l0aCB0aGUgbW9uYWNvIGxvYWRlciBzcmNcbiAqIEByZXR1cm4ge09iamVjdH0gLSB0aGUgY3JlYXRlZCBIVE1MIHNjcmlwdCBlbGVtZW50XG4gKi9cblxuXG5mdW5jdGlvbiBnZXRNb25hY29Mb2FkZXJTY3JpcHQoY29uZmlndXJlTG9hZGVyKSB7XG4gIHZhciBzdGF0ZSA9IGdldFN0YXRlKGZ1bmN0aW9uIChfcmVmMikge1xuICAgIHZhciBjb25maWcgPSBfcmVmMi5jb25maWcsXG4gICAgICAgIHJlamVjdCA9IF9yZWYyLnJlamVjdDtcbiAgICByZXR1cm4ge1xuICAgICAgY29uZmlnOiBjb25maWcsXG4gICAgICByZWplY3Q6IHJlamVjdFxuICAgIH07XG4gIH0pO1xuICB2YXIgbG9hZGVyU2NyaXB0ID0gY3JlYXRlU2NyaXB0KFwiXCIuY29uY2F0KHN0YXRlLmNvbmZpZy5wYXRocy52cywgXCIvbG9hZGVyLmpzXCIpKTtcblxuICBsb2FkZXJTY3JpcHQub25sb2FkID0gZnVuY3Rpb24gKCkge1xuICAgIHJldHVybiBjb25maWd1cmVMb2FkZXIoKTtcbiAgfTtcblxuICBsb2FkZXJTY3JpcHQub25lcnJvciA9IHN0YXRlLnJlamVjdDtcbiAgcmV0dXJuIGxvYWRlclNjcmlwdDtcbn1cbi8qKlxuICogY29uZmlndXJlcyB0aGUgbW9uYWNvIGxvYWRlclxuICovXG5cblxuZnVuY3Rpb24gY29uZmlndXJlTG9hZGVyKCkge1xuICB2YXIgc3RhdGUgPSBnZXRTdGF0ZShmdW5jdGlvbiAoX3JlZjMpIHtcbiAgICB2YXIgY29uZmlnID0gX3JlZjMuY29uZmlnLFxuICAgICAgICByZXNvbHZlID0gX3JlZjMucmVzb2x2ZSxcbiAgICAgICAgcmVqZWN0ID0gX3JlZjMucmVqZWN0O1xuICAgIHJldHVybiB7XG4gICAgICBjb25maWc6IGNvbmZpZyxcbiAgICAgIHJlc29sdmU6IHJlc29sdmUsXG4gICAgICByZWplY3Q6IHJlamVjdFxuICAgIH07XG4gIH0pO1xuICB2YXIgcmVxdWlyZSA9IHdpbmRvdy5yZXF1aXJlO1xuXG4gIHJlcXVpcmUuY29uZmlnKHN0YXRlLmNvbmZpZyk7XG5cbiAgcmVxdWlyZShbJ3ZzL2VkaXRvci9lZGl0b3IubWFpbiddLCBmdW5jdGlvbiAobW9uYWNvKSB7XG4gICAgc3RvcmVNb25hY29JbnN0YW5jZShtb25hY28pO1xuICAgIHN0YXRlLnJlc29sdmUobW9uYWNvKTtcbiAgfSwgZnVuY3Rpb24gKGVycm9yKSB7XG4gICAgc3RhdGUucmVqZWN0KGVycm9yKTtcbiAgfSk7XG59XG4vKipcbiAqIHN0b3JlIG1vbmFjbyBpbnN0YW5jZSBpbiBsb2NhbCBzdGF0ZVxuICovXG5cblxuZnVuY3Rpb24gc3RvcmVNb25hY29JbnN0YW5jZShtb25hY28pIHtcbiAgaWYgKCFnZXRTdGF0ZSgpLm1vbmFjbykge1xuICAgIHNldFN0YXRlKHtcbiAgICAgIG1vbmFjbzogbW9uYWNvXG4gICAgfSk7XG4gIH1cbn1cbi8qKlxuICogaW50ZXJuYWwgaGVscGVyIGZ1bmN0aW9uXG4gKiBleHRyYWN0cyBzdG9yZWQgbW9uYWNvIGluc3RhbmNlXG4gKiBAcmV0dXJuIHtPYmplY3R8bnVsbH0gLSB0aGUgbW9uYWNvIGluc3RhbmNlXG4gKi9cblxuXG5mdW5jdGlvbiBfX2dldE1vbmFjb0luc3RhbmNlKCkge1xuICByZXR1cm4gZ2V0U3RhdGUoZnVuY3Rpb24gKF9yZWY0KSB7XG4gICAgdmFyIG1vbmFjbyA9IF9yZWY0Lm1vbmFjbztcbiAgICByZXR1cm4gbW9uYWNvO1xuICB9KTtcbn1cblxudmFyIHdyYXBwZXJQcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICByZXR1cm4gc2V0U3RhdGUoe1xuICAgIHJlc29sdmU6IHJlc29sdmUsXG4gICAgcmVqZWN0OiByZWplY3RcbiAgfSk7XG59KTtcbnZhciBsb2FkZXIgPSB7XG4gIGNvbmZpZzogY29uZmlnLFxuICBpbml0OiBpbml0LFxuICBfX2dldE1vbmFjb0luc3RhbmNlOiBfX2dldE1vbmFjb0luc3RhbmNlXG59O1xuXG5leHBvcnQgZGVmYXVsdCBsb2FkZXI7XG4iLCAiLy8gQ29waWVkIGFuZCBtb2RpZmllZCBmcm9tIHRoZSBvcmlnaW5hbCB3b3JrIGF2YWlsYWJsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vbGl2ZWJvb2stZGV2L2xpdmVib29rL2Jsb2IvMjNlNThhYzYwNGRlOTJjZTU0NDcyZjM2ZmUzZTI4ZGMyNzU3NmQ2Yy9hc3NldHMvanMvaG9va3MvY2VsbF9lZGl0b3IvbGl2ZV9lZGl0b3IvdGhlbWUuanNcbi8vIENvcHlyaWdodCAoQykgMjAyMSBEYXNoYml0XG4vLyBMaWNlbnNlZCB1bmRlciBBcGFjaGUgMi4wIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbi8vIFRoaXMgaXMgYSBwb3J0IG9mIHRoZSBPbmUgRGFyayB0aGVtZSB0byB0aGUgTW9uYWNvIGVkaXRvci5cbi8vIFdlIGNvbG9yIGdyYWRlZCB0aGUgY29tbWVudCBzbyBpdCBoYXMgQUEgYWNjZXNzaWJpbGl0eSBhbmRcbi8vIHRoZW4gc2ltaWxhcmx5IHNjYWxlZCB0aGUgZGVmYXVsdCBmb250LlxuY29uc3QgY29sb3JzID0ge1xuICBiYWNrZ3JvdW5kOiBcIiMyODJjMzRcIixcbiAgZGVmYXVsdDogXCIjYzRjYWQ2XCIsXG4gIGxpZ2h0UmVkOiBcIiNlMDZjNzVcIixcbiAgYmx1ZTogXCIjNjFhZmVmXCIsXG4gIGdyYXk6IFwiIzhjOTJhM1wiLFxuICBncmVlbjogXCIjOThjMzc5XCIsXG4gIHB1cnBsZTogXCIjYzY3OGRkXCIsXG4gIHJlZDogXCIjYmU1MDQ2XCIsXG4gIHRlYWw6IFwiIzU2YjZjMlwiLFxuICBwZWFjaDogXCIjZDE5YTY2XCIsXG59XG5cbmNvbnN0IHJ1bGVzID0gKGNvbG9ycykgPT4gW1xuICB7IHRva2VuOiBcIlwiLCBmb3JlZ3JvdW5kOiBjb2xvcnMuZGVmYXVsdCB9LFxuICB7IHRva2VuOiBcInZhcmlhYmxlXCIsIGZvcmVncm91bmQ6IGNvbG9ycy5saWdodFJlZCB9LFxuICB7IHRva2VuOiBcImNvbnN0YW50XCIsIGZvcmVncm91bmQ6IGNvbG9ycy5ibHVlIH0sXG4gIHsgdG9rZW46IFwiY29uc3RhbnQuY2hhcmFjdGVyLmVzY2FwZVwiLCBmb3JlZ3JvdW5kOiBjb2xvcnMuYmx1ZSB9LFxuICB7IHRva2VuOiBcImNvbW1lbnRcIiwgZm9yZWdyb3VuZDogY29sb3JzLmdyYXkgfSxcbiAgeyB0b2tlbjogXCJudW1iZXJcIiwgZm9yZWdyb3VuZDogY29sb3JzLmJsdWUgfSxcbiAgeyB0b2tlbjogXCJyZWdleHBcIiwgZm9yZWdyb3VuZDogY29sb3JzLmxpZ2h0UmVkIH0sXG4gIHsgdG9rZW46IFwidHlwZVwiLCBmb3JlZ3JvdW5kOiBjb2xvcnMubGlnaHRSZWQgfSxcbiAgeyB0b2tlbjogXCJzdHJpbmdcIiwgZm9yZWdyb3VuZDogY29sb3JzLmdyZWVuIH0sXG4gIHsgdG9rZW46IFwia2V5d29yZFwiLCBmb3JlZ3JvdW5kOiBjb2xvcnMucHVycGxlIH0sXG4gIHsgdG9rZW46IFwib3BlcmF0b3JcIiwgZm9yZWdyb3VuZDogY29sb3JzLnBlYWNoIH0sXG4gIHsgdG9rZW46IFwiZGVsaW1pdGVyLmJyYWNrZXQuZW1iZWRcIiwgZm9yZWdyb3VuZDogY29sb3JzLnJlZCB9LFxuICB7IHRva2VuOiBcInNpZ2lsXCIsIGZvcmVncm91bmQ6IGNvbG9ycy50ZWFsIH0sXG4gIHsgdG9rZW46IFwiZnVuY3Rpb25cIiwgZm9yZWdyb3VuZDogY29sb3JzLmJsdWUgfSxcbiAgeyB0b2tlbjogXCJmdW5jdGlvbi5jYWxsXCIsIGZvcmVncm91bmQ6IGNvbG9ycy5kZWZhdWx0IH0sXG5cbiAgLy8gTWFya2Rvd24gc3BlY2lmaWNcbiAgeyB0b2tlbjogXCJlbXBoYXNpc1wiLCBmb250U3R5bGU6IFwiaXRhbGljXCIgfSxcbiAgeyB0b2tlbjogXCJzdHJvbmdcIiwgZm9udFN0eWxlOiBcImJvbGRcIiB9LFxuICB7IHRva2VuOiBcImtleXdvcmQubWRcIiwgZm9yZWdyb3VuZDogY29sb3JzLmxpZ2h0UmVkIH0sXG4gIHsgdG9rZW46IFwia2V5d29yZC50YWJsZVwiLCBmb3JlZ3JvdW5kOiBjb2xvcnMubGlnaHRSZWQgfSxcbiAgeyB0b2tlbjogXCJzdHJpbmcubGluay5tZFwiLCBmb3JlZ3JvdW5kOiBjb2xvcnMuYmx1ZSB9LFxuICB7IHRva2VuOiBcInZhcmlhYmxlLm1kXCIsIGZvcmVncm91bmQ6IGNvbG9ycy50ZWFsIH0sXG4gIHsgdG9rZW46IFwic3RyaW5nLm1kXCIsIGZvcmVncm91bmQ6IGNvbG9ycy5kZWZhdWx0IH0sXG4gIHsgdG9rZW46IFwidmFyaWFibGUuc291cmNlLm1kXCIsIGZvcmVncm91bmQ6IGNvbG9ycy5kZWZhdWx0IH0sXG5cbiAgLy8gWE1MIHNwZWNpZmljXG4gIHsgdG9rZW46IFwidGFnXCIsIGZvcmVncm91bmQ6IGNvbG9ycy5saWdodFJlZCB9LFxuICB7IHRva2VuOiBcIm1ldGF0YWdcIiwgZm9yZWdyb3VuZDogY29sb3JzLmxpZ2h0UmVkIH0sXG4gIHsgdG9rZW46IFwiYXR0cmlidXRlLm5hbWVcIiwgZm9yZWdyb3VuZDogY29sb3JzLnBlYWNoIH0sXG4gIHsgdG9rZW46IFwiYXR0cmlidXRlLnZhbHVlXCIsIGZvcmVncm91bmQ6IGNvbG9ycy5ncmVlbiB9LFxuXG4gIC8vIEpTT04gc3BlY2lmaWNcbiAgeyB0b2tlbjogXCJzdHJpbmcua2V5XCIsIGZvcmVncm91bmQ6IGNvbG9ycy5saWdodFJlZCB9LFxuICB7IHRva2VuOiBcImtleXdvcmQuanNvblwiLCBmb3JlZ3JvdW5kOiBjb2xvcnMuYmx1ZSB9LFxuXG4gIC8vIFNRTCBzcGVjaWZpY1xuICB7IHRva2VuOiBcIm9wZXJhdG9yLnNxbFwiLCBmb3JlZ3JvdW5kOiBjb2xvcnMucHVycGxlIH0sXG5dXG5cbmNvbnN0IHRoZW1lID0ge1xuICBiYXNlOiBcInZzLWRhcmtcIixcbiAgaW5oZXJpdDogZmFsc2UsXG4gIHJ1bGVzOiBydWxlcyhjb2xvcnMpLFxuICBjb2xvcnM6IHtcbiAgICBcImVkaXRvci5iYWNrZ3JvdW5kXCI6IGNvbG9ycy5iYWNrZ3JvdW5kLFxuICAgIFwiZWRpdG9yLmZvcmVncm91bmRcIjogY29sb3JzLmRlZmF1bHQsXG4gICAgXCJlZGl0b3JMaW5lTnVtYmVyLmZvcmVncm91bmRcIjogXCIjNjM2ZDgzXCIsXG4gICAgXCJlZGl0b3JDdXJzb3IuZm9yZWdyb3VuZFwiOiBcIiM2MzZkODNcIixcbiAgICBcImVkaXRvci5zZWxlY3Rpb25CYWNrZ3JvdW5kXCI6IFwiIzNlNDQ1MVwiLFxuICAgIFwiZWRpdG9yLmZpbmRNYXRjaEhpZ2hsaWdodEJhY2tncm91bmRcIjogXCIjNTI4YmZmM2RcIixcbiAgICBcImVkaXRvclN1Z2dlc3RXaWRnZXQuYmFja2dyb3VuZFwiOiBcIiMyMTI1MmJcIixcbiAgICBcImVkaXRvclN1Z2dlc3RXaWRnZXQuYm9yZGVyXCI6IFwiIzE4MWExZlwiLFxuICAgIFwiZWRpdG9yU3VnZ2VzdFdpZGdldC5zZWxlY3RlZEJhY2tncm91bmRcIjogXCIjMmMzMTNhXCIsXG4gICAgXCJpbnB1dC5iYWNrZ3JvdW5kXCI6IFwiIzFiMWQyM1wiLFxuICAgIFwiaW5wdXQuYm9yZGVyXCI6IFwiIzE4MWExZlwiLFxuICAgIFwiZWRpdG9yQnJhY2tldE1hdGNoLmJvcmRlclwiOiBcIiMyODJjMzRcIixcbiAgICBcImVkaXRvckJyYWNrZXRNYXRjaC5iYWNrZ3JvdW5kXCI6IFwiIzNlNDQ1MVwiLFxuICB9LFxufVxuXG5leHBvcnQgeyB0aGVtZSB9XG4iLCAiLy8gQ29waWVkIGFuZCBtb2RpZmllZCBmcm9tIHRoZSBvcmlnaW5hbCB3b3JrIGF2YWlsYWJsZSBhdCBodHRwczovL2dpdGh1Yi5jb20vbGl2ZWJvb2stZGV2L2xpdmVib29rL2Jsb2IvODUzMmJjMzM0YmRjZjNjNTdmYWI5YjY5NDY2NmU2MDk4NzdkMjc5Zi9hc3NldHMvanMvaG9va3MvY2VsbF9lZGl0b3IvbGl2ZV9lZGl0b3IuanNcbi8vIENvcHlyaWdodCAoQykgMjAyMSBEYXNoYml0XG4vLyBMaWNlbnNlZCB1bmRlciBBcGFjaGUgMi4wIGF2YWlsYWJsZSBhdCBodHRwczovL3d3dy5hcGFjaGUub3JnL2xpY2Vuc2VzL0xJQ0VOU0UtMi4wXG5cbmltcG9ydCBsb2FkZXIgZnJvbSBcIkBtb25hY28tZWRpdG9yL2xvYWRlclwiXG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gXCIuL3RoZW1lc1wiXG5cbmNsYXNzIENvZGVFZGl0b3Ige1xuICBjb25zdHJ1Y3RvcihlbCwgcGF0aCwgdmFsdWUsIG9wdHMpIHtcbiAgICB0aGlzLmVsID0gZWxcbiAgICB0aGlzLnBhdGggPSBwYXRoXG4gICAgdGhpcy52YWx1ZSA9IHZhbHVlXG4gICAgdGhpcy5vcHRzID0gb3B0c1xuICAgIC8vIGh0dHBzOi8vbWljcm9zb2Z0LmdpdGh1Yi5pby9tb25hY28tZWRpdG9yL2RvY3MuaHRtbCNpbnRlcmZhY2VzL2VkaXRvci5JU3RhbmRhbG9uZUNvZGVFZGl0b3IuaHRtbFxuICAgIHRoaXMuc3RhbmRhbG9uZV9jb2RlX2VkaXRvciA9IG51bGxcbiAgICB0aGlzLl9vbk1vdW50ID0gW11cbiAgfVxuXG4gIGlzTW91bnRlZCgpIHtcbiAgICByZXR1cm4gISF0aGlzLnN0YW5kYWxvbmVfY29kZV9lZGl0b3JcbiAgfVxuXG4gIG1vdW50KCkge1xuICAgIGlmICh0aGlzLmlzTW91bnRlZCgpKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJUaGUgbW9uYWNvIGVkaXRvciBpcyBhbHJlYWR5IG1vdW50ZWRcIilcbiAgICB9XG5cbiAgICB0aGlzLl9tb3VudEVkaXRvcigpXG4gIH1cblxuICBvbk1vdW50KGNhbGxiYWNrKSB7XG4gICAgdGhpcy5fb25Nb3VudC5wdXNoKGNhbGxiYWNrKVxuICB9XG5cbiAgZGlzcG9zZSgpIHtcbiAgICBpZiAodGhpcy5pc01vdW50ZWQoKSkge1xuICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLnN0YW5kYWxvbmVfY29kZV9lZGl0b3IuZ2V0TW9kZWwoKVxuXG4gICAgICBpZiAobW9kZWwpIHtcbiAgICAgICAgbW9kZWwuZGlzcG9zZSgpXG4gICAgICB9XG5cbiAgICAgIHRoaXMuc3RhbmRhbG9uZV9jb2RlX2VkaXRvci5kaXNwb3NlKClcbiAgICB9XG4gIH1cblxuICBfbW91bnRFZGl0b3IoKSB7XG4gICAgdGhpcy5vcHRzLnZhbHVlID0gdGhpcy52YWx1ZVxuXG4gICAgbG9hZGVyLmNvbmZpZyh7XG4gICAgICBwYXRoczogeyB2czogXCJodHRwczovL2Nkbi5qc2RlbGl2ci5uZXQvbnBtL21vbmFjby1lZGl0b3JAbGF0ZXN0L21pbi92c1wiIH0sXG4gICAgfSlcblxuICAgIGxvYWRlci5pbml0KCkudGhlbigobW9uYWNvKSA9PiB7XG4gICAgICBtb25hY28uZWRpdG9yLmRlZmluZVRoZW1lKFwiZGVmYXVsdFwiLCB0aGVtZSlcblxuICAgICAgbGV0IG1vZGVsVXJpID0gbW9uYWNvLlVyaS5wYXJzZSh0aGlzLnBhdGgpXG4gICAgICBsZXQgbGFuZ3VhZ2UgPSB0aGlzLm9wdHMubGFuZ3VhZ2VcbiAgICAgIGxldCBtb2RlbCA9IG1vbmFjby5lZGl0b3IuY3JlYXRlTW9kZWwodGhpcy52YWx1ZSwgbGFuZ3VhZ2UsIG1vZGVsVXJpKVxuXG4gICAgICB0aGlzLm9wdHMubGFuZ3VhZ2UgPSB1bmRlZmluZWRcbiAgICAgIHRoaXMub3B0cy5tb2RlbCA9IG1vZGVsXG4gICAgICB0aGlzLnN0YW5kYWxvbmVfY29kZV9lZGl0b3IgPSBtb25hY28uZWRpdG9yLmNyZWF0ZSh0aGlzLmVsLCB0aGlzLm9wdHMpXG5cbiAgICAgIHRoaXMuX29uTW91bnQuZm9yRWFjaCgoY2FsbGJhY2spID0+IGNhbGxiYWNrKG1vbmFjbykpXG5cbiAgICAgIHRoaXMuX3NldFNjcmVlbkRlcGVuZGFudEVkaXRvck9wdGlvbnMoKVxuXG4gICAgICBjb25zdCByZXNpemVPYnNlcnZlciA9IG5ldyBSZXNpemVPYnNlcnZlcigoZW50cmllcykgPT4ge1xuICAgICAgICBjb25zb2xlLmxvZyhcInJlc2l6ZU9ic2VydmVyXCIpXG4gICAgICAgIGVudHJpZXMuZm9yRWFjaCgoKSA9PiB7XG4gICAgICAgICAgaWYgKHRoaXMuZWwub2Zmc2V0SGVpZ2h0ID4gMCkge1xuICAgICAgICAgICAgdGhpcy5fc2V0U2NyZWVuRGVwZW5kYW50RWRpdG9yT3B0aW9ucygpXG4gICAgICAgICAgICB0aGlzLnN0YW5kYWxvbmVfY29kZV9lZGl0b3IubGF5b3V0KClcbiAgICAgICAgICB9XG4gICAgICAgIH0pXG4gICAgICB9KVxuXG4gICAgICByZXNpemVPYnNlcnZlci5vYnNlcnZlKHRoaXMuZWwpXG5cbiAgICAgIHRoaXMuc3RhbmRhbG9uZV9jb2RlX2VkaXRvci5vbkRpZENvbnRlbnRTaXplQ2hhbmdlKCgpID0+IHtcbiAgICAgICAgY29uc29sZS5sb2coXCJvbkRpZENvbnRlbnRTaXplQ2hhbmdlc1wiKVxuICAgICAgICBjb25zdCBjb250ZW50SGVpZ2h0ID0gdGhpcy5zdGFuZGFsb25lX2NvZGVfZWRpdG9yLmdldENvbnRlbnRIZWlnaHQoKVxuICAgICAgICB0aGlzLmVsLnN0eWxlLmhlaWdodCA9IGAke2NvbnRlbnRIZWlnaHR9cHhgXG4gICAgICB9KVxuICAgIH0pXG4gIH1cblxuICBfc2V0U2NyZWVuRGVwZW5kYW50RWRpdG9yT3B0aW9ucygpIHtcbiAgICBpZiAod2luZG93LnNjcmVlbi53aWR0aCA8IDc2OCkge1xuICAgICAgdGhpcy5zdGFuZGFsb25lX2NvZGVfZWRpdG9yLnVwZGF0ZU9wdGlvbnMoe1xuICAgICAgICBmb2xkaW5nOiBmYWxzZSxcbiAgICAgICAgbGluZURlY29yYXRpb25zV2lkdGg6IDE2LFxuICAgICAgICBsaW5lTnVtYmVyc01pbkNoYXJzOlxuICAgICAgICAgIE1hdGguZmxvb3IoXG4gICAgICAgICAgICBNYXRoLmxvZzEwKHRoaXMuc3RhbmRhbG9uZV9jb2RlX2VkaXRvci5nZXRNb2RlbCgpLmdldExpbmVDb3VudCgpKVxuICAgICAgICAgICkgKyAzLFxuICAgICAgfSlcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5zdGFuZGFsb25lX2NvZGVfZWRpdG9yLnVwZGF0ZU9wdGlvbnMoe1xuICAgICAgICBmb2xkaW5nOiB0cnVlLFxuICAgICAgICBsaW5lRGVjb3JhdGlvbnNXaWR0aDogMTAsXG4gICAgICAgIGxpbmVOdW1iZXJzTWluQ2hhcnM6IDUsXG4gICAgICB9KVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZGVmYXVsdCBDb2RlRWRpdG9yXG4iLCAiaW1wb3J0IENvZGVFZGl0b3IgZnJvbSBcIi4uL2VkaXRvci9jb2RlX2VkaXRvclwiXG5cbmNvbnN0IENvZGVFZGl0b3JIb29rID0ge1xuICBtb3VudGVkKCkge1xuICAgIC8vIFRPRE86IHZhbGlkYXRlIGRhdGFzZXRcbiAgICBjb25zdCBvcHRzID0gSlNPTi5wYXJzZSh0aGlzLmVsLmRhdGFzZXQub3B0cylcbiAgICB0aGlzLmNvZGVFZGl0b3IgPSBuZXcgQ29kZUVkaXRvcihcbiAgICAgIHRoaXMuZWwsXG4gICAgICB0aGlzLmVsLmRhdGFzZXQucGF0aCxcbiAgICAgIHRoaXMuZWwuZGF0YXNldC52YWx1ZSxcbiAgICAgIG9wdHNcbiAgICApXG5cbiAgICB0aGlzLmNvZGVFZGl0b3Iub25Nb3VudCgobW9uYWNvKSA9PiB7XG4gICAgICB0aGlzLmVsLmRpc3BhdGNoRXZlbnQoXG4gICAgICAgIG5ldyBDdXN0b21FdmVudChcImxtZTplZGl0b3JfbW91bnRlZFwiLCB7XG4gICAgICAgICAgZGV0YWlsOiB7IGhvb2s6IHRoaXMsIGVkaXRvcjogdGhpcy5jb2RlRWRpdG9yIH0sXG4gICAgICAgICAgYnViYmxlczogdHJ1ZSxcbiAgICAgICAgfSlcbiAgICAgIClcblxuICAgICAgdGhpcy5oYW5kbGVFdmVudChcbiAgICAgICAgXCJsbWU6Y2hhbmdlX2xhbmd1YWdlOlwiICsgdGhpcy5lbC5kYXRhc2V0LnBhdGgsXG4gICAgICAgIChkYXRhKSA9PiB7XG4gICAgICAgICAgY29uc3QgbW9kZWwgPSB0aGlzLmNvZGVFZGl0b3Iuc3RhbmRhbG9uZV9jb2RlX2VkaXRvci5nZXRNb2RlbCgpXG5cbiAgICAgICAgICBpZiAobW9kZWwuZ2V0TGFuZ3VhZ2VJZCgpICE9PSBkYXRhLm1pbWVUeXBlT3JMYW5ndWFnZUlkKSB7XG4gICAgICAgICAgICBtb25hY28uZWRpdG9yLnNldE1vZGVsTGFuZ3VhZ2UobW9kZWwsIGRhdGEubWltZVR5cGVPckxhbmd1YWdlSWQpXG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICApXG5cbiAgICAgIHRoaXMuaGFuZGxlRXZlbnQoXCJsbWU6c2V0X3ZhbHVlOlwiICsgdGhpcy5lbC5kYXRhc2V0LnBhdGgsIChkYXRhKSA9PiB7XG4gICAgICAgIHRoaXMuY29kZUVkaXRvci5zdGFuZGFsb25lX2NvZGVfZWRpdG9yLnNldFZhbHVlKGRhdGEudmFsdWUpXG4gICAgICB9KVxuXG4gICAgICB0aGlzLmVsLnF1ZXJ5U2VsZWN0b3JBbGwoXCJ0ZXh0YXJlYVwiKS5mb3JFYWNoKCh0ZXh0YXJlYSkgPT4ge1xuICAgICAgICB0ZXh0YXJlYS5zZXRBdHRyaWJ1dGUoXG4gICAgICAgICAgXCJuYW1lXCIsXG4gICAgICAgICAgXCJsaXZlX21vbmFjb19lZGl0b3JbXCIgKyB0aGlzLmVsLmRhdGFzZXQucGF0aCArIFwiXVwiXG4gICAgICAgIClcbiAgICAgIH0pXG5cbiAgICAgIHRoaXMuZWwucmVtb3ZlQXR0cmlidXRlKFwiZGF0YS12YWx1ZVwiKVxuICAgICAgdGhpcy5lbC5yZW1vdmVBdHRyaWJ1dGUoXCJkYXRhLW9wdHNcIilcbiAgICB9KVxuXG4gICAgaWYgKCF0aGlzLmNvZGVFZGl0b3IuaXNNb3VudGVkKCkpIHtcbiAgICAgIHRoaXMuY29kZUVkaXRvci5tb3VudCgpXG4gICAgfVxuICB9LFxuXG4gIGRlc3Ryb3llZCgpIHtcbiAgICBpZiAodGhpcy5jb2RlRWRpdG9yKSB7XG4gICAgICB0aGlzLmNvZGVFZGl0b3IuZGlzcG9zZSgpXG4gICAgfVxuICB9LFxufVxuXG5leHBvcnQgeyBDb2RlRWRpdG9ySG9vayB9XG4iLCAiZXhwb3J0IGZ1bmN0aW9uIG5vcm1hbGl6ZUNvbXBvbmVudHMoY29tcG9uZW50cykge1xuICAgIGlmICghQXJyYXkuaXNBcnJheShjb21wb25lbnRzLmRlZmF1bHQpIHx8ICFBcnJheS5pc0FycmF5KGNvbXBvbmVudHMuZmlsZW5hbWVzKSkgcmV0dXJuIGNvbXBvbmVudHNcblxuICAgIGNvbnN0IG5vcm1hbGl6ZWQgPSB7fVxuICAgIGZvciAoY29uc3QgW2luZGV4LCBtb2R1bGVdIG9mIGNvbXBvbmVudHMuZGVmYXVsdC5lbnRyaWVzKCkpIHtcbiAgICAgICAgY29uc3QgQ29tcG9uZW50ID0gbW9kdWxlLmRlZmF1bHRcbiAgICAgICAgY29uc3QgbmFtZSA9IGNvbXBvbmVudHMuZmlsZW5hbWVzW2luZGV4XS5yZXBsYWNlKFwiLi4vc3ZlbHRlL1wiLCBcIlwiKS5yZXBsYWNlKFwiLnN2ZWx0ZVwiLCBcIlwiKVxuICAgICAgICBub3JtYWxpemVkW25hbWVdID0gQ29tcG9uZW50XG4gICAgfVxuICAgIHJldHVybiBub3JtYWxpemVkXG59XG4iLCAiaW1wb3J0IHtub3JtYWxpemVDb21wb25lbnRzfSBmcm9tIFwiLi91dGlsc1wiXG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRSZW5kZXIoY29tcG9uZW50cykge1xuICAgIGNvbXBvbmVudHMgPSBub3JtYWxpemVDb21wb25lbnRzKGNvbXBvbmVudHMpXG5cbiAgICByZXR1cm4gZnVuY3Rpb24gcmVuZGVyKG5hbWUsIHByb3BzLCBzbG90cykge1xuICAgICAgICBjb25zdCBDb21wb25lbnQgPSBjb21wb25lbnRzW25hbWVdXG4gICAgICAgIGNvbnN0ICQkc2xvdHMgPSBPYmplY3QuZnJvbUVudHJpZXMoT2JqZWN0LmVudHJpZXMoc2xvdHMpLm1hcCgoW2ssIHZdKSA9PiBbaywgKCkgPT4gdl0pKVxuICAgICAgICByZXR1cm4gQ29tcG9uZW50LnJlbmRlcihwcm9wcywgeyQkc2xvdHN9KVxuICAgIH1cbn1cbiIsICJpbXBvcnQge25vcm1hbGl6ZUNvbXBvbmVudHN9IGZyb20gXCIuL3V0aWxzXCJcblxuZnVuY3Rpb24gZ2V0QXR0cmlidXRlSnNvbihyZWYsIGF0dHJpYnV0ZU5hbWUpIHtcbiAgICBjb25zdCBkYXRhID0gcmVmLmVsLmdldEF0dHJpYnV0ZShhdHRyaWJ1dGVOYW1lKVxuICAgIHJldHVybiBkYXRhID8gSlNPTi5wYXJzZShkYXRhKSA6IHt9XG59XG5cbmZ1bmN0aW9uIGRldGFjaChub2RlKSB7XG4gICAgbm9kZS5wYXJlbnROb2RlPy5yZW1vdmVDaGlsZChub2RlKVxufVxuXG5mdW5jdGlvbiBpbnNlcnQodGFyZ2V0LCBub2RlLCBhbmNob3IpIHtcbiAgICB0YXJnZXQuaW5zZXJ0QmVmb3JlKG5vZGUsIGFuY2hvciB8fCBudWxsKVxufVxuXG5mdW5jdGlvbiBub29wKCkge31cblxuZnVuY3Rpb24gZ2V0U2xvdHMocmVmKSB7XG4gICAgY29uc3Qgc2xvdHMgPSB7fVxuXG4gICAgZm9yIChjb25zdCBzbG90TmFtZSBpbiBnZXRBdHRyaWJ1dGVKc29uKHJlZiwgXCJkYXRhLXNsb3RzXCIpKSB7XG4gICAgICAgIGNvbnN0IHNsb3QgPSAoKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIGdldEVsZW1lbnQoKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGJhc2U2NCA9IGdldEF0dHJpYnV0ZUpzb24ocmVmLCBcImRhdGEtc2xvdHNcIilbc2xvdE5hbWVdXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGVsZW1lbnQgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KFwiZGl2XCIpXG4gICAgICAgICAgICAgICAgICAgIGVsZW1lbnQuaW5uZXJIVE1MID0gYXRvYihiYXNlNjQpLnRyaW0oKVxuICAgICAgICAgICAgICAgICAgICByZXR1cm4gZWxlbWVudFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgdXBkYXRlKCkge1xuICAgICAgICAgICAgICAgICAgICBkZXRhY2godGhpcy5zYXZlZEVsZW1lbnQpXG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2F2ZWRFbGVtZW50ID0gdGhpcy5nZXRFbGVtZW50KClcbiAgICAgICAgICAgICAgICAgICAgaW5zZXJ0KHRoaXMuc2F2ZWRUYXJnZXQsIHRoaXMuc2F2ZWRFbGVtZW50LCB0aGlzLnNhdmVkQW5jaG9yKVxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgICAgYzogbm9vcCxcbiAgICAgICAgICAgICAgICBtKHRhcmdldCwgYW5jaG9yKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuc2F2ZWRUYXJnZXQgPSB0YXJnZXRcbiAgICAgICAgICAgICAgICAgICAgdGhpcy5zYXZlZEFuY2hvciA9IGFuY2hvclxuICAgICAgICAgICAgICAgICAgICB0aGlzLnNhdmVkRWxlbWVudCA9IHRoaXMuZ2V0RWxlbWVudCgpXG4gICAgICAgICAgICAgICAgICAgIGluc2VydCh0aGlzLnNhdmVkVGFyZ2V0LCB0aGlzLnNhdmVkRWxlbWVudCwgdGhpcy5zYXZlZEFuY2hvcilcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGQoZGV0YWNoaW5nKSB7XG4gICAgICAgICAgICAgICAgICAgIGlmIChkZXRhY2hpbmcpIGRldGFjaCh0aGlzLnNhdmVkRWxlbWVudClcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICAgIGw6IG5vb3AsXG4gICAgICAgICAgICB9XG4gICAgICAgIH1cblxuICAgICAgICBzbG90c1tzbG90TmFtZV0gPSBbc2xvdF1cbiAgICB9XG5cbiAgICByZXR1cm4gc2xvdHNcbn1cblxuZnVuY3Rpb24gZ2V0TGl2ZUpzb25Qcm9wcyhyZWYpIHtcbiAgICBjb25zdCBqc29uID0gZ2V0QXR0cmlidXRlSnNvbihyZWYsIFwiZGF0YS1saXZlLWpzb25cIilcblxuICAgIC8vIE9uIFNTUiwgZGF0YS1saXZlLWpzb24gaXMgdGhlIGZ1bGwgb2JqZWN0IHdlIHdhbnRcbiAgICAvLyBBZnRlciBTU1IsIGRhdGEtbGl2ZS1qc29uIGlzIGFuIGFycmF5IG9mIGtleXMsIGFuZCB3ZSdsbCBnZXQgdGhlIGRhdGEgZnJvbSB0aGUgd2luZG93XG4gICAgaWYgKCFBcnJheS5pc0FycmF5KGpzb24pKSByZXR1cm4ganNvblxuXG4gICAgY29uc3QgbGl2ZUpzb25EYXRhID0ge31cbiAgICBmb3IgKGNvbnN0IGxpdmVKc29uVmFyaWFibGUgb2YganNvbikge1xuICAgICAgICBjb25zdCBkYXRhID0gd2luZG93W2xpdmVKc29uVmFyaWFibGVdXG4gICAgICAgIGlmIChkYXRhKSBsaXZlSnNvbkRhdGFbbGl2ZUpzb25WYXJpYWJsZV0gPSBkYXRhXG4gICAgfVxuICAgIHJldHVybiBsaXZlSnNvbkRhdGFcbn1cblxuZnVuY3Rpb24gZ2V0UHJvcHMocmVmKSB7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgLi4uZ2V0QXR0cmlidXRlSnNvbihyZWYsIFwiZGF0YS1wcm9wc1wiKSxcbiAgICAgICAgLi4uZ2V0TGl2ZUpzb25Qcm9wcyhyZWYpLFxuICAgICAgICBsaXZlOiByZWYsXG4gICAgICAgICQkc2xvdHM6IGdldFNsb3RzKHJlZiksXG4gICAgICAgICQkc2NvcGU6IHt9LFxuICAgIH1cbn1cblxuZnVuY3Rpb24gZmluZFNsb3RDdHgoY29tcG9uZW50KSB7XG4gICAgLy8gVGhlIGRlZmF1bHQgc2xvdCBhbHdheXMgZXhpc3RzIGlmIHRoZXJlJ3MgYSBzbG90IHNldFxuICAgIC8vIGV2ZW4gaWYgbm8gc2xvdCBpcyBzZXQgZm9yIHRoZSBleHBsaWNpdCBkZWZhdWx0IHNsb3RcbiAgICByZXR1cm4gY29tcG9uZW50LiQkLmN0eC5maW5kKGN0eEVsZW1lbnQgPT4gY3R4RWxlbWVudD8uZGVmYXVsdClcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldEhvb2tzKGNvbXBvbmVudHMpIHtcbiAgICBjb21wb25lbnRzID0gbm9ybWFsaXplQ29tcG9uZW50cyhjb21wb25lbnRzKVxuXG4gICAgY29uc3QgU3ZlbHRlSG9vayA9IHtcbiAgICAgICAgbW91bnRlZCgpIHtcbiAgICAgICAgICAgIGNvbnN0IGNvbXBvbmVudE5hbWUgPSB0aGlzLmVsLmdldEF0dHJpYnV0ZShcImRhdGEtbmFtZVwiKVxuICAgICAgICAgICAgaWYgKCFjb21wb25lbnROYW1lKSB7XG4gICAgICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQ29tcG9uZW50IG5hbWUgbXVzdCBiZSBwcm92aWRlZFwiKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICBjb25zdCBDb21wb25lbnQgPSBjb21wb25lbnRzW2NvbXBvbmVudE5hbWVdXG4gICAgICAgICAgICBpZiAoIUNvbXBvbmVudCkge1xuICAgICAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihgVW5hYmxlIHRvIGZpbmQgJHtjb21wb25lbnROYW1lfSBjb21wb25lbnQuYClcbiAgICAgICAgICAgIH1cblxuICAgICAgICAgICAgZm9yIChjb25zdCBsaXZlSnNvbkVsZW1lbnQgb2YgT2JqZWN0LmtleXMoZ2V0QXR0cmlidXRlSnNvbih0aGlzLCBcImRhdGEtbGl2ZS1qc29uXCIpKSkge1xuICAgICAgICAgICAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKGAke2xpdmVKc29uRWxlbWVudH1faW5pdGlhbGl6ZWRgLCBldmVudCA9PiB0aGlzLl9pbnN0YW5jZS4kc2V0KGdldFByb3BzKHRoaXMpKSwgZmFsc2UpXG4gICAgICAgICAgICAgICAgd2luZG93LmFkZEV2ZW50TGlzdGVuZXIoYCR7bGl2ZUpzb25FbGVtZW50fV9wYXRjaGVkYCwgZXZlbnQgPT4gdGhpcy5faW5zdGFuY2UuJHNldChnZXRQcm9wcyh0aGlzKSksIGZhbHNlKVxuICAgICAgICAgICAgfVxuXG4gICAgICAgICAgICB0aGlzLl9pbnN0YW5jZSA9IG5ldyBDb21wb25lbnQoe1xuICAgICAgICAgICAgICAgIHRhcmdldDogdGhpcy5lbCxcbiAgICAgICAgICAgICAgICBwcm9wczogZ2V0UHJvcHModGhpcyksXG4gICAgICAgICAgICAgICAgaHlkcmF0ZTogdGhpcy5lbC5oYXNBdHRyaWJ1dGUoXCJkYXRhLXNzclwiKSxcbiAgICAgICAgICAgIH0pXG4gICAgICAgIH0sXG5cbiAgICAgICAgdXBkYXRlZCgpIHtcbiAgICAgICAgICAgIC8vIFNldCB0aGUgcHJvcHNcbiAgICAgICAgICAgIHRoaXMuX2luc3RhbmNlLiRzZXQoZ2V0UHJvcHModGhpcykpXG5cbiAgICAgICAgICAgIC8vIFNldCB0aGUgc2xvdHNcbiAgICAgICAgICAgIGNvbnN0IHNsb3RDdHggPSBmaW5kU2xvdEN0eCh0aGlzLl9pbnN0YW5jZSlcbiAgICAgICAgICAgIGZvciAoY29uc3Qga2V5IGluIHNsb3RDdHgpIHtcbiAgICAgICAgICAgICAgICBzbG90Q3R4W2tleV1bMF0oKS51cGRhdGUoKVxuICAgICAgICAgICAgfVxuICAgICAgICB9LFxuXG4gICAgICAgIGRlc3Ryb3llZCgpIHtcbiAgICAgICAgICAgIC8vIFdlIGRvbid0IHdhbnQgdG8gZGVzdHJveSB0aGUgY29tcG9uZW50XG4gICAgICAgICAgICAvLyBJZiB3ZSBkbyBhIHBhZ2UgbmF2aWdhdGlvbiwgdGhpcyB3b3VsZCByZW1vdmUgdGhlIGNvbXBvbmVudCBpbiB0aGUgRE9NLFxuICAgICAgICAgICAgLy8gYW5kIHRoZW4gaXQgd291bGQgdG8gdGhlIHRyYW5zaXRpb24sIGNhdXNpbmcgYSBmbGlja2VyIG9mIHVucmVuZGVyZWQgY29udGVudFxuICAgICAgICAgICAgLy8gU2luY2Ugd2UncmUgZG9pbmcgYSBwYWdlIHRyYW5zaXRpb24gYW55d2F5LCB0aGUgY29tcG9uZW50IHdpbGwgYmUgcmVtb3ZlIGF1dG9tYXRpY2FsbHlcbiAgICAgICAgfSxcbiAgICB9XG5cbiAgICByZXR1cm4ge1xuICAgICAgICBTdmVsdGVIb29rLFxuICAgIH1cbn1cbiIsICJcbiAgICAgICAgaW1wb3J0ICogYXMgbW9kdWxlMCBmcm9tICcuLi9zdmVsdGUvY29tcG9uZW50cy9CYWNrZHJvcC5zdmVsdGUnO2ltcG9ydCAqIGFzIG1vZHVsZTEgZnJvbSAnLi4vc3ZlbHRlL2NvbXBvbmVudHMvQnJvd3NlckZyYW1lLnN2ZWx0ZSc7aW1wb3J0ICogYXMgbW9kdWxlMiBmcm9tICcuLi9zdmVsdGUvY29tcG9uZW50cy9Db2RlRWRpdG9yLnN2ZWx0ZSc7aW1wb3J0ICogYXMgbW9kdWxlMyBmcm9tICcuLi9zdmVsdGUvY29tcG9uZW50cy9Db21wb25lbnRzU2lkZWJhci5zdmVsdGUnO2ltcG9ydCAqIGFzIG1vZHVsZTQgZnJvbSAnLi4vc3ZlbHRlL2NvbXBvbmVudHMvTGF5b3V0QXN0Tm9kZS5zdmVsdGUnO2ltcG9ydCAqIGFzIG1vZHVsZTUgZnJvbSAnLi4vc3ZlbHRlL2NvbXBvbmVudHMvUGFnZUFzdE5vZGUuc3ZlbHRlJztpbXBvcnQgKiBhcyBtb2R1bGU2IGZyb20gJy4uL3N2ZWx0ZS9jb21wb25lbnRzL1BhZ2VQcmV2aWV3LnN2ZWx0ZSc7aW1wb3J0ICogYXMgbW9kdWxlNyBmcm9tICcuLi9zdmVsdGUvY29tcG9uZW50cy9QaWxsLnN2ZWx0ZSc7aW1wb3J0ICogYXMgbW9kdWxlOCBmcm9tICcuLi9zdmVsdGUvY29tcG9uZW50cy9Qcm9wZXJ0aWVzU2lkZWJhci5zdmVsdGUnO2ltcG9ydCAqIGFzIG1vZHVsZTkgZnJvbSAnLi4vc3ZlbHRlL2NvbXBvbmVudHMvU2lkZWJhclNlY3Rpb24uc3ZlbHRlJztpbXBvcnQgKiBhcyBtb2R1bGUxMCBmcm9tICcuLi9zdmVsdGUvY29tcG9uZW50cy9VaUJ1aWxkZXIuc3ZlbHRlJ1xuXG4gICAgICAgIGNvbnN0IG1vZHVsZXMgPSBbbW9kdWxlMCxtb2R1bGUxLG1vZHVsZTIsbW9kdWxlMyxtb2R1bGU0LG1vZHVsZTUsbW9kdWxlNixtb2R1bGU3LG1vZHVsZTgsbW9kdWxlOSxtb2R1bGUxMF07XG5cbiAgICAgICAgZXhwb3J0IGRlZmF1bHQgbW9kdWxlcztcbiAgICAgICAgZXhwb3J0IGNvbnN0IGZpbGVuYW1lcyA9IFsnLi4vc3ZlbHRlL2NvbXBvbmVudHMvQmFja2Ryb3Auc3ZlbHRlJywnLi4vc3ZlbHRlL2NvbXBvbmVudHMvQnJvd3NlckZyYW1lLnN2ZWx0ZScsJy4uL3N2ZWx0ZS9jb21wb25lbnRzL0NvZGVFZGl0b3Iuc3ZlbHRlJywnLi4vc3ZlbHRlL2NvbXBvbmVudHMvQ29tcG9uZW50c1NpZGViYXIuc3ZlbHRlJywnLi4vc3ZlbHRlL2NvbXBvbmVudHMvTGF5b3V0QXN0Tm9kZS5zdmVsdGUnLCcuLi9zdmVsdGUvY29tcG9uZW50cy9QYWdlQXN0Tm9kZS5zdmVsdGUnLCcuLi9zdmVsdGUvY29tcG9uZW50cy9QYWdlUHJldmlldy5zdmVsdGUnLCcuLi9zdmVsdGUvY29tcG9uZW50cy9QaWxsLnN2ZWx0ZScsJy4uL3N2ZWx0ZS9jb21wb25lbnRzL1Byb3BlcnRpZXNTaWRlYmFyLnN2ZWx0ZScsJy4uL3N2ZWx0ZS9jb21wb25lbnRzL1NpZGViYXJTZWN0aW9uLnN2ZWx0ZScsJy4uL3N2ZWx0ZS9jb21wb25lbnRzL1VpQnVpbGRlci5zdmVsdGUnXVxuICAgICAgIiwgIi8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbmV4cG9ydCBmdW5jdGlvbiBub29wKCkge31cblxuZXhwb3J0IGNvbnN0IGlkZW50aXR5ID0gKHgpID0+IHg7XG5cbi8qKlxuICogQHRlbXBsYXRlIFRcbiAqIEB0ZW1wbGF0ZSBTXG4gKiBAcGFyYW0ge1R9IHRhclxuICogQHBhcmFtIHtTfSBzcmNcbiAqIEByZXR1cm5zIHtUICYgU31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFzc2lnbih0YXIsIHNyYykge1xuXHQvLyBAdHMtaWdub3JlXG5cdGZvciAoY29uc3QgayBpbiBzcmMpIHRhcltrXSA9IHNyY1trXTtcblx0cmV0dXJuIC8qKiBAdHlwZSB7VCAmIFN9ICovICh0YXIpO1xufVxuXG4vLyBBZGFwdGVkIGZyb20gaHR0cHM6Ly9naXRodWIuY29tL3RoZW4vaXMtcHJvbWlzZS9ibG9iL21hc3Rlci9pbmRleC5qc1xuLy8gRGlzdHJpYnV0ZWQgdW5kZXIgTUlUIExpY2Vuc2UgaHR0cHM6Ly9naXRodWIuY29tL3RoZW4vaXMtcHJvbWlzZS9ibG9iL21hc3Rlci9MSUNFTlNFXG4vKipcbiAqIEBwYXJhbSB7YW55fSB2YWx1ZVxuICogQHJldHVybnMge3ZhbHVlIGlzIFByb21pc2VMaWtlPGFueT59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc19wcm9taXNlKHZhbHVlKSB7XG5cdHJldHVybiAoXG5cdFx0ISF2YWx1ZSAmJlxuXHRcdCh0eXBlb2YgdmFsdWUgPT09ICdvYmplY3QnIHx8IHR5cGVvZiB2YWx1ZSA9PT0gJ2Z1bmN0aW9uJykgJiZcblx0XHR0eXBlb2YgKC8qKiBAdHlwZSB7YW55fSAqLyAodmFsdWUpLnRoZW4pID09PSAnZnVuY3Rpb24nXG5cdCk7XG59XG5cbi8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRfbG9jYXRpb24oZWxlbWVudCwgZmlsZSwgbGluZSwgY29sdW1uLCBjaGFyKSB7XG5cdGVsZW1lbnQuX19zdmVsdGVfbWV0YSA9IHtcblx0XHRsb2M6IHsgZmlsZSwgbGluZSwgY29sdW1uLCBjaGFyIH1cblx0fTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJ1bihmbikge1xuXHRyZXR1cm4gZm4oKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGJsYW5rX29iamVjdCgpIHtcblx0cmV0dXJuIE9iamVjdC5jcmVhdGUobnVsbCk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtGdW5jdGlvbltdfSBmbnNcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gcnVuX2FsbChmbnMpIHtcblx0Zm5zLmZvckVhY2gocnVuKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge2FueX0gdGhpbmdcbiAqIEByZXR1cm5zIHt0aGluZyBpcyBGdW5jdGlvbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzX2Z1bmN0aW9uKHRoaW5nKSB7XG5cdHJldHVybiB0eXBlb2YgdGhpbmcgPT09ICdmdW5jdGlvbic7XG59XG5cbi8qKiBAcmV0dXJucyB7Ym9vbGVhbn0gKi9cbmV4cG9ydCBmdW5jdGlvbiBzYWZlX25vdF9lcXVhbChhLCBiKSB7XG5cdHJldHVybiBhICE9IGEgPyBiID09IGIgOiBhICE9PSBiIHx8IChhICYmIHR5cGVvZiBhID09PSAnb2JqZWN0JykgfHwgdHlwZW9mIGEgPT09ICdmdW5jdGlvbic7XG59XG5cbmxldCBzcmNfdXJsX2VxdWFsX2FuY2hvcjtcblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gZWxlbWVudF9zcmNcbiAqIEBwYXJhbSB7c3RyaW5nfSB1cmxcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5leHBvcnQgZnVuY3Rpb24gc3JjX3VybF9lcXVhbChlbGVtZW50X3NyYywgdXJsKSB7XG5cdGlmIChlbGVtZW50X3NyYyA9PT0gdXJsKSByZXR1cm4gdHJ1ZTtcblx0aWYgKCFzcmNfdXJsX2VxdWFsX2FuY2hvcikge1xuXHRcdHNyY191cmxfZXF1YWxfYW5jaG9yID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuXHR9XG5cdC8vIFRoaXMgaXMgYWN0dWFsbHkgZmFzdGVyIHRoYW4gZG9pbmcgVVJMKC4uKS5ocmVmXG5cdHNyY191cmxfZXF1YWxfYW5jaG9yLmhyZWYgPSB1cmw7XG5cdHJldHVybiBlbGVtZW50X3NyYyA9PT0gc3JjX3VybF9lcXVhbF9hbmNob3IuaHJlZjtcbn1cblxuLyoqIEBwYXJhbSB7c3RyaW5nfSBzcmNzZXQgKi9cbmZ1bmN0aW9uIHNwbGl0X3NyY3NldChzcmNzZXQpIHtcblx0cmV0dXJuIHNyY3NldC5zcGxpdCgnLCcpLm1hcCgoc3JjKSA9PiBzcmMudHJpbSgpLnNwbGl0KCcgJykuZmlsdGVyKEJvb2xlYW4pKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge0hUTUxTb3VyY2VFbGVtZW50IHwgSFRNTEltYWdlRWxlbWVudH0gZWxlbWVudF9zcmNzZXRcbiAqIEBwYXJhbSB7c3RyaW5nIHwgdW5kZWZpbmVkIHwgbnVsbH0gc3Jjc2V0XG4gKiBAcmV0dXJucyB7Ym9vbGVhbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNyY3NldF91cmxfZXF1YWwoZWxlbWVudF9zcmNzZXQsIHNyY3NldCkge1xuXHRjb25zdCBlbGVtZW50X3VybHMgPSBzcGxpdF9zcmNzZXQoZWxlbWVudF9zcmNzZXQuc3Jjc2V0KTtcblx0Y29uc3QgdXJscyA9IHNwbGl0X3NyY3NldChzcmNzZXQgfHwgJycpO1xuXG5cdHJldHVybiAoXG5cdFx0dXJscy5sZW5ndGggPT09IGVsZW1lbnRfdXJscy5sZW5ndGggJiZcblx0XHR1cmxzLmV2ZXJ5KFxuXHRcdFx0KFt1cmwsIHdpZHRoXSwgaSkgPT5cblx0XHRcdFx0d2lkdGggPT09IGVsZW1lbnRfdXJsc1tpXVsxXSAmJlxuXHRcdFx0XHQvLyBXZSBuZWVkIHRvIHRlc3QgYm90aCB3YXlzIGJlY2F1c2UgVml0ZSB3aWxsIGNyZWF0ZSBhbiBhIGZ1bGwgVVJMIHdpdGhcblx0XHRcdFx0Ly8gYG5ldyBVUkwoYXNzZXQsIGltcG9ydC5tZXRhLnVybCkuaHJlZmAgZm9yIHRoZSBjbGllbnQgd2hlbiBgYmFzZTogJy4vJ2AsIGFuZCB0aGVcblx0XHRcdFx0Ly8gcmVsYXRpdmUgVVJMcyBpbnNpZGUgc3Jjc2V0IGFyZSBub3QgYXV0b21hdGljYWxseSByZXNvbHZlZCB0byBhYnNvbHV0ZSBVUkxzIGJ5XG5cdFx0XHRcdC8vIGJyb3dzZXJzIChpbiBjb250cmFzdCB0byBpbWcuc3JjKS4gVGhpcyBtZWFucyBib3RoIFNTUiBhbmQgRE9NIGNvZGUgY291bGRcblx0XHRcdFx0Ly8gY29udGFpbiByZWxhdGl2ZSBvciBhYnNvbHV0ZSBVUkxzLlxuXHRcdFx0XHQoc3JjX3VybF9lcXVhbChlbGVtZW50X3VybHNbaV1bMF0sIHVybCkgfHwgc3JjX3VybF9lcXVhbCh1cmwsIGVsZW1lbnRfdXJsc1tpXVswXSkpXG5cdFx0KVxuXHQpO1xufVxuXG4vKiogQHJldHVybnMge2Jvb2xlYW59ICovXG5leHBvcnQgZnVuY3Rpb24gbm90X2VxdWFsKGEsIGIpIHtcblx0cmV0dXJuIGEgIT0gYSA/IGIgPT0gYiA6IGEgIT09IGI7XG59XG5cbi8qKiBAcmV0dXJucyB7Ym9vbGVhbn0gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc19lbXB0eShvYmopIHtcblx0cmV0dXJuIE9iamVjdC5rZXlzKG9iaikubGVuZ3RoID09PSAwO1xufVxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVfc3RvcmUoc3RvcmUsIG5hbWUpIHtcblx0aWYgKHN0b3JlICE9IG51bGwgJiYgdHlwZW9mIHN0b3JlLnN1YnNjcmliZSAhPT0gJ2Z1bmN0aW9uJykge1xuXHRcdHRocm93IG5ldyBFcnJvcihgJyR7bmFtZX0nIGlzIG5vdCBhIHN0b3JlIHdpdGggYSAnc3Vic2NyaWJlJyBtZXRob2RgKTtcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gc3Vic2NyaWJlKHN0b3JlLCAuLi5jYWxsYmFja3MpIHtcblx0aWYgKHN0b3JlID09IG51bGwpIHtcblx0XHRmb3IgKGNvbnN0IGNhbGxiYWNrIG9mIGNhbGxiYWNrcykge1xuXHRcdFx0Y2FsbGJhY2sodW5kZWZpbmVkKTtcblx0XHR9XG5cdFx0cmV0dXJuIG5vb3A7XG5cdH1cblx0Y29uc3QgdW5zdWIgPSBzdG9yZS5zdWJzY3JpYmUoLi4uY2FsbGJhY2tzKTtcblx0cmV0dXJuIHVuc3ViLnVuc3Vic2NyaWJlID8gKCkgPT4gdW5zdWIudW5zdWJzY3JpYmUoKSA6IHVuc3ViO1xufVxuXG4vKipcbiAqIEdldCB0aGUgY3VycmVudCB2YWx1ZSBmcm9tIGEgc3RvcmUgYnkgc3Vic2NyaWJpbmcgYW5kIGltbWVkaWF0ZWx5IHVuc3Vic2NyaWJpbmcuXG4gKlxuICogaHR0cHM6Ly9zdmVsdGUuZGV2L2RvY3Mvc3ZlbHRlLXN0b3JlI2dldFxuICogQHRlbXBsYXRlIFRcbiAqIEBwYXJhbSB7aW1wb3J0KCcuLi9zdG9yZS9wdWJsaWMuanMnKS5SZWFkYWJsZTxUPn0gc3RvcmVcbiAqIEByZXR1cm5zIHtUfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0X3N0b3JlX3ZhbHVlKHN0b3JlKSB7XG5cdGxldCB2YWx1ZTtcblx0c3Vic2NyaWJlKHN0b3JlLCAoXykgPT4gKHZhbHVlID0gXykpKCk7XG5cdHJldHVybiB2YWx1ZTtcbn1cblxuLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNvbXBvbmVudF9zdWJzY3JpYmUoY29tcG9uZW50LCBzdG9yZSwgY2FsbGJhY2spIHtcblx0Y29tcG9uZW50LiQkLm9uX2Rlc3Ryb3kucHVzaChzdWJzY3JpYmUoc3RvcmUsIGNhbGxiYWNrKSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVfc2xvdChkZWZpbml0aW9uLCBjdHgsICQkc2NvcGUsIGZuKSB7XG5cdGlmIChkZWZpbml0aW9uKSB7XG5cdFx0Y29uc3Qgc2xvdF9jdHggPSBnZXRfc2xvdF9jb250ZXh0KGRlZmluaXRpb24sIGN0eCwgJCRzY29wZSwgZm4pO1xuXHRcdHJldHVybiBkZWZpbml0aW9uWzBdKHNsb3RfY3R4KTtcblx0fVxufVxuXG5mdW5jdGlvbiBnZXRfc2xvdF9jb250ZXh0KGRlZmluaXRpb24sIGN0eCwgJCRzY29wZSwgZm4pIHtcblx0cmV0dXJuIGRlZmluaXRpb25bMV0gJiYgZm4gPyBhc3NpZ24oJCRzY29wZS5jdHguc2xpY2UoKSwgZGVmaW5pdGlvblsxXShmbihjdHgpKSkgOiAkJHNjb3BlLmN0eDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldF9zbG90X2NoYW5nZXMoZGVmaW5pdGlvbiwgJCRzY29wZSwgZGlydHksIGZuKSB7XG5cdGlmIChkZWZpbml0aW9uWzJdICYmIGZuKSB7XG5cdFx0Y29uc3QgbGV0cyA9IGRlZmluaXRpb25bMl0oZm4oZGlydHkpKTtcblx0XHRpZiAoJCRzY29wZS5kaXJ0eSA9PT0gdW5kZWZpbmVkKSB7XG5cdFx0XHRyZXR1cm4gbGV0cztcblx0XHR9XG5cdFx0aWYgKHR5cGVvZiBsZXRzID09PSAnb2JqZWN0Jykge1xuXHRcdFx0Y29uc3QgbWVyZ2VkID0gW107XG5cdFx0XHRjb25zdCBsZW4gPSBNYXRoLm1heCgkJHNjb3BlLmRpcnR5Lmxlbmd0aCwgbGV0cy5sZW5ndGgpO1xuXHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBsZW47IGkgKz0gMSkge1xuXHRcdFx0XHRtZXJnZWRbaV0gPSAkJHNjb3BlLmRpcnR5W2ldIHwgbGV0c1tpXTtcblx0XHRcdH1cblx0XHRcdHJldHVybiBtZXJnZWQ7XG5cdFx0fVxuXHRcdHJldHVybiAkJHNjb3BlLmRpcnR5IHwgbGV0cztcblx0fVxuXHRyZXR1cm4gJCRzY29wZS5kaXJ0eTtcbn1cblxuLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHVwZGF0ZV9zbG90X2Jhc2UoXG5cdHNsb3QsXG5cdHNsb3RfZGVmaW5pdGlvbixcblx0Y3R4LFxuXHQkJHNjb3BlLFxuXHRzbG90X2NoYW5nZXMsXG5cdGdldF9zbG90X2NvbnRleHRfZm5cbikge1xuXHRpZiAoc2xvdF9jaGFuZ2VzKSB7XG5cdFx0Y29uc3Qgc2xvdF9jb250ZXh0ID0gZ2V0X3Nsb3RfY29udGV4dChzbG90X2RlZmluaXRpb24sIGN0eCwgJCRzY29wZSwgZ2V0X3Nsb3RfY29udGV4dF9mbik7XG5cdFx0c2xvdC5wKHNsb3RfY29udGV4dCwgc2xvdF9jaGFuZ2VzKTtcblx0fVxufVxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlX3Nsb3QoXG5cdHNsb3QsXG5cdHNsb3RfZGVmaW5pdGlvbixcblx0Y3R4LFxuXHQkJHNjb3BlLFxuXHRkaXJ0eSxcblx0Z2V0X3Nsb3RfY2hhbmdlc19mbixcblx0Z2V0X3Nsb3RfY29udGV4dF9mblxuKSB7XG5cdGNvbnN0IHNsb3RfY2hhbmdlcyA9IGdldF9zbG90X2NoYW5nZXMoc2xvdF9kZWZpbml0aW9uLCAkJHNjb3BlLCBkaXJ0eSwgZ2V0X3Nsb3RfY2hhbmdlc19mbik7XG5cdHVwZGF0ZV9zbG90X2Jhc2Uoc2xvdCwgc2xvdF9kZWZpbml0aW9uLCBjdHgsICQkc2NvcGUsIHNsb3RfY2hhbmdlcywgZ2V0X3Nsb3RfY29udGV4dF9mbik7XG59XG5cbi8qKiBAcmV0dXJucyB7YW55W10gfCAtMX0gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRfYWxsX2RpcnR5X2Zyb21fc2NvcGUoJCRzY29wZSkge1xuXHRpZiAoJCRzY29wZS5jdHgubGVuZ3RoID4gMzIpIHtcblx0XHRjb25zdCBkaXJ0eSA9IFtdO1xuXHRcdGNvbnN0IGxlbmd0aCA9ICQkc2NvcGUuY3R4Lmxlbmd0aCAvIDMyO1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgbGVuZ3RoOyBpKyspIHtcblx0XHRcdGRpcnR5W2ldID0gLTE7XG5cdFx0fVxuXHRcdHJldHVybiBkaXJ0eTtcblx0fVxuXHRyZXR1cm4gLTE7XG59XG5cbi8qKiBAcmV0dXJucyB7e319ICovXG5leHBvcnQgZnVuY3Rpb24gZXhjbHVkZV9pbnRlcm5hbF9wcm9wcyhwcm9wcykge1xuXHRjb25zdCByZXN1bHQgPSB7fTtcblx0Zm9yIChjb25zdCBrIGluIHByb3BzKSBpZiAoa1swXSAhPT0gJyQnKSByZXN1bHRba10gPSBwcm9wc1trXTtcblx0cmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqIEByZXR1cm5zIHt7fX0gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlX3Jlc3RfcHJvcHMocHJvcHMsIGtleXMpIHtcblx0Y29uc3QgcmVzdCA9IHt9O1xuXHRrZXlzID0gbmV3IFNldChrZXlzKTtcblx0Zm9yIChjb25zdCBrIGluIHByb3BzKSBpZiAoIWtleXMuaGFzKGspICYmIGtbMF0gIT09ICckJykgcmVzdFtrXSA9IHByb3BzW2tdO1xuXHRyZXR1cm4gcmVzdDtcbn1cblxuLyoqIEByZXR1cm5zIHt7fX0gKi9cbmV4cG9ydCBmdW5jdGlvbiBjb21wdXRlX3Nsb3RzKHNsb3RzKSB7XG5cdGNvbnN0IHJlc3VsdCA9IHt9O1xuXHRmb3IgKGNvbnN0IGtleSBpbiBzbG90cykge1xuXHRcdHJlc3VsdFtrZXldID0gdHJ1ZTtcblx0fVxuXHRyZXR1cm4gcmVzdWx0O1xufVxuXG4vKiogQHJldHVybnMgeyh0aGlzOiBhbnksIC4uLmFyZ3M6IGFueVtdKSA9PiB2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIG9uY2UoZm4pIHtcblx0bGV0IHJhbiA9IGZhbHNlO1xuXHRyZXR1cm4gZnVuY3Rpb24gKC4uLmFyZ3MpIHtcblx0XHRpZiAocmFuKSByZXR1cm47XG5cdFx0cmFuID0gdHJ1ZTtcblx0XHRmbi5jYWxsKHRoaXMsIC4uLmFyZ3MpO1xuXHR9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbnVsbF90b19lbXB0eSh2YWx1ZSkge1xuXHRyZXR1cm4gdmFsdWUgPT0gbnVsbCA/ICcnIDogdmFsdWU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXRfc3RvcmVfdmFsdWUoc3RvcmUsIHJldCwgdmFsdWUpIHtcblx0c3RvcmUuc2V0KHZhbHVlKTtcblx0cmV0dXJuIHJldDtcbn1cblxuZXhwb3J0IGNvbnN0IGhhc19wcm9wID0gKG9iaiwgcHJvcCkgPT4gT2JqZWN0LnByb3RvdHlwZS5oYXNPd25Qcm9wZXJ0eS5jYWxsKG9iaiwgcHJvcCk7XG5cbmV4cG9ydCBmdW5jdGlvbiBhY3Rpb25fZGVzdHJveWVyKGFjdGlvbl9yZXN1bHQpIHtcblx0cmV0dXJuIGFjdGlvbl9yZXN1bHQgJiYgaXNfZnVuY3Rpb24oYWN0aW9uX3Jlc3VsdC5kZXN0cm95KSA/IGFjdGlvbl9yZXN1bHQuZGVzdHJveSA6IG5vb3A7XG59XG5cbi8qKiBAcGFyYW0ge251bWJlciB8IHN0cmluZ30gdmFsdWVcbiAqIEByZXR1cm5zIHtbbnVtYmVyLCBzdHJpbmddfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc3BsaXRfY3NzX3VuaXQodmFsdWUpIHtcblx0Y29uc3Qgc3BsaXQgPSB0eXBlb2YgdmFsdWUgPT09ICdzdHJpbmcnICYmIHZhbHVlLm1hdGNoKC9eXFxzKigtP1tcXGQuXSspKFteXFxzXSopXFxzKiQvKTtcblx0cmV0dXJuIHNwbGl0ID8gW3BhcnNlRmxvYXQoc3BsaXRbMV0pLCBzcGxpdFsyXSB8fCAncHgnXSA6IFsvKiogQHR5cGUge251bWJlcn0gKi8gKHZhbHVlKSwgJ3B4J107XG59XG5cbmV4cG9ydCBjb25zdCBjb250ZW50ZWRpdGFibGVfdHJ1dGh5X3ZhbHVlcyA9IFsnJywgdHJ1ZSwgMSwgJ3RydWUnLCAnY29udGVudGVkaXRhYmxlJ107XG4iLCAiaW1wb3J0IHsgbm9vcCB9IGZyb20gJy4vdXRpbHMuanMnO1xuXG5leHBvcnQgY29uc3QgaXNfY2xpZW50ID0gdHlwZW9mIHdpbmRvdyAhPT0gJ3VuZGVmaW5lZCc7XG5cbi8qKiBAdHlwZSB7KCkgPT4gbnVtYmVyfSAqL1xuZXhwb3J0IGxldCBub3cgPSBpc19jbGllbnQgPyAoKSA9PiB3aW5kb3cucGVyZm9ybWFuY2Uubm93KCkgOiAoKSA9PiBEYXRlLm5vdygpO1xuXG5leHBvcnQgbGV0IHJhZiA9IGlzX2NsaWVudCA/IChjYikgPT4gcmVxdWVzdEFuaW1hdGlvbkZyYW1lKGNiKSA6IG5vb3A7XG5cbi8vIHVzZWQgaW50ZXJuYWxseSBmb3IgdGVzdGluZ1xuLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldF9ub3coZm4pIHtcblx0bm93ID0gZm47XG59XG5cbi8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRfcmFmKGZuKSB7XG5cdHJhZiA9IGZuO1xufVxuIiwgImltcG9ydCB7IHJhZiB9IGZyb20gJy4vZW52aXJvbm1lbnQuanMnO1xuXG5jb25zdCB0YXNrcyA9IG5ldyBTZXQoKTtcblxuLyoqXG4gKiBAcGFyYW0ge251bWJlcn0gbm93XG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZnVuY3Rpb24gcnVuX3Rhc2tzKG5vdykge1xuXHR0YXNrcy5mb3JFYWNoKCh0YXNrKSA9PiB7XG5cdFx0aWYgKCF0YXNrLmMobm93KSkge1xuXHRcdFx0dGFza3MuZGVsZXRlKHRhc2spO1xuXHRcdFx0dGFzay5mKCk7XG5cdFx0fVxuXHR9KTtcblx0aWYgKHRhc2tzLnNpemUgIT09IDApIHJhZihydW5fdGFza3MpO1xufVxuXG4vKipcbiAqIEZvciB0ZXN0aW5nIHB1cnBvc2VzIG9ubHkhXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyX2xvb3BzKCkge1xuXHR0YXNrcy5jbGVhcigpO1xufVxuXG4vKipcbiAqIENyZWF0ZXMgYSBuZXcgdGFzayB0aGF0IHJ1bnMgb24gZWFjaCByYWYgZnJhbWVcbiAqIHVudGlsIGl0IHJldHVybnMgYSBmYWxzeSB2YWx1ZSBvciBpcyBhYm9ydGVkXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9wcml2YXRlLmpzJykuVGFza0NhbGxiYWNrfSBjYWxsYmFja1xuICogQHJldHVybnMge2ltcG9ydCgnLi9wcml2YXRlLmpzJykuVGFza31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxvb3AoY2FsbGJhY2spIHtcblx0LyoqIEB0eXBlIHtpbXBvcnQoJy4vcHJpdmF0ZS5qcycpLlRhc2tFbnRyeX0gKi9cblx0bGV0IHRhc2s7XG5cdGlmICh0YXNrcy5zaXplID09PSAwKSByYWYocnVuX3Rhc2tzKTtcblx0cmV0dXJuIHtcblx0XHRwcm9taXNlOiBuZXcgUHJvbWlzZSgoZnVsZmlsbCkgPT4ge1xuXHRcdFx0dGFza3MuYWRkKCh0YXNrID0geyBjOiBjYWxsYmFjaywgZjogZnVsZmlsbCB9KSk7XG5cdFx0fSksXG5cdFx0YWJvcnQoKSB7XG5cdFx0XHR0YXNrcy5kZWxldGUodGFzayk7XG5cdFx0fVxuXHR9O1xufVxuIiwgIi8qKiBAdHlwZSB7dHlwZW9mIGdsb2JhbFRoaXN9ICovXG5leHBvcnQgY29uc3QgZ2xvYmFscyA9XG5cdHR5cGVvZiB3aW5kb3cgIT09ICd1bmRlZmluZWQnXG5cdFx0PyB3aW5kb3dcblx0XHQ6IHR5cGVvZiBnbG9iYWxUaGlzICE9PSAndW5kZWZpbmVkJ1xuXHRcdD8gZ2xvYmFsVGhpc1xuXHRcdDogLy8gQHRzLWlnbm9yZSBOb2RlIHR5cGluZ3MgaGF2ZSB0aGlzXG5cdFx0ICBnbG9iYWw7XG4iLCAiaW1wb3J0IHsgZ2xvYmFscyB9IGZyb20gJy4vZ2xvYmFscy5qcyc7XG5cbi8qKlxuICogUmVzaXplIG9ic2VydmVyIHNpbmdsZXRvbi5cbiAqIE9uZSBsaXN0ZW5lciBwZXIgZWxlbWVudCBvbmx5IVxuICogaHR0cHM6Ly9ncm91cHMuZ29vZ2xlLmNvbS9hL2Nocm9taXVtLm9yZy9nL2JsaW5rLWRldi9jL3o2aWVuT05VYjVBL20vRjUtVmNVWnRCQUFKXG4gKi9cbmV4cG9ydCBjbGFzcyBSZXNpemVPYnNlcnZlclNpbmdsZXRvbiB7XG5cdC8qKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKiBAcmVhZG9ubHlcblx0ICogQHR5cGUge1dlYWtNYXA8RWxlbWVudCwgaW1wb3J0KCcuL3ByaXZhdGUuanMnKS5MaXN0ZW5lcj59XG5cdCAqL1xuXHRfbGlzdGVuZXJzID0gJ1dlYWtNYXAnIGluIGdsb2JhbHMgPyBuZXcgV2Vha01hcCgpIDogdW5kZWZpbmVkO1xuXG5cdC8qKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKiBAdHlwZSB7UmVzaXplT2JzZXJ2ZXJ9XG5cdCAqL1xuXHRfb2JzZXJ2ZXIgPSB1bmRlZmluZWQ7XG5cblx0LyoqIEB0eXBlIHtSZXNpemVPYnNlcnZlck9wdGlvbnN9ICovXG5cdG9wdGlvbnM7XG5cblx0LyoqIEBwYXJhbSB7UmVzaXplT2JzZXJ2ZXJPcHRpb25zfSBvcHRpb25zICovXG5cdGNvbnN0cnVjdG9yKG9wdGlvbnMpIHtcblx0XHR0aGlzLm9wdGlvbnMgPSBvcHRpb25zO1xuXHR9XG5cblx0LyoqXG5cdCAqIEBwYXJhbSB7RWxlbWVudH0gZWxlbWVudFxuXHQgKiBAcGFyYW0ge2ltcG9ydCgnLi9wcml2YXRlLmpzJykuTGlzdGVuZXJ9IGxpc3RlbmVyXG5cdCAqIEByZXR1cm5zIHsoKSA9PiB2b2lkfVxuXHQgKi9cblx0b2JzZXJ2ZShlbGVtZW50LCBsaXN0ZW5lcikge1xuXHRcdHRoaXMuX2xpc3RlbmVycy5zZXQoZWxlbWVudCwgbGlzdGVuZXIpO1xuXHRcdHRoaXMuX2dldE9ic2VydmVyKCkub2JzZXJ2ZShlbGVtZW50LCB0aGlzLm9wdGlvbnMpO1xuXHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHR0aGlzLl9saXN0ZW5lcnMuZGVsZXRlKGVsZW1lbnQpO1xuXHRcdFx0dGhpcy5fb2JzZXJ2ZXIudW5vYnNlcnZlKGVsZW1lbnQpOyAvLyB0aGlzIGxpbmUgY2FuIHByb2JhYmx5IGJlIHJlbW92ZWRcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEBwcml2YXRlXG5cdCAqL1xuXHRfZ2V0T2JzZXJ2ZXIoKSB7XG5cdFx0cmV0dXJuIChcblx0XHRcdHRoaXMuX29ic2VydmVyID8/XG5cdFx0XHQodGhpcy5fb2JzZXJ2ZXIgPSBuZXcgUmVzaXplT2JzZXJ2ZXIoKGVudHJpZXMpID0+IHtcblx0XHRcdFx0Zm9yIChjb25zdCBlbnRyeSBvZiBlbnRyaWVzKSB7XG5cdFx0XHRcdFx0UmVzaXplT2JzZXJ2ZXJTaW5nbGV0b24uZW50cmllcy5zZXQoZW50cnkudGFyZ2V0LCBlbnRyeSk7XG5cdFx0XHRcdFx0dGhpcy5fbGlzdGVuZXJzLmdldChlbnRyeS50YXJnZXQpPy4oZW50cnkpO1xuXHRcdFx0XHR9XG5cdFx0XHR9KSlcblx0XHQpO1xuXHR9XG59XG5cbi8vIE5lZWRzIHRvIGJlIHdyaXR0ZW4gbGlrZSB0aGlzIHRvIHBhc3MgdGhlIHRyZWUtc2hha2UtdGVzdFxuUmVzaXplT2JzZXJ2ZXJTaW5nbGV0b24uZW50cmllcyA9ICdXZWFrTWFwJyBpbiBnbG9iYWxzID8gbmV3IFdlYWtNYXAoKSA6IHVuZGVmaW5lZDtcbiIsICJpbXBvcnQgeyBjb250ZW50ZWRpdGFibGVfdHJ1dGh5X3ZhbHVlcywgaGFzX3Byb3AgfSBmcm9tICcuL3V0aWxzLmpzJztcblxuaW1wb3J0IHsgUmVzaXplT2JzZXJ2ZXJTaW5nbGV0b24gfSBmcm9tICcuL1Jlc2l6ZU9ic2VydmVyU2luZ2xldG9uLmpzJztcblxuLy8gVHJhY2sgd2hpY2ggbm9kZXMgYXJlIGNsYWltZWQgZHVyaW5nIGh5ZHJhdGlvbi4gVW5jbGFpbWVkIG5vZGVzIGNhbiB0aGVuIGJlIHJlbW92ZWQgZnJvbSB0aGUgRE9NXG4vLyBhdCB0aGUgZW5kIG9mIGh5ZHJhdGlvbiB3aXRob3V0IHRvdWNoaW5nIHRoZSByZW1haW5pbmcgbm9kZXMuXG5sZXQgaXNfaHlkcmF0aW5nID0gZmFsc2U7XG5cbi8qKlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdGFydF9oeWRyYXRpbmcoKSB7XG5cdGlzX2h5ZHJhdGluZyA9IHRydWU7XG59XG5cbi8qKlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbmRfaHlkcmF0aW5nKCkge1xuXHRpc19oeWRyYXRpbmcgPSBmYWxzZTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge251bWJlcn0gbG93XG4gKiBAcGFyYW0ge251bWJlcn0gaGlnaFxuICogQHBhcmFtIHsoaW5kZXg6IG51bWJlcikgPT4gbnVtYmVyfSBrZXlcbiAqIEBwYXJhbSB7bnVtYmVyfSB2YWx1ZVxuICogQHJldHVybnMge251bWJlcn1cbiAqL1xuZnVuY3Rpb24gdXBwZXJfYm91bmQobG93LCBoaWdoLCBrZXksIHZhbHVlKSB7XG5cdC8vIFJldHVybiBmaXJzdCBpbmRleCBvZiB2YWx1ZSBsYXJnZXIgdGhhbiBpbnB1dCB2YWx1ZSBpbiB0aGUgcmFuZ2UgW2xvdywgaGlnaClcblx0d2hpbGUgKGxvdyA8IGhpZ2gpIHtcblx0XHRjb25zdCBtaWQgPSBsb3cgKyAoKGhpZ2ggLSBsb3cpID4+IDEpO1xuXHRcdGlmIChrZXkobWlkKSA8PSB2YWx1ZSkge1xuXHRcdFx0bG93ID0gbWlkICsgMTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0aGlnaCA9IG1pZDtcblx0XHR9XG5cdH1cblx0cmV0dXJuIGxvdztcbn1cblxuLyoqXG4gKiBAcGFyYW0ge05vZGVFeH0gdGFyZ2V0XG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZnVuY3Rpb24gaW5pdF9oeWRyYXRlKHRhcmdldCkge1xuXHRpZiAodGFyZ2V0Lmh5ZHJhdGVfaW5pdCkgcmV0dXJuO1xuXHR0YXJnZXQuaHlkcmF0ZV9pbml0ID0gdHJ1ZTtcblx0Ly8gV2Uga25vdyB0aGF0IGFsbCBjaGlsZHJlbiBoYXZlIGNsYWltX29yZGVyIHZhbHVlcyBzaW5jZSB0aGUgdW5jbGFpbWVkIGhhdmUgYmVlbiBkZXRhY2hlZCBpZiB0YXJnZXQgaXMgbm90IDxoZWFkPlxuXG5cdGxldCBjaGlsZHJlbiA9IC8qKiBAdHlwZSB7QXJyYXlMaWtlPE5vZGVFeDI+fSAqLyAodGFyZ2V0LmNoaWxkTm9kZXMpO1xuXHQvLyBJZiB0YXJnZXQgaXMgPGhlYWQ+LCB0aGVyZSBtYXkgYmUgY2hpbGRyZW4gd2l0aG91dCBjbGFpbV9vcmRlclxuXHRpZiAodGFyZ2V0Lm5vZGVOYW1lID09PSAnSEVBRCcpIHtcblx0XHRjb25zdCBteV9jaGlsZHJlbiA9IFtdO1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcblx0XHRcdGNvbnN0IG5vZGUgPSBjaGlsZHJlbltpXTtcblx0XHRcdGlmIChub2RlLmNsYWltX29yZGVyICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0bXlfY2hpbGRyZW4ucHVzaChub2RlKTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Y2hpbGRyZW4gPSBteV9jaGlsZHJlbjtcblx0fVxuXHQvKlxuXHQgKiBSZW9yZGVyIGNsYWltZWQgY2hpbGRyZW4gb3B0aW1hbGx5LlxuXHQgKiBXZSBjYW4gcmVvcmRlciBjbGFpbWVkIGNoaWxkcmVuIG9wdGltYWxseSBieSBmaW5kaW5nIHRoZSBsb25nZXN0IHN1YnNlcXVlbmNlIG9mXG5cdCAqIG5vZGVzIHRoYXQgYXJlIGFscmVhZHkgY2xhaW1lZCBpbiBvcmRlciBhbmQgb25seSBtb3ZpbmcgdGhlIHJlc3QuIFRoZSBsb25nZXN0XG5cdCAqIHN1YnNlcXVlbmNlIG9mIG5vZGVzIHRoYXQgYXJlIGNsYWltZWQgaW4gb3JkZXIgY2FuIGJlIGZvdW5kIGJ5XG5cdCAqIGNvbXB1dGluZyB0aGUgbG9uZ2VzdCBpbmNyZWFzaW5nIHN1YnNlcXVlbmNlIG9mIC5jbGFpbV9vcmRlciB2YWx1ZXMuXG5cdCAqXG5cdCAqIFRoaXMgYWxnb3JpdGhtIGlzIG9wdGltYWwgaW4gZ2VuZXJhdGluZyB0aGUgbGVhc3QgYW1vdW50IG9mIHJlb3JkZXIgb3BlcmF0aW9uc1xuXHQgKiBwb3NzaWJsZS5cblx0ICpcblx0ICogUHJvb2Y6XG5cdCAqIFdlIGtub3cgdGhhdCwgZ2l2ZW4gYSBzZXQgb2YgcmVvcmRlcmluZyBvcGVyYXRpb25zLCB0aGUgbm9kZXMgdGhhdCBkbyBub3QgbW92ZVxuXHQgKiBhbHdheXMgZm9ybSBhbiBpbmNyZWFzaW5nIHN1YnNlcXVlbmNlLCBzaW5jZSB0aGV5IGRvIG5vdCBtb3ZlIGFtb25nIGVhY2ggb3RoZXJcblx0ICogbWVhbmluZyB0aGF0IHRoZXkgbXVzdCBiZSBhbHJlYWR5IG9yZGVyZWQgYW1vbmcgZWFjaCBvdGhlci4gVGh1cywgdGhlIG1heGltYWxcblx0ICogc2V0IG9mIG5vZGVzIHRoYXQgZG8gbm90IG1vdmUgZm9ybSBhIGxvbmdlc3QgaW5jcmVhc2luZyBzdWJzZXF1ZW5jZS5cblx0ICovXG5cdC8vIENvbXB1dGUgbG9uZ2VzdCBpbmNyZWFzaW5nIHN1YnNlcXVlbmNlXG5cdC8vIG06IHN1YnNlcXVlbmNlIGxlbmd0aCBqID0+IGluZGV4IGsgb2Ygc21hbGxlc3QgdmFsdWUgdGhhdCBlbmRzIGFuIGluY3JlYXNpbmcgc3Vic2VxdWVuY2Ugb2YgbGVuZ3RoIGpcblx0Y29uc3QgbSA9IG5ldyBJbnQzMkFycmF5KGNoaWxkcmVuLmxlbmd0aCArIDEpO1xuXHQvLyBQcmVkZWNlc3NvciBpbmRpY2VzICsgMVxuXHRjb25zdCBwID0gbmV3IEludDMyQXJyYXkoY2hpbGRyZW4ubGVuZ3RoKTtcblx0bVswXSA9IC0xO1xuXHRsZXQgbG9uZ2VzdCA9IDA7XG5cdGZvciAobGV0IGkgPSAwOyBpIDwgY2hpbGRyZW4ubGVuZ3RoOyBpKyspIHtcblx0XHRjb25zdCBjdXJyZW50ID0gY2hpbGRyZW5baV0uY2xhaW1fb3JkZXI7XG5cdFx0Ly8gRmluZCB0aGUgbGFyZ2VzdCBzdWJzZXF1ZW5jZSBsZW5ndGggc3VjaCB0aGF0IGl0IGVuZHMgaW4gYSB2YWx1ZSBsZXNzIHRoYW4gb3VyIGN1cnJlbnQgdmFsdWVcblx0XHQvLyB1cHBlcl9ib3VuZCByZXR1cm5zIGZpcnN0IGdyZWF0ZXIgdmFsdWUsIHNvIHdlIHN1YnRyYWN0IG9uZVxuXHRcdC8vIHdpdGggZmFzdCBwYXRoIGZvciB3aGVuIHdlIGFyZSBvbiB0aGUgY3VycmVudCBsb25nZXN0IHN1YnNlcXVlbmNlXG5cdFx0Y29uc3Qgc2VxX2xlbiA9XG5cdFx0XHQobG9uZ2VzdCA+IDAgJiYgY2hpbGRyZW5bbVtsb25nZXN0XV0uY2xhaW1fb3JkZXIgPD0gY3VycmVudFxuXHRcdFx0XHQ/IGxvbmdlc3QgKyAxXG5cdFx0XHRcdDogdXBwZXJfYm91bmQoMSwgbG9uZ2VzdCwgKGlkeCkgPT4gY2hpbGRyZW5bbVtpZHhdXS5jbGFpbV9vcmRlciwgY3VycmVudCkpIC0gMTtcblx0XHRwW2ldID0gbVtzZXFfbGVuXSArIDE7XG5cdFx0Y29uc3QgbmV3X2xlbiA9IHNlcV9sZW4gKyAxO1xuXHRcdC8vIFdlIGNhbiBndWFyYW50ZWUgdGhhdCBjdXJyZW50IGlzIHRoZSBzbWFsbGVzdCB2YWx1ZS4gT3RoZXJ3aXNlLCB3ZSB3b3VsZCBoYXZlIGdlbmVyYXRlZCBhIGxvbmdlciBzZXF1ZW5jZS5cblx0XHRtW25ld19sZW5dID0gaTtcblx0XHRsb25nZXN0ID0gTWF0aC5tYXgobmV3X2xlbiwgbG9uZ2VzdCk7XG5cdH1cblx0Ly8gVGhlIGxvbmdlc3QgaW5jcmVhc2luZyBzdWJzZXF1ZW5jZSBvZiBub2RlcyAoaW5pdGlhbGx5IHJldmVyc2VkKVxuXG5cdC8qKlxuXHQgKiBAdHlwZSB7Tm9kZUV4MltdfVxuXHQgKi9cblx0Y29uc3QgbGlzID0gW107XG5cdC8vIFRoZSByZXN0IG9mIHRoZSBub2Rlcywgbm9kZXMgdGhhdCB3aWxsIGJlIG1vdmVkXG5cblx0LyoqXG5cdCAqIEB0eXBlIHtOb2RlRXgyW119XG5cdCAqL1xuXHRjb25zdCB0b19tb3ZlID0gW107XG5cdGxldCBsYXN0ID0gY2hpbGRyZW4ubGVuZ3RoIC0gMTtcblx0Zm9yIChsZXQgY3VyID0gbVtsb25nZXN0XSArIDE7IGN1ciAhPSAwOyBjdXIgPSBwW2N1ciAtIDFdKSB7XG5cdFx0bGlzLnB1c2goY2hpbGRyZW5bY3VyIC0gMV0pO1xuXHRcdGZvciAoOyBsYXN0ID49IGN1cjsgbGFzdC0tKSB7XG5cdFx0XHR0b19tb3ZlLnB1c2goY2hpbGRyZW5bbGFzdF0pO1xuXHRcdH1cblx0XHRsYXN0LS07XG5cdH1cblx0Zm9yICg7IGxhc3QgPj0gMDsgbGFzdC0tKSB7XG5cdFx0dG9fbW92ZS5wdXNoKGNoaWxkcmVuW2xhc3RdKTtcblx0fVxuXHRsaXMucmV2ZXJzZSgpO1xuXHQvLyBXZSBzb3J0IHRoZSBub2RlcyBiZWluZyBtb3ZlZCB0byBndWFyYW50ZWUgdGhhdCB0aGVpciBpbnNlcnRpb24gb3JkZXIgbWF0Y2hlcyB0aGUgY2xhaW0gb3JkZXJcblx0dG9fbW92ZS5zb3J0KChhLCBiKSA9PiBhLmNsYWltX29yZGVyIC0gYi5jbGFpbV9vcmRlcik7XG5cdC8vIEZpbmFsbHksIHdlIG1vdmUgdGhlIG5vZGVzXG5cdGZvciAobGV0IGkgPSAwLCBqID0gMDsgaSA8IHRvX21vdmUubGVuZ3RoOyBpKyspIHtcblx0XHR3aGlsZSAoaiA8IGxpcy5sZW5ndGggJiYgdG9fbW92ZVtpXS5jbGFpbV9vcmRlciA+PSBsaXNbal0uY2xhaW1fb3JkZXIpIHtcblx0XHRcdGorKztcblx0XHR9XG5cdFx0Y29uc3QgYW5jaG9yID0gaiA8IGxpcy5sZW5ndGggPyBsaXNbal0gOiBudWxsO1xuXHRcdHRhcmdldC5pbnNlcnRCZWZvcmUodG9fbW92ZVtpXSwgYW5jaG9yKTtcblx0fVxufVxuXG4vKipcbiAqIEBwYXJhbSB7Tm9kZX0gdGFyZ2V0XG4gKiBAcGFyYW0ge05vZGV9IG5vZGVcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kKHRhcmdldCwgbm9kZSkge1xuXHR0YXJnZXQuYXBwZW5kQ2hpbGQobm9kZSk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtOb2RlfSB0YXJnZXRcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHlsZV9zaGVldF9pZFxuICogQHBhcmFtIHtzdHJpbmd9IHN0eWxlc1xuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhcHBlbmRfc3R5bGVzKHRhcmdldCwgc3R5bGVfc2hlZXRfaWQsIHN0eWxlcykge1xuXHRjb25zdCBhcHBlbmRfc3R5bGVzX3RvID0gZ2V0X3Jvb3RfZm9yX3N0eWxlKHRhcmdldCk7XG5cdGlmICghYXBwZW5kX3N0eWxlc190by5nZXRFbGVtZW50QnlJZChzdHlsZV9zaGVldF9pZCkpIHtcblx0XHRjb25zdCBzdHlsZSA9IGVsZW1lbnQoJ3N0eWxlJyk7XG5cdFx0c3R5bGUuaWQgPSBzdHlsZV9zaGVldF9pZDtcblx0XHRzdHlsZS50ZXh0Q29udGVudCA9IHN0eWxlcztcblx0XHRhcHBlbmRfc3R5bGVzaGVldChhcHBlbmRfc3R5bGVzX3RvLCBzdHlsZSk7XG5cdH1cbn1cblxuLyoqXG4gKiBAcGFyYW0ge05vZGV9IG5vZGVcbiAqIEByZXR1cm5zIHtTaGFkb3dSb290IHwgRG9jdW1lbnR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRfcm9vdF9mb3Jfc3R5bGUobm9kZSkge1xuXHRpZiAoIW5vZGUpIHJldHVybiBkb2N1bWVudDtcblx0Y29uc3Qgcm9vdCA9IG5vZGUuZ2V0Um9vdE5vZGUgPyBub2RlLmdldFJvb3ROb2RlKCkgOiBub2RlLm93bmVyRG9jdW1lbnQ7XG5cdGlmIChyb290ICYmIC8qKiBAdHlwZSB7U2hhZG93Um9vdH0gKi8gKHJvb3QpLmhvc3QpIHtcblx0XHRyZXR1cm4gLyoqIEB0eXBlIHtTaGFkb3dSb290fSAqLyAocm9vdCk7XG5cdH1cblx0cmV0dXJuIG5vZGUub3duZXJEb2N1bWVudDtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge05vZGV9IG5vZGVcbiAqIEByZXR1cm5zIHtDU1NTdHlsZVNoZWV0fVxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kX2VtcHR5X3N0eWxlc2hlZXQobm9kZSkge1xuXHRjb25zdCBzdHlsZV9lbGVtZW50ID0gZWxlbWVudCgnc3R5bGUnKTtcblx0Ly8gRm9yIHRyYW5zaXRpb25zIHRvIHdvcmsgd2l0aG91dCAnc3R5bGUtc3JjOiB1bnNhZmUtaW5saW5lJyBDb250ZW50IFNlY3VyaXR5IFBvbGljeSxcblx0Ly8gdGhlc2UgZW1wdHkgdGFncyBuZWVkIHRvIGJlIGFsbG93ZWQgd2l0aCBhIGhhc2ggYXMgYSB3b3JrYXJvdW5kIHVudGlsIHdlIG1vdmUgdG8gdGhlIFdlYiBBbmltYXRpb25zIEFQSS5cblx0Ly8gVXNpbmcgdGhlIGhhc2ggZm9yIHRoZSBlbXB0eSBzdHJpbmcgKGZvciBhbiBlbXB0eSB0YWcpIHdvcmtzIGluIGFsbCBicm93c2VycyBleGNlcHQgU2FmYXJpLlxuXHQvLyBTbyBhcyBhIHdvcmthcm91bmQgZm9yIHRoZSB3b3JrYXJvdW5kLCB3aGVuIHdlIGFwcGVuZCBlbXB0eSBzdHlsZSB0YWdzIHdlIHNldCB0aGVpciBjb250ZW50IHRvIC8qIGVtcHR5ICovLlxuXHQvLyBUaGUgaGFzaCAnc2hhMjU2LTlPbE5PMERORWVhVnpITDRSWndDTHNCSEE4V0JROHRvQnAvNEY1WFYybmM9JyB3aWxsIHRoZW4gd29yayBldmVuIGluIFNhZmFyaS5cblx0c3R5bGVfZWxlbWVudC50ZXh0Q29udGVudCA9ICcvKiBlbXB0eSAqLyc7XG5cdGFwcGVuZF9zdHlsZXNoZWV0KGdldF9yb290X2Zvcl9zdHlsZShub2RlKSwgc3R5bGVfZWxlbWVudCk7XG5cdHJldHVybiBzdHlsZV9lbGVtZW50LnNoZWV0O1xufVxuXG4vKipcbiAqIEBwYXJhbSB7U2hhZG93Um9vdCB8IERvY3VtZW50fSBub2RlXG4gKiBAcGFyYW0ge0hUTUxTdHlsZUVsZW1lbnR9IHN0eWxlXG4gKiBAcmV0dXJucyB7Q1NTU3R5bGVTaGVldH1cbiAqL1xuZnVuY3Rpb24gYXBwZW5kX3N0eWxlc2hlZXQobm9kZSwgc3R5bGUpIHtcblx0YXBwZW5kKC8qKiBAdHlwZSB7RG9jdW1lbnR9ICovIChub2RlKS5oZWFkIHx8IG5vZGUsIHN0eWxlKTtcblx0cmV0dXJuIHN0eWxlLnNoZWV0O1xufVxuXG4vKipcbiAqIEBwYXJhbSB7Tm9kZUV4fSB0YXJnZXRcbiAqIEBwYXJhbSB7Tm9kZUV4fSBub2RlXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZF9oeWRyYXRpb24odGFyZ2V0LCBub2RlKSB7XG5cdGlmIChpc19oeWRyYXRpbmcpIHtcblx0XHRpbml0X2h5ZHJhdGUodGFyZ2V0KTtcblx0XHRpZiAoXG5cdFx0XHR0YXJnZXQuYWN0dWFsX2VuZF9jaGlsZCA9PT0gdW5kZWZpbmVkIHx8XG5cdFx0XHQodGFyZ2V0LmFjdHVhbF9lbmRfY2hpbGQgIT09IG51bGwgJiYgdGFyZ2V0LmFjdHVhbF9lbmRfY2hpbGQucGFyZW50Tm9kZSAhPT0gdGFyZ2V0KVxuXHRcdCkge1xuXHRcdFx0dGFyZ2V0LmFjdHVhbF9lbmRfY2hpbGQgPSB0YXJnZXQuZmlyc3RDaGlsZDtcblx0XHR9XG5cdFx0Ly8gU2tpcCBub2RlcyBvZiB1bmRlZmluZWQgb3JkZXJpbmdcblx0XHR3aGlsZSAodGFyZ2V0LmFjdHVhbF9lbmRfY2hpbGQgIT09IG51bGwgJiYgdGFyZ2V0LmFjdHVhbF9lbmRfY2hpbGQuY2xhaW1fb3JkZXIgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0dGFyZ2V0LmFjdHVhbF9lbmRfY2hpbGQgPSB0YXJnZXQuYWN0dWFsX2VuZF9jaGlsZC5uZXh0U2libGluZztcblx0XHR9XG5cdFx0aWYgKG5vZGUgIT09IHRhcmdldC5hY3R1YWxfZW5kX2NoaWxkKSB7XG5cdFx0XHQvLyBXZSBvbmx5IGluc2VydCBpZiB0aGUgb3JkZXJpbmcgb2YgdGhpcyBub2RlIHNob3VsZCBiZSBtb2RpZmllZCBvciB0aGUgcGFyZW50IG5vZGUgaXMgbm90IHRhcmdldFxuXHRcdFx0aWYgKG5vZGUuY2xhaW1fb3JkZXIgIT09IHVuZGVmaW5lZCB8fCBub2RlLnBhcmVudE5vZGUgIT09IHRhcmdldCkge1xuXHRcdFx0XHR0YXJnZXQuaW5zZXJ0QmVmb3JlKG5vZGUsIHRhcmdldC5hY3R1YWxfZW5kX2NoaWxkKTtcblx0XHRcdH1cblx0XHR9IGVsc2Uge1xuXHRcdFx0dGFyZ2V0LmFjdHVhbF9lbmRfY2hpbGQgPSBub2RlLm5leHRTaWJsaW5nO1xuXHRcdH1cblx0fSBlbHNlIGlmIChub2RlLnBhcmVudE5vZGUgIT09IHRhcmdldCB8fCBub2RlLm5leHRTaWJsaW5nICE9PSBudWxsKSB7XG5cdFx0dGFyZ2V0LmFwcGVuZENoaWxkKG5vZGUpO1xuXHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHtOb2RlfSB0YXJnZXRcbiAqIEBwYXJhbSB7Tm9kZX0gbm9kZVxuICogQHBhcmFtIHtOb2RlfSBbYW5jaG9yXVxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnQodGFyZ2V0LCBub2RlLCBhbmNob3IpIHtcblx0dGFyZ2V0Lmluc2VydEJlZm9yZShub2RlLCBhbmNob3IgfHwgbnVsbCk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtOb2RlRXh9IHRhcmdldFxuICogQHBhcmFtIHtOb2RlRXh9IG5vZGVcbiAqIEBwYXJhbSB7Tm9kZUV4fSBbYW5jaG9yXVxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRfaHlkcmF0aW9uKHRhcmdldCwgbm9kZSwgYW5jaG9yKSB7XG5cdGlmIChpc19oeWRyYXRpbmcgJiYgIWFuY2hvcikge1xuXHRcdGFwcGVuZF9oeWRyYXRpb24odGFyZ2V0LCBub2RlKTtcblx0fSBlbHNlIGlmIChub2RlLnBhcmVudE5vZGUgIT09IHRhcmdldCB8fCBub2RlLm5leHRTaWJsaW5nICE9IGFuY2hvcikge1xuXHRcdHRhcmdldC5pbnNlcnRCZWZvcmUobm9kZSwgYW5jaG9yIHx8IG51bGwpO1xuXHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHtOb2RlfSBub2RlXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRldGFjaChub2RlKSB7XG5cdGlmIChub2RlLnBhcmVudE5vZGUpIHtcblx0XHRub2RlLnBhcmVudE5vZGUucmVtb3ZlQ2hpbGQobm9kZSk7XG5cdH1cbn1cblxuLyoqXG4gKiBAcmV0dXJucyB7dm9pZH0gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXN0cm95X2VhY2goaXRlcmF0aW9ucywgZGV0YWNoaW5nKSB7XG5cdGZvciAobGV0IGkgPSAwOyBpIDwgaXRlcmF0aW9ucy5sZW5ndGg7IGkgKz0gMSkge1xuXHRcdGlmIChpdGVyYXRpb25zW2ldKSBpdGVyYXRpb25zW2ldLmQoZGV0YWNoaW5nKTtcblx0fVxufVxuXG4vKipcbiAqIEB0ZW1wbGF0ZSB7a2V5b2YgSFRNTEVsZW1lbnRUYWdOYW1lTWFwfSBLXG4gKiBAcGFyYW0ge0t9IG5hbWVcbiAqIEByZXR1cm5zIHtIVE1MRWxlbWVudFRhZ05hbWVNYXBbS119XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBlbGVtZW50KG5hbWUpIHtcblx0cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQobmFtZSk7XG59XG5cbi8qKlxuICogQHRlbXBsYXRlIHtrZXlvZiBIVE1MRWxlbWVudFRhZ05hbWVNYXB9IEtcbiAqIEBwYXJhbSB7S30gbmFtZVxuICogQHBhcmFtIHtzdHJpbmd9IGlzXG4gKiBAcmV0dXJucyB7SFRNTEVsZW1lbnRUYWdOYW1lTWFwW0tdfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZWxlbWVudF9pcyhuYW1lLCBpcykge1xuXHRyZXR1cm4gZG9jdW1lbnQuY3JlYXRlRWxlbWVudChuYW1lLCB7IGlzIH0pO1xufVxuXG4vKipcbiAqIEB0ZW1wbGF0ZSBUXG4gKiBAdGVtcGxhdGUge2tleW9mIFR9IEtcbiAqIEBwYXJhbSB7VH0gb2JqXG4gKiBAcGFyYW0ge0tbXX0gZXhjbHVkZVxuICogQHJldHVybnMge1BpY2s8VCwgRXhjbHVkZTxrZXlvZiBULCBLPj59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBvYmplY3Rfd2l0aG91dF9wcm9wZXJ0aWVzKG9iaiwgZXhjbHVkZSkge1xuXHRjb25zdCB0YXJnZXQgPSAvKiogQHR5cGUge1BpY2s8VCwgRXhjbHVkZTxrZXlvZiBULCBLPj59ICovICh7fSk7XG5cdGZvciAoY29uc3QgayBpbiBvYmopIHtcblx0XHRpZiAoXG5cdFx0XHRoYXNfcHJvcChvYmosIGspICYmXG5cdFx0XHQvLyBAdHMtaWdub3JlXG5cdFx0XHRleGNsdWRlLmluZGV4T2YoaykgPT09IC0xXG5cdFx0KSB7XG5cdFx0XHQvLyBAdHMtaWdub3JlXG5cdFx0XHR0YXJnZXRba10gPSBvYmpba107XG5cdFx0fVxuXHR9XG5cdHJldHVybiB0YXJnZXQ7XG59XG5cbi8qKlxuICogQHRlbXBsYXRlIHtrZXlvZiBTVkdFbGVtZW50VGFnTmFtZU1hcH0gS1xuICogQHBhcmFtIHtLfSBuYW1lXG4gKiBAcmV0dXJucyB7U1ZHRWxlbWVudH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN2Z19lbGVtZW50KG5hbWUpIHtcblx0cmV0dXJuIGRvY3VtZW50LmNyZWF0ZUVsZW1lbnROUygnaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnLCBuYW1lKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gZGF0YVxuICogQHJldHVybnMge1RleHR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB0ZXh0KGRhdGEpIHtcblx0cmV0dXJuIGRvY3VtZW50LmNyZWF0ZVRleHROb2RlKGRhdGEpO1xufVxuXG4vKipcbiAqIEByZXR1cm5zIHtUZXh0fSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNwYWNlKCkge1xuXHRyZXR1cm4gdGV4dCgnICcpO1xufVxuXG4vKipcbiAqIEByZXR1cm5zIHtUZXh0fSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGVtcHR5KCkge1xuXHRyZXR1cm4gdGV4dCgnJyk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IGNvbnRlbnRcbiAqIEByZXR1cm5zIHtDb21tZW50fVxuICovXG5leHBvcnQgZnVuY3Rpb24gY29tbWVudChjb250ZW50KSB7XG5cdHJldHVybiBkb2N1bWVudC5jcmVhdGVDb21tZW50KGNvbnRlbnQpO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7RXZlbnRUYXJnZXR9IG5vZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBldmVudFxuICogQHBhcmFtIHtFdmVudExpc3RlbmVyT3JFdmVudExpc3RlbmVyT2JqZWN0fSBoYW5kbGVyXG4gKiBAcGFyYW0ge2Jvb2xlYW4gfCBBZGRFdmVudExpc3RlbmVyT3B0aW9ucyB8IEV2ZW50TGlzdGVuZXJPcHRpb25zfSBbb3B0aW9uc11cbiAqIEByZXR1cm5zIHsoKSA9PiB2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gbGlzdGVuKG5vZGUsIGV2ZW50LCBoYW5kbGVyLCBvcHRpb25zKSB7XG5cdG5vZGUuYWRkRXZlbnRMaXN0ZW5lcihldmVudCwgaGFuZGxlciwgb3B0aW9ucyk7XG5cdHJldHVybiAoKSA9PiBub2RlLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnQsIGhhbmRsZXIsIG9wdGlvbnMpO1xufVxuXG4vKipcbiAqIEByZXR1cm5zIHsoZXZlbnQ6IGFueSkgPT4gYW55fSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHByZXZlbnRfZGVmYXVsdChmbikge1xuXHRyZXR1cm4gZnVuY3Rpb24gKGV2ZW50KSB7XG5cdFx0ZXZlbnQucHJldmVudERlZmF1bHQoKTtcblx0XHQvLyBAdHMtaWdub3JlXG5cdFx0cmV0dXJuIGZuLmNhbGwodGhpcywgZXZlbnQpO1xuXHR9O1xufVxuXG4vKipcbiAqIEByZXR1cm5zIHsoZXZlbnQ6IGFueSkgPT4gYW55fSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHN0b3BfcHJvcGFnYXRpb24oZm4pIHtcblx0cmV0dXJuIGZ1bmN0aW9uIChldmVudCkge1xuXHRcdGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRyZXR1cm4gZm4uY2FsbCh0aGlzLCBldmVudCk7XG5cdH07XG59XG5cbi8qKlxuICogQHJldHVybnMgeyhldmVudDogYW55KSA9PiBhbnl9ICovXG5leHBvcnQgZnVuY3Rpb24gc3RvcF9pbW1lZGlhdGVfcHJvcGFnYXRpb24oZm4pIHtcblx0cmV0dXJuIGZ1bmN0aW9uIChldmVudCkge1xuXHRcdGV2ZW50LnN0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbigpO1xuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRyZXR1cm4gZm4uY2FsbCh0aGlzLCBldmVudCk7XG5cdH07XG59XG5cbi8qKlxuICogQHJldHVybnMgeyhldmVudDogYW55KSA9PiB2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNlbGYoZm4pIHtcblx0cmV0dXJuIGZ1bmN0aW9uIChldmVudCkge1xuXHRcdC8vIEB0cy1pZ25vcmVcblx0XHRpZiAoZXZlbnQudGFyZ2V0ID09PSB0aGlzKSBmbi5jYWxsKHRoaXMsIGV2ZW50KTtcblx0fTtcbn1cblxuLyoqXG4gKiBAcmV0dXJucyB7KGV2ZW50OiBhbnkpID0+IHZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gdHJ1c3RlZChmbikge1xuXHRyZXR1cm4gZnVuY3Rpb24gKGV2ZW50KSB7XG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdGlmIChldmVudC5pc1RydXN0ZWQpIGZuLmNhbGwodGhpcywgZXZlbnQpO1xuXHR9O1xufVxuXG4vKipcbiAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtzdHJpbmd9IGF0dHJpYnV0ZVxuICogQHBhcmFtIHtzdHJpbmd9IFt2YWx1ZV1cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gYXR0cihub2RlLCBhdHRyaWJ1dGUsIHZhbHVlKSB7XG5cdGlmICh2YWx1ZSA9PSBudWxsKSBub2RlLnJlbW92ZUF0dHJpYnV0ZShhdHRyaWJ1dGUpO1xuXHRlbHNlIGlmIChub2RlLmdldEF0dHJpYnV0ZShhdHRyaWJ1dGUpICE9PSB2YWx1ZSkgbm9kZS5zZXRBdHRyaWJ1dGUoYXR0cmlidXRlLCB2YWx1ZSk7XG59XG4vKipcbiAqIExpc3Qgb2YgYXR0cmlidXRlcyB0aGF0IHNob3VsZCBhbHdheXMgYmUgc2V0IHRocm91Z2ggdGhlIGF0dHIgbWV0aG9kLFxuICogYmVjYXVzZSB1cGRhdGluZyB0aGVtIHRocm91Z2ggdGhlIHByb3BlcnR5IHNldHRlciBkb2Vzbid0IHdvcmsgcmVsaWFibHkuXG4gKiBJbiB0aGUgZXhhbXBsZSBvZiBgd2lkdGhgL2BoZWlnaHRgLCB0aGUgcHJvYmxlbSBpcyB0aGF0IHRoZSBzZXR0ZXIgb25seVxuICogYWNjZXB0cyBudW1lcmljIHZhbHVlcywgYnV0IHRoZSBhdHRyaWJ1dGUgY2FuIGFsc28gYmUgc2V0IHRvIGEgc3RyaW5nIGxpa2UgYDUwJWAuXG4gKiBJZiB0aGlzIGxpc3QgYmVjb21lcyB0b28gYmlnLCByZXRoaW5rIHRoaXMgYXBwcm9hY2guXG4gKi9cbmNvbnN0IGFsd2F5c19zZXRfdGhyb3VnaF9zZXRfYXR0cmlidXRlID0gWyd3aWR0aCcsICdoZWlnaHQnXTtcblxuLyoqXG4gKiBAcGFyYW0ge0VsZW1lbnQgJiBFbGVtZW50Q1NTSW5saW5lU3R5bGV9IG5vZGVcbiAqIEBwYXJhbSB7eyBbeDogc3RyaW5nXTogc3RyaW5nIH19IGF0dHJpYnV0ZXNcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0X2F0dHJpYnV0ZXMobm9kZSwgYXR0cmlidXRlcykge1xuXHQvLyBAdHMtaWdub3JlXG5cdGNvbnN0IGRlc2NyaXB0b3JzID0gT2JqZWN0LmdldE93blByb3BlcnR5RGVzY3JpcHRvcnMobm9kZS5fX3Byb3RvX18pO1xuXHRmb3IgKGNvbnN0IGtleSBpbiBhdHRyaWJ1dGVzKSB7XG5cdFx0aWYgKGF0dHJpYnV0ZXNba2V5XSA9PSBudWxsKSB7XG5cdFx0XHRub2RlLnJlbW92ZUF0dHJpYnV0ZShrZXkpO1xuXHRcdH0gZWxzZSBpZiAoa2V5ID09PSAnc3R5bGUnKSB7XG5cdFx0XHRub2RlLnN0eWxlLmNzc1RleHQgPSBhdHRyaWJ1dGVzW2tleV07XG5cdFx0fSBlbHNlIGlmIChrZXkgPT09ICdfX3ZhbHVlJykge1xuXHRcdFx0LyoqIEB0eXBlIHthbnl9ICovIChub2RlKS52YWx1ZSA9IG5vZGVba2V5XSA9IGF0dHJpYnV0ZXNba2V5XTtcblx0XHR9IGVsc2UgaWYgKFxuXHRcdFx0ZGVzY3JpcHRvcnNba2V5XSAmJlxuXHRcdFx0ZGVzY3JpcHRvcnNba2V5XS5zZXQgJiZcblx0XHRcdGFsd2F5c19zZXRfdGhyb3VnaF9zZXRfYXR0cmlidXRlLmluZGV4T2Yoa2V5KSA9PT0gLTFcblx0XHQpIHtcblx0XHRcdG5vZGVba2V5XSA9IGF0dHJpYnV0ZXNba2V5XTtcblx0XHR9IGVsc2Uge1xuXHRcdFx0YXR0cihub2RlLCBrZXksIGF0dHJpYnV0ZXNba2V5XSk7XG5cdFx0fVxuXHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHtFbGVtZW50ICYgRWxlbWVudENTU0lubGluZVN0eWxlfSBub2RlXG4gKiBAcGFyYW0ge3sgW3g6IHN0cmluZ106IHN0cmluZyB9fSBhdHRyaWJ1dGVzXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldF9zdmdfYXR0cmlidXRlcyhub2RlLCBhdHRyaWJ1dGVzKSB7XG5cdGZvciAoY29uc3Qga2V5IGluIGF0dHJpYnV0ZXMpIHtcblx0XHRhdHRyKG5vZGUsIGtleSwgYXR0cmlidXRlc1trZXldKTtcblx0fVxufVxuXG4vKipcbiAqIEBwYXJhbSB7UmVjb3JkPHN0cmluZywgdW5rbm93bj59IGRhdGFfbWFwXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldF9jdXN0b21fZWxlbWVudF9kYXRhX21hcChub2RlLCBkYXRhX21hcCkge1xuXHRPYmplY3Qua2V5cyhkYXRhX21hcCkuZm9yRWFjaCgoa2V5KSA9PiB7XG5cdFx0c2V0X2N1c3RvbV9lbGVtZW50X2RhdGEobm9kZSwga2V5LCBkYXRhX21hcFtrZXldKTtcblx0fSk7XG59XG5cbi8qKlxuICogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gc2V0X2N1c3RvbV9lbGVtZW50X2RhdGEobm9kZSwgcHJvcCwgdmFsdWUpIHtcblx0aWYgKHByb3AgaW4gbm9kZSkge1xuXHRcdG5vZGVbcHJvcF0gPSB0eXBlb2Ygbm9kZVtwcm9wXSA9PT0gJ2Jvb2xlYW4nICYmIHZhbHVlID09PSAnJyA/IHRydWUgOiB2YWx1ZTtcblx0fSBlbHNlIHtcblx0XHRhdHRyKG5vZGUsIHByb3AsIHZhbHVlKTtcblx0fVxufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSB0YWdcbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldF9keW5hbWljX2VsZW1lbnRfZGF0YSh0YWcpIHtcblx0cmV0dXJuIC8tLy50ZXN0KHRhZykgPyBzZXRfY3VzdG9tX2VsZW1lbnRfZGF0YV9tYXAgOiBzZXRfYXR0cmlidXRlcztcbn1cblxuLyoqXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHhsaW5rX2F0dHIobm9kZSwgYXR0cmlidXRlLCB2YWx1ZSkge1xuXHRub2RlLnNldEF0dHJpYnV0ZU5TKCdodHRwOi8vd3d3LnczLm9yZy8xOTk5L3hsaW5rJywgYXR0cmlidXRlLCB2YWx1ZSk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gbm9kZVxuICogQHJldHVybnMge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldF9zdmVsdGVfZGF0YXNldChub2RlKSB7XG5cdHJldHVybiBub2RlLmRhdGFzZXQuc3ZlbHRlSDtcbn1cblxuLyoqXG4gKiBAcmV0dXJucyB7dW5rbm93bltdfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdldF9iaW5kaW5nX2dyb3VwX3ZhbHVlKGdyb3VwLCBfX3ZhbHVlLCBjaGVja2VkKSB7XG5cdGNvbnN0IHZhbHVlID0gbmV3IFNldCgpO1xuXHRmb3IgKGxldCBpID0gMDsgaSA8IGdyb3VwLmxlbmd0aDsgaSArPSAxKSB7XG5cdFx0aWYgKGdyb3VwW2ldLmNoZWNrZWQpIHZhbHVlLmFkZChncm91cFtpXS5fX3ZhbHVlKTtcblx0fVxuXHRpZiAoIWNoZWNrZWQpIHtcblx0XHR2YWx1ZS5kZWxldGUoX192YWx1ZSk7XG5cdH1cblx0cmV0dXJuIEFycmF5LmZyb20odmFsdWUpO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7SFRNTElucHV0RWxlbWVudFtdfSBncm91cFxuICogQHJldHVybnMge3sgcCguLi5pbnB1dHM6IEhUTUxJbnB1dEVsZW1lbnRbXSk6IHZvaWQ7IHIoKTogdm9pZDsgfX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluaXRfYmluZGluZ19ncm91cChncm91cCkge1xuXHQvKipcblx0ICogQHR5cGUge0hUTUxJbnB1dEVsZW1lbnRbXX0gKi9cblx0bGV0IF9pbnB1dHM7XG5cdHJldHVybiB7XG5cdFx0LyogcHVzaCAqLyBwKC4uLmlucHV0cykge1xuXHRcdFx0X2lucHV0cyA9IGlucHV0cztcblx0XHRcdF9pbnB1dHMuZm9yRWFjaCgoaW5wdXQpID0+IGdyb3VwLnB1c2goaW5wdXQpKTtcblx0XHR9LFxuXHRcdC8qIHJlbW92ZSAqLyByKCkge1xuXHRcdFx0X2lucHV0cy5mb3JFYWNoKChpbnB1dCkgPT4gZ3JvdXAuc3BsaWNlKGdyb3VwLmluZGV4T2YoaW5wdXQpLCAxKSk7XG5cdFx0fVxuXHR9O1xufVxuXG4vKipcbiAqIEBwYXJhbSB7bnVtYmVyW119IGluZGV4ZXNcbiAqIEByZXR1cm5zIHt7IHUobmV3X2luZGV4ZXM6IG51bWJlcltdKTogdm9pZDsgcCguLi5pbnB1dHM6IEhUTUxJbnB1dEVsZW1lbnRbXSk6IHZvaWQ7IHI6ICgpID0+IHZvaWQ7IH19XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0X2JpbmRpbmdfZ3JvdXBfZHluYW1pYyhncm91cCwgaW5kZXhlcykge1xuXHQvKipcblx0ICogQHR5cGUge0hUTUxJbnB1dEVsZW1lbnRbXX0gKi9cblx0bGV0IF9ncm91cCA9IGdldF9iaW5kaW5nX2dyb3VwKGdyb3VwKTtcblxuXHQvKipcblx0ICogQHR5cGUge0hUTUxJbnB1dEVsZW1lbnRbXX0gKi9cblx0bGV0IF9pbnB1dHM7XG5cblx0ZnVuY3Rpb24gZ2V0X2JpbmRpbmdfZ3JvdXAoZ3JvdXApIHtcblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IGluZGV4ZXMubGVuZ3RoOyBpKyspIHtcblx0XHRcdGdyb3VwID0gZ3JvdXBbaW5kZXhlc1tpXV0gPSBncm91cFtpbmRleGVzW2ldXSB8fCBbXTtcblx0XHR9XG5cdFx0cmV0dXJuIGdyb3VwO1xuXHR9XG5cblx0LyoqXG5cdCAqIEByZXR1cm5zIHt2b2lkfSAqL1xuXHRmdW5jdGlvbiBwdXNoKCkge1xuXHRcdF9pbnB1dHMuZm9yRWFjaCgoaW5wdXQpID0+IF9ncm91cC5wdXNoKGlucHV0KSk7XG5cdH1cblxuXHQvKipcblx0ICogQHJldHVybnMge3ZvaWR9ICovXG5cdGZ1bmN0aW9uIHJlbW92ZSgpIHtcblx0XHRfaW5wdXRzLmZvckVhY2goKGlucHV0KSA9PiBfZ3JvdXAuc3BsaWNlKF9ncm91cC5pbmRleE9mKGlucHV0KSwgMSkpO1xuXHR9XG5cdHJldHVybiB7XG5cdFx0LyogdXBkYXRlICovIHUobmV3X2luZGV4ZXMpIHtcblx0XHRcdGluZGV4ZXMgPSBuZXdfaW5kZXhlcztcblx0XHRcdGNvbnN0IG5ld19ncm91cCA9IGdldF9iaW5kaW5nX2dyb3VwKGdyb3VwKTtcblx0XHRcdGlmIChuZXdfZ3JvdXAgIT09IF9ncm91cCkge1xuXHRcdFx0XHRyZW1vdmUoKTtcblx0XHRcdFx0X2dyb3VwID0gbmV3X2dyb3VwO1xuXHRcdFx0XHRwdXNoKCk7XG5cdFx0XHR9XG5cdFx0fSxcblx0XHQvKiBwdXNoICovIHAoLi4uaW5wdXRzKSB7XG5cdFx0XHRfaW5wdXRzID0gaW5wdXRzO1xuXHRcdFx0cHVzaCgpO1xuXHRcdH0sXG5cdFx0LyogcmVtb3ZlICovIHI6IHJlbW92ZVxuXHR9O1xufVxuXG4vKiogQHJldHVybnMge251bWJlcn0gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b19udW1iZXIodmFsdWUpIHtcblx0cmV0dXJuIHZhbHVlID09PSAnJyA/IG51bGwgOiArdmFsdWU7XG59XG5cbi8qKiBAcmV0dXJucyB7YW55W119ICovXG5leHBvcnQgZnVuY3Rpb24gdGltZV9yYW5nZXNfdG9fYXJyYXkocmFuZ2VzKSB7XG5cdGNvbnN0IGFycmF5ID0gW107XG5cdGZvciAobGV0IGkgPSAwOyBpIDwgcmFuZ2VzLmxlbmd0aDsgaSArPSAxKSB7XG5cdFx0YXJyYXkucHVzaCh7IHN0YXJ0OiByYW5nZXMuc3RhcnQoaSksIGVuZDogcmFuZ2VzLmVuZChpKSB9KTtcblx0fVxuXHRyZXR1cm4gYXJyYXk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtFbGVtZW50fSBlbGVtZW50XG4gKiBAcmV0dXJucyB7Q2hpbGROb2RlW119XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjaGlsZHJlbihlbGVtZW50KSB7XG5cdHJldHVybiBBcnJheS5mcm9tKGVsZW1lbnQuY2hpbGROb2Rlcyk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtDaGlsZE5vZGVBcnJheX0gbm9kZXNcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5mdW5jdGlvbiBpbml0X2NsYWltX2luZm8obm9kZXMpIHtcblx0aWYgKG5vZGVzLmNsYWltX2luZm8gPT09IHVuZGVmaW5lZCkge1xuXHRcdG5vZGVzLmNsYWltX2luZm8gPSB7IGxhc3RfaW5kZXg6IDAsIHRvdGFsX2NsYWltZWQ6IDAgfTtcblx0fVxufVxuXG4vKipcbiAqIEB0ZW1wbGF0ZSB7Q2hpbGROb2RlRXh9IFJcbiAqIEBwYXJhbSB7Q2hpbGROb2RlQXJyYXl9IG5vZGVzXG4gKiBAcGFyYW0geyhub2RlOiBDaGlsZE5vZGVFeCkgPT4gbm9kZSBpcyBSfSBwcmVkaWNhdGVcbiAqIEBwYXJhbSB7KG5vZGU6IENoaWxkTm9kZUV4KSA9PiBDaGlsZE5vZGVFeCB8IHVuZGVmaW5lZH0gcHJvY2Vzc19ub2RlXG4gKiBAcGFyYW0geygpID0+IFJ9IGNyZWF0ZV9ub2RlXG4gKiBAcGFyYW0ge2Jvb2xlYW59IGRvbnRfdXBkYXRlX2xhc3RfaW5kZXhcbiAqIEByZXR1cm5zIHtSfVxuICovXG5mdW5jdGlvbiBjbGFpbV9ub2RlKG5vZGVzLCBwcmVkaWNhdGUsIHByb2Nlc3Nfbm9kZSwgY3JlYXRlX25vZGUsIGRvbnRfdXBkYXRlX2xhc3RfaW5kZXggPSBmYWxzZSkge1xuXHQvLyBUcnkgdG8gZmluZCBub2RlcyBpbiBhbiBvcmRlciBzdWNoIHRoYXQgd2UgbGVuZ3RoZW4gdGhlIGxvbmdlc3QgaW5jcmVhc2luZyBzdWJzZXF1ZW5jZVxuXHRpbml0X2NsYWltX2luZm8obm9kZXMpO1xuXHRjb25zdCByZXN1bHRfbm9kZSA9ICgoKSA9PiB7XG5cdFx0Ly8gV2UgZmlyc3QgdHJ5IHRvIGZpbmQgYW4gZWxlbWVudCBhZnRlciB0aGUgcHJldmlvdXMgb25lXG5cdFx0Zm9yIChsZXQgaSA9IG5vZGVzLmNsYWltX2luZm8ubGFzdF9pbmRleDsgaSA8IG5vZGVzLmxlbmd0aDsgaSsrKSB7XG5cdFx0XHRjb25zdCBub2RlID0gbm9kZXNbaV07XG5cdFx0XHRpZiAocHJlZGljYXRlKG5vZGUpKSB7XG5cdFx0XHRcdGNvbnN0IHJlcGxhY2VtZW50ID0gcHJvY2Vzc19ub2RlKG5vZGUpO1xuXHRcdFx0XHRpZiAocmVwbGFjZW1lbnQgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0XHRcdG5vZGVzLnNwbGljZShpLCAxKTtcblx0XHRcdFx0fSBlbHNlIHtcblx0XHRcdFx0XHRub2Rlc1tpXSA9IHJlcGxhY2VtZW50O1xuXHRcdFx0XHR9XG5cdFx0XHRcdGlmICghZG9udF91cGRhdGVfbGFzdF9pbmRleCkge1xuXHRcdFx0XHRcdG5vZGVzLmNsYWltX2luZm8ubGFzdF9pbmRleCA9IGk7XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuIG5vZGU7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdC8vIE90aGVyd2lzZSwgd2UgdHJ5IHRvIGZpbmQgb25lIGJlZm9yZVxuXHRcdC8vIFdlIGl0ZXJhdGUgaW4gcmV2ZXJzZSBzbyB0aGF0IHdlIGRvbid0IGdvIHRvbyBmYXIgYmFja1xuXHRcdGZvciAobGV0IGkgPSBub2Rlcy5jbGFpbV9pbmZvLmxhc3RfaW5kZXggLSAxOyBpID49IDA7IGktLSkge1xuXHRcdFx0Y29uc3Qgbm9kZSA9IG5vZGVzW2ldO1xuXHRcdFx0aWYgKHByZWRpY2F0ZShub2RlKSkge1xuXHRcdFx0XHRjb25zdCByZXBsYWNlbWVudCA9IHByb2Nlc3Nfbm9kZShub2RlKTtcblx0XHRcdFx0aWYgKHJlcGxhY2VtZW50ID09PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHRub2Rlcy5zcGxpY2UoaSwgMSk7XG5cdFx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdFx0bm9kZXNbaV0gPSByZXBsYWNlbWVudDtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAoIWRvbnRfdXBkYXRlX2xhc3RfaW5kZXgpIHtcblx0XHRcdFx0XHRub2Rlcy5jbGFpbV9pbmZvLmxhc3RfaW5kZXggPSBpO1xuXHRcdFx0XHR9IGVsc2UgaWYgKHJlcGxhY2VtZW50ID09PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHQvLyBTaW5jZSB3ZSBzcGxpY2VkIGJlZm9yZSB0aGUgbGFzdF9pbmRleCwgd2UgZGVjcmVhc2UgaXRcblx0XHRcdFx0XHRub2Rlcy5jbGFpbV9pbmZvLmxhc3RfaW5kZXgtLTtcblx0XHRcdFx0fVxuXHRcdFx0XHRyZXR1cm4gbm9kZTtcblx0XHRcdH1cblx0XHR9XG5cdFx0Ly8gSWYgd2UgY2FuJ3QgZmluZCBhbnkgbWF0Y2hpbmcgbm9kZSwgd2UgY3JlYXRlIGEgbmV3IG9uZVxuXHRcdHJldHVybiBjcmVhdGVfbm9kZSgpO1xuXHR9KSgpO1xuXHRyZXN1bHRfbm9kZS5jbGFpbV9vcmRlciA9IG5vZGVzLmNsYWltX2luZm8udG90YWxfY2xhaW1lZDtcblx0bm9kZXMuY2xhaW1faW5mby50b3RhbF9jbGFpbWVkICs9IDE7XG5cdHJldHVybiByZXN1bHRfbm9kZTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge0NoaWxkTm9kZUFycmF5fSBub2Rlc1xuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7eyBba2V5OiBzdHJpbmddOiBib29sZWFuIH19IGF0dHJpYnV0ZXNcbiAqIEBwYXJhbSB7KG5hbWU6IHN0cmluZykgPT4gRWxlbWVudCB8IFNWR0VsZW1lbnR9IGNyZWF0ZV9lbGVtZW50XG4gKiBAcmV0dXJucyB7RWxlbWVudCB8IFNWR0VsZW1lbnR9XG4gKi9cbmZ1bmN0aW9uIGNsYWltX2VsZW1lbnRfYmFzZShub2RlcywgbmFtZSwgYXR0cmlidXRlcywgY3JlYXRlX2VsZW1lbnQpIHtcblx0cmV0dXJuIGNsYWltX25vZGUoXG5cdFx0bm9kZXMsXG5cdFx0LyoqIEByZXR1cm5zIHtub2RlIGlzIEVsZW1lbnQgfCBTVkdFbGVtZW50fSAqL1xuXHRcdChub2RlKSA9PiBub2RlLm5vZGVOYW1lID09PSBuYW1lLFxuXHRcdC8qKiBAcGFyYW0ge0VsZW1lbnR9IG5vZGUgKi9cblx0XHQobm9kZSkgPT4ge1xuXHRcdFx0Y29uc3QgcmVtb3ZlID0gW107XG5cdFx0XHRmb3IgKGxldCBqID0gMDsgaiA8IG5vZGUuYXR0cmlidXRlcy5sZW5ndGg7IGorKykge1xuXHRcdFx0XHRjb25zdCBhdHRyaWJ1dGUgPSBub2RlLmF0dHJpYnV0ZXNbal07XG5cdFx0XHRcdGlmICghYXR0cmlidXRlc1thdHRyaWJ1dGUubmFtZV0pIHtcblx0XHRcdFx0XHRyZW1vdmUucHVzaChhdHRyaWJ1dGUubmFtZSk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHJlbW92ZS5mb3JFYWNoKCh2KSA9PiBub2RlLnJlbW92ZUF0dHJpYnV0ZSh2KSk7XG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdH0sXG5cdFx0KCkgPT4gY3JlYXRlX2VsZW1lbnQobmFtZSlcblx0KTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge0NoaWxkTm9kZUFycmF5fSBub2Rlc1xuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEBwYXJhbSB7eyBba2V5OiBzdHJpbmddOiBib29sZWFuIH19IGF0dHJpYnV0ZXNcbiAqIEByZXR1cm5zIHtFbGVtZW50IHwgU1ZHRWxlbWVudH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsYWltX2VsZW1lbnQobm9kZXMsIG5hbWUsIGF0dHJpYnV0ZXMpIHtcblx0cmV0dXJuIGNsYWltX2VsZW1lbnRfYmFzZShub2RlcywgbmFtZSwgYXR0cmlidXRlcywgZWxlbWVudCk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtDaGlsZE5vZGVBcnJheX0gbm9kZXNcbiAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lXG4gKiBAcGFyYW0ge3sgW2tleTogc3RyaW5nXTogYm9vbGVhbiB9fSBhdHRyaWJ1dGVzXG4gKiBAcmV0dXJucyB7RWxlbWVudCB8IFNWR0VsZW1lbnR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjbGFpbV9zdmdfZWxlbWVudChub2RlcywgbmFtZSwgYXR0cmlidXRlcykge1xuXHRyZXR1cm4gY2xhaW1fZWxlbWVudF9iYXNlKG5vZGVzLCBuYW1lLCBhdHRyaWJ1dGVzLCBzdmdfZWxlbWVudCk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtDaGlsZE5vZGVBcnJheX0gbm9kZXNcbiAqIEByZXR1cm5zIHtUZXh0fVxuICovXG5leHBvcnQgZnVuY3Rpb24gY2xhaW1fdGV4dChub2RlcywgZGF0YSkge1xuXHRyZXR1cm4gY2xhaW1fbm9kZShcblx0XHRub2Rlcyxcblx0XHQvKiogQHJldHVybnMge25vZGUgaXMgVGV4dH0gKi9cblx0XHQobm9kZSkgPT4gbm9kZS5ub2RlVHlwZSA9PT0gMyxcblx0XHQvKiogQHBhcmFtIHtUZXh0fSBub2RlICovXG5cdFx0KG5vZGUpID0+IHtcblx0XHRcdGNvbnN0IGRhdGFfc3RyID0gJycgKyBkYXRhO1xuXHRcdFx0aWYgKG5vZGUuZGF0YS5zdGFydHNXaXRoKGRhdGFfc3RyKSkge1xuXHRcdFx0XHRpZiAobm9kZS5kYXRhLmxlbmd0aCAhPT0gZGF0YV9zdHIubGVuZ3RoKSB7XG5cdFx0XHRcdFx0cmV0dXJuIG5vZGUuc3BsaXRUZXh0KGRhdGFfc3RyLmxlbmd0aCk7XG5cdFx0XHRcdH1cblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdG5vZGUuZGF0YSA9IGRhdGFfc3RyO1xuXHRcdFx0fVxuXHRcdH0sXG5cdFx0KCkgPT4gdGV4dChkYXRhKSxcblx0XHR0cnVlIC8vIFRleHQgbm9kZXMgc2hvdWxkIG5vdCB1cGRhdGUgbGFzdCBpbmRleCBzaW5jZSBpdCBpcyBsaWtlbHkgbm90IHdvcnRoIGl0IHRvIGVsaW1pbmF0ZSBhbiBpbmNyZWFzaW5nIHN1YnNlcXVlbmNlIG9mIGFjdHVhbCBlbGVtZW50c1xuXHQpO1xufVxuXG4vKipcbiAqIEByZXR1cm5zIHtUZXh0fSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsYWltX3NwYWNlKG5vZGVzKSB7XG5cdHJldHVybiBjbGFpbV90ZXh0KG5vZGVzLCAnICcpO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7Q2hpbGROb2RlQXJyYXl9IG5vZGVzXG4gKiBAcmV0dXJucyB7Q29tbWVudH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsYWltX2NvbW1lbnQobm9kZXMsIGRhdGEpIHtcblx0cmV0dXJuIGNsYWltX25vZGUoXG5cdFx0bm9kZXMsXG5cdFx0LyoqIEByZXR1cm5zIHtub2RlIGlzIENvbW1lbnR9ICovXG5cdFx0KG5vZGUpID0+IG5vZGUubm9kZVR5cGUgPT09IDgsXG5cdFx0LyoqIEBwYXJhbSB7Q29tbWVudH0gbm9kZSAqL1xuXHRcdChub2RlKSA9PiB7XG5cdFx0XHRub2RlLmRhdGEgPSAnJyArIGRhdGE7XG5cdFx0XHRyZXR1cm4gdW5kZWZpbmVkO1xuXHRcdH0sXG5cdFx0KCkgPT4gY29tbWVudChkYXRhKSxcblx0XHR0cnVlXG5cdCk7XG59XG5cbmZ1bmN0aW9uIGdldF9jb21tZW50X2lkeChub2RlcywgdGV4dCwgc3RhcnQpIHtcblx0Zm9yIChsZXQgaSA9IHN0YXJ0OyBpIDwgbm9kZXMubGVuZ3RoOyBpICs9IDEpIHtcblx0XHRjb25zdCBub2RlID0gbm9kZXNbaV07XG5cdFx0aWYgKG5vZGUubm9kZVR5cGUgPT09IDggLyogY29tbWVudCBub2RlICovICYmIG5vZGUudGV4dENvbnRlbnQudHJpbSgpID09PSB0ZXh0KSB7XG5cdFx0XHRyZXR1cm4gaTtcblx0XHR9XG5cdH1cblx0cmV0dXJuIC0xO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7Ym9vbGVhbn0gaXNfc3ZnXG4gKiBAcmV0dXJucyB7SHRtbFRhZ0h5ZHJhdGlvbn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsYWltX2h0bWxfdGFnKG5vZGVzLCBpc19zdmcpIHtcblx0Ly8gZmluZCBodG1sIG9wZW5pbmcgdGFnXG5cdGNvbnN0IHN0YXJ0X2luZGV4ID0gZ2V0X2NvbW1lbnRfaWR4KG5vZGVzLCAnSFRNTF9UQUdfU1RBUlQnLCAwKTtcblx0Y29uc3QgZW5kX2luZGV4ID0gZ2V0X2NvbW1lbnRfaWR4KG5vZGVzLCAnSFRNTF9UQUdfRU5EJywgc3RhcnRfaW5kZXggKyAxKTtcblx0aWYgKHN0YXJ0X2luZGV4ID09PSAtMSB8fCBlbmRfaW5kZXggPT09IC0xKSB7XG5cdFx0cmV0dXJuIG5ldyBIdG1sVGFnSHlkcmF0aW9uKGlzX3N2Zyk7XG5cdH1cblxuXHRpbml0X2NsYWltX2luZm8obm9kZXMpO1xuXHRjb25zdCBodG1sX3RhZ19ub2RlcyA9IG5vZGVzLnNwbGljZShzdGFydF9pbmRleCwgZW5kX2luZGV4IC0gc3RhcnRfaW5kZXggKyAxKTtcblx0ZGV0YWNoKGh0bWxfdGFnX25vZGVzWzBdKTtcblx0ZGV0YWNoKGh0bWxfdGFnX25vZGVzW2h0bWxfdGFnX25vZGVzLmxlbmd0aCAtIDFdKTtcblx0Y29uc3QgY2xhaW1lZF9ub2RlcyA9IGh0bWxfdGFnX25vZGVzLnNsaWNlKDEsIGh0bWxfdGFnX25vZGVzLmxlbmd0aCAtIDEpO1xuXHRmb3IgKGNvbnN0IG4gb2YgY2xhaW1lZF9ub2Rlcykge1xuXHRcdG4uY2xhaW1fb3JkZXIgPSBub2Rlcy5jbGFpbV9pbmZvLnRvdGFsX2NsYWltZWQ7XG5cdFx0bm9kZXMuY2xhaW1faW5mby50b3RhbF9jbGFpbWVkICs9IDE7XG5cdH1cblx0cmV0dXJuIG5ldyBIdG1sVGFnSHlkcmF0aW9uKGlzX3N2ZywgY2xhaW1lZF9ub2Rlcyk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtUZXh0fSB0ZXh0XG4gKiBAcGFyYW0ge3Vua25vd259IGRhdGFcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0X2RhdGEodGV4dCwgZGF0YSkge1xuXHRkYXRhID0gJycgKyBkYXRhO1xuXHRpZiAodGV4dC5kYXRhID09PSBkYXRhKSByZXR1cm47XG5cdHRleHQuZGF0YSA9IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyAoZGF0YSk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtUZXh0fSB0ZXh0XG4gKiBAcGFyYW0ge3Vua25vd259IGRhdGFcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0X2RhdGFfY29udGVudGVkaXRhYmxlKHRleHQsIGRhdGEpIHtcblx0ZGF0YSA9ICcnICsgZGF0YTtcblx0aWYgKHRleHQud2hvbGVUZXh0ID09PSBkYXRhKSByZXR1cm47XG5cdHRleHQuZGF0YSA9IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyAoZGF0YSk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtUZXh0fSB0ZXh0XG4gKiBAcGFyYW0ge3Vua25vd259IGRhdGFcbiAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyX3ZhbHVlXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldF9kYXRhX21heWJlX2NvbnRlbnRlZGl0YWJsZSh0ZXh0LCBkYXRhLCBhdHRyX3ZhbHVlKSB7XG5cdGlmICh+Y29udGVudGVkaXRhYmxlX3RydXRoeV92YWx1ZXMuaW5kZXhPZihhdHRyX3ZhbHVlKSkge1xuXHRcdHNldF9kYXRhX2NvbnRlbnRlZGl0YWJsZSh0ZXh0LCBkYXRhKTtcblx0fSBlbHNlIHtcblx0XHRzZXRfZGF0YSh0ZXh0LCBkYXRhKTtcblx0fVxufVxuXG4vKipcbiAqIEByZXR1cm5zIHt2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldF9pbnB1dF92YWx1ZShpbnB1dCwgdmFsdWUpIHtcblx0aW5wdXQudmFsdWUgPSB2YWx1ZSA9PSBudWxsID8gJycgOiB2YWx1ZTtcbn1cblxuLyoqXG4gKiBAcmV0dXJucyB7dm9pZH0gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRfaW5wdXRfdHlwZShpbnB1dCwgdHlwZSkge1xuXHR0cnkge1xuXHRcdGlucHV0LnR5cGUgPSB0eXBlO1xuXHR9IGNhdGNoIChlKSB7XG5cdFx0Ly8gZG8gbm90aGluZ1xuXHR9XG59XG5cbi8qKlxuICogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gc2V0X3N0eWxlKG5vZGUsIGtleSwgdmFsdWUsIGltcG9ydGFudCkge1xuXHRpZiAodmFsdWUgPT0gbnVsbCkge1xuXHRcdG5vZGUuc3R5bGUucmVtb3ZlUHJvcGVydHkoa2V5KTtcblx0fSBlbHNlIHtcblx0XHRub2RlLnN0eWxlLnNldFByb3BlcnR5KGtleSwgdmFsdWUsIGltcG9ydGFudCA/ICdpbXBvcnRhbnQnIDogJycpO1xuXHR9XG59XG5cbi8qKlxuICogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0X29wdGlvbihzZWxlY3QsIHZhbHVlLCBtb3VudGluZykge1xuXHRmb3IgKGxldCBpID0gMDsgaSA8IHNlbGVjdC5vcHRpb25zLmxlbmd0aDsgaSArPSAxKSB7XG5cdFx0Y29uc3Qgb3B0aW9uID0gc2VsZWN0Lm9wdGlvbnNbaV07XG5cdFx0aWYgKG9wdGlvbi5fX3ZhbHVlID09PSB2YWx1ZSkge1xuXHRcdFx0b3B0aW9uLnNlbGVjdGVkID0gdHJ1ZTtcblx0XHRcdHJldHVybjtcblx0XHR9XG5cdH1cblx0aWYgKCFtb3VudGluZyB8fCB2YWx1ZSAhPT0gdW5kZWZpbmVkKSB7XG5cdFx0c2VsZWN0LnNlbGVjdGVkSW5kZXggPSAtMTsgLy8gbm8gb3B0aW9uIHNob3VsZCBiZSBzZWxlY3RlZFxuXHR9XG59XG5cbi8qKlxuICogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0X29wdGlvbnMoc2VsZWN0LCB2YWx1ZSkge1xuXHRmb3IgKGxldCBpID0gMDsgaSA8IHNlbGVjdC5vcHRpb25zLmxlbmd0aDsgaSArPSAxKSB7XG5cdFx0Y29uc3Qgb3B0aW9uID0gc2VsZWN0Lm9wdGlvbnNbaV07XG5cdFx0b3B0aW9uLnNlbGVjdGVkID0gfnZhbHVlLmluZGV4T2Yob3B0aW9uLl9fdmFsdWUpO1xuXHR9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZWxlY3RfdmFsdWUoc2VsZWN0KSB7XG5cdGNvbnN0IHNlbGVjdGVkX29wdGlvbiA9IHNlbGVjdC5xdWVyeVNlbGVjdG9yKCc6Y2hlY2tlZCcpO1xuXHRyZXR1cm4gc2VsZWN0ZWRfb3B0aW9uICYmIHNlbGVjdGVkX29wdGlvbi5fX3ZhbHVlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0X211bHRpcGxlX3ZhbHVlKHNlbGVjdCkge1xuXHRyZXR1cm4gW10ubWFwLmNhbGwoc2VsZWN0LnF1ZXJ5U2VsZWN0b3JBbGwoJzpjaGVja2VkJyksIChvcHRpb24pID0+IG9wdGlvbi5fX3ZhbHVlKTtcbn1cbi8vIHVuZm9ydHVuYXRlbHkgdGhpcyBjYW4ndCBiZSBhIGNvbnN0YW50IGFzIHRoYXQgd291bGRuJ3QgYmUgdHJlZS1zaGFrZWFibGVcbi8vIHNvIHdlIGNhY2hlIHRoZSByZXN1bHQgaW5zdGVhZFxuXG4vKipcbiAqIEB0eXBlIHtib29sZWFufSAqL1xubGV0IGNyb3Nzb3JpZ2luO1xuXG4vKipcbiAqIEByZXR1cm5zIHtib29sZWFufSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGlzX2Nyb3Nzb3JpZ2luKCkge1xuXHRpZiAoY3Jvc3NvcmlnaW4gPT09IHVuZGVmaW5lZCkge1xuXHRcdGNyb3Nzb3JpZ2luID0gZmFsc2U7XG5cdFx0dHJ5IHtcblx0XHRcdGlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJyAmJiB3aW5kb3cucGFyZW50KSB7XG5cdFx0XHRcdHZvaWQgd2luZG93LnBhcmVudC5kb2N1bWVudDtcblx0XHRcdH1cblx0XHR9IGNhdGNoIChlcnJvcikge1xuXHRcdFx0Y3Jvc3NvcmlnaW4gPSB0cnVlO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gY3Jvc3NvcmlnaW47XG59XG5cbi8qKlxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHsoKSA9PiB2b2lkfSBmblxuICogQHJldHVybnMgeygpID0+IHZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhZGRfaWZyYW1lX3Jlc2l6ZV9saXN0ZW5lcihub2RlLCBmbikge1xuXHRjb25zdCBjb21wdXRlZF9zdHlsZSA9IGdldENvbXB1dGVkU3R5bGUobm9kZSk7XG5cdGlmIChjb21wdXRlZF9zdHlsZS5wb3NpdGlvbiA9PT0gJ3N0YXRpYycpIHtcblx0XHRub2RlLnN0eWxlLnBvc2l0aW9uID0gJ3JlbGF0aXZlJztcblx0fVxuXHRjb25zdCBpZnJhbWUgPSBlbGVtZW50KCdpZnJhbWUnKTtcblx0aWZyYW1lLnNldEF0dHJpYnV0ZShcblx0XHQnc3R5bGUnLFxuXHRcdCdkaXNwbGF5OiBibG9jazsgcG9zaXRpb246IGFic29sdXRlOyB0b3A6IDA7IGxlZnQ6IDA7IHdpZHRoOiAxMDAlOyBoZWlnaHQ6IDEwMCU7ICcgK1xuXHRcdFx0J292ZXJmbG93OiBoaWRkZW47IGJvcmRlcjogMDsgb3BhY2l0eTogMDsgcG9pbnRlci1ldmVudHM6IG5vbmU7IHotaW5kZXg6IC0xOydcblx0KTtcblx0aWZyYW1lLnNldEF0dHJpYnV0ZSgnYXJpYS1oaWRkZW4nLCAndHJ1ZScpO1xuXHRpZnJhbWUudGFiSW5kZXggPSAtMTtcblx0Y29uc3QgY3Jvc3NvcmlnaW4gPSBpc19jcm9zc29yaWdpbigpO1xuXG5cdC8qKlxuXHQgKiBAdHlwZSB7KCkgPT4gdm9pZH1cblx0ICovXG5cdGxldCB1bnN1YnNjcmliZTtcblx0aWYgKGNyb3Nzb3JpZ2luKSB7XG5cdFx0aWZyYW1lLnNyYyA9IFwiZGF0YTp0ZXh0L2h0bWwsPHNjcmlwdD5vbnJlc2l6ZT1mdW5jdGlvbigpe3BhcmVudC5wb3N0TWVzc2FnZSgwLCcqJyl9PC9zY3JpcHQ+XCI7XG5cdFx0dW5zdWJzY3JpYmUgPSBsaXN0ZW4oXG5cdFx0XHR3aW5kb3csXG5cdFx0XHQnbWVzc2FnZScsXG5cdFx0XHQvKiogQHBhcmFtIHtNZXNzYWdlRXZlbnR9IGV2ZW50ICovIChldmVudCkgPT4ge1xuXHRcdFx0XHRpZiAoZXZlbnQuc291cmNlID09PSBpZnJhbWUuY29udGVudFdpbmRvdykgZm4oKTtcblx0XHRcdH1cblx0XHQpO1xuXHR9IGVsc2Uge1xuXHRcdGlmcmFtZS5zcmMgPSAnYWJvdXQ6YmxhbmsnO1xuXHRcdGlmcmFtZS5vbmxvYWQgPSAoKSA9PiB7XG5cdFx0XHR1bnN1YnNjcmliZSA9IGxpc3RlbihpZnJhbWUuY29udGVudFdpbmRvdywgJ3Jlc2l6ZScsIGZuKTtcblx0XHRcdC8vIG1ha2Ugc3VyZSBhbiBpbml0aWFsIHJlc2l6ZSBldmVudCBpcyBmaXJlZCBfYWZ0ZXJfIHRoZSBpZnJhbWUgaXMgbG9hZGVkICh3aGljaCBpcyBhc3luY2hyb25vdXMpXG5cdFx0XHQvLyBzZWUgaHR0cHM6Ly9naXRodWIuY29tL3N2ZWx0ZWpzL3N2ZWx0ZS9pc3N1ZXMvNDIzM1xuXHRcdFx0Zm4oKTtcblx0XHR9O1xuXHR9XG5cdGFwcGVuZChub2RlLCBpZnJhbWUpO1xuXHRyZXR1cm4gKCkgPT4ge1xuXHRcdGlmIChjcm9zc29yaWdpbikge1xuXHRcdFx0dW5zdWJzY3JpYmUoKTtcblx0XHR9IGVsc2UgaWYgKHVuc3Vic2NyaWJlICYmIGlmcmFtZS5jb250ZW50V2luZG93KSB7XG5cdFx0XHR1bnN1YnNjcmliZSgpO1xuXHRcdH1cblx0XHRkZXRhY2goaWZyYW1lKTtcblx0fTtcbn1cbmV4cG9ydCBjb25zdCByZXNpemVfb2JzZXJ2ZXJfY29udGVudF9ib3ggPSAvKiBAX19QVVJFX18gKi8gbmV3IFJlc2l6ZU9ic2VydmVyU2luZ2xldG9uKHtcblx0Ym94OiAnY29udGVudC1ib3gnXG59KTtcbmV4cG9ydCBjb25zdCByZXNpemVfb2JzZXJ2ZXJfYm9yZGVyX2JveCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgUmVzaXplT2JzZXJ2ZXJTaW5nbGV0b24oe1xuXHRib3g6ICdib3JkZXItYm94J1xufSk7XG5leHBvcnQgY29uc3QgcmVzaXplX29ic2VydmVyX2RldmljZV9waXhlbF9jb250ZW50X2JveCA9IC8qIEBfX1BVUkVfXyAqLyBuZXcgUmVzaXplT2JzZXJ2ZXJTaW5nbGV0b24oXG5cdHsgYm94OiAnZGV2aWNlLXBpeGVsLWNvbnRlbnQtYm94JyB9XG4pO1xuZXhwb3J0IHsgUmVzaXplT2JzZXJ2ZXJTaW5nbGV0b24gfTtcblxuLyoqXG4gKiBAcmV0dXJucyB7dm9pZH0gKi9cbmV4cG9ydCBmdW5jdGlvbiB0b2dnbGVfY2xhc3MoZWxlbWVudCwgbmFtZSwgdG9nZ2xlKSB7XG5cdC8vIFRoZSBgISFgIGlzIHJlcXVpcmVkIGJlY2F1c2UgYW4gYHVuZGVmaW5lZGAgZmxhZyBtZWFucyBmbGlwcGluZyB0aGUgY3VycmVudCBzdGF0ZS5cblx0ZWxlbWVudC5jbGFzc0xpc3QudG9nZ2xlKG5hbWUsICEhdG9nZ2xlKTtcbn1cblxuLyoqXG4gKiBAdGVtcGxhdGUgVFxuICogQHBhcmFtIHtzdHJpbmd9IHR5cGVcbiAqIEBwYXJhbSB7VH0gW2RldGFpbF1cbiAqIEBwYXJhbSB7eyBidWJibGVzPzogYm9vbGVhbiwgY2FuY2VsYWJsZT86IGJvb2xlYW4gfX0gW29wdGlvbnNdXG4gKiBAcmV0dXJucyB7Q3VzdG9tRXZlbnQ8VD59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjdXN0b21fZXZlbnQodHlwZSwgZGV0YWlsLCB7IGJ1YmJsZXMgPSBmYWxzZSwgY2FuY2VsYWJsZSA9IGZhbHNlIH0gPSB7fSkge1xuXHRyZXR1cm4gbmV3IEN1c3RvbUV2ZW50KHR5cGUsIHsgZGV0YWlsLCBidWJibGVzLCBjYW5jZWxhYmxlIH0pO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSBzZWxlY3RvclxuICogQHBhcmFtIHtIVE1MRWxlbWVudH0gcGFyZW50XG4gKiBAcmV0dXJucyB7Q2hpbGROb2RlQXJyYXl9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBxdWVyeV9zZWxlY3Rvcl9hbGwoc2VsZWN0b3IsIHBhcmVudCA9IGRvY3VtZW50LmJvZHkpIHtcblx0cmV0dXJuIEFycmF5LmZyb20ocGFyZW50LnF1ZXJ5U2VsZWN0b3JBbGwoc2VsZWN0b3IpKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gbm9kZUlkXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBoZWFkXG4gKiBAcmV0dXJucyB7YW55W119XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBoZWFkX3NlbGVjdG9yKG5vZGVJZCwgaGVhZCkge1xuXHRjb25zdCByZXN1bHQgPSBbXTtcblx0bGV0IHN0YXJ0ZWQgPSAwO1xuXHRmb3IgKGNvbnN0IG5vZGUgb2YgaGVhZC5jaGlsZE5vZGVzKSB7XG5cdFx0aWYgKG5vZGUubm9kZVR5cGUgPT09IDggLyogY29tbWVudCBub2RlICovKSB7XG5cdFx0XHRjb25zdCBjb21tZW50ID0gbm9kZS50ZXh0Q29udGVudC50cmltKCk7XG5cdFx0XHRpZiAoY29tbWVudCA9PT0gYEhFQURfJHtub2RlSWR9X0VORGApIHtcblx0XHRcdFx0c3RhcnRlZCAtPSAxO1xuXHRcdFx0XHRyZXN1bHQucHVzaChub2RlKTtcblx0XHRcdH0gZWxzZSBpZiAoY29tbWVudCA9PT0gYEhFQURfJHtub2RlSWR9X1NUQVJUYCkge1xuXHRcdFx0XHRzdGFydGVkICs9IDE7XG5cdFx0XHRcdHJlc3VsdC5wdXNoKG5vZGUpO1xuXHRcdFx0fVxuXHRcdH0gZWxzZSBpZiAoc3RhcnRlZCA+IDApIHtcblx0XHRcdHJlc3VsdC5wdXNoKG5vZGUpO1xuXHRcdH1cblx0fVxuXHRyZXR1cm4gcmVzdWx0O1xufVxuLyoqICovXG5leHBvcnQgY2xhc3MgSHRtbFRhZyB7XG5cdC8qKlxuXHQgKiBAcHJpdmF0ZVxuXHQgKiBAZGVmYXVsdCBmYWxzZVxuXHQgKi9cblx0aXNfc3ZnID0gZmFsc2U7XG5cdC8qKiBwYXJlbnQgZm9yIGNyZWF0aW5nIG5vZGUgKi9cblx0ZSA9IHVuZGVmaW5lZDtcblx0LyoqIGh0bWwgdGFnIG5vZGVzICovXG5cdG4gPSB1bmRlZmluZWQ7XG5cdC8qKiB0YXJnZXQgKi9cblx0dCA9IHVuZGVmaW5lZDtcblx0LyoqIGFuY2hvciAqL1xuXHRhID0gdW5kZWZpbmVkO1xuXHRjb25zdHJ1Y3Rvcihpc19zdmcgPSBmYWxzZSkge1xuXHRcdHRoaXMuaXNfc3ZnID0gaXNfc3ZnO1xuXHRcdHRoaXMuZSA9IHRoaXMubiA9IG51bGw7XG5cdH1cblxuXHQvKipcblx0ICogQHBhcmFtIHtzdHJpbmd9IGh0bWxcblx0ICogQHJldHVybnMge3ZvaWR9XG5cdCAqL1xuXHRjKGh0bWwpIHtcblx0XHR0aGlzLmgoaHRtbCk7XG5cdH1cblxuXHQvKipcblx0ICogQHBhcmFtIHtzdHJpbmd9IGh0bWxcblx0ICogQHBhcmFtIHtIVE1MRWxlbWVudCB8IFNWR0VsZW1lbnR9IHRhcmdldFxuXHQgKiBAcGFyYW0ge0hUTUxFbGVtZW50IHwgU1ZHRWxlbWVudH0gYW5jaG9yXG5cdCAqIEByZXR1cm5zIHt2b2lkfVxuXHQgKi9cblx0bShodG1sLCB0YXJnZXQsIGFuY2hvciA9IG51bGwpIHtcblx0XHRpZiAoIXRoaXMuZSkge1xuXHRcdFx0aWYgKHRoaXMuaXNfc3ZnKVxuXHRcdFx0XHR0aGlzLmUgPSBzdmdfZWxlbWVudCgvKiogQHR5cGUge2tleW9mIFNWR0VsZW1lbnRUYWdOYW1lTWFwfSAqLyAodGFyZ2V0Lm5vZGVOYW1lKSk7XG5cdFx0XHQvKiogIzczNjQgIHRhcmdldCBmb3IgPHRlbXBsYXRlPiBtYXkgYmUgcHJvdmlkZWQgYXMgI2RvY3VtZW50LWZyYWdtZW50KDExKSAqLyBlbHNlXG5cdFx0XHRcdHRoaXMuZSA9IGVsZW1lbnQoXG5cdFx0XHRcdFx0LyoqIEB0eXBlIHtrZXlvZiBIVE1MRWxlbWVudFRhZ05hbWVNYXB9ICovIChcblx0XHRcdFx0XHRcdHRhcmdldC5ub2RlVHlwZSA9PT0gMTEgPyAnVEVNUExBVEUnIDogdGFyZ2V0Lm5vZGVOYW1lXG5cdFx0XHRcdFx0KVxuXHRcdFx0XHQpO1xuXHRcdFx0dGhpcy50ID1cblx0XHRcdFx0dGFyZ2V0LnRhZ05hbWUgIT09ICdURU1QTEFURSdcblx0XHRcdFx0XHQ/IHRhcmdldFxuXHRcdFx0XHRcdDogLyoqIEB0eXBlIHtIVE1MVGVtcGxhdGVFbGVtZW50fSAqLyAodGFyZ2V0KS5jb250ZW50O1xuXHRcdFx0dGhpcy5jKGh0bWwpO1xuXHRcdH1cblx0XHR0aGlzLmkoYW5jaG9yKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gaHRtbFxuXHQgKiBAcmV0dXJucyB7dm9pZH1cblx0ICovXG5cdGgoaHRtbCkge1xuXHRcdHRoaXMuZS5pbm5lckhUTUwgPSBodG1sO1xuXHRcdHRoaXMubiA9IEFycmF5LmZyb20oXG5cdFx0XHR0aGlzLmUubm9kZU5hbWUgPT09ICdURU1QTEFURScgPyB0aGlzLmUuY29udGVudC5jaGlsZE5vZGVzIDogdGhpcy5lLmNoaWxkTm9kZXNcblx0XHQpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEByZXR1cm5zIHt2b2lkfSAqL1xuXHRpKGFuY2hvcikge1xuXHRcdGZvciAobGV0IGkgPSAwOyBpIDwgdGhpcy5uLmxlbmd0aDsgaSArPSAxKSB7XG5cdFx0XHRpbnNlcnQodGhpcy50LCB0aGlzLm5baV0sIGFuY2hvcik7XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEBwYXJhbSB7c3RyaW5nfSBodG1sXG5cdCAqIEByZXR1cm5zIHt2b2lkfVxuXHQgKi9cblx0cChodG1sKSB7XG5cdFx0dGhpcy5kKCk7XG5cdFx0dGhpcy5oKGh0bWwpO1xuXHRcdHRoaXMuaSh0aGlzLmEpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEByZXR1cm5zIHt2b2lkfSAqL1xuXHRkKCkge1xuXHRcdHRoaXMubi5mb3JFYWNoKGRldGFjaCk7XG5cdH1cbn1cblxuZXhwb3J0IGNsYXNzIEh0bWxUYWdIeWRyYXRpb24gZXh0ZW5kcyBIdG1sVGFnIHtcblx0LyoqIEB0eXBlIHtFbGVtZW50W119IGh5ZHJhdGlvbiBjbGFpbWVkIG5vZGVzICovXG5cdGwgPSB1bmRlZmluZWQ7XG5cblx0Y29uc3RydWN0b3IoaXNfc3ZnID0gZmFsc2UsIGNsYWltZWRfbm9kZXMpIHtcblx0XHRzdXBlcihpc19zdmcpO1xuXHRcdHRoaXMuZSA9IHRoaXMubiA9IG51bGw7XG5cdFx0dGhpcy5sID0gY2xhaW1lZF9ub2Rlcztcblx0fVxuXG5cdC8qKlxuXHQgKiBAcGFyYW0ge3N0cmluZ30gaHRtbFxuXHQgKiBAcmV0dXJucyB7dm9pZH1cblx0ICovXG5cdGMoaHRtbCkge1xuXHRcdGlmICh0aGlzLmwpIHtcblx0XHRcdHRoaXMubiA9IHRoaXMubDtcblx0XHR9IGVsc2Uge1xuXHRcdFx0c3VwZXIuYyhodG1sKTtcblx0XHR9XG5cdH1cblxuXHQvKipcblx0ICogQHJldHVybnMge3ZvaWR9ICovXG5cdGkoYW5jaG9yKSB7XG5cdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCB0aGlzLm4ubGVuZ3RoOyBpICs9IDEpIHtcblx0XHRcdGluc2VydF9oeWRyYXRpb24odGhpcy50LCB0aGlzLm5baV0sIGFuY2hvcik7XG5cdFx0fVxuXHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHtOYW1lZE5vZGVNYXB9IGF0dHJpYnV0ZXNcbiAqIEByZXR1cm5zIHt7fX1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGF0dHJpYnV0ZV90b19vYmplY3QoYXR0cmlidXRlcykge1xuXHRjb25zdCByZXN1bHQgPSB7fTtcblx0Zm9yIChjb25zdCBhdHRyaWJ1dGUgb2YgYXR0cmlidXRlcykge1xuXHRcdHJlc3VsdFthdHRyaWJ1dGUubmFtZV0gPSBhdHRyaWJ1dGUudmFsdWU7XG5cdH1cblx0cmV0dXJuIHJlc3VsdDtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBlbGVtZW50XG4gKiBAcmV0dXJucyB7e319XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRfY3VzdG9tX2VsZW1lbnRzX3Nsb3RzKGVsZW1lbnQpIHtcblx0Y29uc3QgcmVzdWx0ID0ge307XG5cdGVsZW1lbnQuY2hpbGROb2Rlcy5mb3JFYWNoKFxuXHRcdC8qKiBAcGFyYW0ge0VsZW1lbnR9IG5vZGUgKi8gKG5vZGUpID0+IHtcblx0XHRcdHJlc3VsdFtub2RlLnNsb3QgfHwgJ2RlZmF1bHQnXSA9IHRydWU7XG5cdFx0fVxuXHQpO1xuXHRyZXR1cm4gcmVzdWx0O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gY29uc3RydWN0X3N2ZWx0ZV9jb21wb25lbnQoY29tcG9uZW50LCBwcm9wcykge1xuXHRyZXR1cm4gbmV3IGNvbXBvbmVudChwcm9wcyk7XG59XG5cbi8qKlxuICogQHR5cGVkZWYge05vZGUgJiB7XG4gKiBcdGNsYWltX29yZGVyPzogbnVtYmVyO1xuICogXHRoeWRyYXRlX2luaXQ/OiB0cnVlO1xuICogXHRhY3R1YWxfZW5kX2NoaWxkPzogTm9kZUV4O1xuICogXHRjaGlsZE5vZGVzOiBOb2RlTGlzdE9mPE5vZGVFeD47XG4gKiB9fSBOb2RlRXhcbiAqL1xuXG4vKiogQHR5cGVkZWYge0NoaWxkTm9kZSAmIE5vZGVFeH0gQ2hpbGROb2RlRXggKi9cblxuLyoqIEB0eXBlZGVmIHtOb2RlRXggJiB7IGNsYWltX29yZGVyOiBudW1iZXIgfX0gTm9kZUV4MiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtDaGlsZE5vZGVFeFtdICYge1xuICogXHRjbGFpbV9pbmZvPzoge1xuICogXHRcdGxhc3RfaW5kZXg6IG51bWJlcjtcbiAqIFx0XHR0b3RhbF9jbGFpbWVkOiBudW1iZXI7XG4gKiBcdH07XG4gKiB9fSBDaGlsZE5vZGVBcnJheVxuICovXG4iLCAiaW1wb3J0IHsgYXBwZW5kX2VtcHR5X3N0eWxlc2hlZXQsIGRldGFjaCwgZ2V0X3Jvb3RfZm9yX3N0eWxlIH0gZnJvbSAnLi9kb20uanMnO1xuaW1wb3J0IHsgcmFmIH0gZnJvbSAnLi9lbnZpcm9ubWVudC5qcyc7XG5cbi8vIHdlIG5lZWQgdG8gc3RvcmUgdGhlIGluZm9ybWF0aW9uIGZvciBtdWx0aXBsZSBkb2N1bWVudHMgYmVjYXVzZSBhIFN2ZWx0ZSBhcHBsaWNhdGlvbiBjb3VsZCBhbHNvIGNvbnRhaW4gaWZyYW1lc1xuLy8gaHR0cHM6Ly9naXRodWIuY29tL3N2ZWx0ZWpzL3N2ZWx0ZS9pc3N1ZXMvMzYyNFxuLyoqIEB0eXBlIHtNYXA8RG9jdW1lbnQgfCBTaGFkb3dSb290LCBpbXBvcnQoJy4vcHJpdmF0ZS5kLnRzJykuU3R5bGVJbmZvcm1hdGlvbj59ICovXG5jb25zdCBtYW5hZ2VkX3N0eWxlcyA9IG5ldyBNYXAoKTtcblxubGV0IGFjdGl2ZSA9IDA7XG5cbi8vIGh0dHBzOi8vZ2l0aHViLmNvbS9kYXJrc2t5YXBwL3N0cmluZy1oYXNoL2Jsb2IvbWFzdGVyL2luZGV4LmpzXG4vKipcbiAqIEBwYXJhbSB7c3RyaW5nfSBzdHJcbiAqIEByZXR1cm5zIHtudW1iZXJ9XG4gKi9cbmZ1bmN0aW9uIGhhc2goc3RyKSB7XG5cdGxldCBoYXNoID0gNTM4MTtcblx0bGV0IGkgPSBzdHIubGVuZ3RoO1xuXHR3aGlsZSAoaS0tKSBoYXNoID0gKChoYXNoIDw8IDUpIC0gaGFzaCkgXiBzdHIuY2hhckNvZGVBdChpKTtcblx0cmV0dXJuIGhhc2ggPj4+IDA7XG59XG5cbi8qKlxuICogQHBhcmFtIHtEb2N1bWVudCB8IFNoYWRvd1Jvb3R9IGRvY1xuICogQHBhcmFtIHtFbGVtZW50ICYgRWxlbWVudENTU0lubGluZVN0eWxlfSBub2RlXG4gKiBAcmV0dXJucyB7eyBzdHlsZXNoZWV0OiBhbnk7IHJ1bGVzOiB7fTsgfX1cbiAqL1xuZnVuY3Rpb24gY3JlYXRlX3N0eWxlX2luZm9ybWF0aW9uKGRvYywgbm9kZSkge1xuXHRjb25zdCBpbmZvID0geyBzdHlsZXNoZWV0OiBhcHBlbmRfZW1wdHlfc3R5bGVzaGVldChub2RlKSwgcnVsZXM6IHt9IH07XG5cdG1hbmFnZWRfc3R5bGVzLnNldChkb2MsIGluZm8pO1xuXHRyZXR1cm4gaW5mbztcbn1cblxuLyoqXG4gKiBAcGFyYW0ge0VsZW1lbnQgJiBFbGVtZW50Q1NTSW5saW5lU3R5bGV9IG5vZGVcbiAqIEBwYXJhbSB7bnVtYmVyfSBhXG4gKiBAcGFyYW0ge251bWJlcn0gYlxuICogQHBhcmFtIHtudW1iZXJ9IGR1cmF0aW9uXG4gKiBAcGFyYW0ge251bWJlcn0gZGVsYXlcbiAqIEBwYXJhbSB7KHQ6IG51bWJlcikgPT4gbnVtYmVyfSBlYXNlXG4gKiBAcGFyYW0geyh0OiBudW1iZXIsIHU6IG51bWJlcikgPT4gc3RyaW5nfSBmblxuICogQHBhcmFtIHtudW1iZXJ9IHVpZFxuICogQHJldHVybnMge3N0cmluZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZV9ydWxlKG5vZGUsIGEsIGIsIGR1cmF0aW9uLCBkZWxheSwgZWFzZSwgZm4sIHVpZCA9IDApIHtcblx0Y29uc3Qgc3RlcCA9IDE2LjY2NiAvIGR1cmF0aW9uO1xuXHRsZXQga2V5ZnJhbWVzID0gJ3tcXG4nO1xuXHRmb3IgKGxldCBwID0gMDsgcCA8PSAxOyBwICs9IHN0ZXApIHtcblx0XHRjb25zdCB0ID0gYSArIChiIC0gYSkgKiBlYXNlKHApO1xuXHRcdGtleWZyYW1lcyArPSBwICogMTAwICsgYCV7JHtmbih0LCAxIC0gdCl9fVxcbmA7XG5cdH1cblx0Y29uc3QgcnVsZSA9IGtleWZyYW1lcyArIGAxMDAlIHske2ZuKGIsIDEgLSBiKX19XFxufWA7XG5cdGNvbnN0IG5hbWUgPSBgX19zdmVsdGVfJHtoYXNoKHJ1bGUpfV8ke3VpZH1gO1xuXHRjb25zdCBkb2MgPSBnZXRfcm9vdF9mb3Jfc3R5bGUobm9kZSk7XG5cdGNvbnN0IHsgc3R5bGVzaGVldCwgcnVsZXMgfSA9IG1hbmFnZWRfc3R5bGVzLmdldChkb2MpIHx8IGNyZWF0ZV9zdHlsZV9pbmZvcm1hdGlvbihkb2MsIG5vZGUpO1xuXHRpZiAoIXJ1bGVzW25hbWVdKSB7XG5cdFx0cnVsZXNbbmFtZV0gPSB0cnVlO1xuXHRcdHN0eWxlc2hlZXQuaW5zZXJ0UnVsZShgQGtleWZyYW1lcyAke25hbWV9ICR7cnVsZX1gLCBzdHlsZXNoZWV0LmNzc1J1bGVzLmxlbmd0aCk7XG5cdH1cblx0Y29uc3QgYW5pbWF0aW9uID0gbm9kZS5zdHlsZS5hbmltYXRpb24gfHwgJyc7XG5cdG5vZGUuc3R5bGUuYW5pbWF0aW9uID0gYCR7XG5cdFx0YW5pbWF0aW9uID8gYCR7YW5pbWF0aW9ufSwgYCA6ICcnXG5cdH0ke25hbWV9ICR7ZHVyYXRpb259bXMgbGluZWFyICR7ZGVsYXl9bXMgMSBib3RoYDtcblx0YWN0aXZlICs9IDE7XG5cdHJldHVybiBuYW1lO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7RWxlbWVudCAmIEVsZW1lbnRDU1NJbmxpbmVTdHlsZX0gbm9kZVxuICogQHBhcmFtIHtzdHJpbmd9IFtuYW1lXVxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZWxldGVfcnVsZShub2RlLCBuYW1lKSB7XG5cdGNvbnN0IHByZXZpb3VzID0gKG5vZGUuc3R5bGUuYW5pbWF0aW9uIHx8ICcnKS5zcGxpdCgnLCAnKTtcblx0Y29uc3QgbmV4dCA9IHByZXZpb3VzLmZpbHRlcihcblx0XHRuYW1lXG5cdFx0XHQ/IChhbmltKSA9PiBhbmltLmluZGV4T2YobmFtZSkgPCAwIC8vIHJlbW92ZSBzcGVjaWZpYyBhbmltYXRpb25cblx0XHRcdDogKGFuaW0pID0+IGFuaW0uaW5kZXhPZignX19zdmVsdGUnKSA9PT0gLTEgLy8gcmVtb3ZlIGFsbCBTdmVsdGUgYW5pbWF0aW9uc1xuXHQpO1xuXHRjb25zdCBkZWxldGVkID0gcHJldmlvdXMubGVuZ3RoIC0gbmV4dC5sZW5ndGg7XG5cdGlmIChkZWxldGVkKSB7XG5cdFx0bm9kZS5zdHlsZS5hbmltYXRpb24gPSBuZXh0LmpvaW4oJywgJyk7XG5cdFx0YWN0aXZlIC09IGRlbGV0ZWQ7XG5cdFx0aWYgKCFhY3RpdmUpIGNsZWFyX3J1bGVzKCk7XG5cdH1cbn1cblxuLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNsZWFyX3J1bGVzKCkge1xuXHRyYWYoKCkgPT4ge1xuXHRcdGlmIChhY3RpdmUpIHJldHVybjtcblx0XHRtYW5hZ2VkX3N0eWxlcy5mb3JFYWNoKChpbmZvKSA9PiB7XG5cdFx0XHRjb25zdCB7IG93bmVyTm9kZSB9ID0gaW5mby5zdHlsZXNoZWV0O1xuXHRcdFx0Ly8gdGhlcmUgaXMgbm8gb3duZXJOb2RlIGlmIGl0IHJ1bnMgb24ganNkb20uXG5cdFx0XHRpZiAob3duZXJOb2RlKSBkZXRhY2gob3duZXJOb2RlKTtcblx0XHR9KTtcblx0XHRtYW5hZ2VkX3N0eWxlcy5jbGVhcigpO1xuXHR9KTtcbn1cbiIsICJpbXBvcnQgeyBjdXN0b21fZXZlbnQgfSBmcm9tICcuL2RvbS5qcyc7XG5cbmV4cG9ydCBsZXQgY3VycmVudF9jb21wb25lbnQ7XG5cbi8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRfY3VycmVudF9jb21wb25lbnQoY29tcG9uZW50KSB7XG5cdGN1cnJlbnRfY29tcG9uZW50ID0gY29tcG9uZW50O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0X2N1cnJlbnRfY29tcG9uZW50KCkge1xuXHRpZiAoIWN1cnJlbnRfY29tcG9uZW50KSB0aHJvdyBuZXcgRXJyb3IoJ0Z1bmN0aW9uIGNhbGxlZCBvdXRzaWRlIGNvbXBvbmVudCBpbml0aWFsaXphdGlvbicpO1xuXHRyZXR1cm4gY3VycmVudF9jb21wb25lbnQ7XG59XG5cbi8qKlxuICogU2NoZWR1bGVzIGEgY2FsbGJhY2sgdG8gcnVuIGltbWVkaWF0ZWx5IGJlZm9yZSB0aGUgY29tcG9uZW50IGlzIHVwZGF0ZWQgYWZ0ZXIgYW55IHN0YXRlIGNoYW5nZS5cbiAqXG4gKiBUaGUgZmlyc3QgdGltZSB0aGUgY2FsbGJhY2sgcnVucyB3aWxsIGJlIGJlZm9yZSB0aGUgaW5pdGlhbCBgb25Nb3VudGBcbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUjYmVmb3JldXBkYXRlXG4gKiBAcGFyYW0geygpID0+IGFueX0gZm5cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gYmVmb3JlVXBkYXRlKGZuKSB7XG5cdGdldF9jdXJyZW50X2NvbXBvbmVudCgpLiQkLmJlZm9yZV91cGRhdGUucHVzaChmbik7XG59XG5cbi8qKlxuICogVGhlIGBvbk1vdW50YCBmdW5jdGlvbiBzY2hlZHVsZXMgYSBjYWxsYmFjayB0byBydW4gYXMgc29vbiBhcyB0aGUgY29tcG9uZW50IGhhcyBiZWVuIG1vdW50ZWQgdG8gdGhlIERPTS5cbiAqIEl0IG11c3QgYmUgY2FsbGVkIGR1cmluZyB0aGUgY29tcG9uZW50J3MgaW5pdGlhbGlzYXRpb24gKGJ1dCBkb2Vzbid0IG5lZWQgdG8gbGl2ZSAqaW5zaWRlKiB0aGUgY29tcG9uZW50O1xuICogaXQgY2FuIGJlIGNhbGxlZCBmcm9tIGFuIGV4dGVybmFsIG1vZHVsZSkuXG4gKlxuICogSWYgYSBmdW5jdGlvbiBpcyByZXR1cm5lZCBfc3luY2hyb25vdXNseV8gZnJvbSBgb25Nb3VudGAsIGl0IHdpbGwgYmUgY2FsbGVkIHdoZW4gdGhlIGNvbXBvbmVudCBpcyB1bm1vdW50ZWQuXG4gKlxuICogYG9uTW91bnRgIGRvZXMgbm90IHJ1biBpbnNpZGUgYSBbc2VydmVyLXNpZGUgY29tcG9uZW50XSgvZG9jcyNydW4tdGltZS1zZXJ2ZXItc2lkZS1jb21wb25lbnQtYXBpKS5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUjb25tb3VudFxuICogQHRlbXBsYXRlIFRcbiAqIEBwYXJhbSB7KCkgPT4gaW1wb3J0KCcuL3ByaXZhdGUuanMnKS5Ob3RGdW5jdGlvbjxUPiB8IFByb21pc2U8aW1wb3J0KCcuL3ByaXZhdGUuanMnKS5Ob3RGdW5jdGlvbjxUPj4gfCAoKCkgPT4gYW55KX0gZm5cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gb25Nb3VudChmbikge1xuXHRnZXRfY3VycmVudF9jb21wb25lbnQoKS4kJC5vbl9tb3VudC5wdXNoKGZuKTtcbn1cblxuLyoqXG4gKiBTY2hlZHVsZXMgYSBjYWxsYmFjayB0byBydW4gaW1tZWRpYXRlbHkgYWZ0ZXIgdGhlIGNvbXBvbmVudCBoYXMgYmVlbiB1cGRhdGVkLlxuICpcbiAqIFRoZSBmaXJzdCB0aW1lIHRoZSBjYWxsYmFjayBydW5zIHdpbGwgYmUgYWZ0ZXIgdGhlIGluaXRpYWwgYG9uTW91bnRgXG4gKlxuICogaHR0cHM6Ly9zdmVsdGUuZGV2L2RvY3Mvc3ZlbHRlI2FmdGVydXBkYXRlXG4gKiBAcGFyYW0geygpID0+IGFueX0gZm5cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gYWZ0ZXJVcGRhdGUoZm4pIHtcblx0Z2V0X2N1cnJlbnRfY29tcG9uZW50KCkuJCQuYWZ0ZXJfdXBkYXRlLnB1c2goZm4pO1xufVxuXG4vKipcbiAqIFNjaGVkdWxlcyBhIGNhbGxiYWNrIHRvIHJ1biBpbW1lZGlhdGVseSBiZWZvcmUgdGhlIGNvbXBvbmVudCBpcyB1bm1vdW50ZWQuXG4gKlxuICogT3V0IG9mIGBvbk1vdW50YCwgYGJlZm9yZVVwZGF0ZWAsIGBhZnRlclVwZGF0ZWAgYW5kIGBvbkRlc3Ryb3lgLCB0aGlzIGlzIHRoZVxuICogb25seSBvbmUgdGhhdCBydW5zIGluc2lkZSBhIHNlcnZlci1zaWRlIGNvbXBvbmVudC5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUjb25kZXN0cm95XG4gKiBAcGFyYW0geygpID0+IGFueX0gZm5cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gb25EZXN0cm95KGZuKSB7XG5cdGdldF9jdXJyZW50X2NvbXBvbmVudCgpLiQkLm9uX2Rlc3Ryb3kucHVzaChmbik7XG59XG5cbi8qKlxuICogQ3JlYXRlcyBhbiBldmVudCBkaXNwYXRjaGVyIHRoYXQgY2FuIGJlIHVzZWQgdG8gZGlzcGF0Y2ggW2NvbXBvbmVudCBldmVudHNdKC9kb2NzI3RlbXBsYXRlLXN5bnRheC1jb21wb25lbnQtZGlyZWN0aXZlcy1vbi1ldmVudG5hbWUpLlxuICogRXZlbnQgZGlzcGF0Y2hlcnMgYXJlIGZ1bmN0aW9ucyB0aGF0IGNhbiB0YWtlIHR3byBhcmd1bWVudHM6IGBuYW1lYCBhbmQgYGRldGFpbGAuXG4gKlxuICogQ29tcG9uZW50IGV2ZW50cyBjcmVhdGVkIHdpdGggYGNyZWF0ZUV2ZW50RGlzcGF0Y2hlcmAgY3JlYXRlIGFcbiAqIFtDdXN0b21FdmVudF0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvQVBJL0N1c3RvbUV2ZW50KS5cbiAqIFRoZXNlIGV2ZW50cyBkbyBub3QgW2J1YmJsZV0oaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9MZWFybi9KYXZhU2NyaXB0L0J1aWxkaW5nX2Jsb2Nrcy9FdmVudHMjRXZlbnRfYnViYmxpbmdfYW5kX2NhcHR1cmUpLlxuICogVGhlIGBkZXRhaWxgIGFyZ3VtZW50IGNvcnJlc3BvbmRzIHRvIHRoZSBbQ3VzdG9tRXZlbnQuZGV0YWlsXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL1dlYi9BUEkvQ3VzdG9tRXZlbnQvZGV0YWlsKVxuICogcHJvcGVydHkgYW5kIGNhbiBjb250YWluIGFueSB0eXBlIG9mIGRhdGEuXG4gKlxuICogVGhlIGV2ZW50IGRpc3BhdGNoZXIgY2FuIGJlIHR5cGVkIHRvIG5hcnJvdyB0aGUgYWxsb3dlZCBldmVudCBuYW1lcyBhbmQgdGhlIHR5cGUgb2YgdGhlIGBkZXRhaWxgIGFyZ3VtZW50OlxuICogYGBgdHNcbiAqIGNvbnN0IGRpc3BhdGNoID0gY3JlYXRlRXZlbnREaXNwYXRjaGVyPHtcbiAqICBsb2FkZWQ6IG5ldmVyOyAvLyBkb2VzIG5vdCB0YWtlIGEgZGV0YWlsIGFyZ3VtZW50XG4gKiAgY2hhbmdlOiBzdHJpbmc7IC8vIHRha2VzIGEgZGV0YWlsIGFyZ3VtZW50IG9mIHR5cGUgc3RyaW5nLCB3aGljaCBpcyByZXF1aXJlZFxuICogIG9wdGlvbmFsOiBudW1iZXIgfCBudWxsOyAvLyB0YWtlcyBhbiBvcHRpb25hbCBkZXRhaWwgYXJndW1lbnQgb2YgdHlwZSBudW1iZXJcbiAqIH0+KCk7XG4gKiBgYGBcbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUjY3JlYXRlZXZlbnRkaXNwYXRjaGVyXG4gKiBAdGVtcGxhdGUge1JlY29yZDxzdHJpbmcsIGFueT59IFtFdmVudE1hcD1hbnldXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL3B1YmxpYy5qcycpLkV2ZW50RGlzcGF0Y2hlcjxFdmVudE1hcD59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVFdmVudERpc3BhdGNoZXIoKSB7XG5cdGNvbnN0IGNvbXBvbmVudCA9IGdldF9jdXJyZW50X2NvbXBvbmVudCgpO1xuXHRyZXR1cm4gKHR5cGUsIGRldGFpbCwgeyBjYW5jZWxhYmxlID0gZmFsc2UgfSA9IHt9KSA9PiB7XG5cdFx0Y29uc3QgY2FsbGJhY2tzID0gY29tcG9uZW50LiQkLmNhbGxiYWNrc1t0eXBlXTtcblx0XHRpZiAoY2FsbGJhY2tzKSB7XG5cdFx0XHQvLyBUT0RPIGFyZSB0aGVyZSBzaXR1YXRpb25zIHdoZXJlIGV2ZW50cyBjb3VsZCBiZSBkaXNwYXRjaGVkXG5cdFx0XHQvLyBpbiBhIHNlcnZlciAobm9uLURPTSkgZW52aXJvbm1lbnQ/XG5cdFx0XHRjb25zdCBldmVudCA9IGN1c3RvbV9ldmVudCgvKiogQHR5cGUge3N0cmluZ30gKi8gKHR5cGUpLCBkZXRhaWwsIHsgY2FuY2VsYWJsZSB9KTtcblx0XHRcdGNhbGxiYWNrcy5zbGljZSgpLmZvckVhY2goKGZuKSA9PiB7XG5cdFx0XHRcdGZuLmNhbGwoY29tcG9uZW50LCBldmVudCk7XG5cdFx0XHR9KTtcblx0XHRcdHJldHVybiAhZXZlbnQuZGVmYXVsdFByZXZlbnRlZDtcblx0XHR9XG5cdFx0cmV0dXJuIHRydWU7XG5cdH07XG59XG5cbi8qKlxuICogQXNzb2NpYXRlcyBhbiBhcmJpdHJhcnkgYGNvbnRleHRgIG9iamVjdCB3aXRoIHRoZSBjdXJyZW50IGNvbXBvbmVudCBhbmQgdGhlIHNwZWNpZmllZCBga2V5YFxuICogYW5kIHJldHVybnMgdGhhdCBvYmplY3QuIFRoZSBjb250ZXh0IGlzIHRoZW4gYXZhaWxhYmxlIHRvIGNoaWxkcmVuIG9mIHRoZSBjb21wb25lbnRcbiAqIChpbmNsdWRpbmcgc2xvdHRlZCBjb250ZW50KSB3aXRoIGBnZXRDb250ZXh0YC5cbiAqXG4gKiBMaWtlIGxpZmVjeWNsZSBmdW5jdGlvbnMsIHRoaXMgbXVzdCBiZSBjYWxsZWQgZHVyaW5nIGNvbXBvbmVudCBpbml0aWFsaXNhdGlvbi5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUjc2V0Y29udGV4dFxuICogQHRlbXBsYXRlIFRcbiAqIEBwYXJhbSB7YW55fSBrZXlcbiAqIEBwYXJhbSB7VH0gY29udGV4dFxuICogQHJldHVybnMge1R9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzZXRDb250ZXh0KGtleSwgY29udGV4dCkge1xuXHRnZXRfY3VycmVudF9jb21wb25lbnQoKS4kJC5jb250ZXh0LnNldChrZXksIGNvbnRleHQpO1xuXHRyZXR1cm4gY29udGV4dDtcbn1cblxuLyoqXG4gKiBSZXRyaWV2ZXMgdGhlIGNvbnRleHQgdGhhdCBiZWxvbmdzIHRvIHRoZSBjbG9zZXN0IHBhcmVudCBjb21wb25lbnQgd2l0aCB0aGUgc3BlY2lmaWVkIGBrZXlgLlxuICogTXVzdCBiZSBjYWxsZWQgZHVyaW5nIGNvbXBvbmVudCBpbml0aWFsaXNhdGlvbi5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUjZ2V0Y29udGV4dFxuICogQHRlbXBsYXRlIFRcbiAqIEBwYXJhbSB7YW55fSBrZXlcbiAqIEByZXR1cm5zIHtUfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0Q29udGV4dChrZXkpIHtcblx0cmV0dXJuIGdldF9jdXJyZW50X2NvbXBvbmVudCgpLiQkLmNvbnRleHQuZ2V0KGtleSk7XG59XG5cbi8qKlxuICogUmV0cmlldmVzIHRoZSB3aG9sZSBjb250ZXh0IG1hcCB0aGF0IGJlbG9uZ3MgdG8gdGhlIGNsb3Nlc3QgcGFyZW50IGNvbXBvbmVudC5cbiAqIE11c3QgYmUgY2FsbGVkIGR1cmluZyBjb21wb25lbnQgaW5pdGlhbGlzYXRpb24uIFVzZWZ1bCwgZm9yIGV4YW1wbGUsIGlmIHlvdVxuICogcHJvZ3JhbW1hdGljYWxseSBjcmVhdGUgYSBjb21wb25lbnQgYW5kIHdhbnQgdG8gcGFzcyB0aGUgZXhpc3RpbmcgY29udGV4dCB0byBpdC5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUjZ2V0YWxsY29udGV4dHNcbiAqIEB0ZW1wbGF0ZSB7TWFwPGFueSwgYW55Pn0gW1Q9TWFwPGFueSwgYW55Pl1cbiAqIEByZXR1cm5zIHtUfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0QWxsQ29udGV4dHMoKSB7XG5cdHJldHVybiBnZXRfY3VycmVudF9jb21wb25lbnQoKS4kJC5jb250ZXh0O1xufVxuXG4vKipcbiAqIENoZWNrcyB3aGV0aGVyIGEgZ2l2ZW4gYGtleWAgaGFzIGJlZW4gc2V0IGluIHRoZSBjb250ZXh0IG9mIGEgcGFyZW50IGNvbXBvbmVudC5cbiAqIE11c3QgYmUgY2FsbGVkIGR1cmluZyBjb21wb25lbnQgaW5pdGlhbGlzYXRpb24uXG4gKlxuICogaHR0cHM6Ly9zdmVsdGUuZGV2L2RvY3Mvc3ZlbHRlI2hhc2NvbnRleHRcbiAqIEBwYXJhbSB7YW55fSBrZXlcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5leHBvcnQgZnVuY3Rpb24gaGFzQ29udGV4dChrZXkpIHtcblx0cmV0dXJuIGdldF9jdXJyZW50X2NvbXBvbmVudCgpLiQkLmNvbnRleHQuaGFzKGtleSk7XG59XG5cbi8vIFRPRE8gZmlndXJlIG91dCBpZiB3ZSBzdGlsbCB3YW50IHRvIHN1cHBvcnRcbi8vIHNob3J0aGFuZCBldmVudHMsIG9yIGlmIHdlIHdhbnQgdG8gaW1wbGVtZW50XG4vLyBhIHJlYWwgYnViYmxpbmcgbWVjaGFuaXNtXG4vKipcbiAqIEBwYXJhbSBjb21wb25lbnRcbiAqIEBwYXJhbSBldmVudFxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBidWJibGUoY29tcG9uZW50LCBldmVudCkge1xuXHRjb25zdCBjYWxsYmFja3MgPSBjb21wb25lbnQuJCQuY2FsbGJhY2tzW2V2ZW50LnR5cGVdO1xuXHRpZiAoY2FsbGJhY2tzKSB7XG5cdFx0Ly8gQHRzLWlnbm9yZVxuXHRcdGNhbGxiYWNrcy5zbGljZSgpLmZvckVhY2goKGZuKSA9PiBmbi5jYWxsKHRoaXMsIGV2ZW50KSk7XG5cdH1cbn1cbiIsICJpbXBvcnQgeyBydW5fYWxsIH0gZnJvbSAnLi91dGlscy5qcyc7XG5pbXBvcnQgeyBjdXJyZW50X2NvbXBvbmVudCwgc2V0X2N1cnJlbnRfY29tcG9uZW50IH0gZnJvbSAnLi9saWZlY3ljbGUuanMnO1xuXG5leHBvcnQgY29uc3QgZGlydHlfY29tcG9uZW50cyA9IFtdO1xuZXhwb3J0IGNvbnN0IGludHJvcyA9IHsgZW5hYmxlZDogZmFsc2UgfTtcbmV4cG9ydCBjb25zdCBiaW5kaW5nX2NhbGxiYWNrcyA9IFtdO1xuXG5sZXQgcmVuZGVyX2NhbGxiYWNrcyA9IFtdO1xuXG5jb25zdCBmbHVzaF9jYWxsYmFja3MgPSBbXTtcblxuY29uc3QgcmVzb2x2ZWRfcHJvbWlzZSA9IC8qIEBfX1BVUkVfXyAqLyBQcm9taXNlLnJlc29sdmUoKTtcblxubGV0IHVwZGF0ZV9zY2hlZHVsZWQgPSBmYWxzZTtcblxuLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNjaGVkdWxlX3VwZGF0ZSgpIHtcblx0aWYgKCF1cGRhdGVfc2NoZWR1bGVkKSB7XG5cdFx0dXBkYXRlX3NjaGVkdWxlZCA9IHRydWU7XG5cdFx0cmVzb2x2ZWRfcHJvbWlzZS50aGVuKGZsdXNoKTtcblx0fVxufVxuXG4vKiogQHJldHVybnMge1Byb21pc2U8dm9pZD59ICovXG5leHBvcnQgZnVuY3Rpb24gdGljaygpIHtcblx0c2NoZWR1bGVfdXBkYXRlKCk7XG5cdHJldHVybiByZXNvbHZlZF9wcm9taXNlO1xufVxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gYWRkX3JlbmRlcl9jYWxsYmFjayhmbikge1xuXHRyZW5kZXJfY2FsbGJhY2tzLnB1c2goZm4pO1xufVxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gYWRkX2ZsdXNoX2NhbGxiYWNrKGZuKSB7XG5cdGZsdXNoX2NhbGxiYWNrcy5wdXNoKGZuKTtcbn1cblxuLy8gZmx1c2goKSBjYWxscyBjYWxsYmFja3MgaW4gdGhpcyBvcmRlcjpcbi8vIDEuIEFsbCBiZWZvcmVVcGRhdGUgY2FsbGJhY2tzLCBpbiBvcmRlcjogcGFyZW50cyBiZWZvcmUgY2hpbGRyZW5cbi8vIDIuIEFsbCBiaW5kOnRoaXMgY2FsbGJhY2tzLCBpbiByZXZlcnNlIG9yZGVyOiBjaGlsZHJlbiBiZWZvcmUgcGFyZW50cy5cbi8vIDMuIEFsbCBhZnRlclVwZGF0ZSBjYWxsYmFja3MsIGluIG9yZGVyOiBwYXJlbnRzIGJlZm9yZSBjaGlsZHJlbi4gRVhDRVBUXG4vLyAgICBmb3IgYWZ0ZXJVcGRhdGVzIGNhbGxlZCBkdXJpbmcgdGhlIGluaXRpYWwgb25Nb3VudCwgd2hpY2ggYXJlIGNhbGxlZCBpblxuLy8gICAgcmV2ZXJzZSBvcmRlcjogY2hpbGRyZW4gYmVmb3JlIHBhcmVudHMuXG4vLyBTaW5jZSBjYWxsYmFja3MgbWlnaHQgdXBkYXRlIGNvbXBvbmVudCB2YWx1ZXMsIHdoaWNoIGNvdWxkIHRyaWdnZXIgYW5vdGhlclxuLy8gY2FsbCB0byBmbHVzaCgpLCB0aGUgZm9sbG93aW5nIHN0ZXBzIGd1YXJkIGFnYWluc3QgdGhpczpcbi8vIDEuIER1cmluZyBiZWZvcmVVcGRhdGUsIGFueSB1cGRhdGVkIGNvbXBvbmVudHMgd2lsbCBiZSBhZGRlZCB0byB0aGVcbi8vICAgIGRpcnR5X2NvbXBvbmVudHMgYXJyYXkgYW5kIHdpbGwgY2F1c2UgYSByZWVudHJhbnQgY2FsbCB0byBmbHVzaCgpLiBCZWNhdXNlXG4vLyAgICB0aGUgZmx1c2ggaW5kZXggaXMga2VwdCBvdXRzaWRlIHRoZSBmdW5jdGlvbiwgdGhlIHJlZW50cmFudCBjYWxsIHdpbGwgcGlja1xuLy8gICAgdXAgd2hlcmUgdGhlIGVhcmxpZXIgY2FsbCBsZWZ0IG9mZiBhbmQgZ28gdGhyb3VnaCBhbGwgZGlydHkgY29tcG9uZW50cy4gVGhlXG4vLyAgICBjdXJyZW50X2NvbXBvbmVudCB2YWx1ZSBpcyBzYXZlZCBhbmQgcmVzdG9yZWQgc28gdGhhdCB0aGUgcmVlbnRyYW50IGNhbGwgd2lsbFxuLy8gICAgbm90IGludGVyZmVyZSB3aXRoIHRoZSBcInBhcmVudFwiIGZsdXNoKCkgY2FsbC5cbi8vIDIuIGJpbmQ6dGhpcyBjYWxsYmFja3MgY2Fubm90IHRyaWdnZXIgbmV3IGZsdXNoKCkgY2FsbHMuXG4vLyAzLiBEdXJpbmcgYWZ0ZXJVcGRhdGUsIGFueSB1cGRhdGVkIGNvbXBvbmVudHMgd2lsbCBOT1QgaGF2ZSB0aGVpciBhZnRlclVwZGF0ZVxuLy8gICAgY2FsbGJhY2sgY2FsbGVkIGEgc2Vjb25kIHRpbWU7IHRoZSBzZWVuX2NhbGxiYWNrcyBzZXQsIG91dHNpZGUgdGhlIGZsdXNoKClcbi8vICAgIGZ1bmN0aW9uLCBndWFyYW50ZWVzIHRoaXMgYmVoYXZpb3IuXG5jb25zdCBzZWVuX2NhbGxiYWNrcyA9IG5ldyBTZXQoKTtcblxubGV0IGZsdXNoaWR4ID0gMDsgLy8gRG8gKm5vdCogbW92ZSB0aGlzIGluc2lkZSB0aGUgZmx1c2goKSBmdW5jdGlvblxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gZmx1c2goKSB7XG5cdC8vIERvIG5vdCByZWVudGVyIGZsdXNoIHdoaWxlIGRpcnR5IGNvbXBvbmVudHMgYXJlIHVwZGF0ZWQsIGFzIHRoaXMgY2FuXG5cdC8vIHJlc3VsdCBpbiBhbiBpbmZpbml0ZSBsb29wLiBJbnN0ZWFkLCBsZXQgdGhlIGlubmVyIGZsdXNoIGhhbmRsZSBpdC5cblx0Ly8gUmVlbnRyYW5jeSBpcyBvayBhZnRlcndhcmRzIGZvciBiaW5kaW5ncyBldGMuXG5cdGlmIChmbHVzaGlkeCAhPT0gMCkge1xuXHRcdHJldHVybjtcblx0fVxuXHRjb25zdCBzYXZlZF9jb21wb25lbnQgPSBjdXJyZW50X2NvbXBvbmVudDtcblx0ZG8ge1xuXHRcdC8vIGZpcnN0LCBjYWxsIGJlZm9yZVVwZGF0ZSBmdW5jdGlvbnNcblx0XHQvLyBhbmQgdXBkYXRlIGNvbXBvbmVudHNcblx0XHR0cnkge1xuXHRcdFx0d2hpbGUgKGZsdXNoaWR4IDwgZGlydHlfY29tcG9uZW50cy5sZW5ndGgpIHtcblx0XHRcdFx0Y29uc3QgY29tcG9uZW50ID0gZGlydHlfY29tcG9uZW50c1tmbHVzaGlkeF07XG5cdFx0XHRcdGZsdXNoaWR4Kys7XG5cdFx0XHRcdHNldF9jdXJyZW50X2NvbXBvbmVudChjb21wb25lbnQpO1xuXHRcdFx0XHR1cGRhdGUoY29tcG9uZW50LiQkKTtcblx0XHRcdH1cblx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHQvLyByZXNldCBkaXJ0eSBzdGF0ZSB0byBub3QgZW5kIHVwIGluIGEgZGVhZGxvY2tlZCBzdGF0ZSBhbmQgdGhlbiByZXRocm93XG5cdFx0XHRkaXJ0eV9jb21wb25lbnRzLmxlbmd0aCA9IDA7XG5cdFx0XHRmbHVzaGlkeCA9IDA7XG5cdFx0XHR0aHJvdyBlO1xuXHRcdH1cblx0XHRzZXRfY3VycmVudF9jb21wb25lbnQobnVsbCk7XG5cdFx0ZGlydHlfY29tcG9uZW50cy5sZW5ndGggPSAwO1xuXHRcdGZsdXNoaWR4ID0gMDtcblx0XHR3aGlsZSAoYmluZGluZ19jYWxsYmFja3MubGVuZ3RoKSBiaW5kaW5nX2NhbGxiYWNrcy5wb3AoKSgpO1xuXHRcdC8vIHRoZW4sIG9uY2UgY29tcG9uZW50cyBhcmUgdXBkYXRlZCwgY2FsbFxuXHRcdC8vIGFmdGVyVXBkYXRlIGZ1bmN0aW9ucy4gVGhpcyBtYXkgY2F1c2Vcblx0XHQvLyBzdWJzZXF1ZW50IHVwZGF0ZXMuLi5cblx0XHRmb3IgKGxldCBpID0gMDsgaSA8IHJlbmRlcl9jYWxsYmFja3MubGVuZ3RoOyBpICs9IDEpIHtcblx0XHRcdGNvbnN0IGNhbGxiYWNrID0gcmVuZGVyX2NhbGxiYWNrc1tpXTtcblx0XHRcdGlmICghc2Vlbl9jYWxsYmFja3MuaGFzKGNhbGxiYWNrKSkge1xuXHRcdFx0XHQvLyAuLi5zbyBndWFyZCBhZ2FpbnN0IGluZmluaXRlIGxvb3BzXG5cdFx0XHRcdHNlZW5fY2FsbGJhY2tzLmFkZChjYWxsYmFjayk7XG5cdFx0XHRcdGNhbGxiYWNrKCk7XG5cdFx0XHR9XG5cdFx0fVxuXHRcdHJlbmRlcl9jYWxsYmFja3MubGVuZ3RoID0gMDtcblx0fSB3aGlsZSAoZGlydHlfY29tcG9uZW50cy5sZW5ndGgpO1xuXHR3aGlsZSAoZmx1c2hfY2FsbGJhY2tzLmxlbmd0aCkge1xuXHRcdGZsdXNoX2NhbGxiYWNrcy5wb3AoKSgpO1xuXHR9XG5cdHVwZGF0ZV9zY2hlZHVsZWQgPSBmYWxzZTtcblx0c2Vlbl9jYWxsYmFja3MuY2xlYXIoKTtcblx0c2V0X2N1cnJlbnRfY29tcG9uZW50KHNhdmVkX2NvbXBvbmVudCk7XG59XG5cbi8qKiBAcmV0dXJucyB7dm9pZH0gKi9cbmZ1bmN0aW9uIHVwZGF0ZSgkJCkge1xuXHRpZiAoJCQuZnJhZ21lbnQgIT09IG51bGwpIHtcblx0XHQkJC51cGRhdGUoKTtcblx0XHRydW5fYWxsKCQkLmJlZm9yZV91cGRhdGUpO1xuXHRcdGNvbnN0IGRpcnR5ID0gJCQuZGlydHk7XG5cdFx0JCQuZGlydHkgPSBbLTFdO1xuXHRcdCQkLmZyYWdtZW50ICYmICQkLmZyYWdtZW50LnAoJCQuY3R4LCBkaXJ0eSk7XG5cdFx0JCQuYWZ0ZXJfdXBkYXRlLmZvckVhY2goYWRkX3JlbmRlcl9jYWxsYmFjayk7XG5cdH1cbn1cblxuLyoqXG4gKiBVc2VmdWwgZm9yIGV4YW1wbGUgdG8gZXhlY3V0ZSByZW1haW5pbmcgYGFmdGVyVXBkYXRlYCBjYWxsYmFja3MgYmVmb3JlIGV4ZWN1dGluZyBgZGVzdHJveWAuXG4gKiBAcGFyYW0ge0Z1bmN0aW9uW119IGZuc1xuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmbHVzaF9yZW5kZXJfY2FsbGJhY2tzKGZucykge1xuXHRjb25zdCBmaWx0ZXJlZCA9IFtdO1xuXHRjb25zdCB0YXJnZXRzID0gW107XG5cdHJlbmRlcl9jYWxsYmFja3MuZm9yRWFjaCgoYykgPT4gKGZucy5pbmRleE9mKGMpID09PSAtMSA/IGZpbHRlcmVkLnB1c2goYykgOiB0YXJnZXRzLnB1c2goYykpKTtcblx0dGFyZ2V0cy5mb3JFYWNoKChjKSA9PiBjKCkpO1xuXHRyZW5kZXJfY2FsbGJhY2tzID0gZmlsdGVyZWQ7XG59XG4iLCAiaW1wb3J0IHsgaWRlbnRpdHkgYXMgbGluZWFyLCBpc19mdW5jdGlvbiwgbm9vcCwgcnVuX2FsbCB9IGZyb20gJy4vdXRpbHMuanMnO1xuaW1wb3J0IHsgbm93IH0gZnJvbSAnLi9lbnZpcm9ubWVudC5qcyc7XG5pbXBvcnQgeyBsb29wIH0gZnJvbSAnLi9sb29wLmpzJztcbmltcG9ydCB7IGNyZWF0ZV9ydWxlLCBkZWxldGVfcnVsZSB9IGZyb20gJy4vc3R5bGVfbWFuYWdlci5qcyc7XG5pbXBvcnQgeyBjdXN0b21fZXZlbnQgfSBmcm9tICcuL2RvbS5qcyc7XG5pbXBvcnQgeyBhZGRfcmVuZGVyX2NhbGxiYWNrIH0gZnJvbSAnLi9zY2hlZHVsZXIuanMnO1xuXG4vKipcbiAqIEB0eXBlIHtQcm9taXNlPHZvaWQ+IHwgbnVsbH1cbiAqL1xubGV0IHByb21pc2U7XG5cbi8qKlxuICogQHJldHVybnMge1Byb21pc2U8dm9pZD59XG4gKi9cbmZ1bmN0aW9uIHdhaXQoKSB7XG5cdGlmICghcHJvbWlzZSkge1xuXHRcdHByb21pc2UgPSBQcm9taXNlLnJlc29sdmUoKTtcblx0XHRwcm9taXNlLnRoZW4oKCkgPT4ge1xuXHRcdFx0cHJvbWlzZSA9IG51bGw7XG5cdFx0fSk7XG5cdH1cblx0cmV0dXJuIHByb21pc2U7XG59XG5cbi8qKlxuICogQHBhcmFtIHtFbGVtZW50fSBub2RlXG4gKiBAcGFyYW0ge0lOVFJPIHwgT1VUUk8gfCBib29sZWFufSBkaXJlY3Rpb25cbiAqIEBwYXJhbSB7J3N0YXJ0JyB8ICdlbmQnfSBraW5kXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZnVuY3Rpb24gZGlzcGF0Y2gobm9kZSwgZGlyZWN0aW9uLCBraW5kKSB7XG5cdG5vZGUuZGlzcGF0Y2hFdmVudChjdXN0b21fZXZlbnQoYCR7ZGlyZWN0aW9uID8gJ2ludHJvJyA6ICdvdXRybyd9JHtraW5kfWApKTtcbn1cblxuY29uc3Qgb3V0cm9pbmcgPSBuZXcgU2V0KCk7XG5cbi8qKlxuICogQHR5cGUge091dHJvfVxuICovXG5sZXQgb3V0cm9zO1xuXG4vKipcbiAqIEByZXR1cm5zIHt2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGdyb3VwX291dHJvcygpIHtcblx0b3V0cm9zID0ge1xuXHRcdHI6IDAsXG5cdFx0YzogW10sXG5cdFx0cDogb3V0cm9zIC8vIHBhcmVudCBncm91cFxuXHR9O1xufVxuXG4vKipcbiAqIEByZXR1cm5zIHt2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNoZWNrX291dHJvcygpIHtcblx0aWYgKCFvdXRyb3Mucikge1xuXHRcdHJ1bl9hbGwob3V0cm9zLmMpO1xuXHR9XG5cdG91dHJvcyA9IG91dHJvcy5wO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7aW1wb3J0KCcuL3ByaXZhdGUuanMnKS5GcmFnbWVudH0gYmxvY2tcbiAqIEBwYXJhbSB7MCB8IDF9IFtsb2NhbF1cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNpdGlvbl9pbihibG9jaywgbG9jYWwpIHtcblx0aWYgKGJsb2NrICYmIGJsb2NrLmkpIHtcblx0XHRvdXRyb2luZy5kZWxldGUoYmxvY2spO1xuXHRcdGJsb2NrLmkobG9jYWwpO1xuXHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHtpbXBvcnQoJy4vcHJpdmF0ZS5qcycpLkZyYWdtZW50fSBibG9ja1xuICogQHBhcmFtIHswIHwgMX0gbG9jYWxcbiAqIEBwYXJhbSB7MCB8IDF9IFtkZXRhY2hdXG4gKiBAcGFyYW0geygpID0+IHZvaWR9IFtjYWxsYmFja11cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gdHJhbnNpdGlvbl9vdXQoYmxvY2ssIGxvY2FsLCBkZXRhY2gsIGNhbGxiYWNrKSB7XG5cdGlmIChibG9jayAmJiBibG9jay5vKSB7XG5cdFx0aWYgKG91dHJvaW5nLmhhcyhibG9jaykpIHJldHVybjtcblx0XHRvdXRyb2luZy5hZGQoYmxvY2spO1xuXHRcdG91dHJvcy5jLnB1c2goKCkgPT4ge1xuXHRcdFx0b3V0cm9pbmcuZGVsZXRlKGJsb2NrKTtcblx0XHRcdGlmIChjYWxsYmFjaykge1xuXHRcdFx0XHRpZiAoZGV0YWNoKSBibG9jay5kKDEpO1xuXHRcdFx0XHRjYWxsYmFjaygpO1xuXHRcdFx0fVxuXHRcdH0pO1xuXHRcdGJsb2NrLm8obG9jYWwpO1xuXHR9IGVsc2UgaWYgKGNhbGxiYWNrKSB7XG5cdFx0Y2FsbGJhY2soKTtcblx0fVxufVxuXG4vKipcbiAqIEB0eXBlIHtpbXBvcnQoJy4uL3RyYW5zaXRpb24vcHVibGljLmpzJykuVHJhbnNpdGlvbkNvbmZpZ31cbiAqL1xuY29uc3QgbnVsbF90cmFuc2l0aW9uID0geyBkdXJhdGlvbjogMCB9O1xuXG4vKipcbiAqIEBwYXJhbSB7RWxlbWVudCAmIEVsZW1lbnRDU1NJbmxpbmVTdHlsZX0gbm9kZVxuICogQHBhcmFtIHtUcmFuc2l0aW9uRm59IGZuXG4gKiBAcGFyYW0ge2FueX0gcGFyYW1zXG4gKiBAcmV0dXJucyB7eyBzdGFydCgpOiB2b2lkOyBpbnZhbGlkYXRlKCk6IHZvaWQ7IGVuZCgpOiB2b2lkOyB9fVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlX2luX3RyYW5zaXRpb24obm9kZSwgZm4sIHBhcmFtcykge1xuXHQvKipcblx0ICogQHR5cGUge1RyYW5zaXRpb25PcHRpb25zfSAqL1xuXHRjb25zdCBvcHRpb25zID0geyBkaXJlY3Rpb246ICdpbicgfTtcblx0bGV0IGNvbmZpZyA9IGZuKG5vZGUsIHBhcmFtcywgb3B0aW9ucyk7XG5cdGxldCBydW5uaW5nID0gZmFsc2U7XG5cdGxldCBhbmltYXRpb25fbmFtZTtcblx0bGV0IHRhc2s7XG5cdGxldCB1aWQgPSAwO1xuXG5cdC8qKlxuXHQgKiBAcmV0dXJucyB7dm9pZH0gKi9cblx0ZnVuY3Rpb24gY2xlYW51cCgpIHtcblx0XHRpZiAoYW5pbWF0aW9uX25hbWUpIGRlbGV0ZV9ydWxlKG5vZGUsIGFuaW1hdGlvbl9uYW1lKTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcmV0dXJucyB7dm9pZH0gKi9cblx0ZnVuY3Rpb24gZ28oKSB7XG5cdFx0Y29uc3Qge1xuXHRcdFx0ZGVsYXkgPSAwLFxuXHRcdFx0ZHVyYXRpb24gPSAzMDAsXG5cdFx0XHRlYXNpbmcgPSBsaW5lYXIsXG5cdFx0XHR0aWNrID0gbm9vcCxcblx0XHRcdGNzc1xuXHRcdH0gPSBjb25maWcgfHwgbnVsbF90cmFuc2l0aW9uO1xuXHRcdGlmIChjc3MpIGFuaW1hdGlvbl9uYW1lID0gY3JlYXRlX3J1bGUobm9kZSwgMCwgMSwgZHVyYXRpb24sIGRlbGF5LCBlYXNpbmcsIGNzcywgdWlkKyspO1xuXHRcdHRpY2soMCwgMSk7XG5cdFx0Y29uc3Qgc3RhcnRfdGltZSA9IG5vdygpICsgZGVsYXk7XG5cdFx0Y29uc3QgZW5kX3RpbWUgPSBzdGFydF90aW1lICsgZHVyYXRpb247XG5cdFx0aWYgKHRhc2spIHRhc2suYWJvcnQoKTtcblx0XHRydW5uaW5nID0gdHJ1ZTtcblx0XHRhZGRfcmVuZGVyX2NhbGxiYWNrKCgpID0+IGRpc3BhdGNoKG5vZGUsIHRydWUsICdzdGFydCcpKTtcblx0XHR0YXNrID0gbG9vcCgobm93KSA9PiB7XG5cdFx0XHRpZiAocnVubmluZykge1xuXHRcdFx0XHRpZiAobm93ID49IGVuZF90aW1lKSB7XG5cdFx0XHRcdFx0dGljaygxLCAwKTtcblx0XHRcdFx0XHRkaXNwYXRjaChub2RlLCB0cnVlLCAnZW5kJyk7XG5cdFx0XHRcdFx0Y2xlYW51cCgpO1xuXHRcdFx0XHRcdHJldHVybiAocnVubmluZyA9IGZhbHNlKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAobm93ID49IHN0YXJ0X3RpbWUpIHtcblx0XHRcdFx0XHRjb25zdCB0ID0gZWFzaW5nKChub3cgLSBzdGFydF90aW1lKSAvIGR1cmF0aW9uKTtcblx0XHRcdFx0XHR0aWNrKHQsIDEgLSB0KTtcblx0XHRcdFx0fVxuXHRcdFx0fVxuXHRcdFx0cmV0dXJuIHJ1bm5pbmc7XG5cdFx0fSk7XG5cdH1cblx0bGV0IHN0YXJ0ZWQgPSBmYWxzZTtcblx0cmV0dXJuIHtcblx0XHRzdGFydCgpIHtcblx0XHRcdGlmIChzdGFydGVkKSByZXR1cm47XG5cdFx0XHRzdGFydGVkID0gdHJ1ZTtcblx0XHRcdGRlbGV0ZV9ydWxlKG5vZGUpO1xuXHRcdFx0aWYgKGlzX2Z1bmN0aW9uKGNvbmZpZykpIHtcblx0XHRcdFx0Y29uZmlnID0gY29uZmlnKG9wdGlvbnMpO1xuXHRcdFx0XHR3YWl0KCkudGhlbihnbyk7XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRnbygpO1xuXHRcdFx0fVxuXHRcdH0sXG5cdFx0aW52YWxpZGF0ZSgpIHtcblx0XHRcdHN0YXJ0ZWQgPSBmYWxzZTtcblx0XHR9LFxuXHRcdGVuZCgpIHtcblx0XHRcdGlmIChydW5uaW5nKSB7XG5cdFx0XHRcdGNsZWFudXAoKTtcblx0XHRcdFx0cnVubmluZyA9IGZhbHNlO1xuXHRcdFx0fVxuXHRcdH1cblx0fTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge0VsZW1lbnQgJiBFbGVtZW50Q1NTSW5saW5lU3R5bGV9IG5vZGVcbiAqIEBwYXJhbSB7VHJhbnNpdGlvbkZufSBmblxuICogQHBhcmFtIHthbnl9IHBhcmFtc1xuICogQHJldHVybnMge3sgZW5kKHJlc2V0OiBhbnkpOiB2b2lkOyB9fVxuICovXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlX291dF90cmFuc2l0aW9uKG5vZGUsIGZuLCBwYXJhbXMpIHtcblx0LyoqIEB0eXBlIHtUcmFuc2l0aW9uT3B0aW9uc30gKi9cblx0Y29uc3Qgb3B0aW9ucyA9IHsgZGlyZWN0aW9uOiAnb3V0JyB9O1xuXHRsZXQgY29uZmlnID0gZm4obm9kZSwgcGFyYW1zLCBvcHRpb25zKTtcblx0bGV0IHJ1bm5pbmcgPSB0cnVlO1xuXHRsZXQgYW5pbWF0aW9uX25hbWU7XG5cdGNvbnN0IGdyb3VwID0gb3V0cm9zO1xuXHRncm91cC5yICs9IDE7XG5cdC8qKiBAdHlwZSB7Ym9vbGVhbn0gKi9cblx0bGV0IG9yaWdpbmFsX2luZXJ0X3ZhbHVlO1xuXG5cdC8qKlxuXHQgKiBAcmV0dXJucyB7dm9pZH0gKi9cblx0ZnVuY3Rpb24gZ28oKSB7XG5cdFx0Y29uc3Qge1xuXHRcdFx0ZGVsYXkgPSAwLFxuXHRcdFx0ZHVyYXRpb24gPSAzMDAsXG5cdFx0XHRlYXNpbmcgPSBsaW5lYXIsXG5cdFx0XHR0aWNrID0gbm9vcCxcblx0XHRcdGNzc1xuXHRcdH0gPSBjb25maWcgfHwgbnVsbF90cmFuc2l0aW9uO1xuXG5cdFx0aWYgKGNzcykgYW5pbWF0aW9uX25hbWUgPSBjcmVhdGVfcnVsZShub2RlLCAxLCAwLCBkdXJhdGlvbiwgZGVsYXksIGVhc2luZywgY3NzKTtcblxuXHRcdGNvbnN0IHN0YXJ0X3RpbWUgPSBub3coKSArIGRlbGF5O1xuXHRcdGNvbnN0IGVuZF90aW1lID0gc3RhcnRfdGltZSArIGR1cmF0aW9uO1xuXHRcdGFkZF9yZW5kZXJfY2FsbGJhY2soKCkgPT4gZGlzcGF0Y2gobm9kZSwgZmFsc2UsICdzdGFydCcpKTtcblxuXHRcdGlmICgnaW5lcnQnIGluIG5vZGUpIHtcblx0XHRcdG9yaWdpbmFsX2luZXJ0X3ZhbHVlID0gLyoqIEB0eXBlIHtIVE1MRWxlbWVudH0gKi8gKG5vZGUpLmluZXJ0O1xuXHRcdFx0bm9kZS5pbmVydCA9IHRydWU7XG5cdFx0fVxuXG5cdFx0bG9vcCgobm93KSA9PiB7XG5cdFx0XHRpZiAocnVubmluZykge1xuXHRcdFx0XHRpZiAobm93ID49IGVuZF90aW1lKSB7XG5cdFx0XHRcdFx0dGljaygwLCAxKTtcblx0XHRcdFx0XHRkaXNwYXRjaChub2RlLCBmYWxzZSwgJ2VuZCcpO1xuXHRcdFx0XHRcdGlmICghLS1ncm91cC5yKSB7XG5cdFx0XHRcdFx0XHQvLyB0aGlzIHdpbGwgcmVzdWx0IGluIGBlbmQoKWAgYmVpbmcgY2FsbGVkLFxuXHRcdFx0XHRcdFx0Ly8gc28gd2UgZG9uJ3QgbmVlZCB0byBjbGVhbiB1cCBoZXJlXG5cdFx0XHRcdFx0XHRydW5fYWxsKGdyb3VwLmMpO1xuXHRcdFx0XHRcdH1cblx0XHRcdFx0XHRyZXR1cm4gZmFsc2U7XG5cdFx0XHRcdH1cblx0XHRcdFx0aWYgKG5vdyA+PSBzdGFydF90aW1lKSB7XG5cdFx0XHRcdFx0Y29uc3QgdCA9IGVhc2luZygobm93IC0gc3RhcnRfdGltZSkgLyBkdXJhdGlvbik7XG5cdFx0XHRcdFx0dGljaygxIC0gdCwgdCk7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdHJldHVybiBydW5uaW5nO1xuXHRcdH0pO1xuXHR9XG5cblx0aWYgKGlzX2Z1bmN0aW9uKGNvbmZpZykpIHtcblx0XHR3YWl0KCkudGhlbigoKSA9PiB7XG5cdFx0XHQvLyBAdHMtaWdub3JlXG5cdFx0XHRjb25maWcgPSBjb25maWcob3B0aW9ucyk7XG5cdFx0XHRnbygpO1xuXHRcdH0pO1xuXHR9IGVsc2Uge1xuXHRcdGdvKCk7XG5cdH1cblxuXHRyZXR1cm4ge1xuXHRcdGVuZChyZXNldCkge1xuXHRcdFx0aWYgKHJlc2V0ICYmICdpbmVydCcgaW4gbm9kZSkge1xuXHRcdFx0XHRub2RlLmluZXJ0ID0gb3JpZ2luYWxfaW5lcnRfdmFsdWU7XG5cdFx0XHR9XG5cdFx0XHRpZiAocmVzZXQgJiYgY29uZmlnLnRpY2spIHtcblx0XHRcdFx0Y29uZmlnLnRpY2soMSwgMCk7XG5cdFx0XHR9XG5cdFx0XHRpZiAocnVubmluZykge1xuXHRcdFx0XHRpZiAoYW5pbWF0aW9uX25hbWUpIGRlbGV0ZV9ydWxlKG5vZGUsIGFuaW1hdGlvbl9uYW1lKTtcblx0XHRcdFx0cnVubmluZyA9IGZhbHNlO1xuXHRcdFx0fVxuXHRcdH1cblx0fTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge0VsZW1lbnQgJiBFbGVtZW50Q1NTSW5saW5lU3R5bGV9IG5vZGVcbiAqIEBwYXJhbSB7VHJhbnNpdGlvbkZufSBmblxuICogQHBhcmFtIHthbnl9IHBhcmFtc1xuICogQHBhcmFtIHtib29sZWFufSBpbnRyb1xuICogQHJldHVybnMge3sgcnVuKGI6IDAgfCAxKTogdm9pZDsgZW5kKCk6IHZvaWQ7IH19XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVfYmlkaXJlY3Rpb25hbF90cmFuc2l0aW9uKG5vZGUsIGZuLCBwYXJhbXMsIGludHJvKSB7XG5cdC8qKlxuXHQgKiBAdHlwZSB7VHJhbnNpdGlvbk9wdGlvbnN9ICovXG5cdGNvbnN0IG9wdGlvbnMgPSB7IGRpcmVjdGlvbjogJ2JvdGgnIH07XG5cdGxldCBjb25maWcgPSBmbihub2RlLCBwYXJhbXMsIG9wdGlvbnMpO1xuXHRsZXQgdCA9IGludHJvID8gMCA6IDE7XG5cblx0LyoqXG5cdCAqIEB0eXBlIHtQcm9ncmFtIHwgbnVsbH0gKi9cblx0bGV0IHJ1bm5pbmdfcHJvZ3JhbSA9IG51bGw7XG5cblx0LyoqXG5cdCAqIEB0eXBlIHtQZW5kaW5nUHJvZ3JhbSB8IG51bGx9ICovXG5cdGxldCBwZW5kaW5nX3Byb2dyYW0gPSBudWxsO1xuXHRsZXQgYW5pbWF0aW9uX25hbWUgPSBudWxsO1xuXG5cdC8qKiBAdHlwZSB7Ym9vbGVhbn0gKi9cblx0bGV0IG9yaWdpbmFsX2luZXJ0X3ZhbHVlO1xuXG5cdC8qKlxuXHQgKiBAcmV0dXJucyB7dm9pZH0gKi9cblx0ZnVuY3Rpb24gY2xlYXJfYW5pbWF0aW9uKCkge1xuXHRcdGlmIChhbmltYXRpb25fbmFtZSkgZGVsZXRlX3J1bGUobm9kZSwgYW5pbWF0aW9uX25hbWUpO1xuXHR9XG5cblx0LyoqXG5cdCAqIEBwYXJhbSB7UGVuZGluZ1Byb2dyYW19IHByb2dyYW1cblx0ICogQHBhcmFtIHtudW1iZXJ9IGR1cmF0aW9uXG5cdCAqIEByZXR1cm5zIHtQcm9ncmFtfVxuXHQgKi9cblx0ZnVuY3Rpb24gaW5pdChwcm9ncmFtLCBkdXJhdGlvbikge1xuXHRcdGNvbnN0IGQgPSAvKiogQHR5cGUge1Byb2dyYW1bJ2QnXX0gKi8gKHByb2dyYW0uYiAtIHQpO1xuXHRcdGR1cmF0aW9uICo9IE1hdGguYWJzKGQpO1xuXHRcdHJldHVybiB7XG5cdFx0XHRhOiB0LFxuXHRcdFx0YjogcHJvZ3JhbS5iLFxuXHRcdFx0ZCxcblx0XHRcdGR1cmF0aW9uLFxuXHRcdFx0c3RhcnQ6IHByb2dyYW0uc3RhcnQsXG5cdFx0XHRlbmQ6IHByb2dyYW0uc3RhcnQgKyBkdXJhdGlvbixcblx0XHRcdGdyb3VwOiBwcm9ncmFtLmdyb3VwXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcGFyYW0ge0lOVFJPIHwgT1VUUk99IGJcblx0ICogQHJldHVybnMge3ZvaWR9XG5cdCAqL1xuXHRmdW5jdGlvbiBnbyhiKSB7XG5cdFx0Y29uc3Qge1xuXHRcdFx0ZGVsYXkgPSAwLFxuXHRcdFx0ZHVyYXRpb24gPSAzMDAsXG5cdFx0XHRlYXNpbmcgPSBsaW5lYXIsXG5cdFx0XHR0aWNrID0gbm9vcCxcblx0XHRcdGNzc1xuXHRcdH0gPSBjb25maWcgfHwgbnVsbF90cmFuc2l0aW9uO1xuXG5cdFx0LyoqXG5cdFx0ICogQHR5cGUge1BlbmRpbmdQcm9ncmFtfSAqL1xuXHRcdGNvbnN0IHByb2dyYW0gPSB7XG5cdFx0XHRzdGFydDogbm93KCkgKyBkZWxheSxcblx0XHRcdGJcblx0XHR9O1xuXG5cdFx0aWYgKCFiKSB7XG5cdFx0XHQvLyBAdHMtaWdub3JlIHRvZG86IGltcHJvdmUgdHlwaW5nc1xuXHRcdFx0cHJvZ3JhbS5ncm91cCA9IG91dHJvcztcblx0XHRcdG91dHJvcy5yICs9IDE7XG5cdFx0fVxuXG5cdFx0aWYgKCdpbmVydCcgaW4gbm9kZSkge1xuXHRcdFx0aWYgKGIpIHtcblx0XHRcdFx0aWYgKG9yaWdpbmFsX2luZXJ0X3ZhbHVlICE9PSB1bmRlZmluZWQpIHtcblx0XHRcdFx0XHQvLyBhYm9ydGVkL3JldmVyc2VkIG91dHJvIFx1MjAxNCByZXN0b3JlIHByZXZpb3VzIGluZXJ0IHZhbHVlXG5cdFx0XHRcdFx0bm9kZS5pbmVydCA9IG9yaWdpbmFsX2luZXJ0X3ZhbHVlO1xuXHRcdFx0XHR9XG5cdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRvcmlnaW5hbF9pbmVydF92YWx1ZSA9IC8qKiBAdHlwZSB7SFRNTEVsZW1lbnR9ICovIChub2RlKS5pbmVydDtcblx0XHRcdFx0bm9kZS5pbmVydCA9IHRydWU7XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0aWYgKHJ1bm5pbmdfcHJvZ3JhbSB8fCBwZW5kaW5nX3Byb2dyYW0pIHtcblx0XHRcdHBlbmRpbmdfcHJvZ3JhbSA9IHByb2dyYW07XG5cdFx0fSBlbHNlIHtcblx0XHRcdC8vIGlmIHRoaXMgaXMgYW4gaW50cm8sIGFuZCB0aGVyZSdzIGEgZGVsYXksIHdlIG5lZWQgdG8gZG9cblx0XHRcdC8vIGFuIGluaXRpYWwgdGljayBhbmQvb3IgYXBwbHkgQ1NTIGFuaW1hdGlvbiBpbW1lZGlhdGVseVxuXHRcdFx0aWYgKGNzcykge1xuXHRcdFx0XHRjbGVhcl9hbmltYXRpb24oKTtcblx0XHRcdFx0YW5pbWF0aW9uX25hbWUgPSBjcmVhdGVfcnVsZShub2RlLCB0LCBiLCBkdXJhdGlvbiwgZGVsYXksIGVhc2luZywgY3NzKTtcblx0XHRcdH1cblx0XHRcdGlmIChiKSB0aWNrKDAsIDEpO1xuXHRcdFx0cnVubmluZ19wcm9ncmFtID0gaW5pdChwcm9ncmFtLCBkdXJhdGlvbik7XG5cdFx0XHRhZGRfcmVuZGVyX2NhbGxiYWNrKCgpID0+IGRpc3BhdGNoKG5vZGUsIGIsICdzdGFydCcpKTtcblx0XHRcdGxvb3AoKG5vdykgPT4ge1xuXHRcdFx0XHRpZiAocGVuZGluZ19wcm9ncmFtICYmIG5vdyA+IHBlbmRpbmdfcHJvZ3JhbS5zdGFydCkge1xuXHRcdFx0XHRcdHJ1bm5pbmdfcHJvZ3JhbSA9IGluaXQocGVuZGluZ19wcm9ncmFtLCBkdXJhdGlvbik7XG5cdFx0XHRcdFx0cGVuZGluZ19wcm9ncmFtID0gbnVsbDtcblx0XHRcdFx0XHRkaXNwYXRjaChub2RlLCBydW5uaW5nX3Byb2dyYW0uYiwgJ3N0YXJ0Jyk7XG5cdFx0XHRcdFx0aWYgKGNzcykge1xuXHRcdFx0XHRcdFx0Y2xlYXJfYW5pbWF0aW9uKCk7XG5cdFx0XHRcdFx0XHRhbmltYXRpb25fbmFtZSA9IGNyZWF0ZV9ydWxlKFxuXHRcdFx0XHRcdFx0XHRub2RlLFxuXHRcdFx0XHRcdFx0XHR0LFxuXHRcdFx0XHRcdFx0XHRydW5uaW5nX3Byb2dyYW0uYixcblx0XHRcdFx0XHRcdFx0cnVubmluZ19wcm9ncmFtLmR1cmF0aW9uLFxuXHRcdFx0XHRcdFx0XHQwLFxuXHRcdFx0XHRcdFx0XHRlYXNpbmcsXG5cdFx0XHRcdFx0XHRcdGNvbmZpZy5jc3Ncblx0XHRcdFx0XHRcdCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdGlmIChydW5uaW5nX3Byb2dyYW0pIHtcblx0XHRcdFx0XHRpZiAobm93ID49IHJ1bm5pbmdfcHJvZ3JhbS5lbmQpIHtcblx0XHRcdFx0XHRcdHRpY2soKHQgPSBydW5uaW5nX3Byb2dyYW0uYiksIDEgLSB0KTtcblx0XHRcdFx0XHRcdGRpc3BhdGNoKG5vZGUsIHJ1bm5pbmdfcHJvZ3JhbS5iLCAnZW5kJyk7XG5cdFx0XHRcdFx0XHRpZiAoIXBlbmRpbmdfcHJvZ3JhbSkge1xuXHRcdFx0XHRcdFx0XHQvLyB3ZSdyZSBkb25lXG5cdFx0XHRcdFx0XHRcdGlmIChydW5uaW5nX3Byb2dyYW0uYikge1xuXHRcdFx0XHRcdFx0XHRcdC8vIGludHJvIFx1MjAxNCB3ZSBjYW4gdGlkeSB1cCBpbW1lZGlhdGVseVxuXHRcdFx0XHRcdFx0XHRcdGNsZWFyX2FuaW1hdGlvbigpO1xuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdC8vIG91dHJvIFx1MjAxNCBuZWVkcyB0byBiZSBjb29yZGluYXRlZFxuXHRcdFx0XHRcdFx0XHRcdGlmICghLS1ydW5uaW5nX3Byb2dyYW0uZ3JvdXAucikgcnVuX2FsbChydW5uaW5nX3Byb2dyYW0uZ3JvdXAuYyk7XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdHJ1bm5pbmdfcHJvZ3JhbSA9IG51bGw7XG5cdFx0XHRcdFx0fSBlbHNlIGlmIChub3cgPj0gcnVubmluZ19wcm9ncmFtLnN0YXJ0KSB7XG5cdFx0XHRcdFx0XHRjb25zdCBwID0gbm93IC0gcnVubmluZ19wcm9ncmFtLnN0YXJ0O1xuXHRcdFx0XHRcdFx0dCA9IHJ1bm5pbmdfcHJvZ3JhbS5hICsgcnVubmluZ19wcm9ncmFtLmQgKiBlYXNpbmcocCAvIHJ1bm5pbmdfcHJvZ3JhbS5kdXJhdGlvbik7XG5cdFx0XHRcdFx0XHR0aWNrKHQsIDEgLSB0KTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0cmV0dXJuICEhKHJ1bm5pbmdfcHJvZ3JhbSB8fCBwZW5kaW5nX3Byb2dyYW0pO1xuXHRcdFx0fSk7XG5cdFx0fVxuXHR9XG5cdHJldHVybiB7XG5cdFx0cnVuKGIpIHtcblx0XHRcdGlmIChpc19mdW5jdGlvbihjb25maWcpKSB7XG5cdFx0XHRcdHdhaXQoKS50aGVuKCgpID0+IHtcblx0XHRcdFx0XHRjb25zdCBvcHRzID0geyBkaXJlY3Rpb246IGIgPyAnaW4nIDogJ291dCcgfTtcblx0XHRcdFx0XHQvLyBAdHMtaWdub3JlXG5cdFx0XHRcdFx0Y29uZmlnID0gY29uZmlnKG9wdHMpO1xuXHRcdFx0XHRcdGdvKGIpO1xuXHRcdFx0XHR9KTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGdvKGIpO1xuXHRcdFx0fVxuXHRcdH0sXG5cdFx0ZW5kKCkge1xuXHRcdFx0Y2xlYXJfYW5pbWF0aW9uKCk7XG5cdFx0XHRydW5uaW5nX3Byb2dyYW0gPSBwZW5kaW5nX3Byb2dyYW0gPSBudWxsO1xuXHRcdH1cblx0fTtcbn1cblxuLyoqIEB0eXBlZGVmIHsxfSBJTlRSTyAqL1xuLyoqIEB0eXBlZGVmIHswfSBPVVRSTyAqL1xuLyoqIEB0eXBlZGVmIHt7IGRpcmVjdGlvbjogJ2luJyB8ICdvdXQnIHwgJ2JvdGgnIH19IFRyYW5zaXRpb25PcHRpb25zICovXG4vKiogQHR5cGVkZWYgeyhub2RlOiBFbGVtZW50LCBwYXJhbXM6IGFueSwgb3B0aW9uczogVHJhbnNpdGlvbk9wdGlvbnMpID0+IGltcG9ydCgnLi4vdHJhbnNpdGlvbi9wdWJsaWMuanMnKS5UcmFuc2l0aW9uQ29uZmlnfSBUcmFuc2l0aW9uRm4gKi9cblxuLyoqXG4gKiBAdHlwZWRlZiB7T2JqZWN0fSBPdXRyb1xuICogQHByb3BlcnR5IHtudW1iZXJ9IHJcbiAqIEBwcm9wZXJ0eSB7RnVuY3Rpb25bXX0gY1xuICogQHByb3BlcnR5IHtPYmplY3R9IHBcbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFBlbmRpbmdQcm9ncmFtXG4gKiBAcHJvcGVydHkge251bWJlcn0gc3RhcnRcbiAqIEBwcm9wZXJ0eSB7SU5UUk98T1VUUk99IGJcbiAqIEBwcm9wZXJ0eSB7T3V0cm99IFtncm91cF1cbiAqL1xuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IFByb2dyYW1cbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBhXG4gKiBAcHJvcGVydHkge0lOVFJPfE9VVFJPfSBiXG4gKiBAcHJvcGVydHkgezF8LTF9IGRcbiAqIEBwcm9wZXJ0eSB7bnVtYmVyfSBkdXJhdGlvblxuICogQHByb3BlcnR5IHtudW1iZXJ9IHN0YXJ0XG4gKiBAcHJvcGVydHkge251bWJlcn0gZW5kXG4gKiBAcHJvcGVydHkge091dHJvfSBbZ3JvdXBdXG4gKi9cbiIsICJpbXBvcnQgeyB0cmFuc2l0aW9uX2luLCB0cmFuc2l0aW9uX291dCB9IGZyb20gJy4vdHJhbnNpdGlvbnMuanMnO1xuaW1wb3J0IHsgcnVuX2FsbCB9IGZyb20gJy4vdXRpbHMuanMnO1xuXG4vLyBnZW5lcmFsIGVhY2ggZnVuY3Rpb25zOlxuXG5leHBvcnQgZnVuY3Rpb24gZW5zdXJlX2FycmF5X2xpa2UoYXJyYXlfbGlrZV9vcl9pdGVyYXRvcikge1xuXHRyZXR1cm4gYXJyYXlfbGlrZV9vcl9pdGVyYXRvcj8ubGVuZ3RoICE9PSB1bmRlZmluZWRcblx0XHQ/IGFycmF5X2xpa2Vfb3JfaXRlcmF0b3Jcblx0XHQ6IEFycmF5LmZyb20oYXJyYXlfbGlrZV9vcl9pdGVyYXRvcik7XG59XG5cbi8vIGtleWVkIGVhY2ggZnVuY3Rpb25zOlxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gZGVzdHJveV9ibG9jayhibG9jaywgbG9va3VwKSB7XG5cdGJsb2NrLmQoMSk7XG5cdGxvb2t1cC5kZWxldGUoYmxvY2sua2V5KTtcbn1cblxuLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIG91dHJvX2FuZF9kZXN0cm95X2Jsb2NrKGJsb2NrLCBsb29rdXApIHtcblx0dHJhbnNpdGlvbl9vdXQoYmxvY2ssIDEsIDEsICgpID0+IHtcblx0XHRsb29rdXAuZGVsZXRlKGJsb2NrLmtleSk7XG5cdH0pO1xufVxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gZml4X2FuZF9kZXN0cm95X2Jsb2NrKGJsb2NrLCBsb29rdXApIHtcblx0YmxvY2suZigpO1xuXHRkZXN0cm95X2Jsb2NrKGJsb2NrLCBsb29rdXApO1xufVxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gZml4X2FuZF9vdXRyb19hbmRfZGVzdHJveV9ibG9jayhibG9jaywgbG9va3VwKSB7XG5cdGJsb2NrLmYoKTtcblx0b3V0cm9fYW5kX2Rlc3Ryb3lfYmxvY2soYmxvY2ssIGxvb2t1cCk7XG59XG5cbi8qKiBAcmV0dXJucyB7YW55W119ICovXG5leHBvcnQgZnVuY3Rpb24gdXBkYXRlX2tleWVkX2VhY2goXG5cdG9sZF9ibG9ja3MsXG5cdGRpcnR5LFxuXHRnZXRfa2V5LFxuXHRkeW5hbWljLFxuXHRjdHgsXG5cdGxpc3QsXG5cdGxvb2t1cCxcblx0bm9kZSxcblx0ZGVzdHJveSxcblx0Y3JlYXRlX2VhY2hfYmxvY2ssXG5cdG5leHQsXG5cdGdldF9jb250ZXh0XG4pIHtcblx0bGV0IG8gPSBvbGRfYmxvY2tzLmxlbmd0aDtcblx0bGV0IG4gPSBsaXN0Lmxlbmd0aDtcblx0bGV0IGkgPSBvO1xuXHRjb25zdCBvbGRfaW5kZXhlcyA9IHt9O1xuXHR3aGlsZSAoaS0tKSBvbGRfaW5kZXhlc1tvbGRfYmxvY2tzW2ldLmtleV0gPSBpO1xuXHRjb25zdCBuZXdfYmxvY2tzID0gW107XG5cdGNvbnN0IG5ld19sb29rdXAgPSBuZXcgTWFwKCk7XG5cdGNvbnN0IGRlbHRhcyA9IG5ldyBNYXAoKTtcblx0Y29uc3QgdXBkYXRlcyA9IFtdO1xuXHRpID0gbjtcblx0d2hpbGUgKGktLSkge1xuXHRcdGNvbnN0IGNoaWxkX2N0eCA9IGdldF9jb250ZXh0KGN0eCwgbGlzdCwgaSk7XG5cdFx0Y29uc3Qga2V5ID0gZ2V0X2tleShjaGlsZF9jdHgpO1xuXHRcdGxldCBibG9jayA9IGxvb2t1cC5nZXQoa2V5KTtcblx0XHRpZiAoIWJsb2NrKSB7XG5cdFx0XHRibG9jayA9IGNyZWF0ZV9lYWNoX2Jsb2NrKGtleSwgY2hpbGRfY3R4KTtcblx0XHRcdGJsb2NrLmMoKTtcblx0XHR9IGVsc2UgaWYgKGR5bmFtaWMpIHtcblx0XHRcdC8vIGRlZmVyIHVwZGF0ZXMgdW50aWwgYWxsIHRoZSBET00gc2h1ZmZsaW5nIGlzIGRvbmVcblx0XHRcdHVwZGF0ZXMucHVzaCgoKSA9PiBibG9jay5wKGNoaWxkX2N0eCwgZGlydHkpKTtcblx0XHR9XG5cdFx0bmV3X2xvb2t1cC5zZXQoa2V5LCAobmV3X2Jsb2Nrc1tpXSA9IGJsb2NrKSk7XG5cdFx0aWYgKGtleSBpbiBvbGRfaW5kZXhlcykgZGVsdGFzLnNldChrZXksIE1hdGguYWJzKGkgLSBvbGRfaW5kZXhlc1trZXldKSk7XG5cdH1cblx0Y29uc3Qgd2lsbF9tb3ZlID0gbmV3IFNldCgpO1xuXHRjb25zdCBkaWRfbW92ZSA9IG5ldyBTZXQoKTtcblx0LyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuXHRmdW5jdGlvbiBpbnNlcnQoYmxvY2spIHtcblx0XHR0cmFuc2l0aW9uX2luKGJsb2NrLCAxKTtcblx0XHRibG9jay5tKG5vZGUsIG5leHQpO1xuXHRcdGxvb2t1cC5zZXQoYmxvY2sua2V5LCBibG9jayk7XG5cdFx0bmV4dCA9IGJsb2NrLmZpcnN0O1xuXHRcdG4tLTtcblx0fVxuXHR3aGlsZSAobyAmJiBuKSB7XG5cdFx0Y29uc3QgbmV3X2Jsb2NrID0gbmV3X2Jsb2Nrc1tuIC0gMV07XG5cdFx0Y29uc3Qgb2xkX2Jsb2NrID0gb2xkX2Jsb2Nrc1tvIC0gMV07XG5cdFx0Y29uc3QgbmV3X2tleSA9IG5ld19ibG9jay5rZXk7XG5cdFx0Y29uc3Qgb2xkX2tleSA9IG9sZF9ibG9jay5rZXk7XG5cdFx0aWYgKG5ld19ibG9jayA9PT0gb2xkX2Jsb2NrKSB7XG5cdFx0XHQvLyBkbyBub3RoaW5nXG5cdFx0XHRuZXh0ID0gbmV3X2Jsb2NrLmZpcnN0O1xuXHRcdFx0by0tO1xuXHRcdFx0bi0tO1xuXHRcdH0gZWxzZSBpZiAoIW5ld19sb29rdXAuaGFzKG9sZF9rZXkpKSB7XG5cdFx0XHQvLyByZW1vdmUgb2xkIGJsb2NrXG5cdFx0XHRkZXN0cm95KG9sZF9ibG9jaywgbG9va3VwKTtcblx0XHRcdG8tLTtcblx0XHR9IGVsc2UgaWYgKCFsb29rdXAuaGFzKG5ld19rZXkpIHx8IHdpbGxfbW92ZS5oYXMobmV3X2tleSkpIHtcblx0XHRcdGluc2VydChuZXdfYmxvY2spO1xuXHRcdH0gZWxzZSBpZiAoZGlkX21vdmUuaGFzKG9sZF9rZXkpKSB7XG5cdFx0XHRvLS07XG5cdFx0fSBlbHNlIGlmIChkZWx0YXMuZ2V0KG5ld19rZXkpID4gZGVsdGFzLmdldChvbGRfa2V5KSkge1xuXHRcdFx0ZGlkX21vdmUuYWRkKG5ld19rZXkpO1xuXHRcdFx0aW5zZXJ0KG5ld19ibG9jayk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHdpbGxfbW92ZS5hZGQob2xkX2tleSk7XG5cdFx0XHRvLS07XG5cdFx0fVxuXHR9XG5cdHdoaWxlIChvLS0pIHtcblx0XHRjb25zdCBvbGRfYmxvY2sgPSBvbGRfYmxvY2tzW29dO1xuXHRcdGlmICghbmV3X2xvb2t1cC5oYXMob2xkX2Jsb2NrLmtleSkpIGRlc3Ryb3kob2xkX2Jsb2NrLCBsb29rdXApO1xuXHR9XG5cdHdoaWxlIChuKSBpbnNlcnQobmV3X2Jsb2Nrc1tuIC0gMV0pO1xuXHRydW5fYWxsKHVwZGF0ZXMpO1xuXHRyZXR1cm4gbmV3X2Jsb2Nrcztcbn1cblxuLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlX2VhY2hfa2V5cyhjdHgsIGxpc3QsIGdldF9jb250ZXh0LCBnZXRfa2V5KSB7XG5cdGNvbnN0IGtleXMgPSBuZXcgTWFwKCk7XG5cdGZvciAobGV0IGkgPSAwOyBpIDwgbGlzdC5sZW5ndGg7IGkrKykge1xuXHRcdGNvbnN0IGtleSA9IGdldF9rZXkoZ2V0X2NvbnRleHQoY3R4LCBsaXN0LCBpKSk7XG5cdFx0aWYgKGtleXMuaGFzKGtleSkpIHtcblx0XHRcdGxldCB2YWx1ZSA9ICcnO1xuXHRcdFx0dHJ5IHtcblx0XHRcdFx0dmFsdWUgPSBgd2l0aCB2YWx1ZSAnJHtTdHJpbmcoa2V5KX0nIGA7XG5cdFx0XHR9IGNhdGNoIChlKSB7XG5cdFx0XHRcdC8vIGNhbid0IHN0cmluZ2lmeVxuXHRcdFx0fVxuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFxuXHRcdFx0XHRgQ2Fubm90IGhhdmUgZHVwbGljYXRlIGtleXMgaW4gYSBrZXllZCBlYWNoOiBLZXlzIGF0IGluZGV4ICR7a2V5cy5nZXQoXG5cdFx0XHRcdFx0a2V5XG5cdFx0XHRcdCl9IGFuZCAke2l9ICR7dmFsdWV9YXJlIGR1cGxpY2F0ZXNgXG5cdFx0XHQpO1xuXHRcdH1cblx0XHRrZXlzLnNldChrZXksIGkpO1xuXHR9XG59XG4iLCAiLyoqIEByZXR1cm5zIHt7fX0gKi9cbmV4cG9ydCBmdW5jdGlvbiBnZXRfc3ByZWFkX3VwZGF0ZShsZXZlbHMsIHVwZGF0ZXMpIHtcblx0Y29uc3QgdXBkYXRlID0ge307XG5cdGNvbnN0IHRvX251bGxfb3V0ID0ge307XG5cdGNvbnN0IGFjY291bnRlZF9mb3IgPSB7ICQkc2NvcGU6IDEgfTtcblx0bGV0IGkgPSBsZXZlbHMubGVuZ3RoO1xuXHR3aGlsZSAoaS0tKSB7XG5cdFx0Y29uc3QgbyA9IGxldmVsc1tpXTtcblx0XHRjb25zdCBuID0gdXBkYXRlc1tpXTtcblx0XHRpZiAobikge1xuXHRcdFx0Zm9yIChjb25zdCBrZXkgaW4gbykge1xuXHRcdFx0XHRpZiAoIShrZXkgaW4gbikpIHRvX251bGxfb3V0W2tleV0gPSAxO1xuXHRcdFx0fVxuXHRcdFx0Zm9yIChjb25zdCBrZXkgaW4gbikge1xuXHRcdFx0XHRpZiAoIWFjY291bnRlZF9mb3Jba2V5XSkge1xuXHRcdFx0XHRcdHVwZGF0ZVtrZXldID0gbltrZXldO1xuXHRcdFx0XHRcdGFjY291bnRlZF9mb3Jba2V5XSA9IDE7XG5cdFx0XHRcdH1cblx0XHRcdH1cblx0XHRcdGxldmVsc1tpXSA9IG47XG5cdFx0fSBlbHNlIHtcblx0XHRcdGZvciAoY29uc3Qga2V5IGluIG8pIHtcblx0XHRcdFx0YWNjb3VudGVkX2ZvcltrZXldID0gMTtcblx0XHRcdH1cblx0XHR9XG5cdH1cblx0Zm9yIChjb25zdCBrZXkgaW4gdG9fbnVsbF9vdXQpIHtcblx0XHRpZiAoIShrZXkgaW4gdXBkYXRlKSkgdXBkYXRlW2tleV0gPSB1bmRlZmluZWQ7XG5cdH1cblx0cmV0dXJuIHVwZGF0ZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldF9zcHJlYWRfb2JqZWN0KHNwcmVhZF9wcm9wcykge1xuXHRyZXR1cm4gdHlwZW9mIHNwcmVhZF9wcm9wcyA9PT0gJ29iamVjdCcgJiYgc3ByZWFkX3Byb3BzICE9PSBudWxsID8gc3ByZWFkX3Byb3BzIDoge307XG59XG4iLCAiY29uc3QgX2Jvb2xlYW5fYXR0cmlidXRlcyA9IC8qKiBAdHlwZSB7Y29uc3R9ICovIChbXG5cdCdhbGxvd2Z1bGxzY3JlZW4nLFxuXHQnYWxsb3dwYXltZW50cmVxdWVzdCcsXG5cdCdhc3luYycsXG5cdCdhdXRvZm9jdXMnLFxuXHQnYXV0b3BsYXknLFxuXHQnY2hlY2tlZCcsXG5cdCdjb250cm9scycsXG5cdCdkZWZhdWx0Jyxcblx0J2RlZmVyJyxcblx0J2Rpc2FibGVkJyxcblx0J2Zvcm1ub3ZhbGlkYXRlJyxcblx0J2hpZGRlbicsXG5cdCdpbmVydCcsXG5cdCdpc21hcCcsXG5cdCdsb29wJyxcblx0J211bHRpcGxlJyxcblx0J211dGVkJyxcblx0J25vbW9kdWxlJyxcblx0J25vdmFsaWRhdGUnLFxuXHQnb3BlbicsXG5cdCdwbGF5c2lubGluZScsXG5cdCdyZWFkb25seScsXG5cdCdyZXF1aXJlZCcsXG5cdCdyZXZlcnNlZCcsXG5cdCdzZWxlY3RlZCdcbl0pO1xuXG4vKipcbiAqIExpc3Qgb2YgSFRNTCBib29sZWFuIGF0dHJpYnV0ZXMgKGUuZy4gYDxpbnB1dCBkaXNhYmxlZD5gKS5cbiAqIFNvdXJjZTogaHR0cHM6Ly9odG1sLnNwZWMud2hhdHdnLm9yZy9tdWx0aXBhZ2UvaW5kaWNlcy5odG1sXG4gKlxuICogQHR5cGUge1NldDxzdHJpbmc+fVxuICovXG5leHBvcnQgY29uc3QgYm9vbGVhbl9hdHRyaWJ1dGVzID0gbmV3IFNldChbLi4uX2Jvb2xlYW5fYXR0cmlidXRlc10pO1xuXG4vKiogQHR5cGVkZWYge3R5cGVvZiBfYm9vbGVhbl9hdHRyaWJ1dGVzW251bWJlcl19IEJvb2xlYW5BdHRyaWJ1dGVzICovXG4iLCAiLyoqIHJlZ2V4IG9mIGFsbCBodG1sIHZvaWQgZWxlbWVudCBuYW1lcyAqL1xuY29uc3Qgdm9pZF9lbGVtZW50X25hbWVzID1cblx0L14oPzphcmVhfGJhc2V8YnJ8Y29sfGNvbW1hbmR8ZW1iZWR8aHJ8aW1nfGlucHV0fGtleWdlbnxsaW5rfG1ldGF8cGFyYW18c291cmNlfHRyYWNrfHdicikkLztcblxuLyoqIHJlZ2V4IG9mIGFsbCBodG1sIGVsZW1lbnQgbmFtZXMuIHN2ZyBhbmQgbWF0aCBhcmUgb21pdHRlZCBiZWNhdXNlIHRoZXkgYmVsb25nIHRvIHRoZSBzdmcgZWxlbWVudHMgbmFtZXNwYWNlICovXG5jb25zdCBodG1sX2VsZW1lbnRfbmFtZXMgPVxuXHQvXig/OmF8YWJicnxhZGRyZXNzfGFyZWF8YXJ0aWNsZXxhc2lkZXxhdWRpb3xifGJhc2V8YmRpfGJkb3xibG9ja3F1b3RlfGJvZHl8YnJ8YnV0dG9ufGNhbnZhc3xjYXB0aW9ufGNpdGV8Y29kZXxjb2x8Y29sZ3JvdXB8ZGF0YXxkYXRhbGlzdHxkZHxkZWx8ZGV0YWlsc3xkZm58ZGlhbG9nfGRpdnxkbHxkdHxlbXxlbWJlZHxmaWVsZHNldHxmaWdjYXB0aW9ufGZpZ3VyZXxmb290ZXJ8Zm9ybXxoMXxoMnxoM3xoNHxoNXxoNnxoZWFkfGhlYWRlcnxocnxodG1sfGl8aWZyYW1lfGltZ3xpbnB1dHxpbnN8a2JkfGxhYmVsfGxlZ2VuZHxsaXxsaW5rfG1haW58bWFwfG1hcmt8bWV0YXxtZXRlcnxuYXZ8bm9zY3JpcHR8b2JqZWN0fG9sfG9wdGdyb3VwfG9wdGlvbnxvdXRwdXR8cHxwYXJhbXxwaWN0dXJlfHByZXxwcm9ncmVzc3xxfHJwfHJ0fHJ1Ynl8c3xzYW1wfHNjcmlwdHxzZWN0aW9ufHNlbGVjdHxzbWFsbHxzb3VyY2V8c3BhbnxzdHJvbmd8c3R5bGV8c3VifHN1bW1hcnl8c3VwfHRhYmxlfHRib2R5fHRkfHRlbXBsYXRlfHRleHRhcmVhfHRmb290fHRofHRoZWFkfHRpbWV8dGl0bGV8dHJ8dHJhY2t8dXx1bHx2YXJ8dmlkZW98d2JyKSQvO1xuXG4vKiogcmVnZXggb2YgYWxsIHN2ZyBlbGVtZW50IG5hbWVzICovXG5jb25zdCBzdmcgPVxuXHQvXig/OmFsdEdseXBofGFsdEdseXBoRGVmfGFsdEdseXBoSXRlbXxhbmltYXRlfGFuaW1hdGVDb2xvcnxhbmltYXRlTW90aW9ufGFuaW1hdGVUcmFuc2Zvcm18Y2lyY2xlfGNsaXBQYXRofGNvbG9yLXByb2ZpbGV8Y3Vyc29yfGRlZnN8ZGVzY3xkaXNjYXJkfGVsbGlwc2V8ZmVCbGVuZHxmZUNvbG9yTWF0cml4fGZlQ29tcG9uZW50VHJhbnNmZXJ8ZmVDb21wb3NpdGV8ZmVDb252b2x2ZU1hdHJpeHxmZURpZmZ1c2VMaWdodGluZ3xmZURpc3BsYWNlbWVudE1hcHxmZURpc3RhbnRMaWdodHxmZURyb3BTaGFkb3d8ZmVGbG9vZHxmZUZ1bmNBfGZlRnVuY0J8ZmVGdW5jR3xmZUZ1bmNSfGZlR2F1c3NpYW5CbHVyfGZlSW1hZ2V8ZmVNZXJnZXxmZU1lcmdlTm9kZXxmZU1vcnBob2xvZ3l8ZmVPZmZzZXR8ZmVQb2ludExpZ2h0fGZlU3BlY3VsYXJMaWdodGluZ3xmZVNwb3RMaWdodHxmZVRpbGV8ZmVUdXJidWxlbmNlfGZpbHRlcnxmb250fGZvbnQtZmFjZXxmb250LWZhY2UtZm9ybWF0fGZvbnQtZmFjZS1uYW1lfGZvbnQtZmFjZS1zcmN8Zm9udC1mYWNlLXVyaXxmb3JlaWduT2JqZWN0fGd8Z2x5cGh8Z2x5cGhSZWZ8aGF0Y2h8aGF0Y2hwYXRofGhrZXJufGltYWdlfGxpbmV8bGluZWFyR3JhZGllbnR8bWFya2VyfG1hc2t8bWVzaHxtZXNoZ3JhZGllbnR8bWVzaHBhdGNofG1lc2hyb3d8bWV0YWRhdGF8bWlzc2luZy1nbHlwaHxtcGF0aHxwYXRofHBhdHRlcm58cG9seWdvbnxwb2x5bGluZXxyYWRpYWxHcmFkaWVudHxyZWN0fHNldHxzb2xpZGNvbG9yfHN0b3B8c3ZnfHN3aXRjaHxzeW1ib2x8dGV4dHx0ZXh0UGF0aHx0cmVmfHRzcGFufHVua25vd258dXNlfHZpZXd8dmtlcm4pJC87XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNfdm9pZChuYW1lKSB7XG5cdHJldHVybiB2b2lkX2VsZW1lbnRfbmFtZXMudGVzdChuYW1lKSB8fCBuYW1lLnRvTG93ZXJDYXNlKCkgPT09ICchZG9jdHlwZSc7XG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IG5hbWVcbiAqIEByZXR1cm5zIHtib29sZWFufVxuICovXG5leHBvcnQgZnVuY3Rpb24gaXNfaHRtbChuYW1lKSB7XG5cdHJldHVybiBodG1sX2VsZW1lbnRfbmFtZXMudGVzdChuYW1lKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge3N0cmluZ30gbmFtZVxuICogQHJldHVybnMge2Jvb2xlYW59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpc19zdmcobmFtZSkge1xuXHRyZXR1cm4gc3ZnLnRlc3QobmFtZSk7XG59XG4iLCAiaW1wb3J0IHtcblx0YWRkX3JlbmRlcl9jYWxsYmFjayxcblx0Zmx1c2gsXG5cdGZsdXNoX3JlbmRlcl9jYWxsYmFja3MsXG5cdHNjaGVkdWxlX3VwZGF0ZSxcblx0ZGlydHlfY29tcG9uZW50c1xufSBmcm9tICcuL3NjaGVkdWxlci5qcyc7XG5pbXBvcnQgeyBjdXJyZW50X2NvbXBvbmVudCwgc2V0X2N1cnJlbnRfY29tcG9uZW50IH0gZnJvbSAnLi9saWZlY3ljbGUuanMnO1xuaW1wb3J0IHsgYmxhbmtfb2JqZWN0LCBpc19lbXB0eSwgaXNfZnVuY3Rpb24sIHJ1biwgcnVuX2FsbCwgbm9vcCB9IGZyb20gJy4vdXRpbHMuanMnO1xuaW1wb3J0IHtcblx0Y2hpbGRyZW4sXG5cdGRldGFjaCxcblx0c3RhcnRfaHlkcmF0aW5nLFxuXHRlbmRfaHlkcmF0aW5nLFxuXHRnZXRfY3VzdG9tX2VsZW1lbnRzX3Nsb3RzLFxuXHRpbnNlcnQsXG5cdGVsZW1lbnQsXG5cdGF0dHJcbn0gZnJvbSAnLi9kb20uanMnO1xuaW1wb3J0IHsgdHJhbnNpdGlvbl9pbiB9IGZyb20gJy4vdHJhbnNpdGlvbnMuanMnO1xuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gYmluZChjb21wb25lbnQsIG5hbWUsIGNhbGxiYWNrKSB7XG5cdGNvbnN0IGluZGV4ID0gY29tcG9uZW50LiQkLnByb3BzW25hbWVdO1xuXHRpZiAoaW5kZXggIT09IHVuZGVmaW5lZCkge1xuXHRcdGNvbXBvbmVudC4kJC5ib3VuZFtpbmRleF0gPSBjYWxsYmFjaztcblx0XHRjYWxsYmFjayhjb21wb25lbnQuJCQuY3R4W2luZGV4XSk7XG5cdH1cbn1cblxuLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuZXhwb3J0IGZ1bmN0aW9uIGNyZWF0ZV9jb21wb25lbnQoYmxvY2spIHtcblx0YmxvY2sgJiYgYmxvY2suYygpO1xufVxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gY2xhaW1fY29tcG9uZW50KGJsb2NrLCBwYXJlbnRfbm9kZXMpIHtcblx0YmxvY2sgJiYgYmxvY2subChwYXJlbnRfbm9kZXMpO1xufVxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gbW91bnRfY29tcG9uZW50KGNvbXBvbmVudCwgdGFyZ2V0LCBhbmNob3IpIHtcblx0Y29uc3QgeyBmcmFnbWVudCwgYWZ0ZXJfdXBkYXRlIH0gPSBjb21wb25lbnQuJCQ7XG5cdGZyYWdtZW50ICYmIGZyYWdtZW50Lm0odGFyZ2V0LCBhbmNob3IpO1xuXHQvLyBvbk1vdW50IGhhcHBlbnMgYmVmb3JlIHRoZSBpbml0aWFsIGFmdGVyVXBkYXRlXG5cdGFkZF9yZW5kZXJfY2FsbGJhY2soKCkgPT4ge1xuXHRcdGNvbnN0IG5ld19vbl9kZXN0cm95ID0gY29tcG9uZW50LiQkLm9uX21vdW50Lm1hcChydW4pLmZpbHRlcihpc19mdW5jdGlvbik7XG5cdFx0Ly8gaWYgdGhlIGNvbXBvbmVudCB3YXMgZGVzdHJveWVkIGltbWVkaWF0ZWx5XG5cdFx0Ly8gaXQgd2lsbCB1cGRhdGUgdGhlIGAkJC5vbl9kZXN0cm95YCByZWZlcmVuY2UgdG8gYG51bGxgLlxuXHRcdC8vIHRoZSBkZXN0cnVjdHVyZWQgb25fZGVzdHJveSBtYXkgc3RpbGwgcmVmZXJlbmNlIHRvIHRoZSBvbGQgYXJyYXlcblx0XHRpZiAoY29tcG9uZW50LiQkLm9uX2Rlc3Ryb3kpIHtcblx0XHRcdGNvbXBvbmVudC4kJC5vbl9kZXN0cm95LnB1c2goLi4ubmV3X29uX2Rlc3Ryb3kpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBFZGdlIGNhc2UgLSBjb21wb25lbnQgd2FzIGRlc3Ryb3llZCBpbW1lZGlhdGVseSxcblx0XHRcdC8vIG1vc3QgbGlrZWx5IGFzIGEgcmVzdWx0IG9mIGEgYmluZGluZyBpbml0aWFsaXNpbmdcblx0XHRcdHJ1bl9hbGwobmV3X29uX2Rlc3Ryb3kpO1xuXHRcdH1cblx0XHRjb21wb25lbnQuJCQub25fbW91bnQgPSBbXTtcblx0fSk7XG5cdGFmdGVyX3VwZGF0ZS5mb3JFYWNoKGFkZF9yZW5kZXJfY2FsbGJhY2spO1xufVxuXG4vKiogQHJldHVybnMge3ZvaWR9ICovXG5leHBvcnQgZnVuY3Rpb24gZGVzdHJveV9jb21wb25lbnQoY29tcG9uZW50LCBkZXRhY2hpbmcpIHtcblx0Y29uc3QgJCQgPSBjb21wb25lbnQuJCQ7XG5cdGlmICgkJC5mcmFnbWVudCAhPT0gbnVsbCkge1xuXHRcdGZsdXNoX3JlbmRlcl9jYWxsYmFja3MoJCQuYWZ0ZXJfdXBkYXRlKTtcblx0XHRydW5fYWxsKCQkLm9uX2Rlc3Ryb3kpO1xuXHRcdCQkLmZyYWdtZW50ICYmICQkLmZyYWdtZW50LmQoZGV0YWNoaW5nKTtcblx0XHQvLyBUT0RPIG51bGwgb3V0IG90aGVyIHJlZnMsIGluY2x1ZGluZyBjb21wb25lbnQuJCQgKGJ1dCBuZWVkIHRvXG5cdFx0Ly8gcHJlc2VydmUgZmluYWwgc3RhdGU/KVxuXHRcdCQkLm9uX2Rlc3Ryb3kgPSAkJC5mcmFnbWVudCA9IG51bGw7XG5cdFx0JCQuY3R4ID0gW107XG5cdH1cbn1cblxuLyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuZnVuY3Rpb24gbWFrZV9kaXJ0eShjb21wb25lbnQsIGkpIHtcblx0aWYgKGNvbXBvbmVudC4kJC5kaXJ0eVswXSA9PT0gLTEpIHtcblx0XHRkaXJ0eV9jb21wb25lbnRzLnB1c2goY29tcG9uZW50KTtcblx0XHRzY2hlZHVsZV91cGRhdGUoKTtcblx0XHRjb21wb25lbnQuJCQuZGlydHkuZmlsbCgwKTtcblx0fVxuXHRjb21wb25lbnQuJCQuZGlydHlbKGkgLyAzMSkgfCAwXSB8PSAxIDw8IGkgJSAzMTtcbn1cblxuLy8gVE9ETzogRG9jdW1lbnQgdGhlIG90aGVyIHBhcmFtc1xuLyoqXG4gKiBAcGFyYW0ge1N2ZWx0ZUNvbXBvbmVudH0gY29tcG9uZW50XG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9wdWJsaWMuanMnKS5Db21wb25lbnRDb25zdHJ1Y3Rvck9wdGlvbnN9IG9wdGlvbnNcbiAqXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi91dGlscy5qcycpWydub3RfZXF1YWwnXX0gbm90X2VxdWFsIFVzZWQgdG8gY29tcGFyZSBwcm9wcyBhbmQgc3RhdGUgdmFsdWVzLlxuICogQHBhcmFtIHsodGFyZ2V0OiBFbGVtZW50IHwgU2hhZG93Um9vdCkgPT4gdm9pZH0gW2FwcGVuZF9zdHlsZXNdIEZ1bmN0aW9uIHRoYXQgYXBwZW5kcyBzdHlsZXMgdG8gdGhlIERPTSB3aGVuIHRoZSBjb21wb25lbnQgaXMgZmlyc3QgaW5pdGlhbGlzZWQuXG4gKiBUaGlzIHdpbGwgYmUgdGhlIGBhZGRfY3NzYCBmdW5jdGlvbiBmcm9tIHRoZSBjb21waWxlZCBjb21wb25lbnQuXG4gKlxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbml0KFxuXHRjb21wb25lbnQsXG5cdG9wdGlvbnMsXG5cdGluc3RhbmNlLFxuXHRjcmVhdGVfZnJhZ21lbnQsXG5cdG5vdF9lcXVhbCxcblx0cHJvcHMsXG5cdGFwcGVuZF9zdHlsZXMgPSBudWxsLFxuXHRkaXJ0eSA9IFstMV1cbikge1xuXHRjb25zdCBwYXJlbnRfY29tcG9uZW50ID0gY3VycmVudF9jb21wb25lbnQ7XG5cdHNldF9jdXJyZW50X2NvbXBvbmVudChjb21wb25lbnQpO1xuXHQvKiogQHR5cGUge2ltcG9ydCgnLi9wcml2YXRlLmpzJykuVCQkfSAqL1xuXHRjb25zdCAkJCA9IChjb21wb25lbnQuJCQgPSB7XG5cdFx0ZnJhZ21lbnQ6IG51bGwsXG5cdFx0Y3R4OiBbXSxcblx0XHQvLyBzdGF0ZVxuXHRcdHByb3BzLFxuXHRcdHVwZGF0ZTogbm9vcCxcblx0XHRub3RfZXF1YWwsXG5cdFx0Ym91bmQ6IGJsYW5rX29iamVjdCgpLFxuXHRcdC8vIGxpZmVjeWNsZVxuXHRcdG9uX21vdW50OiBbXSxcblx0XHRvbl9kZXN0cm95OiBbXSxcblx0XHRvbl9kaXNjb25uZWN0OiBbXSxcblx0XHRiZWZvcmVfdXBkYXRlOiBbXSxcblx0XHRhZnRlcl91cGRhdGU6IFtdLFxuXHRcdGNvbnRleHQ6IG5ldyBNYXAob3B0aW9ucy5jb250ZXh0IHx8IChwYXJlbnRfY29tcG9uZW50ID8gcGFyZW50X2NvbXBvbmVudC4kJC5jb250ZXh0IDogW10pKSxcblx0XHQvLyBldmVyeXRoaW5nIGVsc2Vcblx0XHRjYWxsYmFja3M6IGJsYW5rX29iamVjdCgpLFxuXHRcdGRpcnR5LFxuXHRcdHNraXBfYm91bmQ6IGZhbHNlLFxuXHRcdHJvb3Q6IG9wdGlvbnMudGFyZ2V0IHx8IHBhcmVudF9jb21wb25lbnQuJCQucm9vdFxuXHR9KTtcblx0YXBwZW5kX3N0eWxlcyAmJiBhcHBlbmRfc3R5bGVzKCQkLnJvb3QpO1xuXHRsZXQgcmVhZHkgPSBmYWxzZTtcblx0JCQuY3R4ID0gaW5zdGFuY2Vcblx0XHQ/IGluc3RhbmNlKGNvbXBvbmVudCwgb3B0aW9ucy5wcm9wcyB8fCB7fSwgKGksIHJldCwgLi4ucmVzdCkgPT4ge1xuXHRcdFx0XHRjb25zdCB2YWx1ZSA9IHJlc3QubGVuZ3RoID8gcmVzdFswXSA6IHJldDtcblx0XHRcdFx0aWYgKCQkLmN0eCAmJiBub3RfZXF1YWwoJCQuY3R4W2ldLCAoJCQuY3R4W2ldID0gdmFsdWUpKSkge1xuXHRcdFx0XHRcdGlmICghJCQuc2tpcF9ib3VuZCAmJiAkJC5ib3VuZFtpXSkgJCQuYm91bmRbaV0odmFsdWUpO1xuXHRcdFx0XHRcdGlmIChyZWFkeSkgbWFrZV9kaXJ0eShjb21wb25lbnQsIGkpO1xuXHRcdFx0XHR9XG5cdFx0XHRcdHJldHVybiByZXQ7XG5cdFx0ICB9KVxuXHRcdDogW107XG5cdCQkLnVwZGF0ZSgpO1xuXHRyZWFkeSA9IHRydWU7XG5cdHJ1bl9hbGwoJCQuYmVmb3JlX3VwZGF0ZSk7XG5cdC8vIGBmYWxzZWAgYXMgYSBzcGVjaWFsIGNhc2Ugb2Ygbm8gRE9NIGNvbXBvbmVudFxuXHQkJC5mcmFnbWVudCA9IGNyZWF0ZV9mcmFnbWVudCA/IGNyZWF0ZV9mcmFnbWVudCgkJC5jdHgpIDogZmFsc2U7XG5cdGlmIChvcHRpb25zLnRhcmdldCkge1xuXHRcdGlmIChvcHRpb25zLmh5ZHJhdGUpIHtcblx0XHRcdHN0YXJ0X2h5ZHJhdGluZygpO1xuXHRcdFx0Ly8gVE9ETzogd2hhdCBpcyB0aGUgY29ycmVjdCB0eXBlIGhlcmU/XG5cdFx0XHQvLyBAdHMtZXhwZWN0LWVycm9yXG5cdFx0XHRjb25zdCBub2RlcyA9IGNoaWxkcmVuKG9wdGlvbnMudGFyZ2V0KTtcblx0XHRcdCQkLmZyYWdtZW50ICYmICQkLmZyYWdtZW50Lmwobm9kZXMpO1xuXHRcdFx0bm9kZXMuZm9yRWFjaChkZXRhY2gpO1xuXHRcdH0gZWxzZSB7XG5cdFx0XHQvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLW5vbi1udWxsLWFzc2VydGlvblxuXHRcdFx0JCQuZnJhZ21lbnQgJiYgJCQuZnJhZ21lbnQuYygpO1xuXHRcdH1cblx0XHRpZiAob3B0aW9ucy5pbnRybykgdHJhbnNpdGlvbl9pbihjb21wb25lbnQuJCQuZnJhZ21lbnQpO1xuXHRcdG1vdW50X2NvbXBvbmVudChjb21wb25lbnQsIG9wdGlvbnMudGFyZ2V0LCBvcHRpb25zLmFuY2hvcik7XG5cdFx0ZW5kX2h5ZHJhdGluZygpO1xuXHRcdGZsdXNoKCk7XG5cdH1cblx0c2V0X2N1cnJlbnRfY29tcG9uZW50KHBhcmVudF9jb21wb25lbnQpO1xufVxuXG5leHBvcnQgbGV0IFN2ZWx0ZUVsZW1lbnQ7XG5cbmlmICh0eXBlb2YgSFRNTEVsZW1lbnQgPT09ICdmdW5jdGlvbicpIHtcblx0U3ZlbHRlRWxlbWVudCA9IGNsYXNzIGV4dGVuZHMgSFRNTEVsZW1lbnQge1xuXHRcdC8qKiBUaGUgU3ZlbHRlIGNvbXBvbmVudCBjb25zdHJ1Y3RvciAqL1xuXHRcdCQkY3Rvcjtcblx0XHQvKiogU2xvdHMgKi9cblx0XHQkJHM7XG5cdFx0LyoqIFRoZSBTdmVsdGUgY29tcG9uZW50IGluc3RhbmNlICovXG5cdFx0JCRjO1xuXHRcdC8qKiBXaGV0aGVyIG9yIG5vdCB0aGUgY3VzdG9tIGVsZW1lbnQgaXMgY29ubmVjdGVkICovXG5cdFx0JCRjbiA9IGZhbHNlO1xuXHRcdC8qKiBDb21wb25lbnQgcHJvcHMgZGF0YSAqL1xuXHRcdCQkZCA9IHt9O1xuXHRcdC8qKiBgdHJ1ZWAgaWYgY3VycmVudGx5IGluIHRoZSBwcm9jZXNzIG9mIHJlZmxlY3RpbmcgY29tcG9uZW50IHByb3BzIGJhY2sgdG8gYXR0cmlidXRlcyAqL1xuXHRcdCQkciA9IGZhbHNlO1xuXHRcdC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgQ3VzdG9tRWxlbWVudFByb3BEZWZpbml0aW9uPn0gUHJvcHMgZGVmaW5pdGlvbiAobmFtZSwgcmVmbGVjdGVkLCB0eXBlIGV0YykgKi9cblx0XHQkJHBfZCA9IHt9O1xuXHRcdC8qKiBAdHlwZSB7UmVjb3JkPHN0cmluZywgRnVuY3Rpb25bXT59IEV2ZW50IGxpc3RlbmVycyAqL1xuXHRcdCQkbCA9IHt9O1xuXHRcdC8qKiBAdHlwZSB7TWFwPEZ1bmN0aW9uLCBGdW5jdGlvbj59IEV2ZW50IGxpc3RlbmVyIHVuc3Vic2NyaWJlIGZ1bmN0aW9ucyAqL1xuXHRcdCQkbF91ID0gbmV3IE1hcCgpO1xuXG5cdFx0Y29uc3RydWN0b3IoJCRjb21wb25lbnRDdG9yLCAkJHNsb3RzLCB1c2Vfc2hhZG93X2RvbSkge1xuXHRcdFx0c3VwZXIoKTtcblx0XHRcdHRoaXMuJCRjdG9yID0gJCRjb21wb25lbnRDdG9yO1xuXHRcdFx0dGhpcy4kJHMgPSAkJHNsb3RzO1xuXHRcdFx0aWYgKHVzZV9zaGFkb3dfZG9tKSB7XG5cdFx0XHRcdHRoaXMuYXR0YWNoU2hhZG93KHsgbW9kZTogJ29wZW4nIH0pO1xuXHRcdFx0fVxuXHRcdH1cblxuXHRcdGFkZEV2ZW50TGlzdGVuZXIodHlwZSwgbGlzdGVuZXIsIG9wdGlvbnMpIHtcblx0XHRcdC8vIFdlIGNhbid0IGRldGVybWluZSB1cGZyb250IGlmIHRoZSBldmVudCBpcyBhIGN1c3RvbSBldmVudCBvciBub3QsIHNvIHdlIGhhdmUgdG9cblx0XHRcdC8vIGxpc3RlbiB0byBib3RoLiBJZiBzb21lb25lIHVzZXMgYSBjdXN0b20gZXZlbnQgd2l0aCB0aGUgc2FtZSBuYW1lIGFzIGEgcmVndWxhclxuXHRcdFx0Ly8gYnJvd3NlciBldmVudCwgdGhpcyBmaXJlcyB0d2ljZSAtIHdlIGNhbid0IGF2b2lkIHRoYXQuXG5cdFx0XHR0aGlzLiQkbFt0eXBlXSA9IHRoaXMuJCRsW3R5cGVdIHx8IFtdO1xuXHRcdFx0dGhpcy4kJGxbdHlwZV0ucHVzaChsaXN0ZW5lcik7XG5cdFx0XHRpZiAodGhpcy4kJGMpIHtcblx0XHRcdFx0Y29uc3QgdW5zdWIgPSB0aGlzLiQkYy4kb24odHlwZSwgbGlzdGVuZXIpO1xuXHRcdFx0XHR0aGlzLiQkbF91LnNldChsaXN0ZW5lciwgdW5zdWIpO1xuXHRcdFx0fVxuXHRcdFx0c3VwZXIuYWRkRXZlbnRMaXN0ZW5lcih0eXBlLCBsaXN0ZW5lciwgb3B0aW9ucyk7XG5cdFx0fVxuXG5cdFx0cmVtb3ZlRXZlbnRMaXN0ZW5lcih0eXBlLCBsaXN0ZW5lciwgb3B0aW9ucykge1xuXHRcdFx0c3VwZXIucmVtb3ZlRXZlbnRMaXN0ZW5lcih0eXBlLCBsaXN0ZW5lciwgb3B0aW9ucyk7XG5cdFx0XHRpZiAodGhpcy4kJGMpIHtcblx0XHRcdFx0Y29uc3QgdW5zdWIgPSB0aGlzLiQkbF91LmdldChsaXN0ZW5lcik7XG5cdFx0XHRcdGlmICh1bnN1Yikge1xuXHRcdFx0XHRcdHVuc3ViKCk7XG5cdFx0XHRcdFx0dGhpcy4kJGxfdS5kZWxldGUobGlzdGVuZXIpO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXG5cdFx0YXN5bmMgY29ubmVjdGVkQ2FsbGJhY2soKSB7XG5cdFx0XHR0aGlzLiQkY24gPSB0cnVlO1xuXHRcdFx0aWYgKCF0aGlzLiQkYykge1xuXHRcdFx0XHQvLyBXZSB3YWl0IG9uZSB0aWNrIHRvIGxldCBwb3NzaWJsZSBjaGlsZCBzbG90IGVsZW1lbnRzIGJlIGNyZWF0ZWQvbW91bnRlZFxuXHRcdFx0XHRhd2FpdCBQcm9taXNlLnJlc29sdmUoKTtcblx0XHRcdFx0aWYgKCF0aGlzLiQkY24pIHtcblx0XHRcdFx0XHRyZXR1cm47XG5cdFx0XHRcdH1cblx0XHRcdFx0ZnVuY3Rpb24gY3JlYXRlX3Nsb3QobmFtZSkge1xuXHRcdFx0XHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRcdFx0XHRsZXQgbm9kZTtcblx0XHRcdFx0XHRcdGNvbnN0IG9iaiA9IHtcblx0XHRcdFx0XHRcdFx0YzogZnVuY3Rpb24gY3JlYXRlKCkge1xuXHRcdFx0XHRcdFx0XHRcdG5vZGUgPSBlbGVtZW50KCdzbG90Jyk7XG5cdFx0XHRcdFx0XHRcdFx0aWYgKG5hbWUgIT09ICdkZWZhdWx0Jykge1xuXHRcdFx0XHRcdFx0XHRcdFx0YXR0cihub2RlLCAnbmFtZScsIG5hbWUpO1xuXHRcdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdFx0fSxcblx0XHRcdFx0XHRcdFx0LyoqXG5cdFx0XHRcdFx0XHRcdCAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IHRhcmdldFxuXHRcdFx0XHRcdFx0XHQgKiBAcGFyYW0ge0hUTUxFbGVtZW50fSBbYW5jaG9yXVxuXHRcdFx0XHRcdFx0XHQgKi9cblx0XHRcdFx0XHRcdFx0bTogZnVuY3Rpb24gbW91bnQodGFyZ2V0LCBhbmNob3IpIHtcblx0XHRcdFx0XHRcdFx0XHRpbnNlcnQodGFyZ2V0LCBub2RlLCBhbmNob3IpO1xuXHRcdFx0XHRcdFx0XHR9LFxuXHRcdFx0XHRcdFx0XHRkOiBmdW5jdGlvbiBkZXN0cm95KGRldGFjaGluZykge1xuXHRcdFx0XHRcdFx0XHRcdGlmIChkZXRhY2hpbmcpIHtcblx0XHRcdFx0XHRcdFx0XHRcdGRldGFjaChub2RlKTtcblx0XHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHRcdH07XG5cdFx0XHRcdFx0XHRyZXR1cm4gb2JqO1xuXHRcdFx0XHRcdH07XG5cdFx0XHRcdH1cblx0XHRcdFx0Y29uc3QgJCRzbG90cyA9IHt9O1xuXHRcdFx0XHRjb25zdCBleGlzdGluZ19zbG90cyA9IGdldF9jdXN0b21fZWxlbWVudHNfc2xvdHModGhpcyk7XG5cdFx0XHRcdGZvciAoY29uc3QgbmFtZSBvZiB0aGlzLiQkcykge1xuXHRcdFx0XHRcdGlmIChuYW1lIGluIGV4aXN0aW5nX3Nsb3RzKSB7XG5cdFx0XHRcdFx0XHQkJHNsb3RzW25hbWVdID0gW2NyZWF0ZV9zbG90KG5hbWUpXTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0Zm9yIChjb25zdCBhdHRyaWJ1dGUgb2YgdGhpcy5hdHRyaWJ1dGVzKSB7XG5cdFx0XHRcdFx0Ly8gdGhpcy4kJGRhdGEgdGFrZXMgcHJlY2VkZW5jZSBvdmVyIHRoaXMuYXR0cmlidXRlc1xuXHRcdFx0XHRcdGNvbnN0IG5hbWUgPSB0aGlzLiQkZ19wKGF0dHJpYnV0ZS5uYW1lKTtcblx0XHRcdFx0XHRpZiAoIShuYW1lIGluIHRoaXMuJCRkKSkge1xuXHRcdFx0XHRcdFx0dGhpcy4kJGRbbmFtZV0gPSBnZXRfY3VzdG9tX2VsZW1lbnRfdmFsdWUobmFtZSwgYXR0cmlidXRlLnZhbHVlLCB0aGlzLiQkcF9kLCAndG9Qcm9wJyk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9XG5cdFx0XHRcdHRoaXMuJCRjID0gbmV3IHRoaXMuJCRjdG9yKHtcblx0XHRcdFx0XHR0YXJnZXQ6IHRoaXMuc2hhZG93Um9vdCB8fCB0aGlzLFxuXHRcdFx0XHRcdHByb3BzOiB7XG5cdFx0XHRcdFx0XHQuLi50aGlzLiQkZCxcblx0XHRcdFx0XHRcdCQkc2xvdHMsXG5cdFx0XHRcdFx0XHQkJHNjb3BlOiB7XG5cdFx0XHRcdFx0XHRcdGN0eDogW11cblx0XHRcdFx0XHRcdH1cblx0XHRcdFx0XHR9XG5cdFx0XHRcdH0pO1xuXG5cdFx0XHRcdC8vIFJlZmxlY3QgY29tcG9uZW50IHByb3BzIGFzIGF0dHJpYnV0ZXNcblx0XHRcdFx0Y29uc3QgcmVmbGVjdF9hdHRyaWJ1dGVzID0gKCkgPT4ge1xuXHRcdFx0XHRcdHRoaXMuJCRyID0gdHJ1ZTtcblx0XHRcdFx0XHRmb3IgKGNvbnN0IGtleSBpbiB0aGlzLiQkcF9kKSB7XG5cdFx0XHRcdFx0XHR0aGlzLiQkZFtrZXldID0gdGhpcy4kJGMuJCQuY3R4W3RoaXMuJCRjLiQkLnByb3BzW2tleV1dO1xuXHRcdFx0XHRcdFx0aWYgKHRoaXMuJCRwX2Rba2V5XS5yZWZsZWN0KSB7XG5cdFx0XHRcdFx0XHRcdGNvbnN0IGF0dHJpYnV0ZV92YWx1ZSA9IGdldF9jdXN0b21fZWxlbWVudF92YWx1ZShcblx0XHRcdFx0XHRcdFx0XHRrZXksXG5cdFx0XHRcdFx0XHRcdFx0dGhpcy4kJGRba2V5XSxcblx0XHRcdFx0XHRcdFx0XHR0aGlzLiQkcF9kLFxuXHRcdFx0XHRcdFx0XHRcdCd0b0F0dHJpYnV0ZSdcblx0XHRcdFx0XHRcdFx0KTtcblx0XHRcdFx0XHRcdFx0aWYgKGF0dHJpYnV0ZV92YWx1ZSA9PSBudWxsKSB7XG5cdFx0XHRcdFx0XHRcdFx0dGhpcy5yZW1vdmVBdHRyaWJ1dGUodGhpcy4kJHBfZFtrZXldLmF0dHJpYnV0ZSB8fCBrZXkpO1xuXHRcdFx0XHRcdFx0XHR9IGVsc2Uge1xuXHRcdFx0XHRcdFx0XHRcdHRoaXMuc2V0QXR0cmlidXRlKHRoaXMuJCRwX2Rba2V5XS5hdHRyaWJ1dGUgfHwga2V5LCBhdHRyaWJ1dGVfdmFsdWUpO1xuXHRcdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHRcdHRoaXMuJCRyID0gZmFsc2U7XG5cdFx0XHRcdH07XG5cdFx0XHRcdHRoaXMuJCRjLiQkLmFmdGVyX3VwZGF0ZS5wdXNoKHJlZmxlY3RfYXR0cmlidXRlcyk7XG5cdFx0XHRcdHJlZmxlY3RfYXR0cmlidXRlcygpOyAvLyBvbmNlIGluaXRpYWxseSBiZWNhdXNlIGFmdGVyX3VwZGF0ZSBpcyBhZGRlZCB0b28gbGF0ZSBmb3IgZmlyc3QgcmVuZGVyXG5cblx0XHRcdFx0Zm9yIChjb25zdCB0eXBlIGluIHRoaXMuJCRsKSB7XG5cdFx0XHRcdFx0Zm9yIChjb25zdCBsaXN0ZW5lciBvZiB0aGlzLiQkbFt0eXBlXSkge1xuXHRcdFx0XHRcdFx0Y29uc3QgdW5zdWIgPSB0aGlzLiQkYy4kb24odHlwZSwgbGlzdGVuZXIpO1xuXHRcdFx0XHRcdFx0dGhpcy4kJGxfdS5zZXQobGlzdGVuZXIsIHVuc3ViKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdH1cblx0XHRcdFx0dGhpcy4kJGwgPSB7fTtcblx0XHRcdH1cblx0XHR9XG5cblx0XHQvLyBXZSBkb24ndCBuZWVkIHRoaXMgd2hlbiB3b3JraW5nIHdpdGhpbiBTdmVsdGUgY29kZSwgYnV0IGZvciBjb21wYXRpYmlsaXR5IG9mIHBlb3BsZSB1c2luZyB0aGlzIG91dHNpZGUgb2YgU3ZlbHRlXG5cdFx0Ly8gYW5kIHNldHRpbmcgYXR0cmlidXRlcyB0aHJvdWdoIHNldEF0dHJpYnV0ZSBldGMsIHRoaXMgaXMgaGVscGZ1bFxuXHRcdGF0dHJpYnV0ZUNoYW5nZWRDYWxsYmFjayhhdHRyLCBfb2xkVmFsdWUsIG5ld1ZhbHVlKSB7XG5cdFx0XHRpZiAodGhpcy4kJHIpIHJldHVybjtcblx0XHRcdGF0dHIgPSB0aGlzLiQkZ19wKGF0dHIpO1xuXHRcdFx0dGhpcy4kJGRbYXR0cl0gPSBnZXRfY3VzdG9tX2VsZW1lbnRfdmFsdWUoYXR0ciwgbmV3VmFsdWUsIHRoaXMuJCRwX2QsICd0b1Byb3AnKTtcblx0XHRcdHRoaXMuJCRjPy4kc2V0KHsgW2F0dHJdOiB0aGlzLiQkZFthdHRyXSB9KTtcblx0XHR9XG5cblx0XHRkaXNjb25uZWN0ZWRDYWxsYmFjaygpIHtcblx0XHRcdHRoaXMuJCRjbiA9IGZhbHNlO1xuXHRcdFx0Ly8gSW4gYSBtaWNyb3Rhc2ssIGJlY2F1c2UgdGhpcyBjb3VsZCBiZSBhIG1vdmUgd2l0aGluIHRoZSBET01cblx0XHRcdFByb21pc2UucmVzb2x2ZSgpLnRoZW4oKCkgPT4ge1xuXHRcdFx0XHRpZiAoIXRoaXMuJCRjbikge1xuXHRcdFx0XHRcdHRoaXMuJCRjLiRkZXN0cm95KCk7XG5cdFx0XHRcdFx0dGhpcy4kJGMgPSB1bmRlZmluZWQ7XG5cdFx0XHRcdH1cblx0XHRcdH0pO1xuXHRcdH1cblxuXHRcdCQkZ19wKGF0dHJpYnV0ZV9uYW1lKSB7XG5cdFx0XHRyZXR1cm4gKFxuXHRcdFx0XHRPYmplY3Qua2V5cyh0aGlzLiQkcF9kKS5maW5kKFxuXHRcdFx0XHRcdChrZXkpID0+XG5cdFx0XHRcdFx0XHR0aGlzLiQkcF9kW2tleV0uYXR0cmlidXRlID09PSBhdHRyaWJ1dGVfbmFtZSB8fFxuXHRcdFx0XHRcdFx0KCF0aGlzLiQkcF9kW2tleV0uYXR0cmlidXRlICYmIGtleS50b0xvd2VyQ2FzZSgpID09PSBhdHRyaWJ1dGVfbmFtZSlcblx0XHRcdFx0KSB8fCBhdHRyaWJ1dGVfbmFtZVxuXHRcdFx0KTtcblx0XHR9XG5cdH07XG59XG5cbi8qKlxuICogQHBhcmFtIHtzdHJpbmd9IHByb3BcbiAqIEBwYXJhbSB7YW55fSB2YWx1ZVxuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBDdXN0b21FbGVtZW50UHJvcERlZmluaXRpb24+fSBwcm9wc19kZWZpbml0aW9uXG4gKiBAcGFyYW0geyd0b0F0dHJpYnV0ZScgfCAndG9Qcm9wJ30gW3RyYW5zZm9ybV1cbiAqL1xuZnVuY3Rpb24gZ2V0X2N1c3RvbV9lbGVtZW50X3ZhbHVlKHByb3AsIHZhbHVlLCBwcm9wc19kZWZpbml0aW9uLCB0cmFuc2Zvcm0pIHtcblx0Y29uc3QgdHlwZSA9IHByb3BzX2RlZmluaXRpb25bcHJvcF0/LnR5cGU7XG5cdHZhbHVlID0gdHlwZSA9PT0gJ0Jvb2xlYW4nICYmIHR5cGVvZiB2YWx1ZSAhPT0gJ2Jvb2xlYW4nID8gdmFsdWUgIT0gbnVsbCA6IHZhbHVlO1xuXHRpZiAoIXRyYW5zZm9ybSB8fCAhcHJvcHNfZGVmaW5pdGlvbltwcm9wXSkge1xuXHRcdHJldHVybiB2YWx1ZTtcblx0fSBlbHNlIGlmICh0cmFuc2Zvcm0gPT09ICd0b0F0dHJpYnV0ZScpIHtcblx0XHRzd2l0Y2ggKHR5cGUpIHtcblx0XHRcdGNhc2UgJ09iamVjdCc6XG5cdFx0XHRjYXNlICdBcnJheSc6XG5cdFx0XHRcdHJldHVybiB2YWx1ZSA9PSBudWxsID8gbnVsbCA6IEpTT04uc3RyaW5naWZ5KHZhbHVlKTtcblx0XHRcdGNhc2UgJ0Jvb2xlYW4nOlxuXHRcdFx0XHRyZXR1cm4gdmFsdWUgPyAnJyA6IG51bGw7XG5cdFx0XHRjYXNlICdOdW1iZXInOlxuXHRcdFx0XHRyZXR1cm4gdmFsdWUgPT0gbnVsbCA/IG51bGwgOiB2YWx1ZTtcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdHJldHVybiB2YWx1ZTtcblx0XHR9XG5cdH0gZWxzZSB7XG5cdFx0c3dpdGNoICh0eXBlKSB7XG5cdFx0XHRjYXNlICdPYmplY3QnOlxuXHRcdFx0Y2FzZSAnQXJyYXknOlxuXHRcdFx0XHRyZXR1cm4gdmFsdWUgJiYgSlNPTi5wYXJzZSh2YWx1ZSk7XG5cdFx0XHRjYXNlICdCb29sZWFuJzpcblx0XHRcdFx0cmV0dXJuIHZhbHVlOyAvLyBjb252ZXJzaW9uIGFscmVhZHkgaGFuZGxlZCBhYm92ZVxuXHRcdFx0Y2FzZSAnTnVtYmVyJzpcblx0XHRcdFx0cmV0dXJuIHZhbHVlICE9IG51bGwgPyArdmFsdWUgOiB2YWx1ZTtcblx0XHRcdGRlZmF1bHQ6XG5cdFx0XHRcdHJldHVybiB2YWx1ZTtcblx0XHR9XG5cdH1cbn1cblxuLyoqXG4gKiBAaW50ZXJuYWxcbiAqXG4gKiBUdXJuIGEgU3ZlbHRlIGNvbXBvbmVudCBpbnRvIGEgY3VzdG9tIGVsZW1lbnQuXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9wdWJsaWMuanMnKS5Db21wb25lbnRUeXBlfSBDb21wb25lbnQgIEEgU3ZlbHRlIGNvbXBvbmVudCBjb25zdHJ1Y3RvclxuICogQHBhcmFtIHtSZWNvcmQ8c3RyaW5nLCBDdXN0b21FbGVtZW50UHJvcERlZmluaXRpb24+fSBwcm9wc19kZWZpbml0aW9uICBUaGUgcHJvcHMgdG8gb2JzZXJ2ZVxuICogQHBhcmFtIHtzdHJpbmdbXX0gc2xvdHMgIFRoZSBzbG90cyB0byBjcmVhdGVcbiAqIEBwYXJhbSB7c3RyaW5nW119IGFjY2Vzc29ycyAgT3RoZXIgYWNjZXNzb3JzIGJlc2lkZXMgdGhlIG9uZXMgZm9yIHByb3BzIHRoZSBjb21wb25lbnQgaGFzXG4gKiBAcGFyYW0ge2Jvb2xlYW59IHVzZV9zaGFkb3dfZG9tICBXaGV0aGVyIHRvIHVzZSBzaGFkb3cgRE9NXG4gKiBAcGFyYW0geyhjZTogbmV3ICgpID0+IEhUTUxFbGVtZW50KSA9PiBuZXcgKCkgPT4gSFRNTEVsZW1lbnR9IFtleHRlbmRdXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVfY3VzdG9tX2VsZW1lbnQoXG5cdENvbXBvbmVudCxcblx0cHJvcHNfZGVmaW5pdGlvbixcblx0c2xvdHMsXG5cdGFjY2Vzc29ycyxcblx0dXNlX3NoYWRvd19kb20sXG5cdGV4dGVuZFxuKSB7XG5cdGxldCBDbGFzcyA9IGNsYXNzIGV4dGVuZHMgU3ZlbHRlRWxlbWVudCB7XG5cdFx0Y29uc3RydWN0b3IoKSB7XG5cdFx0XHRzdXBlcihDb21wb25lbnQsIHNsb3RzLCB1c2Vfc2hhZG93X2RvbSk7XG5cdFx0XHR0aGlzLiQkcF9kID0gcHJvcHNfZGVmaW5pdGlvbjtcblx0XHR9XG5cdFx0c3RhdGljIGdldCBvYnNlcnZlZEF0dHJpYnV0ZXMoKSB7XG5cdFx0XHRyZXR1cm4gT2JqZWN0LmtleXMocHJvcHNfZGVmaW5pdGlvbikubWFwKChrZXkpID0+XG5cdFx0XHRcdChwcm9wc19kZWZpbml0aW9uW2tleV0uYXR0cmlidXRlIHx8IGtleSkudG9Mb3dlckNhc2UoKVxuXHRcdFx0KTtcblx0XHR9XG5cdH07XG5cdE9iamVjdC5rZXlzKHByb3BzX2RlZmluaXRpb24pLmZvckVhY2goKHByb3ApID0+IHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoQ2xhc3MucHJvdG90eXBlLCBwcm9wLCB7XG5cdFx0XHRnZXQoKSB7XG5cdFx0XHRcdHJldHVybiB0aGlzLiQkYyAmJiBwcm9wIGluIHRoaXMuJCRjID8gdGhpcy4kJGNbcHJvcF0gOiB0aGlzLiQkZFtwcm9wXTtcblx0XHRcdH0sXG5cdFx0XHRzZXQodmFsdWUpIHtcblx0XHRcdFx0dmFsdWUgPSBnZXRfY3VzdG9tX2VsZW1lbnRfdmFsdWUocHJvcCwgdmFsdWUsIHByb3BzX2RlZmluaXRpb24pO1xuXHRcdFx0XHR0aGlzLiQkZFtwcm9wXSA9IHZhbHVlO1xuXHRcdFx0XHR0aGlzLiQkYz8uJHNldCh7IFtwcm9wXTogdmFsdWUgfSk7XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH0pO1xuXHRhY2Nlc3NvcnMuZm9yRWFjaCgoYWNjZXNzb3IpID0+IHtcblx0XHRPYmplY3QuZGVmaW5lUHJvcGVydHkoQ2xhc3MucHJvdG90eXBlLCBhY2Nlc3Nvciwge1xuXHRcdFx0Z2V0KCkge1xuXHRcdFx0XHRyZXR1cm4gdGhpcy4kJGM/LlthY2Nlc3Nvcl07XG5cdFx0XHR9XG5cdFx0fSk7XG5cdH0pO1xuXHRpZiAoZXh0ZW5kKSB7XG5cdFx0Ly8gQHRzLWV4cGVjdC1lcnJvciAtIGFzc2lnbmluZyBoZXJlIGlzIGZpbmVcblx0XHRDbGFzcyA9IGV4dGVuZChDbGFzcyk7XG5cdH1cblx0Q29tcG9uZW50LmVsZW1lbnQgPSAvKiogQHR5cGUge2FueX0gKi8gKENsYXNzKTtcblx0cmV0dXJuIENsYXNzO1xufVxuXG4vKipcbiAqIEJhc2UgY2xhc3MgZm9yIFN2ZWx0ZSBjb21wb25lbnRzLiBVc2VkIHdoZW4gZGV2PWZhbHNlLlxuICpcbiAqIEB0ZW1wbGF0ZSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW1Byb3BzPWFueV1cbiAqIEB0ZW1wbGF0ZSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW0V2ZW50cz1hbnldXG4gKi9cbmV4cG9ydCBjbGFzcyBTdmVsdGVDb21wb25lbnQge1xuXHQvKipcblx0ICogIyMjIFBSSVZBVEUgQVBJXG5cdCAqXG5cdCAqIERvIG5vdCB1c2UsIG1heSBjaGFuZ2UgYXQgYW55IHRpbWVcblx0ICpcblx0ICogQHR5cGUge2FueX1cblx0ICovXG5cdCQkID0gdW5kZWZpbmVkO1xuXHQvKipcblx0ICogIyMjIFBSSVZBVEUgQVBJXG5cdCAqXG5cdCAqIERvIG5vdCB1c2UsIG1heSBjaGFuZ2UgYXQgYW55IHRpbWVcblx0ICpcblx0ICogQHR5cGUge2FueX1cblx0ICovXG5cdCQkc2V0ID0gdW5kZWZpbmVkO1xuXG5cdC8qKiBAcmV0dXJucyB7dm9pZH0gKi9cblx0JGRlc3Ryb3koKSB7XG5cdFx0ZGVzdHJveV9jb21wb25lbnQodGhpcywgMSk7XG5cdFx0dGhpcy4kZGVzdHJveSA9IG5vb3A7XG5cdH1cblxuXHQvKipcblx0ICogQHRlbXBsYXRlIHtFeHRyYWN0PGtleW9mIEV2ZW50cywgc3RyaW5nPn0gS1xuXHQgKiBAcGFyYW0ge0t9IHR5cGVcblx0ICogQHBhcmFtIHsoKGU6IEV2ZW50c1tLXSkgPT4gdm9pZCkgfCBudWxsIHwgdW5kZWZpbmVkfSBjYWxsYmFja1xuXHQgKiBAcmV0dXJucyB7KCkgPT4gdm9pZH1cblx0ICovXG5cdCRvbih0eXBlLCBjYWxsYmFjaykge1xuXHRcdGlmICghaXNfZnVuY3Rpb24oY2FsbGJhY2spKSB7XG5cdFx0XHRyZXR1cm4gbm9vcDtcblx0XHR9XG5cdFx0Y29uc3QgY2FsbGJhY2tzID0gdGhpcy4kJC5jYWxsYmFja3NbdHlwZV0gfHwgKHRoaXMuJCQuY2FsbGJhY2tzW3R5cGVdID0gW10pO1xuXHRcdGNhbGxiYWNrcy5wdXNoKGNhbGxiYWNrKTtcblx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0Y29uc3QgaW5kZXggPSBjYWxsYmFja3MuaW5kZXhPZihjYWxsYmFjayk7XG5cdFx0XHRpZiAoaW5kZXggIT09IC0xKSBjYWxsYmFja3Muc3BsaWNlKGluZGV4LCAxKTtcblx0XHR9O1xuXHR9XG5cblx0LyoqXG5cdCAqIEBwYXJhbSB7UGFydGlhbDxQcm9wcz59IHByb3BzXG5cdCAqIEByZXR1cm5zIHt2b2lkfVxuXHQgKi9cblx0JHNldChwcm9wcykge1xuXHRcdGlmICh0aGlzLiQkc2V0ICYmICFpc19lbXB0eShwcm9wcykpIHtcblx0XHRcdHRoaXMuJCQuc2tpcF9ib3VuZCA9IHRydWU7XG5cdFx0XHR0aGlzLiQkc2V0KHByb3BzKTtcblx0XHRcdHRoaXMuJCQuc2tpcF9ib3VuZCA9IGZhbHNlO1xuXHRcdH1cblx0fVxufVxuXG4vKipcbiAqIEB0eXBlZGVmIHtPYmplY3R9IEN1c3RvbUVsZW1lbnRQcm9wRGVmaW5pdGlvblxuICogQHByb3BlcnR5IHtzdHJpbmd9IFthdHRyaWJ1dGVdXG4gKiBAcHJvcGVydHkge2Jvb2xlYW59IFtyZWZsZWN0XVxuICogQHByb3BlcnR5IHsnU3RyaW5nJ3wnQm9vbGVhbid8J051bWJlcid8J0FycmF5J3wnT2JqZWN0J30gW3R5cGVdXG4gKi9cbiIsICIvLyBnZW5lcmF0ZWQgZHVyaW5nIHJlbGVhc2UsIGRvIG5vdCBtb2RpZnlcblxuLyoqXG4gKiBUaGUgY3VycmVudCB2ZXJzaW9uLCBhcyBzZXQgaW4gcGFja2FnZS5qc29uLlxuICpcbiAqIGh0dHBzOi8vc3ZlbHRlLmRldi9kb2NzL3N2ZWx0ZS1jb21waWxlciNzdmVsdGUtdmVyc2lvblxuICogQHR5cGUge3N0cmluZ31cbiAqL1xuZXhwb3J0IGNvbnN0IFZFUlNJT04gPSAnNC4yLjEnO1xuZXhwb3J0IGNvbnN0IFBVQkxJQ19WRVJTSU9OID0gJzQnO1xuIiwgImltcG9ydCB7XG5cdGN1c3RvbV9ldmVudCxcblx0YXBwZW5kLFxuXHRhcHBlbmRfaHlkcmF0aW9uLFxuXHRpbnNlcnQsXG5cdGluc2VydF9oeWRyYXRpb24sXG5cdGRldGFjaCxcblx0bGlzdGVuLFxuXHRhdHRyXG59IGZyb20gJy4vZG9tLmpzJztcbmltcG9ydCB7IFN2ZWx0ZUNvbXBvbmVudCB9IGZyb20gJy4vQ29tcG9uZW50LmpzJztcbmltcG9ydCB7IGlzX3ZvaWQgfSBmcm9tICcuLi8uLi9zaGFyZWQvdXRpbHMvbmFtZXMuanMnO1xuaW1wb3J0IHsgVkVSU0lPTiB9IGZyb20gJy4uLy4uL3NoYXJlZC92ZXJzaW9uLmpzJztcbmltcG9ydCB7IGNvbnRlbnRlZGl0YWJsZV90cnV0aHlfdmFsdWVzIH0gZnJvbSAnLi91dGlscy5qcyc7XG5pbXBvcnQgeyBlbnN1cmVfYXJyYXlfbGlrZSB9IGZyb20gJy4vZWFjaC5qcyc7XG5cbi8qKlxuICogQHRlbXBsYXRlIFRcbiAqIEBwYXJhbSB7c3RyaW5nfSB0eXBlXG4gKiBAcGFyYW0ge1R9IFtkZXRhaWxdXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRpc3BhdGNoX2Rldih0eXBlLCBkZXRhaWwpIHtcblx0ZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChjdXN0b21fZXZlbnQodHlwZSwgeyB2ZXJzaW9uOiBWRVJTSU9OLCAuLi5kZXRhaWwgfSwgeyBidWJibGVzOiB0cnVlIH0pKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge05vZGV9IHRhcmdldFxuICogQHBhcmFtIHtOb2RlfSBub2RlXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGFwcGVuZF9kZXYodGFyZ2V0LCBub2RlKSB7XG5cdGRpc3BhdGNoX2RldignU3ZlbHRlRE9NSW5zZXJ0JywgeyB0YXJnZXQsIG5vZGUgfSk7XG5cdGFwcGVuZCh0YXJnZXQsIG5vZGUpO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7Tm9kZX0gdGFyZ2V0XG4gKiBAcGFyYW0ge05vZGV9IG5vZGVcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gYXBwZW5kX2h5ZHJhdGlvbl9kZXYodGFyZ2V0LCBub2RlKSB7XG5cdGRpc3BhdGNoX2RldignU3ZlbHRlRE9NSW5zZXJ0JywgeyB0YXJnZXQsIG5vZGUgfSk7XG5cdGFwcGVuZF9oeWRyYXRpb24odGFyZ2V0LCBub2RlKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge05vZGV9IHRhcmdldFxuICogQHBhcmFtIHtOb2RlfSBub2RlXG4gKiBAcGFyYW0ge05vZGV9IFthbmNob3JdXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGluc2VydF9kZXYodGFyZ2V0LCBub2RlLCBhbmNob3IpIHtcblx0ZGlzcGF0Y2hfZGV2KCdTdmVsdGVET01JbnNlcnQnLCB7IHRhcmdldCwgbm9kZSwgYW5jaG9yIH0pO1xuXHRpbnNlcnQodGFyZ2V0LCBub2RlLCBhbmNob3IpO1xufVxuXG4vKiogQHBhcmFtIHtOb2RlfSB0YXJnZXRcbiAqIEBwYXJhbSB7Tm9kZX0gbm9kZVxuICogQHBhcmFtIHtOb2RlfSBbYW5jaG9yXVxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBpbnNlcnRfaHlkcmF0aW9uX2Rldih0YXJnZXQsIG5vZGUsIGFuY2hvcikge1xuXHRkaXNwYXRjaF9kZXYoJ1N2ZWx0ZURPTUluc2VydCcsIHsgdGFyZ2V0LCBub2RlLCBhbmNob3IgfSk7XG5cdGluc2VydF9oeWRyYXRpb24odGFyZ2V0LCBub2RlLCBhbmNob3IpO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7Tm9kZX0gbm9kZVxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXRhY2hfZGV2KG5vZGUpIHtcblx0ZGlzcGF0Y2hfZGV2KCdTdmVsdGVET01SZW1vdmUnLCB7IG5vZGUgfSk7XG5cdGRldGFjaChub2RlKTtcbn1cblxuLyoqXG4gKiBAcGFyYW0ge05vZGV9IGJlZm9yZVxuICogQHBhcmFtIHtOb2RlfSBhZnRlclxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXRhY2hfYmV0d2Vlbl9kZXYoYmVmb3JlLCBhZnRlcikge1xuXHR3aGlsZSAoYmVmb3JlLm5leHRTaWJsaW5nICYmIGJlZm9yZS5uZXh0U2libGluZyAhPT0gYWZ0ZXIpIHtcblx0XHRkZXRhY2hfZGV2KGJlZm9yZS5uZXh0U2libGluZyk7XG5cdH1cbn1cblxuLyoqXG4gKiBAcGFyYW0ge05vZGV9IGFmdGVyXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGRldGFjaF9iZWZvcmVfZGV2KGFmdGVyKSB7XG5cdHdoaWxlIChhZnRlci5wcmV2aW91c1NpYmxpbmcpIHtcblx0XHRkZXRhY2hfZGV2KGFmdGVyLnByZXZpb3VzU2libGluZyk7XG5cdH1cbn1cblxuLyoqXG4gKiBAcGFyYW0ge05vZGV9IGJlZm9yZVxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkZXRhY2hfYWZ0ZXJfZGV2KGJlZm9yZSkge1xuXHR3aGlsZSAoYmVmb3JlLm5leHRTaWJsaW5nKSB7XG5cdFx0ZGV0YWNoX2RldihiZWZvcmUubmV4dFNpYmxpbmcpO1xuXHR9XG59XG5cbi8qKlxuICogQHBhcmFtIHtOb2RlfSBub2RlXG4gKiBAcGFyYW0ge3N0cmluZ30gZXZlbnRcbiAqIEBwYXJhbSB7RXZlbnRMaXN0ZW5lck9yRXZlbnRMaXN0ZW5lck9iamVjdH0gaGFuZGxlclxuICogQHBhcmFtIHtib29sZWFuIHwgQWRkRXZlbnRMaXN0ZW5lck9wdGlvbnMgfCBFdmVudExpc3RlbmVyT3B0aW9uc30gW29wdGlvbnNdXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtoYXNfcHJldmVudF9kZWZhdWx0XVxuICogQHBhcmFtIHtib29sZWFufSBbaGFzX3N0b3BfcHJvcGFnYXRpb25dXG4gKiBAcGFyYW0ge2Jvb2xlYW59IFtoYXNfc3RvcF9pbW1lZGlhdGVfcHJvcGFnYXRpb25dXG4gKiBAcmV0dXJucyB7KCkgPT4gdm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIGxpc3Rlbl9kZXYoXG5cdG5vZGUsXG5cdGV2ZW50LFxuXHRoYW5kbGVyLFxuXHRvcHRpb25zLFxuXHRoYXNfcHJldmVudF9kZWZhdWx0LFxuXHRoYXNfc3RvcF9wcm9wYWdhdGlvbixcblx0aGFzX3N0b3BfaW1tZWRpYXRlX3Byb3BhZ2F0aW9uXG4pIHtcblx0Y29uc3QgbW9kaWZpZXJzID1cblx0XHRvcHRpb25zID09PSB0cnVlID8gWydjYXB0dXJlJ10gOiBvcHRpb25zID8gQXJyYXkuZnJvbShPYmplY3Qua2V5cyhvcHRpb25zKSkgOiBbXTtcblx0aWYgKGhhc19wcmV2ZW50X2RlZmF1bHQpIG1vZGlmaWVycy5wdXNoKCdwcmV2ZW50RGVmYXVsdCcpO1xuXHRpZiAoaGFzX3N0b3BfcHJvcGFnYXRpb24pIG1vZGlmaWVycy5wdXNoKCdzdG9wUHJvcGFnYXRpb24nKTtcblx0aWYgKGhhc19zdG9wX2ltbWVkaWF0ZV9wcm9wYWdhdGlvbikgbW9kaWZpZXJzLnB1c2goJ3N0b3BJbW1lZGlhdGVQcm9wYWdhdGlvbicpO1xuXHRkaXNwYXRjaF9kZXYoJ1N2ZWx0ZURPTUFkZEV2ZW50TGlzdGVuZXInLCB7IG5vZGUsIGV2ZW50LCBoYW5kbGVyLCBtb2RpZmllcnMgfSk7XG5cdGNvbnN0IGRpc3Bvc2UgPSBsaXN0ZW4obm9kZSwgZXZlbnQsIGhhbmRsZXIsIG9wdGlvbnMpO1xuXHRyZXR1cm4gKCkgPT4ge1xuXHRcdGRpc3BhdGNoX2RldignU3ZlbHRlRE9NUmVtb3ZlRXZlbnRMaXN0ZW5lcicsIHsgbm9kZSwgZXZlbnQsIGhhbmRsZXIsIG1vZGlmaWVycyB9KTtcblx0XHRkaXNwb3NlKCk7XG5cdH07XG59XG5cbi8qKlxuICogQHBhcmFtIHtFbGVtZW50fSBub2RlXG4gKiBAcGFyYW0ge3N0cmluZ30gYXR0cmlidXRlXG4gKiBAcGFyYW0ge3N0cmluZ30gW3ZhbHVlXVxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhdHRyX2Rldihub2RlLCBhdHRyaWJ1dGUsIHZhbHVlKSB7XG5cdGF0dHIobm9kZSwgYXR0cmlidXRlLCB2YWx1ZSk7XG5cdGlmICh2YWx1ZSA9PSBudWxsKSBkaXNwYXRjaF9kZXYoJ1N2ZWx0ZURPTVJlbW92ZUF0dHJpYnV0ZScsIHsgbm9kZSwgYXR0cmlidXRlIH0pO1xuXHRlbHNlIGRpc3BhdGNoX2RldignU3ZlbHRlRE9NU2V0QXR0cmlidXRlJywgeyBub2RlLCBhdHRyaWJ1dGUsIHZhbHVlIH0pO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtzdHJpbmd9IHByb3BlcnR5XG4gKiBAcGFyYW0ge2FueX0gW3ZhbHVlXVxuICogQHJldHVybnMge3ZvaWR9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBwcm9wX2Rldihub2RlLCBwcm9wZXJ0eSwgdmFsdWUpIHtcblx0bm9kZVtwcm9wZXJ0eV0gPSB2YWx1ZTtcblx0ZGlzcGF0Y2hfZGV2KCdTdmVsdGVET01TZXRQcm9wZXJ0eScsIHsgbm9kZSwgcHJvcGVydHksIHZhbHVlIH0pO1xufVxuXG4vKipcbiAqIEBwYXJhbSB7SFRNTEVsZW1lbnR9IG5vZGVcbiAqIEBwYXJhbSB7c3RyaW5nfSBwcm9wZXJ0eVxuICogQHBhcmFtIHthbnl9IFt2YWx1ZV1cbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZGF0YXNldF9kZXYobm9kZSwgcHJvcGVydHksIHZhbHVlKSB7XG5cdG5vZGUuZGF0YXNldFtwcm9wZXJ0eV0gPSB2YWx1ZTtcblx0ZGlzcGF0Y2hfZGV2KCdTdmVsdGVET01TZXREYXRhc2V0JywgeyBub2RlLCBwcm9wZXJ0eSwgdmFsdWUgfSk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtUZXh0fSB0ZXh0XG4gKiBAcGFyYW0ge3Vua25vd259IGRhdGFcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0X2RhdGFfZGV2KHRleHQsIGRhdGEpIHtcblx0ZGF0YSA9ICcnICsgZGF0YTtcblx0aWYgKHRleHQuZGF0YSA9PT0gZGF0YSkgcmV0dXJuO1xuXHRkaXNwYXRjaF9kZXYoJ1N2ZWx0ZURPTVNldERhdGEnLCB7IG5vZGU6IHRleHQsIGRhdGEgfSk7XG5cdHRleHQuZGF0YSA9IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyAoZGF0YSk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtUZXh0fSB0ZXh0XG4gKiBAcGFyYW0ge3Vua25vd259IGRhdGFcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gc2V0X2RhdGFfY29udGVudGVkaXRhYmxlX2Rldih0ZXh0LCBkYXRhKSB7XG5cdGRhdGEgPSAnJyArIGRhdGE7XG5cdGlmICh0ZXh0Lndob2xlVGV4dCA9PT0gZGF0YSkgcmV0dXJuO1xuXHRkaXNwYXRjaF9kZXYoJ1N2ZWx0ZURPTVNldERhdGEnLCB7IG5vZGU6IHRleHQsIGRhdGEgfSk7XG5cdHRleHQuZGF0YSA9IC8qKiBAdHlwZSB7c3RyaW5nfSAqLyAoZGF0YSk7XG59XG5cbi8qKlxuICogQHBhcmFtIHtUZXh0fSB0ZXh0XG4gKiBAcGFyYW0ge3Vua25vd259IGRhdGFcbiAqIEBwYXJhbSB7c3RyaW5nfSBhdHRyX3ZhbHVlXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldF9kYXRhX21heWJlX2NvbnRlbnRlZGl0YWJsZV9kZXYodGV4dCwgZGF0YSwgYXR0cl92YWx1ZSkge1xuXHRpZiAofmNvbnRlbnRlZGl0YWJsZV90cnV0aHlfdmFsdWVzLmluZGV4T2YoYXR0cl92YWx1ZSkpIHtcblx0XHRzZXRfZGF0YV9jb250ZW50ZWRpdGFibGVfZGV2KHRleHQsIGRhdGEpO1xuXHR9IGVsc2Uge1xuXHRcdHNldF9kYXRhX2Rldih0ZXh0LCBkYXRhKTtcblx0fVxufVxuXG5leHBvcnQgZnVuY3Rpb24gZW5zdXJlX2FycmF5X2xpa2VfZGV2KGFyZykge1xuXHRpZiAoXG5cdFx0dHlwZW9mIGFyZyAhPT0gJ3N0cmluZycgJiZcblx0XHQhKGFyZyAmJiB0eXBlb2YgYXJnID09PSAnb2JqZWN0JyAmJiAnbGVuZ3RoJyBpbiBhcmcpICYmXG5cdFx0ISh0eXBlb2YgU3ltYm9sID09PSAnZnVuY3Rpb24nICYmIGFyZyAmJiBTeW1ib2wuaXRlcmF0b3IgaW4gYXJnKVxuXHQpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoJ3sjZWFjaH0gb25seSB3b3JrcyB3aXRoIGl0ZXJhYmxlIHZhbHVlcy4nKTtcblx0fVxuXHRyZXR1cm4gZW5zdXJlX2FycmF5X2xpa2UoYXJnKTtcbn1cblxuLyoqXG4gKiBAcmV0dXJucyB7dm9pZH0gKi9cbmV4cG9ydCBmdW5jdGlvbiB2YWxpZGF0ZV9zbG90cyhuYW1lLCBzbG90LCBrZXlzKSB7XG5cdGZvciAoY29uc3Qgc2xvdF9rZXkgb2YgT2JqZWN0LmtleXMoc2xvdCkpIHtcblx0XHRpZiAoIX5rZXlzLmluZGV4T2Yoc2xvdF9rZXkpKSB7XG5cdFx0XHRjb25zb2xlLndhcm4oYDwke25hbWV9PiByZWNlaXZlZCBhbiB1bmV4cGVjdGVkIHNsb3QgXCIke3Nsb3Rfa2V5fVwiLmApO1xuXHRcdH1cblx0fVxufVxuXG4vKipcbiAqIEBwYXJhbSB7dW5rbm93bn0gdGFnXG4gKiBAcmV0dXJucyB7dm9pZH1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZhbGlkYXRlX2R5bmFtaWNfZWxlbWVudCh0YWcpIHtcblx0Y29uc3QgaXNfc3RyaW5nID0gdHlwZW9mIHRhZyA9PT0gJ3N0cmluZyc7XG5cdGlmICh0YWcgJiYgIWlzX3N0cmluZykge1xuXHRcdHRocm93IG5ldyBFcnJvcignPHN2ZWx0ZTplbGVtZW50PiBleHBlY3RzIFwidGhpc1wiIGF0dHJpYnV0ZSB0byBiZSBhIHN0cmluZy4nKTtcblx0fVxufVxuXG4vKipcbiAqIEBwYXJhbSB7dW5kZWZpbmVkIHwgc3RyaW5nfSB0YWdcbiAqIEByZXR1cm5zIHt2b2lkfVxuICovXG5leHBvcnQgZnVuY3Rpb24gdmFsaWRhdGVfdm9pZF9keW5hbWljX2VsZW1lbnQodGFnKSB7XG5cdGlmICh0YWcgJiYgaXNfdm9pZCh0YWcpKSB7XG5cdFx0Y29uc29sZS53YXJuKGA8c3ZlbHRlOmVsZW1lbnQgdGhpcz1cIiR7dGFnfVwiPiBpcyBzZWxmLWNsb3NpbmcgYW5kIGNhbm5vdCBoYXZlIGNvbnRlbnQuYCk7XG5cdH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGNvbnN0cnVjdF9zdmVsdGVfY29tcG9uZW50X2Rldihjb21wb25lbnQsIHByb3BzKSB7XG5cdGNvbnN0IGVycm9yX21lc3NhZ2UgPSAndGhpcz17Li4ufSBvZiA8c3ZlbHRlOmNvbXBvbmVudD4gc2hvdWxkIHNwZWNpZnkgYSBTdmVsdGUgY29tcG9uZW50Lic7XG5cdHRyeSB7XG5cdFx0Y29uc3QgaW5zdGFuY2UgPSBuZXcgY29tcG9uZW50KHByb3BzKTtcblx0XHRpZiAoIWluc3RhbmNlLiQkIHx8ICFpbnN0YW5jZS4kc2V0IHx8ICFpbnN0YW5jZS4kb24gfHwgIWluc3RhbmNlLiRkZXN0cm95KSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoZXJyb3JfbWVzc2FnZSk7XG5cdFx0fVxuXHRcdHJldHVybiBpbnN0YW5jZTtcblx0fSBjYXRjaCAoZXJyKSB7XG5cdFx0Y29uc3QgeyBtZXNzYWdlIH0gPSBlcnI7XG5cdFx0aWYgKHR5cGVvZiBtZXNzYWdlID09PSAnc3RyaW5nJyAmJiBtZXNzYWdlLmluZGV4T2YoJ2lzIG5vdCBhIGNvbnN0cnVjdG9yJykgIT09IC0xKSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoZXJyb3JfbWVzc2FnZSk7XG5cdFx0fSBlbHNlIHtcblx0XHRcdHRocm93IGVycjtcblx0XHR9XG5cdH1cbn1cblxuLyoqXG4gKiBCYXNlIGNsYXNzIGZvciBTdmVsdGUgY29tcG9uZW50cyB3aXRoIHNvbWUgbWlub3IgZGV2LWVuaGFuY2VtZW50cy4gVXNlZCB3aGVuIGRldj10cnVlLlxuICpcbiAqIENhbiBiZSB1c2VkIHRvIGNyZWF0ZSBzdHJvbmdseSB0eXBlZCBTdmVsdGUgY29tcG9uZW50cy5cbiAqXG4gKiAjIyMjIEV4YW1wbGU6XG4gKlxuICogWW91IGhhdmUgY29tcG9uZW50IGxpYnJhcnkgb24gbnBtIGNhbGxlZCBgY29tcG9uZW50LWxpYnJhcnlgLCBmcm9tIHdoaWNoXG4gKiB5b3UgZXhwb3J0IGEgY29tcG9uZW50IGNhbGxlZCBgTXlDb21wb25lbnRgLiBGb3IgU3ZlbHRlK1R5cGVTY3JpcHQgdXNlcnMsXG4gKiB5b3Ugd2FudCB0byBwcm92aWRlIHR5cGluZ3MuIFRoZXJlZm9yZSB5b3UgY3JlYXRlIGEgYGluZGV4LmQudHNgOlxuICogYGBgdHNcbiAqIGltcG9ydCB7IFN2ZWx0ZUNvbXBvbmVudCB9IGZyb20gXCJzdmVsdGVcIjtcbiAqIGV4cG9ydCBjbGFzcyBNeUNvbXBvbmVudCBleHRlbmRzIFN2ZWx0ZUNvbXBvbmVudDx7Zm9vOiBzdHJpbmd9PiB7fVxuICogYGBgXG4gKiBUeXBpbmcgdGhpcyBtYWtlcyBpdCBwb3NzaWJsZSBmb3IgSURFcyBsaWtlIFZTIENvZGUgd2l0aCB0aGUgU3ZlbHRlIGV4dGVuc2lvblxuICogdG8gcHJvdmlkZSBpbnRlbGxpc2Vuc2UgYW5kIHRvIHVzZSB0aGUgY29tcG9uZW50IGxpa2UgdGhpcyBpbiBhIFN2ZWx0ZSBmaWxlXG4gKiB3aXRoIFR5cGVTY3JpcHQ6XG4gKiBgYGBzdmVsdGVcbiAqIDxzY3JpcHQgbGFuZz1cInRzXCI+XG4gKiBcdGltcG9ydCB7IE15Q29tcG9uZW50IH0gZnJvbSBcImNvbXBvbmVudC1saWJyYXJ5XCI7XG4gKiA8L3NjcmlwdD5cbiAqIDxNeUNvbXBvbmVudCBmb289eydiYXInfSAvPlxuICogYGBgXG4gKiBAdGVtcGxhdGUge1JlY29yZDxzdHJpbmcsIGFueT59IFtQcm9wcz1hbnldXG4gKiBAdGVtcGxhdGUge1JlY29yZDxzdHJpbmcsIGFueT59IFtFdmVudHM9YW55XVxuICogQHRlbXBsYXRlIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbU2xvdHM9YW55XVxuICogQGV4dGVuZHMge1N2ZWx0ZUNvbXBvbmVudDxQcm9wcywgRXZlbnRzPn1cbiAqL1xuZXhwb3J0IGNsYXNzIFN2ZWx0ZUNvbXBvbmVudERldiBleHRlbmRzIFN2ZWx0ZUNvbXBvbmVudCB7XG5cdC8qKlxuXHQgKiBGb3IgdHlwZSBjaGVja2luZyBjYXBhYmlsaXRpZXMgb25seS5cblx0ICogRG9lcyBub3QgZXhpc3QgYXQgcnVudGltZS5cblx0ICogIyMjIERPIE5PVCBVU0UhXG5cdCAqXG5cdCAqIEB0eXBlIHtQcm9wc31cblx0ICovXG5cdCQkcHJvcF9kZWY7XG5cdC8qKlxuXHQgKiBGb3IgdHlwZSBjaGVja2luZyBjYXBhYmlsaXRpZXMgb25seS5cblx0ICogRG9lcyBub3QgZXhpc3QgYXQgcnVudGltZS5cblx0ICogIyMjIERPIE5PVCBVU0UhXG5cdCAqXG5cdCAqIEB0eXBlIHtFdmVudHN9XG5cdCAqL1xuXHQkJGV2ZW50c19kZWY7XG5cdC8qKlxuXHQgKiBGb3IgdHlwZSBjaGVja2luZyBjYXBhYmlsaXRpZXMgb25seS5cblx0ICogRG9lcyBub3QgZXhpc3QgYXQgcnVudGltZS5cblx0ICogIyMjIERPIE5PVCBVU0UhXG5cdCAqXG5cdCAqIEB0eXBlIHtTbG90c31cblx0ICovXG5cdCQkc2xvdF9kZWY7XG5cblx0LyoqIEBwYXJhbSB7aW1wb3J0KCcuL3B1YmxpYy5qcycpLkNvbXBvbmVudENvbnN0cnVjdG9yT3B0aW9uczxQcm9wcz59IG9wdGlvbnMgKi9cblx0Y29uc3RydWN0b3Iob3B0aW9ucykge1xuXHRcdGlmICghb3B0aW9ucyB8fCAoIW9wdGlvbnMudGFyZ2V0ICYmICFvcHRpb25zLiQkaW5saW5lKSkge1xuXHRcdFx0dGhyb3cgbmV3IEVycm9yKFwiJ3RhcmdldCcgaXMgYSByZXF1aXJlZCBvcHRpb25cIik7XG5cdFx0fVxuXHRcdHN1cGVyKCk7XG5cdH1cblxuXHQvKiogQHJldHVybnMge3ZvaWR9ICovXG5cdCRkZXN0cm95KCkge1xuXHRcdHN1cGVyLiRkZXN0cm95KCk7XG5cdFx0dGhpcy4kZGVzdHJveSA9ICgpID0+IHtcblx0XHRcdGNvbnNvbGUud2FybignQ29tcG9uZW50IHdhcyBhbHJlYWR5IGRlc3Ryb3llZCcpOyAvLyBlc2xpbnQtZGlzYWJsZS1saW5lIG5vLWNvbnNvbGVcblx0XHR9O1xuXHR9XG5cblx0LyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuXHQkY2FwdHVyZV9zdGF0ZSgpIHt9XG5cblx0LyoqIEByZXR1cm5zIHt2b2lkfSAqL1xuXHQkaW5qZWN0X3N0YXRlKCkge31cbn1cbi8qKlxuICogQHRlbXBsYXRlIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbUHJvcHM9YW55XVxuICogQHRlbXBsYXRlIHtSZWNvcmQ8c3RyaW5nLCBhbnk+fSBbRXZlbnRzPWFueV1cbiAqIEB0ZW1wbGF0ZSB7UmVjb3JkPHN0cmluZywgYW55Pn0gW1Nsb3RzPWFueV1cbiAqIEBkZXByZWNhdGVkIFVzZSBgU3ZlbHRlQ29tcG9uZW50YCBpbnN0ZWFkLiBTZWUgUFIgZm9yIG1vcmUgaW5mb3JtYXRpb246IGh0dHBzOi8vZ2l0aHViLmNvbS9zdmVsdGVqcy9zdmVsdGUvcHVsbC84NTEyXG4gKiBAZXh0ZW5kcyB7U3ZlbHRlQ29tcG9uZW50RGV2PFByb3BzLCBFdmVudHMsIFNsb3RzPn1cbiAqL1xuZXhwb3J0IGNsYXNzIFN2ZWx0ZUNvbXBvbmVudFR5cGVkIGV4dGVuZHMgU3ZlbHRlQ29tcG9uZW50RGV2IHt9XG5cbi8qKiBAcmV0dXJucyB7KCkgPT4gdm9pZH0gKi9cbmV4cG9ydCBmdW5jdGlvbiBsb29wX2d1YXJkKHRpbWVvdXQpIHtcblx0Y29uc3Qgc3RhcnQgPSBEYXRlLm5vdygpO1xuXHRyZXR1cm4gKCkgPT4ge1xuXHRcdGlmIChEYXRlLm5vdygpIC0gc3RhcnQgPiB0aW1lb3V0KSB7XG5cdFx0XHR0aHJvdyBuZXcgRXJyb3IoJ0luZmluaXRlIGxvb3AgZGV0ZWN0ZWQnKTtcblx0XHR9XG5cdH07XG59XG4iLCAiaW1wb3J0IHsgUFVCTElDX1ZFUlNJT04gfSBmcm9tICcuLi8uLi8uLi9zaGFyZWQvdmVyc2lvbi5qcyc7XG5cbmlmICh0eXBlb2Ygd2luZG93ICE9PSAndW5kZWZpbmVkJylcblx0Ly8gQHRzLWlnbm9yZVxuXHQod2luZG93Ll9fc3ZlbHRlIHx8ICh3aW5kb3cuX19zdmVsdGUgPSB7IHY6IG5ldyBTZXQoKSB9KSkudi5hZGQoUFVCTElDX1ZFUlNJT04pO1xuIiwgImltcG9ydCB7IGN1YmljT3V0LCBjdWJpY0luT3V0LCBsaW5lYXIgfSBmcm9tICcuLi9lYXNpbmcvaW5kZXguanMnO1xuaW1wb3J0IHsgYXNzaWduLCBzcGxpdF9jc3NfdW5pdCwgaXNfZnVuY3Rpb24gfSBmcm9tICcuLi9pbnRlcm5hbC9pbmRleC5qcyc7XG5cbi8qKlxuICogQW5pbWF0ZXMgYSBgYmx1cmAgZmlsdGVyIGFsb25nc2lkZSBhbiBlbGVtZW50J3Mgb3BhY2l0eS5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUtdHJhbnNpdGlvbiNibHVyXG4gKiBAcGFyYW0ge0VsZW1lbnR9IG5vZGVcbiAqIEBwYXJhbSB7aW1wb3J0KCcuL3B1YmxpYycpLkJsdXJQYXJhbXN9IFtwYXJhbXNdXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL3B1YmxpYycpLlRyYW5zaXRpb25Db25maWd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBibHVyKFxuXHRub2RlLFxuXHR7IGRlbGF5ID0gMCwgZHVyYXRpb24gPSA0MDAsIGVhc2luZyA9IGN1YmljSW5PdXQsIGFtb3VudCA9IDUsIG9wYWNpdHkgPSAwIH0gPSB7fVxuKSB7XG5cdGNvbnN0IHN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShub2RlKTtcblx0Y29uc3QgdGFyZ2V0X29wYWNpdHkgPSArc3R5bGUub3BhY2l0eTtcblx0Y29uc3QgZiA9IHN0eWxlLmZpbHRlciA9PT0gJ25vbmUnID8gJycgOiBzdHlsZS5maWx0ZXI7XG5cdGNvbnN0IG9kID0gdGFyZ2V0X29wYWNpdHkgKiAoMSAtIG9wYWNpdHkpO1xuXHRjb25zdCBbdmFsdWUsIHVuaXRdID0gc3BsaXRfY3NzX3VuaXQoYW1vdW50KTtcblx0cmV0dXJuIHtcblx0XHRkZWxheSxcblx0XHRkdXJhdGlvbixcblx0XHRlYXNpbmcsXG5cdFx0Y3NzOiAoX3QsIHUpID0+IGBvcGFjaXR5OiAke3RhcmdldF9vcGFjaXR5IC0gb2QgKiB1fTsgZmlsdGVyOiAke2Z9IGJsdXIoJHt1ICogdmFsdWV9JHt1bml0fSk7YFxuXHR9O1xufVxuXG4vKipcbiAqIEFuaW1hdGVzIHRoZSBvcGFjaXR5IG9mIGFuIGVsZW1lbnQgZnJvbSAwIHRvIHRoZSBjdXJyZW50IG9wYWNpdHkgZm9yIGBpbmAgdHJhbnNpdGlvbnMgYW5kIGZyb20gdGhlIGN1cnJlbnQgb3BhY2l0eSB0byAwIGZvciBgb3V0YCB0cmFuc2l0aW9ucy5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUtdHJhbnNpdGlvbiNmYWRlXG4gKiBAcGFyYW0ge0VsZW1lbnR9IG5vZGVcbiAqIEBwYXJhbSB7aW1wb3J0KCcuL3B1YmxpYycpLkZhZGVQYXJhbXN9IFtwYXJhbXNdXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL3B1YmxpYycpLlRyYW5zaXRpb25Db25maWd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBmYWRlKG5vZGUsIHsgZGVsYXkgPSAwLCBkdXJhdGlvbiA9IDQwMCwgZWFzaW5nID0gbGluZWFyIH0gPSB7fSkge1xuXHRjb25zdCBvID0gK2dldENvbXB1dGVkU3R5bGUobm9kZSkub3BhY2l0eTtcblx0cmV0dXJuIHtcblx0XHRkZWxheSxcblx0XHRkdXJhdGlvbixcblx0XHRlYXNpbmcsXG5cdFx0Y3NzOiAodCkgPT4gYG9wYWNpdHk6ICR7dCAqIG99YFxuXHR9O1xufVxuXG4vKipcbiAqIEFuaW1hdGVzIHRoZSB4IGFuZCB5IHBvc2l0aW9ucyBhbmQgdGhlIG9wYWNpdHkgb2YgYW4gZWxlbWVudC4gYGluYCB0cmFuc2l0aW9ucyBhbmltYXRlIGZyb20gdGhlIHByb3ZpZGVkIHZhbHVlcywgcGFzc2VkIGFzIHBhcmFtZXRlcnMgdG8gdGhlIGVsZW1lbnQncyBkZWZhdWx0IHZhbHVlcy4gYG91dGAgdHJhbnNpdGlvbnMgYW5pbWF0ZSBmcm9tIHRoZSBlbGVtZW50J3MgZGVmYXVsdCB2YWx1ZXMgdG8gdGhlIHByb3ZpZGVkIHZhbHVlcy5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUtdHJhbnNpdGlvbiNmbHlcbiAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtpbXBvcnQoJy4vcHVibGljJykuRmx5UGFyYW1zfSBbcGFyYW1zXVxuICogQHJldHVybnMge2ltcG9ydCgnLi9wdWJsaWMnKS5UcmFuc2l0aW9uQ29uZmlnfVxuICovXG5leHBvcnQgZnVuY3Rpb24gZmx5KFxuXHRub2RlLFxuXHR7IGRlbGF5ID0gMCwgZHVyYXRpb24gPSA0MDAsIGVhc2luZyA9IGN1YmljT3V0LCB4ID0gMCwgeSA9IDAsIG9wYWNpdHkgPSAwIH0gPSB7fVxuKSB7XG5cdGNvbnN0IHN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShub2RlKTtcblx0Y29uc3QgdGFyZ2V0X29wYWNpdHkgPSArc3R5bGUub3BhY2l0eTtcblx0Y29uc3QgdHJhbnNmb3JtID0gc3R5bGUudHJhbnNmb3JtID09PSAnbm9uZScgPyAnJyA6IHN0eWxlLnRyYW5zZm9ybTtcblx0Y29uc3Qgb2QgPSB0YXJnZXRfb3BhY2l0eSAqICgxIC0gb3BhY2l0eSk7XG5cdGNvbnN0IFt4VmFsdWUsIHhVbml0XSA9IHNwbGl0X2Nzc191bml0KHgpO1xuXHRjb25zdCBbeVZhbHVlLCB5VW5pdF0gPSBzcGxpdF9jc3NfdW5pdCh5KTtcblx0cmV0dXJuIHtcblx0XHRkZWxheSxcblx0XHRkdXJhdGlvbixcblx0XHRlYXNpbmcsXG5cdFx0Y3NzOiAodCwgdSkgPT4gYFxuXHRcdFx0dHJhbnNmb3JtOiAke3RyYW5zZm9ybX0gdHJhbnNsYXRlKCR7KDEgLSB0KSAqIHhWYWx1ZX0ke3hVbml0fSwgJHsoMSAtIHQpICogeVZhbHVlfSR7eVVuaXR9KTtcblx0XHRcdG9wYWNpdHk6ICR7dGFyZ2V0X29wYWNpdHkgLSBvZCAqIHV9YFxuXHR9O1xufVxuXG4vKipcbiAqIFNsaWRlcyBhbiBlbGVtZW50IGluIGFuZCBvdXQuXG4gKlxuICogaHR0cHM6Ly9zdmVsdGUuZGV2L2RvY3Mvc3ZlbHRlLXRyYW5zaXRpb24jc2xpZGVcbiAqIEBwYXJhbSB7RWxlbWVudH0gbm9kZVxuICogQHBhcmFtIHtpbXBvcnQoJy4vcHVibGljJykuU2xpZGVQYXJhbXN9IFtwYXJhbXNdXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL3B1YmxpYycpLlRyYW5zaXRpb25Db25maWd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzbGlkZShub2RlLCB7IGRlbGF5ID0gMCwgZHVyYXRpb24gPSA0MDAsIGVhc2luZyA9IGN1YmljT3V0LCBheGlzID0gJ3knIH0gPSB7fSkge1xuXHRjb25zdCBzdHlsZSA9IGdldENvbXB1dGVkU3R5bGUobm9kZSk7XG5cdGNvbnN0IG9wYWNpdHkgPSArc3R5bGUub3BhY2l0eTtcblx0Y29uc3QgcHJpbWFyeV9wcm9wZXJ0eSA9IGF4aXMgPT09ICd5JyA/ICdoZWlnaHQnIDogJ3dpZHRoJztcblx0Y29uc3QgcHJpbWFyeV9wcm9wZXJ0eV92YWx1ZSA9IHBhcnNlRmxvYXQoc3R5bGVbcHJpbWFyeV9wcm9wZXJ0eV0pO1xuXHRjb25zdCBzZWNvbmRhcnlfcHJvcGVydGllcyA9IGF4aXMgPT09ICd5JyA/IFsndG9wJywgJ2JvdHRvbSddIDogWydsZWZ0JywgJ3JpZ2h0J107XG5cdGNvbnN0IGNhcGl0YWxpemVkX3NlY29uZGFyeV9wcm9wZXJ0aWVzID0gc2Vjb25kYXJ5X3Byb3BlcnRpZXMubWFwKFxuXHRcdChlKSA9PiBgJHtlWzBdLnRvVXBwZXJDYXNlKCl9JHtlLnNsaWNlKDEpfWBcblx0KTtcblx0Y29uc3QgcGFkZGluZ19zdGFydF92YWx1ZSA9IHBhcnNlRmxvYXQoc3R5bGVbYHBhZGRpbmcke2NhcGl0YWxpemVkX3NlY29uZGFyeV9wcm9wZXJ0aWVzWzBdfWBdKTtcblx0Y29uc3QgcGFkZGluZ19lbmRfdmFsdWUgPSBwYXJzZUZsb2F0KHN0eWxlW2BwYWRkaW5nJHtjYXBpdGFsaXplZF9zZWNvbmRhcnlfcHJvcGVydGllc1sxXX1gXSk7XG5cdGNvbnN0IG1hcmdpbl9zdGFydF92YWx1ZSA9IHBhcnNlRmxvYXQoc3R5bGVbYG1hcmdpbiR7Y2FwaXRhbGl6ZWRfc2Vjb25kYXJ5X3Byb3BlcnRpZXNbMF19YF0pO1xuXHRjb25zdCBtYXJnaW5fZW5kX3ZhbHVlID0gcGFyc2VGbG9hdChzdHlsZVtgbWFyZ2luJHtjYXBpdGFsaXplZF9zZWNvbmRhcnlfcHJvcGVydGllc1sxXX1gXSk7XG5cdGNvbnN0IGJvcmRlcl93aWR0aF9zdGFydF92YWx1ZSA9IHBhcnNlRmxvYXQoXG5cdFx0c3R5bGVbYGJvcmRlciR7Y2FwaXRhbGl6ZWRfc2Vjb25kYXJ5X3Byb3BlcnRpZXNbMF19V2lkdGhgXVxuXHQpO1xuXHRjb25zdCBib3JkZXJfd2lkdGhfZW5kX3ZhbHVlID0gcGFyc2VGbG9hdChcblx0XHRzdHlsZVtgYm9yZGVyJHtjYXBpdGFsaXplZF9zZWNvbmRhcnlfcHJvcGVydGllc1sxXX1XaWR0aGBdXG5cdCk7XG5cdHJldHVybiB7XG5cdFx0ZGVsYXksXG5cdFx0ZHVyYXRpb24sXG5cdFx0ZWFzaW5nLFxuXHRcdGNzczogKHQpID0+XG5cdFx0XHQnb3ZlcmZsb3c6IGhpZGRlbjsnICtcblx0XHRcdGBvcGFjaXR5OiAke01hdGgubWluKHQgKiAyMCwgMSkgKiBvcGFjaXR5fTtgICtcblx0XHRcdGAke3ByaW1hcnlfcHJvcGVydHl9OiAke3QgKiBwcmltYXJ5X3Byb3BlcnR5X3ZhbHVlfXB4O2AgK1xuXHRcdFx0YHBhZGRpbmctJHtzZWNvbmRhcnlfcHJvcGVydGllc1swXX06ICR7dCAqIHBhZGRpbmdfc3RhcnRfdmFsdWV9cHg7YCArXG5cdFx0XHRgcGFkZGluZy0ke3NlY29uZGFyeV9wcm9wZXJ0aWVzWzFdfTogJHt0ICogcGFkZGluZ19lbmRfdmFsdWV9cHg7YCArXG5cdFx0XHRgbWFyZ2luLSR7c2Vjb25kYXJ5X3Byb3BlcnRpZXNbMF19OiAke3QgKiBtYXJnaW5fc3RhcnRfdmFsdWV9cHg7YCArXG5cdFx0XHRgbWFyZ2luLSR7c2Vjb25kYXJ5X3Byb3BlcnRpZXNbMV19OiAke3QgKiBtYXJnaW5fZW5kX3ZhbHVlfXB4O2AgK1xuXHRcdFx0YGJvcmRlci0ke3NlY29uZGFyeV9wcm9wZXJ0aWVzWzBdfS13aWR0aDogJHt0ICogYm9yZGVyX3dpZHRoX3N0YXJ0X3ZhbHVlfXB4O2AgK1xuXHRcdFx0YGJvcmRlci0ke3NlY29uZGFyeV9wcm9wZXJ0aWVzWzFdfS13aWR0aDogJHt0ICogYm9yZGVyX3dpZHRoX2VuZF92YWx1ZX1weDtgXG5cdH07XG59XG5cbi8qKlxuICogQW5pbWF0ZXMgdGhlIG9wYWNpdHkgYW5kIHNjYWxlIG9mIGFuIGVsZW1lbnQuIGBpbmAgdHJhbnNpdGlvbnMgYW5pbWF0ZSBmcm9tIGFuIGVsZW1lbnQncyBjdXJyZW50IChkZWZhdWx0KSB2YWx1ZXMgdG8gdGhlIHByb3ZpZGVkIHZhbHVlcywgcGFzc2VkIGFzIHBhcmFtZXRlcnMuIGBvdXRgIHRyYW5zaXRpb25zIGFuaW1hdGUgZnJvbSB0aGUgcHJvdmlkZWQgdmFsdWVzIHRvIGFuIGVsZW1lbnQncyBkZWZhdWx0IHZhbHVlcy5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUtdHJhbnNpdGlvbiNzY2FsZVxuICogQHBhcmFtIHtFbGVtZW50fSBub2RlXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9wdWJsaWMnKS5TY2FsZVBhcmFtc30gW3BhcmFtc11cbiAqIEByZXR1cm5zIHtpbXBvcnQoJy4vcHVibGljJykuVHJhbnNpdGlvbkNvbmZpZ31cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNjYWxlKFxuXHRub2RlLFxuXHR7IGRlbGF5ID0gMCwgZHVyYXRpb24gPSA0MDAsIGVhc2luZyA9IGN1YmljT3V0LCBzdGFydCA9IDAsIG9wYWNpdHkgPSAwIH0gPSB7fVxuKSB7XG5cdGNvbnN0IHN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShub2RlKTtcblx0Y29uc3QgdGFyZ2V0X29wYWNpdHkgPSArc3R5bGUub3BhY2l0eTtcblx0Y29uc3QgdHJhbnNmb3JtID0gc3R5bGUudHJhbnNmb3JtID09PSAnbm9uZScgPyAnJyA6IHN0eWxlLnRyYW5zZm9ybTtcblx0Y29uc3Qgc2QgPSAxIC0gc3RhcnQ7XG5cdGNvbnN0IG9kID0gdGFyZ2V0X29wYWNpdHkgKiAoMSAtIG9wYWNpdHkpO1xuXHRyZXR1cm4ge1xuXHRcdGRlbGF5LFxuXHRcdGR1cmF0aW9uLFxuXHRcdGVhc2luZyxcblx0XHRjc3M6IChfdCwgdSkgPT4gYFxuXHRcdFx0dHJhbnNmb3JtOiAke3RyYW5zZm9ybX0gc2NhbGUoJHsxIC0gc2QgKiB1fSk7XG5cdFx0XHRvcGFjaXR5OiAke3RhcmdldF9vcGFjaXR5IC0gb2QgKiB1fVxuXHRcdGBcblx0fTtcbn1cblxuLyoqXG4gKiBBbmltYXRlcyB0aGUgc3Ryb2tlIG9mIGFuIFNWRyBlbGVtZW50LCBsaWtlIGEgc25ha2UgaW4gYSB0dWJlLiBgaW5gIHRyYW5zaXRpb25zIGJlZ2luIHdpdGggdGhlIHBhdGggaW52aXNpYmxlIGFuZCBkcmF3IHRoZSBwYXRoIHRvIHRoZSBzY3JlZW4gb3ZlciB0aW1lLiBgb3V0YCB0cmFuc2l0aW9ucyBzdGFydCBpbiBhIHZpc2libGUgc3RhdGUgYW5kIGdyYWR1YWxseSBlcmFzZSB0aGUgcGF0aC4gYGRyYXdgIG9ubHkgd29ya3Mgd2l0aCBlbGVtZW50cyB0aGF0IGhhdmUgYSBgZ2V0VG90YWxMZW5ndGhgIG1ldGhvZCwgbGlrZSBgPHBhdGg+YCBhbmQgYDxwb2x5bGluZT5gLlxuICpcbiAqIGh0dHBzOi8vc3ZlbHRlLmRldi9kb2NzL3N2ZWx0ZS10cmFuc2l0aW9uI2RyYXdcbiAqIEBwYXJhbSB7U1ZHRWxlbWVudCAmIHsgZ2V0VG90YWxMZW5ndGgoKTogbnVtYmVyIH19IG5vZGVcbiAqIEBwYXJhbSB7aW1wb3J0KCcuL3B1YmxpYycpLkRyYXdQYXJhbXN9IFtwYXJhbXNdXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL3B1YmxpYycpLlRyYW5zaXRpb25Db25maWd9XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBkcmF3KG5vZGUsIHsgZGVsYXkgPSAwLCBzcGVlZCwgZHVyYXRpb24sIGVhc2luZyA9IGN1YmljSW5PdXQgfSA9IHt9KSB7XG5cdGxldCBsZW4gPSBub2RlLmdldFRvdGFsTGVuZ3RoKCk7XG5cdGNvbnN0IHN0eWxlID0gZ2V0Q29tcHV0ZWRTdHlsZShub2RlKTtcblx0aWYgKHN0eWxlLnN0cm9rZUxpbmVjYXAgIT09ICdidXR0Jykge1xuXHRcdGxlbiArPSBwYXJzZUludChzdHlsZS5zdHJva2VXaWR0aCk7XG5cdH1cblx0aWYgKGR1cmF0aW9uID09PSB1bmRlZmluZWQpIHtcblx0XHRpZiAoc3BlZWQgPT09IHVuZGVmaW5lZCkge1xuXHRcdFx0ZHVyYXRpb24gPSA4MDA7XG5cdFx0fSBlbHNlIHtcblx0XHRcdGR1cmF0aW9uID0gbGVuIC8gc3BlZWQ7XG5cdFx0fVxuXHR9IGVsc2UgaWYgKHR5cGVvZiBkdXJhdGlvbiA9PT0gJ2Z1bmN0aW9uJykge1xuXHRcdGR1cmF0aW9uID0gZHVyYXRpb24obGVuKTtcblx0fVxuXHRyZXR1cm4ge1xuXHRcdGRlbGF5LFxuXHRcdGR1cmF0aW9uLFxuXHRcdGVhc2luZyxcblx0XHRjc3M6IChfLCB1KSA9PiBgXG5cdFx0XHRzdHJva2UtZGFzaGFycmF5OiAke2xlbn07XG5cdFx0XHRzdHJva2UtZGFzaG9mZnNldDogJHt1ICogbGVufTtcblx0XHRgXG5cdH07XG59XG5cbi8qKlxuICogVGhlIGBjcm9zc2ZhZGVgIGZ1bmN0aW9uIGNyZWF0ZXMgYSBwYWlyIG9mIFt0cmFuc2l0aW9uc10oL2RvY3MjdGVtcGxhdGUtc3ludGF4LWVsZW1lbnQtZGlyZWN0aXZlcy10cmFuc2l0aW9uLWZuKSBjYWxsZWQgYHNlbmRgIGFuZCBgcmVjZWl2ZWAuIFdoZW4gYW4gZWxlbWVudCBpcyAnc2VudCcsIGl0IGxvb2tzIGZvciBhIGNvcnJlc3BvbmRpbmcgZWxlbWVudCBiZWluZyAncmVjZWl2ZWQnLCBhbmQgZ2VuZXJhdGVzIGEgdHJhbnNpdGlvbiB0aGF0IHRyYW5zZm9ybXMgdGhlIGVsZW1lbnQgdG8gaXRzIGNvdW50ZXJwYXJ0J3MgcG9zaXRpb24gYW5kIGZhZGVzIGl0IG91dC4gV2hlbiBhbiBlbGVtZW50IGlzICdyZWNlaXZlZCcsIHRoZSByZXZlcnNlIGhhcHBlbnMuIElmIHRoZXJlIGlzIG5vIGNvdW50ZXJwYXJ0LCB0aGUgYGZhbGxiYWNrYCB0cmFuc2l0aW9uIGlzIHVzZWQuXG4gKlxuICogaHR0cHM6Ly9zdmVsdGUuZGV2L2RvY3Mvc3ZlbHRlLXRyYW5zaXRpb24jY3Jvc3NmYWRlXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9wdWJsaWMnKS5Dcm9zc2ZhZGVQYXJhbXMgJiB7XG4gKiBcdGZhbGxiYWNrPzogKG5vZGU6IEVsZW1lbnQsIHBhcmFtczogaW1wb3J0KCcuL3B1YmxpYycpLkNyb3NzZmFkZVBhcmFtcywgaW50cm86IGJvb2xlYW4pID0+IGltcG9ydCgnLi9wdWJsaWMnKS5UcmFuc2l0aW9uQ29uZmlnO1xuICogfX0gcGFyYW1zXG4gKiBAcmV0dXJucyB7Wyhub2RlOiBhbnksIHBhcmFtczogaW1wb3J0KCcuL3B1YmxpYycpLkNyb3NzZmFkZVBhcmFtcyAmIHsga2V5OiBhbnk7IH0pID0+ICgpID0+IGltcG9ydCgnLi9wdWJsaWMnKS5UcmFuc2l0aW9uQ29uZmlnLCAobm9kZTogYW55LCBwYXJhbXM6IGltcG9ydCgnLi9wdWJsaWMnKS5Dcm9zc2ZhZGVQYXJhbXMgJiB7IGtleTogYW55OyB9KSA9PiAoKSA9PiBpbXBvcnQoJy4vcHVibGljJykuVHJhbnNpdGlvbkNvbmZpZ119XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBjcm9zc2ZhZGUoeyBmYWxsYmFjaywgLi4uZGVmYXVsdHMgfSkge1xuXHQvKiogQHR5cGUge01hcDxhbnksIEVsZW1lbnQ+fSAqL1xuXHRjb25zdCB0b19yZWNlaXZlID0gbmV3IE1hcCgpO1xuXHQvKiogQHR5cGUge01hcDxhbnksIEVsZW1lbnQ+fSAqL1xuXHRjb25zdCB0b19zZW5kID0gbmV3IE1hcCgpO1xuXHQvKipcblx0ICogQHBhcmFtIHtFbGVtZW50fSBmcm9tX25vZGVcblx0ICogQHBhcmFtIHtFbGVtZW50fSBub2RlXG5cdCAqIEBwYXJhbSB7aW1wb3J0KCcuL3B1YmxpYycpLkNyb3NzZmFkZVBhcmFtc30gcGFyYW1zXG5cdCAqIEByZXR1cm5zIHtpbXBvcnQoJy4vcHVibGljJykuVHJhbnNpdGlvbkNvbmZpZ31cblx0ICovXG5cdGZ1bmN0aW9uIGNyb3NzZmFkZShmcm9tX25vZGUsIG5vZGUsIHBhcmFtcykge1xuXHRcdGNvbnN0IHtcblx0XHRcdGRlbGF5ID0gMCxcblx0XHRcdGR1cmF0aW9uID0gKGQpID0+IE1hdGguc3FydChkKSAqIDMwLFxuXHRcdFx0ZWFzaW5nID0gY3ViaWNPdXRcblx0XHR9ID0gYXNzaWduKGFzc2lnbih7fSwgZGVmYXVsdHMpLCBwYXJhbXMpO1xuXHRcdGNvbnN0IGZyb20gPSBmcm9tX25vZGUuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG5cdFx0Y29uc3QgdG8gPSBub2RlLmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpO1xuXHRcdGNvbnN0IGR4ID0gZnJvbS5sZWZ0IC0gdG8ubGVmdDtcblx0XHRjb25zdCBkeSA9IGZyb20udG9wIC0gdG8udG9wO1xuXHRcdGNvbnN0IGR3ID0gZnJvbS53aWR0aCAvIHRvLndpZHRoO1xuXHRcdGNvbnN0IGRoID0gZnJvbS5oZWlnaHQgLyB0by5oZWlnaHQ7XG5cdFx0Y29uc3QgZCA9IE1hdGguc3FydChkeCAqIGR4ICsgZHkgKiBkeSk7XG5cdFx0Y29uc3Qgc3R5bGUgPSBnZXRDb21wdXRlZFN0eWxlKG5vZGUpO1xuXHRcdGNvbnN0IHRyYW5zZm9ybSA9IHN0eWxlLnRyYW5zZm9ybSA9PT0gJ25vbmUnID8gJycgOiBzdHlsZS50cmFuc2Zvcm07XG5cdFx0Y29uc3Qgb3BhY2l0eSA9ICtzdHlsZS5vcGFjaXR5O1xuXHRcdHJldHVybiB7XG5cdFx0XHRkZWxheSxcblx0XHRcdGR1cmF0aW9uOiBpc19mdW5jdGlvbihkdXJhdGlvbikgPyBkdXJhdGlvbihkKSA6IGR1cmF0aW9uLFxuXHRcdFx0ZWFzaW5nLFxuXHRcdFx0Y3NzOiAodCwgdSkgPT4gYFxuXHRcdFx0XHRvcGFjaXR5OiAke3QgKiBvcGFjaXR5fTtcblx0XHRcdFx0dHJhbnNmb3JtLW9yaWdpbjogdG9wIGxlZnQ7XG5cdFx0XHRcdHRyYW5zZm9ybTogJHt0cmFuc2Zvcm19IHRyYW5zbGF0ZSgke3UgKiBkeH1weCwke3UgKiBkeX1weCkgc2NhbGUoJHt0ICsgKDEgLSB0KSAqIGR3fSwgJHtcblx0XHRcdFx0dCArICgxIC0gdCkgKiBkaFxuXHRcdFx0fSk7XG5cdFx0XHRgXG5cdFx0fTtcblx0fVxuXG5cdC8qKlxuXHQgKiBAcGFyYW0ge01hcDxhbnksIEVsZW1lbnQ+fSBpdGVtc1xuXHQgKiBAcGFyYW0ge01hcDxhbnksIEVsZW1lbnQ+fSBjb3VudGVycGFydHNcblx0ICogQHBhcmFtIHtib29sZWFufSBpbnRyb1xuXHQgKiBAcmV0dXJucyB7KG5vZGU6IGFueSwgcGFyYW1zOiBpbXBvcnQoJy4vcHVibGljJykuQ3Jvc3NmYWRlUGFyYW1zICYgeyBrZXk6IGFueTsgfSkgPT4gKCkgPT4gaW1wb3J0KCcuL3B1YmxpYycpLlRyYW5zaXRpb25Db25maWd9XG5cdCAqL1xuXHRmdW5jdGlvbiB0cmFuc2l0aW9uKGl0ZW1zLCBjb3VudGVycGFydHMsIGludHJvKSB7XG5cdFx0cmV0dXJuIChub2RlLCBwYXJhbXMpID0+IHtcblx0XHRcdGl0ZW1zLnNldChwYXJhbXMua2V5LCBub2RlKTtcblx0XHRcdHJldHVybiAoKSA9PiB7XG5cdFx0XHRcdGlmIChjb3VudGVycGFydHMuaGFzKHBhcmFtcy5rZXkpKSB7XG5cdFx0XHRcdFx0Y29uc3Qgb3RoZXJfbm9kZSA9IGNvdW50ZXJwYXJ0cy5nZXQocGFyYW1zLmtleSk7XG5cdFx0XHRcdFx0Y291bnRlcnBhcnRzLmRlbGV0ZShwYXJhbXMua2V5KTtcblx0XHRcdFx0XHRyZXR1cm4gY3Jvc3NmYWRlKG90aGVyX25vZGUsIG5vZGUsIHBhcmFtcyk7XG5cdFx0XHRcdH1cblx0XHRcdFx0Ly8gaWYgdGhlIG5vZGUgaXMgZGlzYXBwZWFyaW5nIGFsdG9nZXRoZXJcblx0XHRcdFx0Ly8gKGkuZS4gd2Fzbid0IGNsYWltZWQgYnkgdGhlIG90aGVyIGxpc3QpXG5cdFx0XHRcdC8vIHRoZW4gd2UgbmVlZCB0byBzdXBwbHkgYW4gb3V0cm9cblx0XHRcdFx0aXRlbXMuZGVsZXRlKHBhcmFtcy5rZXkpO1xuXHRcdFx0XHRyZXR1cm4gZmFsbGJhY2sgJiYgZmFsbGJhY2sobm9kZSwgcGFyYW1zLCBpbnRybyk7XG5cdFx0XHR9O1xuXHRcdH07XG5cdH1cblx0cmV0dXJuIFt0cmFuc2l0aW9uKHRvX3NlbmQsIHRvX3JlY2VpdmUsIGZhbHNlKSwgdHJhbnNpdGlvbih0b19yZWNlaXZlLCB0b19zZW5kLCB0cnVlKV07XG59XG4iLCAiaW1wb3J0IHtcblx0cnVuX2FsbCxcblx0c3Vic2NyaWJlLFxuXHRub29wLFxuXHRzYWZlX25vdF9lcXVhbCxcblx0aXNfZnVuY3Rpb24sXG5cdGdldF9zdG9yZV92YWx1ZVxufSBmcm9tICcuLi9pbnRlcm5hbC9pbmRleC5qcyc7XG5cbmNvbnN0IHN1YnNjcmliZXJfcXVldWUgPSBbXTtcblxuLyoqXG4gKiBDcmVhdGVzIGEgYFJlYWRhYmxlYCBzdG9yZSB0aGF0IGFsbG93cyByZWFkaW5nIGJ5IHN1YnNjcmlwdGlvbi5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUtc3RvcmUjcmVhZGFibGVcbiAqIEB0ZW1wbGF0ZSBUXG4gKiBAcGFyYW0ge1R9IFt2YWx1ZV0gaW5pdGlhbCB2YWx1ZVxuICogQHBhcmFtIHtpbXBvcnQoJy4vcHVibGljLmpzJykuU3RhcnRTdG9wTm90aWZpZXI8VD59IFtzdGFydF1cbiAqIEByZXR1cm5zIHtpbXBvcnQoJy4vcHVibGljLmpzJykuUmVhZGFibGU8VD59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiByZWFkYWJsZSh2YWx1ZSwgc3RhcnQpIHtcblx0cmV0dXJuIHtcblx0XHRzdWJzY3JpYmU6IHdyaXRhYmxlKHZhbHVlLCBzdGFydCkuc3Vic2NyaWJlXG5cdH07XG59XG5cbi8qKlxuICogQ3JlYXRlIGEgYFdyaXRhYmxlYCBzdG9yZSB0aGF0IGFsbG93cyBib3RoIHVwZGF0aW5nIGFuZCByZWFkaW5nIGJ5IHN1YnNjcmlwdGlvbi5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUtc3RvcmUjd3JpdGFibGVcbiAqIEB0ZW1wbGF0ZSBUXG4gKiBAcGFyYW0ge1R9IFt2YWx1ZV0gaW5pdGlhbCB2YWx1ZVxuICogQHBhcmFtIHtpbXBvcnQoJy4vcHVibGljLmpzJykuU3RhcnRTdG9wTm90aWZpZXI8VD59IFtzdGFydF1cbiAqIEByZXR1cm5zIHtpbXBvcnQoJy4vcHVibGljLmpzJykuV3JpdGFibGU8VD59XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiB3cml0YWJsZSh2YWx1ZSwgc3RhcnQgPSBub29wKSB7XG5cdC8qKiBAdHlwZSB7aW1wb3J0KCcuL3B1YmxpYy5qcycpLlVuc3Vic2NyaWJlcn0gKi9cblx0bGV0IHN0b3A7XG5cdC8qKiBAdHlwZSB7U2V0PGltcG9ydCgnLi9wcml2YXRlLmpzJykuU3Vic2NyaWJlSW52YWxpZGF0ZVR1cGxlPFQ+Pn0gKi9cblx0Y29uc3Qgc3Vic2NyaWJlcnMgPSBuZXcgU2V0KCk7XG5cdC8qKiBAcGFyYW0ge1R9IG5ld192YWx1ZVxuXHQgKiBAcmV0dXJucyB7dm9pZH1cblx0ICovXG5cdGZ1bmN0aW9uIHNldChuZXdfdmFsdWUpIHtcblx0XHRpZiAoc2FmZV9ub3RfZXF1YWwodmFsdWUsIG5ld192YWx1ZSkpIHtcblx0XHRcdHZhbHVlID0gbmV3X3ZhbHVlO1xuXHRcdFx0aWYgKHN0b3ApIHtcblx0XHRcdFx0Ly8gc3RvcmUgaXMgcmVhZHlcblx0XHRcdFx0Y29uc3QgcnVuX3F1ZXVlID0gIXN1YnNjcmliZXJfcXVldWUubGVuZ3RoO1xuXHRcdFx0XHRmb3IgKGNvbnN0IHN1YnNjcmliZXIgb2Ygc3Vic2NyaWJlcnMpIHtcblx0XHRcdFx0XHRzdWJzY3JpYmVyWzFdKCk7XG5cdFx0XHRcdFx0c3Vic2NyaWJlcl9xdWV1ZS5wdXNoKHN1YnNjcmliZXIsIHZhbHVlKTtcblx0XHRcdFx0fVxuXHRcdFx0XHRpZiAocnVuX3F1ZXVlKSB7XG5cdFx0XHRcdFx0Zm9yIChsZXQgaSA9IDA7IGkgPCBzdWJzY3JpYmVyX3F1ZXVlLmxlbmd0aDsgaSArPSAyKSB7XG5cdFx0XHRcdFx0XHRzdWJzY3JpYmVyX3F1ZXVlW2ldWzBdKHN1YnNjcmliZXJfcXVldWVbaSArIDFdKTtcblx0XHRcdFx0XHR9XG5cdFx0XHRcdFx0c3Vic2NyaWJlcl9xdWV1ZS5sZW5ndGggPSAwO1xuXHRcdFx0XHR9XG5cdFx0XHR9XG5cdFx0fVxuXHR9XG5cblx0LyoqXG5cdCAqIEBwYXJhbSB7aW1wb3J0KCcuL3B1YmxpYy5qcycpLlVwZGF0ZXI8VD59IGZuXG5cdCAqIEByZXR1cm5zIHt2b2lkfVxuXHQgKi9cblx0ZnVuY3Rpb24gdXBkYXRlKGZuKSB7XG5cdFx0c2V0KGZuKHZhbHVlKSk7XG5cdH1cblxuXHQvKipcblx0ICogQHBhcmFtIHtpbXBvcnQoJy4vcHVibGljLmpzJykuU3Vic2NyaWJlcjxUPn0gcnVuXG5cdCAqIEBwYXJhbSB7aW1wb3J0KCcuL3ByaXZhdGUuanMnKS5JbnZhbGlkYXRvcjxUPn0gW2ludmFsaWRhdGVdXG5cdCAqIEByZXR1cm5zIHtpbXBvcnQoJy4vcHVibGljLmpzJykuVW5zdWJzY3JpYmVyfVxuXHQgKi9cblx0ZnVuY3Rpb24gc3Vic2NyaWJlKHJ1biwgaW52YWxpZGF0ZSA9IG5vb3ApIHtcblx0XHQvKiogQHR5cGUge2ltcG9ydCgnLi9wcml2YXRlLmpzJykuU3Vic2NyaWJlSW52YWxpZGF0ZVR1cGxlPFQ+fSAqL1xuXHRcdGNvbnN0IHN1YnNjcmliZXIgPSBbcnVuLCBpbnZhbGlkYXRlXTtcblx0XHRzdWJzY3JpYmVycy5hZGQoc3Vic2NyaWJlcik7XG5cdFx0aWYgKHN1YnNjcmliZXJzLnNpemUgPT09IDEpIHtcblx0XHRcdHN0b3AgPSBzdGFydChzZXQsIHVwZGF0ZSkgfHwgbm9vcDtcblx0XHR9XG5cdFx0cnVuKHZhbHVlKTtcblx0XHRyZXR1cm4gKCkgPT4ge1xuXHRcdFx0c3Vic2NyaWJlcnMuZGVsZXRlKHN1YnNjcmliZXIpO1xuXHRcdFx0aWYgKHN1YnNjcmliZXJzLnNpemUgPT09IDAgJiYgc3RvcCkge1xuXHRcdFx0XHRzdG9wKCk7XG5cdFx0XHRcdHN0b3AgPSBudWxsO1xuXHRcdFx0fVxuXHRcdH07XG5cdH1cblx0cmV0dXJuIHsgc2V0LCB1cGRhdGUsIHN1YnNjcmliZSB9O1xufVxuXG4vKipcbiAqIERlcml2ZWQgdmFsdWUgc3RvcmUgYnkgc3luY2hyb25pemluZyBvbmUgb3IgbW9yZSByZWFkYWJsZSBzdG9yZXMgYW5kXG4gKiBhcHBseWluZyBhbiBhZ2dyZWdhdGlvbiBmdW5jdGlvbiBvdmVyIGl0cyBpbnB1dCB2YWx1ZXMuXG4gKlxuICogaHR0cHM6Ly9zdmVsdGUuZGV2L2RvY3Mvc3ZlbHRlLXN0b3JlI2Rlcml2ZWRcbiAqIEB0ZW1wbGF0ZSB7aW1wb3J0KCcuL3ByaXZhdGUuanMnKS5TdG9yZXN9IFNcbiAqIEB0ZW1wbGF0ZSBUXG4gKiBAb3ZlcmxvYWRcbiAqIEBwYXJhbSB7U30gc3RvcmVzIC0gaW5wdXQgc3RvcmVzXG4gKiBAcGFyYW0geyh2YWx1ZXM6IGltcG9ydCgnLi9wcml2YXRlLmpzJykuU3RvcmVzVmFsdWVzPFM+LCBzZXQ6ICh2YWx1ZTogVCkgPT4gdm9pZCwgdXBkYXRlOiAoZm46IGltcG9ydCgnLi9wdWJsaWMuanMnKS5VcGRhdGVyPFQ+KSA9PiB2b2lkKSA9PiBpbXBvcnQoJy4vcHVibGljLmpzJykuVW5zdWJzY3JpYmVyIHwgdm9pZH0gZm4gLSBmdW5jdGlvbiBjYWxsYmFjayB0aGF0IGFnZ3JlZ2F0ZXMgdGhlIHZhbHVlc1xuICogQHBhcmFtIHtUfSBbaW5pdGlhbF92YWx1ZV0gLSBpbml0aWFsIHZhbHVlXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL3B1YmxpYy5qcycpLlJlYWRhYmxlPFQ+fVxuICovXG5cbi8qKlxuICogRGVyaXZlZCB2YWx1ZSBzdG9yZSBieSBzeW5jaHJvbml6aW5nIG9uZSBvciBtb3JlIHJlYWRhYmxlIHN0b3JlcyBhbmRcbiAqIGFwcGx5aW5nIGFuIGFnZ3JlZ2F0aW9uIGZ1bmN0aW9uIG92ZXIgaXRzIGlucHV0IHZhbHVlcy5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUtc3RvcmUjZGVyaXZlZFxuICogQHRlbXBsYXRlIHtpbXBvcnQoJy4vcHJpdmF0ZS5qcycpLlN0b3Jlc30gU1xuICogQHRlbXBsYXRlIFRcbiAqIEBvdmVybG9hZFxuICogQHBhcmFtIHtTfSBzdG9yZXMgLSBpbnB1dCBzdG9yZXNcbiAqIEBwYXJhbSB7KHZhbHVlczogaW1wb3J0KCcuL3ByaXZhdGUuanMnKS5TdG9yZXNWYWx1ZXM8Uz4pID0+IFR9IGZuIC0gZnVuY3Rpb24gY2FsbGJhY2sgdGhhdCBhZ2dyZWdhdGVzIHRoZSB2YWx1ZXNcbiAqIEBwYXJhbSB7VH0gW2luaXRpYWxfdmFsdWVdIC0gaW5pdGlhbCB2YWx1ZVxuICogQHJldHVybnMge2ltcG9ydCgnLi9wdWJsaWMuanMnKS5SZWFkYWJsZTxUPn1cbiAqL1xuXG4vKipcbiAqIEB0ZW1wbGF0ZSB7aW1wb3J0KCcuL3ByaXZhdGUuanMnKS5TdG9yZXN9IFNcbiAqIEB0ZW1wbGF0ZSBUXG4gKiBAcGFyYW0ge1N9IHN0b3Jlc1xuICogQHBhcmFtIHtGdW5jdGlvbn0gZm5cbiAqIEBwYXJhbSB7VH0gW2luaXRpYWxfdmFsdWVdXG4gKiBAcmV0dXJucyB7aW1wb3J0KCcuL3B1YmxpYy5qcycpLlJlYWRhYmxlPFQ+fVxuICovXG5leHBvcnQgZnVuY3Rpb24gZGVyaXZlZChzdG9yZXMsIGZuLCBpbml0aWFsX3ZhbHVlKSB7XG5cdGNvbnN0IHNpbmdsZSA9ICFBcnJheS5pc0FycmF5KHN0b3Jlcyk7XG5cdC8qKiBAdHlwZSB7QXJyYXk8aW1wb3J0KCcuL3B1YmxpYy5qcycpLlJlYWRhYmxlPGFueT4+fSAqL1xuXHRjb25zdCBzdG9yZXNfYXJyYXkgPSBzaW5nbGUgPyBbc3RvcmVzXSA6IHN0b3Jlcztcblx0aWYgKCFzdG9yZXNfYXJyYXkuZXZlcnkoQm9vbGVhbikpIHtcblx0XHR0aHJvdyBuZXcgRXJyb3IoJ2Rlcml2ZWQoKSBleHBlY3RzIHN0b3JlcyBhcyBpbnB1dCwgZ290IGEgZmFsc3kgdmFsdWUnKTtcblx0fVxuXHRjb25zdCBhdXRvID0gZm4ubGVuZ3RoIDwgMjtcblx0cmV0dXJuIHJlYWRhYmxlKGluaXRpYWxfdmFsdWUsIChzZXQsIHVwZGF0ZSkgPT4ge1xuXHRcdGxldCBzdGFydGVkID0gZmFsc2U7XG5cdFx0Y29uc3QgdmFsdWVzID0gW107XG5cdFx0bGV0IHBlbmRpbmcgPSAwO1xuXHRcdGxldCBjbGVhbnVwID0gbm9vcDtcblx0XHRjb25zdCBzeW5jID0gKCkgPT4ge1xuXHRcdFx0aWYgKHBlbmRpbmcpIHtcblx0XHRcdFx0cmV0dXJuO1xuXHRcdFx0fVxuXHRcdFx0Y2xlYW51cCgpO1xuXHRcdFx0Y29uc3QgcmVzdWx0ID0gZm4oc2luZ2xlID8gdmFsdWVzWzBdIDogdmFsdWVzLCBzZXQsIHVwZGF0ZSk7XG5cdFx0XHRpZiAoYXV0bykge1xuXHRcdFx0XHRzZXQocmVzdWx0KTtcblx0XHRcdH0gZWxzZSB7XG5cdFx0XHRcdGNsZWFudXAgPSBpc19mdW5jdGlvbihyZXN1bHQpID8gcmVzdWx0IDogbm9vcDtcblx0XHRcdH1cblx0XHR9O1xuXHRcdGNvbnN0IHVuc3Vic2NyaWJlcnMgPSBzdG9yZXNfYXJyYXkubWFwKChzdG9yZSwgaSkgPT5cblx0XHRcdHN1YnNjcmliZShcblx0XHRcdFx0c3RvcmUsXG5cdFx0XHRcdCh2YWx1ZSkgPT4ge1xuXHRcdFx0XHRcdHZhbHVlc1tpXSA9IHZhbHVlO1xuXHRcdFx0XHRcdHBlbmRpbmcgJj0gfigxIDw8IGkpO1xuXHRcdFx0XHRcdGlmIChzdGFydGVkKSB7XG5cdFx0XHRcdFx0XHRzeW5jKCk7XG5cdFx0XHRcdFx0fVxuXHRcdFx0XHR9LFxuXHRcdFx0XHQoKSA9PiB7XG5cdFx0XHRcdFx0cGVuZGluZyB8PSAxIDw8IGk7XG5cdFx0XHRcdH1cblx0XHRcdClcblx0XHQpO1xuXHRcdHN0YXJ0ZWQgPSB0cnVlO1xuXHRcdHN5bmMoKTtcblx0XHRyZXR1cm4gZnVuY3Rpb24gc3RvcCgpIHtcblx0XHRcdHJ1bl9hbGwodW5zdWJzY3JpYmVycyk7XG5cdFx0XHRjbGVhbnVwKCk7XG5cdFx0XHQvLyBXZSBuZWVkIHRvIHNldCB0aGlzIHRvIGZhbHNlIGJlY2F1c2UgY2FsbGJhY2tzIGNhbiBzdGlsbCBoYXBwZW4gZGVzcGl0ZSBoYXZpbmcgdW5zdWJzY3JpYmVkOlxuXHRcdFx0Ly8gQ2FsbGJhY2tzIG1pZ2h0IGFscmVhZHkgYmUgcGxhY2VkIGluIHRoZSBxdWV1ZSB3aGljaCBkb2Vzbid0IGtub3cgaXQgc2hvdWxkIG5vIGxvbmdlclxuXHRcdFx0Ly8gaW52b2tlIHRoaXMgZGVyaXZlZCBzdG9yZS5cblx0XHRcdHN0YXJ0ZWQgPSBmYWxzZTtcblx0XHR9O1xuXHR9KTtcbn1cblxuLyoqXG4gKiBUYWtlcyBhIHN0b3JlIGFuZCByZXR1cm5zIGEgbmV3IG9uZSBkZXJpdmVkIGZyb20gdGhlIG9sZCBvbmUgdGhhdCBpcyByZWFkYWJsZS5cbiAqXG4gKiBodHRwczovL3N2ZWx0ZS5kZXYvZG9jcy9zdmVsdGUtc3RvcmUjcmVhZG9ubHlcbiAqIEB0ZW1wbGF0ZSBUXG4gKiBAcGFyYW0ge2ltcG9ydCgnLi9wdWJsaWMuanMnKS5SZWFkYWJsZTxUPn0gc3RvcmUgIC0gc3RvcmUgdG8gbWFrZSByZWFkb25seVxuICogQHJldHVybnMge2ltcG9ydCgnLi9wdWJsaWMuanMnKS5SZWFkYWJsZTxUPn1cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHJlYWRvbmx5KHN0b3JlKSB7XG5cdHJldHVybiB7XG5cdFx0c3Vic2NyaWJlOiBzdG9yZS5zdWJzY3JpYmUuYmluZChzdG9yZSlcblx0fTtcbn1cblxuZXhwb3J0IHsgZ2V0X3N0b3JlX3ZhbHVlIGFzIGdldCB9O1xuIiwgIjxzY3JpcHQgbGFuZz1cInRzXCIgY29udGV4dD1cIm1vZHVsZVwiPlxuICBpbXBvcnQgeyB3cml0YWJsZSwgdHlwZSBXcml0YWJsZSB9IGZyb20gJ3N2ZWx0ZS9zdG9yZSc7XG4gIGltcG9ydCB7IGZhZGUgfSBmcm9tICdzdmVsdGUvdHJhbnNpdGlvbic7XG5cbiAgZXhwb3J0IGNvbnN0IGJhY2tkcm9wVmlzaWJsZTogV3JpdGFibGU8Ym9vbGVhbj4gPSB3cml0YWJsZShmYWxzZSk7XG48L3NjcmlwdD5cblxueyNpZiAkYmFja2Ryb3BWaXNpYmxlfVxuICA8ZGl2IGNsYXNzPVwiYmctYmxhY2svNTAgYWJzb2x1dGUgaW5zZXQtMCB6LTMwXCIgdHJhbnNpdGlvbjpmYWRlIGRhdGEtdGVzdC1pZD1cImJhY2tkcm9wXCI+PC9kaXY+XG57L2lmfVxuIiwgIjxzY3JpcHQgbGFuZz1cInRzXCI+XG4gIGltcG9ydCB0eXBlIHsgUGFnZSB9IGZyb20gXCIkbGliL3R5cGVzXCI7XG4gIFxuICBleHBvcnQgbGV0IHBhZ2U6IFBhZ2U7XG5cbiAgZnVuY3Rpb24gZ2V0UGFnZU5hbWUocGFnZTogUGFnZSk6IHN0cmluZyB7XG4gICAgcmV0dXJuICghcGFnZS5wYXRoIHx8IHBhZ2UucGF0aCA9PT0gJycpID8gJ2luZGV4JyA6IHBhZ2UucGF0aDtcbiAgfVxuPC9zY3JpcHQ+XG48ZGl2IFxuICBjbGFzcz1cImZsZXgtMSBmbGV4IGZsZXgtY29sXCIgXG4gIGRhdGEtdGVzdC1pZD1cImZha2UtYnJvd3NlclwiPlxuICA8ZGl2IFxuICAgIGNsYXNzPVwiYmctZ3JheS01MCBib3JkZXItYiBib3JkZXItZ3JheS0yMDAgYm9yZGVyLXNvbGlkIHJvdW5kZWQtdC14bCBoLTEyIHB4LTMuNSBmbGV4XCIgXG4gICAgZGF0YS10ZXN0LWlkPVwiYWRkcmVzcy1iYXJcIj5cbiAgICA8ZGl2IGNsYXNzPVwibWwtNCBweS0yXCI+XG4gICAgICA8c3BhbiBjbGFzcz1cImlubGluZS1ibG9jayBoLTIgdy0yIG1sLTIgcm91bmRlZC1mdWxsIGJnLXJlZC05MDBcIj48L3NwYW4+XG4gICAgICA8c3BhbiBjbGFzcz1cImlubGluZS1ibG9jayBoLTIgdy0yIG1sLTIgcm91bmRlZC1mdWxsIGJnLWFtYmVyLTQwMFwiPjwvc3Bhbj5cbiAgICAgIDxzcGFuIGNsYXNzPVwiaW5saW5lLWJsb2NrIGgtMiB3LTIgbWwtMiByb3VuZGVkLWZ1bGwgYmctbGltZS03MDBcIj48L3NwYW4+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cImZsZXgtMSBweS0yLjUgb3ZlcmZsb3ctdmlzaWJsZVwiPlxuICAgICAgPGRpdiBjbGFzcz1cInJvdW5kZWQgYmctd2hpdGUgYmctZ3JheS01MCBib3JkZXItYiBib3JkZXItZ3JheS0yMDAgc2hhZG93IG1heC13LXhzIG14LWF1dG8gdGV4dC1jZW50ZXIgcHktMC41IHJlbGF0aXZlXCI+XG4gICAgICAgIDxzcGFuIGRhdGEtdGVzdC1pZD1cInVybC1ib3hcIj57Z2V0UGFnZU5hbWUocGFnZSl9PC9zcGFuPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cInB5LTNcIj5cbiAgICAgIEQgfCBUIHwgUFxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbiAgPHNsb3QvPlxuPC9kaXY+IiwgImZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHtcbiAgaWYgKGtleSBpbiBvYmopIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHtcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB3cml0YWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIG9ialtrZXldID0gdmFsdWU7XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuXG5mdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHtcbiAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpO1xuXG4gIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7XG4gICAgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkge1xuICAgICAgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7XG4gICAgfSk7XG4gICAga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpO1xuICB9XG5cbiAgcmV0dXJuIGtleXM7XG59XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQyKHRhcmdldCkge1xuICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9O1xuXG4gICAgaWYgKGkgJSAyKSB7XG4gICAgICBvd25LZXlzKE9iamVjdChzb3VyY2UpLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBvd25LZXlzKE9iamVjdChzb3VyY2UpKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufVxuXG5mdW5jdGlvbiBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXNMb29zZShzb3VyY2UsIGV4Y2x1ZGVkKSB7XG4gIGlmIChzb3VyY2UgPT0gbnVsbCkgcmV0dXJuIHt9O1xuICB2YXIgdGFyZ2V0ID0ge307XG4gIHZhciBzb3VyY2VLZXlzID0gT2JqZWN0LmtleXMoc291cmNlKTtcbiAgdmFyIGtleSwgaTtcblxuICBmb3IgKGkgPSAwOyBpIDwgc291cmNlS2V5cy5sZW5ndGg7IGkrKykge1xuICAgIGtleSA9IHNvdXJjZUtleXNbaV07XG4gICAgaWYgKGV4Y2x1ZGVkLmluZGV4T2Yoa2V5KSA+PSAwKSBjb250aW51ZTtcbiAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICB9XG5cbiAgcmV0dXJuIHRhcmdldDtcbn1cblxuZnVuY3Rpb24gX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzKHNvdXJjZSwgZXhjbHVkZWQpIHtcbiAgaWYgKHNvdXJjZSA9PSBudWxsKSByZXR1cm4ge307XG5cbiAgdmFyIHRhcmdldCA9IF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlKHNvdXJjZSwgZXhjbHVkZWQpO1xuXG4gIHZhciBrZXksIGk7XG5cbiAgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMpIHtcbiAgICB2YXIgc291cmNlU3ltYm9sS2V5cyA9IE9iamVjdC5nZXRPd25Qcm9wZXJ0eVN5bWJvbHMoc291cmNlKTtcblxuICAgIGZvciAoaSA9IDA7IGkgPCBzb3VyY2VTeW1ib2xLZXlzLmxlbmd0aDsgaSsrKSB7XG4gICAgICBrZXkgPSBzb3VyY2VTeW1ib2xLZXlzW2ldO1xuICAgICAgaWYgKGV4Y2x1ZGVkLmluZGV4T2Yoa2V5KSA+PSAwKSBjb250aW51ZTtcbiAgICAgIGlmICghT2JqZWN0LnByb3RvdHlwZS5wcm9wZXJ0eUlzRW51bWVyYWJsZS5jYWxsKHNvdXJjZSwga2V5KSkgY29udGludWU7XG4gICAgICB0YXJnZXRba2V5XSA9IHNvdXJjZVtrZXldO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB0YXJnZXQ7XG59XG5cbmZ1bmN0aW9uIF9zbGljZWRUb0FycmF5KGFyciwgaSkge1xuICByZXR1cm4gX2FycmF5V2l0aEhvbGVzKGFycikgfHwgX2l0ZXJhYmxlVG9BcnJheUxpbWl0KGFyciwgaSkgfHwgX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KGFyciwgaSkgfHwgX25vbkl0ZXJhYmxlUmVzdCgpO1xufVxuXG5mdW5jdGlvbiBfYXJyYXlXaXRoSG9sZXMoYXJyKSB7XG4gIGlmIChBcnJheS5pc0FycmF5KGFycikpIHJldHVybiBhcnI7XG59XG5cbmZ1bmN0aW9uIF9pdGVyYWJsZVRvQXJyYXlMaW1pdChhcnIsIGkpIHtcbiAgaWYgKHR5cGVvZiBTeW1ib2wgPT09IFwidW5kZWZpbmVkXCIgfHwgIShTeW1ib2wuaXRlcmF0b3IgaW4gT2JqZWN0KGFycikpKSByZXR1cm47XG4gIHZhciBfYXJyID0gW107XG4gIHZhciBfbiA9IHRydWU7XG4gIHZhciBfZCA9IGZhbHNlO1xuICB2YXIgX2UgPSB1bmRlZmluZWQ7XG5cbiAgdHJ5IHtcbiAgICBmb3IgKHZhciBfaSA9IGFycltTeW1ib2wuaXRlcmF0b3JdKCksIF9zOyAhKF9uID0gKF9zID0gX2kubmV4dCgpKS5kb25lKTsgX24gPSB0cnVlKSB7XG4gICAgICBfYXJyLnB1c2goX3MudmFsdWUpO1xuXG4gICAgICBpZiAoaSAmJiBfYXJyLmxlbmd0aCA9PT0gaSkgYnJlYWs7XG4gICAgfVxuICB9IGNhdGNoIChlcnIpIHtcbiAgICBfZCA9IHRydWU7XG4gICAgX2UgPSBlcnI7XG4gIH0gZmluYWxseSB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICghX24gJiYgX2lbXCJyZXR1cm5cIl0gIT0gbnVsbCkgX2lbXCJyZXR1cm5cIl0oKTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgaWYgKF9kKSB0aHJvdyBfZTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gX2Fycjtcbn1cblxuZnVuY3Rpb24gX3Vuc3VwcG9ydGVkSXRlcmFibGVUb0FycmF5KG8sIG1pbkxlbikge1xuICBpZiAoIW8pIHJldHVybjtcbiAgaWYgKHR5cGVvZiBvID09PSBcInN0cmluZ1wiKSByZXR1cm4gX2FycmF5TGlrZVRvQXJyYXkobywgbWluTGVuKTtcbiAgdmFyIG4gPSBPYmplY3QucHJvdG90eXBlLnRvU3RyaW5nLmNhbGwobykuc2xpY2UoOCwgLTEpO1xuICBpZiAobiA9PT0gXCJPYmplY3RcIiAmJiBvLmNvbnN0cnVjdG9yKSBuID0gby5jb25zdHJ1Y3Rvci5uYW1lO1xuICBpZiAobiA9PT0gXCJNYXBcIiB8fCBuID09PSBcIlNldFwiKSByZXR1cm4gQXJyYXkuZnJvbShvKTtcbiAgaWYgKG4gPT09IFwiQXJndW1lbnRzXCIgfHwgL14oPzpVaXxJKW50KD86OHwxNnwzMikoPzpDbGFtcGVkKT9BcnJheSQvLnRlc3QobikpIHJldHVybiBfYXJyYXlMaWtlVG9BcnJheShvLCBtaW5MZW4pO1xufVxuXG5mdW5jdGlvbiBfYXJyYXlMaWtlVG9BcnJheShhcnIsIGxlbikge1xuICBpZiAobGVuID09IG51bGwgfHwgbGVuID4gYXJyLmxlbmd0aCkgbGVuID0gYXJyLmxlbmd0aDtcblxuICBmb3IgKHZhciBpID0gMCwgYXJyMiA9IG5ldyBBcnJheShsZW4pOyBpIDwgbGVuOyBpKyspIGFycjJbaV0gPSBhcnJbaV07XG5cbiAgcmV0dXJuIGFycjI7XG59XG5cbmZ1bmN0aW9uIF9ub25JdGVyYWJsZVJlc3QoKSB7XG4gIHRocm93IG5ldyBUeXBlRXJyb3IoXCJJbnZhbGlkIGF0dGVtcHQgdG8gZGVzdHJ1Y3R1cmUgbm9uLWl0ZXJhYmxlIGluc3RhbmNlLlxcbkluIG9yZGVyIHRvIGJlIGl0ZXJhYmxlLCBub24tYXJyYXkgb2JqZWN0cyBtdXN0IGhhdmUgYSBbU3ltYm9sLml0ZXJhdG9yXSgpIG1ldGhvZC5cIik7XG59XG5cbmV4cG9ydCB7IF9hcnJheUxpa2VUb0FycmF5IGFzIGFycmF5TGlrZVRvQXJyYXksIF9hcnJheVdpdGhIb2xlcyBhcyBhcnJheVdpdGhIb2xlcywgX2RlZmluZVByb3BlcnR5IGFzIGRlZmluZVByb3BlcnR5LCBfaXRlcmFibGVUb0FycmF5TGltaXQgYXMgaXRlcmFibGVUb0FycmF5TGltaXQsIF9ub25JdGVyYWJsZVJlc3QgYXMgbm9uSXRlcmFibGVSZXN0LCBfb2JqZWN0U3ByZWFkMiBhcyBvYmplY3RTcHJlYWQyLCBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMgYXMgb2JqZWN0V2l0aG91dFByb3BlcnRpZXMsIF9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIGFzIG9iamVjdFdpdGhvdXRQcm9wZXJ0aWVzTG9vc2UsIF9zbGljZWRUb0FycmF5IGFzIHNsaWNlZFRvQXJyYXksIF91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSBhcyB1bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSB9O1xuIiwgImZ1bmN0aW9uIF9kZWZpbmVQcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHtcbiAgaWYgKGtleSBpbiBvYmopIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHtcbiAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICB3cml0YWJsZTogdHJ1ZVxuICAgIH0pO1xuICB9IGVsc2Uge1xuICAgIG9ialtrZXldID0gdmFsdWU7XG4gIH1cblxuICByZXR1cm4gb2JqO1xufVxuXG5mdW5jdGlvbiBvd25LZXlzKG9iamVjdCwgZW51bWVyYWJsZU9ubHkpIHtcbiAgdmFyIGtleXMgPSBPYmplY3Qua2V5cyhvYmplY3QpO1xuXG4gIGlmIChPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKSB7XG4gICAgdmFyIHN5bWJvbHMgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlTeW1ib2xzKG9iamVjdCk7XG4gICAgaWYgKGVudW1lcmFibGVPbmx5KSBzeW1ib2xzID0gc3ltYm9scy5maWx0ZXIoZnVuY3Rpb24gKHN5bSkge1xuICAgICAgcmV0dXJuIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3Iob2JqZWN0LCBzeW0pLmVudW1lcmFibGU7XG4gICAgfSk7XG4gICAga2V5cy5wdXNoLmFwcGx5KGtleXMsIHN5bWJvbHMpO1xuICB9XG5cbiAgcmV0dXJuIGtleXM7XG59XG5cbmZ1bmN0aW9uIF9vYmplY3RTcHJlYWQyKHRhcmdldCkge1xuICBmb3IgKHZhciBpID0gMTsgaSA8IGFyZ3VtZW50cy5sZW5ndGg7IGkrKykge1xuICAgIHZhciBzb3VyY2UgPSBhcmd1bWVudHNbaV0gIT0gbnVsbCA/IGFyZ3VtZW50c1tpXSA6IHt9O1xuXG4gICAgaWYgKGkgJSAyKSB7XG4gICAgICBvd25LZXlzKE9iamVjdChzb3VyY2UpLCB0cnVlKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgX2RlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBzb3VyY2Vba2V5XSk7XG4gICAgICB9KTtcbiAgICB9IGVsc2UgaWYgKE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKSB7XG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydGllcyh0YXJnZXQsIE9iamVjdC5nZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3JzKHNvdXJjZSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBvd25LZXlzKE9iamVjdChzb3VyY2UpKS5mb3JFYWNoKGZ1bmN0aW9uIChrZXkpIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KHRhcmdldCwga2V5LCBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yKHNvdXJjZSwga2V5KSk7XG4gICAgICB9KTtcbiAgICB9XG4gIH1cblxuICByZXR1cm4gdGFyZ2V0O1xufVxuXG5mdW5jdGlvbiBjb21wb3NlKCkge1xuICBmb3IgKHZhciBfbGVuID0gYXJndW1lbnRzLmxlbmd0aCwgZm5zID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgIGZuc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgfVxuXG4gIHJldHVybiBmdW5jdGlvbiAoeCkge1xuICAgIHJldHVybiBmbnMucmVkdWNlUmlnaHQoZnVuY3Rpb24gKHksIGYpIHtcbiAgICAgIHJldHVybiBmKHkpO1xuICAgIH0sIHgpO1xuICB9O1xufVxuXG5mdW5jdGlvbiBjdXJyeShmbikge1xuICByZXR1cm4gZnVuY3Rpb24gY3VycmllZCgpIHtcbiAgICB2YXIgX3RoaXMgPSB0aGlzO1xuXG4gICAgZm9yICh2YXIgX2xlbjIgPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4yKSwgX2tleTIgPSAwOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgICBhcmdzW19rZXkyXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgfVxuXG4gICAgcmV0dXJuIGFyZ3MubGVuZ3RoID49IGZuLmxlbmd0aCA/IGZuLmFwcGx5KHRoaXMsIGFyZ3MpIDogZnVuY3Rpb24gKCkge1xuICAgICAgZm9yICh2YXIgX2xlbjMgPSBhcmd1bWVudHMubGVuZ3RoLCBuZXh0QXJncyA9IG5ldyBBcnJheShfbGVuMyksIF9rZXkzID0gMDsgX2tleTMgPCBfbGVuMzsgX2tleTMrKykge1xuICAgICAgICBuZXh0QXJnc1tfa2V5M10gPSBhcmd1bWVudHNbX2tleTNdO1xuICAgICAgfVxuXG4gICAgICByZXR1cm4gY3VycmllZC5hcHBseShfdGhpcywgW10uY29uY2F0KGFyZ3MsIG5leHRBcmdzKSk7XG4gICAgfTtcbiAgfTtcbn1cblxuZnVuY3Rpb24gaXNPYmplY3QodmFsdWUpIHtcbiAgcmV0dXJuIHt9LnRvU3RyaW5nLmNhbGwodmFsdWUpLmluY2x1ZGVzKCdPYmplY3QnKTtcbn1cblxuZnVuY3Rpb24gaXNFbXB0eShvYmopIHtcbiAgcmV0dXJuICFPYmplY3Qua2V5cyhvYmopLmxlbmd0aDtcbn1cblxuZnVuY3Rpb24gaXNGdW5jdGlvbih2YWx1ZSkge1xuICByZXR1cm4gdHlwZW9mIHZhbHVlID09PSAnZnVuY3Rpb24nO1xufVxuXG5mdW5jdGlvbiBoYXNPd25Qcm9wZXJ0eShvYmplY3QsIHByb3BlcnR5KSB7XG4gIHJldHVybiBPYmplY3QucHJvdG90eXBlLmhhc093blByb3BlcnR5LmNhbGwob2JqZWN0LCBwcm9wZXJ0eSk7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlQ2hhbmdlcyhpbml0aWFsLCBjaGFuZ2VzKSB7XG4gIGlmICghaXNPYmplY3QoY2hhbmdlcykpIGVycm9ySGFuZGxlcignY2hhbmdlVHlwZScpO1xuICBpZiAoT2JqZWN0LmtleXMoY2hhbmdlcykuc29tZShmdW5jdGlvbiAoZmllbGQpIHtcbiAgICByZXR1cm4gIWhhc093blByb3BlcnR5KGluaXRpYWwsIGZpZWxkKTtcbiAgfSkpIGVycm9ySGFuZGxlcignY2hhbmdlRmllbGQnKTtcbiAgcmV0dXJuIGNoYW5nZXM7XG59XG5cbmZ1bmN0aW9uIHZhbGlkYXRlU2VsZWN0b3Ioc2VsZWN0b3IpIHtcbiAgaWYgKCFpc0Z1bmN0aW9uKHNlbGVjdG9yKSkgZXJyb3JIYW5kbGVyKCdzZWxlY3RvclR5cGUnKTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVIYW5kbGVyKGhhbmRsZXIpIHtcbiAgaWYgKCEoaXNGdW5jdGlvbihoYW5kbGVyKSB8fCBpc09iamVjdChoYW5kbGVyKSkpIGVycm9ySGFuZGxlcignaGFuZGxlclR5cGUnKTtcbiAgaWYgKGlzT2JqZWN0KGhhbmRsZXIpICYmIE9iamVjdC52YWx1ZXMoaGFuZGxlcikuc29tZShmdW5jdGlvbiAoX2hhbmRsZXIpIHtcbiAgICByZXR1cm4gIWlzRnVuY3Rpb24oX2hhbmRsZXIpO1xuICB9KSkgZXJyb3JIYW5kbGVyKCdoYW5kbGVyc1R5cGUnKTtcbn1cblxuZnVuY3Rpb24gdmFsaWRhdGVJbml0aWFsKGluaXRpYWwpIHtcbiAgaWYgKCFpbml0aWFsKSBlcnJvckhhbmRsZXIoJ2luaXRpYWxJc1JlcXVpcmVkJyk7XG4gIGlmICghaXNPYmplY3QoaW5pdGlhbCkpIGVycm9ySGFuZGxlcignaW5pdGlhbFR5cGUnKTtcbiAgaWYgKGlzRW1wdHkoaW5pdGlhbCkpIGVycm9ySGFuZGxlcignaW5pdGlhbENvbnRlbnQnKTtcbn1cblxuZnVuY3Rpb24gdGhyb3dFcnJvcihlcnJvck1lc3NhZ2VzLCB0eXBlKSB7XG4gIHRocm93IG5ldyBFcnJvcihlcnJvck1lc3NhZ2VzW3R5cGVdIHx8IGVycm9yTWVzc2FnZXNbXCJkZWZhdWx0XCJdKTtcbn1cblxudmFyIGVycm9yTWVzc2FnZXMgPSB7XG4gIGluaXRpYWxJc1JlcXVpcmVkOiAnaW5pdGlhbCBzdGF0ZSBpcyByZXF1aXJlZCcsXG4gIGluaXRpYWxUeXBlOiAnaW5pdGlhbCBzdGF0ZSBzaG91bGQgYmUgYW4gb2JqZWN0JyxcbiAgaW5pdGlhbENvbnRlbnQ6ICdpbml0aWFsIHN0YXRlIHNob3VsZG5cXCd0IGJlIGFuIGVtcHR5IG9iamVjdCcsXG4gIGhhbmRsZXJUeXBlOiAnaGFuZGxlciBzaG91bGQgYmUgYW4gb2JqZWN0IG9yIGEgZnVuY3Rpb24nLFxuICBoYW5kbGVyc1R5cGU6ICdhbGwgaGFuZGxlcnMgc2hvdWxkIGJlIGEgZnVuY3Rpb25zJyxcbiAgc2VsZWN0b3JUeXBlOiAnc2VsZWN0b3Igc2hvdWxkIGJlIGEgZnVuY3Rpb24nLFxuICBjaGFuZ2VUeXBlOiAncHJvdmlkZWQgdmFsdWUgb2YgY2hhbmdlcyBzaG91bGQgYmUgYW4gb2JqZWN0JyxcbiAgY2hhbmdlRmllbGQ6ICdpdCBzZWFtcyB5b3Ugd2FudCB0byBjaGFuZ2UgYSBmaWVsZCBpbiB0aGUgc3RhdGUgd2hpY2ggaXMgbm90IHNwZWNpZmllZCBpbiB0aGUgXCJpbml0aWFsXCIgc3RhdGUnLFxuICBcImRlZmF1bHRcIjogJ2FuIHVua25vd24gZXJyb3IgYWNjdXJlZCBpbiBgc3RhdGUtbG9jYWxgIHBhY2thZ2UnXG59O1xudmFyIGVycm9ySGFuZGxlciA9IGN1cnJ5KHRocm93RXJyb3IpKGVycm9yTWVzc2FnZXMpO1xudmFyIHZhbGlkYXRvcnMgPSB7XG4gIGNoYW5nZXM6IHZhbGlkYXRlQ2hhbmdlcyxcbiAgc2VsZWN0b3I6IHZhbGlkYXRlU2VsZWN0b3IsXG4gIGhhbmRsZXI6IHZhbGlkYXRlSGFuZGxlcixcbiAgaW5pdGlhbDogdmFsaWRhdGVJbml0aWFsXG59O1xuXG5mdW5jdGlvbiBjcmVhdGUoaW5pdGlhbCkge1xuICB2YXIgaGFuZGxlciA9IGFyZ3VtZW50cy5sZW5ndGggPiAxICYmIGFyZ3VtZW50c1sxXSAhPT0gdW5kZWZpbmVkID8gYXJndW1lbnRzWzFdIDoge307XG4gIHZhbGlkYXRvcnMuaW5pdGlhbChpbml0aWFsKTtcbiAgdmFsaWRhdG9ycy5oYW5kbGVyKGhhbmRsZXIpO1xuICB2YXIgc3RhdGUgPSB7XG4gICAgY3VycmVudDogaW5pdGlhbFxuICB9O1xuICB2YXIgZGlkVXBkYXRlID0gY3VycnkoZGlkU3RhdGVVcGRhdGUpKHN0YXRlLCBoYW5kbGVyKTtcbiAgdmFyIHVwZGF0ZSA9IGN1cnJ5KHVwZGF0ZVN0YXRlKShzdGF0ZSk7XG4gIHZhciB2YWxpZGF0ZSA9IGN1cnJ5KHZhbGlkYXRvcnMuY2hhbmdlcykoaW5pdGlhbCk7XG4gIHZhciBnZXRDaGFuZ2VzID0gY3VycnkoZXh0cmFjdENoYW5nZXMpKHN0YXRlKTtcblxuICBmdW5jdGlvbiBnZXRTdGF0ZSgpIHtcbiAgICB2YXIgc2VsZWN0b3IgPSBhcmd1bWVudHMubGVuZ3RoID4gMCAmJiBhcmd1bWVudHNbMF0gIT09IHVuZGVmaW5lZCA/IGFyZ3VtZW50c1swXSA6IGZ1bmN0aW9uIChzdGF0ZSkge1xuICAgICAgcmV0dXJuIHN0YXRlO1xuICAgIH07XG4gICAgdmFsaWRhdG9ycy5zZWxlY3RvcihzZWxlY3Rvcik7XG4gICAgcmV0dXJuIHNlbGVjdG9yKHN0YXRlLmN1cnJlbnQpO1xuICB9XG5cbiAgZnVuY3Rpb24gc2V0U3RhdGUoY2F1c2VkQ2hhbmdlcykge1xuICAgIGNvbXBvc2UoZGlkVXBkYXRlLCB1cGRhdGUsIHZhbGlkYXRlLCBnZXRDaGFuZ2VzKShjYXVzZWRDaGFuZ2VzKTtcbiAgfVxuXG4gIHJldHVybiBbZ2V0U3RhdGUsIHNldFN0YXRlXTtcbn1cblxuZnVuY3Rpb24gZXh0cmFjdENoYW5nZXMoc3RhdGUsIGNhdXNlZENoYW5nZXMpIHtcbiAgcmV0dXJuIGlzRnVuY3Rpb24oY2F1c2VkQ2hhbmdlcykgPyBjYXVzZWRDaGFuZ2VzKHN0YXRlLmN1cnJlbnQpIDogY2F1c2VkQ2hhbmdlcztcbn1cblxuZnVuY3Rpb24gdXBkYXRlU3RhdGUoc3RhdGUsIGNoYW5nZXMpIHtcbiAgc3RhdGUuY3VycmVudCA9IF9vYmplY3RTcHJlYWQyKF9vYmplY3RTcHJlYWQyKHt9LCBzdGF0ZS5jdXJyZW50KSwgY2hhbmdlcyk7XG4gIHJldHVybiBjaGFuZ2VzO1xufVxuXG5mdW5jdGlvbiBkaWRTdGF0ZVVwZGF0ZShzdGF0ZSwgaGFuZGxlciwgY2hhbmdlcykge1xuICBpc0Z1bmN0aW9uKGhhbmRsZXIpID8gaGFuZGxlcihzdGF0ZS5jdXJyZW50KSA6IE9iamVjdC5rZXlzKGNoYW5nZXMpLmZvckVhY2goZnVuY3Rpb24gKGZpZWxkKSB7XG4gICAgdmFyIF9oYW5kbGVyJGZpZWxkO1xuXG4gICAgcmV0dXJuIChfaGFuZGxlciRmaWVsZCA9IGhhbmRsZXJbZmllbGRdKSA9PT0gbnVsbCB8fCBfaGFuZGxlciRmaWVsZCA9PT0gdm9pZCAwID8gdm9pZCAwIDogX2hhbmRsZXIkZmllbGQuY2FsbChoYW5kbGVyLCBzdGF0ZS5jdXJyZW50W2ZpZWxkXSk7XG4gIH0pO1xuICByZXR1cm4gY2hhbmdlcztcbn1cblxudmFyIGluZGV4ID0ge1xuICBjcmVhdGU6IGNyZWF0ZVxufTtcblxuZXhwb3J0IGRlZmF1bHQgaW5kZXg7XG4iLCAidmFyIGNvbmZpZyA9IHtcbiAgcGF0aHM6IHtcbiAgICB2czogJ2h0dHBzOi8vY2RuLmpzZGVsaXZyLm5ldC9ucG0vbW9uYWNvLWVkaXRvckAwLjQzLjAvbWluL3ZzJ1xuICB9XG59O1xuXG5leHBvcnQgZGVmYXVsdCBjb25maWc7XG4iLCAiZnVuY3Rpb24gY3VycnkoZm4pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uIGN1cnJpZWQoKSB7XG4gICAgdmFyIF90aGlzID0gdGhpcztcblxuICAgIGZvciAodmFyIF9sZW4gPSBhcmd1bWVudHMubGVuZ3RoLCBhcmdzID0gbmV3IEFycmF5KF9sZW4pLCBfa2V5ID0gMDsgX2tleSA8IF9sZW47IF9rZXkrKykge1xuICAgICAgYXJnc1tfa2V5XSA9IGFyZ3VtZW50c1tfa2V5XTtcbiAgICB9XG5cbiAgICByZXR1cm4gYXJncy5sZW5ndGggPj0gZm4ubGVuZ3RoID8gZm4uYXBwbHkodGhpcywgYXJncykgOiBmdW5jdGlvbiAoKSB7XG4gICAgICBmb3IgKHZhciBfbGVuMiA9IGFyZ3VtZW50cy5sZW5ndGgsIG5leHRBcmdzID0gbmV3IEFycmF5KF9sZW4yKSwgX2tleTIgPSAwOyBfa2V5MiA8IF9sZW4yOyBfa2V5MisrKSB7XG4gICAgICAgIG5leHRBcmdzW19rZXkyXSA9IGFyZ3VtZW50c1tfa2V5Ml07XG4gICAgICB9XG5cbiAgICAgIHJldHVybiBjdXJyaWVkLmFwcGx5KF90aGlzLCBbXS5jb25jYXQoYXJncywgbmV4dEFyZ3MpKTtcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBjdXJyeTtcbiIsICJmdW5jdGlvbiBpc09iamVjdCh2YWx1ZSkge1xuICByZXR1cm4ge30udG9TdHJpbmcuY2FsbCh2YWx1ZSkuaW5jbHVkZXMoJ09iamVjdCcpO1xufVxuXG5leHBvcnQgZGVmYXVsdCBpc09iamVjdDtcbiIsICJpbXBvcnQgY3VycnkgZnJvbSAnLi4vdXRpbHMvY3VycnkuanMnO1xuaW1wb3J0IGlzT2JqZWN0IGZyb20gJy4uL3V0aWxzL2lzT2JqZWN0LmpzJztcblxuLyoqXG4gKiB2YWxpZGF0ZXMgdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IGFuZCBpbmZvcm1zIGFib3V0IGRlcHJlY2F0aW9uXG4gKiBAcGFyYW0ge09iamVjdH0gY29uZmlnIC0gdGhlIGNvbmZpZ3VyYXRpb24gb2JqZWN0IFxuICogQHJldHVybiB7T2JqZWN0fSBjb25maWcgLSB0aGUgdmFsaWRhdGVkIGNvbmZpZ3VyYXRpb24gb2JqZWN0XG4gKi9cblxuZnVuY3Rpb24gdmFsaWRhdGVDb25maWcoY29uZmlnKSB7XG4gIGlmICghY29uZmlnKSBlcnJvckhhbmRsZXIoJ2NvbmZpZ0lzUmVxdWlyZWQnKTtcbiAgaWYgKCFpc09iamVjdChjb25maWcpKSBlcnJvckhhbmRsZXIoJ2NvbmZpZ1R5cGUnKTtcblxuICBpZiAoY29uZmlnLnVybHMpIHtcbiAgICBpbmZvcm1BYm91dERlcHJlY2F0aW9uKCk7XG4gICAgcmV0dXJuIHtcbiAgICAgIHBhdGhzOiB7XG4gICAgICAgIHZzOiBjb25maWcudXJscy5tb25hY29CYXNlXG4gICAgICB9XG4gICAgfTtcbiAgfVxuXG4gIHJldHVybiBjb25maWc7XG59XG4vKipcbiAqIGxvZ3MgZGVwcmVjYXRpb24gbWVzc2FnZVxuICovXG5cblxuZnVuY3Rpb24gaW5mb3JtQWJvdXREZXByZWNhdGlvbigpIHtcbiAgY29uc29sZS53YXJuKGVycm9yTWVzc2FnZXMuZGVwcmVjYXRpb24pO1xufVxuXG5mdW5jdGlvbiB0aHJvd0Vycm9yKGVycm9yTWVzc2FnZXMsIHR5cGUpIHtcbiAgdGhyb3cgbmV3IEVycm9yKGVycm9yTWVzc2FnZXNbdHlwZV0gfHwgZXJyb3JNZXNzYWdlc1tcImRlZmF1bHRcIl0pO1xufVxuXG52YXIgZXJyb3JNZXNzYWdlcyA9IHtcbiAgY29uZmlnSXNSZXF1aXJlZDogJ3RoZSBjb25maWd1cmF0aW9uIG9iamVjdCBpcyByZXF1aXJlZCcsXG4gIGNvbmZpZ1R5cGU6ICd0aGUgY29uZmlndXJhdGlvbiBvYmplY3Qgc2hvdWxkIGJlIGFuIG9iamVjdCcsXG4gIFwiZGVmYXVsdFwiOiAnYW4gdW5rbm93biBlcnJvciBhY2N1cmVkIGluIGBAbW9uYWNvLWVkaXRvci9sb2FkZXJgIHBhY2thZ2UnLFxuICBkZXByZWNhdGlvbjogXCJEZXByZWNhdGlvbiB3YXJuaW5nIVxcbiAgICBZb3UgYXJlIHVzaW5nIGRlcHJlY2F0ZWQgd2F5IG9mIGNvbmZpZ3VyYXRpb24uXFxuXFxuICAgIEluc3RlYWQgb2YgdXNpbmdcXG4gICAgICBtb25hY28uY29uZmlnKHsgdXJsczogeyBtb25hY29CYXNlOiAnLi4uJyB9IH0pXFxuICAgIHVzZVxcbiAgICAgIG1vbmFjby5jb25maWcoeyBwYXRoczogeyB2czogJy4uLicgfSB9KVxcblxcbiAgICBGb3IgbW9yZSBwbGVhc2UgY2hlY2sgdGhlIGxpbmsgaHR0cHM6Ly9naXRodWIuY29tL3N1cmVuLWF0b3lhbi9tb25hY28tbG9hZGVyI2NvbmZpZ1xcbiAgXCJcbn07XG52YXIgZXJyb3JIYW5kbGVyID0gY3VycnkodGhyb3dFcnJvcikoZXJyb3JNZXNzYWdlcyk7XG52YXIgdmFsaWRhdG9ycyA9IHtcbiAgY29uZmlnOiB2YWxpZGF0ZUNvbmZpZ1xufTtcblxuZXhwb3J0IGRlZmF1bHQgdmFsaWRhdG9ycztcbmV4cG9ydCB7IGVycm9ySGFuZGxlciwgZXJyb3JNZXNzYWdlcyB9O1xuIiwgInZhciBjb21wb3NlID0gZnVuY3Rpb24gY29tcG9zZSgpIHtcbiAgZm9yICh2YXIgX2xlbiA9IGFyZ3VtZW50cy5sZW5ndGgsIGZucyA9IG5ldyBBcnJheShfbGVuKSwgX2tleSA9IDA7IF9rZXkgPCBfbGVuOyBfa2V5KyspIHtcbiAgICBmbnNbX2tleV0gPSBhcmd1bWVudHNbX2tleV07XG4gIH1cblxuICByZXR1cm4gZnVuY3Rpb24gKHgpIHtcbiAgICByZXR1cm4gZm5zLnJlZHVjZVJpZ2h0KGZ1bmN0aW9uICh5LCBmKSB7XG4gICAgICByZXR1cm4gZih5KTtcbiAgICB9LCB4KTtcbiAgfTtcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGNvbXBvc2U7XG4iLCAiaW1wb3J0IHsgb2JqZWN0U3ByZWFkMiBhcyBfb2JqZWN0U3ByZWFkMiB9IGZyb20gJy4uL192aXJ0dWFsL19yb2xsdXBQbHVnaW5CYWJlbEhlbHBlcnMuanMnO1xuXG5mdW5jdGlvbiBtZXJnZSh0YXJnZXQsIHNvdXJjZSkge1xuICBPYmplY3Qua2V5cyhzb3VyY2UpLmZvckVhY2goZnVuY3Rpb24gKGtleSkge1xuICAgIGlmIChzb3VyY2Vba2V5XSBpbnN0YW5jZW9mIE9iamVjdCkge1xuICAgICAgaWYgKHRhcmdldFtrZXldKSB7XG4gICAgICAgIE9iamVjdC5hc3NpZ24oc291cmNlW2tleV0sIG1lcmdlKHRhcmdldFtrZXldLCBzb3VyY2Vba2V5XSkpO1xuICAgICAgfVxuICAgIH1cbiAgfSk7XG4gIHJldHVybiBfb2JqZWN0U3ByZWFkMihfb2JqZWN0U3ByZWFkMih7fSwgdGFyZ2V0KSwgc291cmNlKTtcbn1cblxuZXhwb3J0IGRlZmF1bHQgbWVyZ2U7XG4iLCAiLy8gVGhlIHNvdXJjZSAoaGFzIGJlZW4gY2hhbmdlZCkgaXMgaHR0cHM6Ly9naXRodWIuY29tL2ZhY2Vib29rL3JlYWN0L2lzc3Vlcy81NDY1I2lzc3VlY29tbWVudC0xNTc4ODgzMjVcbnZhciBDQU5DRUxBVElPTl9NRVNTQUdFID0ge1xuICB0eXBlOiAnY2FuY2VsYXRpb24nLFxuICBtc2c6ICdvcGVyYXRpb24gaXMgbWFudWFsbHkgY2FuY2VsZWQnXG59O1xuXG5mdW5jdGlvbiBtYWtlQ2FuY2VsYWJsZShwcm9taXNlKSB7XG4gIHZhciBoYXNDYW5jZWxlZF8gPSBmYWxzZTtcbiAgdmFyIHdyYXBwZWRQcm9taXNlID0gbmV3IFByb21pc2UoZnVuY3Rpb24gKHJlc29sdmUsIHJlamVjdCkge1xuICAgIHByb21pc2UudGhlbihmdW5jdGlvbiAodmFsKSB7XG4gICAgICByZXR1cm4gaGFzQ2FuY2VsZWRfID8gcmVqZWN0KENBTkNFTEFUSU9OX01FU1NBR0UpIDogcmVzb2x2ZSh2YWwpO1xuICAgIH0pO1xuICAgIHByb21pc2VbXCJjYXRjaFwiXShyZWplY3QpO1xuICB9KTtcbiAgcmV0dXJuIHdyYXBwZWRQcm9taXNlLmNhbmNlbCA9IGZ1bmN0aW9uICgpIHtcbiAgICByZXR1cm4gaGFzQ2FuY2VsZWRfID0gdHJ1ZTtcbiAgfSwgd3JhcHBlZFByb21pc2U7XG59XG5cbmV4cG9ydCBkZWZhdWx0IG1ha2VDYW5jZWxhYmxlO1xuZXhwb3J0IHsgQ0FOQ0VMQVRJT05fTUVTU0FHRSB9O1xuIiwgImltcG9ydCB7IHNsaWNlZFRvQXJyYXkgYXMgX3NsaWNlZFRvQXJyYXksIG9iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIGFzIF9vYmplY3RXaXRob3V0UHJvcGVydGllcyB9IGZyb20gJy4uL192aXJ0dWFsL19yb2xsdXBQbHVnaW5CYWJlbEhlbHBlcnMuanMnO1xuaW1wb3J0IHN0YXRlIGZyb20gJ3N0YXRlLWxvY2FsJztcbmltcG9ydCBjb25maWckMSBmcm9tICcuLi9jb25maWcvaW5kZXguanMnO1xuaW1wb3J0IHZhbGlkYXRvcnMgZnJvbSAnLi4vdmFsaWRhdG9ycy9pbmRleC5qcyc7XG5pbXBvcnQgY29tcG9zZSBmcm9tICcuLi91dGlscy9jb21wb3NlLmpzJztcbmltcG9ydCBtZXJnZSBmcm9tICcuLi91dGlscy9kZWVwTWVyZ2UuanMnO1xuaW1wb3J0IG1ha2VDYW5jZWxhYmxlIGZyb20gJy4uL3V0aWxzL21ha2VDYW5jZWxhYmxlLmpzJztcblxuLyoqIHRoZSBsb2NhbCBzdGF0ZSBvZiB0aGUgbW9kdWxlICovXG5cbnZhciBfc3RhdGUkY3JlYXRlID0gc3RhdGUuY3JlYXRlKHtcbiAgY29uZmlnOiBjb25maWckMSxcbiAgaXNJbml0aWFsaXplZDogZmFsc2UsXG4gIHJlc29sdmU6IG51bGwsXG4gIHJlamVjdDogbnVsbCxcbiAgbW9uYWNvOiBudWxsXG59KSxcbiAgICBfc3RhdGUkY3JlYXRlMiA9IF9zbGljZWRUb0FycmF5KF9zdGF0ZSRjcmVhdGUsIDIpLFxuICAgIGdldFN0YXRlID0gX3N0YXRlJGNyZWF0ZTJbMF0sXG4gICAgc2V0U3RhdGUgPSBfc3RhdGUkY3JlYXRlMlsxXTtcbi8qKlxuICogc2V0IHRoZSBsb2FkZXIgY29uZmlndXJhdGlvblxuICogQHBhcmFtIHtPYmplY3R9IGNvbmZpZyAtIHRoZSBjb25maWd1cmF0aW9uIG9iamVjdFxuICovXG5cblxuZnVuY3Rpb24gY29uZmlnKGdsb2JhbENvbmZpZykge1xuICB2YXIgX3ZhbGlkYXRvcnMkY29uZmlnID0gdmFsaWRhdG9ycy5jb25maWcoZ2xvYmFsQ29uZmlnKSxcbiAgICAgIG1vbmFjbyA9IF92YWxpZGF0b3JzJGNvbmZpZy5tb25hY28sXG4gICAgICBjb25maWcgPSBfb2JqZWN0V2l0aG91dFByb3BlcnRpZXMoX3ZhbGlkYXRvcnMkY29uZmlnLCBbXCJtb25hY29cIl0pO1xuXG4gIHNldFN0YXRlKGZ1bmN0aW9uIChzdGF0ZSkge1xuICAgIHJldHVybiB7XG4gICAgICBjb25maWc6IG1lcmdlKHN0YXRlLmNvbmZpZywgY29uZmlnKSxcbiAgICAgIG1vbmFjbzogbW9uYWNvXG4gICAgfTtcbiAgfSk7XG59XG4vKipcbiAqIGhhbmRsZXMgdGhlIGluaXRpYWxpemF0aW9uIG9mIHRoZSBtb25hY28tZWRpdG9yXG4gKiBAcmV0dXJuIHtQcm9taXNlfSAtIHJldHVybnMgYW4gaW5zdGFuY2Ugb2YgbW9uYWNvICh3aXRoIGEgY2FuY2VsYWJsZSBwcm9taXNlKVxuICovXG5cblxuZnVuY3Rpb24gaW5pdCgpIHtcbiAgdmFyIHN0YXRlID0gZ2V0U3RhdGUoZnVuY3Rpb24gKF9yZWYpIHtcbiAgICB2YXIgbW9uYWNvID0gX3JlZi5tb25hY28sXG4gICAgICAgIGlzSW5pdGlhbGl6ZWQgPSBfcmVmLmlzSW5pdGlhbGl6ZWQsXG4gICAgICAgIHJlc29sdmUgPSBfcmVmLnJlc29sdmU7XG4gICAgcmV0dXJuIHtcbiAgICAgIG1vbmFjbzogbW9uYWNvLFxuICAgICAgaXNJbml0aWFsaXplZDogaXNJbml0aWFsaXplZCxcbiAgICAgIHJlc29sdmU6IHJlc29sdmVcbiAgICB9O1xuICB9KTtcblxuICBpZiAoIXN0YXRlLmlzSW5pdGlhbGl6ZWQpIHtcbiAgICBzZXRTdGF0ZSh7XG4gICAgICBpc0luaXRpYWxpemVkOiB0cnVlXG4gICAgfSk7XG5cbiAgICBpZiAoc3RhdGUubW9uYWNvKSB7XG4gICAgICBzdGF0ZS5yZXNvbHZlKHN0YXRlLm1vbmFjbyk7XG4gICAgICByZXR1cm4gbWFrZUNhbmNlbGFibGUod3JhcHBlclByb21pc2UpO1xuICAgIH1cblxuICAgIGlmICh3aW5kb3cubW9uYWNvICYmIHdpbmRvdy5tb25hY28uZWRpdG9yKSB7XG4gICAgICBzdG9yZU1vbmFjb0luc3RhbmNlKHdpbmRvdy5tb25hY28pO1xuICAgICAgc3RhdGUucmVzb2x2ZSh3aW5kb3cubW9uYWNvKTtcbiAgICAgIHJldHVybiBtYWtlQ2FuY2VsYWJsZSh3cmFwcGVyUHJvbWlzZSk7XG4gICAgfVxuXG4gICAgY29tcG9zZShpbmplY3RTY3JpcHRzLCBnZXRNb25hY29Mb2FkZXJTY3JpcHQpKGNvbmZpZ3VyZUxvYWRlcik7XG4gIH1cblxuICByZXR1cm4gbWFrZUNhbmNlbGFibGUod3JhcHBlclByb21pc2UpO1xufVxuLyoqXG4gKiBpbmplY3RzIHByb3ZpZGVkIHNjcmlwdHMgaW50byB0aGUgZG9jdW1lbnQuYm9keVxuICogQHBhcmFtIHtPYmplY3R9IHNjcmlwdCAtIGFuIEhUTUwgc2NyaXB0IGVsZW1lbnRcbiAqIEByZXR1cm4ge09iamVjdH0gLSB0aGUgaW5qZWN0ZWQgSFRNTCBzY3JpcHQgZWxlbWVudFxuICovXG5cblxuZnVuY3Rpb24gaW5qZWN0U2NyaXB0cyhzY3JpcHQpIHtcbiAgcmV0dXJuIGRvY3VtZW50LmJvZHkuYXBwZW5kQ2hpbGQoc2NyaXB0KTtcbn1cbi8qKlxuICogY3JlYXRlcyBhbiBIVE1MIHNjcmlwdCBlbGVtZW50IHdpdGgvd2l0aG91dCBwcm92aWRlZCBzcmNcbiAqIEBwYXJhbSB7c3RyaW5nfSBbc3JjXSAtIHRoZSBzb3VyY2UgcGF0aCBvZiB0aGUgc2NyaXB0XG4gKiBAcmV0dXJuIHtPYmplY3R9IC0gdGhlIGNyZWF0ZWQgSFRNTCBzY3JpcHQgZWxlbWVudFxuICovXG5cblxuZnVuY3Rpb24gY3JlYXRlU2NyaXB0KHNyYykge1xuICB2YXIgc2NyaXB0ID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnc2NyaXB0Jyk7XG4gIHJldHVybiBzcmMgJiYgKHNjcmlwdC5zcmMgPSBzcmMpLCBzY3JpcHQ7XG59XG4vKipcbiAqIGNyZWF0ZXMgYW4gSFRNTCBzY3JpcHQgZWxlbWVudCB3aXRoIHRoZSBtb25hY28gbG9hZGVyIHNyY1xuICogQHJldHVybiB7T2JqZWN0fSAtIHRoZSBjcmVhdGVkIEhUTUwgc2NyaXB0IGVsZW1lbnRcbiAqL1xuXG5cbmZ1bmN0aW9uIGdldE1vbmFjb0xvYWRlclNjcmlwdChjb25maWd1cmVMb2FkZXIpIHtcbiAgdmFyIHN0YXRlID0gZ2V0U3RhdGUoZnVuY3Rpb24gKF9yZWYyKSB7XG4gICAgdmFyIGNvbmZpZyA9IF9yZWYyLmNvbmZpZyxcbiAgICAgICAgcmVqZWN0ID0gX3JlZjIucmVqZWN0O1xuICAgIHJldHVybiB7XG4gICAgICBjb25maWc6IGNvbmZpZyxcbiAgICAgIHJlamVjdDogcmVqZWN0XG4gICAgfTtcbiAgfSk7XG4gIHZhciBsb2FkZXJTY3JpcHQgPSBjcmVhdGVTY3JpcHQoXCJcIi5jb25jYXQoc3RhdGUuY29uZmlnLnBhdGhzLnZzLCBcIi9sb2FkZXIuanNcIikpO1xuXG4gIGxvYWRlclNjcmlwdC5vbmxvYWQgPSBmdW5jdGlvbiAoKSB7XG4gICAgcmV0dXJuIGNvbmZpZ3VyZUxvYWRlcigpO1xuICB9O1xuXG4gIGxvYWRlclNjcmlwdC5vbmVycm9yID0gc3RhdGUucmVqZWN0O1xuICByZXR1cm4gbG9hZGVyU2NyaXB0O1xufVxuLyoqXG4gKiBjb25maWd1cmVzIHRoZSBtb25hY28gbG9hZGVyXG4gKi9cblxuXG5mdW5jdGlvbiBjb25maWd1cmVMb2FkZXIoKSB7XG4gIHZhciBzdGF0ZSA9IGdldFN0YXRlKGZ1bmN0aW9uIChfcmVmMykge1xuICAgIHZhciBjb25maWcgPSBfcmVmMy5jb25maWcsXG4gICAgICAgIHJlc29sdmUgPSBfcmVmMy5yZXNvbHZlLFxuICAgICAgICByZWplY3QgPSBfcmVmMy5yZWplY3Q7XG4gICAgcmV0dXJuIHtcbiAgICAgIGNvbmZpZzogY29uZmlnLFxuICAgICAgcmVzb2x2ZTogcmVzb2x2ZSxcbiAgICAgIHJlamVjdDogcmVqZWN0XG4gICAgfTtcbiAgfSk7XG4gIHZhciByZXF1aXJlID0gd2luZG93LnJlcXVpcmU7XG5cbiAgcmVxdWlyZS5jb25maWcoc3RhdGUuY29uZmlnKTtcblxuICByZXF1aXJlKFsndnMvZWRpdG9yL2VkaXRvci5tYWluJ10sIGZ1bmN0aW9uIChtb25hY28pIHtcbiAgICBzdG9yZU1vbmFjb0luc3RhbmNlKG1vbmFjbyk7XG4gICAgc3RhdGUucmVzb2x2ZShtb25hY28pO1xuICB9LCBmdW5jdGlvbiAoZXJyb3IpIHtcbiAgICBzdGF0ZS5yZWplY3QoZXJyb3IpO1xuICB9KTtcbn1cbi8qKlxuICogc3RvcmUgbW9uYWNvIGluc3RhbmNlIGluIGxvY2FsIHN0YXRlXG4gKi9cblxuXG5mdW5jdGlvbiBzdG9yZU1vbmFjb0luc3RhbmNlKG1vbmFjbykge1xuICBpZiAoIWdldFN0YXRlKCkubW9uYWNvKSB7XG4gICAgc2V0U3RhdGUoe1xuICAgICAgbW9uYWNvOiBtb25hY29cbiAgICB9KTtcbiAgfVxufVxuLyoqXG4gKiBpbnRlcm5hbCBoZWxwZXIgZnVuY3Rpb25cbiAqIGV4dHJhY3RzIHN0b3JlZCBtb25hY28gaW5zdGFuY2VcbiAqIEByZXR1cm4ge09iamVjdHxudWxsfSAtIHRoZSBtb25hY28gaW5zdGFuY2VcbiAqL1xuXG5cbmZ1bmN0aW9uIF9fZ2V0TW9uYWNvSW5zdGFuY2UoKSB7XG4gIHJldHVybiBnZXRTdGF0ZShmdW5jdGlvbiAoX3JlZjQpIHtcbiAgICB2YXIgbW9uYWNvID0gX3JlZjQubW9uYWNvO1xuICAgIHJldHVybiBtb25hY287XG4gIH0pO1xufVxuXG52YXIgd3JhcHBlclByb21pc2UgPSBuZXcgUHJvbWlzZShmdW5jdGlvbiAocmVzb2x2ZSwgcmVqZWN0KSB7XG4gIHJldHVybiBzZXRTdGF0ZSh7XG4gICAgcmVzb2x2ZTogcmVzb2x2ZSxcbiAgICByZWplY3Q6IHJlamVjdFxuICB9KTtcbn0pO1xudmFyIGxvYWRlciA9IHtcbiAgY29uZmlnOiBjb25maWcsXG4gIGluaXQ6IGluaXQsXG4gIF9fZ2V0TW9uYWNvSW5zdGFuY2U6IF9fZ2V0TW9uYWNvSW5zdGFuY2Vcbn07XG5cbmV4cG9ydCBkZWZhdWx0IGxvYWRlcjtcbiIsICI8c2NyaXB0IGxhbmc9XCJ0c1wiPlxuICBpbXBvcnQgbG9hZGVyIGZyb20gJ0Btb25hY28tZWRpdG9yL2xvYWRlcic7XG4gIGltcG9ydCB7IG9uRGVzdHJveSwgb25Nb3VudCB9IGZyb20gJ3N2ZWx0ZSc7XG4gIGltcG9ydCB0eXBlICogYXMgTW9uYWNvIGZyb20gJ21vbmFjby1lZGl0b3IvZXNtL3ZzL2VkaXRvci9lZGl0b3IuYXBpJztcbiAgZXhwb3J0IGxldCB2YWx1ZTogc3RyaW5nO1xuICBpbXBvcnQgeyBjcmVhdGVFdmVudERpc3BhdGNoZXIgfSBmcm9tICdzdmVsdGUnO1xuICBsZXQgZGlzcGF0Y2ggPSBjcmVhdGVFdmVudERpc3BhdGNoZXIoKTtcbiAgXG4gIGxldCBlZGl0b3I6IE1vbmFjby5lZGl0b3IuSVN0YW5kYWxvbmVDb2RlRWRpdG9yO1xuICBsZXQgbW9uYWNvOiB0eXBlb2YgTW9uYWNvO1xuICBsZXQgZWRpdG9yQ29udGFpbmVyOiBIVE1MRWxlbWVudDtcbiAgJDoge1xuICAgIGlmIChlZGl0b3IpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdjb2RlIGVkaXRvciB2YWx1ZScsIHZhbHVlKTtcbiAgICAgIGVkaXRvci5zZXRWYWx1ZSh2YWx1ZSk7XG4gICAgfVxuICB9XG4gIG9uTW91bnQoYXN5bmMgKCkgPT4ge1xuICAgICAgbG9hZGVyLmNvbmZpZyh7IHBhdGhzOiB7IHZzOiAnL25vZGVfbW9kdWxlcy9tb25hY28tZWRpdG9yL21pbi92cycgfSB9KTtcblxuICAgICAgbW9uYWNvID0gYXdhaXQgbG9hZGVyLmluaXQoKTtcblxuICAgICAgY29uc3QgZWRpdG9yID0gbW9uYWNvLmVkaXRvci5jcmVhdGUoZWRpdG9yQ29udGFpbmVyLCB7XG4gICAgICAgIHZhbHVlLFxuXHQgICAgICBsYW5ndWFnZTogJ2VsaXhpcicsXG4gICAgICAgIG1pbmltYXA6IHsgZW5hYmxlZDogZmFsc2UgfSxcbiAgICAgICAgbGluZU51bWJlcnM6IFwib2ZmXCIsXG4gICAgICAgIGF1dG9tYXRpY0xheW91dDogdHJ1ZVxuICAgICAgfSk7XG4gICAgICBlZGl0b3Iub25EaWRCbHVyRWRpdG9yV2lkZ2V0KGUgPT4ge1xuICAgICAgICBsZXQgY29udGVudCA9IGVkaXRvci5nZXRWYWx1ZSgpO1xuICAgICAgICBkaXNwYXRjaCgnY2hhbmdlJywgY29udGVudCk7XG4gICAgICB9KTtcbiAgfSk7XG5cbiAgb25EZXN0cm95KCgpID0+IHtcbiAgICAgIG1vbmFjbz8uZWRpdG9yLmdldE1vZGVscygpLmZvckVhY2goKG1vZGVsKSA9PiBtb2RlbC5kaXNwb3NlKCkpO1xuICB9KTtcbjwvc2NyaXB0PlxuXG48ZGl2IGJpbmQ6dGhpcz17ZWRpdG9yQ29udGFpbmVyfSBjbGFzcz1cInctNTIgaC0yNCBweS0wLjUgcHgtMC41IGJnLWdyYXktMTAwXCI+PC9kaXY+IiwgImV4cG9ydCBmdW5jdGlvbiB0cmFuc2xhdGUoX25vZGU6IEhUTUxFbGVtZW50LCB7IGRlbGF5ID0gMCwgZHVyYXRpb24gPSAzMDAsIHggPSAwLCB5ID0gMCB9KSB7XG4gIHJldHVybiB7XG4gICAgZGVsYXksXG4gICAgZHVyYXRpb24sXG4gICAgY3NzOiAodDogbnVtYmVyKSA9PiBgdHJhbnNmb3JtOiB0cmFuc2xhdGUoJHt4ICogdH1weCwgJHt5ICogdH1weClgXG4gIH07XG59IiwgImltcG9ydCB7IHdyaXRhYmxlIH0gZnJvbSAnc3ZlbHRlL3N0b3JlJztcbmltcG9ydCB0eXBlIHsgV3JpdGFibGUgfSBmcm9tICdzdmVsdGUvc3RvcmUnO1xuaW1wb3J0IHR5cGUgeyBDb21wb25lbnRDYXRlZ29yeSB9IGZyb20gJy4uL3R5cGVzJztcblxuZXhwb3J0IGNvbnN0IGN1cnJlbnRDb21wb25lbnRDYXRlZ29yeTogV3JpdGFibGU8Q29tcG9uZW50Q2F0ZWdvcnkgfCBudWxsPiA9IHdyaXRhYmxlKG51bGwpXG4iLCAiaW1wb3J0IHsgd3JpdGFibGUgfSBmcm9tICdzdmVsdGUvc3RvcmUnO1xuaW1wb3J0IHR5cGUgeyBXcml0YWJsZSB9IGZyb20gJ3N2ZWx0ZS9zdG9yZSc7XG5pbXBvcnQgdHlwZSB7IENvbXBvbmVudERlZmluaXRpb24gfSBmcm9tICcuLi90eXBlcyc7XG5cblxuZXhwb3J0IGNvbnN0IGRyYWdnZWRPYmplY3Q6IFdyaXRhYmxlPENvbXBvbmVudERlZmluaXRpb24gfCBudWxsPiA9IHdyaXRhYmxlKG51bGwpXG4iLCAiPHNjcmlwdCBsYW5nPVwidHNcIj5cblx0aW1wb3J0IHsgZmFkZSB9IGZyb20gJ3N2ZWx0ZS90cmFuc2l0aW9uJztcbiAgaW1wb3J0IHsgdHJhbnNsYXRlIH0gZnJvbSAnJGxpYi91dGlscy9hbmltYXRpb25zJztcbiAgaW1wb3J0IHsgY3VycmVudENvbXBvbmVudENhdGVnb3J5IH0gZnJvbSAnJGxpYi9zdG9yZXMvY3VycmVudENvbXBvbmVudENhdGVnb3J5JztcbiAgaW1wb3J0IHsgZHJhZ2dlZE9iamVjdCB9IGZyb20gJyRsaWIvc3RvcmVzL2RyYWdBbmREcm9wJztcbiAgaW1wb3J0IHR5cGUgeyBDb21wb25lbnRDYXRlZ29yeSwgQ29tcG9uZW50RGVmaW5pdGlvbiwgTWVudUNhdGVnb3J5IH0gZnJvbSAnJGxpYi90eXBlcyc7XG4gIGV4cG9ydCBsZXQgY29tcG9uZW50czogQ29tcG9uZW50RGVmaW5pdGlvbltdO1xuXG4gIGxldCBtZW51Q2F0ZWdvcmllczogTWVudUNhdGVnb3J5W10gPSBbXTtcbiAgJDogbWVudUNhdGVnb3JpZXMgPSBbe1xuICAgIG5hbWU6ICdCYXNlJyxcbiAgICBpdGVtczogQXJyYXkuZnJvbShuZXcgU2V0KGNvbXBvbmVudERlZmluaXRpb25zLm1hcChkID0+IGQuY2F0ZWdvcnkpKSkubWFwKGlkID0+ICh7IGlkLCBuYW1lOiBpZCB9KSlcbiAgfV07XG5cbiAgJDogY29tcG9uZW50RGVmaW5pdGlvbnMgPSBjb21wb25lbnRzO1xuXHQkOiBjb21wb25lbnREZWZpbml0aW9uc0J5Q2F0ZWdvcnkgPSAoY29tcG9uZW50RGVmaW5pdGlvbnMgfHwgW10pLnJlZHVjZSgoYWNjOiB7IFtrZXk6IHN0cmluZ106IENvbXBvbmVudERlZmluaXRpb25bXSB9LCBjb21wOiBDb21wb25lbnREZWZpbml0aW9uKSA9PiB7XG4gICAgICBhY2NbY29tcC5jYXRlZ29yeV0gfHw9IFtdO1xuICAgICAgYWNjW2NvbXAuY2F0ZWdvcnldLnB1c2goY29tcCk7XG4gICAgICByZXR1cm4gYWNjO1xuICAgIH0sIHt9KTtcbiAgJDogY3VycmVudERlZmluaXRpb25zID0gJGN1cnJlbnRDb21wb25lbnRDYXRlZ29yeSA/IGNvbXBvbmVudERlZmluaXRpb25zQnlDYXRlZ29yeVskY3VycmVudENvbXBvbmVudENhdGVnb3J5LmlkXSA6IFtdO1xuXG5cdGNvbnN0IHNlY3Rpb25UaXRsZXM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG5cdFx0bmF2OiAnTmF2cycsXG5cdFx0aGVhZGVyOiAnSGVhZGVycycsXG5cdFx0c2lnbl9pbjogJ1NpZ24gaW5zJyxcblx0XHRzaWduX3VwOiAnU2lnbiB1cHMnLFxuXHRcdHN0YXRzOiAnU3RhdHMnLFxuXHRcdGZvb3RlcjogJ0Zvb3RlcnMnLFxuXHRcdGJhc2ljOiAnQmFzaWNzJyxcblx0XHRvdGhlcjogJ090aGVyJ1xuXHR9XG5cbiAgbGV0IHNob3dFeGFtcGxlcyA9IGZhbHNlO1xuICBsZXQgaGlkZUNvbXBvbmVudFRpbWVyO1xuXG5cdGZ1bmN0aW9uIGNvbGxhcHNlQ2F0ZWdvcnlNZW51KCkge1xuXHRcdGhpZGVDb21wb25lbnRUaW1lciA9IHNldFRpbWVvdXQoKCkgPT4ge1xuXHRcdFx0c2hvd0V4YW1wbGVzID0gZmFsc2U7XG4gICAgfSwgNDAwKTtcblx0fVxuXHRmdW5jdGlvbiBhYm9ydENvbGxhcHNlQ2F0ZWdvcnlNZW51KCkge1xuXHRcdGNsZWFyVGltZW91dChoaWRlQ29tcG9uZW50VGltZXIpO1xuXHR9XHQgIFxuXG5cdGZ1bmN0aW9uIGV4cGFuZENhdGVnb3J5TWVudShjb21wb25lbnRDYXRlZ29yeTogQ29tcG9uZW50Q2F0ZWdvcnkpIHtcblx0XHRpZiAoJGRyYWdnZWRPYmplY3QpIHJldHVybjtcblx0XHRjbGVhclRpbWVvdXQoaGlkZUNvbXBvbmVudFRpbWVyKTtcblx0XHQkY3VycmVudENvbXBvbmVudENhdGVnb3J5ID0gY29tcG9uZW50Q2F0ZWdvcnk7XG5cdFx0c2hvd0V4YW1wbGVzID0gdHJ1ZTtcblx0fVxuXG5cdGZ1bmN0aW9uIGRyYWdTdGFydChjb21wb25lbnREZWZpbml0aW9uOiBDb21wb25lbnREZWZpbml0aW9uLCBlOiBEcmFnRXZlbnQpIHtcblx0XHRzZXRUaW1lb3V0KCgpID0+IHtcblx0XHRcdCRkcmFnZ2VkT2JqZWN0ID0gY29tcG9uZW50RGVmaW5pdGlvblxuXHRcdFx0c2hvd0V4YW1wbGVzID0gZmFsc2U7XG5cdFx0fSwgMTAwKVxuXHR9XG5cblx0ZnVuY3Rpb24gZHJhZ0VuZCgpIHtcblx0XHQkZHJhZ2dlZE9iamVjdCA9IG51bGw7XG5cdH1cbjwvc2NyaXB0PlxuXG48IS0tIExlZnQgc2lkZWJhciAtLT5cbjxkaXYgY2xhc3M9XCJ3LTY0IGJnLXdoaXRlIGJvcmRlci1ncmF5LTEwMCBib3JkZXItc29saWQgYm9yZGVyLXJcIiBpZD1cImxlZnQtc2lkZWJhclwiIGRhdGEtdGVzdC1pZD1cImxlZnQtc2lkZWJhclwiPlxuICA8ZGl2IGNsYXNzPVwic3RpY2t5IHRvcC0wXCI+XG4gICAgPGRpdiBjbGFzcz1cImJvcmRlci1iIGJvcmRlci1ncmF5LTEwMCBib3JkZXItc29saWQgcHktNCBweC00XCIgZGF0YS10ZXN0LWlkPVwibG9nb1wiPlxuICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LWxnXCI+QmVhY29uIENNUzwvc3Bhbj5cbiAgICA8L2Rpdj5cbiAgICA8dWwgY2xhc3M9XCJweC00XCIgZGF0YS10ZXN0LWlkPVwiY29tcG9uZW50LXRyZWVcIj5cbiAgICAgIHsjZWFjaCBtZW51Q2F0ZWdvcmllcyBhcyBjYXRlZ29yeX1cbiAgICAgICAgPGxpIGNsYXNzPVwicGItMVwiIGRhdGEtdGVzdC1pZD1cIm5hdi1pdGVtXCI+XG4gICAgICAgICAgPGg1IGNsYXNzPVwidXBwZXJjYXNlXCI+e2NhdGVnb3J5Lm5hbWV9PC9oNT5cbiAgICAgICAgPC9saT5cbiAgICAgICAgeyNlYWNoIGNhdGVnb3J5Lml0ZW1zIGFzIGl0ZW19XG4gICAgICAgICAgPGxpIGNsYXNzPVwicGItMVwiIGRhdGEtdGVzdC1pZD1cIm5hdi1pdGVtXCIgb246bW91c2VlbnRlcj17KCkgPT4gZXhwYW5kQ2F0ZWdvcnlNZW51KGl0ZW0pfSBvbjptb3VzZWxlYXZlPXtjb2xsYXBzZUNhdGVnb3J5TWVudX0+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicGwtMlwiPntzZWN0aW9uVGl0bGVzW2l0ZW0ubmFtZV19PC9kaXY+XHRcbiAgICAgICAgICA8L2xpPlxuICAgICAgICB7L2VhY2h9XG4gICAgICB7L2VhY2h9XG4gICAgPC91bD5cbiAgPC9kaXY+XG48L2Rpdj5cblxueyNpZiBzaG93RXhhbXBsZXN9XG4gIDxkaXYgY2xhc3M9XCJiZy1ibGFjay81MCBhYnNvbHV0ZSBpbnNldC0wIHotNTBcIiB0cmFuc2l0aW9uOmZhZGU9e3tkdXJhdGlvbjogMzAwfX0gaWQ9XCJiYWNrZHJvcFwiIGRhdGEtdGVzdC1pZD1cImJhY2tkcm9wXCI+PC9kaXY+XG57L2lmfVx0XG48ZGl2IFxuICBjbGFzcz1cImFic29sdXRlIHctOTYgLWxlZnQtMzIgYmctd2hpdGUgaW5zZXQteS0wIHNoYWRvdy1zbSB6LTUwIHB0LTMgcGItNCBweC01IHRyYW5zaXRpb24tdHJhbnNmb3JtIGR1cmF0aW9uLTMwMFwiIFxuICBjbGFzczp0cmFuc2xhdGUteC05Nj17c2hvd0V4YW1wbGVzfVxuICBpZD1cImNvbXBvbmVudC1wcmV2aWV3c1wiXG4gIGRhdGEtdGVzdC1pZD1cImNvbXBvbmVudC1wcmV2aWV3c1wiIFxuICB0cmFuc2l0aW9uOnRyYW5zbGF0ZT17e3g6IDM4NH19XG4gIG9uOm1vdXNlZW50ZXI9e2Fib3J0Q29sbGFwc2VDYXRlZ29yeU1lbnV9XG4gIG9uOm1vdXNlbGVhdmU9e2NvbGxhcHNlQ2F0ZWdvcnlNZW51fT5cbiAgPGg0IGNsYXNzPVwidGV4dC0yeGxcIj57c2VjdGlvblRpdGxlc1skY3VycmVudENvbXBvbmVudENhdGVnb3J5Py5uYW1lXX08L2g0PlxuICA8cD5TZWxlY3QgYSBjb21wb25lbnQg8J+RhyAgYW5kIGRyYWcgaXQgdG8gdGhlIGNhbnZhcyDwn5GJPC9wPlxuICB7I2lmIGN1cnJlbnREZWZpbml0aW9uc31cbiAgICB7I2VhY2ggY3VycmVudERlZmluaXRpb25zIGFzIGV4YW1wbGV9XG4gICAgICA8ZGl2IFxuICAgICAgICBkcmFnZ2FibGVcbiAgICAgICAgb246ZHJhZ3N0YXJ0PXtlID0+IGRyYWdTdGFydChleGFtcGxlLCBlKX1cbiAgICAgICAgb246ZHJhZ2VuZD17ZHJhZ0VuZH1cbiAgICAgICAgY2xhc3M9XCJwdC02XCIgXG4gICAgICAgIGRhdGEtdGVzdC1pZD1cImNvbXBvbmVudC1wcmV2aWV3LWNhcmRcIj5cbiAgICAgICAgPGltZyBjbGFzcz1cInJvdW5kZWQgb3V0bGluZS1vZmZzZXQtMiBvdXRsaW5lLWJsdWUtNTAwIGhvdmVyOm91dGxpbmUgaG92ZXI6b3V0bGluZS0yXCIgc3JjPXtleGFtcGxlLnRodW1ibmFpbH0gYWx0PXtleGFtcGxlLm5hbWV9IC8+XG4gICAgICA8L2Rpdj5cbiAgICB7L2VhY2h9XG4gIHsvaWZ9XG48L2Rpdj5cblxuPHN0eWxlPlxuXHQjbGVmdC1zaWRlYmFyIHtcblx0XHR6LWluZGV4OiAxMDAwO1xuXHR9XG5cdCNjb21wb25lbnQtcHJldmlld3MsICNiYWNrZHJvcCB7XG5cdFx0ei1pbmRleDogOTk5O1xuXHR9XG48L3N0eWxlPiIsICJpbXBvcnQgeyB3cml0YWJsZSwgZGVyaXZlZCwgZ2V0IH0gZnJvbSAnc3ZlbHRlL3N0b3JlJztcbmltcG9ydCB0eXBlIHsgV3JpdGFibGUsIFJlYWRhYmxlIH0gZnJvbSAnc3ZlbHRlL3N0b3JlJztcbmltcG9ydCB0eXBlIHsgQXN0RWxlbWVudCwgQXN0Tm9kZSwgUGFnZSB9IGZyb20gJyRsaWIvdHlwZXMnO1xuXG5leHBvcnQgY29uc3QgcGFnZTogV3JpdGFibGU8UGFnZT4gPSB3cml0YWJsZSgpO1xuZXhwb3J0IGNvbnN0IHNlbGVjdGVkQXN0RWxlbWVudElkOiBXcml0YWJsZTxzdHJpbmcgfCB1bmRlZmluZWQ+ID0gd3JpdGFibGUoKTtcbi8vIGV4cG9ydCBjb25zdCBoaWdobGlnaHRlZEFzdEVsZW1lbnRJZDogV3JpdGFibGU8c3RyaW5nIHwgdW5kZWZpbmVkPiA9IHdyaXRhYmxlKCk7XG5leHBvcnQgY29uc3QgaGlnaGxpZ2h0ZWRBc3RFbGVtZW50OiBXcml0YWJsZTxBc3RFbGVtZW50IHwgdW5kZWZpbmVkPiA9IHdyaXRhYmxlKCk7XG5leHBvcnQgY29uc3Qgc2xvdFRhcmdldEVsZW1lbnQ6IFdyaXRhYmxlPEFzdEVsZW1lbnQgfCB1bmRlZmluZWQ+ID0gd3JpdGFibGUoKTtcblxuZXhwb3J0IGNvbnN0IHJvb3RBc3RFbGVtZW50OiBSZWFkYWJsZTxBc3RFbGVtZW50IHwgdW5kZWZpbmVkPiA9IGRlcml2ZWQoW3BhZ2VdLCAoWyRwYWdlXSkgPT4ge1xuICAvLyBUaGlzIGlzIGEgdmlydHVhbCBBc3RFbGVtZW50IGludGVuZGVkIHRvIHNpbXVsYXRlIHRoZSBwYWdlIGl0c2VsZiB0byByZW9yZGVyIHRoZSBjb21wb25lbnRzIGF0IHRoZSBmaXJzdCBsZXZlbC5cbiAgcmV0dXJuIHsgdGFnOiAncm9vdCcsIGF0dHJzOiB7fSwgY29udGVudDogJHBhZ2UuYXN0IH07XG59KTtcbmV4cG9ydCBjb25zdCBzZWxlY3RlZEFzdEVsZW1lbnQ6IFJlYWRhYmxlPEFzdEVsZW1lbnQgfCB1bmRlZmluZWQ+ID0gZGVyaXZlZChbcGFnZSwgc2VsZWN0ZWRBc3RFbGVtZW50SWRdLCAoWyRwYWdlLCAkc2VsZWN0ZWRBc3RFbGVtZW50SWRdKSA9PiB7XG4gIGlmICgkc2VsZWN0ZWRBc3RFbGVtZW50SWQpIHtcbiAgICBpZiAoJHNlbGVjdGVkQXN0RWxlbWVudElkID09PSAncm9vdCcpIHJldHVybiBnZXQocm9vdEFzdEVsZW1lbnQpO1xuICAgIHJldHVybiBmaW5kQXN0RWxlbWVudCgkcGFnZS5hc3QsICRzZWxlY3RlZEFzdEVsZW1lbnRJZCk7XG4gIH1cbn0pO1xuXG5leHBvcnQgZnVuY3Rpb24gaXNBc3RFbGVtZW50KG1heWJlTm9kZTogQXN0Tm9kZSk6IG1heWJlTm9kZSBpcyBBc3RFbGVtZW50IHtcbiAgcmV0dXJuIHR5cGVvZiBtYXliZU5vZGUgIT09ICdzdHJpbmcnO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZmluZEFzdEVsZW1lbnQoYXN0OiBBc3ROb2RlW10sIGlkOiBzdHJpbmcpOiBBc3RFbGVtZW50IHtcbiAgbGV0IGluZGV4ZXMgPSBpZC5zcGxpdChcIi5cIikubWFwKHMgPT4gcGFyc2VJbnQocywgMTApKTtcbiAgbGV0IG5vZGU6IEFzdE5vZGUgPSBhc3RbaW5kZXhlc1swXV0gYXMgQXN0RWxlbWVudFxuICBhc3QgPSBub2RlLmNvbnRlbnQ7XG4gIGZvcihsZXQgaSA9IDE7IGkgPCBpbmRleGVzLmxlbmd0aDsgaSsrKSB7XG4gICAgbm9kZSA9IGFzdFtpbmRleGVzW2ldXSBhcyBBc3RFbGVtZW50OyBcbiAgICBhc3QgPSBub2RlLmNvbnRlbnQ7XG4gIH1cbiAgcmV0dXJuIG5vZGU7XG59XG5leHBvcnQgZnVuY3Rpb24gZmluZEFzdEVsZW1lbnRJZChhc3ROb2RlOiBBc3ROb2RlKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgbGV0ICRwYWdlID0gZ2V0KHBhZ2UpO1xuICByZXR1cm4gX2ZpbmRBc3RFbGVtZW50SWQoJHBhZ2UuYXN0LCBhc3ROb2RlLCBcIlwiKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIF9maW5kQXN0RWxlbWVudElkKGFzdDogQXN0Tm9kZVtdLCBhc3ROb2RlOiBBc3ROb2RlLCBpZDogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgZm9yKGxldCBpID0gMDsgaSA8IGFzdC5sZW5ndGg7IGkrKykge1xuICAgIGxldCBjdXJyZW50Tm9kZSA9IGFzdFtpXTtcbiAgICBpZiAoY3VycmVudE5vZGUgPT09IGFzdE5vZGUpIHtcbiAgICAgIHJldHVybiBpZCArIGk7XG4gICAgfSBlbHNlIGlmIChpc0FzdEVsZW1lbnQoY3VycmVudE5vZGUpKSB7XG4gICAgICBsZXQgcmVzdWx0ID0gX2ZpbmRBc3RFbGVtZW50SWQoY3VycmVudE5vZGUuY29udGVudCwgYXN0Tm9kZSwgaWQgKyBpICsgXCIuXCIpO1xuICAgICAgaWYgKHJlc3VsdCkge1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIiwgIjxzY3JpcHQgbGFuZz1cInRzXCI+XG4gIGltcG9ydCB7IGlzQXN0RWxlbWVudCB9IGZyb20gJyRsaWIvc3RvcmVzL3BhZ2UnO1xuICBpbXBvcnQgdHlwZSB7IEFzdE5vZGUgfSBmcm9tICckbGliL3R5cGVzJztcbiAgZXhwb3J0IGxldCBub2RlOiBBc3ROb2RlO1xuPC9zY3JpcHQ+XG5cbnsjaWYgaXNBc3RFbGVtZW50KG5vZGUpfVxuICB7I2lmIG5vZGUudGFnID09PSAnaHRtbF9jb21tZW50J31cbiAgICB7QGh0bWwgXCI8IS0tXCIgKyBub2RlLmNvbnRlbnQgKyBcIi0tPlwifVxuICB7OmVsc2UgaWYgbm9kZS50YWcgPT09ICdlZXhfY29tbWVudCd9XG4gICAge0BodG1sIFwiPCEtLVwiICsgbm9kZS5jb250ZW50ICsgXCItLT5cIn1cbiAgezplbHNlIGlmIG5vZGUudGFnID09PSAnZWV4JyAmJiBub2RlLmNvbnRlbnRbMF0gPT09ICdAaW5uZXJfY29udGVudCd9XG4gICAgPHNsb3QvPlxuICB7OmVsc2UgaWYgbm9kZS5yZW5kZXJlZF9odG1sfVxuICAgIHtAaHRtbCBub2RlLnJlbmRlcmVkX2h0bWx9XG4gIHs6ZWxzZSBpZiBub2RlLmF0dHJzLnNlbGZDbG9zZX1cbiAgICA8c3ZlbHRlOmVsZW1lbnQgdGhpcz17bm9kZS50YWd9IHsuLi5ub2RlLmF0dHJzfS8+XG4gIHs6ZWxzZX1cbiAgICA8c3ZlbHRlOmVsZW1lbnQgdGhpcz17bm9kZS50YWd9IHsuLi5ub2RlLmF0dHJzfT5cbiAgICAgIHsjZWFjaCBub2RlLmNvbnRlbnQgYXMgc3Vibm9kZSwgaW5kZXh9XG4gICAgICAgIDxzdmVsdGU6c2VsZiBub2RlPXtzdWJub2RlfS8+XG4gICAgICB7L2VhY2h9XG4gICAgPC9zdmVsdGU6ZWxlbWVudD5cbiAgey9pZn1cbns6ZWxzZX1cbiAge25vZGV9XG57L2lmfVxuIiwgIjxzY3JpcHQgbGFuZz1cInRzXCI+XG4gIGltcG9ydCB7IHNlbGVjdGVkQXN0RWxlbWVudCwgc2xvdFRhcmdldEVsZW1lbnQsIHNlbGVjdGVkQXN0RWxlbWVudElkLCBoaWdobGlnaHRlZEFzdEVsZW1lbnQsIGlzQXN0RWxlbWVudCB9IGZyb20gJyRsaWIvc3RvcmVzL3BhZ2UnO1xuICBpbXBvcnQgdHlwZSB7IEFzdE5vZGUgfSBmcm9tICckbGliL3R5cGVzJztcbiAgZXhwb3J0IGxldCBub2RlOiBBc3ROb2RlO1xuICBleHBvcnQgbGV0IG5vZGVJZDogc3RyaW5nO1xuICBpbXBvcnQgeyBkcmFnZ2VkT2JqZWN0IH0gZnJvbSAnJGxpYi9zdG9yZXMvZHJhZ0FuZERyb3AnO1xuXG4gIGZ1bmN0aW9uIGhhbmRsZURyYWdFbnRlcigpIHtcbiAgICBpZiAoaXNBc3RFbGVtZW50KG5vZGUpICYmICRkcmFnZ2VkT2JqZWN0Py5jYXRlZ29yeSA9PT0gJ2Jhc2ljJykge1xuICAgICAgJHNsb3RUYXJnZXRFbGVtZW50ID0gbm9kZTtcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBoYW5kbGVEcmFnTGVhdmUoKSB7XG4gICAgaWYgKGlzQXN0RWxlbWVudChub2RlKSAmJiAkZHJhZ2dlZE9iamVjdD8uY2F0ZWdvcnkgPT09ICdiYXNpYycgJiYgJHNsb3RUYXJnZXRFbGVtZW50ID09PSBub2RlKSB7XG4gICAgICAkc2xvdFRhcmdldEVsZW1lbnQgPSB1bmRlZmluZWQ7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlTW91c2VPdmVyKCkge1xuICAgIGlzQXN0RWxlbWVudChub2RlKSAmJiAoJGhpZ2hsaWdodGVkQXN0RWxlbWVudCA9IG5vZGUpO1xuICB9XG4gIGZ1bmN0aW9uIGhhbmRsZU1vdXNlT3V0KCkge1xuICAgICRoaWdobGlnaHRlZEFzdEVsZW1lbnQgPSB1bmRlZmluZWRcbiAgfVxuXG4gIGZ1bmN0aW9uIGhhbmRsZUNsaWNrKCkge1xuICAgICRzZWxlY3RlZEFzdEVsZW1lbnRJZCA9IG5vZGVJZFxuICB9XG5cbiAgLy8gV2hlbiByZW5kZXJpbmcgcmF3IGh0bWwsIHdlIGNhbid0IGFkZCB0aGUgdXN1YWwgY2xhc3NlcyB0byB0aGUgd3JhcHBlci5cbiAgZnVuY3Rpb24gaGlnaGxpZ2h0Q29udGVudCh3cmFwcGVyRGl2OiBIVE1MRWxlbWVudCwgeyBzZWxlY3RlZCwgaGlnaGxpZ2h0ZWQgfTogeyBzZWxlY3RlZDogYm9vbGVhbiwgaGlnaGxpZ2h0ZWQ6IGJvb2xlYW4gfSkge1xuICAgIGxldCBzdGFydHNXaXRoT25lQ2hpbGRyZW4gPSB3cmFwcGVyRGl2LmNoaWxkcmVuLmxlbmd0aCA9PT0gMTtcbiAgICBpZiAoc3RhcnRzV2l0aE9uZUNoaWxkcmVuKSB7XG4gICAgICBsZXQgY2hpbGQgPSB3cmFwcGVyRGl2LmNoaWxkcmVuWzBdO1xuICAgICAgY2hpbGQuc2V0QXR0cmlidXRlKCdkYXRhLXNlbGVjdGVkJywgU3RyaW5nKHNlbGVjdGVkKSk7XG4gICAgICBjaGlsZC5zZXRBdHRyaWJ1dGUoJ2RhdGEtaGlnaGxpZ2h0ZWQnLCBTdHJpbmcoaGlnaGxpZ2h0ZWQpKTtcbiAgICB9XG4gICAgcmV0dXJuIHtcbiAgICAgIHVwZGF0ZSh7IHNlbGVjdGVkLCBoaWdobGlnaHRlZCB9OiB7IHNlbGVjdGVkOiBib29sZWFuLCBoaWdobGlnaHRlZDogYm9vbGVhbiB9KSB7XG4gICAgICAgIGlmICh3cmFwcGVyRGl2LmNoaWxkcmVuLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgIGxldCBjaGlsZCA9IHdyYXBwZXJEaXYuY2hpbGRyZW5bMF07XG4gICAgICAgICAgY2hpbGQuc2V0QXR0cmlidXRlKCdkYXRhLXNlbGVjdGVkJywgU3RyaW5nKHNlbGVjdGVkKSk7XG4gICAgICAgICAgY2hpbGQuc2V0QXR0cmlidXRlKCdkYXRhLWhpZ2hsaWdodGVkJywgU3RyaW5nKGhpZ2hsaWdodGVkKSk7XG4gICAgICAgIH0gZWxzZSBpZiAod3JhcHBlckRpdi5jaGlsZHJlbi5sZW5ndGggPT09IDAgJiYgd3JhcHBlckRpdi5jaGlsZE5vZGVzLmxlbmd0aCA9PT0gMSkge1xuICAgICAgICAgIHdyYXBwZXJEaXYuc2V0QXR0cmlidXRlKCdkYXRhLW5vY2hpbGRyZW4nLCBcInRydWVcIik7XG4gICAgICAgICAgd3JhcHBlckRpdi5zZXRBdHRyaWJ1dGUoJ2RhdGEtc2VsZWN0ZWQnLCBTdHJpbmcoc2VsZWN0ZWQpKTtcbiAgICAgICAgICB3cmFwcGVyRGl2LnNldEF0dHJpYnV0ZSgnZGF0YS1oaWdobGlnaHRlZCcsIFN0cmluZyhoaWdobGlnaHRlZCkpO1xuICAgICAgICB9IGVsc2UgaWYgKHN0YXJ0c1dpdGhPbmVDaGlsZHJlbikge1xuICAgICAgICAgIEFycmF5LmZyb20od3JhcHBlckRpdi5jaGlsZHJlbikuZm9yRWFjaChjaGlsZCA9PiB7XG4gICAgICAgICAgICBjaGlsZC5yZW1vdmVBdHRyaWJ1dGUoJ2RhdGEtc2VsZWN0ZWQnKTtcbiAgICAgICAgICAgIGNoaWxkLnJlbW92ZUF0dHJpYnV0ZSgnZGF0YS1oaWdobGlnaHRlZCcpO1xuICAgICAgICAgIH0pO1xuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgZGVzdHJveSgpIHtcbiAgICAgICAgLy8gbm9vcFxuICAgICAgfVxuICAgIH1cbiAgfVxuPC9zY3JpcHQ+XG5cbnsjaWYgaXNBc3RFbGVtZW50KG5vZGUpfVxuICB7I2lmIG5vZGUudGFnID09PSAnaHRtbF9jb21tZW50J31cbiAgICB7QGh0bWwgXCI8IS0tXCIgKyBub2RlLmNvbnRlbnQgKyBcIi0tPlwifVxuICB7OmVsc2UgaWYgbm9kZS50YWcgPT09ICdlZXhfY29tbWVudCd9XG4gICAge0BodG1sIFwiPCEtLVwiICsgbm9kZS5jb250ZW50ICsgXCItLT5cIn1cbiAgezplbHNlIGlmIG5vZGUudGFnID09PSAnZWV4JyAmJiBub2RlLmNvbnRlbnRbMF0gPT09ICdAaW5uZXJfY29udGVudCd9XG4gICAgPHNsb3QvPlxuICB7OmVsc2UgaWYgbm9kZS5yZW5kZXJlZF9odG1sfVxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwiY29udGVudHNcIlxuICAgICAgb246bW91c2VvdmVyfHN0b3BQcm9wYWdhdGlvbj17aGFuZGxlTW91c2VPdmVyfVxuICAgICAgb246bW91c2VvdXR8c3RvcFByb3BhZ2F0aW9uPXtoYW5kbGVNb3VzZU91dH1cbiAgICAgIG9uOmNsaWNrfHByZXZlbnREZWZhdWx0fHN0b3BQcm9wYWdhdGlvbj17KCkgPT4gJHNlbGVjdGVkQXN0RWxlbWVudElkID0gbm9kZUlkfVxuICAgICAgdXNlOmhpZ2hsaWdodENvbnRlbnQ9e3tzZWxlY3RlZDogJHNlbGVjdGVkQXN0RWxlbWVudCA9PT0gbm9kZSwgaGlnaGxpZ2h0ZWQ6ICRoaWdobGlnaHRlZEFzdEVsZW1lbnQgPT09IG5vZGV9fVxuICAgID57QGh0bWwgbm9kZS5yZW5kZXJlZF9odG1sfTwvZGl2PlxuICB7OmVsc2UgaWYgbm9kZS5hdHRycy5zZWxmQ2xvc2V9XG4gICAgPHN2ZWx0ZTplbGVtZW50XG4gICAgICB0aGlzPXtub2RlLnRhZ31cbiAgICAgIHsuLi5ub2RlLmF0dHJzfVxuICAgICAgZGF0YS1zZWxlY3RlZD17JHNlbGVjdGVkQXN0RWxlbWVudCA9PT0gbm9kZX1cbiAgICAgIGRhdGEtaGlnaGxpZ2h0ZWQ9eyRoaWdobGlnaHRlZEFzdEVsZW1lbnQgPT09IG5vZGV9XG4gICAgICBkYXRhLXNsb3QtdGFyZ2V0PXskc2xvdFRhcmdldEVsZW1lbnQgPT09IG5vZGUgJiYgISRzbG90VGFyZ2V0RWxlbWVudC5hdHRycy5zZWxmQ2xvc2V9XG4gICAgICBvbjpkcmFnZW50ZXJ8c3RvcFByb3BhZ2F0aW9uPXtoYW5kbGVEcmFnRW50ZXJ9XG4gICAgICBvbjpkcmFnbGVhdmV8c3RvcFByb3BhZ2F0aW9uPXtoYW5kbGVEcmFnTGVhdmV9XG4gICAgICBvbjptb3VzZW92ZXJ8c3RvcFByb3BhZ2F0aW9uPXtoYW5kbGVNb3VzZU92ZXJ9XG4gICAgICBvbjptb3VzZW91dHxzdG9wUHJvcGFnYXRpb249e2hhbmRsZU1vdXNlT3V0fVxuICAgICAgb246Y2xpY2t8cHJldmVudERlZmF1bHR8c3RvcFByb3BhZ2F0aW9uPXtoYW5kbGVDbGlja30gLz5cbiAgezplbHNlfVxuICAgIDxzdmVsdGU6ZWxlbWVudFxuICAgICAgdGhpcz17bm9kZS50YWd9XG4gICAgICB7Li4ubm9kZS5hdHRyc31cbiAgICAgIGRhdGEtc2VsZWN0ZWQ9eyRzZWxlY3RlZEFzdEVsZW1lbnQgPT09IG5vZGV9XG4gICAgICBkYXRhLWhpZ2hsaWdodGVkPXskaGlnaGxpZ2h0ZWRBc3RFbGVtZW50ID09PSBub2RlfVxuICAgICAgZGF0YS1zbG90LXRhcmdldD17JHNsb3RUYXJnZXRFbGVtZW50ID09PSBub2RlfVxuICAgICAgb246ZHJhZ2VudGVyfHN0b3BQcm9wYWdhdGlvbj17aGFuZGxlRHJhZ0VudGVyfVxuICAgICAgb246ZHJhZ2xlYXZlfHN0b3BQcm9wYWdhdGlvbj17aGFuZGxlRHJhZ0xlYXZlfVxuICAgICAgb246bW91c2VvdmVyfHN0b3BQcm9wYWdhdGlvbj17aGFuZGxlTW91c2VPdmVyfVxuICAgICAgb246bW91c2VvdXR8c3RvcFByb3BhZ2F0aW9uPXtoYW5kbGVNb3VzZU91dH1cbiAgICAgIG9uOmNsaWNrfHByZXZlbnREZWZhdWx0fHN0b3BQcm9wYWdhdGlvbj17KCkgPT4gJHNlbGVjdGVkQXN0RWxlbWVudElkID0gbm9kZUlkfT5cbiAgICAgIHsjZWFjaCBub2RlLmNvbnRlbnQgYXMgc3Vibm9kZSwgaW5kZXh9XG4gICAgICAgIDxzdmVsdGU6c2VsZiBub2RlPXtzdWJub2RlfSBub2RlSWQ9XCJ7bm9kZUlkfS57aW5kZXh9XCIvPlxuICAgICAgey9lYWNofVxuICAgIDwvc3ZlbHRlOmVsZW1lbnQ+XG4gIHsvaWZ9XG57OmVsc2V9XG4gIHtub2RlfVxuey9pZn1cbiIsICI8c2NyaXB0IGxhbmc9XCJ0c1wiPlxuICBpbXBvcnQgeyBQYWdlLCBBc3RFbGVtZW50LCBBc3ROb2RlIH0gZnJvbSBcIiRsaWIvdHlwZXNcIlxuICBpbXBvcnQgTGF5b3V0QXN0Tm9kZSBmcm9tICcuL0xheW91dEFzdE5vZGUuc3ZlbHRlJztcbiAgaW1wb3J0IFBhZ2VBc3ROb2RlIGZyb20gJy4vUGFnZUFzdE5vZGUuc3ZlbHRlJztcbiAgaW1wb3J0IEJyb3dzZXJGcmFtZSBmcm9tICcuL0Jyb3dzZXJGcmFtZS5zdmVsdGUnO1xuICBpbXBvcnQgeyBzZWxlY3RlZEFzdEVsZW1lbnRJZCB9IGZyb20gXCIkbGliL3N0b3Jlcy9wYWdlXCI7XG4gIGltcG9ydCB7IGN1cnJlbnRDb21wb25lbnRDYXRlZ29yeSB9IGZyb20gXCIkbGliL3N0b3Jlcy9jdXJyZW50Q29tcG9uZW50Q2F0ZWdvcnlcIjtcbiAgaW1wb3J0IHsgcGFnZSwgc2xvdFRhcmdldEVsZW1lbnQgfSBmcm9tIFwiJGxpYi9zdG9yZXMvcGFnZVwiO1xuICBpbXBvcnQgeyBkcmFnZ2VkT2JqZWN0IH0gZnJvbSBcIiRsaWIvc3RvcmVzL2RyYWdBbmREcm9wXCI7XG5cbiAgZXhwb3J0IGxldCBsaXZlO1xuICBsZXQgaXNEcmFnZ2luZ092ZXIgPSBmYWxzZTtcblxuICBhc3luYyBmdW5jdGlvbiBoYW5kbGVEcmFnRHJvcChlOiBEcmFnRXZlbnQpIHtcbiAgICBsZXQgeyB0YXJnZXQgfSA9IGU7XG4gICAgJGN1cnJlbnRDb21wb25lbnRDYXRlZ29yeSA9IG51bGw7XG4gICAgaWYgKCEkZHJhZ2dlZE9iamVjdCkgcmV0dXJuO1xuICAgIGlmICgkZHJhZ2dlZE9iamVjdC5jYXRlZ29yeSA9PT0gJ2Jhc2ljJykge1xuICAgICAgaWYgKCEodGFyZ2V0IGluc3RhbmNlb2YgSFRNTEVsZW1lbnQpKSByZXR1cm47XG4gICAgICBpZiAodGFyZ2V0LmlkID09PSAnZmFrZS1icm93c2VyLWNvbnRlbnQnKSByZXR1cm47XG4gICAgICBpZiAoISRzbG90VGFyZ2V0RWxlbWVudCkgcmV0dXJuO1xuICAgICAgaWYgKCRzbG90VGFyZ2V0RWxlbWVudC5hdHRycy5zZWxmQ2xvc2UpIHJldHVybjtcbiAgICAgIGFkZEJhc2ljQ29tcG9uZW50VG9UYXJnZXQoJHNsb3RUYXJnZXRFbGVtZW50KTtcbiAgICB9IGVsc2Uge1xuICAgICAgZGVidWdnZXI7XG4gICAgICBsaXZlLnB1c2hFdmVudChcInJlbmRlcl9jb21wb25lbnRfaW5fcGFnZVwiLCB7IGNvbXBvbmVudF9pZDogJGRyYWdnZWRPYmplY3QuaWQsIHBhZ2VfaWQ6ICRwYWdlLmlkIH0sICh7YXN0fTogeyBhc3Q6IEFzdE5vZGVbXSB9KSA9PiB7XG4gICAgICAgIC8vIFRoaXMgYXBwZW5kcyBhdCB0aGUgZW5kLiBXZSBtaWdodCB3YW50IGF0IHRoZSBiZWdpbm5pbmcsIG9yIGluIGEgc3BlY2lmaWMgcG9zaXRpb25cbiAgICAgICAgbGl2ZS5wdXNoRXZlbnQoXCJ1cGRhdGVfcGFnZV9hc3RcIiwgeyBpZDogJHBhZ2UuaWQsIGFzdDogWy4uLiRwYWdlLmFzdCwgLi4uYXN0XSB9KTtcbiAgICAgIH0pO1xuICAgIH1cbiAgICBpc0RyYWdnaW5nT3ZlciA9IGZhbHNlO1xuICB9XG5cbiAgYXN5bmMgZnVuY3Rpb24gYWRkQmFzaWNDb21wb25lbnRUb1RhcmdldChhc3RFbGVtZW50OiBBc3RFbGVtZW50KSB7XG4gICAgaWYgKCEkZHJhZ2dlZE9iamVjdCkgcmV0dXJuO1xuICAgIGxldCBjb21wb25lbnREZWZpbml0aW9uID0gJGRyYWdnZWRPYmplY3Q7XG4gICAgJGRyYWdnZWRPYmplY3QgPSBudWxsO1xuICAgIGxldCB0YXJnZXROb2RlID0gYXN0RWxlbWVudDtcbiAgICBsaXZlLnB1c2hFdmVudChcInJlbmRlcl9jb21wb25lbnRfaW5fcGFnZVwiLCB7IGNvbXBvbmVudF9pZDogY29tcG9uZW50RGVmaW5pdGlvbi5pZCwgcGFnZV9pZDogJHBhZ2UuaWQgfSwgKHthc3R9OiB7IGFzdDogQXN0Tm9kZVtdIH0pID0+IHtcbiAgICAgIHRhcmdldE5vZGU/LmNvbnRlbnQucHVzaCguLi5hc3QpO1xuICAgICAgJHNsb3RUYXJnZXRFbGVtZW50ID0gdW5kZWZpbmVkO1xuICAgICAgbGl2ZS5wdXNoRXZlbnQoXCJ1cGRhdGVfcGFnZV9hc3RcIiwgeyBpZDogJHBhZ2UuaWQsIGFzdDogJHBhZ2UuYXN0IH0pO1xuICAgIH0pO1xuICB9XG5cbiAgZnVuY3Rpb24gZHJhZ092ZXIoKSB7XG4gICAgaXNEcmFnZ2luZ092ZXIgPSB0cnVlO1xuICB9XG48L3NjcmlwdD5cblxuPGRpdiBjbGFzcz1cImZsZXgtMSBweC04IHB5LTQgZmxleCBtYXgtaC1mdWxsXCIgZGF0YS10ZXN0LWlkPVwibWFpblwiPlxuICA8QnJvd3NlckZyYW1lIHBhZ2U9eyRwYWdlfT5cbiAgICA8ZGl2IFxuICAgICAgb246ZHJvcHxwcmV2ZW50RGVmYXVsdD17aGFuZGxlRHJhZ0Ryb3B9XG4gICAgICBvbjpkcmFnb3ZlcnxwcmV2ZW50RGVmYXVsdD17ZHJhZ092ZXJ9XG4gICAgICBzdHlsZT1cIi0tb3V0bGluZWQtaWQ6IHRpdGxlLTFcIlxuICAgICAgaWQ9XCJmYWtlLWJyb3dzZXItY29udGVudFwiXG4gICAgICBjbGFzcz1cImJnLXdoaXRlIHJvdW5kZWQtYi14bCByZWxhdGl2ZSBvdmVyZmxvdy1oaWRkZW4gZmxleC0xIHtpc0RyYWdnaW5nT3ZlciAmJiAnYm9yZGVyLWRhc2hlZCBib3JkZXItYmx1ZS01MDAgYm9yZGVyLTInfVwiIFxuICAgICAgZGF0YS10ZXN0LWlkPVwiYnJvd3Nlci1jb250ZW50XCI+XG4gICAgICA8ZGl2IGlkPVwicGFnZS13cmFwcGVyXCIgY2xhc3M9XCJwLTEgbS0xXCIgZGF0YS1zZWxlY3RlZD17JHNlbGVjdGVkQXN0RWxlbWVudElkID09PSAncm9vdCd9PlxuICAgICAgICB7I2VhY2ggJHBhZ2UubGF5b3V0LmFzdCBhcyBsYXlvdXRBc3ROb2RlfVxuICAgICAgICAgIDxMYXlvdXRBc3ROb2RlIG5vZGU9e2xheW91dEFzdE5vZGV9PlxuICAgICAgICAgICAgeyNlYWNoICRwYWdlLmFzdCBhcyBhc3ROb2RlLCBpbmRleH1cbiAgICAgICAgICAgICAgPFBhZ2VBc3ROb2RlIG5vZGU9e2FzdE5vZGV9IG5vZGVJZD1cIntpbmRleH1cIi8+XG4gICAgICAgICAgICB7L2VhY2h9XG4gICAgICAgICAgPC9MYXlvdXRBc3ROb2RlPlxuICAgICAgICB7L2VhY2h9XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgPC9Ccm93c2VyRnJhbWU+XG48L2Rpdj5cblxuPHN0eWxlPlxuICA6Z2xvYmFsKFtkYXRhLXNlbGVjdGVkPVwidHJ1ZVwiXSwgW2RhdGEtaGlnaGxpZ2h0ZWQ9XCJ0cnVlXCJdKSB7XG4gICAgb3V0bGluZS1jb2xvcjogIzA2YjZkNDsgXG4gICAgb3V0bGluZS13aWR0aDogMnB4O1xuICAgIG91dGxpbmUtc3R5bGU6IGRhc2hlZDsgICAgXG4gIH1cbiAgOmdsb2JhbCguY29udGVudHNbZGF0YS1ub2NoaWxkcmVuPVwidHJ1ZVwiXSwgLmNvbnRlbnRzW2RhdGEtbm9jaGlsZHJlbj1cInRydWVcIl0pIHtcbiAgICAvKiBJbiB0aGUgc3BlY2lmaWMgY2FzZSBvZiBhbiBlbGVtZW50IGNvbnRhaW5pbmcgb25seSBhbiBFRVggZXhwcmVzc2lvbiB0aGF0IGdlbmVyYXRlcyBubyBjaGlsZHJlbiAob25seSBhIHRleHQgbm9kZSksXG4gICAgdGhlcmUgaXMgbm8gY2hpbGQgbm9kZSB0byB3aGljaCBhcHBseSB0aGUgc3R5bGVzLCBzbyB3ZSBoYXZlIHRvIGFwcGx5IHRoZW0gdG8gdGhlIHdyYXBwZXIsIHNvIHdlIGhhdmUgdG8gb3ZlcndyaXRlIHRoZVxuICAgIGRpc3BsYXk6IGNvbnRlbnRzIGZvciB0aGUgc3R5bGVzIHRvIGFwcGx5ICovXG4gICAgZGlzcGxheTogaW5saW5lOyBcbiAgfSAgXG4gIDpnbG9iYWwoW2RhdGEtc2xvdC10YXJnZXQ9XCJ0cnVlXCJdKSB7XG4gICAgb3V0bGluZS1jb2xvcjogcmVkOyBcbiAgICBvdXRsaW5lLXdpZHRoOiAycHg7XG4gICAgb3V0bGluZS1zdHlsZTogZGFzaGVkOyAgICBcbiAgfSAgXG48L3N0eWxlPlxuIiwgIjxzY3JpcHQgbGFuZz1cInRzXCI+XG4gIGltcG9ydCB7IGNyZWF0ZUV2ZW50RGlzcGF0Y2hlciB9IGZyb20gJ3N2ZWx0ZSc7XG4gIGNvbnN0IGRpc3BhdGNoID0gY3JlYXRlRXZlbnREaXNwYXRjaGVyKCk7XG48L3NjcmlwdD5cblxuPHNwYW4gY2xhc3M9XCJyb3VuZGVkLWZ1bGwgYmctZ3JheS03MDAgdGV4dC13aGl0ZSB0ZXh0LXhzIGlubGluZS1ibG9jayBweC0zIHB5LTIgbS0xIGxlYWRpbmctNFwiPlxuICA8c2xvdD48L3Nsb3Q+XG4gIDxidXR0b24gXG4gICAgY2xhc3M9XCJyb3VuZGVkLWZ1bGwgaW5saW5lLWJsb2NrIGJnLWdyYXktNzAwIHRleHQtd2hpdGUgbWwtMlwiIFxuICAgIHR5cGU9XCJidXR0b25cIlxuICAgIG9uOmNsaWNrfHByZXZlbnREZWZhdWx0PXsoKSA9PiBkaXNwYXRjaCgnZGVsZXRlJyl9PuKclTwvYnV0dG9uPlxuPC9zcGFuPiIsICI8c2NyaXB0IGxhbmc9XCJ0c1wiPlxuICBpbXBvcnQgeyBjcmVhdGVFdmVudERpc3BhdGNoZXIgfSBmcm9tICdzdmVsdGUnO1xuICBpbXBvcnQgdHlwZSB7IEFzdEVsZW1lbnQsIEFzdE5vZGUgfSBmcm9tICckbGliL3R5cGVzJztcbiAgaW1wb3J0IHsgaGlnaGxpZ2h0ZWRBc3RFbGVtZW50LCBmaW5kQXN0RWxlbWVudElkLCBzZWxlY3RlZEFzdEVsZW1lbnRJZCwgaXNBc3RFbGVtZW50IH0gZnJvbSAnJGxpYi9zdG9yZXMvcGFnZSc7XG4gIGltcG9ydCBDb2RlRWRpdG9yIGZyb20gJy4vQ29kZUVkaXRvci5zdmVsdGUnO1xuXG4gIGNvbnN0IGRpc3BhdGNoID0gY3JlYXRlRXZlbnREaXNwYXRjaGVyKCk7XG4gIGV4cG9ydCBsZXQgdmFsdWU6IHN0cmluZyB8IG51bGwgPSAnJztcbiAgZXhwb3J0IGxldCBhc3ROb2RlczogQXN0Tm9kZVtdIHwgbnVsbCA9IG51bGw7XG4gIGV4cG9ydCBsZXQgY2xlYXJPblVwZGF0ZSA9IGZhbHNlO1xuICBleHBvcnQgbGV0IGV4cGFuZGVkID0gdHJ1ZTtcbiAgZXhwb3J0IGxldCBwbGFjZWhvbGRlcjogc3RyaW5nID0gJyc7XG4gIGV4cG9ydCBsZXQgbGFyZ2U6IGJvb2xlYW4gPSBmYWxzZTtcbiAgJDogYXN0RWxlbWVudHMgPSAoYXN0Tm9kZXMgfHwgW10pLmZpbHRlcihpc0FzdEVsZW1lbnQpXG5cbiAgZnVuY3Rpb24gaGlnaGxpZ2h0QXN0RWxlbWVudChhc3RFbGVtZW50OiBBc3RFbGVtZW50KSB7XG4gICAgJGhpZ2hsaWdodGVkQXN0RWxlbWVudCA9IGFzdEVsZW1lbnQ7XG4gIH1cbiAgZnVuY3Rpb24gdW5oaWdobGlnaHRBc3RFbGVtZW50KCkge1xuICAgICRoaWdobGlnaHRlZEFzdEVsZW1lbnQgPSB1bmRlZmluZWQ7XG4gIH1cbiAgbGV0IGludGVybmFsVmFsdWU6IHN0cmluZyB8IG51bGwgPSBhc3RFbGVtZW50cyA/IG51bGwgOiB2YWx1ZTtcbiAgJDoge1xuICAgIGlmIChhc3ROb2Rlcz8ubGVuZ3RoID09PSAxKSB7XG4gICAgICBsZXQgZmlyc3QgPSBhc3ROb2Rlc1swXTtcbiAgICAgIGlmICghaXNBc3RFbGVtZW50KGZpcnN0KSkge1xuICAgICAgICBpbnRlcm5hbFZhbHVlID0gZmlyc3Q7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChhc3ROb2Rlcykge1xuICAgICAgaW50ZXJuYWxWYWx1ZSA9IG51bGw7XG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gaGFuZGxlS2V5ZG93bihlOiBLZXlib2FyZEV2ZW50KSB7XG4gICAgaWYoIShlLnRhcmdldCBpbnN0YW5jZW9mIEhUTUxJbnB1dEVsZW1lbnQpKSByZXR1cm47XG4gICAgbGV0IHRleHQgPSBlLnRhcmdldC52YWx1ZTtcbiAgICBpZiAoZS5rZXkgPT09ICdFbnRlcicgJiYgdGV4dCAmJiB0ZXh0Lmxlbmd0aCA+IDAgJiYgdGV4dCAhPT0gdmFsdWUpIHtcbiAgICAgIGRpc3BhdGNoKCd1cGRhdGUnLCB0ZXh0KTtcbiAgICAgIGlmIChjbGVhck9uVXBkYXRlKSB7XG4gICAgICAgIGludGVybmFsVmFsdWUgPSBudWxsO1xuICAgICAgICBlLnRhcmdldC52YWx1ZSA9ICcnO1xuICAgICAgfSAgICAgICBcbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gaGFuZGxlVGV4dENoYW5nZShlOiBFdmVudCkge1xuICAgIGlmICgoZS50YXJnZXQgaW5zdGFuY2VvZiBIVE1MSW5wdXRFbGVtZW50IHx8IGUudGFyZ2V0IGluc3RhbmNlb2YgSFRNTFRleHRBcmVhRWxlbWVudCkpIHtcbiAgICAgIGRpc3BhdGNoKCd0ZXh0Q2hhbmdlJywgZS50YXJnZXQudmFsdWUpOyAgICBcbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gc2VsZWN0KGFzdEVsZW1lbnQ6IEFzdEVsZW1lbnQpIHtcbiAgICBsZXQgaWQgPSBmaW5kQXN0RWxlbWVudElkKGFzdEVsZW1lbnQpO1xuICAgICRzZWxlY3RlZEFzdEVsZW1lbnRJZCA9IGlkO1xuICB9XG4gIGZ1bmN0aW9uIG1vdmVBc3RFbGVtZW50KG1vdmVtZW50OiBudW1iZXIsIGFzdEVsZW1lbnQ6IEFzdEVsZW1lbnQpIHtcbiAgICBpZiAoIWFzdE5vZGVzKSByZXR1cm47XG4gICAgbGV0IGFzdE5vZGVzQ29weSA9IEFycmF5LmZyb20oYXN0Tm9kZXMpO1xuICAgIGxldCBpbmRleCA9IGFzdE5vZGVzQ29weS5pbmRleE9mKGFzdEVsZW1lbnQpO1xuICAgIGFzdE5vZGVzQ29weS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIGFzdE5vZGVzQ29weS5zcGxpY2UoaW5kZXggKyBtb3ZlbWVudCwgMCwgYXN0RWxlbWVudCk7XG4gICAgZGlzcGF0Y2goJ25vZGVzQ2hhbmdlJywgYXN0Tm9kZXNDb3B5KTtcbiAgfVxuPC9zY3JpcHQ+XG5cbjxzZWN0aW9uIGNsYXNzPVwicC00IGJvcmRlci1iIGJvcmRlci1iLWdyYXktMTAwIGJvcmRlci1zb2xpZFwiPlxuICA8aGVhZGVyIGNsYXNzPVwidGV4dC1zbSBtYi0yXCI+XG4gICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgY2xhc3M9XCJhbGlnbi1taWRkbGUgdGV4dC1iYXNlXCIgb246Y2xpY2s9eygpID0+IGV4cGFuZGVkID0gIWV4cGFuZGVkfT57ZXhwYW5kZWQgPyAn4payJyA6ICfilrwnfTwvYnV0dG9uPlxuICAgIDxzbG90IG5hbWU9XCJoZWFkaW5nXCIgLz5cbiAgICA8IS0tIENsYXNzZXMgLS0+XG4gIDwvaGVhZGVyPlxuICB7I2lmICQkc2xvdHNbJ3ZhbHVlJ119XG4gICAgPHNsb3QgbmFtZT1cImlucHV0XCI+XG4gICAgICA8aW5wdXQgXG4gICAgICAgIHR5cGU9XCJ0ZXh0XCIgXG4gICAgICAgIGNsYXNzPVwidy1mdWxsIHB5LTEgcHgtMiBiZy1ncmF5LTEwMCBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1tZCBsZWFkaW5nLTYgdGV4dC1zbVwiXG4gICAgICAgIHtwbGFjZWhvbGRlcn1cbiAgICAgICAgdmFsdWU9e2ludGVybmFsVmFsdWV9IFxuICAgICAgICBvbjprZXlkb3duPXtoYW5kbGVLZXlkb3dufVxuICAgICAgICBvbjpjaGFuZ2U9e2hhbmRsZVRleHRDaGFuZ2V9PlxuICAgIDwvc2xvdD5cbiAgICA8ZGl2IGNsYXNzPVwicHQtM1wiPjxzbG90IG5hbWU9XCJ2YWx1ZVwiLz48L2Rpdj5cbiAgezplbHNlfVxuICAgIHsjaWYgZXhwYW5kZWR9XG4gICAgICA8c2xvdCBuYW1lPVwiaW5wdXRcIj5cbiAgICAgICAgeyNpZiBpbnRlcm5hbFZhbHVlfVxuICAgICAgICAgIHsjaWYgbGFyZ2V9XG4gICAgICAgICAgICA8IS0tIDxDb2RlRWRpdG9yIHZhbHVlPXtpbnRlcm5hbFZhbHVlfSBvbjpjaGFuZ2U9eyhlKSA9PiBkaXNwYXRjaCgndGV4dENoYW5nZScsIGUuZGV0YWlsKX0vPiAtLT5cbiAgICAgICAgICAgIDx0ZXh0YXJlYSBcbiAgICAgICAgICAgIGNsYXNzPVwidy1mdWxsIHB5LTEgcHgtMiBiZy1ncmF5LTEwMCBib3JkZXItZ3JheS0xMDAgcm91bmRlZC1tZCBsZWFkaW5nLTYgdGV4dC1zbVwiXG4gICAgICAgICAgICB7cGxhY2Vob2xkZXJ9XG4gICAgICAgICAgICB2YWx1ZT17aW50ZXJuYWxWYWx1ZX0gXG4gICAgICAgICAgICBvbjprZXlkb3duPXtoYW5kbGVLZXlkb3dufVxuICAgICAgICAgICAgb246Y2hhbmdlPXtoYW5kbGVUZXh0Q2hhbmdlfT48L3RleHRhcmVhPlxuICAgICAgICAgIHs6ZWxzZX1cbiAgICAgICAgICAgIDxpbnB1dCBcbiAgICAgICAgICAgICAgdHlwZT1cInRleHRcIiBcbiAgICAgICAgICAgICAgY2xhc3M9XCJ3LWZ1bGwgcHktMSBweC0yIGJnLWdyYXktMTAwIGJvcmRlci1ncmF5LTEwMCByb3VuZGVkLW1kIGxlYWRpbmctNiB0ZXh0LXNtXCJcbiAgICAgICAgICAgICAge3BsYWNlaG9sZGVyfVxuICAgICAgICAgICAgICB2YWx1ZT17aW50ZXJuYWxWYWx1ZX0gXG4gICAgICAgICAgICAgIG9uOmtleWRvd249e2hhbmRsZUtleWRvd259XG4gICAgICAgICAgICAgIG9uOmNoYW5nZT17aGFuZGxlVGV4dENoYW5nZX0+XG4gICAgICAgICAgey9pZn1cbiAgICAgICAgICB7I2lmICQkc2xvdHNbJ3ZhbHVlJ119XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwicHQtM1wiPjxzbG90IG5hbWU9XCJ2YWx1ZVwiLz48L2Rpdj5cbiAgICAgICAgICB7L2lmfVxuICAgICAgICB7OmVsc2UgaWYgYXN0RWxlbWVudHN9XG4gICAgICAgICAgeyNlYWNoIGFzdEVsZW1lbnRzIGFzIGFzdEVsZW1lbnQsIGlkeH1cbiAgICAgICAgICAgIDxwIG9uOm1vdXNlZW50ZXI9eygpID0+IGhpZ2hsaWdodEFzdEVsZW1lbnQoYXN0RWxlbWVudCl9IG9uOm1vdXNlbGVhdmU9eygpID0+IHVuaGlnaGxpZ2h0QXN0RWxlbWVudCgpfT5cbiAgICAgICAgICAgICAgJmx0O3thc3RFbGVtZW50LnRhZ30mZ3Q7IEVsZW1lbnQgXG4gICAgICAgICAgICAgIDxidXR0b24gXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJiZy1ibHVlLTUwMCBob3ZlcjpiZy1ibHVlLTcwMCB0ZXh0LXdoaXRlIGlubGluZSBoLTUgdy01IGFsaWduLW1pZGRsZVwiXG4gICAgICAgICAgICAgICAgb246Y2xpY2s9eygpID0+IHNlbGVjdChhc3RFbGVtZW50KX0+XG4gICAgICAgICAgICAgICAgPHN2ZyB2aWV3Qm94PVwiMCAwIDI0IDI0XCI+XG4gICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsPVwiY3VycmVudENvbG9yXCIgZD1cIk00LDNINVY1SDNWNEExLDEgMCAwLDEgNCwzTTIwLDNBMSwxIDAgMCwxIDIxLDRWNUgxOVYzSDIwTTE1LDVWM0gxN1Y1SDE1TTExLDVWM0gxM1Y1SDExTTcsNVYzSDlWNUg3TTIxLDIwQTEsMSAwIDAsMSAyMCwyMUgxOVYxOUgyMVYyME0xNSwyMVYxOUgxN1YyMUgxNU0xMSwyMVYxOUgxM1YyMUgxMU03LDIxVjE5SDlWMjFIN000LDIxQTEsMSAwIDAsMSAzLDIwVjE5SDVWMjFINE0zLDE1SDVWMTdIM1YxNU0yMSwxNVYxN0gxOVYxNUgyMU0zLDExSDVWMTNIM1YxMU0yMSwxMVYxM0gxOVYxMUgyMU0zLDdINVY5SDNWN00yMSw3VjlIMTlWN0gyMVpcIj48L3BhdGg+XG4gICAgICAgICAgICAgICAgPC9zdmc+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmctZ3JheS01MDAgaG92ZXI6YmctZ3JheS03MDAgZGlzYWJsZWQ6YmctZ3JheS0zMDAgdGV4dC13aGl0ZSBpbmxpbmUgaC01IHctNSBhbGlnbi1taWRkbGVcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpZHggPT09IDB9XG4gICAgICAgICAgICAgICAgb246Y2xpY2s9eygpID0+IG1vdmVBc3RFbGVtZW50KC0xLCBhc3RFbGVtZW50KX0+XG4gICAgICAgICAgICAgICAg4oaRXG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgICA8YnV0dG9uIFxuICAgICAgICAgICAgICAgIGNsYXNzPVwiYmctZ3JheS01MDAgaG92ZXI6YmctZ3JheS03MDAgZGlzYWJsZWQ6YmctZ3JheS0zMDAgdGV4dC13aGl0ZSBpbmxpbmUgaC01IHctNSBhbGlnbi1taWRkbGVcIlxuICAgICAgICAgICAgICAgIGRpc2FibGVkPXtpZHggPT09IGFzdEVsZW1lbnRzLmxlbmd0aCAtIDF9XG4gICAgICAgICAgICAgICAgb246Y2xpY2s9eygpID0+IG1vdmVBc3RFbGVtZW50KDEsIGFzdEVsZW1lbnQpfT5cbiAgICAgICAgICAgICAgICDihpNcbiAgICAgICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgICA8L3A+XG4gICAgICAgICAgey9lYWNofVxuICAgICAgICB7L2lmfVxuICAgICAgPC9zbG90PlxuICAgIHsvaWZ9XG4gIHsvaWZ9XG48L3NlY3Rpb24+IiwgIjxzY3JpcHQgbGFuZz1cInRzXCI+XG5cdGltcG9ydCBQaWxsIGZyb20gJyRsaWIvY29tcG9uZW50cy9QaWxsLnN2ZWx0ZSc7XG5cdGltcG9ydCBTaWRlYmFyU2VjdGlvbiBmcm9tICckbGliL2NvbXBvbmVudHMvU2lkZWJhclNlY3Rpb24uc3ZlbHRlJztcbiAgaW1wb3J0IHsgY3JlYXRlRXZlbnREaXNwYXRjaGVyIH0gZnJvbSAnc3ZlbHRlJztcblx0aW1wb3J0IHsgZHJhZ2dlZE9iamVjdCB9IGZyb20gJyRsaWIvc3RvcmVzL2RyYWdBbmREcm9wJztcbiAgaW1wb3J0IHsgcGFnZSwgc2VsZWN0ZWRBc3RFbGVtZW50LCBzZWxlY3RlZEFzdEVsZW1lbnRJZCwgZmluZEFzdEVsZW1lbnQsIGlzQXN0RWxlbWVudCB9IGZyb20gJyRsaWIvc3RvcmVzL3BhZ2UnO1xuICBpbXBvcnQgdHlwZSB7IEFzdE5vZGUgfSBmcm9tICckbGliL3R5cGVzJztcbiAgZXhwb3J0IGxldCBsaXZlO1xuXG4gIGNvbnN0IGRpc3BhdGNoID0gY3JlYXRlRXZlbnREaXNwYXRjaGVyKCk7XG5cbiAgbGV0IGNsYXNzTGlzdDogc3RyaW5nW107XG4gICQ6IHtcbiAgICBsZXQgY2xhc3NBdHRyID0gJHNlbGVjdGVkQXN0RWxlbWVudD8uYXR0cnM/LmNsYXNzO1xuICAgIGNsYXNzTGlzdCA9IGNsYXNzQXR0ciA/IGNsYXNzQXR0ci5zcGxpdChcIiBcIikuZmlsdGVyKGUgPT4gZS50cmltKCkubGVuZ3RoID4gMCkgOiBbXVxuICB9XG4gICQ6IGVkaXRhYmxlQXR0cnMgPSBPYmplY3QuZW50cmllcygkc2VsZWN0ZWRBc3RFbGVtZW50Py5hdHRycyB8fCB7fSlcbiAgICAgICAgICAgICAgICAgICAgLmZpbHRlcigoW2ssIF9dKSA9PiBrICE9PSAnY2xhc3MnICYmIGsgIT09ICdzZWxmQ2xvc2UnICYmICEvZGF0YS0vLnRlc3QoaykpXG4gICQ6IHNpZGViYXJUaXRsZSA9ICRzZWxlY3RlZEFzdEVsZW1lbnQ/LnRhZztcbiAgJDogaXNSb290Tm9kZSA9ICEhJHNlbGVjdGVkQXN0RWxlbWVudElkICYmICRzZWxlY3RlZEFzdEVsZW1lbnRJZCA9PT0gJ3Jvb3QnO1xuICAkOiBhdHRyaWJ1dGVzRWRpdGFibGUgPSAkc2VsZWN0ZWRBc3RFbGVtZW50Py50YWcgIT09ICdlZXgnO1xuXG4gIGFzeW5jIGZ1bmN0aW9uIGFkZENsYXNzKHsgZGV0YWlsOiBuZXdDbGFzcyB9OiBDdXN0b21FdmVudDxzdHJpbmc+KSB7XG4gICAgbGV0IG5vZGUgPSAkc2VsZWN0ZWRBc3RFbGVtZW50O1xuICAgIGlmIChub2RlKSB7XG4gICAgICBub2RlLmF0dHJzLmNsYXNzID0gbm9kZS5hdHRycy5jbGFzcyA/IGAke25vZGUuYXR0cnMuY2xhc3N9ICR7bmV3Q2xhc3N9YCA6IG5ld0NsYXNzO1xuICAgICAgbGl2ZS5wdXNoRXZlbnQoXCJ1cGRhdGVfcGFnZV9hc3RcIiwgeyBpZDogJHBhZ2UuaWQsIGFzdDogJHBhZ2UuYXN0IH0pO1xuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIHBhcmVudE5vZGVJZCgpIHtcbiAgICBpZiAoJHNlbGVjdGVkQXN0RWxlbWVudElkKSB7XG4gICAgICBsZXQgcGFydHMgPSAkc2VsZWN0ZWRBc3RFbGVtZW50SWQuc3BsaXQoXCIuXCIpO1xuICAgICAgaWYgKHBhcnRzLmxlbmd0aCA9PT0gMSkgcmV0dXJuICdyb290JztcbiAgICAgIHJldHVybiBwYXJ0cy5zbGljZSgwLCAtMSkuam9pbihcIi5cIilcbiAgICB9XG4gIH1cbiAgZnVuY3Rpb24gc2VsZWN0UGFyZW50Tm9kZSgpIHtcbiAgICBsZXQgcGFyZW50SWQgPSBwYXJlbnROb2RlSWQoKTtcbiAgICBpZiAocGFyZW50SWQpIHtcbiAgICAgICRzZWxlY3RlZEFzdEVsZW1lbnRJZCA9IHBhcmVudElkO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGZ1bmN0aW9uIGRlbGV0ZUNsYXNzKGNsYXNzTmFtZTogc3RyaW5nKSB7XG4gICAgbGV0IG5vZGUgPSAkc2VsZWN0ZWRBc3RFbGVtZW50O1xuICAgIGlmIChub2RlKSB7XG4gICAgICBsZXQgbmV3Q2xhc3MgPSBub2RlLmF0dHJzLmNsYXNzLnNwbGl0KFwiIFwiKS5maWx0ZXIoYyA9PiBjICE9PSBjbGFzc05hbWUpLmpvaW4oXCIgXCIpO1xuICAgICAgbm9kZS5hdHRycy5jbGFzcyA9IG5ld0NsYXNzO1xuICAgICAgbGl2ZS5wdXNoRXZlbnQoXCJ1cGRhdGVfcGFnZV9hc3RcIiwgeyBpZDogJHBhZ2UuaWQsIGFzdDogJHBhZ2UuYXN0IH0pO1xuICAgIH1cbiAgfSAgXG5cbiAgYXN5bmMgZnVuY3Rpb24gdXBkYXRlVGV4dChlOiBDdXN0b21FdmVudDxzdHJpbmc+KSB7XG4gICAgbGV0IG5vZGUgPSAkc2VsZWN0ZWRBc3RFbGVtZW50O1xuICAgIGlmIChub2RlICYmIGlzQXN0RWxlbWVudChub2RlKSkge1xuICAgICAgbm9kZS5jb250ZW50ID0gW2UuZGV0YWlsXVxuICAgICAgbGl2ZS5wdXNoRXZlbnQoXCJ1cGRhdGVfcGFnZV9hc3RcIiwgeyBpZDogJHBhZ2UuaWQsIGFzdDogJHBhZ2UuYXN0IH0pO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGZ1bmN0aW9uIHVwZGF0ZUF0dHJpYnV0ZShhdHRyTmFtZTogc3RyaW5nLCBlOiBDdXN0b21FdmVudDxzdHJpbmc+KSB7XG4gICAgbGV0IG5vZGUgPSAkc2VsZWN0ZWRBc3RFbGVtZW50O1xuICAgIGlmIChub2RlICYmIGlzQXN0RWxlbWVudChub2RlKSkge1xuICAgICAgbm9kZS5hdHRyc1thdHRyTmFtZV0gPSBlLmRldGFpbDtcbiAgICAgIGxpdmUucHVzaEV2ZW50KFwidXBkYXRlX3BhZ2VfYXN0XCIsIHsgaWQ6ICRwYWdlLmlkLCBhc3Q6ICRwYWdlLmFzdCB9KTsgICAgIFxuICAgIH0gICAgXG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBkZWxldGVDb21wb25lbnQoKSB7XG4gICAgbGV0IG5vZGUgPSAkc2VsZWN0ZWRBc3RFbGVtZW50O1xuICAgIGlmICghbm9kZSkgcmV0dXJuO1xuICAgIGlmIChjb25maXJtKCdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgY29tcG9uZW50PycpKSB7XG4gICAgICBsZXQgcGFyZW50SWQgPSBwYXJlbnROb2RlSWQoKTtcbiAgICAgIGxldCBjb250ZW50ID0gKHBhcmVudElkICYmIHBhcmVudElkICE9PSAncm9vdCcpID8gZmluZEFzdEVsZW1lbnQoJHBhZ2UuYXN0LCBwYXJlbnRJZCk/LmNvbnRlbnQgOiAkcGFnZS5hc3Q7XG4gICAgICBpZiAoY29udGVudCkge1xuICAgICAgICBsZXQgdGFyZ2V0SW5kZXggPSAoY29udGVudCBhcyB1bmtub3duW10pLmluZGV4T2Yobm9kZSk7XG4gICAgICAgIGNvbnRlbnQuc3BsaWNlKHRhcmdldEluZGV4LCAxKTtcbiAgICAgICAgJHNlbGVjdGVkQXN0RWxlbWVudElkID0gdW5kZWZpbmVkO1xuICAgICAgICBsaXZlLnB1c2hFdmVudChcInVwZGF0ZV9wYWdlX2FzdFwiLCB7IGlkOiAkcGFnZS5pZCwgYXN0OiAkcGFnZS5hc3QgfSk7XG4gICAgICB9IFxuICAgIH1cbiAgfVxuXG4gIGZ1bmN0aW9uIGRyb3BJbnNpZGUoKSB7XG4gICAgZGlzcGF0Y2goJ2Ryb3BwZWRJbnRvVGFyZ2V0JywgJHNlbGVjdGVkQXN0RWxlbWVudCk7XG4gIH1cblxuICBsZXQgaXNEcmFnZ2luZ092ZXIgPSBmYWxzZTtcbiAgZnVuY3Rpb24gZHJhZ092ZXIoZTogRHJhZ0V2ZW50KXtcbiAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgaXNEcmFnZ2luZ092ZXIgPSB0cnVlO1xuICAgIGlmIChlLmRhdGFUcmFuc2Zlcikge1xuICAgICAgZS5kYXRhVHJhbnNmZXIuZHJvcEVmZmVjdCA9IFwibW92ZVwiO1xuICAgIH1cbiAgfVxuXG4gIGFzeW5jIGZ1bmN0aW9uIGNoYW5nZU5vZGVzKHsgZGV0YWlsOiBub2RlcyB9OiBDdXN0b21FdmVudDxBc3ROb2RlW10+KSB7XG4gICAgaWYgKCRzZWxlY3RlZEFzdEVsZW1lbnRJZCA9PT0gJ3Jvb3QnKSB7XG4gICAgICBsZXQgc2VsZWN0ZWRFbGVtZW50ID0gJHBhZ2U7XG4gICAgICBzZWxlY3RlZEVsZW1lbnQuYXN0ID0gbm9kZXM7XG4gICAgfSBlbHNlIHtcbiAgICAgIGxldCBzZWxlY3RlZEVsZW1lbnQgPSAkc2VsZWN0ZWRBc3RFbGVtZW50O1xuICAgICAgaWYgKCFzZWxlY3RlZEVsZW1lbnQpIHJldHVybjtcbiAgICAgIHNlbGVjdGVkRWxlbWVudC5jb250ZW50ID0gbm9kZXM7XG4gICAgfVxuICAgIGxpdmUucHVzaEV2ZW50KFwidXBkYXRlX3BhZ2VfYXN0XCIsIHsgaWQ6ICRwYWdlLmlkLCBhc3Q6ICRwYWdlLmFzdCB9KTtcbiAgfSAgXG48L3NjcmlwdD5cblxuPGRpdiBjbGFzcz1cInctNjQgYmctd2hpdGVcIiBkYXRhLXRlc3QtaWQ9XCJyaWdodC1zaWRlYmFyXCI+XG4gIDxkaXYgY2xhc3M9XCJzdGlja3kgdG9wLTBcIj5cbiAgICB7I2lmICRzZWxlY3RlZEFzdEVsZW1lbnR9XG4gICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWIgdGV4dC1sZyBmb250LW1lZGl1bSBsZWFkaW5nLTUgcHQtNyBwci03IHBiLTUgcGwtNCByZWxhdGl2ZVwiPlxuICAgICAgICB7c2lkZWJhclRpdGxlfVxuICAgICAgICB7I2lmICFpc1Jvb3ROb2RlfVxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCIgXG4gICAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBweS0zIHRvcC0zIHJpZ2h0LTVcIiBcbiAgICAgICAgICBvbjpjbGljaz17c2VsZWN0UGFyZW50Tm9kZX0+4oawPC9idXR0b24+ICAgICAgXG4gICAgICAgIHsvaWZ9XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCIgXG4gICAgICAgICAgY2xhc3M9XCJhYnNvbHV0ZSBweS0zIHRvcC0zIHJpZ2h0LTFcIiBcbiAgICAgICAgICBvbjpjbGljaz17KCkgPT4gJHNlbGVjdGVkQXN0RWxlbWVudElkID0gdW5kZWZpbmVkfT7DlzwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgICB7I2lmIGF0dHJpYnV0ZXNFZGl0YWJsZX1cbiAgICAgICAgPFNpZGViYXJTZWN0aW9uIGNsZWFyT25VcGRhdGU9e3RydWV9IG9uOnVwZGF0ZT17YWRkQ2xhc3N9IHBsYWNlaG9sZGVyPVwiQWRkIG5ldyBjbGFzc1wiID5cbiAgICAgICAgICA8c3ZlbHRlOmZyYWdtZW50IHNsb3Q9XCJoZWFkaW5nXCI+Q2xhc3Nlczwvc3ZlbHRlOmZyYWdtZW50PlxuICAgICAgICAgIDxzdmVsdGU6ZnJhZ21lbnQgc2xvdD1cInZhbHVlXCI+XG4gICAgICAgICAgICB7I2VhY2ggY2xhc3NMaXN0IGFzIGNsYXNzTmFtZX1cbiAgICAgICAgICAgICAgPFBpbGwgb246ZGVsZXRlPXsoKSA9PiBkZWxldGVDbGFzcyhjbGFzc05hbWUpfT57Y2xhc3NOYW1lfTwvUGlsbD5cbiAgICAgICAgICAgIHsvZWFjaH1cbiAgICAgICAgICA8L3N2ZWx0ZTpmcmFnbWVudD5cbiAgICAgICAgPC9TaWRlYmFyU2VjdGlvbj5cbiAgICAgICAgeyNlYWNoIGVkaXRhYmxlQXR0cnMgYXMgZW50cnkgKGVudHJ5KX1cbiAgICAgICAgICB7QGNvbnN0IFtuYW1lLCB2YWx1ZV0gPSBlbnRyeX1cbiAgICAgICAgICA8U2lkZWJhclNlY3Rpb24gY2xlYXJPblVwZGF0ZT17dHJ1ZX0gdmFsdWU9e3ZhbHVlfSBvbjp0ZXh0Q2hhbmdlPXsoZSkgPT4gdXBkYXRlQXR0cmlidXRlKG5hbWUsIGUpfSBwbGFjZWhvbGRlcj1cIlNldCB7bmFtZX1cIj5cbiAgICAgICAgICAgIDxzdmVsdGU6ZnJhZ21lbnQgc2xvdD1cImhlYWRpbmdcIj57bmFtZX08L3N2ZWx0ZTpmcmFnbWVudD5cbiAgICAgICAgICA8L1NpZGViYXJTZWN0aW9uPlxuICAgICAgICB7L2VhY2h9XG4gICAgICB7L2lmfVxuXG4gICAgICA8ZGl2IGNsYXNzPVwicmVsYXRpdmVcIj5cbiAgICAgICAgeyNpZiAkZHJhZ2dlZE9iamVjdCAmJiAkZHJhZ2dlZE9iamVjdC5jYXRlZ29yeSA9PT0gXCJiYXNpY1wifVxuICAgICAgICAgIDxkaXYgXG4gICAgICAgICAgICBjbGFzcz1cImFic29sdXRlIGgtOCBiZy13aGl0ZSBvcGFjaXR5LTcwIHctZnVsbCBoLWZ1bGwgcC00XCIgXG4gICAgICAgICAgICBjbGFzczpvcGFjaXR5LTkwPXtpc0RyYWdnaW5nT3Zlcn1cbiAgICAgICAgICAgIG9uOmRyb3B8cHJldmVudERlZmF1bHQ9e2Ryb3BJbnNpZGV9IFxuICAgICAgICAgICAgb246ZHJhZ292ZXI9e2RyYWdPdmVyfVxuICAgICAgICAgICAgb246ZHJhZ2xlYXZlPXsoKSA9PiBpc0RyYWdnaW5nT3ZlciA9IGZhbHNlfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZsZXggcm91bmRlZC1sZyBvdXRsaW5lLWRhc2hlZCBvdXRsaW5lLTIgaC1mdWxsIHRleHQtY2VudGVyIGp1c3RpZnktY2VudGVyIGl0ZW1zLWNlbnRlclwiPlxuICAgICAgICAgICAgICBEcm9wIGNvbXBvbmVudHMgaGVyZVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIHsvaWZ9XG4gICAgICAgIHsjaWYgJHNlbGVjdGVkQXN0RWxlbWVudC5jb250ZW50Lmxlbmd0aCA+IDB9XG4gICAgICAgICAgPFNpZGViYXJTZWN0aW9uIFxuICAgICAgICAgICAgYXN0Tm9kZXM9eyRzZWxlY3RlZEFzdEVsZW1lbnQuY29udGVudH1cbiAgICAgICAgICAgIGxhcmdlPXskc2VsZWN0ZWRBc3RFbGVtZW50LnRhZyA9PT0gJ2VleCd9XG4gICAgICAgICAgICBvbjp0ZXh0Q2hhbmdlPXsoZSkgPT4gdXBkYXRlVGV4dChlKX0gXG4gICAgICAgICAgICBvbjpub2Rlc0NoYW5nZT17Y2hhbmdlTm9kZXN9PlxuICAgICAgICAgICAgPHN2ZWx0ZTpmcmFnbWVudCBzbG90PVwiaGVhZGluZ1wiPkNvbnRlbnQ8L3N2ZWx0ZTpmcmFnbWVudD5cbiAgICAgICAgICA8L1NpZGViYXJTZWN0aW9uPlxuICAgICAgICB7L2lmfVxuICAgICAgPC9kaXY+XG4gICAgICBcbiAgICAgIDxTaWRlYmFyU2VjdGlvbiBleHBhbmRlZD17ZmFsc2V9PlxuICAgICAgICA8c3ZlbHRlOmZyYWdtZW50IHNsb3Q9XCJoZWFkaW5nXCI+RGVsZXRlPC9zdmVsdGU6ZnJhZ21lbnQ+XG4gICAgICAgIDxzdmVsdGU6ZnJhZ21lbnQgc2xvdD1cImlucHV0XCI+XG4gICAgICAgICAgPGJ1dHRvbiBcbiAgICAgICAgICAgIG9uOmNsaWNrPXtkZWxldGVDb21wb25lbnR9XG4gICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCIgXG4gICAgICAgICAgICBjbGFzcz1cImJnLXJlZC01MDAgaG92ZXI6YmctcmVkLTcwMCB0ZXh0LXdoaXRlIGZvbnQtYm9sZCBweS0yIHB4LTQgcm91bmRlZCBvdXRsaW5lLWRhc2hlZCBvdXRsaW5lLTIgdy1mdWxsXCI+XG4gICAgICAgICAgICBEZWxldGVcbiAgICAgICAgICA8L2J1dHRvbj5cbiAgICAgICAgPC9zdmVsdGU6ZnJhZ21lbnQ+XG4gICAgICA8L1NpZGViYXJTZWN0aW9uPlxuICAgIHs6ZWxzZX1cbiAgICAgIDxkaXYgY2xhc3M9XCJwdC04XCI+XG4gICAgICAgIFNlbGVjdCBhIGNvbXBvbmVudCB0byBlZGl0IGl0cyBwcm9wZXJ0aWVzXG4gICAgICA8L2Rpdj5cbiAgICB7L2lmfVxuICA8L2Rpdj5cbjwvZGl2PiAgICAiLCAiPHNjcmlwdCBsYW5nPVwidHNcIj5cblx0aW1wb3J0IENvbXBvbmVudHNTaWRlYmFyIGZyb20gXCIuL0NvbXBvbmVudHNTaWRlYmFyLnN2ZWx0ZVwiO1xuXHRpbXBvcnQgQmFja2Ryb3AgZnJvbSBcIi4vQmFja2Ryb3Auc3ZlbHRlXCI7XG5cdGltcG9ydCBQYWdlUHJldmlldyBmcm9tIFwiLi9QYWdlUHJldmlldy5zdmVsdGVcIjtcblx0aW1wb3J0IFByb3BlcnRpZXNTaWRlYmFyIGZyb20gXCIuL1Byb3BlcnRpZXNTaWRlYmFyLnN2ZWx0ZVwiO1xuXHRpbXBvcnQgeyBwYWdlIGFzIHBhZ2VTdG9yZSB9IGZyb20gXCIkbGliL3N0b3Jlcy9wYWdlXCI7XG5cdGltcG9ydCB0eXBlIHsgQ29tcG9uZW50RGVmaW5pdGlvbiwgUGFnZSB9IGZyb20gXCIkbGliL3R5cGVzXCI7XG5cblx0ZXhwb3J0IGxldCBjb21wb25lbnRzOiBDb21wb25lbnREZWZpbml0aW9uW107XG5cdGV4cG9ydCBsZXQgcGFnZTogUGFnZTtcblx0ZXhwb3J0IGxldCBsaXZlO1xuXHQkOiAkcGFnZVN0b3JlID0gcGFnZTtcblxuXHRmdW5jdGlvbiBhZGRCYXNpY0NvbXBvbmVudFRvVGFyZ2V0KGU6IEN1c3RvbUV2ZW50KSB7XG5cdFx0Ly8gVGhpcyBtZXRob2QgaXMgaW4gUGFnZVByZXZpZXcuIFxuXHR9XG48L3NjcmlwdD5cbjxCYWNrZHJvcC8+XG48ZGl2IGNsYXNzPVwiZmxleCBtaW4taC1zY3JlZW4gYmctZ3JheS0xMDBcIiBkYXRhLXRlc3QtaWQ9XCJhcHAtY29udGFpbmVyXCI+XG5cdDwhLS0gTGVmdCBzaWRlYmFyIC0tPlxuXHQ8Q29tcG9uZW50c1NpZGViYXIge2NvbXBvbmVudHN9Lz5cblxuXHQ8IS0tIE1haW4gLS0+XG5cdDxQYWdlUHJldmlldyB7bGl2ZX0gLz5cblxuXHQ8IS0tIFJpZ2h0IHNpZGViYXIgLS0+XG5cdDxQcm9wZXJ0aWVzU2lkZWJhciBcblx0XHR7bGl2ZX1cblx0XHRvbjpkcm9wcGVkSW50b1RhcmdldD17ZSA9PiBhZGRCYXNpY0NvbXBvbmVudFRvVGFyZ2V0KGUuZGV0YWlsKX0vPlxuPC9kaXY+Il0sCiAgIm1hcHBpbmdzIjogIjs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBO0FBQUE7QUFNQSxPQUFDLFNBQVVBLFNBQVFDLFdBQVU7QUFDM0I7QUFHQSxTQUFDLFdBQVk7QUFDWCxjQUFJLFdBQVc7QUFDZixjQUFJLFVBQVUsQ0FBQyxNQUFNLE9BQU8sVUFBVSxHQUFHO0FBQ3pDLG1CQUFTLElBQUksR0FBRyxJQUFJLFFBQVEsVUFBVSxDQUFDRCxRQUFPLHVCQUF1QixFQUFFLEdBQUc7QUFDeEUsWUFBQUEsUUFBTyx3QkFDTEEsUUFBTyxRQUFRLENBQUMsSUFBSSx1QkFBdUI7QUFDN0MsWUFBQUEsUUFBTyx1QkFDTEEsUUFBTyxRQUFRLENBQUMsSUFBSSxzQkFBc0IsS0FDMUNBLFFBQU8sUUFBUSxDQUFDLElBQUksNkJBQTZCO0FBQUEsVUFDckQ7QUFDQSxjQUFJLENBQUNBLFFBQU87QUFDVixZQUFBQSxRQUFPLHdCQUF3QixTQUFVLFVBQVVFLFVBQVM7QUFDMUQsa0JBQUksV0FBVyxJQUFJLEtBQUssRUFBRSxRQUFRO0FBQ2xDLGtCQUFJLGFBQWEsS0FBSyxJQUFJLEdBQUcsTUFBTSxXQUFXLFNBQVM7QUFDdkQsa0JBQUksS0FBS0YsUUFBTyxXQUFXLFdBQVk7QUFDckMseUJBQVMsV0FBVyxVQUFVO0FBQUEsY0FDaEMsR0FBRyxVQUFVO0FBQ2IseUJBQVcsV0FBVztBQUN0QixxQkFBTztBQUFBLFlBQ1Q7QUFDRixjQUFJLENBQUNBLFFBQU87QUFDVixZQUFBQSxRQUFPLHVCQUF1QixTQUFVLElBQUk7QUFDMUMsMkJBQWEsRUFBRTtBQUFBLFlBQ2pCO0FB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SUFDTCxPQUFPO0FBQ0wsWUFBTSxzREFBc0Q7QUFBQSxJQUM5RDtBQUFBLEVBQ0YsQ0FBQztBQUVELE1BQUksYUFDRixTQUFTLGNBQWMsTUFBTSxFQUFFLGFBQWEsWUFBWSxLQUFLO0FBQy9ELE1BQUksWUFBWSxTQUNiLGNBQWMseUJBQXlCLEVBQ3ZDLGFBQWEsU0FBUztBQUN6QixNQUFJLGFBQWEsSUFBSSxTQUFTLFdBQVcsWUFBWSxRQUFRLFFBQVE7QUFBQSxJQUNuRSxPQUFPLEVBQUUsR0FBRyxTQUFTLFNBQVUsR0FBRyxHQUFHLE1BQU07QUFBQSxJQUMzQyxRQUFRLEVBQUUsYUFBYSxVQUFVO0FBQUEsRUFDbkMsQ0FBQztBQUNELGFBQVcsUUFBUTtBQUNuQixTQUFPLGFBQWE7IiwKICAibmFtZXMiOiBbIndpbmRvdyIsICJkb2N1bWVudCIsICJlbGVtZW50IiwgInRvcGJhciIsICJsb29wIiwgIl9kZWZpbmVQcm9wZXJ0eSIsICJvd25LZXlzIiwgIl9vYmplY3RTcHJlYWQyIiwgImVycm9yTWVzc2FnZXMiLCAidXBkYXRlIiwgImdldFN0YXRlIiwgInN0YXRlIiwgInNldFN0YXRlIiwgImN1cnJ5IiwgImlzT2JqZWN0IiwgImNvbmZpZyIsICJlcnJvckhhbmRsZXIiLCAidGhyb3dFcnJvciIsICJ2YWxpZGF0b3JzIiwgImNvbXBvc2UiLCAicHJvbWlzZSIsICJjb25maWd1cmVMb2FkZXIiLCAicmVxdWlyZSIsICJjb2xvcnMiLCAiaW5kZXgiLCAiZWxlbWVudCIsICJub29wIiwgImVsZW1lbnQiLCAiZmlsZSIsICJub29wIiwgIm5vb3AiLCAibm9vcCIsICJub3ciLCAiZWxlbWVudCIsICJjaGlsZHJlbiIsICJpbnNlcnQiLCAiZGV0YWNoIiwgImVsZW1lbnQiLCAidGV4dCIsICJkZXRhY2giLCAiZWxlbWVudCIsICJpbnNlcnQiLCAiZGV0YWNoIiwgImVsZW1lbnQiLCAiaGFzaCIsICJydWxlcyIsICJkZXRhY2giLCAiZGV0YWNoIiwgImNvbmZpZyIsICJpbml0IiwgInRpY2siLCAibm9vcCIsICJub3ciLCAiY3JlYXRlX2VhY2hfYmxvY2siLCAiaW5zZXJ0IiwgInVwZGF0ZSIsICJpbml0IiwgImluc3RhbmNlIiwgImNyZWF0ZV9mcmFnbWVudCIsICJhcHBlbmRfc3R5bGVzIiwgIm5vb3AiLCAiZGV0YWNoIiwgImNyZWF0ZV9zbG90IiwgImNyZWF0ZSIsICJpbnNlcnQiLCAiYXR0ciIsICJub29wIiwgImluZGV4IiwgImRldGFjaCIsICJ0ZXh0IiwgIm5vb3AiLCAidXBkYXRlIiwgInN1YnNjcmliZSIsICJydW4iLCAiY3R4IiwgImN0eCIsICJwYWdlIiwgIl9kZWZpbmVQcm9wZXJ0eSIsICJvd25LZXlzIiwgIl9vYmplY3RTcHJlYWQyIiwgIl9vYmplY3RXaXRob3V0UHJvcGVydGllc0xvb3NlIiwgIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsICJfc2xpY2VkVG9BcnJheSIsICJfYXJyYXlXaXRoSG9sZXMiLCAiX2l0ZXJhYmxlVG9BcnJheUxpbWl0IiwgIl91bnN1cHBvcnRlZEl0ZXJhYmxlVG9BcnJheSIsICJfbm9uSXRlcmFibGVSZXN0IiwgIl9hcnJheUxpa2VUb0FycmF5IiwgIl9kZWZpbmVQcm9wZXJ0eSIsICJvd25LZXlzIiwgIl9vYmplY3RTcHJlYWQyIiwgImNvbXBvc2UiLCAiY3VycnkiLCAiaXNPYmplY3QiLCAiaXNFbXB0eSIsICJpc0Z1bmN0aW9uIiwgImhhc093blByb3BlcnR5IiwgInZhbGlkYXRlQ2hhbmdlcyIsICJlcnJvckhhbmRsZXIiLCAidmFsaWRhdGVTZWxlY3RvciIsICJ2YWxpZGF0ZUhhbmRsZXIiLCAidmFsaWRhdGVJbml0aWFsIiwgInRocm93RXJyb3IiLCAiZXJyb3JNZXNzYWdlcyIsICJ2YWxpZGF0b3JzIiwgImNyZWF0ZSIsICJkaWRTdGF0ZVVwZGF0ZSIsICJ1cGRhdGUiLCAidXBkYXRlU3RhdGUiLCAiZXh0cmFjdENoYW5nZXMiLCAiZ2V0U3RhdGUiLCAic3RhdGUiLCAic2V0U3RhdGUiLCAiaW5kZXgiLCAic3RhdGVfbG9jYWxfZGVmYXVsdCIsICJjb25maWciLCAiY29uZmlnX2RlZmF1bHQiLCAiY3VycnkiLCAiY3VycnlfZGVmYXVsdCIsICJpc09iamVjdCIsICJpc09iamVjdF9kZWZhdWx0IiwgInZhbGlkYXRlQ29uZmlnIiwgImNvbmZpZyIsICJlcnJvckhhbmRsZXIiLCAiaXNPYmplY3RfZGVmYXVsdCIsICJpbmZvcm1BYm91dERlcHJlY2F0aW9uIiwgImVycm9yTWVzc2FnZXMiLCAidGhyb3dFcnJvciIsICJjdXJyeV9kZWZhdWx0IiwgInZhbGlkYXRvcnMiLCAidmFsaWRhdG9yc19kZWZhdWx0IiwgImNvbXBvc2UiLCAiY29tcG9zZV9kZWZhdWx0IiwgIm1lcmdlIiwgIl9vYmplY3RTcHJlYWQyIiwgImRlZXBNZXJnZV9kZWZhdWx0IiwgIkNBTkNFTEFUSU9OX01FU1NBR0UiLCAibWFrZUNhbmNlbGFibGUiLCAicHJvbWlzZSIsICJtYWtlQ2FuY2VsYWJsZV9kZWZhdWx0IiwgIl9zdGF0ZSRjcmVhdGUiLCAic3RhdGVfbG9jYWxfZGVmYXVsdCIsICJjb25maWdfZGVmYXVsdCIsICJfc3RhdGUkY3JlYXRlMiIsICJfc2xpY2VkVG9BcnJheSIsICJnZXRTdGF0ZSIsICJzZXRTdGF0ZSIsICJjb25maWciLCAidmFsaWRhdG9yc19kZWZhdWx0IiwgIl9vYmplY3RXaXRob3V0UHJvcGVydGllcyIsICJkZWVwTWVyZ2VfZGVmYXVsdCIsICJpbml0IiwgIm1ha2VDYW5jZWxhYmxlX2RlZmF1bHQiLCAid3JhcHBlclByb21pc2UiLCAic3RvcmVNb25hY29JbnN0YW5jZSIsICJjb21wb3NlX2RlZmF1bHQiLCAiaW5qZWN0U2NyaXB0cyIsICJnZXRNb25hY29Mb2FkZXJTY3JpcHQiLCAiY29uZmlndXJlTG9hZGVyIiwgImNyZWF0ZVNjcmlwdCIsICJyZXF1aXJlIiwgIl9fZ2V0TW9uYWNvSW5zdGFuY2UiLCAibG9hZGVyIiwgImxvYWRlcl9kZWZhdWx0IiwgImN0eCIsICJjcmVhdGVfaWZfYmxvY2siLCAiY3R4IiwgImN0eCIsICJjcmVhdGVfZHluYW1pY19lbGVtZW50XzEiLCAiY3JlYXRlX2R5bmFtaWNfZWxlbWVudCIsICJjdHgiLCAiZGlzcGF0Y2giLCAiY3R4IiwgImNyZWF0ZV9pZl9ibG9ja180IiwgImNyZWF0ZV9pZl9ibG9ja18zIiwgImNyZWF0ZV9pZl9ibG9ja180IiwgImNyZWF0ZV9pZl9ibG9ja18zIiwgImNyZWF0ZV9pZl9ibG9ja18yIiwgImNyZWF0ZV9pZl9ibG9ja18xIiwgImN0eCIsICJ0b3BiYXIiXQp9Cg== From a810f736ddaab1366bbf280467d75492a9e53459 Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Thu, 8 Feb 2024 11:01:51 -0500 Subject: [PATCH 051/141] remove commented code and mix format --- dev.exs | 1 - .../live_admin/live/page_editor_live/form_component.ex | 8 ++++++-- mix.exs | 4 ---- 3 files changed, 6 insertions(+), 7 deletions(-) diff --git a/dev.exs b/dev.exs index 840f4128..572a3a85 100644 --- a/dev.exs +++ b/dev.exs @@ -19,7 +19,6 @@ Application.put_env(:beacon_live_admin, DemoWeb.Endpoint, check_origin: false, pubsub_server: Demo.PubSub, watchers: [ - # esbuild: {Esbuild, :install_and_run, [:cdn_min, ~w(--watch)]}, tailwind: {Tailwind, :install_and_run, [:default, ~w(--watch)]}, node: ["build.js", "--watch", cd: Path.expand("./assets", __DIR__)] ], diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index eb4b17c2..9746dfa0 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -228,7 +228,6 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do @spec render(any()) :: Phoenix.LiveView.Rendered.t() def render(assigns) do ~H""" -
    @@ -271,7 +270,12 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do <%= if @language == "html" do %> - <.svelte name="components/UiBuilder" class={svelte_page_builder_class(@editor)} props={%{components: @components, page: @builder_page, styles: compile_stylesheet(@form, @editor)}} socket={@socket} /> + <.svelte + name="components/UiBuilder" + class={svelte_page_builder_class(@editor)} + props={%{components: @components, page: @builder_page, styles: compile_stylesheet(@form, @editor)}} + socket={@socket} + /> <% end %>
    Date: Thu, 8 Feb 2024 14:44:19 -0500 Subject: [PATCH 052/141] deps.get --- mix.lock | 1 + 1 file changed, 1 insertion(+) diff --git a/mix.lock b/mix.lock index 875f9da7..641441e9 100644 --- a/mix.lock +++ b/mix.lock @@ -29,6 +29,7 @@ "mime": {:hex, :mime, "2.0.5", "dc34c8efd439abe6ae0343edbb8556f4d63f178594894720607772a041b04b02", [:mix], [], "hexpm", "da0d64a365c45bc9935cc5c8a7fc5e49a0e0f9932a761c55d6c52b142780a05c"}, "mix_test_watch": {:hex, :mix_test_watch, "1.1.0", "330bb91c8ed271fe408c42d07e0773340a7938d8a0d281d57a14243eae9dc8c3", [:mix], [{:file_system, "~> 0.2.1 or ~> 0.3", [hex: :file_system, repo: "hexpm", optional: false]}], "hexpm", "52b6b1c476cbb70fd899ca5394506482f12e5f6b0d6acff9df95c7f1e0812ec3"}, "nimble_parsec": {:hex, :nimble_parsec, "1.3.1", "2c54013ecf170e249e9291ed0a62e5832f70a476c61da16f6aac6dca0189f2af", [:mix], [], "hexpm", "2682e3c0b2eb58d90c6375fc0cc30bc7be06f365bf72608804fb9cffa5e1b167"}, + "nodejs": {:hex, :nodejs, "2.0.0", "9a00d00eabf84ba7a04269de46863e0f87bdf6bc488d5a20972b38ade9012764", [:mix], [{:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: false]}, {:poolboy, "~> 1.5.1", [hex: :poolboy, repo: "hexpm", optional: false]}], "hexpm", "3a03df7dbfba435223b4534fbf276db8be5287fbf83c828f2749bf1ffe73e930"}, "phoenix": {:hex, :phoenix, "1.7.11", "1d88fc6b05ab0c735b250932c4e6e33bfa1c186f76dcf623d8dd52f07d6379c7", [:mix], [{:castore, ">= 0.0.0", [hex: :castore, repo: "hexpm", optional: false]}, {:jason, "~> 1.0", [hex: :jason, repo: "hexpm", optional: true]}, {:phoenix_pubsub, "~> 2.1", [hex: :phoenix_pubsub, repo: "hexpm", optional: false]}, {:phoenix_template, "~> 1.0", [hex: :phoenix_template, repo: "hexpm", optional: false]}, {:phoenix_view, "~> 2.0", [hex: :phoenix_view, repo: "hexpm", optional: true]}, {:plug, "~> 1.14", [hex: :plug, repo: "hexpm", optional: false]}, {:plug_cowboy, "~> 2.7", [hex: :plug_cowboy, repo: "hexpm", optional: true]}, {:plug_crypto, "~> 1.2 or ~> 2.0", [hex: :plug_crypto, repo: "hexpm", optional: false]}, {:telemetry, "~> 0.4 or ~> 1.0", [hex: :telemetry, repo: "hexpm", optional: false]}, {:websock_adapter, "~> 0.5.3", [hex: :websock_adapter, repo: "hexpm", optional: false]}], "hexpm", "b1ec57f2e40316b306708fe59b92a16b9f6f4bf50ccfa41aa8c7feb79e0ec02a"}, "phoenix_ecto": {:hex, :phoenix_ecto, "4.4.2", "b21bd01fdeffcfe2fab49e4942aa938b6d3e89e93a480d4aee58085560a0bc0d", [:mix], [{:ecto, "~> 3.5", [hex: :ecto, repo: "hexpm", optional: false]}, {:phoenix_html, "~> 2.14.2 or ~> 3.0", [hex: :phoenix_html, repo: "hexpm", optional: true]}, {:plug, "~> 1.9", [hex: :plug, repo: "hexpm", optional: false]}], "hexpm", "70242edd4601d50b69273b057ecf7b684644c19ee750989fd555625ae4ce8f5d"}, "phoenix_html": {:hex, :phoenix_html, "3.3.3", "380b8fb45912b5638d2f1d925a3771b4516b9a78587249cabe394e0a5d579dc9", [:mix], [{:plug, "~> 1.5", [hex: :plug, repo: "hexpm", optional: true]}], "hexpm", "923ebe6fec6e2e3b3e569dfbdc6560de932cd54b000ada0208b5f45024bdd76c"}, From d6c2dfbc972542bda008733fd991abfc0bbb0b0f Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Thu, 8 Feb 2024 14:58:10 -0500 Subject: [PATCH 053/141] mix setup --- assets/package-lock.json | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/assets/package-lock.json b/assets/package-lock.json index ea619908..9a1bee2f 100644 --- a/assets/package-lock.json +++ b/assets/package-lock.json @@ -34,15 +34,18 @@ } }, "../deps/phoenix": { - "version": "1.7.10", + "version": "1.7.11", "license": "MIT" }, "../deps/phoenix_html": { "version": "3.3.3" }, "../deps/phoenix_live_view": { - "version": "0.20.1", - "license": "MIT" + "version": "0.20.5", + "license": "MIT", + "devDependencies": { + "@playwright/test": "^1.41.0" + } }, "node_modules/@aashutoshrathi/word-wrap": { "version": "1.2.6", From 93b545af257ed9ee9c26fef0208ae3da40580098 Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Thu, 8 Feb 2024 14:58:37 -0500 Subject: [PATCH 054/141] mix setup - remove duplicated step --- mix.exs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mix.exs b/mix.exs index 0c2004c8..80917cc0 100644 --- a/mix.exs +++ b/mix.exs @@ -81,7 +81,7 @@ defmodule Beacon.LiveAdmin.MixProject do defp aliases do [ - setup: ["deps.get", "assets.setup", "assets.build", "cmd --cd assets npm install"], + setup: ["deps.get", "assets.setup", "assets.build"], "format.all": ["format", "cmd npm run format --prefix ./assets"], dev: "run --no-halt dev.exs", "assets.setup": [ From 2f5640bb90b80e18ad302041ca18ad9b27446f5c Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Thu, 8 Feb 2024 15:07:49 -0500 Subject: [PATCH 055/141] fix svelte component loading --- .../live/page_editor_live/form_component.ex | 19 ++++++++----------- 1 file changed, 8 insertions(+), 11 deletions(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index 9746dfa0..58020203 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -234,9 +234,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do <.header> <%= @page_title %> <:actions> - <%= if @language == "html" do %> - <.button :if={@editor == "code"} type="button" phx-click="enable_editor" phx-value-editor="visual" class="uppercase">Visual Editor - <% end %> + <.button :if={@editor == "code" && @page.format == :heex} type="button" phx-click="enable_editor" phx-value-editor="visual" class="uppercase">Visual Editor <.button :if={@editor == "visual"} type="button" phx-click="enable_editor" phx-value-editor="code" class="uppercase">Code Editor <.button :if={@live_action == :new} phx-disable-with="Saving..." form="page-form" class="uppercase">Create Draft Page <.button :if={@live_action == :edit} phx-disable-with="Saving..." form="page-form" class="uppercase">Save Changes @@ -269,14 +267,13 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do
    - <%= if @language == "html" do %> - <.svelte - name="components/UiBuilder" - class={svelte_page_builder_class(@editor)} - props={%{components: @components, page: @builder_page, styles: compile_stylesheet(@form, @editor)}} - socket={@socket} - /> - <% end %> + <.svelte + :if={@editor == "visual"} + name="components/UiBuilder" + class={svelte_page_builder_class(@editor)} + props={%{components: @components, page: @builder_page, styles: compile_stylesheet(@form, @editor)}} + socket={@socket} + />
    Date: Thu, 8 Feb 2024 18:24:38 -0500 Subject: [PATCH 056/141] load site stylesheet from cache --- lib/beacon/live_admin/components/layouts.ex | 2 ++ .../live/page_editor_live/form_component.ex | 13 +++++++------ lib/beacon/live_admin/runtime_css.ex | 4 ++++ 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/lib/beacon/live_admin/components/layouts.ex b/lib/beacon/live_admin/components/layouts.ex index 69e6b60e..e6765a3b 100644 --- a/lib/beacon/live_admin/components/layouts.ex +++ b/lib/beacon/live_admin/components/layouts.ex @@ -14,6 +14,8 @@ defmodule Beacon.LiveAdmin.Layouts do Phoenix.VerifiedRoutes.unverified_path(conn_or_socket, router(conn_or_socket), path) end + def site_stylesheet(site), do: Beacon.LiveAdmin.RuntimeCSS.fetch(site, :uncompressed) + def page_stylesheet(site, template) do case Beacon.LiveAdmin.RuntimeCSS.compile(site, template) do {:ok, stylesheet} -> diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index 58020203..8026a3de 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -209,14 +209,15 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do defp compile_stylesheet(%{source: %Changeset{} = changeset}, "visual" = _editor) do site = Changeset.get_field(changeset, :site) - template = - List.to_string([ - Map.get(Changeset.get_field(changeset, :layout, %{}), :template, ""), - "\n", + site_stylesheet = Beacon.LiveAdmin.Layouts.site_stylesheet(site) + + page_stylesheet = + Beacon.LiveAdmin.Layouts.page_stylesheet( + site, Changeset.get_field(changeset, :template) || "" - ]) + ) - Beacon.LiveAdmin.Layouts.page_stylesheet(site, template) + site_stylesheet <> "\n" <> page_stylesheet end defp compile_stylesheet(_, _), do: "" diff --git a/lib/beacon/live_admin/runtime_css.ex b/lib/beacon/live_admin/runtime_css.ex index 0cd7bac5..b3ffa509 100644 --- a/lib/beacon/live_admin/runtime_css.ex +++ b/lib/beacon/live_admin/runtime_css.ex @@ -4,4 +4,8 @@ defmodule Beacon.LiveAdmin.RuntimeCSS do def compile(site, template) when is_atom(site) and is_binary(template) do call(site, Beacon.RuntimeCSS, :compile, [site, template]) end + + def fetch(site, version) when is_atom(site) do + call(site, Beacon.RuntimeCSS, :fetch, [site, version]) + end end From dbc605a88f8063075cde116764ce3f28746dfe6f Mon Sep 17 00:00:00 2001 From: Leandro Pereira Date: Thu, 8 Feb 2024 18:48:14 -0500 Subject: [PATCH 057/141] add site stylesheet store --- assets/svelte/components/PageWrapper.svelte | 32 ++++++++++++------- assets/svelte/components/UiBuilder.svelte | 15 +++++---- .../stores/{styles.ts => pageStylesheet.ts} | 3 +- assets/svelte/stores/siteStylesheet.ts | 4 +++ .../live/page_editor_live/form_component.ex | 22 +++++++------ 5 files changed, 47 insertions(+), 29 deletions(-) rename assets/svelte/stores/{styles.ts => pageStylesheet.ts} (58%) create mode 100644 assets/svelte/stores/siteStylesheet.ts diff --git a/assets/svelte/components/PageWrapper.svelte b/assets/svelte/components/PageWrapper.svelte index 184febe3..86c1bc75 100644 --- a/assets/svelte/components/PageWrapper.svelte +++ b/assets/svelte/components/PageWrapper.svelte @@ -5,19 +5,29 @@ import PageAstNode from './PageAstNode.svelte'; import { selectedAstElementId } from "$lib/stores/page"; import { page } from "$lib/stores/page"; - import { styles as stylesStore } from "$lib/stores/styles"; - let span: HTMLSpanElement; + import { pageStylesheet as pageStylesheetStore } from "$lib/stores/pageStylesheet"; + import { siteStylesheet as siteStylesheetStore } from "$lib/stores/siteStylesheet"; + let spanSiteStylesheet: HTMLSpanElement; + let spanPageStylesheet: HTMLSpanElement; $: { - if (span) { - span.innerHTML = ''; + if (spanSiteStylesheet) { + spanSiteStylesheet.innerHTML = ''; let styleEl = document.createElement('style'); - styleEl.innerHTML = $stylesStore; - span.append(styleEl); + styleEl.innerHTML = $siteStylesheetStore; + spanSiteStylesheet.append(styleEl); + } + + if (spanPageStylesheet) { + spanPageStylesheet.innerHTML = ''; + let styleEl = document.createElement('style'); + styleEl.innerHTML = $pageStylesheetStore; + spanPageStylesheet.append(styleEl); } } - + + {#each $page.layout.ast as layoutAstNode} @@ -29,8 +39,8 @@ \ No newline at end of file + outline-style: dashed; + } + diff --git a/assets/svelte/components/UiBuilder.svelte b/assets/svelte/components/UiBuilder.svelte index 8f30cfa4..b4db0b03 100644 --- a/assets/svelte/components/UiBuilder.svelte +++ b/assets/svelte/components/UiBuilder.svelte @@ -4,18 +4,21 @@ import PagePreview from "./PagePreview.svelte"; import PropertiesSidebar from "./PropertiesSidebar.svelte"; import { page as pageStore } from "$lib/stores/page"; - import { styles as stylesStore } from "$lib/stores/styles"; + import { pageStylesheet as pageStylesheetStore } from "$lib/stores/pageStylesheet"; + import { siteStylesheet as siteStylesheetStore } from "$lib/stores/siteStylesheet"; import type { ComponentDefinition, Page } from "$lib/types"; export let components: ComponentDefinition[]; export let page: Page; - export let styles: string; + export let pageStylesheet: string; + export let siteStylesheet: string; export let live; $: $pageStore = page; - $: $stylesStore = styles; + $: $pageStylesheetStore = pageStylesheet; + $: $siteStylesheetStore = siteStylesheet; function addBasicComponentToTarget(e: CustomEvent) { - // This method is in PagePreview. + // This method is in PagePreview. } @@ -27,7 +30,7 @@ - addBasicComponentToTarget(e.detail)}/> -
    \ No newline at end of file +
    diff --git a/assets/svelte/stores/styles.ts b/assets/svelte/stores/pageStylesheet.ts similarity index 58% rename from assets/svelte/stores/styles.ts rename to assets/svelte/stores/pageStylesheet.ts index 1fa95686..70e10087 100644 --- a/assets/svelte/stores/styles.ts +++ b/assets/svelte/stores/pageStylesheet.ts @@ -1,5 +1,4 @@ import { writable } from 'svelte/store'; import type { Writable } from 'svelte/store'; - -export const styles: Writable = writable(null) +export const pageStylesheet: Writable = writable(null) diff --git a/assets/svelte/stores/siteStylesheet.ts b/assets/svelte/stores/siteStylesheet.ts new file mode 100644 index 00000000..bd1c2667 --- /dev/null +++ b/assets/svelte/stores/siteStylesheet.ts @@ -0,0 +1,4 @@ +import { writable } from 'svelte/store'; +import type { Writable } from 'svelte/store'; + +export const siteStylesheet: Writable = writable(null) diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index 8026a3de..dd3f6024 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -206,21 +206,23 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do {:safe, html} end - defp compile_stylesheet(%{source: %Changeset{} = changeset}, "visual" = _editor) do + defp compile_page_stylesheet(%{source: %Changeset{} = changeset}, "visual" = _editor) do site = Changeset.get_field(changeset, :site) - site_stylesheet = Beacon.LiveAdmin.Layouts.site_stylesheet(site) + Beacon.LiveAdmin.Layouts.page_stylesheet( + site, + Changeset.get_field(changeset, :template) || "" + ) + end - page_stylesheet = - Beacon.LiveAdmin.Layouts.page_stylesheet( - site, - Changeset.get_field(changeset, :template) || "" - ) + defp compile_page_stylesheet(_, _), do: "" - site_stylesheet <> "\n" <> page_stylesheet + defp site_stylesheet(%{source: %Changeset{} = changeset}, "visual" = _editor) do + site = Changeset.get_field(changeset, :site) + Beacon.LiveAdmin.Layouts.site_stylesheet(site) end - defp compile_stylesheet(_, _), do: "" + defp site_stylesheet(_, _), do: "" defp svelte_page_builder_class("code" = _editor), do: "hidden" defp svelte_page_builder_class("visual" = _editor), do: "relative overflow-x-hidden" @@ -272,7 +274,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do :if={@editor == "visual"} name="components/UiBuilder" class={svelte_page_builder_class(@editor)} - props={%{components: @components, page: @builder_page, styles: compile_stylesheet(@form, @editor)}} + props={%{components: @components, page: @builder_page, pageStylesheet: compile_page_stylesheet(@form, @editor), siteStylesheet: site_stylesheet(@form, @editor)}} socket={@socket} /> From 3ee4779b9cc089d284301fc1a05aae13528da229 Mon Sep 17 00:00:00 2001 From: Diana Le Date: Fri, 9 Feb 2024 15:20:18 -0600 Subject: [PATCH 058/141] Style Components sidebar menu --- assets/css/beacon_live_admin.css | 2 +- assets/svelte/components/BrowserFrame.svelte | 8 +- .../components/ComponentsSidebar.svelte | 24 +- assets/svelte/components/PagePreview.svelte | 2 +- .../live/page_editor_live/form_component.ex | 2 +- priv/static/beacon_live_admin.js | 362 +++++++++++------- priv/static/beacon_live_admin.min.css | 4 +- priv/static/beacon_live_admin.min.css.map | 2 +- 8 files changed, 244 insertions(+), 162 deletions(-) diff --git a/assets/css/beacon_live_admin.css b/assets/css/beacon_live_admin.css index 923b2848..11232c7a 100644 --- a/assets/css/beacon_live_admin.css +++ b/assets/css/beacon_live_admin.css @@ -2,4 +2,4 @@ @import "tailwindcss/components"; @import "tailwindcss/utilities"; @import "../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css"; -@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap"); +@import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;600;700;800&display=swap"); diff --git a/assets/svelte/components/BrowserFrame.svelte b/assets/svelte/components/BrowserFrame.svelte index eb003f4a..14df5e51 100644 --- a/assets/svelte/components/BrowserFrame.svelte +++ b/assets/svelte/components/BrowserFrame.svelte @@ -13,13 +13,13 @@
    -
    - +
    + - +
    -
    +
    {getPageName(page)}
    diff --git a/assets/svelte/components/ComponentsSidebar.svelte b/assets/svelte/components/ComponentsSidebar.svelte index 4a9d56a9..2794e7db 100644 --- a/assets/svelte/components/ComponentsSidebar.svelte +++ b/assets/svelte/components/ComponentsSidebar.svelte @@ -63,19 +63,19 @@ -

    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 literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin.min.css b/priv/static/beacon_live_admin.min.css index c28f9ea8..1ecc9a3a 100644 --- a/priv/static/beacon_live_admin.min.css +++ b/priv/static/beacon_live_admin.min.css @@ -1,3 +1,3 @@ @import url("https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap"); -/*! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:Plus Jakarta Sans,sans-serif,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=checkbox]:indeterminate,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:#0000}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:#0000}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.hero-arrow-left-solid{--hero-arrow-left-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-arrow-left-solid);mask:var(--hero-arrow-left-solid)}.hero-arrow-left-solid,.hero-arrow-path{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-arrow-path{--hero-arrow-path:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-arrow-path);mask:var(--hero-arrow-path)}.hero-clipboard-document-check-solid{--hero-clipboard-document-check-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-clipboard-document-check-solid);mask:var(--hero-clipboard-document-check-solid)}.hero-clipboard-document-check-solid,.hero-document-plus-solid{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-document-plus-solid{--hero-document-plus-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-document-plus-solid);mask:var(--hero-document-plus-solid)}.hero-exclamation-circle-mini{--hero-exclamation-circle-mini:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-exclamation-circle-mini);mask:var(--hero-exclamation-circle-mini)}.hero-exclamation-circle-mini,.hero-eye{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-eye{--hero-eye:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-eye);mask:var(--hero-eye)}.hero-eye-solid{--hero-eye-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-eye-solid);mask:var(--hero-eye-solid)}.hero-eye-solid,.hero-information-circle-mini{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-information-circle-mini{--hero-information-circle-mini:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-information-circle-mini);mask:var(--hero-information-circle-mini)}.hero-pencil-square{--hero-pencil-square:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-pencil-square);mask:var(--hero-pencil-square)}.hero-pencil-square,.hero-trash{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-trash{--hero-trash:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-trash);mask:var(--hero-trash)}.hero-x-mark-solid{--hero-x-mark-solid:url('data:image/svg+xml;utf8,');background-color:currentColor;display:inline-block;height:1.25rem;-webkit-mask:var(--hero-x-mark-solid);mask:var(--hero-x-mark-solid);vertical-align:middle;width:1.25rem}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.-inset-y-px{bottom:-1px;top:-1px}.-left-3{left:-.75rem}.-left-4{left:-1rem}.-left-5{left:-1.25rem}.-right-3{right:-.75rem}.-right-4{right:-1rem}.-top-10{top:-2.5rem}.left-0{left:0}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-5{right:1.25rem}.top-1{top:.25rem}.top-2{top:.5rem}.top-6{top:1.5rem}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.-m-3{margin:-.75rem}.m-8{margin:2rem}.-my-4{margin-bottom:-1rem;margin-top:-1rem}.mx-auto{margin-left:auto;margin-right:auto}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-11{margin-top:2.75rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.line-clamp-1{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-10{height:2.5rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-\[calc\(100vh_-_170px\)\]{height:calc(100vh - 170px)}.h-\[calc\(100vh_-_206px\)\]{height:calc(100vh - 206px)}.h-\[calc\(100vh_-_210px\)\]{height:calc(100vh - 210px)}.h-\[calc\(100vh_-_223px\)\]{height:calc(100vh - 223px)}.h-\[calc\(100vh_-_60px\)\]{height:calc(100vh - 60px)}.h-full{height:100%}.max-h-60{max-height:15rem}.min-h-\[6rem\]{min-height:6rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-6{width:1.5rem}.w-7{width:1.75rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-\[40rem\]{width:40rem}.w-full{width:100%}.min-w-\[150px\]{min-width:150px}.max-w-3xl{max-width:48rem}.max-w-\[76px\]{max-width:76px}.max-w-screen-xl{max-width:1280px}.flex-1{flex:1 1 0%}.flex-none{flex:none}.shrink-0{flex-shrink:0}.-translate-y-2{--tw-translate-y:-0.5rem}.-translate-y-2,.translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-0{--tw-translate-y:0px}.translate-y-4{--tw-translate-y:1rem}.transform,.translate-y-4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.grid-flow-col{grid-auto-flow:column}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-8{row-gap:2rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-zinc-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(244 244 245/var(--tw-divide-opacity))}.justify-self-end{justify-self:end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[1\.25rem\]{border-radius:1.25rem}.rounded-\[20px\]{border-radius:20px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-t-\[1\.25rem\]{border-top-left-radius:1.25rem;border-top-right-radius:1.25rem}.rounded-t-\[20px\]{border-top-left-radius:20px;border-top-right-radius:20px}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.border{border-width:1px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-t{border-top-width:1px}.border-dashed{border-style:dashed}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-900\/25{border-color:#11182740}.border-rose-400{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity))}.border-transparent{border-color:#0000}.border-zinc-200{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity))}.border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.bg-\[\#0D1829\]{--tw-bg-opacity:1;background-color:rgb(13 24 41/var(--tw-bg-opacity))}.bg-\[\#F0F5F9\]{--tw-bg-opacity:1;background-color:rgb(240 245 249/var(--tw-bg-opacity))}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-zinc-50\/90{background-color:#fafafae6}.bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity))}.fill-cyan-900{fill:#164e63}.fill-rose-900{fill:#881337}.p-0{padding:0}.p-14{padding:3.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-\[22px\]{padding-left:22px;padding-right:22px}.py-0{padding-bottom:0;padding-top:0}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-4{padding-bottom:1rem}.pl-0{padding-left:0}.pl-6{padding-left:1.5rem}.pr-6{padding-right:1.5rem}.pt-0{padding-top:0}.pt-10{padding-top:2.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-4{padding-top:1rem}.pt-7{padding-top:1.75rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.font-sans{font-family:Plus Jakarta Sans,sans-serif,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-lg\/6{font-size:1.125rem;line-height:1.5rem}.text-sm,.text-sm\/5{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-8{line-height:2rem}.tracking-\[1\.68px\]{letter-spacing:1.68px}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.\!text-red-500{--tw-text-opacity:1!important;color:rgb(239 68 68/var(--tw-text-opacity))!important}.text-\[\#030913\]{--tw-text-opacity:1;color:rgb(3 9 19/var(--tw-text-opacity))}.text-\[\#111625\]{--tw-text-opacity:1;color:rgb(17 22 37/var(--tw-text-opacity))}.text-\[\#304254\]{--tw-text-opacity:1;color:rgb(48 66 84/var(--tw-text-opacity))}.text-\[\#445668\]{--tw-text-opacity:1;color:rgb(68 86 104/var(--tw-text-opacity))}.text-\[\#61758A\]{--tw-text-opacity:1;color:rgb(97 117 138/var(--tw-text-opacity))}.text-\[\#F23630\]{--tw-text-opacity:1;color:rgb(242 54 48/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity))}.text-gray-50{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity))}.text-rose-900{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity))}.text-zinc-600{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity))}.text-zinc-700{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.text-zinc-800{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity))}.text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-lg,.shadow-md{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-sm,.shadow-xl{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color)}.shadow-zinc-700\/10{--tw-shadow-color:#3f3f461a;--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid #0000;outline-offset:2px}.outline{outline-style:solid}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.ring-emerald-500{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.ring-rose-500{--tw-ring-opacity:1;--tw-ring-color:rgb(244 63 94/var(--tw-ring-opacity))}.ring-zinc-700\/10{--tw-ring-color:#3f3f461a}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\@container{container-type:inline-size}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAARsABAAAAAACMwAAAQRAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AXBEICoRkg3oLGgABNgIkAy4EIAWFAAeBAwwHGy8HyI7Cca8UYSlFWGJzMUTEQ/1+r2f33Q+oAgAFVkiO0LMiG92pzNTWmEogIUHV6LrA3+vU9yUZFWCUyyYpAGzHxMo5cgl5YpzSCUM8NWtp6sXT3zttbOqD96hLoIAijvawNWhs2hMogzEXBdQFssAy6shdkO6VPDXsvEGgCwihJoRAvaBtQgx0vqymBYQK7HoBasgsSYO9G/Rcy7nAD9pML9mFjgKPfId1ALiW9o7HQAUNkLR49NmAP3T1LIDvcKYsVP8XB0G1hXJmAH2cGQG5lOOYwRNCU2IAjgXYW7OFQ8CTV1oH8oewJAxfJWQEAAQqZBDoKEB+BpBwZjwGiJ8gUY0sCREiXJZ0Z5xVnPERYcR9YmHXCwDxHvHzot3vXmY3QADqmqhp5Ikhdr38OX/dCICxm8BvYCH0UMn7GeAIgauF0qTguFDk7y8SBckPFlz8SJ4vofPlGew+ZC+pEreJW7rJtuvDYZuDCR28i+w8dyn0zJXobrID0+4fRvi2EfLAEOTG4GDbgRGExLDxt4tE24bF+weByZRhiC0zZSqYNu2tUI+nPHcOqi9cGNO3BzbcIVs2dDMjcutbRfQlWX6wa/zmuKowR6r0Zq/KAerL2Lo3Y935H6eCJozvi+Wz3sDWmBhZuQjZkIkB1dHsF9/Dh+dfHMpWgeBA2S0d26erjNSsTjymkqHUKoquk8qL6V2/dtGKYkXHL46WF0mlnIhu2YRWU5SaOcVQqqwJTaskkh76NC1pj5MoYYpm6X/SaWWx8u+fZCVQSVdpS8Li4yefUh+ucay5uzkR4ODLF2bO0Y0d8wl8z2VZD2hdByDoV+rl9nqmPN2bkemffokxXwJsCUJde4rDdejqUOJFLY4CDoFcqp6l8OTYoznu+G5NxvTaNI+Vmn8L13v9Zf+FOP4T/n2/fT61j3/9JbmdaGm/7qAuQXAZlHm3BrezpAbEs3eyA7rCYipEJ8O75LL0p4A/8B5C1wLcNHwkWdbAP8RGEQGfI68EYSKCQOoHASrHDYBij4ugZsx2ULemg9R3TBIFAl1DgIB+EMAfutr3CiDGdSwnLZdKHC0HK712RlZmFlzYlNOn3yr58qV2PTcrJuJEKE//czjkYbmZ5atXpkYVI04RNy0rl361WC6sXE2MzDwctNzaGLn1s9Z9KwElD6VQYX9FgkorQdCjrkhVKSKdPRVkP2NiMVafddwnw16rpCDUJGjB4MYc1rxJAzeWjZEeJwHDc8JalrtVTRlOW2dmrf2eh04ePZZT/gzV5u/XlgnjMbprRAHhpi4WfEYYHA8cEYiH+EiAhEjEZ3T/A4gSeFzWgiVMaUooXcGC6LL3V/LMWqdT66fVezjj9znYL+kQ+zB0koJlTuAL5N31gDgEAA==) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0370-03ff}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0100-02af,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1e??,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-white:hover{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.hover\:bg-\[\#F0F5F9\]:hover{--tw-bg-opacity:1;background-color:rgb(240 245 249/var(--tw-bg-opacity))}.hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.hover\:bg-zinc-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.hover\:bg-zinc-700:hover{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity))}.hover\:text-\[\#304254\]:hover{--tw-text-opacity:1;color:rgb(48 66 84/var(--tw-text-opacity))}.hover\:text-\[\#AE182D\]:hover{--tw-text-opacity:1;color:rgb(174 24 45/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.hover\:text-zinc-700:hover{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-40:hover{opacity:.4}.hover\:ring-2:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.hover\:ring-gray-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.hover\:ring-offset-8:hover{--tw-ring-offset-width:8px}.hover\:ring-offset-white:hover{--tw-ring-offset-color:#fff}.focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.focus\:border-rose-400:focus{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity))}.focus\:border-zinc-400:focus{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity))}.focus-visible\:ring-4:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-blue-200:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity))}.focus-visible\:ring-purple-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(168 85 247/var(--tw-ring-opacity))}.active\:bg-blue-800:active{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity))}.active\:text-blue-700:active{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.active\:text-white\/80:active{color:#fffc}.group:first-child .group-first\:block{display:block}.group:hover .group-hover\:bg-\[\#F0F5F9\]{--tw-bg-opacity:1;background-color:rgb(240 245 249/var(--tw-bg-opacity))}.group:hover .group-hover\:bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.group:hover .group-hover\:opacity-70{opacity:.7}@container (min-width: 180px){.\@\[180px\]\:block{display:block}.\@\[180px\]\:w-11{width:2.75rem}.\@\[180px\]\:justify-start{justify-content:flex-start}.\@\[180px\]\:gap-1\.5{gap:.375rem}.\@\[180px\]\:p-3{padding:.75rem}.\@\[180px\]\:py-3{padding-bottom:.75rem;padding-top:.75rem}.\@\[180px\]\:pl-2{padding-left:.5rem}.\@\[180px\]\:pr-0{padding-right:0}.\@\[180px\]\:text-lg\/7{font-size:1.125rem;line-height:1.75rem}}@container (min-width: 240px){.\@\[240px\]\:w-\[54px\]{width:54px}.\@\[240px\]\:gap-2{gap:.5rem}.\@\[240px\]\:gap-2\.5{gap:.625rem}.\@\[240px\]\:px-3{padding-left:.75rem;padding-right:.75rem}.\@\[240px\]\:py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.\@\[240px\]\:py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.\@\[240px\]\:pl-3{padding-left:.75rem}.\@\[240px\]\:text-lg{font-size:1.125rem;line-height:1.75rem}.\@\[240px\]\:text-xl\/\[30px\]{font-size:1.25rem;line-height:30px}}@container (min-width: 300px){.\@\[300px\]\:w-\[62px\]{width:62px}.\@\[300px\]\:gap-2\.5{gap:.625rem}.\@\[300px\]\:gap-3\.5{gap:.875rem}.\@\[300px\]\:py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.\@\[300px\]\:text-3xl\/\[45px\]{font-size:1.875rem;line-height:45px}.\@\[300px\]\:text-xl{font-size:1.25rem;line-height:1.75rem}}@container (min-width: 350px){.\@\[350px\]\:h-7{height:1.75rem}.\@\[350px\]\:w-7{width:1.75rem}.\@\[350px\]\:w-\[72px\]{width:72px}.\@\[350px\]\:gap-4{gap:1rem}.\@\[350px\]\:py-4{padding-bottom:1rem;padding-top:1rem}.\@\[350px\]\:pl-6{padding-left:1.5rem}.\@\[350px\]\:text-2xl{font-size:1.5rem;line-height:2rem}.\@\[350px\]\:text-4xl\/\[56px\]{font-size:2.25rem;line-height:56px}}.phx-no-feedback.phx-no-feedback\:hidden{display:none}.phx-no-feedback.phx-no-feedback\:border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.phx-no-feedback.phx-no-feedback\:focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.phx-no-feedback.phx-no-feedback\:focus\:border-zinc-400:focus{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.phx-no-feedback .phx-no-feedback\:hidden{display:none}.phx-no-feedback .phx-no-feedback\:border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.phx-no-feedback .phx-no-feedback\:focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.phx-no-feedback .phx-no-feedback\:focus\:border-zinc-400:focus{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.phx-submit-loading .phx-submit-loading\:opacity-75,.phx-submit-loading.phx-submit-loading\:opacity-75{opacity:.75}@media (min-width:640px){.sm\:mt-0{margin-top:0}.sm\:w-96{width:24rem}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-\[180px\]{max-width:180px}.sm\:translate-y-0{--tw-translate-y:0px}.sm\:scale-100,.sm\:translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.sm\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:gap-8{gap:2rem}.sm\:overflow-visible{overflow:visible}.sm\:rounded-l-xl{border-bottom-left-radius:.75rem;border-top-left-radius:.75rem}.sm\:rounded-r-xl{border-bottom-right-radius:.75rem;border-top-right-radius:.75rem}.sm\:p-6{padding:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:leading-6{line-height:1.5rem}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:text-2xl\/8{font-size:1.5rem;line-height:2rem}}@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:h-\[calc\(100vh_-_144px\)\]{height:calc(100vh - 144px)}.lg\:h-\[calc\(100vh_-_239px\)\]{height:calc(100vh - 239px)}.lg\:h-full{height:100%}.lg\:max-w-none{max-width:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:overflow-y-auto{overflow-y:auto}.lg\:rounded-b-none{border-bottom-left-radius:0;border-bottom-right-radius:0}.lg\:rounded-t-\[1\.25rem\]{border-top-left-radius:1.25rem;border-top-right-radius:1.25rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-8{padding-bottom:2rem;padding-top:2rem}}.focus-visible\:\[\&\:not\(\:active\)\]\:ring-2:not(:active):focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}@container (min-width: 350px){.\@\[350px\]\:focus-visible\:\[\&\:not\(\:active\)\]\:ring-4:not(:active):focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}}.\[\&\>div\]\:contents>div{display:contents}.\[\&_\.margin\]\:\!bg-\[\#0D1829\] .margin,.\[\&_\.monaco-editor-background\]\:\!bg-\[\#0D1829\] .monaco-editor-background{--tw-bg-opacity:1!important;background-color:rgb(13 24 41/var(--tw-bg-opacity))!important} +/*! tailwindcss v3.3.3 | MIT License | https://tailwindcss.com*/*,:after,:before{border:0 solid #e5e7eb;box-sizing:border-box}:after,:before{--tw-content:""}html{-webkit-text-size-adjust:100%;font-feature-settings:normal;font-family:Plus Jakarta Sans,sans-serif,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji;font-variation-settings:normal;line-height:1.5;-moz-tab-size:4;-o-tab-size:4;tab-size:4}body{line-height:inherit;margin:0}hr{border-top-width:1px;color:inherit;height:0}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:initial}sub{bottom:-.25em}sup{top:-.5em}table{border-collapse:collapse;border-color:inherit;text-indent:0}button,input,optgroup,select,textarea{font-feature-settings:inherit;color:inherit;font-family:inherit;font-size:100%;font-variation-settings:inherit;font-weight:inherit;line-height:inherit;margin:0;padding:0}button,select{text-transform:none}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button;background-color:initial;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:initial}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dd,dl,figure,h1,h2,h3,h4,h5,h6,hr,p,pre{margin:0}fieldset{margin:0}fieldset,legend{padding:0}menu,ol,ul{list-style:none;margin:0;padding:0}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder,textarea::-moz-placeholder{color:#9ca3af;opacity:1}input::placeholder,textarea::placeholder{color:#9ca3af;opacity:1}[role=button],button{cursor:pointer}:disabled{cursor:default}audio,canvas,embed,iframe,img,object,svg,video{display:block;vertical-align:middle}img,video{height:auto;max-width:100%}[hidden]{display:none}[multiple],[type=date],[type=datetime-local],[type=email],[type=month],[type=number],[type=password],[type=search],[type=tel],[type=text],[type=time],[type=url],[type=week],select,textarea{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;border-color:#6b7280;border-radius:0;border-width:1px;font-size:1rem;line-height:1.5rem;padding:.5rem .75rem}[multiple]:focus,[type=date]:focus,[type=datetime-local]:focus,[type=email]:focus,[type=month]:focus,[type=number]:focus,[type=password]:focus,[type=search]:focus,[type=tel]:focus,[type=text]:focus,[type=time]:focus,[type=url]:focus,[type=week]:focus,select:focus,textarea:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);border-color:#2563eb;box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}input::-moz-placeholder,textarea::-moz-placeholder{color:#6b7280;opacity:1}input::placeholder,textarea::placeholder{color:#6b7280;opacity:1}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-date-and-time-value{min-height:1.5em}::-webkit-datetime-edit,::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-meridiem-field,::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-minute-field,::-webkit-datetime-edit-month-field,::-webkit-datetime-edit-second-field,::-webkit-datetime-edit-year-field{padding-bottom:0;padding-top:0}select{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3E%3Cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='m6 8 4 4 4-4'/%3E%3C/svg%3E");background-position:right .5rem center;background-repeat:no-repeat;background-size:1.5em 1.5em;padding-right:2.5rem;-webkit-print-color-adjust:exact;print-color-adjust:exact}[multiple]{background-image:none;background-position:0 0;background-repeat:unset;background-size:initial;padding-right:.75rem;-webkit-print-color-adjust:unset;print-color-adjust:unset}[type=checkbox],[type=radio]{--tw-shadow:0 0 #0000;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-color:#fff;background-origin:border-box;border-color:#6b7280;border-width:1px;color:#2563eb;display:inline-block;flex-shrink:0;height:1rem;padding:0;-webkit-print-color-adjust:exact;print-color-adjust:exact;-webkit-user-select:none;-moz-user-select:none;user-select:none;vertical-align:middle;width:1rem}[type=checkbox]{border-radius:0}[type=radio]{border-radius:100%}[type=checkbox]:focus,[type=radio]:focus{--tw-ring-inset:var(--tw-empty,/*!*/ /*!*/);--tw-ring-offset-width:2px;--tw-ring-offset-color:#fff;--tw-ring-color:#2563eb;--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow);outline:2px solid #0000;outline-offset:2px}[type=checkbox]:checked,[type=radio]:checked{background-color:currentColor;background-position:50%;background-repeat:no-repeat;background-size:100% 100%;border-color:#0000}[type=checkbox]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Cpath d='M12.207 4.793a1 1 0 0 1 0 1.414l-5 5a1 1 0 0 1-1.414 0l-2-2a1 1 0 0 1 1.414-1.414L6.5 9.086l4.293-4.293a1 1 0 0 1 1.414 0z'/%3E%3C/svg%3E")}[type=radio]:checked{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' viewBox='0 0 16 16'%3E%3Ccircle cx='8' cy='8' r='3'/%3E%3C/svg%3E")}[type=checkbox]:checked:focus,[type=checkbox]:checked:hover,[type=checkbox]:indeterminate,[type=radio]:checked:focus,[type=radio]:checked:hover{background-color:currentColor;border-color:#0000}[type=checkbox]:indeterminate{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath stroke='%23fff' stroke-linecap='round' stroke-linejoin='round' stroke-width='2' d='M4 8h8'/%3E%3C/svg%3E");background-position:50%;background-repeat:no-repeat;background-size:100% 100%}[type=checkbox]:indeterminate:focus,[type=checkbox]:indeterminate:hover{background-color:currentColor;border-color:#0000}[type=file]{background:unset;border-color:inherit;border-radius:0;border-width:0;font-size:unset;line-height:inherit;padding:0}[type=file]:focus{outline:1px solid ButtonText;outline:1px auto -webkit-focus-ring-color}*,::backdrop,:after,:before{--tw-border-spacing-x:0;--tw-border-spacing-y:0;--tw-translate-x:0;--tw-translate-y:0;--tw-rotate:0;--tw-skew-x:0;--tw-skew-y:0;--tw-scale-x:1;--tw-scale-y:1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness:proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-color:#3b82f680;--tw-ring-offset-shadow:0 0 #0000;--tw-ring-shadow:0 0 #0000;--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: }.container{width:100%}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px}}@media (min-width:1280px){.container{max-width:1280px}}@media (min-width:1536px){.container{max-width:1536px}}.hero-arrow-left-solid{--hero-arrow-left-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-arrow-left-solid);mask:var(--hero-arrow-left-solid)}.hero-arrow-left-solid,.hero-arrow-path{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-arrow-path{--hero-arrow-path:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-arrow-path);mask:var(--hero-arrow-path)}.hero-clipboard-document-check-solid{--hero-clipboard-document-check-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-clipboard-document-check-solid);mask:var(--hero-clipboard-document-check-solid)}.hero-clipboard-document-check-solid,.hero-document-plus-solid{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-document-plus-solid{--hero-document-plus-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-document-plus-solid);mask:var(--hero-document-plus-solid)}.hero-exclamation-circle-mini{--hero-exclamation-circle-mini:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-exclamation-circle-mini);mask:var(--hero-exclamation-circle-mini)}.hero-exclamation-circle-mini,.hero-eye{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-eye{--hero-eye:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-eye);mask:var(--hero-eye)}.hero-eye-solid{--hero-eye-solid:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-eye-solid);mask:var(--hero-eye-solid)}.hero-eye-solid,.hero-information-circle-mini{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-information-circle-mini{--hero-information-circle-mini:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-information-circle-mini);mask:var(--hero-information-circle-mini)}.hero-pencil-square{--hero-pencil-square:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-pencil-square);mask:var(--hero-pencil-square)}.hero-pencil-square,.hero-trash{background-color:currentColor;display:inline-block;height:1.25rem;vertical-align:middle;width:1.25rem}.hero-trash{--hero-trash:url('data:image/svg+xml;utf8,');-webkit-mask:var(--hero-trash);mask:var(--hero-trash)}.hero-x-mark-solid{--hero-x-mark-solid:url('data:image/svg+xml;utf8,');background-color:currentColor;display:inline-block;height:1.25rem;-webkit-mask:var(--hero-x-mark-solid);mask:var(--hero-x-mark-solid);vertical-align:middle;width:1.25rem}.sr-only{clip:rect(0,0,0,0);border-width:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.visible{visibility:visible}.invisible{visibility:hidden}.static{position:static}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.sticky{position:sticky}.inset-0{inset:0}.-inset-y-px{bottom:-1px;top:-1px}.inset-y-0{bottom:0;top:0}.-left-3{left:-.75rem}.-left-32{left:-8rem}.-left-4{left:-1rem}.-left-5{left:-1.25rem}.-right-3{right:-.75rem}.-right-4{right:-1rem}.-top-10{top:-2.5rem}.left-0{left:0}.right-0{right:0}.right-1{right:.25rem}.right-2{right:.5rem}.right-5{right:1.25rem}.top-0{top:0}.top-1{top:.25rem}.top-2{top:.5rem}.top-3{top:.75rem}.top-6{top:1.5rem}.z-30{z-index:30}.z-50{z-index:50}.col-span-2{grid-column:span 2/span 2}.col-span-full{grid-column:1/-1}.-m-3{margin:-.75rem}.m-1{margin:.25rem}.m-8{margin:2rem}.-my-4{margin-bottom:-1rem;margin-top:-1rem}.mx-auto{margin-left:auto;margin-right:auto}.-mb-px{margin-bottom:-1px}.mb-1{margin-bottom:.25rem}.mb-10{margin-bottom:2.5rem}.mb-2{margin-bottom:.5rem}.mb-8{margin-bottom:2rem}.ml-1{margin-left:.25rem}.ml-2{margin-left:.5rem}.ml-3{margin-left:.75rem}.ml-4{margin-left:1rem}.ml-8{margin-left:2rem}.ml-auto{margin-left:auto}.mr-2{margin-right:.5rem}.mt-0{margin-top:0}.mt-0\.5{margin-top:.125rem}.mt-1{margin-top:.25rem}.mt-10{margin-top:2.5rem}.mt-11{margin-top:2.75rem}.mt-14{margin-top:3.5rem}.mt-16{margin-top:4rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.line-clamp-1{-webkit-box-orient:vertical;-webkit-line-clamp:1;display:-webkit-box;overflow:hidden}.block{display:block}.inline-block{display:inline-block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.grid{display:grid}.contents{display:contents}.hidden{display:none}.aspect-square{aspect-ratio:1/1}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-24{height:6rem}.h-3{height:.75rem}.h-4{height:1rem}.h-5{height:1.25rem}.h-6{height:1.5rem}.h-7{height:1.75rem}.h-8{height:2rem}.h-\[calc\(100vh_-_170px\)\]{height:calc(100vh - 170px)}.h-\[calc\(100vh_-_206px\)\]{height:calc(100vh - 206px)}.h-\[calc\(100vh_-_210px\)\]{height:calc(100vh - 210px)}.h-\[calc\(100vh_-_223px\)\]{height:calc(100vh - 223px)}.h-\[calc\(100vh_-_60px\)\]{height:calc(100vh - 60px)}.h-full{height:100%}.max-h-60{max-height:15rem}.max-h-full{max-height:100%}.min-h-\[6rem\]{min-height:6rem}.min-h-full{min-height:100%}.min-h-screen{min-height:100vh}.w-1\/4{width:25%}.w-10{width:2.5rem}.w-14{width:3.5rem}.w-2{width:.5rem}.w-3{width:.75rem}.w-4{width:1rem}.w-5{width:1.25rem}.w-52{width:13rem}.w-6{width:1.5rem}.w-64{width:16rem}.w-7{width:1.75rem}.w-80{width:20rem}.w-9{width:2.25rem}.w-96{width:24rem}.w-\[40rem\]{width:40rem}.w-full{width:100%}.min-w-\[150px\]{min-width:150px}.max-w-3xl{max-width:48rem}.max-w-\[76px\]{max-width:76px}.max-w-screen-xl{max-width:1280px}.max-w-xs{max-width:20rem}.flex-1{flex:1 1 0%}.flex-none{flex:none}.shrink-0{flex-shrink:0}.-translate-y-2{--tw-translate-y:-0.5rem}.-translate-y-2,.translate-x-96{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-x-96{--tw-translate-x:24rem}.translate-y-0{--tw-translate-y:0px}.translate-y-0,.translate-y-4{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.translate-y-4{--tw-translate-y:1rem}.transform{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(1turn)}}.animate-spin{animation:spin 1s linear infinite}.grid-flow-col{grid-auto-flow:column}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-rows-1{grid-template-rows:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-end{align-items:flex-end}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-0{gap:0}.gap-0\.5{gap:.125rem}.gap-1{gap:.25rem}.gap-1\.5{gap:.375rem}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-6{gap:1.5rem}.gap-x-8{-moz-column-gap:2rem;column-gap:2rem}.gap-y-8{row-gap:2rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(1rem*var(--tw-space-y-reverse));margin-top:calc(1rem*(1 - var(--tw-space-y-reverse)))}.space-y-8>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-bottom:calc(2rem*var(--tw-space-y-reverse));margin-top:calc(2rem*(1 - var(--tw-space-y-reverse)))}.divide-y>:not([hidden])~:not([hidden]){--tw-divide-y-reverse:0;border-bottom-width:calc(1px*var(--tw-divide-y-reverse));border-top-width:calc(1px*(1 - var(--tw-divide-y-reverse)))}.divide-gray-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(243 244 246/var(--tw-divide-opacity))}.divide-zinc-100>:not([hidden])~:not([hidden]){--tw-divide-opacity:1;border-color:rgb(244 244 245/var(--tw-divide-opacity))}.justify-self-end{justify-self:end}.overflow-hidden{overflow:hidden}.overflow-visible{overflow:visible}.overflow-x-auto{overflow-x:auto}.overflow-y-auto{overflow-y:auto}.overflow-x-hidden{overflow-x:hidden}.whitespace-nowrap{white-space:nowrap}.rounded{border-radius:.25rem}.rounded-2xl{border-radius:1rem}.rounded-\[1\.25rem\]{border-radius:1.25rem}.rounded-\[20px\]{border-radius:20px}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-md{border-radius:.375rem}.rounded-xl{border-radius:.75rem}.rounded-b-xl{border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem}.rounded-t-\[1\.25rem\]{border-top-left-radius:1.25rem;border-top-right-radius:1.25rem}.rounded-t-\[20px\]{border-top-left-radius:20px;border-top-right-radius:20px}.rounded-t-lg{border-top-left-radius:.5rem;border-top-right-radius:.5rem}.rounded-t-xl{border-top-left-radius:.75rem;border-top-right-radius:.75rem}.border{border-width:1px}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-b-2{border-bottom-width:2px}.border-l{border-left-width:1px}.border-r{border-right-width:1px}.border-t{border-top-width:1px}.border-solid{border-style:solid}.border-dashed{border-style:dashed}.border-blue-500{--tw-border-opacity:1;border-color:rgb(59 130 246/var(--tw-border-opacity))}.border-blue-600{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.border-gray-100{--tw-border-opacity:1;border-color:rgb(243 244 246/var(--tw-border-opacity))}.border-gray-200{--tw-border-opacity:1;border-color:rgb(229 231 235/var(--tw-border-opacity))}.border-gray-300{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.border-gray-900\/25{border-color:#11182740}.border-rose-400{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity))}.border-transparent{border-color:#0000}.border-zinc-200{--tw-border-opacity:1;border-color:rgb(228 228 231/var(--tw-border-opacity))}.border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.border-b-gray-100{--tw-border-opacity:1;border-bottom-color:rgb(243 244 246/var(--tw-border-opacity))}.bg-\[\#0D1829\]{--tw-bg-opacity:1;background-color:rgb(13 24 41/var(--tw-bg-opacity))}.bg-\[\#F0F5F9\]{--tw-bg-opacity:1;background-color:rgb(240 245 249/var(--tw-bg-opacity))}.bg-amber-400{--tw-bg-opacity:1;background-color:rgb(251 191 36/var(--tw-bg-opacity))}.bg-black\/50{background-color:#00000080}.bg-blue-100{--tw-bg-opacity:1;background-color:rgb(219 234 254/var(--tw-bg-opacity))}.bg-blue-500{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.bg-blue-600{--tw-bg-opacity:1;background-color:rgb(37 99 235/var(--tw-bg-opacity))}.bg-emerald-50{--tw-bg-opacity:1;background-color:rgb(236 253 245/var(--tw-bg-opacity))}.bg-gray-100{--tw-bg-opacity:1;background-color:rgb(243 244 246/var(--tw-bg-opacity))}.bg-gray-400{--tw-bg-opacity:1;background-color:rgb(156 163 175/var(--tw-bg-opacity))}.bg-gray-50{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.bg-gray-500{--tw-bg-opacity:1;background-color:rgb(107 114 128/var(--tw-bg-opacity))}.bg-gray-700{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.bg-lime-700{--tw-bg-opacity:1;background-color:rgb(77 124 15/var(--tw-bg-opacity))}.bg-red-500{--tw-bg-opacity:1;background-color:rgb(239 68 68/var(--tw-bg-opacity))}.bg-red-900{--tw-bg-opacity:1;background-color:rgb(127 29 29/var(--tw-bg-opacity))}.bg-rose-50{--tw-bg-opacity:1;background-color:rgb(255 241 242/var(--tw-bg-opacity))}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity))}.bg-zinc-50\/90{background-color:#fafafae6}.bg-zinc-900{--tw-bg-opacity:1;background-color:rgb(24 24 27/var(--tw-bg-opacity))}.fill-cyan-900{fill:#164e63}.fill-rose-900{fill:#881337}.p-0{padding:0}.p-1{padding:.25rem}.p-14{padding:3.5rem}.p-2{padding:.5rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-6{padding:1.5rem}.px-0{padding-left:0;padding-right:0}.px-0\.5{padding-left:.125rem;padding-right:.125rem}.px-1{padding-left:.25rem;padding-right:.25rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-3\.5{padding-left:.875rem;padding-right:.875rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.px-\[22px\]{padding-left:22px;padding-right:22px}.py-0{padding-bottom:0;padding-top:0}.py-0\.5{padding-bottom:.125rem;padding-top:.125rem}.py-1{padding-bottom:.25rem;padding-top:.25rem}.py-10{padding-bottom:2.5rem;padding-top:2.5rem}.py-2{padding-bottom:.5rem;padding-top:.5rem}.py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.py-3{padding-bottom:.75rem;padding-top:.75rem}.py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.py-4{padding-bottom:1rem;padding-top:1rem}.py-5{padding-bottom:1.25rem;padding-top:1.25rem}.py-6{padding-bottom:1.5rem;padding-top:1.5rem}.pb-1{padding-bottom:.25rem}.pb-4{padding-bottom:1rem}.pb-5{padding-bottom:1.25rem}.pl-0{padding-left:0}.pl-2{padding-left:.5rem}.pl-4{padding-left:1rem}.pl-6{padding-left:1.5rem}.pr-6{padding-right:1.5rem}.pr-7{padding-right:1.75rem}.pt-0{padding-top:0}.pt-10{padding-top:2.5rem}.pt-16{padding-top:4rem}.pt-2{padding-top:.5rem}.pt-3{padding-top:.75rem}.pt-4{padding-top:1rem}.pt-6{padding-top:1.5rem}.pt-7{padding-top:1.75rem}.pt-8{padding-top:2rem}.text-left{text-align:left}.text-center{text-align:center}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-sans{font-family:Plus Jakarta Sans,sans-serif,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,Noto Sans,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol,Noto Color Emoji}.text-2xl{font-size:1.5rem;line-height:2rem}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-lg\/6{font-size:1.125rem;line-height:1.5rem}.text-sm,.text-sm\/5{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-bold{font-weight:700}.font-light{font-weight:300}.font-medium{font-weight:500}.font-normal{font-weight:400}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.capitalize{text-transform:capitalize}.leading-4{line-height:1rem}.leading-5{line-height:1.25rem}.leading-6{line-height:1.5rem}.leading-8{line-height:2rem}.tracking-\[1\.68px\]{letter-spacing:1.68px}.tracking-wider{letter-spacing:.05em}.tracking-widest{letter-spacing:.1em}.\!text-red-500{--tw-text-opacity:1!important;color:rgb(239 68 68/var(--tw-text-opacity))!important}.text-\[\#030913\]{--tw-text-opacity:1;color:rgb(3 9 19/var(--tw-text-opacity))}.text-\[\#111625\]{--tw-text-opacity:1;color:rgb(17 22 37/var(--tw-text-opacity))}.text-\[\#304254\]{--tw-text-opacity:1;color:rgb(48 66 84/var(--tw-text-opacity))}.text-\[\#445668\]{--tw-text-opacity:1;color:rgb(68 86 104/var(--tw-text-opacity))}.text-\[\#61758A\]{--tw-text-opacity:1;color:rgb(97 117 138/var(--tw-text-opacity))}.text-\[\#F23630\]{--tw-text-opacity:1;color:rgb(242 54 48/var(--tw-text-opacity))}.text-blue-600{--tw-text-opacity:1;color:rgb(37 99 235/var(--tw-text-opacity))}.text-blue-800{--tw-text-opacity:1;color:rgb(30 64 175/var(--tw-text-opacity))}.text-emerald-800{--tw-text-opacity:1;color:rgb(6 95 70/var(--tw-text-opacity))}.text-gray-50{--tw-text-opacity:1;color:rgb(249 250 251/var(--tw-text-opacity))}.text-gray-500{--tw-text-opacity:1;color:rgb(107 114 128/var(--tw-text-opacity))}.text-gray-600{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.text-gray-900{--tw-text-opacity:1;color:rgb(17 24 39/var(--tw-text-opacity))}.text-green-500{--tw-text-opacity:1;color:rgb(34 197 94/var(--tw-text-opacity))}.text-green-600{--tw-text-opacity:1;color:rgb(22 163 74/var(--tw-text-opacity))}.text-red-500{--tw-text-opacity:1;color:rgb(239 68 68/var(--tw-text-opacity))}.text-red-600{--tw-text-opacity:1;color:rgb(220 38 38/var(--tw-text-opacity))}.text-rose-600{--tw-text-opacity:1;color:rgb(225 29 72/var(--tw-text-opacity))}.text-rose-900{--tw-text-opacity:1;color:rgb(136 19 55/var(--tw-text-opacity))}.text-slate-800{--tw-text-opacity:1;color:rgb(30 41 59/var(--tw-text-opacity))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity))}.text-zinc-500{--tw-text-opacity:1;color:rgb(113 113 122/var(--tw-text-opacity))}.text-zinc-600{--tw-text-opacity:1;color:rgb(82 82 91/var(--tw-text-opacity))}.text-zinc-700{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.text-zinc-800{--tw-text-opacity:1;color:rgb(39 39 42/var(--tw-text-opacity))}.text-zinc-900{--tw-text-opacity:1;color:rgb(24 24 27/var(--tw-text-opacity))}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-0{opacity:0}.opacity-100{opacity:1}.opacity-20{opacity:.2}.opacity-40{opacity:.4}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.shadow{--tw-shadow:0 1px 3px 0 #0000001a,0 1px 2px -1px #0000001a;--tw-shadow-colored:0 1px 3px 0 var(--tw-shadow-color),0 1px 2px -1px var(--tw-shadow-color)}.shadow,.shadow-lg{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-lg{--tw-shadow:0 10px 15px -3px #0000001a,0 4px 6px -4px #0000001a;--tw-shadow-colored:0 10px 15px -3px var(--tw-shadow-color),0 4px 6px -4px var(--tw-shadow-color)}.shadow-md{--tw-shadow:0 4px 6px -1px #0000001a,0 2px 4px -2px #0000001a;--tw-shadow-colored:0 4px 6px -1px var(--tw-shadow-color),0 2px 4px -2px var(--tw-shadow-color)}.shadow-md,.shadow-sm{box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color)}.shadow-xl{--tw-shadow:0 20px 25px -5px #0000001a,0 8px 10px -6px #0000001a;--tw-shadow-colored:0 20px 25px -5px var(--tw-shadow-color),0 8px 10px -6px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000),var(--tw-ring-shadow,0 0 #0000),var(--tw-shadow)}.shadow-zinc-700\/10{--tw-shadow-color:#3f3f461a;--tw-shadow:var(--tw-shadow-colored)}.outline-none{outline:2px solid #0000;outline-offset:2px}.outline{outline-style:solid}.outline-dashed{outline-style:dashed}.outline-2{outline-width:2px}.outline-offset-2{outline-offset:2px}.outline-blue-500{outline-color:#3b82f6}.ring-1{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.ring-inset{--tw-ring-inset:inset}.ring-emerald-500{--tw-ring-opacity:1;--tw-ring-color:rgb(16 185 129/var(--tw-ring-opacity))}.ring-gray-300{--tw-ring-opacity:1;--tw-ring-color:rgb(209 213 219/var(--tw-ring-opacity))}.ring-rose-500{--tw-ring-opacity:1;--tw-ring-color:rgb(244 63 94/var(--tw-ring-opacity))}.ring-zinc-700\/10{--tw-ring-color:#3f3f461a}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}.transition{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,-webkit-backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke,opacity,box-shadow,transform,filter,backdrop-filter,-webkit-backdrop-filter;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-duration:.15s;transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-duration:.15s;transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-opacity{transition-duration:.15s;transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-transform{transition-duration:.15s;transition-property:transform;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-200{transition-duration:.2s}.duration-300{transition-duration:.3s}.ease-in{transition-timing-function:cubic-bezier(.4,0,1,1)}.ease-out{transition-timing-function:cubic-bezier(0,0,.2,1)}.\@container{container-type:inline-size}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAARsABAAAAAACMwAAAQRAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGhwbHhwoBmA/U1RBVF4AXBEICoRkg3oLGgABNgIkAy4EIAWFAAeBAwwHGy8HyI7Cca8UYSlFWGJzMUTEQ/1+r2f33Q+oAgAFVkiO0LMiG92pzNTWmEogIUHV6LrA3+vU9yUZFWCUyyYpAGzHxMo5cgl5YpzSCUM8NWtp6sXT3zttbOqD96hLoIAijvawNWhs2hMogzEXBdQFssAy6shdkO6VPDXsvEGgCwihJoRAvaBtQgx0vqymBYQK7HoBasgsSYO9G/Rcy7nAD9pML9mFjgKPfId1ALiW9o7HQAUNkLR49NmAP3T1LIDvcKYsVP8XB0G1hXJmAH2cGQG5lOOYwRNCU2IAjgXYW7OFQ8CTV1oH8oewJAxfJWQEAAQqZBDoKEB+BpBwZjwGiJ8gUY0sCREiXJZ0Z5xVnPERYcR9YmHXCwDxHvHzot3vXmY3QADqmqhp5Ikhdr38OX/dCICxm8BvYCH0UMn7GeAIgauF0qTguFDk7y8SBckPFlz8SJ4vofPlGew+ZC+pEreJW7rJtuvDYZuDCR28i+w8dyn0zJXobrID0+4fRvi2EfLAEOTG4GDbgRGExLDxt4tE24bF+weByZRhiC0zZSqYNu2tUI+nPHcOqi9cGNO3BzbcIVs2dDMjcutbRfQlWX6wa/zmuKowR6r0Zq/KAerL2Lo3Y935H6eCJozvi+Wz3sDWmBhZuQjZkIkB1dHsF9/Dh+dfHMpWgeBA2S0d26erjNSsTjymkqHUKoquk8qL6V2/dtGKYkXHL46WF0mlnIhu2YRWU5SaOcVQqqwJTaskkh76NC1pj5MoYYpm6X/SaWWx8u+fZCVQSVdpS8Li4yefUh+ucay5uzkR4ODLF2bO0Y0d8wl8z2VZD2hdByDoV+rl9nqmPN2bkemffokxXwJsCUJde4rDdejqUOJFLY4CDoFcqp6l8OTYoznu+G5NxvTaNI+Vmn8L13v9Zf+FOP4T/n2/fT61j3/9JbmdaGm/7qAuQXAZlHm3BrezpAbEs3eyA7rCYipEJ8O75LL0p4A/8B5C1wLcNHwkWdbAP8RGEQGfI68EYSKCQOoHASrHDYBij4ugZsx2ULemg9R3TBIFAl1DgIB+EMAfutr3CiDGdSwnLZdKHC0HK712RlZmFlzYlNOn3yr58qV2PTcrJuJEKE//czjkYbmZ5atXpkYVI04RNy0rl361WC6sXE2MzDwctNzaGLn1s9Z9KwElD6VQYX9FgkorQdCjrkhVKSKdPRVkP2NiMVafddwnw16rpCDUJGjB4MYc1rxJAzeWjZEeJwHDc8JalrtVTRlOW2dmrf2eh04ePZZT/gzV5u/XlgnjMbprRAHhpi4WfEYYHA8cEYiH+EiAhEjEZ3T/A4gSeFzWgiVMaUooXcGC6LL3V/LMWqdT66fVezjj9znYL+kQ+zB0koJlTuAL5N31gDgEAA==) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0460-052f,u+1c80-1c88,u+20b4,u+2de0-2dff,u+a640-a69f,u+fe2e-fe2f}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0301,u+0400-045f,u+0490-0491,u+04b0-04b1,u+2116}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0370-03ff}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,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) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+0100-02af,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1e??,u+2020,u+20a0-20ab,u+20ad-20cf,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-display:swap;font-family:JetBrains Mono;font-style:normal;font-weight:400;src:url(data:font/woff2;base64,d09GMgABAAAAAFEEABAAAAAA3NwAAFCiAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGnAbHhyBmVYGYD9TVEFUXgCFBhEICoHbJIGrTAuGEAABNgIkA4wOBCAFhQAHok4MBxvYwCVsWxrxbgdgv6r91o9ECBsHggzjY2cjYtg4MB78SiT//zlBjTHksR2ApdkMLyLSkLBqqUyIgkyI2dzV1LPuOS30sTsz0cBCwUBgEygMA4aAA2DYu3NJubPDI8LbRr52pCNbPltV90J2V396/s7fyj9pfw/D41e+ZS/jMLb0VSTONZUhIWfqFq7b431F7fAYbjvIc0W5q8DY5TGiXedF5PmP/Wjnvr+LejJvIl7J6pHGbANPDMlCxJtoNs9kjSv/iN7Nn72EEGKMIcaIMWKMEWPESCPFSGmMGDFixBgj0jQiYl6EGClShEgRkcYUIwJGpDGlMWJK46eUYvzhpzRVij9KKaWWpjaPUkp5lFKKPEQMkGPaBQLa12HtXofndfP/oFAICCpglJEQEhJCAmTtm3tzk5tNLpeEhEsGkDAChOlYvIpWa8XWjasDR+1D94OHa/3qbsXveGIH7dbOoQV6nr+nnbl3fUEXfIGSxKNANEg8oWh/rwDwv9f5dq9kyNzzZAxPv8TT7xZd4IFsfbD0P4fIkRq5lVugIJW7XC1PH8p/UIAhvfzWMQqtj0teY439oov0nrdOrKvpF9O79K95JZ600NG65uruxeVbrRHxQ1GqsNr7yM2aRSyGZjFbxJJAjDvy4toVX7TlN/g3gvcC91+mK8txAZKgddoXt/WXQbe/MtVKp7GAtCDPAGdcJNxbFySQqX+8tbENwtnZAXZnF0MsjCQ4iiAovUCZEkieAc5yYXQLkHq6MzzjPUhQZyzPGRvdfeZ8+D78IPog+jR3LkiDD7Kv97/MTNPuP911b7avKUP6oZgpciFjN/I+9UH2e7ZnYWaG+LfdB6wsQCNnY3dzezQAVmYXJw95ejAJFYppIN93WV5Km5KKAtlsXijYZ8mrZG3Hm9IKrFBfuuKdC0Bhh2ggDbxO5ePJEC3pUEp+EcZ0uPH8zX9fjunaIVxEREQk5I3Z/nW/AeoyRBbcL1lMyNC58DXR8Jm3kHqX8ue3TTdiMUIIYw7hpNsyVlUTGfEQAyJrJ/a6+f1+XwfNuq+aR5kgoCCgoKCSgjWz+1f73KoAQ9z8cSlUCBFCwoPw8SGR4iFS6yAyckiSJIjCdoiaGqKhhWTSQwz2Q971LuQAI2TUKOSFFxAEDMLCgja+y1VAhAe0LRBgkLScCFOQT5ldkyygiIRteFOxw3cSG9lUi+A94wQxAh7SXso1ZGrC/g9DLkj2796XDaKm/xkkvAcIT7TvNkDkW0YAiV7YC1l/b1e0GgMXgRIkBEWomWaZbY65wnFwLcYXSUDodau8QSzeOjIbbaKw1TbbqaVKk04n0177ZHvXAUaFihQrYfIBizIVTqryIbsaZ51Xx+2iyz7X6JobmtzxlXtaPPBYm3bf69LtF7/6r9/06TdoyD9G/d+EVwHUIAIKQWREQaEyUM2RjYaBqQAHF18JITEpOSU1LQjMwAhjYeNQBkdwq+RD8guqUQewdtsp24DNYlPbiq1nrIdtxXbnWtMk3ymWiAWzKM3j5ivmuWYS242txuRYrumG6agJMylNPOMp40FJyrcYS9H96DbdaJSLUtEkw2JDDfI/5ApSiVgQNaKGv4bH4FuwHy4T1kXof9f79Av1zXo/9C30ERKuNsg9Hd2IbptujS5bB7Q/axO1Ss01Tcyt0RRoXlBD9bB6h9qg5qoGVBsHGRVHlQn2RShdylVKquJPhU7hsCjvTvk1+YhuTJ0cl30ruyurk1lkaumIdK9ujTRZMi5JleApIx4X30Xyg+cXG0Q/irpEWhFTeFC4UVggTNfiycimfFN4dy4nC4a6ok7bJbcj7dPW3BpbfTPR9N9dpLHRUbD0cd1UJ9ey2ozfUNVKcgn5YTdniaesLRWlmDdYdBd5RUahLrDFo3lfnpdPG6tzfMRAVpBpyCDpVpbIiCB5J/diajvyE9Lohd6kQZstFC/kNuY0x/VxYixa4I08j3jntEh5sYSPw7uSb6ohTA0VwWDQHZQGWQFrPim80Xf51b4wPGye27P7xlR7Mk/A8rltXbKb6srvzrk+5+E04qgdmTL2DdsVM0w2k0KDOQ6r7BA7hzWHdGweZjdLXWFhhILZlbgIUxiTr5vEsK6Na2zWqNFn5Bkpeo/erqfpSdOI9kx7zHQ0mpjWpjaoEpUT2qhUKVRqYJyR7XLxjzFjrF5SK9eyLskMAcX3el89RTHd/3if7OnJ0/HkgbuArCGTpg3DcZkuOmlMXKflFJHCQ+qPykMcwiV2zBtTR5QHT1T9o3RkBbOCMYKjTS0khAW11OVSB0nw7W50Gj4Bj8d13W5HVu7YNoWrXN7mzvgWRiduEa85hoEEwSuDY3cYhoLAwrQfclxIIdh6HUL28XKE4hELRuguXCS2jtAhgtYDORnSw0XOFHQmhBN6dWNVu6YIgsiq4NtdqEEOFnBTVeCKH906shKAduGQI2FQDlsZOJGuE0RbmsJljijxPtNEYu0YBQXIafNCQY4IoDkEnkNhUEcskB0020HiYo7ElwfjjXk55ozz/jvsEJHxQmyU3OK98tYHkdpfZ/GBYd0HTP5Xl9ODPSCG+dLWsXtqj7w/3i5BBtzS++6ASzm4n04VBKlyES7q0+3db8IeCLGJp7bfzvvjq8IBUX15HLvfW2l3dACQz88vAnd/LO7ah5GAW2dw+LARu7z7sIZePewU7gvdLQ79xP0cf4tqfuI+RW4G2qoPePPNoU7bZzsVWirV4vbN9B33CX5fb7+rWtnXtFVv9eZ9WTv7ax2rUrszhb7int2fJu1XFSOnAVv1EXHWqbuP5vetgb61ShqNc+Xu4PdOe+s+b6cjB2VD8xl3W6t7EhGbTN+4NUq65de7vfkee7fWX6MKd7PdGK4/srphIMt8xF25nCfatuvjfNZ5IOzPpztQeAfS4r2SehCa97jjvxfY2PlOOwmo+ssIHE3tLw9biztWd8tEb3Gnw9/KsW9VltxKa6s+1WfdUuzQ+k53ttMRRVXxWutsiX2tse3sRuXbI+b/L6MY+Ij2AG6Q3dBHL3F7wg+d5iUu/TJ4G5UvT715aNTODkc9PFJEd3EWz1W5v5Tb56pXLoVtNXT6FMMJ55X6WdgDCOFSXV0EK4jd07aaGXTQj+YL7DZhwh78ZezTn1QDbhrpH6e9dzJfhE3+vqnTxU81bJg6XF+sHscBX+2zZB5jqpde06g8Oby5l8tKa9gw1bpJRw9xi+cnlXmIqUimeNt2Q1acJgy7rqYNU1OiKs2oqJZM0Hug8TtROZlE7zTEoQBjgmb0SHND1JCopOnxBVM0dSK3XFxRjZfQlDgRk1DoBV5ENCg0qSIcs23YJ8VmYV/YTTVeQhPnNAxCAHm9Bm8QaMJEPWLbrifGWeqesGU1X0L9sFK7hFrSA0qCutIJeaQXKNYQBzpGD3X5kTpDCBKV1IW+aIqaA1fyZkhFRI0xjMNu46ELLq1+U2suGB/LptKoPN6OzZti2cQaYxi73Giia1w0fswx1xgbZUyzbTfUxmmKsBtrjmHUViNN0EUjpn6cA67z0ihTpyEO9ZgRI+/o3NXZ09bpGH557HyvK41Bu/uPOIUFSN2JRidM6f4E5gRgy3GoURmoTsdn+ssIBY2W0j4jwiESBLKbBHTA9bCfWOYAvv/eiRRHyvxT1q4nVCKN3rmsDXi36yaKQZX5rt8OyiRdV1v1uV7rWlRCVp1dSupaerFTPN9idqfY0gzbqqfG5sY/KLP7WSBA9MyA6+KkXSfa4OoGOK9rrNTJlWtCHIowHTg7r2y9kcSVorAzdsrBdNw5hyu49Q+tw3FyanAV5blY06AtqDje0vEm0/rtsEZyq/YaR1RiTfPTaRr/dwLkpCXFikB7euUonG13dtqqK2dfXctss0PW1QIbayfs4XIlU/7EYQxwrC3f/DMA0L27Zk3Fr+vwAmNzXXao7VztqqHjJKkac41/JD+a0uTgqmHKd8YKcfBhcpzwR01i1ZqodBzxRVgj4l8rZLk1p3BsrIZYfh4RnEvLIaJIJyLnXAM2yRAc8476QBVLK61V2s/UD1Y8ZlCoFsI+r+ovH7mU4DSB3uaOVErk1AfjD5MmKfexi+xDP1FpzzPzkVMPXcXqmi4M/VXlO1QXkTKganWHkiLaTjFgs0yE4fJR5TyoiZoPdjOfUpUfZHe77YCt8FoJ7Gpk0HUq8nEcyIPSAQrk2GWIgxjjY5c2H/hEpV2SF9gQlhGT4vZ7wW2UT6XvZarCURm5b3egcLdVMr6/bRyUNfPerahUWrzA+uqMKWLpVtBP65ITYi5La7bv0oKs8tB3mASQ7oC+EwVYH9fYrMwdO+xhH5mVPUtTDassQcPJ5OnQb5O5RFADh11bhbIXSwjjoATSuDySsBzEDXEIw2DsrEcoejE+7Wh0sSr+ZMSJGBGE9hnvJ88KJmBnjzL0ECAD+xYP7UYH3GW+ObMcINP1TF8f2E7OwaGoAyjXkoWM1DeF0NmPbaMDFanYizzEGxXb8vsgaiasbYuux2mbFVt6J4Sb+Mk3oejRgLirnL/ITTKGJuQMR6poJUNdGU+KzQrEINnQ4UQSUXuBZT5HnSi9zu0V3w0NBITrsjpaYBD5rMosQODOrGSDdFiyHLcy7d9Ob4yctns9U1bRch27vBtIHZyUsUUz9A1ILS4jkyR9zQTsuJGQprNCetNW6BQobI103EvrXr03NOtWVqS/ELRAEV3zuOC3mYY43MDwSPy80riMpKQNha03VnXxE1FDhMReNamJnVjsLqNJdImZGNnZyvgkZ2BCpUrDOWyLliu5NNSM5MzmGlGofZKEOVWBFL9M8AW+oLYZMD4eNgi1cx77FJXqci+w+GHGFOKVBCsR6hS2i4/AHKbY2W6ppUzi4gkEZGttiL2ByxBAzeIVToptjY6EwjInIUU7gWqcWY+jJ7QbetDuKY/K/QszVGI8aSxI1dwUTX7m7ssNyy1ZX/zqxajvye5kPdmMNXQ/qAIUtX/89LbtN8TDJoCnzcbfiQZ8pRdRXSyZGrYXuCo5x6MJcoaqhgr1gFTs02gCL7DJQkWe1F0TGJeN2hAPvQBPQ6Gul7L38Nf2rqvxAis7HJVwkaTOGpUhsYapaAzdYBnLChU9l+5pA1Zin6tIidlyWjRTMSWmZCSXD9YQomRJVcRUxb9Kj0rvSmIx8trkLtkXo2YEhV+qePiLpKLNC6yK8louRF0crL865Y4XzASG0Q5f7hiX4W90eCa4g4/aG2XJhaX4ZoUT3/AHMUyK6An8hdaEghPTKBCZFNRGZSLy7xagV4BQOkzvJpCcE9xA/0PLzkhEgAakJQ/jEdf8CURlGyIJAmjs5MBu9+Zc5VeYPaIB3kkum8AfaGzIY2IaBXDcl3PD0wDlktMblaHIazl+//8MuveS86SQv5UQ46sAvxdQTA/CZ/QSdAJbHqgPmIbQdxPQefVGFD5JbBPoQd2AxBzTKIQTkuQ2KocDPivRzlDxY40qhI2OjJIftdSTHuNHWC6k3bZdXxRrpFngmVfgBy8fHkK5s230DNUzb5vNM4S8ys4l+ibTYdvato17otds1fA+KRiGkc8Y9EB8DtoUIB+qNB/cNj8juMjwi+wHdkYNn5VXArTHFTw9J7iBfkI5kb1kAvRUyr4JcYjH/AhPwNtEJHksFMaJIE868kiAC2dtbmmtJ9whCO37u9Fas/s0AvQDSr13W0wnXA8T3HCIXBfXNnlWeQKQlsacC3gcADra7BDSwJL5DjmJnV0brmQmiokePgbZABMc2etmNM16bKWFE4bM7ZIo+hZFMZLwrbSD1gssIXfrpnLfEE/aol7rtXhQpSaox1RC5xiLJ4rkHZ19oij3OSqrAyQgjtSoTIZisxN9cPcWnIc3cskH8bDzOE4TeITcAuKcxLwJPJQ8b0I8pAM8DQVi5OV3NYYqnQ6Fk2goozqlGqnn30ANHXVrFDOvaNUExXJ2On0j2UgYbyeZb5CO8nKyHUtKe1A4sXkZUSL8CotOS6T1zsyh+8jM3kwz95FaxExK26ov8LopDu3c4fhGDjjSBDaZJNHXyFhIhQ6PkVcy4oQ49GC8SEm8MrvNCOJEJOOcjG8rJX1S2GZ8cRoM2yNg/kKRfiVF4mb4JWyAmkEKkVg5CSeLvhSiM3ShT1gS+u5XcEQRIR/yAZ42Wy8UgF9+wPS2bBeHwnHWZkNdMLJQKzycFug23hSUi24j9UE3uaCAbknaOiEOOswt6BpeCZRGkp6Iws4MJN8gczz+LCpUBaCTvmbdXR8fuok0CdZFs6abksY2xBnmJrS2N1ola2Ak7bYvwqxsY+jxS4+aOjdwjkArdlY0XUfS4i2OuQ5NU1nUWeVNpuX7MKdCH+ffNYeDf56DC7H7h0ZhgxvoKhJlVicIkEcS8TBe7TNXoHawDZGkNqMwzvVWqgePvS0S+uKd44dvc8NroPLFSBXC/5NzcGFV17NKcYDqEau8Mmk+gzLA7Lt+Qelm+EX2lYeMRu6UlFO/3S0Uu/PVdAmR3/sycwlKnvgxbdv0Oq/5EXJC7cO3qRinZRQXVKHXku0FRRNNaqseizUtWg6KV3jSQcjtzmnpPr0rhnc85lPIl8WpbVSWa5wda1Y6JV3ZP69/YLz4K0zNLxxZJSsdGX2CsBqy2DnR5JKwpCEObIwLDllkxmEjyZ7wApPxjnjc9oOgwP8KBrPcdEUcHvpGR3YLYNvbXaBahPRsN+pxADhX4rXA5m2HccK2MPy+qbQApNq4a1SsVbpRSsfLaYt2KhTGGXOOWFg2pGxzI0AOBLneppmPYQOzH7qyypE1DBj8Ytt9y89oSI6zdssbvzoRLAr06sRYPIytHncDkr/lPoGP4I9/U+4ASOPHfccEmNzcrfYqV+SGE1W6PqXNsjMr5UqtMpXJkpoxxaUbo6OPZdd1qHCFpZMEC6uUFgujM/AVUBqdOUQ28eMa4tCNscFsEcVy2EgyPV5gitHxTNPETfB9CShSMYs7FZ2G11aahsJA1eI1EbAp5jQU4tyUqu1SN+YFZgpzbQn2T30wmvzVNlh9cmS5yQE6BS/By25jhVzNBMeWe2aWPPCKjo/Cagqy3OFSVRkvKFdxnkwlZJ5gbWPDEqu6sH/GAj3Rv4ulai4yJzyrU8EQm1dyr9BwTWLnnqmoHG4i7DTnZtMJcWMa4qDBnIArE1t02K1JbLzA7Aivv5Qc3/CDmRr0K6aIW/sWF+l46dxWHW5RTcfFcZfxixJzvMSTi4uLLKLmeMCBD7EtNCVir7hlzQX2iDHQqagUjigbXQ7QMXG4hjh4MaXARjHq8835AIDW7dZoa5iNF5hhyahYCRadEnvzIZpEYDabZiWLzLBdwGRnxHdH853K9CcCgKdp3WeF7RusUlh3MmKQ3vWnd2/zhWsldNnFutrpj+l92CyvN5n3sc4R3X22mu6mL778JYBavdIHeultJ37yl414+GZfP/f5wJmLWa7DF+kIrFKPbeYIZgrB5sYaMHRpJjl4MdMGHWV1OkezbbI2aqpJKGeg4eSY2jZGVyw7bSC1OqGaDsP0ecFkDkNyiZDTqCxVebOQrr2VI6sFkFKcxqJDMA1eI5lDkKIrdVz3Npnm3tkvcTV9+2nbSj3ev6u26hUgcZC4Yw2xixPcQO8B92fRS4AKBHcO48V6cxCinW2IJLEUhXHGBc6dBaumJIvKCHT5JbRukGg3Ly011a7AESg9SQzXANssKICxT6rMIASYg6ZXaogJbjhEwjNG549W81v5Zl1IPCfUUS7WTRCqrkmzOjCEA6Gk3rHRqYHucGJvrNN0oOv8Z+xkd8/8y8SX2rj2HBPWdVC/0vWzEmIxm0ZAlIM1FaLB8QO0X4zJCXHowuyHKOWVYK9tqU6Iwq4GN9y1dsEGjN8NdtxfHvEmzI/comkl11UXQlfFq4JVj2SdAZrnnULviKGcEIdITBYE+5wPIyoJpV5gPCHLGG6UWYEuCHKnEcgA/ZlXR40BAk/UHttZVFwIYbPrZhaIXle9s0WErITGYR1rEeQep1YWep1hi4y+lO9WBi4KslzvzarmG0QflVnrIRdUKo/Goz3QAlmlK0AZog0M41UweyCLRRnkm2wDkOrI3W61tTqmF5jSmmXXJpLdJELfIMLKN1csTEW7oaVCyeXlTKH/iCYjdF2qmyDtXBNGqEGG2Y2VKStCotIq21/BKeEs+/bMMyW/ZlYDYSV4nOPgnaJdUBvBURxTRrtEdch4xmh2YTlyxPZZS1Ra+n0RxnZaWchurTmFpbOad5lW7FRczL2ODhQ7t6kynh6wO5X2aG7PLlpppVJ+8rw07/Hv84ggpYDi8AY30A4odXlJIUAaUazD+MWEeRuLPrYhkhadKIwzolo0se3VgsGYkSITiUDfqHfGYwDwlkolYijfYkj5uEUhYH5zWiOQacO2YWLrcmbd1USMkpF0csVqe3G67nzvxS8VD4uwwDuQUjJkiwehST4+/+MVPX/Q/KEq+m1N3wsEO3MShVehUmEejVhVQJC/LX2qz0LtM2jlt57hWn6AMQ9/k5UWR8PRaAtWTqyShJrs1nsW2MrCYyCqz1OUkjNZ5YY9KzFsWQ1/tgX8iow1RTusrtHfwS3HvbqMT1qtWkn8gwDMCoXKzlSUhBVkSuMAbZbloIynZCYJM8mcilZboxN4gVGcjEqU0GHfvIgINqUrhBp1qJ/kWBZ41DXIP+4X28HQPeIh0813eu4s3bDtOlv6eSc4VEUY2tR0iKtQ+BHfKQFDeW1XxD7Ha0infyep4eikme0OXMu6ConPJhQuSsSiHhLDIRJtkIV9GA9jZgPEoVDbPYkk0YfGRnP48giu6ZlKu7a2FWLZm4BZsWJKwIICyK5Ar6cEmY+XAagcqGj9fN4jxoPYJECMfgwEeGrrd2x/BwdM9MQhOHCdbF1CivsrnegrGGnFSIldJMVcDSbKCV5aK/MEGS/Um7VgiLxCtCeS6DEUtnagVM+C9rGyAOgWTnADrcHMl+lGAiSRWeswnnaY1aAtbENLZ0RhnDF/mgovknMoIGYdy3SsA/QmZkpP80wcaAbzzWA3kGnCNmFiHFBjsWQZHFp+YeVhq0DddSClWEhdHoQmdo2yn9uZssSWLlW9AsQ9ZVnPwXk5wQ0kgmTIXD0BWilSyjCes5sYcGa2IZK4XBTGGfHPnBqOJ39VDpG7zpzIAYqG2Ou5CLMCHJ0Jji0fwTO6/TPbxVByjlYkuwfbyAY30GsQczLrIEBRIqZOiIMFsxxsHm8TkcRqURhnPOzCtWL36gA20rFAyyAMeWbILANLFMZ3ZgIzLszjRmkA0++Z2zuXn+7pP2M2tHJyzR/Y2j++bmMv+aWKslKTwKQ6xlIs1XJrNEtLJnZPN33Difdo7o7iGCDT9G1J22o6SuP7KDI96jWGPdB/pgrgg0es5nwUZv4sac+tSkxJvJJ3anEhpiXClzVg+YZX0sZdhqLmtM6BbbxLLjnvFYOgo9iE2kQR4Fk7NAk1iRYJTxzGozqzCNQoK2xNrAFUDKqHk1WcJqpdCjtLWadK0b+S/RvLoKocEtJCcCUesc1CUNn3IgqiAAKg0i5DIFMK1mBIz4ISwdahZIqzpExFC0qOEt2I2MJODOPRhJkP1Mc2RBLqRGGca2l6+8zB5OuX2VLnz9SJHShRdVFN80rWZE2GBZTDuzXLZgpIwwTHKntyrjuEvXnfkDyVfsqB5juaS0ywmKdpz2Q+Qqb/Huvhhou7H9kZurrnqLsUBqbaU5dtmHIKZW+rodKnWdoVX92q1Nqg/2eAWlaFdBSrJdLp1NA4dHA8ixmHNBwwdtnalf1A+nvsmDZdklubzroUY18eS3kcpsi8pc1Bu7JfLu8gQnIppjFoUnyyzJg1fZORdXmZLKvGOYTuSGkUatATmlEwHGh3mPi1pdc497KIV87C6mvuaqcz6v4m2dSkBCXGTtndmdUN37yrLTWo11abTSPuLukYL6lp+LwEb6+VGW48QKAZl5h0HqEHnuk82OcylbhoIwbeJqbQUMSNJHM4U2jI9HT9KookGmjwPIU3xodvBiF0NhJJAVTTML4mnKPXhlMQ2kJ1baIBCDlrUoD632XcuFdn+oGVaZ5EkmI0dlLxL5I8+K+3RUYd78z0tjcnnZluy6jcIcF0vdlSSVEkUko0K+oy7MHMrIZrI6KB4c3Q3Y/XhgT4UltfEKiLkxLY0T6Hsith4KDAQABdYBZwHBgA2L4ewHPT+6ZwPYF7QdODIh/o9s8GUDNnLDBZENRfYD1vNh125jMjFwFwBABOND0VgTGPsgiWjEAHQ6KC30mox1OFI+SCvPQLvAnQUevGV84zazk2PKbpllulyFQKvSZFtmK3oyW6w/fR2Ux2OJvDjmCvYMeypWFueDniLDgZnYppnFmB/wSmA1uUWE77TOVrZrLD2KxPLmSvegH9IoCNADDl/yoERo1oxCYA8F+zl99vtA7d/7ShX/PL+8Cz3+MyGgUELAV28gFyvZcvOldZM/6Y/I/sFWeMJRhNAw+Hs2xeKudygl2FyiCYCrgWEiAk00w3A90sDLOxzBNuPjYOvkjLCCwX5XUxVhKJVesj5xME7mT3hrWkEshskmQzhe3eovY2jVQ6GTLpGeyT4125DjByht654OAfp4wa99yLzJKK3pEGB30ePHySGeiAmaaA2QfZ7wVEhurkdVSBBsdZlDmNAINHFCRYCLKZqELRzBVmDiaKBSIsxMWzyCuLRXuN0AqrLLXXanHetIaYRLx15DZItFEypa1U1tsh3U5ptHYJ2G2/LO/IlmePfEv8x2fqXXDJZRchqJ2yADkX0AwDqP4AE9/DnAEAOicGzY0ADaxFTCz9S9yKkPQKnFwrl4vyoSi+iSYMMZI+QoRO4ZHL3qLP5TncgHaRX3UnrzFeswlHFeklnVhmUB5mpY0GftQxI67FghO+A/vliDL2foyT7M5jyqfm5mqbNcQidYiLL9L5OgJj4pQEr7XAlnOFiS/qlW4JsfJjXUawL1sj0BUCkBwYL4hKea7uHiOjcKgNymP+XCDGNCxQOfv/DTfLqD0krVfTKhkgQ2aTKLIaYxSIsiqsRbfi9AFG3mqdGe0V6UamNDWyzr3JK9IYYbdbV7Kctb03FQgf8uujoxR5RTBMZFXMRmSHVdqoSQ8lK7RdIRgFJCSoAHBkEpkKUBn0qGB6x5R2dxFhhrJBI4fOkbW4ugtz5F0tRZjlDQjDTC5zaIxHltV0YnsmJpwZSrjzGuTwDfRHNqFP9lhtn+CsqIUjwu1MG34T8XRHnKwipnxmPynu22tvhOr6THathScfY4kQrcY1IjYEG9m0ZxyXlx4wqUnaEdV0IbLNnSDm0kiGv2pUyaWanwZ5PeJ6HalaySjn+Erq5skjPzAfGCSJcZ2DE8R7wkKuADEd8FaMZ4ZMKuWrG2/XymRfxE2rH3J97bvmEGlzg+ipoEl299kZww/v/f0Tux7WsSpWdAT7YKWOZgbWAxICiQdSXHppvqCM4QLy+R7G/y9fRrIVt7nFDdZkYVAcF+uDOH+wPZzHgUm/VzEDL19oGNZEDyO98J7s8NXj21kg3FSTyKJxCHmNan529BEHFGJFlMOKGHn9ihVLt4KFQcIaefBREl88sFAkHJCUQPsYlBz5YlCSd3kRwo50gaOIklQUmbkrl7zRvQsRlv8wL5Tu7eWpAbLI6kIKSQ+vzWFWibaDV+6pasdGl6Hv6CwempXpTIKHTaD4zDhuwAHtoeGtKclukXh+r0kGpwP2M+kkxvaQBUAqjGIxmcJWd2ujxncEzjQalgy5jcE4TtyjfexjMqNOwNBkny6jBHBFkgnX0Lm/ZC03VoSVTpPVOVmDKd3Qru/tdDorsrag6mxEVMUKoi7M3DSTttYNT9wurHPOEBq+j3TmtQxthMk98BnFAe0GZArpjBRkbLxHc0XNvsATliO5uVWO2R7kA60/Q9bmBcig9+2QxNL+1cqRUF5WWu2ymIruhzUyM96VksY1JJvFt20VaWuzj4WkDNL4aCCSkziqHynI7qEYTXigk3F2BQvjqPJKRGyQm4t/AvsOR18Slk8Tak/XaUQx8QJWs7P4wZE2f74F7oe99h4oIWfXfUBKoLPLa6vm2yeALwzdqRSjCcwpEcO6yrKTD98V1cIfwEtibfdE3LONDLXAE9eT5slYxOV4Mjwt9eSM9n5SKJCSYrMlBrHL4uhg2sW/wUdVgC2yrAaQZs1ChdHcYTJkpbJjozqDXUene9LyrvOFci3u4X8Y/3FGOGSUowL0ZGfaC0NOkMEQq3ezA7OTT4fB9kkJQtkgdh0lwVHwRnfpmL9S1E7m1RiHlFy+LDIUUOFIUXJAL+bFY6RwRk0tlgI9znJ0WEws3/nfdh/eIQbPN4i33VbfiDvinBV5rXLVZEW6C46NGBF6BXGMroNzcYJ9FYRo49bUXW/bQZuuHZaLzFCRCLnbpQxfgHTxFvXOjrMK5KkDS2337NpYjGc0GQPQRvZlw1aVf497i+qaqfGw9GKB117W7FACgd3r95peKO8N1+XWAXH1z6o00ZzS8zVbxGSprHgHmwRGH8Urcdv7yWcVz1yJgsoehPf+Eb8tSYTw0KWUjnK6y6acUTQ78xXytNf9MVBab/N0eGkdrvbwisL6rzyS0WG3hZnKxwvDSEi2muG3Hnkoij21dUgAXWvklBq0c43Gwbviq63aUBiSDzeyFIX+yOEMdoPrgj9qRvaHqMmnaYxBlw8reKSQEyJZuFIbIS0dhq2k+n3p25KgFOVzygg3azygRwxGCHfSehG8fZ1mnSguNKfqN0OFMFJREbPjbea7DAo1B5vZ23CEDq2hIbelNW5s0YEdxUhVA7P9EjODhrseOAU3bo1yJx8Zr3XL+sEPP4meHOvM4/REjyy4tsKgnGmKQ9P84nRGPzoO2w6Oy5s02i6s2SwxFfh50XMrdCuJKI5F6o5Nhn6c4mbsPbu89M/sezL3TYZ7sgvHH2AMxXK7WO5h1b0VtcU+2BaXy3jSzNs3yTxc3PrWK+XGkOno9t1Zpa0lXnf3rZEuhr5XfuQKs7k/U9hUO3rli1WntEpQSc7dPtfJlN1xhFCh3g7ou2EdtFH7t9xwFkYritNdMbdjGQQ5pQnhzhtCWEqAG7qOTihuCvOUswnEjF/juo9KmbvBTc1+bNDitmRuB+6lzieaJw1v2K0iB/39SePsBr1OoxvBM8VaqmbobSbyeCw6JJOnyXGRXK9vt1aboYpKrxqQqgTFgNZ4qkUWyOSswS8RUEmf86t1v0nmjacxn0SOhGPqT4o63SlSpUO3d7nOhu6ssSIL2rpSiRqKzIRYTNX02T3mWNPpjaAxuRu6mbP8VOd0LBMOqK/AUCUjpCY2RG1tslB5JVaSAW5OkgqqedUqHODt3Xb+Urq/MLLqxPNrfV2Rb1uT4kQPu0jpE+rC0i61J4rZmpyvV7dGY/0ukAgb6a4sJiNJ1e64VGROtFcJUrzKiKSp4pUkhrhuyyxKviyPkAIKL3fglAIGnfKsnHf1IpSUeBjoVTUskV6UVkCXqFMa57U/RrvJJuVIUXFZwk3KmpS9M/RTzuhMimoPS/Ul6jm9tkuMB4Qmq7mJ+1yvolKns9ymXc3gbVSTCdtHR/FRO3P0KbfwlIGvtafN00vK8MOd1HMWckeYZNhdjhvs30sunhdA3t6u5XdrJfLB5H8Q0mQZ9DYm7Rrl9PpXt5v4/4mWyQ9b/8dAJ2gK/FPCOPutsC1foRRIEr9i6r3QIIVfTpfjBt56HpUaaEDCpqQ5W+1W3ikIaHsh0HrnEpvThY5XwJOTO+XsaeNOanPCVqnV1l3bRQRY1ji/YlxI6BVT71FAxqE9BoN/GuTikeTZ2SiilDQ5ek2em4/XulnaYCVprwgd6S4i7AOJ0JRX4mR9t51zTIZojZoVmD/OVDYbksde8gP942iYfHNweUBzGX1r3ojJvtCYjEkoxQmb51tQnXoMkCMIpn+3UiG1HMOGnpuX3Asch6XQemfiiKBoeFiT+zdfcfPh+rLfXSDNWuv3mkLuus3S3UTsGzvsBPaRUY37AiKoLHpEinY6bm961nljK81c3C9tfpAH3ug545Wlx7eL+W9v9DjfKIO93D5JlpC3so1oUc5IRseUxWs6Ll1R7jKU40HWHaX5RCr9CAX7dLLQQwNVa6KR/8CFPOiKmLHtFXAHT3hAV4UzhmixE05jRWsQfFMVSN+1Tev/4UP1aqjYVFGJfHgrvMa9fpq5/8w3Kcd+vupqbGtl3jfKC3lfp9UDe6YjBdTH2D6nojqp8M0b7zYfzU32yarw6lTz0jIodAzZteTuQTr8RSqvojmoKg5Xam2ALQGoL6NRc62X6CLvPM35JHNsk2l0DpAOMkiIhMH224oWoOzTleteHU971cr55vTjRXXDsMmHbPv3O2ee5snMxoPZDQsdilK0GSefaR2a1mzMmHIoKTGcH+RWSGmmZedooDQ6y13mNhlBF0D/QjjeuVQTEc6Mo7kQNICWagJeb10LtSWUDPojzpYQwhLhvl4La/uFtNAMJXU1A7eksJq246RaOjH35DyRHAmfo4t8gdJHJ4E+HKZySukGSwQwVeERSqyCxXTmR2uJWokRQCbjY5Bu+WEbZJTqO3chk6mRVMYHM1HBlDrYvlsTbCEmfaaQseo2Cdcp0G05ne9im9Sa3jKpJu+wP7+c+LxqzllXI3OZr6Biy5uPkoFkajcjrBy8TFlIT5NOvkR9m9ObtlXpBGP+b7Wdb3h3+21Z36xBj0XbT5PQFn+ol1/IA3XqBaRMxu21pynEqU30X6a0nDk7N87zBTMnEDouBtUTguecRnYqfF5iM07B21CqTUaKi+Gh+c5mAfdW0Cbn0+wkS6o4WZ9ovfFBdkS0Ovb6eepOoHVUhVcCMF2PBIrWkty2gaE+ufzCrH20ePxCrkXT67u4TWE4PNpMgu0AklCtOj4VumEwpRxVmJu5WL2i5YHVPVm3Ztxl3iCNHUV8Bv2z0FLRQA9b3M/dz/8FaXvlTL89aCUR/N6+msOBHvlOpFPf2zZpSrv9EekefjcFIrXiYOPkht2TbDzut0pfO12BXsSTI/zUul569ffQIfJGn7j0WL0ylRc1p0Mb21G2LCBlF/e500LHQfzw8MwiZkXF2Qo9Lcy6g+YjGrH6zApwATG8s2rkpbUwG3ceTUQz0SGu7tH1IQ7ot1ODyRTIVSxMNhrTmVDIdKyDSJBbkQrzWoEl0+5PkXps71hAVKzRT9bqYiA++2jRmUfVgosfpgZI6gnF+CTnyc3ll9YEhK9/1EeMfP4G8QYYIabdPFF4QzbrxS4lCIy9r+0IV4mLrI5CfPp6d0mpRwNJqkNCdCW+VG8xqLUWm35p2Xy1QSeTITr1AiCgGGpE0iBiM0gDNSKDISSWBBASgg0ajQGB7JChwp2f2yASlgRDYjD6cCVG3Zc6M1PMDKocG7srspmIUJ50gU9j/9hZc4NMWYuyUGUdTWCuc4UNNquBhWTnfBhQyuxz7O+W0f20jIztJeyfcsu5U+0ECD0+TFT+EqdUG7sDKEIXbya+P6hOfmCMVD5VkkUz/CkOosQW+RZiVa4xSKVkLpjXQKKYBYb5ZYSOHCEoSbqF84B/jFS17lLWDQfPLW4cLI8SoHuMXG0jgGNsvv2bI3QhPFG5/un8MR+lOKidMje5WTGvNTS/FaM0JHYldIooQD228KOOOfGWKXjBDu/Ywg87Zk+1TMHZOwCfYgiKxB1wiwNBqYNh2BERUwGCayADZIOypEatv8LoAQpzPqO6efcbplVteCkkal1JgUfdpSlwu1stZH2wjZWAU4hjX24jtk0cU1LwBOaZDyibeX9LciR/8/aNgWbsG2lYKg8ZEHlNeJCNG4p7Nmgwiw7CzJoNgBwj+7cbakSyKm31vNbw9uH47WoEVigNetV28PZQ89Et8ReIa+ukshoENshClEGNtVJMxwCjqrBl7oVPXryRYNXBEGbRIGOBYJ3QDfxjn66Z+7/oAb3NEUUytumb+2Tz5C+vVqKYWoOalKuBgGJpECiqUkmFTY/qMZ2iuBQ5U0e3UfEWq0ZaGRIiNd3NwEfKYa1GDSvEJQLkdjjPQnXFbFpFVUQEJo9dI54S114BfEpDS0dtOpmuVZt0Wo1Jm06m1zW3g+9vPQos+eFyqE8un+G7vPiH6jOPQKziUaU8ZxZUlEZbUsZGcwK6HHaZNTV1SdIsZQ7hedSpY1PtspSUdRqOgQ24o51XGps6Hi7jkDbOsq6H4Su1owsal361jGO3s5f1fA0mQx9f27Gef+Lu7NmfnniVH3h8LRR4SEuJkXiLtJRUEOAZxRv2OZxhr2e/QnJFKUK4BjIJ667whmK17sW+6PTv4/wmOQaX68Vl/y4R8Us/B4MUSGaHtRBhwWy24j9YrHyaR29xaAtVexnxjCoKW+rw2DZ8FGU76YxymkfvciDsrJcY8YzOKNXB6GFHLXnpdC0tfyTuFTvHkZ+n5QA7xVhu0WemR8kxciBuaWYmRFjRinAstCsYjnU4VQgK98MIqlLAJqgfgk1AQDHUiWRBpN8gC9SJDKHu+ilesgBWKjUmA7QVMqEaJaxikVO83fXgzqyCKKuHy81PoSgjseCuUDhWYSy3QpmZcUsHyDEymp6pL7ewnUq9YjhrU6r6EAMexdioUNajqLQuKNfTRv/am6YaHZaQu+34AoW5run8JiMeFTo7zktfhTFVU4PK5IIdLqSYCX/GhyoV4caAT0FqJNKgvh+WBqAhkKd3AK6tlCGIUSf9NUImGefihQY2ApsgHWJCaAnA9/EAMRBCym2WXcSuvGm0nZ8Qn7wBBoaII7x6LhYXTk/Tbjahntq24NxgbcyDukzatJmZVWob6SkvKOiIEEWQEYUz4ov+azQczShAnJiporbe10U2aSBYroRNcBB4iMvL9xPx924SwD1U0QsZDbr/fknAibULOutBaIzc2vzWp40nEk7nRd/6teU3yBea2YUmwXcniQw9s5JxhAAGjsuQ/rA0gScQodDbvMJSNk+qdMK7K/Yw383N+Zy517KH9Xlu7jBzL/BzSFnY9x7QLD/REPLIsNEWEkVSYxMi4qoAcWkQBN4IZ0mN2gAwdghKRlqqj7cczvBos/Xbt+a5tAajrt8bqNZlUKhfJzyEYIiCOiutfyc6PSi3aDOIn2Eq4qJOj63/owhHm5ftUnnesFuU3KKXZsSDqiKaI0/L+ZsTl8fwX3OaE5OvOD1jyGlQPeQ0l0tYjBV1raFd+uJqXKREK1wqu/CPVRIHwllSpUASjPMkqBz8gvxiy1vTI7ZriNRTbjVW1CwN1bYSbIaN/t9hbRCCrmk7xxedlQtXOUiHt6E1kE9mIZBRrRrq51V2olLJnG4n/UgxT6YuYH39YEMKnlpmwWwBPMhxhaxvklUTSyIkX3CYL+6zpvhScbvFUVNZB/xUSOIPimE4xJMSWjHPWcYPGJ4qOlkgJEUMhFJrwtRqI6IrLuMpIZNMPXlSIIiaCprMZXYTupPYuZPc+QHxAarX9hOARwl1dtQGySCkNyqUsBGqp1Pb3QF+uM72L+ocyBXCuevnd1YLFw2WeNm4fCW7bsaM5WztykotbMv/hChXOqrZYfUSzda8vAV23RIgvpQ9ktzcOth8XVF4vTk2GB1JuTined5Q8y2L8tvF84fAsSH8/k2c9sWKmnN6/Tl8QUVt2iMgScmiYmIDqVpkIsDcK4qpa2fz6NmyfLHpukj2Me/yhviS1MLCHlE9tz776ixqVm7hUF5KybSdAsA/I30iwAVPpJfdCpqEhjMFewv4lJuYioi4U2hwaC0OHayzlIGsSPN9TlzuXJCT7s7cOKAmruje3RTZu3jJ6t0E8Ps/+rZMEizWGUxq2GLWk3GIsiYiQQ01K5ZLgJBFNufQSScBGBRD3SL4lCB1RqMOQs1qKYSikJ0cPsIlVpCXzqRE5nXWSPXyQFgKdgzYXmUcrOOe5/74H/VeUESp6qymOEnbxMrVEAqZoew5UrjtIhm/aRlRNOXn3JsCm0zvA3VtYXNtZwcopmBNalUUU9Cj4yOcyHt2MR+hFWm9CkE9hqmiDWrMBTvdGOZ0w/mm4GT8y5mt5LmrvudH9PNglsq8GgQLOApqSocFaJHwK7n8ayG3FF1RU+IqMAcNVfObIi4dBsn4Jaa9oVIXx1ylV4rKq/l6PWPKU+rNPoJr7XhFsZEnx/TgtBqixredBpNZ1dSoNqm5TpN51GkBqV6SOzbDK3iLKl01WCjaBIO3N3t3LQytpXJ2sFg7ONgUxOWEjU4Hwioy214MjsEgZ43RZYdNrO1s1iss1kIWHfX7jsM/bp7blmtwmiHYZQf1m/33AoM/lh2bmP5aExYP1JFH+sgjoIEXGFlcKk1MS3naDKNOruRbKc67ucovSd61hRoT52wWz/9Wnjl4HzNpPRkt4vHNlWtpuGtRKz68GTuC9xw2rTozo7tKO3qJsnb81Lh3ndqkEmiznHl0Z1Zx7Wh0FQ69Ln6oaCbSFahKIDCpFq6re6P5FM4jduFtDud2Ifsm2PuWS768Vw7429n/YzL/x+Zcw/hr7D2QGBgkKy5U5W/PZ+xnZLLUTAiehDDuZGFZZ6mzDx1HHtqEmP2dApDygL5mYfPCa3fp4+yZ2TFOp427wvRs8PvQocxVMH7d9ECNNFFOjp6WSYNyckU0cPexRwzbMI3GhiE9nh6sQaoMGVQC0i3rimpHGV1ixaC5QawIwqpSr1uyPErW9iAatc0wSq+fdyH/V+laVCpDDfwQGAwyqQEFwwGzSOa8JIUfc/J/Tca8eTTCm4dd2/ENajg6d3bIF5o99yiBPrO0Yj4do5E8+df8ld/ABcfkzmWM6R2LlZQnlpfELoKKgqsepJZ1tQ5pa1TspA/kSsIzwqQB1q0nsMWokoMhXggOHZ9qn+e/ynzj9pbhOsubq2LVVM/EDrekxzXsFPcEiQnIWVAFpwUIcY9z2CXpCbgntvmpK2OWN+uGt7xxG9zfp3Fz+DYWZU9BEGnD25BgQTD4ViVfU4KXCLKzhcKpsMkBJ+gTnBU+464qsDqAO4bH57A+YUhJtBKe61kLnHCbm8W3NQe39h38Dd85bScOtsTy+b9dhr58HIbquqITUzJxHw40Yfu4HajdR5eDOBDe8Spe600Jtme7c6F3Fl//ofVv/e3vnvyjLBgQbGR/fPh9JjSkTMLgn8eHjO7md21TkdOFlxLwYW3QeihlVF1LJo/OyhsQJ068pb+2P3kLKM7H38K3sQHSmmVn8RAARyLzxZ/uaP6S8xUnevZ71vb8IAxw9+ok+41gwr1gD75nKYlSNWtkrcHXSBcZQTsT4R7BR6Inn36gy1vj7ESN5yzHCcArzKsT9/F3rwXWjQcsIwwC3U3/wX/SL/H2E/yWGH4swFj5N/DUBM7uvOxWXt9ansDI4sDFWo+W4WHktKr7lgJNb3/ybrwbW5c0fJA8CIyxg7144bRCxRFEW7D/2g8sA33Kmhx7ysSZXb3Iq5/eMeTs/CMQrx8qIF7ZVu60zt7cJJmNPPQgUtHJ9BojM/bAvl7LJ/nFuLbjHFyCyAtOswtOFaQM+zSLn+MOOo1OJ049+WLmokB8bLAL39fwViqOdBwmXXwePkjxGbhRawx0Im/fYmxf2dLfEvKzvA7sdW9fuYsvwd5xod+R35tA360C1TwNFz/+A34CF6//UcrpvKE3i6wtlwrgbzj5v1Gw+UU0gpWZZIMeX49o+NtfbsgpsIlEWwt2BKCkg/JfOt6syfkg4Wt8GGkfDtdSZPUnOIic2KfSn60flbBzvbtm9BM9X5M0f4re1eDfG9hx+4o3C3hWz6xi8HhCM9ZaY2fCMVU5h/Lvr9Wn7gI5NJMM5x8azOEs/jDvZzJ8uV/NH+1auYa6oDn9LFW7pupx9i6rtTeLTltmtS7PHovnVUlb7qRruQZ1qEVqtbbI1HWorjRQodgUIY+IEbPVgJTZTJjLrNe+sLkXnUgPzx0uvU+DcnNEtMzFaGzwlTrWH4vlScx81YtdXBg/hkJqxwb6WgOngerJzY0hipi2vFRy8CDaAfit2Ryw+qsqMqEwcY6q0qQIuC7iJ/Djf2X7GXznWu9nRWEFP628Xt+i8b83qnfF3va9ciCSnYXu0/qq/G7D/qk5xX6HaIm/4gd79SjHC5YN4gz8/R8Ud3DdxqSVwUTqC/vxqhqAu2t+5KUAj+wu158EDzcKPghlRg49IGX93OTO3uQ5PV8HecD2QbwDF4O1DgaO8OPM/M9OQDcesa9MJBNX2kFO2K60g9l9kBZi9d5PefC+z66sDLTR89pibveHRMXvIXnsOX94PN97vbEAXT9RUXGLIL76Y/78pK9UbqBn787hcHJ2s9n/4eMa8P8D0vtWBBKbm+I8pOhQ5QvvPI67RnhdY0XiS9oVRGK4EZSTguQr44UP4iYhmlq8SSvuJb4tfHi39iGNNXUkgR+tx04AfbzVzS1HyiMc5MZdVwkKlCorW0mPUavQmsx67tvI2xE8lbh6o1mnMGo9ZKuyMlAK7JGuTG4WH7r8voijkhChYoMhVCxxp4TEiEah/lM2H7p5caZByGdaCnq68JtCvAkHmlT7uP3jLWGs3AX35bY3mXr5PH7+si+XAztfZq195r/KfHXt+vWsA85VSedMQZhjX28fHfUKIzPmH4uAezt+GD/0Q7aXwA0vCeEpcIGP/ctWAQw79YnoaX5yCgPwRILGjKnZKuzBX/TZS3IwTyeNmTUokdH34IMzt5YvwG/dBVfFf1a6j64sb4/r/r8i1b0VXXHgraExMqJVwpBeBWsjZKQm2hISwHNQV3xcQWR6ch1I++mRLfWOxOs3mvXIIXDVEzIiBgRFaG8M4y4KrJEf9woDMBEmAFNEFjct2XHlxBtR5u+M59GTbxAHTMm5kdQkwKegZp2WJU+LU8npdSJz/1MFxiFPD2Zc7nOTcO9Ck9sRU6tjjsNmRS6L86YQMZY5FjqMZYjwzcJ7cyimBNUip6VQToa7m9yR5q4AZo8vWlIrbRe0FHGXChYKloIvQpR+r7NHJreURp/kmAuExWacI1e7i0rsMpK26L95OSvc2VnWogPfYv8KdlyZOxCGKq01QRfzW+/GG5//saCH+y2YGBrwNAUcuLPJ78FfI1/DXwO52+U+jtLYE1r2Px5dda6woDSrOt2YWuFTq6zlkcQc+79ktqbKIN3V6qLAodYVhXRJH4dR+qgqHUsr9+jUFpc28cLfn0vKYmRdGnH/ZimLNcyxpt1/eJTJ2UcF/JijS6NvsfRb9C1dGoez84Q6L0qkrSoVeVT9KpG7SqDVMi5JonqMAtitNELS5dIsrlSiVRGSA7JzQM5yzmWDHETar5j3OZfap9+mM2z7V1UTFy+qCnbJvxYKv5bL156TZ3+QnR40OejqlEfE8WKt/OUmPL/euYZGa3Yy6suaFB9mzJGmVNzl0hokjEbuaEVOATfjQ8C/iBIuBOEEaiwvMS7NKC7K4PEzirhT+fypwBU1lIweIhOxdWvPiYtLyaVVgiwN0sOWMiP+U+Woq1JvWTJ2tvgvILB/Fvfevzrb4t2B7WITdd+vP9uZ3R8MqrB/WjvwbJdvgV0/gdFfTkzH0ng3ChXGH/puOFU2E/9s+yw2GrUeoyjreV/33EH8MQ58bpRcugffswAYxlll5KQ5CqIvZXMm9U/2JMhjeHdc+6l1491arx1FNbENEm61NQftkMjcFfzKgqSyGwXK9R5PvqlT6FKJzgjR2nQmNRDZtLnBf2YmPcSzAdYn67SIBwZyJzZf5x58zwAFJ7uz+OVnzavagsvMs5d/rECwMJY8mb9sHQBAymmQ+YvoT72XfrHPRp2yyJsPSE5/0fPOXkrSSGIF2ntLbWMsYOpGVgpLgZQRejeX+0n6Fv/2E/7Tc19uVDhjwSqasx3PxxuW/Ygw4wcfTZcF+npB0G+O49D3KL9kHY19sU9kcMk9JDVxZbMZOAJwkQNY3HjCtgo41rsq37rs8oWB08zmVT4GwP0M03ZqZgC879e9TLWIhzd/LMrEeVho36QS73efVlSWj/cLO5nRVWGcDblecTYeaf2Rfc3hKL+ZMTb4Jn634S0VHotSXbvw+24t3jH8FyZT/52DxSC9w8K03lbtxbnoqNOz3YPTi9pCPnkn4Yu0xJovEv686Ksdj9ReIAuN5HAGT9lPC5ujqwZcTN0lLPr3g91gK+fELiCeQbq9qxMj+M+tE6chpIaCxWtJHE9vnSsdL+9PNIzNlOcVLcEXSxZLTz4FinEWJi/IAPZgDcKvV5rZJZ2T3cm7eABcD7xFb0xUoddLk2vADdyBknFwnaD3udaJzC/ZX8rKnOqCHTUN/UThNEslr1lPPgUTeD6+Hj+Pkx12h/lD2BCpj65vXofpI+z3R/6+8t2chaN+VjWuru5TFdEaITpJtKqx48xMf8PmTZEAWOCeo8qVCsWVEFzEek/Lmeka7abN9ZozsxpDj4hyQzvRNoq1G5zJ9+zd6+admRnrWUwuBlP7Vlxsz8Kyv1PwO2Z5yux7lxv9mbWJ71ip5c22EN631f5xAuTg4I2M3bPKW1DDma3UrmS55hhIqXGOLjFkePkpIb7wIcVWvqfdmMjEm65PrGie/JLgDXHMyLDmAy83+raZ/V/jpYE3qurFiHDLNNXGJ67nfnZi0g8ZVe0nvkRt3n8rCKqXhvDgg/u2BiqOAm0ZiTKnYXmhDp/PlBbjS7R9fH5TIIRVzwV3AFyG4Ln5m2UfsbZv30rgkqvRgd4D0VXRr9hf+QPtLaANfCvYpS0D3Js/aJN0uK5X1zsHVS0i0aIk9xHLgTk7EHjnHFDO7IM+1zaeem9qNST7hP2ksJQyb1CKt0FlejyGl0ZK4/qa/bWdfSc95UxJmdV5jp7JZqvkV57QZz25ElPEZmdR9z3KnL00h+vhqjGLRkIvqLNs9CDBYRfNTjkr/f2tJ9nz/vsFWPN5hRZqnxwZRShU8LXr+17IYmZfYjP78fuSIjrfm3HxwBdbInVkWZY9i0O5OsFZj0aoWeyiWfXyTZoBqTeMwuGxl5RFF+e6lYUxXgc36m+SdLq29nTSrd/n/hDbD2Ja+YG0u9X09vxW8/HfxDsg/Lho6RpNa05ePUPr0RZzYBOrlLd2Db81m+GlJ6QrRhmmAjBPvq26JmJLsdwq8Jb6lFZrsYT9pPLB4NZS92w9KerVs+18K79SXIlag3xks1YnGGRPcpr538/ncU5ufT9dV72yOGyV/IE+xH0vNIo1m9VcDzenj5pJlaSfKU1ZJpqq2Jx4+t17s5Jf+CvCifcPEPxiuCeCW8zv2BnCh3vSZ48q5uecYnWS+XCyyrjCVqmP/i/65L67ak7zypmrAfeO1CP4F/PHNx2iUm/vWTLO+kEI4RFOox2rafk0OpNGY9Ir67NiDvBX55e7zYj8fOJOKgfcl7r6IrE+8P+maF9tWx+Y/9Kavoq+vnC50+UE/JAcgSQS5vJ8oTsH5ObG5cyNi9cAgP2v0N07585MBTQ6Qi+ZyU1b0348+3Hg+Bt22A5u/YmbQwSyhkQyptM38ZRKp6K8bHxiNy+7yPTLbIvXhZgLJ4ui6YXrkXYfA/4/su7j2SxBliRelmXxKRzYkPoqAIS4g3Sf94B3gXe+j/FTn0IgHBKm+xwU+xRkeue3GH/ns3P4oUR7z/aebWXEWZl2b6Y305vpzfQWegu9hd5CqxKCZlgma+qjT/DW+WR8Zd0r6QYIFp9Muo8eeOv0jBxC+bA90+GTWWLVF12HMpaWjJ+CPrJ5rP5M3kHvoHfQEewHwWCN2b1j3jHvmHWeJTRP53L4+sOJeIbB+ZrqPglAZ7uqH7iuULloeK52TOPXhfo3aV/O/har7f3KZxaqucPiSO8Es4UTd8Xua7JgvwA3ViRuKj6F58NAf75JKbhtVYYPy+WXapmSqugdl6MVdxHrHhZkk9qfdJvW9YZ7rXQvt9I91Z7VZ7qy/tK6mXUDuFtvc3cFTeX68MowoTJl7e0tLdbX6ao+Si81d9Ba8Qb/Ae3A9rHL1m3USmLOptX2Dc9cGqbFjts7yLe1bUpECD2C/sF/FcO7W5XSN+38nODH5grpxZn5HQ095ZSzAgJDYAaC828YfaHaXWFlC+j0wKvPpjrA5ASTNIsiKNY4koi9Gpmz+vey+NIpC/bPtCboumlLRkKmoBf2CgZhn5Al5AtG4aBQIBQKh1DR7zRruoaHg119V/P6y3L/fh2oIfiEYPf/tpkeDyjQb+sDWxvqQ5MAzAc1c0faese40KcSaGGAmfoDZY6e3wh9AVCzvuRJaccGzETJTEgtCpSg/uRZCGqRsKZeKOqFwCF1kWGbOLhSsIQgC2oeR0iBqZiIeLjlrrVrQIRt3EQUZo6Te6kXWkIhtGpl65h84K7wp+DRYfv/5+Cc+hIZRQh/CCoLxy05fdKmWdCH+tLuxgaDM9/J2aRAOauzKz7fG7O8mp6KE+ZCtmfdVJwjk5un+/hdLBwaOKPazUZ4PQj3KzuWWpbe2XOugPUmeIsQLMjVSiNSj3PfS29M2Ba4oMAmVtuhOxO+dpZaqTjs1atJK27x378IJx6xyOu8ZqLTdFnBXwK9Gec3RPPEs8vprekda1lenMbDJ8nD2Xrts6amnoqkrk9iHoRfz4XOXoUO1St+3hC4VkeVbmidJ5yFfPjvxXkqzd6VVlYWj5d8IsdNmj970r5uR0yHGpHH+0XXGr7Ve63OE96CfPgk31MB5Nqer2KzHE8lgeyWnQoBtfh269nzFZyh/SXicP0BPz/ULdriH+0jf6la2fi+Tw36wQAC/hAZd3gg9s0XQ6aXcLoyA5qsNRFXoEPA4QM/JM8tAiHuswwUBS/xgG5wcBJz83FWy7k2IDlewGJTlCsg5llWzgJ45hXhLG+rB4DNzQPakM9SJSAEdDDY/eVhZyl5uDcK2oEcrL9vrrBy8ZRWSnAETjpwsHCMAw83FgcOO2ErrOYbbZxeIRse8bdb2A9a/gngZd4mW4fngWanzQGYmsONmazd/cNt6NfXEiUAXBsHHm5v4UvrQC6+qUI/+l2ciHY+86E6cUIj/vNq2LNPKDwRCqxFt8S/Jp0T5SBG3zufV6Bs58QR0KDvnM8fMOkbrrBI6UoNLVCL7ov/jIvPnOtOnIZdaLv47CPtH7BXzMsj9Gfk2ck1tR85n72r/5uXegcZOZ3PJmAm44B6FwBQRQD/iIAPFsgAO7CA5Mh4IVovsvxxpFixZQXSeDJ4SQFEd3KUYLq1fz4FJzH/nx9G7viaffqGDn6L0G/ic1fs7wftaM+7dDCTsRPx07rHQCsdtXmeUmJlMPLJr4yfHYN/y2l80Bp7vm+0+L8xEbWE/1orNpTAg2zi83zn30XQx4JV766u7VsPKil+LFrW9RH8eazdE5vg87GJ0PmP5V9eWHVpq8bZCQAceuB3uAadkA8ee5m8zkAPjMA9WGAdXof4bR+TR00ZCKQBu9fCMLlGhKNvEPrHSUTwIOwxrhsOMAAgQzUcICYEAG5HMH0dAlZor8OAgvCvw0Gc1tfhIVLN64KAqeR1BOBLeS0FYnA0FMcZsOB9w2hG5yDdXVQgAcARULbHatusc2tbo2FvfbSxaW6V1pt2dKsFrHvCuhbrWPjtLu0ubi1t72qsd3VhDlu9x9BVy9qGzHmxNhIlRO9pnNeKJ57K+i4h2s0Qlz5MtMr4hBjXc2D0NzKN9yuDJoWZqTyYoc+qjkVdAyKZdSElGO4I9VVkT+Bd5/Lm+rBHCpk3aDJCoq7PHXqqMapKzKvbeniuDSQIGqygb1700aYDpuoPbWF+eQLRPwDc64mL9EPhw+vZnEjhE7z6ax56ZAmPX3zLE22+PcTADRc1iO/4zp7/d/LIUcl3og8+MNE9P8h4YJV69dR+402joOWaNbfFnCpO6yR4x3oDZLLHwvf/sf/ly/0oV578TIUDNiX+kAUP5BZGSge9p1CBcw75wlZDVLZJdsx2KYoUO+LwwQ0ubFCTHT7mMPPQCfSwA91zsZJQ/14GIyLcNuq5MaFmmCfcJXjncdT62gemI6BZHQoiwTRkqdKISVCTAo2uiHfPfR5XXXPdBRfd9aUgpJDRdERBMxDVTOkyZJqFarY5smTLkYuGLg9DPiaWAmwchbiK8PAVK1FKQEhETEJKRk5BSUVNQ0sHogdDGKCMTLBwWc/CmskdwUnsqOpsjOJvw25gW2C+U3ZxWRNHxGxS1kIhSpkP2vD7wfvZDG+n/mxBqODmUcnLpwqpml9AUEiNWnXCIuo1aNQkqlmLVjFt2nXo1KXbXPPMt8BCiyy2xFI9/qX2S8D+8WH2gVLHWBxX5oRyFSqdZHVKldOqfcjmDLuP1PiYw1lO59Q6z+UTdT7ldqFya53w1C9+0u1ZLrrkss/U+1yDLzS6wuOqa6674cmdbMRr0RJhSTev/Pzv5/VgUSZ9YI3zG/dvpg5gs1aA/tg2Xq6Z+09VLbNI3l7//euZDULGUzb513d8vKljBOElvi1JIleDl8HOQfe/IrWcOZiY56IGEujqGGgz3sGS54iWT95SP4xDbuLO/CSZJ3mAsgjvvYY0efVnRQpNhO85Q/PDnK7U4DOj6fmhiXJBkua3zGOBzyq9bNk4mTd0hpcEHzUHew1FhBTxa/V80/Q2cvTk16wv+KdfTzBHoMjQ3ZZpFoOADc0YaGNwTCYDD3QDI535ps5QkaClwPW/R2s/dwt44lZyUYMtBalxt0QVQaNFKMHOC3p1ZZBrvpsTN67RK3rPw5RoLkjQ5SpgNrO8zvGQK7vI8F/GJdiQjY3WGsHUiDYmx4kE7VMY0GSrfmK3G/1ouu3s1dGnvN6+X2kqialRFXrxb3pG8hOHX5ZbZkyCto3hSSxaN9TKJ1028NKLUl1OAnbD1azRHqt61jM71egoszz63jf97bs/118e7h8edv9CfuHwHoDBcH5flpvfrfJ2tagxEF5pPO+/Xnref8ryv/LunP1r1S1q6YZrVFigb4vnPtlEVBq4yXx/cAtoFJQxIVaetEV737tm0u9CVaOZTo1n/Cx8CcwJLu05GoZQYEjZsdgOfjJ4g114OfU1vGAyhiG647Bilhs0/WZWyuz5rmXdFXiY6YKKpnHgizqWD6K1rHKJaf9FqAx9NGOg8VvRIM7AFx7LhkE4eAkEhuxud0QdT1Xh5zQ1mrsIRMg4YPcaCrhRxLCnVU/Ieiop0ycGo8ySjlFsJ16zPY+z4LYOx6SjRLmegxFYJaSLcQ0TJgm21hs36Rwon+61padlElUZhsw6BixSoQyJ7ckye4RB3p3iHaei9FLHIWlH6zBVYI57+K0wWHSiuZ6dM0tQhbkTApNBx+ilqlFQhqdSddHOgHuec9mNMn+oS3L4ebmnAv6T/WhN8Zbnys3tc6s/yW/G2P7v7hL5VeFh7laaFyK+gK8715ggwA72czAmOVJMVOkTwyLPCCL5FvhaGPXXlRYH+N4+SgUJ+meCo13Cm+Tr0ByDzHT+bZijNWqN/U0QqJDwjtDnfaL4/9Sh7F87v1+3/yZXOn4VAA==) format("woff2"),url(data:font/woff;base64,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) format("woff");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+2000-206f,u+2074,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}.hover\:cursor-pointer:hover{cursor:pointer}.hover\:border-gray-300:hover{--tw-border-opacity:1;border-color:rgb(209 213 219/var(--tw-border-opacity))}.hover\:border-white:hover{--tw-border-opacity:1;border-color:rgb(255 255 255/var(--tw-border-opacity))}.hover\:bg-\[\#F0F5F9\]:hover{--tw-bg-opacity:1;background-color:rgb(240 245 249/var(--tw-bg-opacity))}.hover\:bg-blue-500:hover{--tw-bg-opacity:1;background-color:rgb(59 130 246/var(--tw-bg-opacity))}.hover\:bg-blue-700:hover{--tw-bg-opacity:1;background-color:rgb(29 78 216/var(--tw-bg-opacity))}.hover\:bg-gray-50:hover{--tw-bg-opacity:1;background-color:rgb(249 250 251/var(--tw-bg-opacity))}.hover\:bg-gray-700:hover{--tw-bg-opacity:1;background-color:rgb(55 65 81/var(--tw-bg-opacity))}.hover\:bg-red-700:hover{--tw-bg-opacity:1;background-color:rgb(185 28 28/var(--tw-bg-opacity))}.hover\:bg-slate-100:hover{--tw-bg-opacity:1;background-color:rgb(241 245 249/var(--tw-bg-opacity))}.hover\:bg-zinc-50:hover{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.hover\:bg-zinc-700:hover{--tw-bg-opacity:1;background-color:rgb(63 63 70/var(--tw-bg-opacity))}.hover\:text-\[\#304254\]:hover{--tw-text-opacity:1;color:rgb(48 66 84/var(--tw-text-opacity))}.hover\:text-\[\#AE182D\]:hover{--tw-text-opacity:1;color:rgb(174 24 45/var(--tw-text-opacity))}.hover\:text-gray-600:hover{--tw-text-opacity:1;color:rgb(75 85 99/var(--tw-text-opacity))}.hover\:text-red-700:hover{--tw-text-opacity:1;color:rgb(185 28 28/var(--tw-text-opacity))}.hover\:text-zinc-700:hover{--tw-text-opacity:1;color:rgb(63 63 70/var(--tw-text-opacity))}.hover\:underline:hover{text-decoration-line:underline}.hover\:opacity-40:hover{opacity:.4}.hover\:outline:hover{outline-style:solid}.hover\:outline-2:hover{outline-width:2px}.hover\:ring-2:hover{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.hover\:ring-gray-200:hover{--tw-ring-opacity:1;--tw-ring-color:rgb(229 231 235/var(--tw-ring-opacity))}.hover\:ring-offset-8:hover{--tw-ring-offset-width:8px}.hover\:ring-offset-white:hover{--tw-ring-offset-color:#fff}.focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.focus\:border-rose-400:focus{--tw-border-opacity:1;border-color:rgb(251 113 133/var(--tw-border-opacity))}.focus\:border-zinc-400:focus{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.focus\:outline-none:focus{outline:2px solid #0000;outline-offset:2px}.focus\:ring-0:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-0:focus,.focus\:ring-2:focus{box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus\:ring-2:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color)}.focus\:ring-blue-200:focus{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity))}.focus-visible\:ring-4:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-blue-200:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(191 219 254/var(--tw-ring-opacity))}.focus-visible\:ring-purple-500:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(168 85 247/var(--tw-ring-opacity))}.active\:bg-blue-800:active{--tw-bg-opacity:1;background-color:rgb(30 64 175/var(--tw-bg-opacity))}.active\:text-blue-700:active{--tw-text-opacity:1;color:rgb(29 78 216/var(--tw-text-opacity))}.active\:text-white\/80:active{color:#fffc}.disabled\:bg-gray-300:disabled{--tw-bg-opacity:1;background-color:rgb(209 213 219/var(--tw-bg-opacity))}.group:first-child .group-first\:block{display:block}.group:hover .group-hover\:bg-\[\#F0F5F9\]{--tw-bg-opacity:1;background-color:rgb(240 245 249/var(--tw-bg-opacity))}.group:hover .group-hover\:bg-zinc-50{--tw-bg-opacity:1;background-color:rgb(250 250 250/var(--tw-bg-opacity))}.group:hover .group-hover\:opacity-70{opacity:.7}@container (min-width: 180px){.\@\[180px\]\:block{display:block}.\@\[180px\]\:w-11{width:2.75rem}.\@\[180px\]\:justify-start{justify-content:flex-start}.\@\[180px\]\:gap-1\.5{gap:.375rem}.\@\[180px\]\:p-3{padding:.75rem}.\@\[180px\]\:py-3{padding-bottom:.75rem;padding-top:.75rem}.\@\[180px\]\:pl-2{padding-left:.5rem}.\@\[180px\]\:pr-0{padding-right:0}.\@\[180px\]\:text-lg\/7{font-size:1.125rem;line-height:1.75rem}}@container (min-width: 240px){.\@\[240px\]\:w-\[54px\]{width:54px}.\@\[240px\]\:gap-2{gap:.5rem}.\@\[240px\]\:gap-2\.5{gap:.625rem}.\@\[240px\]\:px-3{padding-left:.75rem;padding-right:.75rem}.\@\[240px\]\:py-2\.5{padding-bottom:.625rem;padding-top:.625rem}.\@\[240px\]\:py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.\@\[240px\]\:pl-3{padding-left:.75rem}.\@\[240px\]\:text-lg{font-size:1.125rem;line-height:1.75rem}.\@\[240px\]\:text-xl\/\[30px\]{font-size:1.25rem;line-height:30px}}@container (min-width: 300px){.\@\[300px\]\:w-\[62px\]{width:62px}.\@\[300px\]\:gap-2\.5{gap:.625rem}.\@\[300px\]\:gap-3\.5{gap:.875rem}.\@\[300px\]\:py-3\.5{padding-bottom:.875rem;padding-top:.875rem}.\@\[300px\]\:text-3xl\/\[45px\]{font-size:1.875rem;line-height:45px}.\@\[300px\]\:text-xl{font-size:1.25rem;line-height:1.75rem}}@container (min-width: 350px){.\@\[350px\]\:h-7{height:1.75rem}.\@\[350px\]\:w-7{width:1.75rem}.\@\[350px\]\:w-\[72px\]{width:72px}.\@\[350px\]\:gap-4{gap:1rem}.\@\[350px\]\:py-4{padding-bottom:1rem;padding-top:1rem}.\@\[350px\]\:pl-6{padding-left:1.5rem}.\@\[350px\]\:text-2xl{font-size:1.5rem;line-height:2rem}.\@\[350px\]\:text-4xl\/\[56px\]{font-size:2.25rem;line-height:56px}}.phx-no-feedback.phx-no-feedback\:hidden{display:none}.phx-no-feedback.phx-no-feedback\:border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.phx-no-feedback.phx-no-feedback\:focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.phx-no-feedback.phx-no-feedback\:focus\:border-zinc-400:focus{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.phx-no-feedback .phx-no-feedback\:hidden{display:none}.phx-no-feedback .phx-no-feedback\:border-zinc-300{--tw-border-opacity:1;border-color:rgb(212 212 216/var(--tw-border-opacity))}.phx-no-feedback .phx-no-feedback\:focus\:border-blue-600:focus{--tw-border-opacity:1;border-color:rgb(37 99 235/var(--tw-border-opacity))}.phx-no-feedback .phx-no-feedback\:focus\:border-zinc-400:focus{--tw-border-opacity:1;border-color:rgb(161 161 170/var(--tw-border-opacity))}.phx-submit-loading .phx-submit-loading\:opacity-75,.phx-submit-loading.phx-submit-loading\:opacity-75{opacity:.75}@media (min-width:640px){.sm\:mt-0{margin-top:0}.sm\:w-96{width:24rem}.sm\:w-auto{width:auto}.sm\:w-full{width:100%}.sm\:max-w-\[180px\]{max-width:180px}.sm\:translate-y-0{--tw-translate-y:0px}.sm\:scale-100,.sm\:translate-y-0{transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:scale-100{--tw-scale-x:1;--tw-scale-y:1}.sm\:scale-95{--tw-scale-x:.95;--tw-scale-y:.95;transform:translate(var(--tw-translate-x),var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.sm\:gap-8{gap:2rem}.sm\:overflow-visible{overflow:visible}.sm\:rounded-l-xl{border-bottom-left-radius:.75rem;border-top-left-radius:.75rem}.sm\:rounded-r-xl{border-bottom-right-radius:.75rem;border-top-right-radius:.75rem}.sm\:p-6{padding:1.5rem}.sm\:px-0{padding-left:0;padding-right:0}.sm\:px-6{padding-left:1.5rem;padding-right:1.5rem}.sm\:text-sm{font-size:.875rem;line-height:1.25rem}.sm\:leading-6{line-height:1.5rem}}@media (min-width:768px){.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:flex-row{flex-direction:row}.md\:text-2xl\/8{font-size:1.5rem;line-height:2rem}}@media (min-width:1024px){.lg\:col-span-1{grid-column:span 1/span 1}.lg\:col-span-2{grid-column:span 2/span 2}.lg\:mx-0{margin-left:0;margin-right:0}.lg\:h-\[calc\(100vh_-_144px\)\]{height:calc(100vh - 144px)}.lg\:h-\[calc\(100vh_-_239px\)\]{height:calc(100vh - 239px)}.lg\:h-full{height:100%}.lg\:max-w-none{max-width:none}.lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.lg\:overflow-y-auto{overflow-y:auto}.lg\:rounded-b-none{border-bottom-left-radius:0;border-bottom-right-radius:0}.lg\:rounded-t-\[1\.25rem\]{border-top-left-radius:1.25rem;border-top-right-radius:1.25rem}.lg\:px-8{padding-left:2rem;padding-right:2rem}.lg\:py-8{padding-bottom:2rem;padding-top:2rem}}.focus-visible\:\[\&\:not\(\:active\)\]\:ring-2:not(:active):focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}@container (min-width: 350px){.\@\[350px\]\:focus-visible\:\[\&\:not\(\:active\)\]\:ring-4:not(:active):focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow,0 0 #0000)}}.\[\&\>div\]\:contents>div{display:contents}.\[\&_\.margin\]\:\!bg-\[\#0D1829\] .margin,.\[\&_\.monaco-editor-background\]\:\!bg-\[\#0D1829\] .monaco-editor-background{--tw-bg-opacity:1!important;background-color:rgb(13 24 41/var(--tw-bg-opacity))!important} /*# sourceMappingURL=beacon_live_admin.min.css.map */ \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-03e0ca190fafed060688ab22ab6cc345.map b/priv/static/beacon_live_admin.min.css-03e0ca190fafed060688ab22ab6cc345.map new file mode 100644 index 00000000..73063805 --- /dev/null +++ b/priv/static/beacon_live_admin.min.css-03e0ca190fafed060688ab22ab6cc345.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%20D_L0Sn%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"AAIA,mHAAmH;ACJnH,gEAAA,ACKA,iBAME,sBAAwD,CAHxD,qBAIF,CAEA,eAEE,eACF,CAWA,KAEE,6BAA8B,CAI9B,4BAA8E,CAD9E,kNAAsP,CAEtP,8BAAkF,CANlF,eAAgB,CAEhB,eAAgB,CAChB,aAAW,CAAX,UAIF,CAOA,KAEE,mBAAoB,CADpB,QAEF,CAQA,GAGE,oBAAqB,CADrB,aAAc,CADd,QAGF,CAMA,oBACE,wCAAiC,CAAjC,gCACF,CAMA,kBAME,iBAAkB,CAClB,mBACF,CAMA,EACE,aAAc,CACd,uBACF,CAMA,SAEE,kBACF,CAOA,kBAIE,mGAAyI,CACzI,aACF,CAMA,MACE,aACF,CAMA,QAEE,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,sBACF,CAEA,IACE,aACF,CAEA,IACE,SACF,CAQA,MAGE,wBAAyB,CADzB,oBAAqB,CADrB,aAGF,CAQA,sCAME,6BAA8B,CAK9B,aAAc,CANd,mBAAoB,CAGpB,cAAe,CADf,+BAAgC,CAEhC,mBAAoB,CACpB,mBAAoB,CAEpB,QAAS,CACT,SACF,CAMA,cAEE,mBACF,CAOA,gDAIE,yBAA0B,CAC1B,wBAA6B,CAC7B,qBACF,CAMA,gBACE,YACF,CAMA,iBACE,eACF,CAMA,SACE,sBACF,CAMA,wDAEE,WACF,CAOA,cACE,4BAA6B,CAC7B,mBACF,CAMA,4BACE,uBACF,CAOA,6BACE,yBAA0B,CAC1B,YACF,CAMA,QACE,iBACF,CAMA,mDAaE,QACF,CAEA,SACE,QAEF,CAEA,gBAHE,SAKF,CAEA,WAGE,eAAgB,CAChB,QAAS,CACT,SACF,CAKA,OACE,SACF,CAMA,SACE,eACF,CAOA,mDAGE,aAAwC,CADxC,SAEF,CAJA,yCAGE,aAAwC,CADxC,SAEF,CAMA,qBAEE,cACF,CAKA,UACE,cACF,CAQA,+CAQE,aAAc,CACd,qBACF,CAMA,UAGE,WAAY,CADZ,cAEF,CAGA,SACE,YACF,CDzXA,6LAAA,sBAAA,wBAAA,qBAAA,gBAAA,sBAAA,qBAAA,gBAAA,iBAAA,eAAA,mBAAA,qBAAA,uRAAA,4CAAA,2BAAA,4BAAA,wBAAA,2GAAA,yGAAA,qBAAA,+EAAA,wBAAA,mBAAA,mDAAA,cAAA,UAAA,yCAAA,cAAA,UAAA,uCAAA,UAAA,8BAAA,iBAAA,+TAAA,iBAAA,cAAA,OAAA,iQAAA,uCAAA,4BAAA,4BAAA,qBAAA,iCAAA,yBAAA,WAAA,sBAAA,wBAAA,wBAAA,wBAAA,qBAAA,iCAAA,yBAAA,6BAAA,sBAAA,wBAAA,qBAAA,gBAAA,sBAAA,6BAAA,qBAAA,iBAAA,cAAA,qBAAA,cAAA,YAAA,UAAA,iCAAA,yBAAA,yBAAA,sBAAA,iBAAA,sBAAA,WAAA,gBAAA,gBAAA,aAAA,mBAAA,yCAAA,4CAAA,2BAAA,4BAAA,wBAAA,2GAAA,yGAAA,+EAAA,wBAAA,mBAAA,6CAAA,8BAAA,wBAAA,4BAAA,0BAAA,mBAAA,wBAAA,4RAAA,qBAAA,mLAAA,gJAAA,8BAAA,mBAAA,8BAAA,sPAAA,wBAAA,4BAAA,0BAAA,wEAAA,8BAAA,mBAAA,YAAA,iBAAA,qBAAA,gBAAA,eAAA,gBAAA,oBAAA,UAAA,kBAAA,6BAAA,0CAAA,4BAAA,wBAAA,wBAAA,mBAAA,mBAAA,cAAA,cAAA,cAAA,eAAA,eAAA,aAAA,aAAA,kBAAA,sCAAA,8BAAA,6BAAA,4BAAA,eAAA,oBAAA,sBAAA,uBAAA,wBAAA,kBAAA,2BAAA,4BAAA,0BAAA,kCAAA,2BAAA,sBAAA,8BAAA,YAAA,kBAAA,gBAAA,iBAAA,kBAAA,cAAA,gBAAA,aAAA,mBAAA,qBAAA,2BAAA,yBAAA,0BAAA,2BAAA,uBAAA,wBAAA,yBAAA,sBAAA,WAAA,WAAA,yBAAA,WAAA,gBAAA,CAAA,yBAAA,WAAA,gBAAA,CAAA,0BAAA,WAAA,iBAAA,CAAA,0BAAA,WAAA,iBAAA,CAAA,0BAAA,WAAA,iBAAA,CAAA,uBAAA,8WAAA,0CAAA,kCAAA,wCAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,iBAAA,4ZAAA,oCAAA,4BAAA,qCAAA,mzBAAA,wDAAA,gDAAA,+DAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,0BAAA,qqBAAA,6CAAA,qCAAA,8BAAA,iWAAA,iDAAA,yCAAA,wCAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,UAAA,qgBAAA,6BAAA,qBAAA,gBAAA,ofAAA,mCAAA,2BAAA,8CAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,8BAAA,qcAAA,iDAAA,yCAAA,oBAAA,ifAAA,uCAAA,+BAAA,gCAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,YAAA,2oBAAA,+BAAA,uBAAA,mBAAA,gZAAA,8BAAA,qBAAA,eAAA,sCAAA,8BAAA,sBAAA,cAAA,SAAA,mBAAA,eAAA,WAAA,YAAA,gBAAA,UAAA,kBAAA,mBAAA,UAAA,SAAA,mBAAA,WAAA,kBAAA,QAAA,gBAAA,OAAA,eAAA,UAAA,kBAAA,UAAA,kBAAA,SAAA,QAAA,aAAA,YAAA,SAAA,SAAA,aAAA,SAAA,WAAA,SAAA,cAAA,UAAA,cAAA,UAAA,YAAA,SAAA,YAAA,QAAA,OAAA,SAAA,QAAA,SAAA,aAAA,SAAA,YAAA,SAAA,cAAA,OAAA,WAAA,OAAA,UAAA,OAAA,WAAA,MAAA,WAAA,YAAA,0BAAA,eAAA,iBAAA,MAAA,eAAA,KAAA,YAAA,OAAA,oBAAA,iBAAA,SAAA,iBAAA,kBAAA,QAAA,mBAAA,MAAA,qBAAA,OAAA,qBAAA,MAAA,oBAAA,MAAA,mBAAA,MAAA,mBAAA,MAAA,kBAAA,MAAA,mBAAA,MAAA,iBAAA,MAAA,iBAAA,SAAA,iBAAA,MAAA,mBAAA,MAAA,aAAA,SAAA,mBAAA,MAAA,kBAAA,OAAA,kBAAA,OAAA,mBAAA,OAAA,kBAAA,OAAA,gBAAA,MAAA,iBAAA,MAAA,kBAAA,MAAA,gBAAA,MAAA,gBAAA,cAAA,4BAAA,qBAAA,oBAAA,gBAAA,OAAA,cAAA,cAAA,qBAAA,MAAA,aAAA,aAAA,oBAAA,OAAA,cAAA,MAAA,aAAA,UAAA,iBAAA,QAAA,aAAA,eAAA,iBAAA,MAAA,cAAA,KAAA,cAAA,KAAA,YAAA,KAAA,eAAA,KAAA,cAAA,KAAA,eAAA,6BAAA,2BAAA,6BAAA,2BAAA,6BAAA,2BAAA,6BAAA,2BAAA,4BAAA,0BAAA,QAAA,YAAA,UAAA,iBAAA,gBAAA,gBAAA,YAAA,gBAAA,cAAA,iBAAA,QAAA,UAAA,MAAA,aAAA,MAAA,aAAA,KAAA,aAAA,KAAA,WAAA,KAAA,cAAA,KAAA,aAAA,KAAA,cAAA,MAAA,YAAA,KAAA,cAAA,aAAA,YAAA,QAAA,WAAA,iBAAA,gBAAA,WAAA,gBAAA,gBAAA,eAAA,iBAAA,iBAAA,QAAA,YAAA,WAAA,UAAA,UAAA,cAAA,gBAAA,yBAAA,+BAAA,8LAAA,eAAA,qBAAA,eAAA,sBAAA,0BAAA,8LAAA,gBAAA,GAAA,wBAAA,CAAA,cAAA,kCAAA,eAAA,sBAAA,aAAA,8CAAA,aAAA,2CAAA,UAAA,sBAAA,WAAA,eAAA,aAAA,uBAAA,WAAA,qBAAA,cAAA,mBAAA,aAAA,yBAAA,gBAAA,uBAAA,iBAAA,8BAAA,OAAA,MAAA,UAAA,YAAA,OAAA,WAAA,UAAA,YAAA,OAAA,UAAA,OAAA,WAAA,OAAA,SAAA,OAAA,WAAA,SAAA,qBAAA,gBAAA,SAAA,aAAA,yCAAA,uBAAA,mDAAA,sDAAA,yCAAA,uBAAA,mDAAA,sDAAA,wCAAA,wBAAA,yDAAA,4DAAA,+CAAA,sBAAA,uDAAA,+CAAA,sBAAA,uDAAA,kBAAA,iBAAA,iBAAA,gBAAA,iBAAA,gBAAA,iBAAA,gBAAA,mBAAA,mBAAA,SAAA,qBAAA,aAAA,mBAAA,sBAAA,sBAAA,kBAAA,mBAAA,cAAA,qBAAA,YAAA,oBAAA,YAAA,sBAAA,YAAA,qBAAA,wBAAA,+BAAA,gCAAA,oBAAA,4BAAA,6BAAA,cAAA,6BAAA,8BAAA,QAAA,iBAAA,UAAA,wBAAA,YAAA,wBAAA,UAAA,sBAAA,UAAA,qBAAA,eAAA,oBAAA,iBAAA,sBAAA,qDAAA,iBAAA,sBAAA,uDAAA,iBAAA,sBAAA,uDAAA,qBAAA,uBAAA,iBAAA,sBAAA,uDAAA,oBAAA,mBAAA,iBAAA,sBAAA,uDAAA,iBAAA,sBAAA,uDAAA,iBAAA,kBAAA,oDAAA,iBAAA,kBAAA,uDAAA,aAAA,kBAAA,uDAAA,aAAA,kBAAA,qDAAA,eAAA,kBAAA,uDAAA,aAAA,kBAAA,uDAAA,YAAA,kBAAA,uDAAA,YAAA,kBAAA,uDAAA,UAAA,kBAAA,uDAAA,gBAAA,2BAAA,aAAA,kBAAA,oDAAA,eAAA,aAAA,eAAA,aAAA,KAAA,UAAA,MAAA,eAAA,KAAA,cAAA,KAAA,eAAA,KAAA,aAAA,KAAA,eAAA,MAAA,oBAAA,qBAAA,MAAA,mBAAA,oBAAA,SAAA,qBAAA,sBAAA,MAAA,oBAAA,qBAAA,MAAA,kBAAA,mBAAA,MAAA,oBAAA,qBAAA,aAAA,kBAAA,mBAAA,MAAA,iBAAA,cAAA,SAAA,uBAAA,oBAAA,OAAA,sBAAA,mBAAA,MAAA,qBAAA,kBAAA,MAAA,sBAAA,mBAAA,SAAA,uBAAA,oBAAA,MAAA,oBAAA,iBAAA,MAAA,uBAAA,oBAAA,MAAA,sBAAA,mBAAA,MAAA,oBAAA,MAAA,eAAA,MAAA,oBAAA,MAAA,qBAAA,MAAA,cAAA,OAAA,mBAAA,OAAA,iBAAA,MAAA,kBAAA,MAAA,iBAAA,MAAA,oBAAA,WAAA,gBAAA,aAAA,kBAAA,YAAA,iBAAA,WAAA,mNAAA,UAAA,iBAAA,iBAAA,WAAA,eAAA,mBAAA,SAAA,mBAAA,oBAAA,YAAA,mBAAA,mBAAA,qBAAA,kBAAA,oBAAA,SAAA,kBAAA,oBAAA,WAAA,gBAAA,YAAA,gBAAA,aAAA,gBAAA,aAAA,gBAAA,eAAA,gBAAA,WAAA,yBAAA,YAAA,0BAAA,WAAA,oBAAA,WAAA,mBAAA,WAAA,iBAAA,sBAAA,sBAAA,gBAAA,qBAAA,iBAAA,oBAAA,gBAAA,8BAAA,sDAAA,mBAAA,oBAAA,yCAAA,mBAAA,oBAAA,2CAAA,mBAAA,oBAAA,2CAAA,mBAAA,oBAAA,4CAAA,mBAAA,oBAAA,6CAAA,mBAAA,oBAAA,4CAAA,eAAA,oBAAA,4CAAA,eAAA,oBAAA,4CAAA,kBAAA,oBAAA,0CAAA,cAAA,oBAAA,8CAAA,eAAA,oBAAA,8CAAA,eAAA,oBAAA,2CAAA,eAAA,oBAAA,2CAAA,gBAAA,oBAAA,4CAAA,gBAAA,oBAAA,4CAAA,cAAA,oBAAA,4CAAA,cAAA,oBAAA,4CAAA,eAAA,oBAAA,4CAAA,eAAA,oBAAA,4CAAA,gBAAA,oBAAA,2CAAA,YAAA,oBAAA,8CAAA,eAAA,oBAAA,8CAAA,eAAA,oBAAA,2CAAA,eAAA,oBAAA,2CAAA,eAAA,oBAAA,2CAAA,eAAA,oBAAA,2CAAA,aAAA,mCAAA,kCAAA,WAAA,UAAA,aAAA,UAAA,YAAA,WAAA,YAAA,WAAA,WAAA,gEAAA,kGAAA,sBAAA,mGAAA,WAAA,8DAAA,gGAAA,WAAA,kCAAA,uDAAA,sBAAA,mGAAA,WAAA,iEAAA,mGAAA,qBAAA,4BAAA,qCAAA,cAAA,wBAAA,mBAAA,SAAA,oBAAA,QAAA,2GAAA,yGAAA,yFAAA,YAAA,sBAAA,kBAAA,oBAAA,uDAAA,eAAA,oBAAA,wDAAA,eAAA,oBAAA,sDAAA,mBAAA,0BAAA,YAAA,yBAAA,sJAAA,8IAAA,sKAAA,mDAAA,gBAAA,yBAAA,wBAAA,mDAAA,mBAAA,yBAAA,0FAAA,mDAAA,oBAAA,yBAAA,4BAAA,mDAAA,cAAA,wBAAA,cAAA,wBAAA,SAAA,kDAAA,UAAA,kDAAA,aAAA,2BAAA,AECA,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,+zHAAA,CACA,gFAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,+ggBAAA,CACA,+DAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,m7ZAAA,CACA,yBAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,29VAAA,CACA,0JAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,mmpBAAA,CACA,gJAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,+m9DAAA,CACA,qMAAA,CHzDF,6BAAA,eCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-f369b2d906563c1a6fee02c192c6c6a3.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-03e0ca190fafed060688ab22ab6cc345.map.gz b/priv/static/beacon_live_admin.min.css-03e0ca190fafed060688ab22ab6cc345.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..6902d64d3f84578b171a6aad4a00bf97fc761f65 GIT binary patch literal 5631 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 ZIJlp^0 literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin.min.css-09dab23cc68575f9cbc372463fb97118.map b/priv/static/beacon_live_admin.min.css-09dab23cc68575f9cbc372463fb97118.map new file mode 100644 index 00000000..9db2f8cc --- /dev/null +++ b/priv/static/beacon_live_admin.min.css-09dab23cc68575f9cbc372463fb97118.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%20WNhQsS%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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AA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-09dab23cc68575f9cbc372463fb97118.map.gz b/priv/static/beacon_live_admin.min.css-09dab23cc68575f9cbc372463fb97118.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..07e06cc17ff8ec1e2a8745dcbc42b40aee97fced GIT binary patch literal 5678 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","%3Cinput%20css%20llZWWH%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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AA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-0b7ee227eef7631224c2705a43a91554.map.gz b/priv/static/beacon_live_admin.min.css-0b7ee227eef7631224c2705a43a91554.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..870bfb3d24107f18b65c0bc94e0232cd49c76683 GIT binary patch literal 5678 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 literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin.min.css-0b87152a6bfca9aa6a3565078960800d.map b/priv/static/beacon_live_admin.min.css-0b87152a6bfca9aa6a3565078960800d.map new file mode 100644 index 00000000..38f09ae7 --- /dev/null +++ b/priv/static/beacon_live_admin.min.css-0b87152a6bfca9aa6a3565078960800d.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%20Uz1E-n%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"AAIA,mHAAmH;ACJnH,gEAAA,ACKA,iBAME,sBAAwD,CAHxD,qBAIF,CAEA,eAEE,eACF,CAWA,KAEE,6BAA8B,CAI9B,4BAA8E,CAD9E,kNAAsP,CAEtP,8BAAkF,CANlF,eAAgB,CAEhB,eAAgB,CAChB,aAAW,CAAX,UAIF,CAOA,KAEE,mBAAoB,CADpB,QAEF,CAQA,GAGE,oBAAqB,CADrB,aAAc,CADd,QAGF,CAMA,oBACE,wCAAiC,CAAjC,gCACF,CAMA,kBAME,iBAAkB,CAClB,mBACF,CAMA,EACE,aAAc,CACd,uBACF,CAMA,SAEE,kBACF,CAOA,kBAIE,mGAAyI,CACzI,aACF,CAMA,MACE,aACF,CAMA,QAEE,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,sBACF,CAEA,IACE,aACF,CAEA,IACE,SACF,CAQA,MAGE,wBAAyB,CADzB,oBAAqB,CADrB,aAGF,CAQA,sCAME,6BAA8B,CAK9B,aAAc,CANd,mBAAoB,CAGpB,cAAe,CADf,+BAAgC,CAEhC,mBAAoB,CACpB,mBAAoB,CAEpB,QAAS,CACT,SACF,CAMA,cAEE,mBACF,CAOA,gDAIE,yBAA0B,CAC1B,wBAA6B,CAC7B,qBACF,CAMA,gBACE,YACF,CAMA,iBACE,eACF,CAMA,SACE,sBACF,CAMA,wDAEE,WACF,CAOA,cACE,4BAA6B,CAC7B,mBACF,CAMA,4BACE,uBACF,CAOA,6BACE,yBAA0B,CAC1B,YACF,CAMA,QACE,iBACF,CAMA,mDAaE,QACF,CAEA,SACE,QAEF,CAEA,gBAHE,SAKF,CAEA,WAGE,eAAgB,CAChB,QAAS,CACT,SACF,CAKA,OACE,SACF,CAMA,SACE,eACF,CAOA,mDAGE,aAAwC,CADxC,SAEF,CAJA,yCAGE,aAAwC,CADxC,SAEF,CAMA,qBAEE,cACF,CAKA,UACE,cACF,CAQA,+CAQE,aAAc,CACd,qBACF,CAMA,UAGE,WAAY,CADZ,cAEF,CAGA,SACE,YACF,CDzXA,6LAAA,sBAAA,wBAAA,qBAAA,gBAAA,sBAAA,qBAAA,gBAAA,iBAAA,eAAA,mBAAA,qBAAA,uRAAA,4CAAA,2BAAA,4BAAA,wBAAA,2GAAA,yGAAA,qBAAA,+EAAA,wBAAA,mBAAA,mDAAA,cAAA,UAAA,yCAAA,cAAA,UAAA,uCAAA,UAAA,8BAAA,iBAAA,+TAAA,iBAAA,cAAA,OAAA,iQAAA,uCAAA,4BAAA,4BAAA,qBAAA,iCAAA,yBAAA,WAAA,sBAAA,wBAAA,wBAAA,wBAAA,qBAAA,iCAAA,yBAAA,6BAAA,sBAAA,wBAAA,qBAAA,gBAAA,sBAAA,6BAAA,qBAAA,iBAAA,cAAA,qBAAA,cAAA,YAAA,UAAA,iCAAA,yBAAA,yBAAA,sBAAA,iBAAA,sBAAA,WAAA,gBAAA,gBAAA,aAAA,mBAAA,yCAAA,4CAAA,2BAAA,4BAAA,wBAAA,2GAAA,yGAAA,+EAAA,wBAAA,mBAAA,6CAAA,8BAAA,wBAAA,4BAAA,0BAAA,mBAAA,wBAAA,4RAAA,qBAAA,mLAAA,gJAAA,8BAAA,mBAAA,8BAAA,sPAAA,wBAAA,4BAAA,0BAAA,wEAAA,8BAAA,mBAAA,YAAA,iBAAA,qBAAA,gBAAA,eAAA,gBAAA,oBAAA,UAAA,kBAAA,6BAAA,0CAAA,4BAAA,wBAAA,wBAAA,mBAAA,mBAAA,cAAA,cAAA,cAAA,eAAA,eAAA,aAAA,aAAA,kBAAA,sCAAA,8BAAA,6BAAA,4BAAA,eAAA,oBAAA,sBAAA,uBAAA,wBAAA,kBAAA,2BAAA,4BAAA,0BAAA,kCAAA,2BAAA,sBAAA,8BAAA,YAAA,kBAAA,gBAAA,iBAAA,kBAAA,cAAA,gBAAA,aAAA,mBAAA,qBAAA,2BAAA,yBAAA,0BAAA,2BAAA,uBAAA,wBAAA,yBAAA,sBAAA,WAAA,WAAA,yBAAA,WAAA,gBAAA,CAAA,yBAAA,WAAA,gBAAA,CAAA,0BAAA,WAAA,iBAAA,CAAA,0BAAA,WAAA,iBAAA,CAAA,0BAAA,WAAA,iBAAA,CAAA,uBAAA,8WAAA,0CAAA,kCAAA,wCAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,iBAAA,4ZAAA,oCAAA,4BAAA,qCAAA,mzBAAA,wDAAA,gDAAA,+DAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,0BAAA,qqBAAA,6CAAA,qCAAA,8BAAA,iWAAA,iDAAA,yCAAA,wCAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,UAAA,qgBAAA,6BAAA,qBAAA,gBAAA,ofAAA,mCAAA,2BAAA,8CAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,8BAAA,qcAAA,iDAAA,yCAAA,oBAAA,ifAAA,uCAAA,+BAAA,gCAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,YAAA,2oBAAA,+BAAA,uBAAA,mBAAA,gZAAA,8BAAA,qBAAA,eAAA,sCAAA,8BAAA,sBAAA,cAAA,SAAA,mBAAA,eAAA,WAAA,YAAA,gBAAA,UAAA,kBAAA,mBAAA,UAAA,SAAA,mBAAA,WAAA,kBAAA,QAAA,gBAAA,OAAA,eAAA,UAAA,kBAAA,UAAA,kBAAA,QAAA,gBAAA,SAAA,QAAA,aAAA,YAAA,SAAA,WAAA,SAAA,MAAA,SAAA,aAAA,UAAA,WAAA,SAAA,WAAA,SAAA,cAAA,UAAA,cAAA,UAAA,YAAA,SAAA,YAAA,QAAA,OAAA,SAAA,QAAA,SAAA,aAAA,SAAA,YAAA,SAAA,cAAA,OAAA,MAAA,OAAA,WAAA,OAAA,UAAA,OAAA,WAAA,MAAA,WAAA,YAAA,0BAAA,eAAA,iBAAA,MAAA,eAAA,KAAA,YAAA,OAAA,oBAAA,iBAAA,SAAA,iBAAA,kBAAA,QAAA,mBAAA,MAAA,qBAAA,OAAA,qBAAA,MAAA,oBAAA,MAAA,mBAAA,MAAA,mBAAA,MAAA,kBAAA,MAAA,mBAAA,MAAA,iBAAA,MAAA,iBAAA,SAAA,iBAAA,MAAA,mBAAA,MAAA,aAAA,SAAA,mBAAA,MAAA,kBAAA,OAAA,kBAAA,OAAA,mBAAA,OAAA,kBAAA,OAAA,gBAAA,MAAA,iBAAA,MAAA,kBAAA,MAAA,gBAAA,MAAA,gBAAA,cAAA,4BAAA,qBAAA,oBAAA,gBAAA,OAAA,cAAA,cAAA,qBAAA,MAAA,aAAA,aAAA,oBAAA,OAAA,cAAA,MAAA,aAAA,UAAA,iBAAA,QAAA,aAAA,eAAA,iBAAA,MAAA,cAAA,KAAA,cAAA,KAAA,YAAA,KAAA,eAAA,KAAA,cAAA,KAAA,eAAA,6BAAA,2BAAA,6BAAA,2BAAA,6BAAA,2BAAA,6BAAA,2BAAA,4BAAA,0BAAA,QAAA,YAAA,UAAA,iBAAA,gBAAA,gBAAA,YAAA,gBAAA,cAAA,iBAAA,QAAA,UAAA,MAAA,aAAA,MAAA,aAAA,KAAA,aAAA,KAAA,WAAA,KAAA,cAAA,KAAA,aAAA,MAAA,YAAA,KAAA,cAAA,MAAA,YAAA,KAAA,cAAA,MAAA,YAAA,aAAA,YAAA,QAAA,WAAA,iBAAA,gBAAA,WAAA,gBAAA,gBAAA,eAAA,iBAAA,iBAAA,QAAA,YAAA,WAAA,UAAA,UAAA,cAAA,gBAAA,yBAAA,gCAAA,8LAAA,gBAAA,uBAAA,eAAA,qBAAA,8BAAA,8LAAA,eAAA,sBAAA,WAAA,8LAAA,gBAAA,GAAA,wBAAA,CAAA,cAAA,kCAAA,eAAA,sBAAA,aAAA,8CAAA,aAAA,2CAAA,UAAA,sBAAA,WAAA,eAAA,aAAA,uBAAA,WAAA,qBAAA,cAAA,mBAAA,aAAA,yBAAA,gBAAA,uBAAA,iBAAA,8BAAA,OAAA,MAAA,UAAA,YAAA,OAAA,WAAA,UAAA,YAAA,OAAA,UAAA,OAAA,WAAA,OAAA,SAAA,OAAA,WAAA,SAAA,qBAAA,gBAAA,SAAA,aAAA,yCAAA,uBAAA,mDAAA,sDAAA,yCAAA,uBAAA,mDAAA,sDAAA,wCAAA,wBAAA,yDAAA,4DAAA,+CAAA,sBAAA,uDAAA,+CAAA,sBAAA,uDAAA,kBAAA,iBAAA,iBAAA,gBAAA,iBAAA,gBAAA,iBAAA,gBAAA,mBAAA,mBAAA,SAAA,qBAAA,aAAA,mBAAA,sBAAA,sBAAA,kBAAA,mBAAA,cAAA,qBAAA,YAAA,oBAAA,YAAA,sBAAA,YAAA,qBAAA,wBAAA,+BAAA,gCAAA,oBAAA,4BAAA,6BAAA,cAAA,6BAAA,8BAAA,QAAA,iBAAA,UAAA,wBAAA,YAAA,wBAAA,UAAA,sBAAA,UAAA,uBAAA,UAAA,qBAAA,cAAA,mBAAA,eAAA,oBAAA,iBAAA,sBAAA,qDAAA,iBAAA,sBAAA,uDAAA,iBAAA,sBAAA,uDAAA,iBAAA,sBAAA,uDAAA,qBAAA,uBAAA,iBAAA,sBAAA,uDAAA,oBAAA,mBAAA,iBAAA,sBAAA,uDAAA,iBAAA,sBAAA,uDAAA,iBAAA,kBAAA,oDAAA,iBAAA,kBAAA,uDAAA,cAAA,2BAAA,aAAA,kBAAA,uDAAA,aAAA,kBAAA,qDAAA,eAAA,kBAAA,uDAAA,aAAA,kBAAA,uDAAA,aAAA,kBAAA,uDAAA,YAAA,kBAAA,uDAAA,YAAA,kBAAA,uDAAA,UAAA,kBAAA,uDAAA,gBAAA,2BAAA,aAAA,kBAAA,oDAAA,eAAA,aAAA,eAAA,aAAA,KAAA,UAAA,MAAA,eAAA,KAAA,cAAA,KAAA,eAAA,KAAA,aAAA,KAAA,eAAA,MAAA,oBAAA,qBAAA,MAAA,mBAAA,oBAAA,SAAA,qBAAA,sBAAA,MAAA,oBAAA,qBAAA,MAAA,kBAAA,mBAAA,MAAA,qBAAA,sBAAA,MAAA,oBAAA,qBAAA,aAAA,kBAAA,mBAAA,MAAA,iBAAA,cAAA,SAAA,uBAAA,oBAAA,OAAA,sBAAA,mBAAA,MAAA,qBAAA,kBAAA,MAAA,sBAAA,mBAAA,SAAA,uBAAA,oBAAA,MAAA,oBAAA,iBAAA,MAAA,uBAAA,oBAAA,MAAA,sBAAA,mBAAA,MAAA,sBAAA,MAAA,oBAAA,MAAA,eAAA,MAAA,mBAAA,MAAA,oBAAA,MAAA,qBAAA,MAAA,cAAA,OAAA,mBAAA,OAAA,iBAAA,MAAA,kBAAA,MAAA,mBAAA,MAAA,iBAAA,MAAA,mBAAA,MAAA,oBAAA,WAAA,gBAAA,aAAA,kBAAA,YAAA,iBAAA,WAAA,mNAAA,UAAA,iBAAA,iBAAA,WAAA,eAAA,mBAAA,SAAA,mBAAA,oBAAA,YAAA,mBAAA,mBAAA,qBAAA,kBAAA,oBAAA,SAAA,kBAAA,oBAAA,WAAA,gBAAA,YAAA,gBAAA,aAAA,gBAAA,aAAA,gBAAA,eAAA,gBAAA,WAAA,yBAAA,YAAA,0BAAA,WAAA,oBAAA,WAAA,mBAAA,WAAA,iBAAA,sBAAA,sBAAA,gBAAA,qBAAA,iBAAA,oBAAA,gBAAA,8BAAA,sDAAA,mBAAA,oBAAA,yCAAA,mBAAA,oBAAA,2CAAA,mBAAA,oBAAA,2CAAA,mBAAA,oBAAA,4CAAA,mBAAA,oBAAA,6CAAA,mBAAA,oBAAA,4CAAA,eAAA,oBAAA,4CAAA,eAAA,oBAAA,4CAAA,kBAAA,oBAAA,0CAAA,cAAA,oBAAA,8CAAA,eAAA,oBAAA,8CAAA,eAAA,oBAAA,2CAAA,eAAA,oBAAA,2CAAA,gBAAA,oBAAA,4CAAA,gBAAA,oBAAA,4CAAA,cAAA,oBAAA,4CAAA,cAAA,oBAAA,4CAAA,eAAA,oBAAA,4CAAA,eAAA,oBAAA,4CAAA,gBAAA,oBAAA,2CAAA,YAAA,oBAAA,8CAAA,eAAA,oBAAA,8CAAA,eAAA,oBAAA,2CAAA,eAAA,oBAAA,2CAAA,eAAA,oBAAA,2CAAA,eAAA,oBAAA,2CAAA,aAAA,mCAAA,kCAAA,WAAA,UAAA,aAAA,UAAA,YAAA,WAAA,YAAA,WAAA,WAAA,gEAAA,kGAAA,sBAAA,mGAAA,WAAA,8DAAA,gGAAA,WAAA,kCAAA,uDAAA,sBAAA,mGAAA,WAAA,iEAAA,mGAAA,qBAAA,4BAAA,qCAAA,cAAA,wBAAA,mBAAA,SAAA,oBAAA,kBAAA,mBAAA,kBAAA,sBAAA,QAAA,2GAAA,yGAAA,yFAAA,YAAA,sBAAA,kBAAA,oBAAA,uDAAA,eAAA,oBAAA,wDAAA,eAAA,oBAAA,sDAAA,mBAAA,0BAAA,YAAA,yBAAA,sJAAA,8IAAA,sKAAA,mDAAA,gBAAA,yBAAA,wBAAA,mDAAA,mBAAA,yBAAA,0FAAA,mDAAA,oBAAA,yBAAA,4BAAA,mDAAA,sBAAA,yBAAA,8BAAA,mDAAA,cAAA,wBAAA,cAAA,wBAAA,SAAA,kDAAA,UAAA,kDAAA,aAAA,2BAAA,AECA,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,+zHAAA,CACA,gFAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,+ggBAAA,CACA,+DAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,m7ZAAA,CACA,yBAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,29VAAA,CACA,0JAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,mmpBAAA,CACA,gJAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,+m9DAAA,CACA,qMAAA,CHzDF,6BAAA,eCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-0b87152a6bfca9aa6a3565078960800d.map.gz b/priv/static/beacon_live_admin.min.css-0b87152a6bfca9aa6a3565078960800d.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..2e7279e8a32ff6c37c96c7944c0d543b9dda23bf GIT binary patch literal 5678 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 U^C=p?@%z931NYO%SnW{&0GBUO7ytkO literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin.min.css-40e87ae0b0126ea0303ac47ed573c443.map b/priv/static/beacon_live_admin.min.css-40e87ae0b0126ea0303ac47ed573c443.map new file mode 100644 index 00000000..6b5a11ab --- /dev/null +++ b/priv/static/beacon_live_admin.min.css-40e87ae0b0126ea0303ac47ed573c443.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%20PeNYem%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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AA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-40e87ae0b0126ea0303ac47ed573c443.map.gz b/priv/static/beacon_live_admin.min.css-40e87ae0b0126ea0303ac47ed573c443.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..2375df0fa1e43e7601bc90544e783691d40270be GIT binary patch literal 5678 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 U>=cdP`26qx0M2SNYwb}00FG2vp8x;= literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin.min.css-55497752f4f48aeb4ecb20cb6decf421.map b/priv/static/beacon_live_admin.min.css-55497752f4f48aeb4ecb20cb6decf421.map new file mode 100644 index 00000000..193b743d --- /dev/null +++ b/priv/static/beacon_live_admin.min.css-55497752f4f48aeb4ecb20cb6decf421.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%20DBmaoD%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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A,ADAA,uDCAA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-d042ca250916cec9bc009760e0439417.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-55497752f4f48aeb4ecb20cb6decf421.map.gz b/priv/static/beacon_live_admin.min.css-55497752f4f48aeb4ecb20cb6decf421.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..7967fd557743498d6c8b394e7521dc5cf19c2427 GIT binary patch literal 5679 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 VSS)7f{MPUP{twr0(}MR=008rNHe&z) literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin.min.css-56bf99428f0e0cbd41b916297db89c92.map b/priv/static/beacon_live_admin.min.css-56bf99428f0e0cbd41b916297db89c92.map new file mode 100644 index 00000000..4ff8c500 --- /dev/null +++ b/priv/static/beacon_live_admin.min.css-56bf99428f0e0cbd41b916297db89c92.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%200bhZrh%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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A,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-0d87a192b0422c55742e7c45e77b4c42.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-56bf99428f0e0cbd41b916297db89c92.map.gz b/priv/static/beacon_live_admin.min.css-56bf99428f0e0cbd41b916297db89c92.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..f22148de039bce54338b3e02d17ab249b052facd GIT binary patch literal 5684 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 auQ<4-i^bvuo!|QX-~RzE;sUk","%3Cinput%20css%20XiO8rq%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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A,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-0d87a192b0422c55742e7c45e77b4c42.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-56ef35b84efc2a98ae4f9a9032781e88.map.gz b/priv/static/beacon_live_admin.min.css-56ef35b84efc2a98ae4f9a9032781e88.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..293b1691a242b7c5c30523ac00cee08e95970d38 GIT binary patch literal 5684 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 ayyD=RE*6UubbjmifBy$~JcxP&QUCzwmpKFg literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin.min.css-64cb32c233b043adf6165b2b32e68585.map b/priv/static/beacon_live_admin.min.css-64cb32c233b043adf6165b2b32e68585.map new file mode 100644 index 00000000..535256cf --- /dev/null +++ b/priv/static/beacon_live_admin.min.css-64cb32c233b043adf6165b2b32e68585.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%20OaGMmT%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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AA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-64cb32c233b043adf6165b2b32e68585.map.gz b/priv/static/beacon_live_admin.min.css-64cb32c233b043adf6165b2b32e68585.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..cf3eb773d058ba1c6f3c8cab0a47efdc7d07064f GIT binary patch literal 5679 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 Vv)Kt6zw!Cs{{cLP=l|_d0032uEm{Bo literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin.min.css-66b3149daf8a16209a1448cc4c87854c.map b/priv/static/beacon_live_admin.min.css-66b3149daf8a16209a1448cc4c87854c.map new file mode 100644 index 00000000..9d10a95b --- /dev/null +++ b/priv/static/beacon_live_admin.min.css-66b3149daf8a16209a1448cc4c87854c.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%20rENX8Z%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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A,ADAA,uDCAA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-d042ca250916cec9bc009760e0439417.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-66b3149daf8a16209a1448cc4c87854c.map.gz b/priv/static/beacon_live_admin.min.css-66b3149daf8a16209a1448cc4c87854c.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..e5113f858d75ce89091256cfcfb1142b6812f487 GIT binary patch literal 5681 zcmV-17S8D(iwFP!000006V+UMbK|zI|0)`v>D_K)$Fl4=w)gg)%8s3VWw+ZjCrz79 zBTI~;wH}Th@p?PwyB~m*M2M1|oJ{W@ooQqUBta1P5ddj#|7<<5IPs#eHR-ooNtDGl zOInlPT8D>S_|HlbmL^?0NxDmB*-`k1?>(?TEGO{7L*TaBt^W-pO^o|Lc>AV5^TKtO zeq-p+49|G};g`{`-}L9uC}cWpopiaFAPPa|AI$O6C@$s-BL`cY%x6jWhubJjh4k)c zmM&w<3zH6vi@ILuurFMP-`lOw3b@)p2G)A*g)Y3cO!JM|4qlsP@cNZGdmFxPyK~bt z+ve<@+4iR9*}R=hO>=Y7o|&(|oV4$!=9>l3bFPR@E0J$baBZ1Zd%eape@t91k(JaeIe%jm`@VG z=m>kAtf%cy<{aBTne9{abl#4j?Vh*AT!M|H1HDeM*O`eOX7lz2Ia`Ub`oozH}r;`I}b zl~N^DQ6tHPgW=zh@x|-8c>RRZ!3-N1y5(m0I#q3Qns-cQxYp8R@5ZIUJ~-0Gr(k2- zG#L)RZ65&JopEQ)WS`l3DqrT@Ddsuye=hWbW!kyx3KO{}Xre6))47b^lxscYFUM0v zS~1k+KD#R4J^s#!^=I?aK=8gf!MQHWscdW?P~pU>11>C+iVZoVqSzI2){Nt$cn?lY zYmVI98C;bdlXI^5Yjn=L{QVN0LqT4%6l}YX#G%FNSg9V&c*^mzK|h>)nIZVF?XB6~ z&UUnc7_cW8#V%*LK(TfSn*(@K7!vbepwLUxyh543q9d{4G}lbn=H%-yV7d1gIxt?C z+?RY(lUt$WQ;x@<3?Bh$%znb>V1`eFa|T4Daf;9FsqB9+m#sn$*vLe;o2b0W?NWKq zW+gcynjHKrY2NuGfBz(h42U{na*y-3oW4|-zp0smb{|gF{&jN==~$`Qy(F*7rBK;h zBEuu}rJO)KEon7jrKi}vZt>wv8goO&>ZDK3|4A+&;DB-8%CVxSppze)rETVF|0}sn zYC4TeN(CKV7)$jD4$s8L(wint*mM!AxM z=q6f8Rcn5|CsS<66h=)Miki#vLBK6!tB@yLU2?tWafLpkOX(hAiVd;uy|im07cPVh ze&yySj=kq}@Kr37hX$8F4^AEvDO9|_Cm6pcdU!&4E@t~gEjb47-P-QXaeB*jCC(o` zDlu=fRb2$+JT6g$uLCjDqY^pD3^D$IphV!w{k3^K5ldv9%Ym%)_mx~R*^_}}kWrVi z!zVfHV=0gbxM=KpUcOu9+~=iaPMwvMRm!<+=qEiWDJk!&oake9UMcy!Izncdvy!?j zsf#M_tbw|cDCNcwd*G~me^++;NFX82LZingY4bDb+mDhwlOoQPzJy#gay^wiSGc6F zv{X&(M}-U;xo+dUL@`$-xg%&^kI1I{SoR>vS88g>{<5cRzL0825US3yOJ_;ys-##$ zE9VVKAb$!?Gt8%Q4x%9~4ag=X@%2+VLM~BK@2b>ggW__;Rkd|L&nl@;rDUpet+F8| z_LK!*mTQoE*(Dh;kC5*rKa(Pb`$e1+T}b%6R0r~UX(Q7cpG#ykGK?=yM0!pdvOpzr zWz~^MCMg92DQim%kr5k=BuvlBDP(-OY~U$TNQO4aJC}-(kSi1+NnMoX$;m#xNT7K+ z!Z`zxt7p;}*$&Q%ER;fH7fq`?vII+V6Y``vio^kKs7R8DBt?e}Nuw@F%mcDJZAp$K zRy~>2Hd5+FauZ2rlB^+u6rl7haDSq5vL|!yYsjLl5i!-%Ud8Ih`+%)@GB(Og3`7dN#TNM0hg zBqvthA^1>2gT^lz_KBgW&#xqd9`;r$EGUC$bfqX)Bgqk(oCQhMd8x=HH9Ots;^`6< zJ))6IBA-YDbd4faP>%5g&Y;E_?&!lFWl-zsGK~wyNF7sS7|jf~rb(S+KgxJqd$(q% zt3Ap-Rr|*o97X{-!prKyDk)iyNlE~e-}0vT-EhuVjb`L|Cr%_U4iyz(+3z zxJBu;&$(O(4SXvCWS*Ysjo5ZkE`e4HLP{nRf?#Y^1_iw?w^)83BksrEaGEECfTSPM zC)b~d$!~fVk{=QNfb>rYe?<7iFoYE0gd{|nPDLg(=d=8xySUX^6pNafGkMoD&n>{2 z2VY;8w7U@Go5g=G#&u;6alP{_Il=L-CB2Mf`mh5S}mu=fUGL1cL`^MGgi)33- zqRUBUyW0k`Z7|(E&QRN)IIcK4D2uw3HdF_1YL*lM`BaJ^ooKCYllL8AIKzr~XgZ=|-ZXf!Oz^Qu}G z)mO5@i`|>uYQ()_pg$h;j`Lpt=D!-8MPbUq z6n{MUgBPr$IMuFOspa__FLd}X2(5%&w_aU`&CPZM+z=!rdpc#Q=X>?hIr^kk?S*S?InkxEdDCe_~)$^c>ebL zAN?#jcx$b!IJFMWtuUEv+`IG#L)TyR;cozcNAPzHe@pjo%K%uca|`7FSm8_!Aa z4z+I!m0d5r%a&ZxAo}XC2mUk87&<%Ku9qYkOS*%X*P(H!nZ6%wv|^@Wo-~44OYzIC z_Bl&ZwO41)wA62uUc*AWz1|Qe|E_x-!n1uHP9{rs8^w&1)@=$3{COQ}FwK`v;(diV zC&iS&dZl&0(|Q^X*D9J!G@Z8@)wU$v`fQ>lk?%Q8?RMlx@kC4SV6or65X>3!4o~I_ z^Wy!_FWQ=&#W7fdvtJS+|HdWkQoqwlHz1wwjEVN*#jCu3?&gbxfhnOq@e=H!B@D== z&oti)S?7*_gxvIOOMAJ0KdztA86)wP&ej)ill){={W9s|(>45MW*_lpFTz4hEIW{!4~0MKvv zlpV1T5GD@0wK6}2!ADOX%&ZicorI-`>7*)V_*5|uR_yVW?hquij`ZpC2bzp;az-YYNL>utNe%`o?Ppnn~4|xmDI>coG z=rXT^6f7wAZrfV21(*b#%xh~MYrXctWSrC1rm&dRnPs2z_XP-QLs&d#Zp5^UH`lGU z_EWTs(g?Y)ng75b7FyZ|mN9HI!Ein{eSj_+#xLa3nXg+W&ZlwsYx5xb>|qxq9MrQ>AoSZ3~5&-blE*iZa3irsE<7j6E4mP6b1{^>d2 z_s070=;$R6Uh^;k=WBNm`Im zBHQ%VU&yX54W?QPg9xYruObq|@@IG8aMsr5jtfuB@8{Mn0It;1S}xF z&whU?)aDUM3Y%zI2wI^pH780_=FlWV5Sg2SrU;mIlfw_3at8?jVJ;2TgM4;p;G>U^ z0X~lKF%+usjU}R6VXuPU!3n89a4gv^U zqD;Ec5;`dUYP3*;4yuc|RW>E6(Jf70S;Fd*G>$;EKWj^cSO=bH$niUJ7yd&Qk-M~} z{Hg4x2sFN7!AU`>4Khl}FDsjm z0IJ7=rdZVIH;(3Arbq&0t9Ttj5+`Dda_T0@mN(q-K&{J=ny6(rs=&A0&KfPBJmZMT z)-?r=kG^?T3&J{Qt)s*fz>S#?hJ0Y0{lH?(+J49KJr^4BK!u}=b--Lj(VV7HFwr{t zp>YIeEZcJ}Ab{~k(xxOZj92(Ctcuc+uRi6~VP4H9GKkTAQifAp%HpWlaxi>!2 z`LU;88rrqiP^7YS!&q3+zp-=`9b^&^9#Run^-QxTk3kO~<_9bmR8uYkRLuCnfn#25 zH#|-y&9zNq36$shYCx4%C^A!V+TFF8mKoqWg#E<-jUjwON^s*S!{7#60WbgrS_TRL zt0B};TlDsqojbcWm61C;=aH;9FjU&q{P?88Y)_F=G*wHz!sWSX3%258;xwgd}+ zH7E&Xa-`N({0(J&|3bXK_+4^hEKMi_f@s#{U^^a9IexrG`MUr|Q{klACorEViTOL9|T{e&Bb^SH^1^i^75!Vjyw zL+lkr3{+K!xQS+EX|$tyMEoG^p~$|Oc;N%&Am@fef_gb$y@A4lzUwl36+vb8&|Uh` zvTNLqnPod;r|*o%NA|dXyc`%uJ?rS`=-3$_IfL=Q9xqw1>swpUvCC)cf{VHcrUWnT z{_+0U7thQDU zLaO_F^#W7^zd8Tct5$)ne06ozi){u{?Yn*33?s>{$9$)<({k~h==K&iE>tx}ej+pW zL^v=J%{8@E;ITTeY<@?k8dxYwP8Yj1{(p;gc|PX37@)UCyfJ>1y2-=$&0dh;y?-ZL z`;p~TaPY+FhV$;dFHrYWe%-wbF-4^uKN<5_-G-T{cWT`JLo6NEo; zA}#8#gxt%hC)>Q7tyF4U0IZ{kp0$%nei0_CMIVljcl^k$Md`)DF6zK8IwW%Wym zytwc8bzK}P&iBkF&K9uUn$Pua3|JrNy69Ifmlv&*2@yo9)e1k)%3@7WKQ@(q`LUh9 zC5JfWAxsI!_J53Rt8d-bzM?=os*B1q5Bfb%E)Atp9Qo|~>y}_#xAG7zhECwD>cJu^ zmmX)<3gSK9%)vIsXy%lu%YkYu)!bZ-d~7Z&pL$Xbs?3wCte}EV6*F!-M;_L1%J{*z z_zgwhfAu3<9uJlP3S*6!b&U zone14?hlL};#JeMpYJ?zU!2CC>w-}&FmDvYr2Ok8KozJ3yFArc9E%&+1S4@8MSg<* z(LBsIwx2oZFH|&vB}w!KE|&HW_rlk`FXjEPu8Uiq<`PTbw*<=uCgw|c{qxy-?GB8<;3S-ay5Juyp&+j0 zT!|!ZpWg)gcg51O0%_q_%UbpSq0_OqF_h(=-N8c|M30X6c7sd&AwN0WO?QSb-m-Mc z1@Rlc7xLD(Ohzb3vP+Hd8}IrZF@8Ue%p|ra{HyoFF4ibX_h||rZlL@#USb>ztn}L# z{Po4l_H#v5CB1mbb<08zFI77+)?O3s;y@n^^^SgIEZP?bz1c|bz+(iop-%_+aWdCC z#>oPk&EY`rn8PvBi@7oHz+*vRuuHeUl~4X6e>~3@eZAL4m%w0saJ1m`80oR#Pm!J? zZS;D>-KK|Q99#V@?5=A19HTeNc&f#Z!KD4g9vDA(Eam@aF7~%DXrsE%vFdI?Pc&^$ zH#+d>BXWB^FmtcRQQR{|9lZDE^bqNxpiS&!iazE7=&9c3n*v=Vc1B->gYS2dqVH^#lAbj zJ$uCcWlX2w=IM;nvmyUDF~!I1S-v-LMnfM8-yaWzzh~UlhQU9^BDsyZ","%3Cinput%20css%200c7iUl%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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A,ADAA,uDCAA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-d042ca250916cec9bc009760e0439417.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-6e2b200d1a75473166f4dd0ce7979aef.map.gz b/priv/static/beacon_live_admin.min.css-6e2b200d1a75473166f4dd0ce7979aef.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..4ef65b29e2b797e89b57f3acdaa6e9ce1fe03aba GIT binary patch literal 5679 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 Vu~^K|`K{mo{U57EzTEdw002f06{-LL literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin.min.css-7a97529c4dc65b9b0c5a3692b8c350c3.map b/priv/static/beacon_live_admin.min.css-7a97529c4dc65b9b0c5a3692b8c350c3.map new file mode 100644 index 00000000..75851689 --- /dev/null +++ b/priv/static/beacon_live_admin.min.css-7a97529c4dc65b9b0c5a3692b8c350c3.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%20_hP60k%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"AAIA,mHAAmH;ACJnH,gEAAA,ACKA,iBAME,sBAAwD,CAHxD,qBAIF,CAEA,eAEE,eACF,CAWA,KAEE,6BAA8B,CAI9B,4BAA8E,CAD9E,kNAAsP,CAEtP,8BAAkF,CANlF,eAAgB,CAEhB,eAAgB,CAChB,aAAW,CAAX,UAIF,CAOA,KAEE,mBAAoB,CADpB,QAEF,CAQA,GAGE,oBAAqB,CADrB,aAAc,CADd,QAGF,CAMA,oBACE,wCAAiC,CAAjC,gCACF,CAMA,kBAME,iBAAkB,CAClB,mBACF,CAMA,EACE,aAAc,CACd,uBACF,CAMA,SAEE,kBACF,CAOA,kBAIE,mGAAyI,CACzI,aACF,CAMA,MACE,aACF,CAMA,QAEE,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,sBACF,CAEA,IACE,aACF,CAEA,IACE,SACF,CAQA,MAGE,wBAAyB,CADzB,oBAAqB,CADrB,aAGF,CAQA,sCAME,6BAA8B,CAK9B,aAAc,CANd,mBAAoB,CAGpB,cAAe,CADf,+BAAgC,CAEhC,mBAAoB,CACpB,mBAAoB,CAEpB,QAAS,CACT,SACF,CAMA,cAEE,mBACF,CAOA,gDAIE,yBAA0B,CAC1B,wBAA6B,CAC7B,qBACF,CAMA,gBACE,YACF,CAMA,iBACE,eACF,CAMA,SACE,sBACF,CAMA,wDAEE,WACF,CAOA,cACE,4BAA6B,CAC7B,mBACF,CAMA,4BACE,uBACF,CAOA,6BACE,yBAA0B,CAC1B,YACF,CAMA,QACE,iBACF,CAMA,mDAaE,QACF,CAEA,SACE,QAEF,CAEA,gBAHE,SAKF,CAEA,WAGE,eAAgB,CAChB,QAAS,CACT,SACF,CAKA,OACE,SACF,CAMA,SACE,eACF,CAOA,mDAGE,aAAwC,CADxC,SAEF,CAJA,yCAGE,aAAwC,CADxC,SAEF,CAMA,qBAEE,cACF,CAKA,UACE,cACF,CAQA,+CAQE,aAAc,CACd,qBACF,CAMA,UAGE,WAAY,CADZ,cAEF,CAGA,SACE,YACF,CDzXA,6LAAA,sBAAA,wBAAA,qBAAA,gBAAA,sBAAA,qBAAA,gBAAA,iBAAA,eAAA,mBAAA,qBAAA,uRAAA,4CAAA,2BAAA,4BAAA,wBAAA,2GAAA,yGAAA,qBAAA,+EAAA,wBAAA,mBAAA,mDAAA,cAAA,UAAA,yCAAA,cAAA,UAAA,uCAAA,UAAA,8BAAA,iBAAA,+TAAA,iBAAA,cAAA,OAAA,iQAAA,uCAAA,4BAAA,4BAAA,qBAAA,iCAAA,yBAAA,WAAA,sBAAA,wBAAA,wBAAA,wBAAA,qBAAA,iCAAA,yBAAA,6BAAA,sBAAA,wBAAA,qBAAA,gBAAA,sBAAA,6BAAA,qBAAA,iBAAA,cAAA,qBAAA,cAAA,YAAA,UAAA,iCAAA,yBAAA,yBAAA,sBAAA,iBAAA,sBAAA,WAAA,gBAAA,gBAAA,aAAA,mBAAA,yCAAA,4CAAA,2BAAA,4BAAA,wBAAA,2GAAA,yGAAA,+EAAA,wBAAA,mBAAA,6CAAA,8BAAA,wBAAA,4BAAA,0BAAA,mBAAA,wBAAA,4RAAA,qBAAA,mLAAA,gJAAA,8BAAA,mBAAA,8BAAA,sPAAA,wBAAA,4BAAA,0BAAA,wEAAA,8BAAA,mBAAA,YAAA,iBAAA,qBAAA,gBAAA,eAAA,gBAAA,oBAAA,UAAA,kBAAA,6BAAA,0CAAA,4BAAA,wBAAA,wBAAA,mBAAA,mBAAA,cAAA,cAAA,cAAA,eAAA,eAAA,aAAA,aAAA,kBAAA,sCAAA,8BAAA,6BAAA,4BAAA,eAAA,oBAAA,sBAAA,uBAAA,wBAAA,kBAAA,2BAAA,4BAAA,0BAAA,kCAAA,2BAAA,sBAAA,8BAAA,YAAA,kBAAA,gBAAA,iBAAA,kBAAA,cAAA,gBAAA,aAAA,mBAAA,qBAAA,2BAAA,yBAAA,0BAAA,2BAAA,uBAAA,wBAAA,yBAAA,sBAAA,WAAA,WAAA,yBAAA,WAAA,gBAAA,CAAA,yBAAA,WAAA,gBAAA,CAAA,0BAAA,WAAA,iBAAA,CAAA,0BAAA,WAAA,iBAAA,CAAA,0BAAA,WAAA,iBAAA,CAAA,uBAAA,8WAAA,0CAAA,kCAAA,wCAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,iBAAA,4ZAAA,oCAAA,4BAAA,qCAAA,mzBAAA,wDAAA,gDAAA,+DAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,0BAAA,qqBAAA,6CAAA,qCAAA,8BAAA,iWAAA,iDAAA,yCAAA,wCAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,UAAA,qgBAAA,6BAAA,qBAAA,gBAAA,ofAAA,mCAAA,2BAAA,8CAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,8BAAA,qcAAA,iDAAA,yCAAA,oBAAA,ifAAA,uCAAA,+BAAA,gCAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,YAAA,2oBAAA,+BAAA,uBAAA,mBAAA,gZAAA,8BAAA,qBAAA,eAAA,sCAAA,8BAAA,sBAAA,cAAA,SAAA,mBAAA,eAAA,WAAA,YAAA,gBAAA,UAAA,kBAAA,mBAAA,UAAA,SAAA,mBAAA,WAAA,kBAAA,QAAA,gBAAA,OAAA,eAAA,UAAA,kBAAA,UAAA,kBAAA,QAAA,gBAAA,SAAA,QAAA,aAAA,YAAA,SAAA,WAAA,SAAA,MAAA,SAAA,aAAA,UAAA,WAAA,SAAA,WAAA,SAAA,cAAA,UAAA,cAAA,UAAA,YAAA,SAAA,YAAA,QAAA,OAAA,SAAA,QAAA,SAAA,aAAA,SAAA,YAAA,SAAA,cAAA,OAAA,MAAA,OAAA,WAAA,OAAA,UAAA,OAAA,WAAA,MAAA,WAAA,YAAA,0BAAA,eAAA,iBAAA,MAAA,eAAA,KAAA,YAAA,OAAA,oBAAA,iBAAA,SAAA,iBAAA,kBAAA,QAAA,mBAAA,MAAA,qBAAA,OAAA,qBAAA,MAAA,oBAAA,MAAA,mBAAA,MAAA,mBAAA,MAAA,kBAAA,MAAA,mBAAA,MAAA,iBAAA,MAAA,iBAAA,SAAA,iBAAA,MAAA,mBAAA,MAAA,aAAA,SAAA,mBAAA,MAAA,kBAAA,OAAA,kBAAA,OAAA,mBAAA,OAAA,kBAAA,OAAA,gBAAA,MAAA,iBAAA,MAAA,kBAAA,MAAA,gBAAA,MAAA,gBAAA,cAAA,4BAAA,qBAAA,oBAAA,gBAAA,OAAA,cAAA,cAAA,qBAAA,MAAA,aAAA,aAAA,oBAAA,OAAA,cAAA,MAAA,aAAA,UAAA,iBAAA,QAAA,aAAA,eAAA,iBAAA,MAAA,cAAA,KAAA,cAAA,KAAA,YAAA,KAAA,eAAA,KAAA,cAAA,KAAA,eAAA,6BAAA,2BAAA,6BAAA,2BAAA,6BAAA,2BAAA,6BAAA,2BAAA,4BAAA,0BAAA,QAAA,YAAA,UAAA,iBAAA,gBAAA,gBAAA,YAAA,gBAAA,cAAA,iBAAA,QAAA,UAAA,MAAA,aAAA,MAAA,aAAA,KAAA,aAAA,KAAA,WAAA,KAAA,cAAA,KAAA,aAAA,MAAA,YAAA,KAAA,cAAA,MAAA,YAAA,KAAA,cAAA,MAAA,YAAA,aAAA,YAAA,QAAA,WAAA,iBAAA,gBAAA,WAAA,gBAAA,gBAAA,eAAA,iBAAA,iBAAA,QAAA,YAAA,WAAA,UAAA,UAAA,cAAA,gBAAA,yBAAA,gCAAA,8LAAA,gBAAA,uBAAA,eAAA,qBAAA,8BAAA,8LAAA,eAAA,sBAAA,WAAA,8LAAA,gBAAA,GAAA,wBAAA,CAAA,cAAA,kCAAA,eAAA,sBAAA,aAAA,8CAAA,aAAA,2CAAA,UAAA,sBAAA,WAAA,eAAA,aAAA,uBAAA,WAAA,qBAAA,cAAA,mBAAA,aAAA,yBAAA,gBAAA,uBAAA,iBAAA,8BAAA,OAAA,MAAA,UAAA,YAAA,OAAA,WAAA,UAAA,YAAA,OAAA,UAAA,OAAA,WAAA,OAAA,SAAA,OAAA,WAAA,SAAA,qBAAA,gBAAA,SAAA,aAAA,yCAAA,uBAAA,mDAAA,sDAAA,yCAAA,uBAAA,mDAAA,sDAAA,wCAAA,wBAAA,yDAAA,4DAAA,+CAAA,sBAAA,uDAAA,+CAAA,sBAAA,uDAAA,kBAAA,iBAAA,iBAAA,gBAAA,iBAAA,gBAAA,iBAAA,gBAAA,mBAAA,mBAAA,SAAA,qBAAA,aAAA,mBAAA,sBAAA,sBAAA,kBAAA,mBAAA,cAAA,qBAAA,YAAA,oBAAA,YAAA,sBAAA,YAAA,qBAAA,wBAAA,+BAAA,gCAAA,oBAAA,4BAAA,6BAAA,cAAA,6BAAA,8BAAA,QAAA,iBAAA,UAAA,wBAAA,YAAA,wBAAA,UAAA,sBAAA,UAAA,uBAAA,UAAA,qBAAA,cAAA,mBAAA,eAAA,oBAAA,iBAAA,sBAAA,qDAAA,iBAAA,sBAAA,uDAAA,iBAAA,sBAAA,uDAAA,iBAAA,sBAAA,uDAAA,qBAAA,uBAAA,iBAAA,sBAAA,uDAAA,oBAAA,mBAAA,iBAAA,sBAAA,uDAAA,iBAAA,sBAAA,uDAAA,iBAAA,kBAAA,oDAAA,iBAAA,kBAAA,uDAAA,cAAA,2BAAA,aAAA,kBAAA,uDAAA,aAAA,kBAAA,qDAAA,eAAA,kBAAA,uDAAA,aAAA,kBAAA,uDAAA,aAAA,kBAAA,uDAAA,YAAA,kBAAA,uDAAA,YAAA,kBAAA,uDAAA,UAAA,kBAAA,uDAAA,gBAAA,2BAAA,aAAA,kBAAA,oDAAA,eAAA,aAAA,eAAA,aAAA,KAAA,UAAA,MAAA,eAAA,KAAA,cAAA,KAAA,eAAA,KAAA,aAAA,KAAA,eAAA,MAAA,oBAAA,qBAAA,MAAA,mBAAA,oBAAA,SAAA,qBAAA,sBAAA,MAAA,oBAAA,qBAAA,MAAA,kBAAA,mBAAA,MAAA,qBAAA,sBAAA,MAAA,oBAAA,qBAAA,aAAA,kBAAA,mBAAA,MAAA,iBAAA,cAAA,SAAA,uBAAA,oBAAA,OAAA,sBAAA,mBAAA,MAAA,qBAAA,kBAAA,MAAA,sBAAA,mBAAA,SAAA,uBAAA,oBAAA,MAAA,oBAAA,iBAAA,MAAA,uBAAA,oBAAA,MAAA,sBAAA,mBAAA,MAAA,sBAAA,MAAA,oBAAA,MAAA,eAAA,MAAA,mBAAA,MAAA,oBAAA,MAAA,qBAAA,MAAA,cAAA,OAAA,mBAAA,OAAA,iBAAA,MAAA,kBAAA,MAAA,mBAAA,MAAA,iBAAA,MAAA,mBAAA,MAAA,oBAAA,WAAA,gBAAA,aAAA,kBAAA,YAAA,iBAAA,WAAA,mNAAA,UAAA,iBAAA,iBAAA,WAAA,eAAA,mBAAA,SAAA,mBAAA,oBAAA,YAAA,mBAAA,mBAAA,qBAAA,kBAAA,oBAAA,SAAA,kBAAA,oBAAA,WAAA,gBAAA,YAAA,gBAAA,aAAA,gBAAA,aAAA,gBAAA,eAAA,gBAAA,WAAA,yBAAA,YAAA,0BAAA,WAAA,oBAAA,WAAA,mBAAA,WAAA,iBAAA,sBAAA,sBAAA,gBAAA,qBAAA,iBAAA,oBAAA,gBAAA,8BAAA,sDAAA,mBAAA,oBAAA,yCAAA,mBAAA,oBAAA,2CAAA,mBAAA,oBAAA,2CAAA,mBAAA,oBAAA,4CAAA,mBAAA,oBAAA,6CAAA,mBAAA,oBAAA,4CAAA,eAAA,oBAAA,4CAAA,eAAA,oBAAA,4CAAA,kBAAA,oBAAA,0CAAA,cAAA,oBAAA,8CAAA,eAAA,oBAAA,8CAAA,eAAA,oBAAA,2CAAA,eAAA,oBAAA,2CAAA,gBAAA,oBAAA,4CAAA,gBAAA,oBAAA,4CAAA,cAAA,oBAAA,4CAAA,cAAA,oBAAA,4CAAA,eAAA,oBAAA,4CAAA,eAAA,oBAAA,4CAAA,gBAAA,oBAAA,2CAAA,YAAA,oBAAA,8CAAA,eAAA,oBAAA,8CAAA,eAAA,oBAAA,2CAAA,eAAA,oBAAA,2CAAA,eAAA,oBAAA,2CAAA,eAAA,oBAAA,2CAAA,aAAA,mCAAA,kCAAA,WAAA,UAAA,aAAA,UAAA,YAAA,WAAA,YAAA,WAAA,WAAA,gEAAA,kGAAA,sBAAA,mGAAA,WAAA,8DAAA,gGAAA,WAAA,kCAAA,uDAAA,sBAAA,mGAAA,WAAA,iEAAA,mGAAA,qBAAA,4BAAA,qCAAA,cAAA,wBAAA,mBAAA,SAAA,oBAAA,kBAAA,mBAAA,kBAAA,sBAAA,QAAA,2GAAA,yGAAA,yFAAA,YAAA,sBAAA,kBAAA,oBAAA,uDAAA,eAAA,oBAAA,wDAAA,eAAA,oBAAA,sDAAA,mBAAA,0BAAA,YAAA,yBAAA,sJAAA,8IAAA,sKAAA,mDAAA,gBAAA,yBAAA,wBAAA,mDAAA,mBAAA,yBAAA,0FAAA,mDAAA,oBAAA,yBAAA,4BAAA,mDAAA,sBAAA,yBAAA,8BAAA,mDAAA,cAAA,wBAAA,cAAA,wBAAA,SAAA,kDAAA,UAAA,kDAAA,aAAA,2BAAA,AECA,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,+zHAAA,CACA,gFAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,+ggBAAA,CACA,+DAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,m7ZAAA,CACA,yBAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,29VAAA,CACA,0JAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,mmpBAAA,CACA,gJAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,+m9DAAA,CACA,qMAAA,CHzDF,6BAAA,eCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-7a97529c4dc65b9b0c5a3692b8c350c3.map.gz b/priv/static/beacon_live_admin.min.css-7a97529c4dc65b9b0c5a3692b8c350c3.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..20ecff302a3fa3e511026138ceab19b14a4dddde GIT binary patch literal 5678 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","%3Cinput%20css%20NLU_0i%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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AA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-7ed1f14c8c4628bdab5fe503a0ec1b0b.map.gz b/priv/static/beacon_live_admin.min.css-7ed1f14c8c4628bdab5fe503a0ec1b0b.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..8f1c0d00f8c1487c6e5b6085934e133e94e1de6a GIT binary patch literal 5678 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","%3Cinput%20css%209ckX-0%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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AA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-81768f004168756e318802b811a6991f.map.gz b/priv/static/beacon_live_admin.min.css-81768f004168756e318802b811a6991f.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..04dffe241bcb8e4a54d7ab7a3630b4e5029447a8 GIT binary patch literal 5678 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","%3Cinput%20css%20OlnA8S%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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AA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-96c8ab06c458bb4e26dca28e6b6ab8fd.map.gz b/priv/static/beacon_live_admin.min.css-96c8ab06c458bb4e26dca28e6b6ab8fd.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..306ae5bc5b753c59175f3a26588da0b49aafadf2 GIT binary patch literal 5678 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 U>=cdP`2FAi0kT3WIPFmY08^7QN&o-= literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin.min.css-c7d9d6cb10e2725fe4fdcdec278ab224.map b/priv/static/beacon_live_admin.min.css-c7d9d6cb10e2725fe4fdcdec278ab224.map new file mode 100644 index 00000000..7f52bc4d --- /dev/null +++ b/priv/static/beacon_live_admin.min.css-c7d9d6cb10e2725fe4fdcdec278ab224.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%20zs6njz%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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AA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-c7d9d6cb10e2725fe4fdcdec278ab224.map.gz b/priv/static/beacon_live_admin.min.css-c7d9d6cb10e2725fe4fdcdec278ab224.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..c01ed23f14231dd5be464bc91e4dc7cfce887240 GIT binary patch literal 5678 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 U%}&wyjo<(MA4O$Hy6sT_02tLTBme*a literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin.min.css-c97882953cc7911f6cd2b0e0d7ed7d1b.map b/priv/static/beacon_live_admin.min.css-c97882953cc7911f6cd2b0e0d7ed7d1b.map new file mode 100644 index 00000000..4c8b7f16 --- /dev/null +++ b/priv/static/beacon_live_admin.min.css-c97882953cc7911f6cd2b0e0d7ed7d1b.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%20dBXGLB%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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AA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-c97882953cc7911f6cd2b0e0d7ed7d1b.map.gz b/priv/static/beacon_live_admin.min.css-c97882953cc7911f6cd2b0e0d7ed7d1b.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..5b65af56b97af678595f29e8684ba9912a93966c GIT binary patch literal 5678 zcmV+}7SZV+iwFP!000006V+UMbK|zI|0)`v>D_K)$Fl4=w)gg)%CGDzyWOTaY1(ue z*`gJ#^>Flv*V{SY{Q#sSLX_;}WP1PTOd~@e34%X>07!fLXXAlIu^R@BQMcKM!!%m5 zxH0;zaeUl{|ExG>N!(t>aeKk6Wf=V7xex3Q%l6&i7`TmQ<9~xt6XX65-oEKh++dR? z-xxYH!_yxBa`t}wO?L*3LZ;0&ahr?r!vJLd!E84PqkOI)w6VobJr=irScO3%q_;n_ zWD!|z5Vv4l*meV(ec?L%-fRSx&(#Lfw>BF$aNw;cFlI4#vQEGaNU2 z_%ef+>2TIue=yDXM;w{_*c?F18pnO`<{-j!aLDX#T+kDsEz`UL()^`)Ddzl`P2$7o z5PMBGjlePW~R#_a;6B;4u(^F?w1) z)ZsR}F5X@K&ItOGSpg8dZ>KodRWa2P+j~?vF=~$sOQm9c&L}B%O^h|+{*k}?Q`4Fu zH!}uTCG*J{*Zega=Uw)Gg~p*yUO@`B-A7{3e08i)4`w{${<1|oOutOf`LOM++1yR` zw1F7F6F^xOvs|LsW#KkQ@T6`?;J-wnSEhN5GJi!wV#8UcnZRcH^%p?yJ%$d97bdqQ zpVZ_i6nx5Y`IF(pCynV(`0P#aX>d-Dh&0adxjU2nk7lw}$N`K@G`oq)n;e(Ydpaq| z0ny~>XG!zUANl(yIiyF_5tF-|zvJ|ky8LYg3fjFtR{K}s>eI1Ov3p5g7fYeCcSMFu z=qovacv=!QfznfOuOi-`NHDi#tWNr5{Ga3keC{yLTRB$r6mZ6d>x6I9+k+Q%n;*`h?fX|a(=BJPs9>g7jhsg?0qd)O!lNN8D!Lz?C?nr z`&bAh0xoO2UKHxk~D36d?=DeV;3hJ`V zJ1@hhOH765pBL}%icTMiBS zq+iQ*YUd@2IV#EFr`bFtTk&JjgQQ%ksU`c%p0fE;sv%uZHP*5)mZYu=iq*7oUY~^T zr_eO7d@AN38q$J*Y)ukXKNTb75+(JnOkLF|E=OFKTMzTBg8EcQraD*Z83M7ZEcmKe zgWSOm$$ME`d@uQ_6e-LvqMPVKg65SvkXK1tnbi1PB9D<_d~qVabJCDyDUmB{jZ`v8 z0q9FvI|4*XFc?TTJujw^@!_h5r^Fr^&?N6dDnbISP=us%QH;maLwu1ovm%6ZdLlzl zBpB%)&YCQgy2d`5)^=nGmgL6dNi!3P101MOlCdO3hb>8-4oSy7vOAZO97tbvWh&cB zsawg7C7DXH;t{0mq$hy;sme*8%(<_47Htg)R8N;L01hjhRG#4sX&~B07-CWEK#x6) z>qi-vD#IDq>J&;9tTOek5Tj&hC9Eq^locaFlA%b}3{@A7$NPs+KR$nSh*dj;96&Fm zBaj>z*H1!HFzr#1LDV2gveKh6OJxxfXSK)(Ro!GBRx6A88lt|qsmws~62X$3Q+Wsf zL*W`Ue#x*;fTA|PmJE8tTdQtC8APLNMY#$|4$kBRNUF{&MJ}n-={^@vhp6ZhjT{pB zL>i!L6sdx8j3;n<6;6LoANDANqNmF=E*JxKOod_8Gn|ShRnGEJ#^c&M6`ZaQDEn0H zA7^kk^2xznRu@)5$$Csu!a@1n&iYJxkAGG)4n+Kw3^9QS%az{lOfrP?(dz(?D81~t zkPD%KZ%rJTr)PQ(wwo7Apw)tqlFEc27+aM=onDt)EW3pfw_+6Dc z=7M}P|L?^(j_e^Wb)F^1KmE0!cjIS^F^2ytX#MT;wedHyhx2?nNB(eHyxj8~HF^DY zI?pOkHbLu6O?h=wFw$v38VA}2nd{fJ>1tbipzU6^?GDH^4zwK_SD7!AZFz|&dp>c>g#Plj$4&GLf6ao26iXh~CzZTo6(q@bm7vbnPiWtUy(z?`jsPBjL6WXc;M`Z1VQ+pZPos5isKeu&%y@a1<6 zb)DVE;1fp(OKLjZA9#+`w)+EZG^r?a_y_um;uT{eR9 zdarJ={1_>*;_Di`FBq(BbxAGvTZjz5Dmy`}+BLhylM!#AwykM2EXa$pT9@Tlvck*# zo87AQd%0>~^{Y&Ij?knGL}_c)A|vJKnH5Y<6Qvc#WqE_i<%u0&s9S5T7!7yVP#U!B-Jd%3cQ{Q>Kr8Uw@5e)pICR&Wvq2@4YZ$>0yJ zzX_v6yJ;kr>uue@=D!=XVs_JbbraM#FGJu4AR#``DNS6@O{3y_YwEajco17jCtDrhJ|xgjoymi=Fm4jT5z3 z>%g?sZj|1@Lff5AA142MfZAQ5*PIev}X>sVec3t~2^ulPQC3mpcZ(j)J1bN5P+1$K*|MQEc zwoIc4kl^f>M99B!3H#Jz|qVGG+iJw8w6YU9^}1x$v0gxdCh4 zF&Df@a|6xtJZ%w$+n7c1F*jQ7A(oAHK^w(dxYE#5H2@6caxKEhg(mR)FwmBFR^YH0 z<+&d(KukB+zz5Z}h*`FUb0^k0>*4b}qCc(;+({aUY+cRyZE==A3nm%L1oM-4;@? zpvYY{wRi_^;Tu$G3#?{dBNZ3AgBpp@q#%a(=OlKG@9B^;UY{z zYoLPb}-<1yj?%17)G-RXY68?A2dz6tIC)ugn^d04+i=e&hD#XTJy9U?Gj%k|W(7-NNJ#j$3)5rlu( zZ?LOzvTR%ytP59Pg!WFjy3i(%j=7JQHh?RXQX^ZoGSjyCOv^CBsWlmz=Ag?e{32F1 z$(pfiCeR9&3?oyPR(PnT<7Dnwq|R5@^Q>doPy92CoOXN{ZvTLm|QGmq2wOpWPYw=;EV?j}v_K zg(`ewiRhN&Rj{{;UzLh-a3K4umaXD$QsK z9Ta=jB2=S;Y9fxxw(x2+OPy5~u=+TOLQw6`%2FZLfhB5k{GQx}|9nN{F0C$qD*Gt} zjc=KMTNqH_qsAAZ=Q6ah7+EiDRM_%2@Ueky@#hnA52__{4^r{QT7rjO%+KMa^%HYa z&x)GbISV|EBKDE3`s)CaI1!tdQ@3%txaEciYEy*NSS`Cz1-|9>)@a$}DfgIkQ&Hgb zk;;-SV?jy(+R{~YkV!yTNKIhnGtGfK20c8OAAB*V>T(%)#e^RmxX+92hR3P6 zzP70?fwEj*4yY1^JTv8|-F=&Bk%C_bu%Gz9EQC);2~HHI7~EhhfDZtH$Up&L)r2~V zMdxtYxwmUw8M(J}7RmAhL#a*8k54Mh4iqVQQ@Pa3O`buUvlSZ?qbXGzj|52sRWT%I zzmyqe;ip(fn1c9eF@6N~vy4}{ca>^JYk@aBJFE-1n?c3vF4y8*y4w_|*Rm@a6;~3< zWS&}8@i&z9{R{E_;&;i3ur#3z2&%pdoa{WGoeJUb#jFTH8f8p{e&Bb^EhOA`YI3@@xv(ua)SrRLG~?)1l4lBd;^6AecNHnbqJN&Lwn(ci?*>E zGHYoM?XEo>o-Bvm(?!oX=~yQxC#UxC#O@7y%i)4`+Mcxo9ou}iHkhc5&J^RN-9O%+ z8iUsR)9&fZ@)DtX$+RRFNq3eVZmUkH))aZ7)p(-i_h02?r@H`gctM_Z{%N2A;^-5|jGu8kYC3TKzC0Ajhdd=OI2 z->DX$((&u_f3<2AzLl-6s(QZ7KsrF(Q}ndy_vGyU-7J4X)a~tthdJ; z7G&Y7+8UyMDL!BkX?}wV=wz4MnYTSYjXZ%D*ky-p1k83VFD&i=#M?fV=)noXpE!}` z^;b;pWz>^xR?e0xH7)?wkw?$U$t1f7lhvXJ$HzN<QYi{O_WeymFm4)Ih!#Ufa8`9;5v5Cy zb88Lp9&hGg8)G!Hi_~R9wUua2rbae4la)<9Dh8G2$y8Rnf=?AOj-4$J>$gSx;9LBb zdf$Kd6>gF)Gj{ZSK&noYe{c%=q3Bk> z+Z%R!MhE>>)3l%OTybBVM6Tlis20E*MldP=dI`J=)Ph}}Xe^4v4Qz~&I0-{9M*C9Yt#TTNyd4olLB(lGYD+h=GlBH(F8`O^H z@#pvjMTYB;$N4YC{jjc!Tb}w7OZac$EL)hEFX8pi=kK*U0D-|tI01FRK3GCQT*&RqIJf*v5v$99db z_`tW$3?y}C^C1so=6Jtt@oS0TZ<9Cbw0(|c_sV&)VZk7VIe(^cbZ(qEH;$nT8$pf% zLkW5c^kgn#91b)lkfDspDNjMC2Be_VL;F>%?(bvIzrvQ!v!jl-)43(|PFL)^6Wp^W z++N0b3}zlrI6dj}kEtm>CeO0HfioI","%3Cinput%20css%20yAd_bM%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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AA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-cc999e56a894a9414d610e641e8a4340.map.gz b/priv/static/beacon_live_admin.min.css-cc999e56a894a9414d610e641e8a4340.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..c9721c7b73ccccf20153e1263872db5af7fbf604 GIT binary patch literal 5678 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 U^C=p?@%z93189xc(CtwG0JnWmVgLXD literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin.min.css-d03fa4cb6a8065d289f6075af227e929.map b/priv/static/beacon_live_admin.min.css-d03fa4cb6a8065d289f6075af227e929.map new file mode 100644 index 00000000..2c329d44 --- /dev/null +++ b/priv/static/beacon_live_admin.min.css-d03fa4cb6a8065d289f6075af227e929.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%20CJlgji%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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A,ADAA,uDCAA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-d042ca250916cec9bc009760e0439417.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-d03fa4cb6a8065d289f6075af227e929.map.gz b/priv/static/beacon_live_admin.min.css-d03fa4cb6a8065d289f6075af227e929.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..e6abb5f45b8aab8f746a1b3f3a1a696ea902dcbb GIT binary patch literal 5680 zcmV-07SHJ)iwFP!000006V+UMbK|zI|0)`Hdbiuyu`D}I?7h9G@+Flv*V{SY{Q#sSLX_;}WP1PTOd~@e34*|n07!fLXX}B*i5G>falhS4qAa#q z(i;EPIy~&ce^!#PH0jz&(p@skj>12D?}7bcIe`}*0=Ly}{cjj)V%-11+qeCx7p}AP zTSJFtcuwE??q~1Y{u~;GOoy$LE*BF-A;|oLIbIsY#av zoW3*L-o!kcx08u!Zf5PN`TEPOeLpeZEP$SyZD!8r@R;K3rP+RmuS4j2G6BY$(WE`V zmpQ!5M)UUSgJ~u|;mGu-_6fACaNGxf0U}Hnhs^ILB|Qb&GR;dM&40Bo#GD`VNdg!h zVXxVG(*9)5vF(%DJ~dD0?FicLd0WgS*ho6i>lAyPnb=`EZ*M@ZH$~~6r)_sC76Gj* zzG4s6<7)U5oULe`mh$Ro*>eS zp)U8?Rr&7mcSfu~otFlJ_stCFx-6%%v3)>=6Q>TiuuLj8ib zxw$jADmfn0=Wd_^|D*+1^ff zw1F6~Cm6*pXSqPJb_tsUcv2V=^IxFQOVhkUnZKeVvEek=OxR}j^KgphK$uopPc`*TtL79x^a+%bG zOp?*0G}DS0RwrJi&I-uWu0B}#u*!!JnGhQciPlUiAe@kqnZ!_|w#XH6Lqd#lB?r+> zw34dU{CZEO*pexXnlcnMm*sd_K8|@4Bor7-JRp~mg`EKfAXlr zyvq^L=nCY#7vJ$Zm%29iNWUCIuh zawIR zs=TuX>Pn)N8$;}Yv-162+36#Jgft6{9-pMm&!lfZO7cvKI8*u(a@EN7RPtQmlD^VX zHL)KRGHB$wjq?)4T$SXGpm{waoAP7XgCt+6sU`c%p0fEusv$wBI?FDdC8?{DVhydF zHza}lDKyP6pUOFihO{&wo0P=YPvr=?L`l7?QkM;i%Mn-A*8M!Iq&}6Bsm`^^hM3q> z7JON*LGERjWWYQ^zL)$=iWKe_aZYq0;qy`*$m^wzOmBQHk?)snLN!I(m}M1FvOzR zo*p|GSC29-RE9fg)G3lGSXJs>DMrcAN?2E-C@V)qBtwy`8L1FXCcB4F9G^Wp#A+Nu zj-uxh2qXt4&6AK6OncO15H(1Wto5kPQd@+yvsz?Cs%|n5tCdA_4bfcO)Mg-giP(~y zSb2xwLkSHUzhu}ahN3>dk_>v-TdA<145HDMqFjw6M`&^uBvt37BA3+cbf1f-OH}lT zMlOkbA`Q?ric~>4#uGS$8fUnp4||kBt*6U0E*K~3m>R=qX1Fy?>Kyw~#^c(%H9KAH zQTD0YKhEGV3dj*&Ru@)D$$Csu0-*esXLTyk6P%WfCnEkzhL}Kv6zY$Z5QPdXtf}uWHKQL#ztjO(Cc!G<@Yh-e(VjWc|r(C`VoC{ z{fU_Tre`7f5#bL=|Ag>Q2%i{+kRqIrgecRg$b{y6nqPDmw>pbrQB!j&?|SCB1vvBI z>+6zs7lM4V`0vHIuIwSMcb+9DIR3Syx07d!F-HF^Y5ncdv2f=7ozTER1 zHGTbcw#X|_Hbw8vOnHe@GO}4o8hhGKa_Bd;>1tcDr|n+0ZTHAD_O$IASDP=AZAFPL zCzQdTJ9lWVoQUv5vDT0uT-CAsBN}DlJ%rKCQ8eZ;I zOzgwUKAdf2Td-$Qfh0wKCQI9Afqlys+2L`^shA)lPSmzcwQ4iwPxjzN93-!#NRh+{ ze0JkLd9>}arbAVFpuE?xktyn}l+Y5WE)OP3TaDqW_$NJtjkxMWYjvCC-~Q}WGEnV( zPr{T);p&u+w$)@N&AO8vMI7TjXwvJG`rz^w~4$x z<}2ici=ft+wS+Y(WIix5$x$JireNnYHeg(c3O3?u<%87;)`mZ ztEv-}*L!t~6~{y)G$xw};5^%PI&G)vx(2o{V@WYTJrN!;(C&s&!F) zB`dtxz1gis+{;x5Dz0+nxrL@xLsYg_qh+KVJ@+FtHEg$rYubH z$Adq5!8(dl?Yfm(p1<)zhyQ}mO4xPl)pgk1Y)8NiK|->pQ)3nf zCaINrc0==F{$s|9$Sn51yKdd3={gyAyZmQ}hi(+PKC{+datO-euOf|q+**O>Z-4m7 z&ys_;*2;=g>)_l9lkvvAOMf(U{Z$|S2Jm+Tf5-55qU-hsuy?5a6tf2~g|@aF#|vG}3LR}3#SV+L+c*j|>-Lt}DYh`51=w@rIqBV@ z_FbW}>!o+uk}DcSUmfk|bkEckuE$G!8Y>_oIzg%v8*iMlfqBe!0~? zXGyB|>g<`8`i;_SSZKG`8^Yw@cdtWuwy(qSc*$;~m~qm&O+kS_uR{%{`O-Ps8C_MU%0n^ERW}mZV#sjkP55J*TPNj{GPdYv~;<_PZB?IYr*#Y`!or z-v9EVt=U-|gC#ioB@yy(T*5B(JDqd`()rF9YcF2B%KPVTzDO9D6510l!7f_DfL!`a z^SzLD?wAKC(!5Z!d|z9}(I#PWa>$)lAjEReFX*F0i*7YUss;uFxm=4V_Mi!nABCEI zXN4|HP@ebk9K`es4FXVIi<#wEICp9-xd`Yn5Iw*!S_X5!NKn~Z&&^`yXg3J}{f1B3 z5&HmP;;>sQ^HUgn^yI}@eY2XXz5F3xR-r-RN zRhw$`!MYadL;Ic;qMi&>pn_BnrFfS@*n#dGFHOuKk<-D+z; zN6RRUko%hX4-8_VrF~!-!!{EP=VQ|c=%Qi#LN1;8x@F>g8i&6&52DW=c9Byw^3J!x zGV%qJi>?e8yJ%1`h=PP&runV+`ypqE{^xmjuvi$yf#nO)M^tnj9ghkBXE9=j_@UhY z`F{SH1<`|mYGB1KZnUPo`zE{ttEQDr&cpf*g7XIA6h}G$9U?Gj%k|W(1Y?D7C5h&E zF@%5EZ?LOzvV2?~tV^gbBWEk1F0?74V}bF?2JnPZYGlh-W;za^$&O;2T9ct^0lM5q zU&P9$c{6s+1zMraFf!$7g@;-?PUenf=6>~j-#Uc-#6P3h?Iw58<_~B&v|aBXp7TR* zqz{jdUh?2I4-;^{b_YT3EBMRuwHW`|fMx;n!4rYBDFWodxmbDCD0wcZo1@GYX|yh~ zO>g~$?CR2BsIJ9|DgiGYFb`&IEHu0j;+f?jfUqUX zq#G@vgW|773pMDVx`gs^HYgfGb!8EC-xmIEEfi10s!Q-TNk{{!0~qm=xzviS(0 zdMs#)MU8&rXx?RtBtW)`*AqzML~Kz`-6YxahC3dpbs16bF}hDG(Hzc6*ul#J9?I9<;G zl!P)lQtK-IhO&NmA>Lp7E;%ulCX@j|HSmCwpXc*aAsoJ#6{C^H`Bc>{XxS?SX6Tex z3uuD1g*OP*ttfkXf#tH?LJf(ps3QW%?6KTZw~?JCxv8*z!i~du++;=iDlIVPhgIGo z_KG3~swza>ShKP;+EG0seh~IhWZ#Uv@Bwm=b3-CQy_~P!Kw&}Ob(y`2pfY>tF8yfP zHEu`DvYnCBcSfTld(=N(4veFob#!!e?2L|_!DwKQmaNzHtu5%-<+F9cMO_3_f|qvR zygxQhI`5DB$1kf(gz6>Nl3XO+Sx&U6gHWw0ibSjNM9c5Ls>x1;{yL6aP%9BrJ(j0& zN(y>Aixcpi@FDCuFSKKE>xOed9h<)ipmA#}Rq1$K0MiRYyzg3jVW$MUYy~4$TdM~l z)&0GC0V;vtod4@ptH4&iy1MGcHUp{l-M(#xk>u86zEjz0x%f_WdkY&Esv09dkr{g; z9GHman%XMxSRGh4zavu(EEFZDi`^Rkzs0&dAM;!c&|4$k7(Ytg;UJ`G_%O!URB_Rtr_(%%pOv#lwVpQ;y+q zjRwM$-4F~R2-&OqEK2dH%rrumxj#oVE)|x9BIq&T= zmxXz_s<%d{Uxp7@L{{8jf_3uC?Hp~7Pa{v@rS0;=HX6+FEI%sm0L0ramFU3qjNu!zc~ z$Ce()`R zL(%u&eMQzQz9YlS7d5d5p5yrJhJRItoCZz!H!JzKI@?Fp_>3Kc04&v{$v2#Weki&# z><>o$fzd;}YMS=TohR;#)7W!eFscRSjbfOTf4u~#0<~b5ry7f6aRZxRBu=BqPtZS_ zhxx|#GY9>JiYBlmiQd4)(*6OT4hSF&HxjYI~ zeNw@6vtgSMjQ30_{%>G3UM?p*-gAADVnd25TYMqPo7Y&>$0GZCxNvC>Grqs$zSA;=lPj`!_XvAVyHKmQ6}KF^Oj`cCJb(0hHc?~ZWK z9&vvelL@$aGUfDi$UkPL_?SM+_Xf^r=tJTA","%3Cinput%20css%20XqozfM%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"AAIA,mHAAmH;ACJnH,gEAAA,ACKA,iBAME,sBAAwD,CAHxD,qBAIF,CAEA,eAEE,eACF,CAWA,KAEE,6BAA8B,CAI9B,4BAA8E,CAD9E,kNAAsP,CAEtP,8BAAkF,CANlF,eAAgB,CAEhB,eAAgB,CAChB,aAAW,CAAX,UAIF,CAOA,KAEE,mBAAoB,CADpB,QAEF,CAQA,GAGE,oBAAqB,CADrB,aAAc,CADd,QAGF,CAMA,oBACE,wCAAiC,CAAjC,gCACF,CAMA,kBAME,iBAAkB,CAClB,mBACF,CAMA,EACE,aAAc,CACd,uBACF,CAMA,SAEE,kBACF,CAOA,kBAIE,mGAAyI,CACzI,aACF,CAMA,MACE,aACF,CAMA,QAEE,aAAc,CACd,aAAc,CACd,iBAAkB,CAClB,sBACF,CAEA,IACE,aACF,CAEA,IACE,SACF,CAQA,MAGE,wBAAyB,CADzB,oBAAqB,CADrB,aAGF,CAQA,sCAME,6BAA8B,CAK9B,aAAc,CANd,mBAAoB,CAGpB,cAAe,CADf,+BAAgC,CAEhC,mBAAoB,CACpB,mBAAoB,CAEpB,QAAS,CACT,SACF,CAMA,cAEE,mBACF,CAOA,gDAIE,yBAA0B,CAC1B,wBAA6B,CAC7B,qBACF,CAMA,gBACE,YACF,CAMA,iBACE,eACF,CAMA,SACE,sBACF,CAMA,wDAEE,WACF,CAOA,cACE,4BAA6B,CAC7B,mBACF,CAMA,4BACE,uBACF,CAOA,6BACE,yBAA0B,CAC1B,YACF,CAMA,QACE,iBACF,CAMA,mDAaE,QACF,CAEA,SACE,QAEF,CAEA,gBAHE,SAKF,CAEA,WAGE,eAAgB,CAChB,QAAS,CACT,SACF,CAKA,OACE,SACF,CAMA,SACE,eACF,CAOA,mDAGE,aAAwC,CADxC,SAEF,CAJA,yCAGE,aAAwC,CADxC,SAEF,CAMA,qBAEE,cACF,CAKA,UACE,cACF,CAQA,+CAQE,aAAc,CACd,qBACF,CAMA,UAGE,WAAY,CADZ,cAEF,CAGA,SACE,YACF,CDzXA,6LAAA,sBAAA,wBAAA,qBAAA,gBAAA,sBAAA,qBAAA,gBAAA,iBAAA,eAAA,mBAAA,qBAAA,uRAAA,4CAAA,2BAAA,4BAAA,wBAAA,2GAAA,yGAAA,qBAAA,+EAAA,wBAAA,mBAAA,mDAAA,cAAA,UAAA,yCAAA,cAAA,UAAA,uCAAA,UAAA,8BAAA,iBAAA,+TAAA,iBAAA,cAAA,OAAA,iQAAA,uCAAA,4BAAA,4BAAA,qBAAA,iCAAA,yBAAA,WAAA,sBAAA,wBAAA,wBAAA,wBAAA,qBAAA,iCAAA,yBAAA,6BAAA,sBAAA,wBAAA,qBAAA,gBAAA,sBAAA,6BAAA,qBAAA,iBAAA,cAAA,qBAAA,cAAA,YAAA,UAAA,iCAAA,yBAAA,yBAAA,sBAAA,iBAAA,sBAAA,WAAA,gBAAA,gBAAA,aAAA,mBAAA,yCAAA,4CAAA,2BAAA,4BAAA,wBAAA,2GAAA,yGAAA,+EAAA,wBAAA,mBAAA,6CAAA,8BAAA,wBAAA,4BAAA,0BAAA,mBAAA,wBAAA,4RAAA,qBAAA,mLAAA,gJAAA,8BAAA,mBAAA,8BAAA,sPAAA,wBAAA,4BAAA,0BAAA,wEAAA,8BAAA,mBAAA,YAAA,iBAAA,qBAAA,gBAAA,eAAA,gBAAA,oBAAA,UAAA,kBAAA,6BAAA,0CAAA,4BAAA,wBAAA,wBAAA,mBAAA,mBAAA,cAAA,cAAA,cAAA,eAAA,eAAA,aAAA,aAAA,kBAAA,sCAAA,8BAAA,6BAAA,4BAAA,eAAA,oBAAA,sBAAA,uBAAA,wBAAA,kBAAA,2BAAA,4BAAA,0BAAA,kCAAA,2BAAA,sBAAA,8BAAA,YAAA,kBAAA,gBAAA,iBAAA,kBAAA,cAAA,gBAAA,aAAA,mBAAA,qBAAA,2BAAA,yBAAA,0BAAA,2BAAA,uBAAA,wBAAA,yBAAA,sBAAA,WAAA,WAAA,yBAAA,WAAA,gBAAA,CAAA,yBAAA,WAAA,gBAAA,CAAA,0BAAA,WAAA,iBAAA,CAAA,0BAAA,WAAA,iBAAA,CAAA,0BAAA,WAAA,iBAAA,CAAA,uBAAA,8WAAA,0CAAA,kCAAA,wCAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,iBAAA,4ZAAA,oCAAA,4BAAA,qCAAA,mzBAAA,wDAAA,gDAAA,+DAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,0BAAA,qqBAAA,6CAAA,qCAAA,8BAAA,iWAAA,iDAAA,yCAAA,wCAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,UAAA,qgBAAA,6BAAA,qBAAA,gBAAA,ofAAA,mCAAA,2BAAA,8CAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,8BAAA,qcAAA,iDAAA,yCAAA,oBAAA,ifAAA,uCAAA,+BAAA,gCAAA,8BAAA,qBAAA,eAAA,sBAAA,cAAA,YAAA,2oBAAA,+BAAA,uBAAA,mBAAA,gZAAA,8BAAA,qBAAA,eAAA,sCAAA,8BAAA,sBAAA,cAAA,SAAA,mBAAA,eAAA,WAAA,YAAA,gBAAA,UAAA,kBAAA,mBAAA,UAAA,SAAA,mBAAA,WAAA,kBAAA,QAAA,gBAAA,OAAA,eAAA,UAAA,kBAAA,UAAA,kBAAA,QAAA,gBAAA,SAAA,QAAA,aAAA,YAAA,SAAA,WAAA,SAAA,MAAA,SAAA,aAAA,UAAA,WAAA,SAAA,WAAA,SAAA,cAAA,UAAA,cAAA,UAAA,YAAA,SAAA,YAAA,QAAA,OAAA,SAAA,QAAA,SAAA,aAAA,SAAA,YAAA,SAAA,cAAA,OAAA,MAAA,OAAA,WAAA,OAAA,UAAA,OAAA,WAAA,MAAA,WAAA,YAAA,0BAAA,eAAA,iBAAA,MAAA,eAAA,KAAA,YAAA,OAAA,oBAAA,iBAAA,SAAA,iBAAA,kBAAA,QAAA,mBAAA,MAAA,qBAAA,OAAA,qBAAA,MAAA,oBAAA,MAAA,mBAAA,MAAA,mBAAA,MAAA,kBAAA,MAAA,mBAAA,MAAA,iBAAA,MAAA,iBAAA,SAAA,iBAAA,MAAA,mBAAA,MAAA,aAAA,SAAA,mBAAA,MAAA,kBAAA,OAAA,kBAAA,OAAA,mBAAA,OAAA,kBAAA,OAAA,gBAAA,MAAA,iBAAA,MAAA,kBAAA,MAAA,gBAAA,MAAA,gBAAA,cAAA,4BAAA,qBAAA,oBAAA,gBAAA,OAAA,cAAA,cAAA,qBAAA,MAAA,aAAA,aAAA,oBAAA,OAAA,cAAA,MAAA,aAAA,UAAA,iBAAA,QAAA,aAAA,eAAA,iBAAA,MAAA,cAAA,KAAA,cAAA,KAAA,YAAA,KAAA,eAAA,KAAA,cAAA,KAAA,eAAA,6BAAA,2BAAA,6BAAA,2BAAA,6BAAA,2BAAA,6BAAA,2BAAA,4BAAA,0BAAA,QAAA,YAAA,UAAA,iBAAA,gBAAA,gBAAA,YAAA,gBAAA,cAAA,iBAAA,QAAA,UAAA,MAAA,aAAA,MAAA,aAAA,KAAA,aAAA,KAAA,WAAA,KAAA,cAAA,KAAA,aAAA,MAAA,YAAA,KAAA,cAAA,MAAA,YAAA,KAAA,cAAA,MAAA,YAAA,aAAA,YAAA,QAAA,WAAA,iBAAA,gBAAA,WAAA,gBAAA,gBAAA,eAAA,iBAAA,iBAAA,QAAA,YAAA,WAAA,UAAA,UAAA,cAAA,gBAAA,yBAAA,gCAAA,8LAAA,gBAAA,uBAAA,eAAA,qBAAA,8BAAA,8LAAA,eAAA,sBAAA,WAAA,8LAAA,gBAAA,GAAA,wBAAA,CAAA,cAAA,kCAAA,eAAA,sBAAA,aAAA,8CAAA,aAAA,2CAAA,UAAA,sBAAA,WAAA,eAAA,aAAA,uBAAA,WAAA,qBAAA,cAAA,mBAAA,aAAA,yBAAA,gBAAA,uBAAA,iBAAA,8BAAA,OAAA,MAAA,UAAA,YAAA,OAAA,WAAA,UAAA,YAAA,OAAA,UAAA,OAAA,WAAA,OAAA,SAAA,OAAA,WAAA,SAAA,qBAAA,gBAAA,SAAA,aAAA,yCAAA,uBAAA,mDAAA,sDAAA,yCAAA,uBAAA,mDAAA,sDAAA,wCAAA,wBAAA,yDAAA,4DAAA,+CAAA,sBAAA,uDAAA,+CAAA,sBAAA,uDAAA,kBAAA,iBAAA,iBAAA,gBAAA,iBAAA,gBAAA,iBAAA,gBAAA,mBAAA,mBAAA,SAAA,qBAAA,aAAA,mBAAA,sBAAA,sBAAA,kBAAA,mBAAA,cAAA,qBAAA,YAAA,oBAAA,YAAA,sBAAA,YAAA,qBAAA,wBAAA,+BAAA,gCAAA,oBAAA,4BAAA,6BAAA,cAAA,6BAAA,8BAAA,QAAA,iBAAA,UAAA,wBAAA,YAAA,wBAAA,UAAA,sBAAA,UAAA,uBAAA,UAAA,qBAAA,cAAA,mBAAA,eAAA,oBAAA,iBAAA,sBAAA,qDAAA,iBAAA,sBAAA,uDAAA,iBAAA,sBAAA,uDAAA,iBAAA,sBAAA,uDAAA,qBAAA,uBAAA,iBAAA,sBAAA,uDAAA,oBAAA,mBAAA,iBAAA,sBAAA,uDAAA,iBAAA,sBAAA,uDAAA,iBAAA,kBAAA,oDAAA,iBAAA,kBAAA,uDAAA,cAAA,2BAAA,aAAA,kBAAA,uDAAA,aAAA,kBAAA,qDAAA,eAAA,kBAAA,uDAAA,aAAA,kBAAA,uDAAA,aAAA,kBAAA,uDAAA,YAAA,kBAAA,uDAAA,YAAA,kBAAA,uDAAA,UAAA,kBAAA,uDAAA,gBAAA,2BAAA,aAAA,kBAAA,oDAAA,eAAA,aAAA,eAAA,aAAA,KAAA,UAAA,MAAA,eAAA,KAAA,cAAA,KAAA,eAAA,KAAA,aAAA,KAAA,eAAA,MAAA,oBAAA,qBAAA,MAAA,mBAAA,oBAAA,SAAA,qBAAA,sBAAA,MAAA,oBAAA,qBAAA,MAAA,kBAAA,mBAAA,MAAA,qBAAA,sBAAA,MAAA,oBAAA,qBAAA,aAAA,kBAAA,mBAAA,MAAA,iBAAA,cAAA,SAAA,uBAAA,oBAAA,OAAA,sBAAA,mBAAA,MAAA,qBAAA,kBAAA,MAAA,sBAAA,mBAAA,SAAA,uBAAA,oBAAA,MAAA,oBAAA,iBAAA,MAAA,uBAAA,oBAAA,MAAA,sBAAA,mBAAA,MAAA,sBAAA,MAAA,oBAAA,MAAA,eAAA,MAAA,mBAAA,MAAA,oBAAA,MAAA,qBAAA,MAAA,cAAA,OAAA,mBAAA,OAAA,iBAAA,MAAA,kBAAA,MAAA,mBAAA,MAAA,iBAAA,MAAA,mBAAA,MAAA,oBAAA,WAAA,gBAAA,aAAA,kBAAA,YAAA,iBAAA,WAAA,mNAAA,UAAA,iBAAA,iBAAA,WAAA,eAAA,mBAAA,SAAA,mBAAA,oBAAA,YAAA,mBAAA,mBAAA,qBAAA,kBAAA,oBAAA,SAAA,kBAAA,oBAAA,WAAA,gBAAA,YAAA,gBAAA,aAAA,gBAAA,aAAA,gBAAA,eAAA,gBAAA,WAAA,yBAAA,YAAA,0BAAA,WAAA,oBAAA,WAAA,mBAAA,WAAA,iBAAA,sBAAA,sBAAA,gBAAA,qBAAA,iBAAA,oBAAA,gBAAA,8BAAA,sDAAA,mBAAA,oBAAA,yCAAA,mBAAA,oBAAA,2CAAA,mBAAA,oBAAA,2CAAA,mBAAA,oBAAA,4CAAA,mBAAA,oBAAA,6CAAA,mBAAA,oBAAA,4CAAA,eAAA,oBAAA,4CAAA,eAAA,oBAAA,4CAAA,kBAAA,oBAAA,0CAAA,cAAA,oBAAA,8CAAA,eAAA,oBAAA,8CAAA,eAAA,oBAAA,2CAAA,eAAA,oBAAA,2CAAA,gBAAA,oBAAA,4CAAA,gBAAA,oBAAA,4CAAA,cAAA,oBAAA,4CAAA,cAAA,oBAAA,4CAAA,eAAA,oBAAA,4CAAA,eAAA,oBAAA,4CAAA,gBAAA,oBAAA,2CAAA,YAAA,oBAAA,8CAAA,eAAA,oBAAA,8CAAA,eAAA,oBAAA,2CAAA,eAAA,oBAAA,2CAAA,eAAA,oBAAA,2CAAA,eAAA,oBAAA,2CAAA,aAAA,mCAAA,kCAAA,WAAA,UAAA,aAAA,UAAA,YAAA,WAAA,YAAA,WAAA,WAAA,gEAAA,kGAAA,sBAAA,mGAAA,WAAA,8DAAA,gGAAA,WAAA,kCAAA,uDAAA,sBAAA,mGAAA,WAAA,iEAAA,mGAAA,qBAAA,4BAAA,qCAAA,cAAA,wBAAA,mBAAA,SAAA,oBAAA,kBAAA,mBAAA,kBAAA,sBAAA,QAAA,2GAAA,yGAAA,yFAAA,YAAA,sBAAA,kBAAA,oBAAA,uDAAA,eAAA,oBAAA,wDAAA,eAAA,oBAAA,sDAAA,mBAAA,0BAAA,YAAA,yBAAA,sJAAA,8IAAA,sKAAA,mDAAA,gBAAA,yBAAA,wBAAA,mDAAA,mBAAA,yBAAA,0FAAA,mDAAA,oBAAA,yBAAA,4BAAA,mDAAA,sBAAA,yBAAA,8BAAA,mDAAA,cAAA,wBAAA,cAAA,wBAAA,SAAA,kDAAA,UAAA,kDAAA,aAAA,2BAAA,AECA,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,+zHAAA,CACA,gFAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,+ggBAAA,CACA,+DAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,m7ZAAA,CACA,yBAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,29VAAA,CACA,0JAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,mmpBAAA,CACA,gJAAA,CAIF,WAGE,iBAAA,CAFA,0BAAA,CACA,iBAAA,CAEA,eAAA,CACA,+m9DAAA,CACA,qMAAA,CHzDF,6BAAA,eCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-d501af91c08524c1a4c263c540161eac.map.gz b/priv/static/beacon_live_admin.min.css-d501af91c08524c1a4c263c540161eac.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..49bea7f099edb39b877f575cc2b3e043602b6501 GIT binary patch literal 5679 zcmV+~7SQP*iwFP!000006V+UMbK|zI|0)`v>D_K)$Fl4=w)gg)%CGDzyWOTaY1(ue z*`gJ#^>Flv*V{SY{Q#sSLX_;}WP1PTOd~@e34%X>07!fLXXAlIu^R@BQMcKM!!%m5 zxH0;zaeUl{|ExG>N!(t>aeKk6Wf=V7xex3Q%l6&i7`TmQ<9~xt6XX65-oEKh++dR? z-xxYH!}FK>@ayXQo9+x6g-n}m;x-rKhXKg^gV}BpM)_PpXk&|=dMs}LunL1jNN;~; z$s)4cAa239u%|V3e;E>tfxS%IMTc&vhr1?wpQq1`=o5Y9F zA@-VX#?4RW4BI}L%`@|C)(oNTp0`C@!V*avdYxgfa}zsEX3Z_gbtfqO^Q7ra#3G<| z%~$NAdRz@}jI-sfGaQ-;o!HG(wp^fI>+Jm_m-7Y`Ju}VS8|?h`4UEe>p9?Yh>n9v5 zrAn%#Mw|%;;NOt(`Rj#v{e;p1hAj-;aTvaiRZPyZj`0N7T3GDeumJ3XEipa=jF+a# zaQLcu1Z-!*jWv;dCY!N*nQ^0-7s&rP*9(@p%uJU<cNmP*C?oKaHjniy-s{Ud+(r=~SS zZe|RwO6HR@uK8;;&b#dW3XMaZyn+;LyN|@6`RZ7q9?W>g{bh@Gn0}d{^I_Xtv$>n> zX#+8UCxEgnX1PSM%ffAr;7Q$(z<-HCuT1kAW&VnW#D=p>Gl9+Y>o0)Zdkh^IFHCMr zKB>u3DEO4)@+ZTGPa4yo@Y$Q-)8L#Q5ow&^b9W~DAI)T|kOLT*Xm%5oH#sh)_jFQ_ z1ER^%&ywbyKl1laa!8M;BPMq_f5+)7b@|&06tsJPtoE=7_}pQfw{ooLDd_medTHC4+W%TElS0TO z8IB8>)&y9cSd|*fC(mX1!HS1fJcP)YV9+O8GpT?uLP};5LygKJ*Tf7l0p(f_qMK+f zRjt_do=mYLQy3LxsMlN-58~WHw(9bPt4pr?Jg(4Za3#$npx6?0?5ib$`eJ(BfQIh9U#JSR!kn38mtCANAm-LnRRK$K% zNWYfr)Xqy3b5xSUPqTSQw&KU42T8e7Q%m-jJ!SKyR71L+YOG~pEJ_+Ii;DN>kUL^sie1kEdTAg_|PGO6*oL>?o<_~Jx-=cFOaQX*H@8mVNG z0??PTb_9r&U@(wwdR|N+cFWOptlIgq~U%2c+M zQn!*DOEQ&Y#Un`BNlyUxQO4!1fBI`d@5av-V+{XQ(E8iwYvXTZ59j%Ej{M=Yc)8~}YV!K) zbe>h7Y=YLCn)2$VV5HN6G!C>4GS{zb)77^4K-;}++Z~W;9B4Z zLw>fEZT^8p`H~d*nJn!P0*96@vcu!ZsXjqO4Aiz%MYZ1N2M7E`93-!$NRh;d`|S7o z_|dkjiVkJzzVcr2jZ{%@t%Md|HMu`l+A0i3^?%YsV8m4?TC3Y6`_5;tlD>-fJqc4H zg{xCO+E$Sn*XvGp6funZq;;w5P~Q*fC%z-})hWri^N>lR!6%Lomeh2*Kkyu>ZTAP-Xi`z;@DKDA#cll@l{PXiJu4enAbeS#__EyRx@-jH z^UocqN>XKUSw-6bARd#|{wQF{ZCnMfKZClf5SdbTGwJyuAWQCXe zH@j8q_j1*~>Q|Za9HB`Wh|<=oMMlceGb@;!CQ2)e%kl=3%M&}mP`3nOT$jDVQTA?S z4Hd`8Z!HT(pX4XCP;n+@o!8XC_F6)P#h5)Q1!q4tm_OE;2v!Z!d##o(|r zW7IgV`AHxAwFVuF>Fm_%FZ!pfzdEsd_Htzp`vcZLH3o*A{q8UOt>7dK5*8%*lffTc ze-lQDcGE~K*W0>*&3`v&#q6f>>L#dfUWUL8Ktg<=Q<}J*o48EvbNB~^o5+1=$BC7= z%bMon>?e#Rk!j?8d(*f}l1)5nxA~6`kDV}dJZ5d&_!yMM-$EMyTv@*B?Y{rfOXH)r z*4l~^>*&G?;?dT*OMWnP{Z$wKdhmAwf2Z&_(DnbZ-FV|!yYJ(zwYh1$gn1jyAoaXv zqy61Y&^gwAjMxJ}p=~VNb^}MV0$W>zkn@k3F}po!lL3-{vYi zZgQ6{xT1de)n*U;$D0v!ws&nej#C!5doOPS<5)92FWhSRO!+)X2(uRA7d!298YgP6 z)`4lM-6*|*g|<7LK1}{y`zC;A^ClRL7HkzpjFZ+X0R{fN2{f4IODlH2!knXgN?^Ux z+TUp%4TozbO-7o|+l+Esoa{U{(&Er_?Yj15=!MZpOYUH?-@Xvc3G$Aov$=Ws{^u7> zZJ9<9Ai>!$iI9Ke685RzY9(8c&UeO0d-38`);}}zWy}CdXph|(yJ#^3a^W$}a|718 zV=j1+<_4POdD_;(Nk41mls`IX)?QRcp%@ zYd2{n>`Q_k$XWtv=&9@9l$@vq8>|JO@opon#~Zs@<32t?t#CZ#%{l8BmjzCjx-Fz& zL6N&^YVi)-#BZf;Q)^k9jR%l%PE#AhV%F!@@`At5K~NLI;stX;rd__dX*9K;!bO;b z$bHSc2L`dw(mt@1VVeoSdD!#;x@Z``kV|L2X_z>l#@%0=`Qc|5yT~bOc^5l>5qg5j zMVE$)UDPW9qIkkSXnyPbe#}{-|3%gv5DUV{w>%;Ggo>_u$790(m5g9LzXE`jPmKD#sU(Zxp(A1C(RGQHe zIwm8C+g154E8_&vD`|M`l@U0PlKRQ6K{ z8s9SiwlJW;M~yE+&t+(1F|uCRsIcX4;9~>Z;?F1K9#l)@9;D)pwFD2nn4iN->nG-< zo)tBY8rlP>< z$v3YmL0IRkO&GhvaUp&wOsBm zqCL|B0vK;3ZAt>ec!mG2DlZ-R>JwfaX4PyggBaZ>rDzW4B<$d(J`d%acK(_lKx~Ew z0}SiK;ZPq8np$bJD8XvefT4Gc;pxlrCgJ)ic}C`-%tU{o&fSw!WB7EPJHr#5AA7n5 z(2li%B9$du#)6XmwWX`*Ad`Twkea~CXPN_f40?DlKlox!)#WnqiU~hBaGw|34UbcC zeQi@)0%f_r98e_+d1lH_yZbiNA_cz=U_bGHSqPty5}YVZF}T5203QGXk%0ohstI)z zi_YP)b8pwWGIDR{ERy91hEkiFAD>j19Vk-rrgEv5n>>RyXDc=)MpLRb9tn~Ns$xja zekn7`!cVb|Fa`0`V*Ci|XBn?@?<&=d)&g&Mc32m1H-n1TU9QEsbhjx^uVq&kullhxWn?7j0uT zWY*Fi+Fg4%JXsFAr;DC((y>lXPEPINiQOCamcs?>v^{GFI=1<2Z7@+AohimkyMMet zH3qHsr`^++6d8~gXM$`Vb8h2G7`6LI2Y8h*_&`QjVT^l!O70xbO0mO1^`5>g4 zzf&zhrQ_G<|7z7Ld@EaBRrP$Efz;*Qp>2kdWaTo?F732Td@Ee7VBwjv z>#vyH%cv*Yteh=XYFq%UBafbylSy_FCaXmcj*oZz$gPEF{bcuOBFevq@T^7oONp$w z?{;-v94amj%qGqju-)p<^-cu7-qUr_uUIZGT1O)yh*Ya3ewLNRnxKBHEB&%#JAaFh zamr(u5{~Wv7%r`@wW@qYfjFv*$}$hyJxeY%rBW1n?E9OBVB9pa5G{s|;H>JxB1)GY z=hhnHJ>Ja0HpXaX7pcpJYAey4OpR=8CM%nIR17N3lc}tD1)nNn96MVc)^CgW!MFG= z^}he^E3!`h9T{G}sEOToZQEnF{HrqL)M&!LS;@ZD**&VpXYARwej1Ky%rfEOlx#GS!iCo74P%VHrj9^m!^%8g$s0F(`(O49T8`u~laT11JjP}u7 z%r{Ffwb5RvXbek|-s?M9+CSj)0mOyy3DZ4TF%VX2yU1`?k>z7pWd4F-C=C~%i=#l< zCMBP)2e!_G@t!Hc|M`o?%jKBId#+EMZ%9#Pi!VfZ^9GChNMwH(R}K&XBumYTH>e%Y zAk+*(oc+e^YW-O8R#u|41hNDaSuPHGreU@ z=h$radwR?450ReFj9CjFbK(a3bo*P`#=`qqq zr_IH~FSO6N#PC)w@Xd1U*2SkL?;= z@qurh8A$5P=0hIF%<+EP;@1+v-zIO=Y5N?@?v?Xo!-7E!bN)=@=-fDSZX81wHi8@j zh7$A?=*e8fI2>q9AVV3GQ=WoO4M;(!hxV&j-QUNae}yfdXGa}vr*li_ovzq-C%9)% zxV?<=7|cALaC*|`A5&9&OrB+X17|e!zOemiPuP3HO>G$bV","%3Cinput%20css%20WHCNfQ%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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AA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-dc9dff3ac4aedaaba9552a2981ec63b3.map.gz b/priv/static/beacon_live_admin.min.css-dc9dff3ac4aedaaba9552a2981ec63b3.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..f99bb5e54eff14f14c8b6ef62e86e077946b02fd GIT binary patch literal 5679 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","%3Cinput%20css%20GyFa3a%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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A,ADAA,uDCAA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-d042ca250916cec9bc009760e0439417.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-e0f2eb60973604e669b1d039d7e82542.map.gz b/priv/static/beacon_live_admin.min.css-e0f2eb60973604e669b1d039d7e82542.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..00aa581c1424c219cb7c86fc5f58ea9b7bfe46bd GIT binary patch literal 5679 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 VVzHQ^^IO0F`#*oYpRM;%000","%3Cinput%20css%20mCXoJb%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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AA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-f38a325bae4ed3d9a54b231444a717da.map.gz b/priv/static/beacon_live_admin.min.css-f38a325bae4ed3d9a54b231444a717da.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..5391bb2ac607a81bef16be31c7493aff346688f3 GIT binary patch literal 5678 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 U&!=eo#_#|B4~XkWGwo3T03Km52><{9 literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin.min.css-f5e351671c5ae20737291a3d60268771.map b/priv/static/beacon_live_admin.min.css-f5e351671c5ae20737291a3d60268771.map new file mode 100644 index 00000000..d28df393 --- /dev/null +++ b/priv/static/beacon_live_admin.min.css-f5e351671c5ae20737291a3d60268771.map @@ -0,0 +1 @@ +{"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%20eSlrKA%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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AA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-f5e351671c5ae20737291a3d60268771.map.gz b/priv/static/beacon_live_admin.min.css-f5e351671c5ae20737291a3d60268771.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..244d81f44c22bece9b47fc995aae7693b5dd1932 GIT binary patch literal 5677 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","%3Cinput%20css%20jaxnBk%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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AA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"./beacon_live_admin.min-81ae0e7a6b67e6f5d4dcfd968e67282d.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file diff --git a/priv/static/beacon_live_admin.min.css-ffd4ce58a0553236c04ca92d45252df3.map.gz b/priv/static/beacon_live_admin.min.css-ffd4ce58a0553236c04ca92d45252df3.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..2a56c79d015bc918c62c6344f4a64c6c490d8113 GIT binary patch literal 5678 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 U^C=p?@%z931C<$WB<)cE07u?WU;qFB literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin.min.css.gz b/priv/static/beacon_live_admin.min.css.gz new file mode 100644 index 0000000000000000000000000000000000000000..b10cd7d47e4cc20c804cc1677bfb8176ca35f10c GIT binary patch literal 107787 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 literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin.min.css.map b/priv/static/beacon_live_admin.min.css.map index 535586c6..eb14a934 100644 --- a/priv/static/beacon_live_admin.min.css.map +++ b/priv/static/beacon_live_admin.min.css.map @@ -1 +1,5 @@ -{"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%20opMjoc%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"beacon_live_admin.min.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} \ No newline at end of file +<<<<<<< HEAD +{"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%20opMjoc%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"beacon_live_admin.min.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} +======= +{"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%20R-6s_z%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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AA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"beacon_live_admin.min.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} +>>>>>>> 527e00b (Use live_svelte for UI builder) diff --git a/priv/static/beacon_live_admin.min.css.map.gz b/priv/static/beacon_live_admin.min.css.map.gz new file mode 100644 index 0000000000000000000000000000000000000000..c718e94021fe3e3ae31ca6fd0084e2ee43b380a2 GIT binary patch literal 5651 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 literal 0 HcmV?d00001 diff --git a/priv/static/beacon_live_admin.min.js.gz b/priv/static/beacon_live_admin.min.js.gz new file mode 100644 index 0000000000000000000000000000000000000000..7c60fbbdcd8c67c406fa0c1453feb3ba1ecfc01b GIT binary patch literal 6254 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 Yu?|`R{`VDnH9EQTUlD#`?UzFU0LW1#00000 literal 0 HcmV?d00001 diff --git a/priv/static/images/dockyard-4ca062dbcccfcee668801b37dc733a22.png b/priv/static/images/dockyard-4ca062dbcccfcee668801b37dc733a22.png new file mode 100644 index 0000000000000000000000000000000000000000..18eb932648e658479a2ccf49e3162814f7107d7b GIT binary patch literal 6218 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 literal 0 HcmV?d00001 diff --git a/priv/static/images/narwin_logo-973068869ae5d40e0ae0a71c837b43d1.svg b/priv/static/images/narwin_logo-973068869ae5d40e0ae0a71c837b43d1.svg new file mode 100644 index 00000000..21f23bd4 --- /dev/null +++ b/priv/static/images/narwin_logo-973068869ae5d40e0ae0a71c837b43d1.svg @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/priv/static/images/narwin_logo-973068869ae5d40e0ae0a71c837b43d1.svg.gz b/priv/static/images/narwin_logo-973068869ae5d40e0ae0a71c837b43d1.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..c554aa874355f5f91bfb0ef2874831387d60bec6 GIT binary patch literal 25736 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 Ly1E?0h=u?FVi$b# literal 0 HcmV?d00001 diff --git a/priv/static/images/narwin_logo.svg.gz b/priv/static/images/narwin_logo.svg.gz new file mode 100644 index 0000000000000000000000000000000000000000..c554aa874355f5f91bfb0ef2874831387d60bec6 GIT binary patch literal 25736 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 Ly1E?0h=u?FVi$b# literal 0 HcmV?d00001 From a2fb10541aa0b2ba6aebc1ee40ad6705ffe6d049 Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Fri, 10 Nov 2023 16:32:32 +0100 Subject: [PATCH 002/141] This worked --- assets/package-lock.json | 2 +- priv/static/beacon_live_admin.min.css.map | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/assets/package-lock.json b/assets/package-lock.json index 8dbc86ac..94b07d3d 100644 --- a/assets/package-lock.json +++ b/assets/package-lock.json @@ -34,7 +34,7 @@ } }, "../deps/phoenix": { - "version": "1.7.9", + "version": "1.7.10", "license": "MIT" }, "../deps/phoenix_html": { diff --git a/priv/static/beacon_live_admin.min.css.map b/priv/static/beacon_live_admin.min.css.map index eb14a934..2b285e04 100644 --- a/priv/static/beacon_live_admin.min.css.map +++ b/priv/static/beacon_live_admin.min.css.map @@ -1,5 +1,6 @@ -<<<<<<< HEAD {"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%20opMjoc%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"beacon_live_admin.min.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} ======= {"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%20R-6s_z%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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AA,ADAA,2BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,sDCAA,ADAA,0BAAA,kBCAA,ADAA,qDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,2BAAA,kBCAA,ADAA,uDCAA,ADAA,yBAAA,kBCAA,ADAA,uDCAA,ADAA,0BAAA,kBCAA,ADAA,oDCAA,ADAA,gCAAA,oBCAA,ADAA,2CCAA,ADAA,gCAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,2BAAA,oBCAA,ADAA,4CCAA,ADAA,4BAAA,oBCAA,ADAA,2CCAA,ADAA,wBAAA,+BCAA,ADAA,yBAAA,WCAA,ADAA,sBAAA,oBCAA,ADAA,wBAAA,kBCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,4BAAA,2BCAA,ADAA,gCAAA,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"beacon_live_admin.min.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} >>>>>>> 527e00b (Use live_svelte for UI builder) +======= +{"version":3,"sources":["../../assets/css/beacon_live_admin.css","","%3Cinput%20css%20LtU5AL%3E","../../deps/live_monaco_editor/assets/node_modules/@fontsource/jetbrains-mono/index.css"],"names":[],"mappings":"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A,4BCAA,ADAA,8BAAA,sBCAA,ADAA,qDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,8BAAA,sBCAA,ADAA,uDCAA,ADAA,2BAAA,wBCAA,ADAA,mBCAA,ADAA,qBAAA,2GCAA,ADAA,mGCAA,ADAA,0CAAA,yFCAA,ADAA,qBAAA,2GCAA,ADAA,yGCAA,ADAA,4BAAA,oBCAA,ADAA,wDCAA,ADAA,qCAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,4CAAA,oBCAA,ADAA,wDCAA,ADAA,8CAAA,oBCAA,ADAA,uDCAA,ADAA,4BAAA,kBCAA,ADAA,qDCAA,ADAA,8BAAA,oBCAA,ADAA,4CCAA,ADAA,+BAAA,YCAA,ADAA,gCAAA,kBCAA,ADAA,uDCAA,ADAA,uCAAA,cCAA,ADAA,2CAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,kBCAA,ADAA,uDCAA,ADAA,sCAAA,WCAA,ADAA,8BAAA,oBAAA,cCAA,ADAA,mBAAA,cCAA,ADAA,4BAAA,2BCAA,ADAA,uBAAA,YCAA,ADAA,kBAAA,eCAA,ADAA,mBAAA,sBCAA,ADAA,mBCAA,ADAA,mBAAA,mBCAA,ADAA,mBAAA,gBCAA,ADAA,yBAAA,mBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,oBAAA,UCAA,ADAA,uBAAA,YCAA,ADAA,mBAAA,oBCAA,ADAA,qBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,mBAAA,oBCAA,ADAA,sBAAA,mBCAA,ADAA,oBCAA,ADAA,gCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,8BAAA,yBAAA,WCAA,ADAA,uBAAA,YCAA,ADAA,uBAAA,YCAA,ADAA,sBAAA,uBCAA,ADAA,oBCAA,ADAA,iCAAA,mBCAA,ADAA,iBCAA,ADAA,sBAAA,kBCAA,ADAA,oBCAA,CAAA,ADAA,8BAAA,kBAAA,eCAA,ADAA,kBAAA,cCAA,ADAA,yBAAA,WCAA,ADAA,oBAAA,SCAA,ADAA,mBAAA,oBCAA,ADAA,iBCAA,ADAA,mBAAA,oBCAA,ADAA,uBAAA,iBCAA,ADAA,iBCAA,ADAA,iCAAA,kBCAA,ADAA,iBCAA,CAAA,ADAA,yCAAA,aCAA,ADAA,kDAAA,sBCAA,ADAA,uDCAA,ADAA,+DAAA,sBCAA,ADAA,qDCAA,ADAA,+DAAA,sBCAA,ADAA,uDCAA,ADAA,0CAAA,aCAA,ADAA,mDAAA,sBCAA,ADAA,uDCAA,ADAA,gEAAA,sBCAA,ADAA,qDCAA,ADAA,gEAAA,sBCAA,ADAA,uDCAA,ADAA,uGAAA,YCAA,ADAA,yBAAA,UAAA,aCAA,ADAA,UAAA,YCAA,ADAA,YAAA,WCAA,ADAA,YAAA,WCAA,ADAA,qBAAA,gBCAA,ADAA,mBAAA,qBCAA,ADAA,kCAAA,8LCAA,ADAA,eAAA,eCAA,ADAA,eCAA,ADAA,cAAA,iBCAA,ADAA,iBCAA,ADAA,8LCAA,ADAA,WAAA,SCAA,ADAA,sBAAA,iBCAA,ADAA,kBAAA,iCCAA,ADAA,8BCAA,ADAA,kBAAA,kCCAA,ADAA,+BCAA,ADAA,SAAA,eCAA,ADAA,UAAA,eCAA,ADAA,gBCAA,ADAA,UAAA,oBCAA,ADAA,qBCAA,ADAA,aAAA,kBCAA,ADAA,oBCAA,ADAA,eAAA,mBCAA,CAAA,ADAA,yBAAA,iBAAA,8CCAA,ADAA,cAAA,mBCAA,ADAA,iBAAA,iBCAA,ADAA,iBCAA,CAAA,ADAA,0BAAA,gBAAA,0BCAA,ADAA,gBAAA,0BCAA,ADAA,UAAA,cCAA,ADAA,eCAA,ADAA,iCAAA,2BCAA,ADAA,iCAAA,2BCAA,ADAA,YAAA,YCAA,ADAA,gBAAA,eCAA,ADAA,iBAAA,8CCAA,ADAA,qBAAA,gBCAA,ADAA,oBAAA,4BCAA,ADAA,6BCAA,ADAA,4BAAA,+BCAA,ADAA,gCCAA,ADAA,UAAA,kBCAA,ADAA,mBCAA,ADAA,UAAA,oBCAA,ADAA,iBCAA,CAAA,ADAA,2EAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,ADAA,8BAAA,wFAAA,2GCAA,ADAA,yGCAA,ADAA,yFCAA,CAAA,ADAA,2BAAA,iBCAA,ADAA,4HAAA,4BCAA,ADAA,8DCAA","file":"beacon_live_admin.min.css","sourcesContent":["@import \"tailwindcss/base\";\n@import \"tailwindcss/components\";\n@import \"tailwindcss/utilities\";\n@import \"../../deps/live_monaco_editor/priv/static/live_monaco_editor.min.css\";\n@import url(\"https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@200;300;400;500;700;800&display=swap\");\n",null,"/*\n1. Prevent padding and border from affecting element width. (https://github.com/mozdevs/cssremedy/issues/4)\n2. Allow adding a border to an element by just adding a border-width. (https://github.com/tailwindcss/tailwindcss/pull/116)\n*/\n\n*,\n::before,\n::after {\n box-sizing: border-box; /* 1 */\n border-width: 0; /* 2 */\n border-style: solid; /* 2 */\n border-color: theme('borderColor.DEFAULT', currentColor); /* 2 */\n}\n\n::before,\n::after {\n --tw-content: '';\n}\n\n/*\n1. Use a consistent sensible line-height in all browsers.\n2. Prevent adjustments of font size after orientation changes in iOS.\n3. Use a more readable tab size.\n4. Use the user's configured `sans` font-family by default.\n5. Use the user's configured `sans` font-feature-settings by default.\n6. Use the user's configured `sans` font-variation-settings by default.\n*/\n\nhtml {\n line-height: 1.5; /* 1 */\n -webkit-text-size-adjust: 100%; /* 2 */\n -moz-tab-size: 4; /* 3 */\n tab-size: 4; /* 3 */\n font-family: theme('fontFamily.sans', ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, \"Helvetica Neue\", Arial, \"Noto Sans\", sans-serif, \"Apple Color Emoji\", \"Segoe UI Emoji\", \"Segoe UI Symbol\", \"Noto Color Emoji\"); /* 4 */\n font-feature-settings: theme('fontFamily.sans[1].fontFeatureSettings', normal); /* 5 */\n font-variation-settings: theme('fontFamily.sans[1].fontVariationSettings', normal); /* 6 */\n}\n\n/*\n1. Remove the margin in all browsers.\n2. Inherit line-height from `html` so users can set them as a class directly on the `html` element.\n*/\n\nbody {\n margin: 0; /* 1 */\n line-height: inherit; /* 2 */\n}\n\n/*\n1. Add the correct height in Firefox.\n2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)\n3. Ensure horizontal rules are visible by default.\n*/\n\nhr {\n height: 0; /* 1 */\n color: inherit; /* 2 */\n border-top-width: 1px; /* 3 */\n}\n\n/*\nAdd the correct text decoration in Chrome, Edge, and Safari.\n*/\n\nabbr:where([title]) {\n text-decoration: underline dotted;\n}\n\n/*\nRemove the default font size and weight for headings.\n*/\n\nh1,\nh2,\nh3,\nh4,\nh5,\nh6 {\n font-size: inherit;\n font-weight: inherit;\n}\n\n/*\nReset links to optimize for opt-in styling instead of opt-out.\n*/\n\na {\n color: inherit;\n text-decoration: inherit;\n}\n\n/*\nAdd the correct font weight in Edge and Safari.\n*/\n\nb,\nstrong {\n font-weight: bolder;\n}\n\n/*\n1. Use the user's configured `mono` font family by default.\n2. Correct the odd `em` font sizing in all browsers.\n*/\n\ncode,\nkbd,\nsamp,\npre {\n font-family: theme('fontFamily.mono', ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, \"Liberation Mono\", \"Courier New\", monospace); /* 1 */\n font-size: 1em; /* 2 */\n}\n\n/*\nAdd the correct font size in all browsers.\n*/\n\nsmall {\n font-size: 80%;\n}\n\n/*\nPrevent `sub` and `sup` elements from affecting the line height in all browsers.\n*/\n\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/*\n1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)\n2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)\n3. Remove gaps between table borders by default.\n*/\n\ntable {\n text-indent: 0; /* 1 */\n border-color: inherit; /* 2 */\n border-collapse: collapse; /* 3 */\n}\n\n/*\n1. Change the font styles in all browsers.\n2. Remove the margin in Firefox and Safari.\n3. Remove default padding in all browsers.\n*/\n\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit; /* 1 */\n font-feature-settings: inherit; /* 1 */\n font-variation-settings: inherit; /* 1 */\n font-size: 100%; /* 1 */\n font-weight: inherit; /* 1 */\n line-height: inherit; /* 1 */\n color: inherit; /* 1 */\n margin: 0; /* 2 */\n padding: 0; /* 3 */\n}\n\n/*\nRemove the inheritance of text transform in Edge and Firefox.\n*/\n\nbutton,\nselect {\n text-transform: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Remove default button styles.\n*/\n\nbutton,\n[type='button'],\n[type='reset'],\n[type='submit'] {\n -webkit-appearance: button; /* 1 */\n background-color: transparent; /* 2 */\n background-image: none; /* 2 */\n}\n\n/*\nUse the modern Firefox focus style for all focusable elements.\n*/\n\n:-moz-focusring {\n outline: auto;\n}\n\n/*\nRemove the additional `:invalid` styles in Firefox. (https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737)\n*/\n\n:-moz-ui-invalid {\n box-shadow: none;\n}\n\n/*\nAdd the correct vertical alignment in Chrome and Firefox.\n*/\n\nprogress {\n vertical-align: baseline;\n}\n\n/*\nCorrect the cursor style of increment and decrement buttons in Safari.\n*/\n\n::-webkit-inner-spin-button,\n::-webkit-outer-spin-button {\n height: auto;\n}\n\n/*\n1. Correct the odd appearance in Chrome and Safari.\n2. Correct the outline style in Safari.\n*/\n\n[type='search'] {\n -webkit-appearance: textfield; /* 1 */\n outline-offset: -2px; /* 2 */\n}\n\n/*\nRemove the inner padding in Chrome and Safari on macOS.\n*/\n\n::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/*\n1. Correct the inability to style clickable types in iOS and Safari.\n2. Change font properties to `inherit` in Safari.\n*/\n\n::-webkit-file-upload-button {\n -webkit-appearance: button; /* 1 */\n font: inherit; /* 2 */\n}\n\n/*\nAdd the correct display in Chrome and Safari.\n*/\n\nsummary {\n display: list-item;\n}\n\n/*\nRemoves the default spacing and border for appropriate elements.\n*/\n\nblockquote,\ndl,\ndd,\nh1,\nh2,\nh3,\nh4,\nh5,\nh6,\nhr,\nfigure,\np,\npre {\n margin: 0;\n}\n\nfieldset {\n margin: 0;\n padding: 0;\n}\n\nlegend {\n padding: 0;\n}\n\nol,\nul,\nmenu {\n list-style: none;\n margin: 0;\n padding: 0;\n}\n\n/*\nReset default styling for dialogs.\n*/\ndialog {\n padding: 0;\n}\n\n/*\nPrevent resizing textareas horizontally by default.\n*/\n\ntextarea {\n resize: vertical;\n}\n\n/*\n1. Reset the default placeholder opacity in Firefox. (https://github.com/tailwindlabs/tailwindcss/issues/3300)\n2. Set the default placeholder color to the user's configured gray 400 color.\n*/\n\ninput::placeholder,\ntextarea::placeholder {\n opacity: 1; /* 1 */\n color: theme('colors.gray.400', #9ca3af); /* 2 */\n}\n\n/*\nSet the default cursor for buttons.\n*/\n\nbutton,\n[role=\"button\"] {\n cursor: pointer;\n}\n\n/*\nMake sure disabled buttons don't get the pointer cursor.\n*/\n:disabled {\n cursor: default;\n}\n\n/*\n1. Make replaced elements `display: block` by default. (https://github.com/mozdevs/cssremedy/issues/14)\n2. Add `vertical-align: middle` to align replaced elements more sensibly by default. (https://github.com/jensimmons/cssremedy/issues/14#issuecomment-634934210)\n This can trigger a poorly considered lint error in some tools but is included by design.\n*/\n\nimg,\nsvg,\nvideo,\ncanvas,\naudio,\niframe,\nembed,\nobject {\n display: block; /* 1 */\n vertical-align: middle; /* 2 */\n}\n\n/*\nConstrain images and videos to the parent width and preserve their intrinsic aspect ratio. (https://github.com/mozdevs/cssremedy/issues/14)\n*/\n\nimg,\nvideo {\n max-width: 100%;\n height: auto;\n}\n\n/* Make elements with the HTML hidden attribute stay hidden by default */\n[hidden] {\n display: none;\n}\n","/* jetbrains-mono-cyrillic-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-ext-400-normal.woff) format('woff');\n unicode-range: U+0460-052F,U+1C80-1C88,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F;\n}\n\n/* jetbrains-mono-cyrillic-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-cyrillic-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-cyrillic-400-normal.woff) format('woff');\n unicode-range: U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116;\n}\n\n/* jetbrains-mono-greek-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-greek-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-greek-400-normal.woff) format('woff');\n unicode-range: U+0370-03FF;\n}\n\n/* jetbrains-mono-vietnamese-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-vietnamese-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-vietnamese-400-normal.woff) format('woff');\n unicode-range: U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB;\n}\n\n/* jetbrains-mono-latin-ext-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-ext-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-ext-400-normal.woff) format('woff');\n unicode-range: U+0100-02AF,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1E00-1EFF,U+2020,U+20A0-20AB,U+20AD-20CF,U+2113,U+2C60-2C7F,U+A720-A7FF;\n}\n\n/* jetbrains-mono-latin-400-normal */\n@font-face {\n font-family: 'JetBrains Mono';\n font-style: normal;\n font-display: swap;\n font-weight: 400;\n src: url(./files/jetbrains-mono-latin-400-normal.woff2) format('woff2'), url(./files/jetbrains-mono-latin-400-normal.woff) format('woff');\n unicode-range: U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+2000-206F,U+2074,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD;\n}"]} From 44e5bcbef23415ce4d8f80aa5696914c07ed7e8f Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Fri, 10 Nov 2023 17:11:41 +0100 Subject: [PATCH 003/141] better, but still not working --- lib/beacon/live_admin/live/page_editor_live/new.ex | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/lib/beacon/live_admin/live/page_editor_live/new.ex b/lib/beacon/live_admin/live/page_editor_live/new.ex index 44663378..ddab3800 100644 --- a/lib/beacon/live_admin/live/page_editor_live/new.ex +++ b/lib/beacon/live_admin/live/page_editor_live/new.ex @@ -5,6 +5,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do alias Beacon.Content @impl true + @spec menu_link(any(), any()) :: :skip | {:submenu, <<_::40>>} def menu_link("/pages", :new), do: {:submenu, "Pages"} def menu_link(_, _), do: :skip @@ -14,7 +15,7 @@ defmodule Beacon.LiveAdmin.PageEditorLive.New do end defp assigns(socket) do - assign(socket, page_title: "Create New Page", page: %Content.Page{}) + assign(socket, page_title: "Create New Page", page: %Content.Page{path: "", site: socket.assigns.beacon_page.site}) end @impl true From 18df47988b6c5c68181db275b805aa1e55ac8a68 Mon Sep 17 00:00:00 2001 From: Miguel Camba Date: Fri, 1 Dec 2023 17:03:04 +0100 Subject: [PATCH 004/141] mix format --- .../components/layouts/admin.html.heex | 3 +- .../live_admin/live/page_editor_live/edit.ex | 18 +++++-- .../live/page_editor_live/form_component.ex | 47 ++++++++++--------- .../live_admin/live/page_editor_live/new.ex | 5 +- lib/beacon/live_admin/web_api/component.ex | 5 +- 5 files changed, 49 insertions(+), 29 deletions(-) diff --git a/lib/beacon/live_admin/components/layouts/admin.html.heex b/lib/beacon/live_admin/components/layouts/admin.html.heex index 7d68ac8d..83973607 100644 --- a/lib/beacon/live_admin/components/layouts/admin.html.heex +++ b/lib/beacon/live_admin/components/layouts/admin.html.heex @@ -6,7 +6,8 @@ <%= assigns[:page_title] || "Beacon LiveAdmin" %> - + diff --git a/lib/beacon/live_admin/live/page_editor_live/edit.ex b/lib/beacon/live_admin/live/page_editor_live/edit.ex index 131d4c50..c663d84d 100644 --- a/lib/beacon/live_admin/live/page_editor_live/edit.ex +++ b/lib/beacon/live_admin/live/page_editor_live/edit.ex @@ -56,19 +56,27 @@ defmodule Beacon.LiveAdmin.PageEditorLive.Edit do end @impl true - def handle_event("render_component_in_page", %{ "component_id" => component_id, "page_id" => page_id }, socket) do + def handle_event( + "render_component_in_page", + %{"component_id" => component_id, "page_id" => page_id}, + socket + ) do page = Content.get_page(socket.assigns.beacon_page.site, page_id) component = Content.get_component(socket.assigns.beacon_page.site, component_id) - %{data: %{ ast: ast } } = WebAPI.Component.show_ast(socket.assigns.beacon_page.site, component, page) - {:reply, %{ "ast" => ast }, socket} + + %{data: %{ast: ast}} = + WebAPI.Component.show_ast(socket.assigns.beacon_page.site, component, page) + + {:reply, %{"ast" => ast}, socket} end - def handle_event("update_page_ast", %{ "id" => id, "ast" => ast }, socket) do + def handle_event("update_page_ast", %{"id" => id, "ast" => ast}, socket) do page = Content.get_page(socket.assigns.beacon_page.site, id, preloads: [:layout]) - case Content.update_page(socket.assigns.beacon_page.site, page, %{ "ast" => ast }) do + case Content.update_page(socket.assigns.beacon_page.site, page, %{"ast" => ast}) do {:ok, page} -> {:noreply, assign(socket, :page, page)} + {:error, changeset} -> throw("How should we handle this?") end diff --git a/lib/beacon/live_admin/live/page_editor_live/form_component.ex b/lib/beacon/live_admin/live/page_editor_live/form_component.ex index 53a8809d..a9dae422 100644 --- a/lib/beacon/live_admin/live/page_editor_live/form_component.ex +++ b/lib/beacon/live_admin/live/page_editor_live/form_component.ex @@ -161,29 +161,34 @@ defmodule Beacon.LiveAdmin.PageEditorLive.FormComponent do -