From 81f14a0cc26eccbb7dfaa795acd5219d6ab8ee87 Mon Sep 17 00:00:00 2001 From: Kejmila Date: Sun, 7 Jun 2026 18:23:12 +0200 Subject: [PATCH] Add advanced video core API exercises --- .../devcontainer.json | 62 + .../.astro/collections/docs.schema.json | 650 ++ .../.astro/content-assets.mjs | 1 + .../.astro/content-modules.mjs | 3 + .../.astro/content.d.ts | 227 + .../.astro/settings.json | 5 + .../.astro/types.d.ts | 2 + .../AGENTS.md | 182 + .../README.md | 3 + .../astro.config.mjs | 27 + .../download-toolbar.js | 40 + .../markdoc.config.mjs | 6 + .../package-lock.json | 8444 +++++++++++++++++ .../package.json | 29 + .../project/.env.example | 6 + .../project/README.md | 15 + .../project/package-lock.json | 1396 +++ .../project/package.json | 16 + .../project/public/app/app.js | 209 + .../project/public/app/exercise-hooks.js | 34 + .../project/public/app/index.html | 155 + .../project/server.js | 192 + .../project/setup-credentials.js | 103 + .../project/src/advanced-video-routes.js | 146 + .../src/advanced-video-server-hooks.js | 64 + .../project/src/advanced-video-state.js | 48 + .../public/favicon.ico | Bin 0 -> 15086 bytes .../src/content.config.ts | 7 + .../docs/01-confirm-the-server-is-running.md | 20 + .../02-configure-your-vonage-credentials.md | 25 + .../03-validate-setup-in-learning-center.md | 67 + .../docs/04-open-the-client-hooks-file.md | 14 + .../docs/05-add-the-browser-event-logger.md | 27 + .../docs/06-open-the-server-hooks-file.md | 14 + .../docs/07-add-the-server-callback-logger.md | 32 + .../docs/08-join-from-two-browser-windows.md | 12 + .../src/content/docs/09-leave-the-call.md | 12 + .../docs/10-open-the-timeline-output.md | 14 + .../docs/11-validate-debug-timeline.md | 14 + .../docs/12-open-the-client-hooks-file.md | 14 + .../docs/13-add-room-wide-chat-signaling.md | 40 + .../content/docs/14-reload-the-app-windows.md | 12 + .../content/docs/15-send-the-first-message.md | 12 + .../docs/16-send-the-second-message.md | 10 + .../docs/17-check-both-message-views.md | 12 + .../docs/18-validate-signaling-chat.md | 14 + .../docs/19-open-the-client-hooks-file.md | 14 + .../content/docs/20-add-publisher-profiles.md | 56 + .../src/content/docs/21-reload-the-app.md | 12 + .../content/docs/22-start-with-balanced.md | 12 + .../content/docs/23-apply-low-bandwidth.md | 12 + .../docs/24-check-publisher-diagnostics.md | 14 + .../docs/25-validate-publisher-tuning.md | 14 + .../docs/26-open-the-client-hooks-file.md | 14 + .../docs/27-add-subscriber-status-handling.md | 28 + .../content/docs/28-join-from-two-windows.md | 12 + .../content/docs/29-check-the-normal-state.md | 12 + .../content/docs/30-trigger-degraded-state.md | 10 + .../docs/31-recover-the-subscriber-state.md | 12 + .../docs/32-validate-subscriber-quality.md | 14 + .../docs/33-open-the-client-hooks-file.md | 14 + .../src/content/docs/34-add-layout-preview.md | 23 + .../src/content/docs/35-reload-the-app.md | 10 + .../content/docs/36-join-from-two-windows.md | 10 + .../docs/37-choose-a-focus-participant.md | 10 + .../docs/38-check-the-layout-preview.md | 16 + .../docs/39-validate-recording-layout.md | 14 + .../docs/40-open-the-server-hooks-file.md | 14 + .../docs/41-add-archive-server-actions.md | 50 + .../docs/42-open-the-client-hooks-file.md | 14 + .../content/docs/43-add-archive-buttons.md | 34 + .../src/content/docs/44-join-the-call.md | 12 + .../src/content/docs/45-start-an-archive.md | 12 + .../docs/46-stop-and-view-the-archive.md | 12 + .../src/content/docs/47-validate-archiving.md | 15 + .../src/content/docs/index.mdx | 7 + .../src/env.d.ts | 2 + .../tsconfig.json | 3 + .../tutorial-config.json | 27 + .../vonage-toolbar/README.md | 6 + .../vonage-toolbar/app.ts | 425 + .../vonage-toolbar/integration.ts | 87 + .../vonage-toolbar/toolbar.png | Bin 0 -> 426515 bytes .../.astro/collections/docs.schema.json | 650 ++ .../.astro/content-assets.mjs | 1 + .../.astro/content-modules.mjs | 3 + .../.astro/content.d.ts | 227 + .../.astro/settings.json | 5 + .../.astro/types.d.ts | 2 + .../AGENTS.md | 182 + .../README.md | 3 + .../astro.config.mjs | 27 + .../download-toolbar.js | 40 + .../markdoc.config.mjs | 6 + .../package-lock.json | 8444 +++++++++++++++++ .../package.json | 29 + .../project/.env.example | 6 + .../project/README.md | 15 + .../project/package-lock.json | 1396 +++ .../project/package.json | 16 + .../project/public/app/app.js | 209 + .../project/public/app/exercise-hooks.js | 34 + .../project/public/app/index.html | 155 + .../project/server.js | 192 + .../project/setup-credentials.js | 103 + .../project/src/advanced-video-routes.js | 146 + .../src/advanced-video-server-hooks.js | 64 + .../project/src/advanced-video-state.js | 48 + .../public/favicon.ico | Bin 0 -> 15086 bytes .../src/content.config.ts | 7 + .../docs/01-confirm-the-server-is-running.md | 20 + .../02-configure-your-vonage-credentials.md | 25 + .../03-validate-setup-in-learning-center.md | 67 + .../docs/04-open-the-client-hooks-file.md | 14 + .../docs/05-add-the-browser-event-logger.md | 27 + .../docs/06-open-the-server-hooks-file.md | 14 + .../docs/07-add-the-server-callback-logger.md | 32 + .../docs/08-join-from-two-browser-windows.md | 12 + .../src/content/docs/09-leave-the-call.md | 12 + .../docs/10-open-the-timeline-output.md | 14 + .../docs/11-validate-debug-timeline.md | 14 + .../docs/12-open-the-client-hooks-file.md | 14 + .../docs/13-add-room-wide-chat-signaling.md | 40 + .../content/docs/14-reload-the-app-windows.md | 12 + .../content/docs/15-send-the-first-message.md | 12 + .../docs/16-send-the-second-message.md | 10 + .../docs/17-check-both-message-views.md | 12 + .../docs/18-validate-signaling-chat.md | 14 + .../docs/19-open-the-client-hooks-file.md | 14 + .../content/docs/20-add-publisher-profiles.md | 56 + .../src/content/docs/21-reload-the-app.md | 12 + .../content/docs/22-start-with-balanced.md | 12 + .../content/docs/23-apply-low-bandwidth.md | 12 + .../docs/24-check-publisher-diagnostics.md | 14 + .../docs/25-validate-publisher-tuning.md | 14 + .../docs/26-open-the-client-hooks-file.md | 14 + .../docs/27-add-subscriber-status-handling.md | 28 + .../content/docs/28-join-from-two-windows.md | 12 + .../content/docs/29-check-the-normal-state.md | 12 + .../content/docs/30-trigger-degraded-state.md | 10 + .../docs/31-recover-the-subscriber-state.md | 12 + .../docs/32-validate-subscriber-quality.md | 14 + .../docs/33-open-the-client-hooks-file.md | 14 + .../src/content/docs/34-add-layout-preview.md | 23 + .../src/content/docs/35-reload-the-app.md | 10 + .../content/docs/36-join-from-two-windows.md | 10 + .../docs/37-choose-a-focus-participant.md | 10 + .../docs/38-check-the-layout-preview.md | 16 + .../docs/39-validate-recording-layout.md | 14 + .../docs/40-open-the-server-hooks-file.md | 14 + .../docs/41-add-archive-server-actions.md | 50 + .../docs/42-open-the-client-hooks-file.md | 14 + .../content/docs/43-add-archive-buttons.md | 34 + .../src/content/docs/44-join-the-call.md | 12 + .../src/content/docs/45-start-an-archive.md | 12 + .../docs/46-stop-and-view-the-archive.md | 12 + .../src/content/docs/47-validate-archiving.md | 15 + .../src/content/docs/index.mdx | 7 + .../src/env.d.ts | 2 + .../index.html | 70 + .../index.html | 74 + .../index.html | 116 + .../04-open-the-client-hooks-file/index.html | 64 + .../index.html | 68 + .../06-open-the-server-hooks-file/index.html | 64 + .../index.html | 68 + .../index.html | 64 + .../steps/09-leave-the-call/index.html | 64 + .../10-open-the-timeline-output/index.html | 64 + .../11-validate-debug-timeline/index.html | 67 + .../12-open-the-client-hooks-file/index.html | 64 + .../index.html | 69 + .../14-reload-the-app-windows/index.html | 64 + .../15-send-the-first-message/index.html | 64 + .../16-send-the-second-message/index.html | 63 + .../17-check-both-message-views/index.html | 66 + .../18-validate-signaling-chat/index.html | 67 + .../19-open-the-client-hooks-file/index.html | 64 + .../20-add-publisher-profiles/index.html | 70 + .../steps/21-reload-the-app/index.html | 64 + .../steps/22-start-with-balanced/index.html | 64 + .../steps/23-apply-low-bandwidth/index.html | 64 + .../24-check-publisher-diagnostics/index.html | 64 + .../25-validate-publisher-tuning/index.html | 67 + .../26-open-the-client-hooks-file/index.html | 64 + .../index.html | 70 + .../steps/28-join-from-two-windows/index.html | 64 + .../29-check-the-normal-state/index.html | 64 + .../30-trigger-degraded-state/index.html | 63 + .../index.html | 66 + .../32-validate-subscriber-quality/index.html | 67 + .../33-open-the-client-hooks-file/index.html | 64 + .../steps/34-add-layout-preview/index.html | 67 + .../steps/35-reload-the-app/index.html | 63 + .../steps/36-join-from-two-windows/index.html | 63 + .../37-choose-a-focus-participant/index.html | 63 + .../38-check-the-layout-preview/index.html | 65 + .../39-validate-recording-layout/index.html | 67 + .../40-open-the-server-hooks-file/index.html | 64 + .../steps/404.html | 29 + .../41-add-archive-server-actions/index.html | 69 + .../42-open-the-client-hooks-file/index.html | 64 + .../steps/43-add-archive-buttons/index.html | 68 + .../steps/44-join-the-call/index.html | 64 + .../steps/45-start-an-archive/index.html | 64 + .../46-stop-and-view-the-archive/index.html | 64 + .../steps/47-validate-archiving/index.html | 68 + ...astro_type_script_index_0_lang.hwBsy0Mo.js | 1 + ...astro_type_script_index_0_lang.EjmW2doR.js | 1 + ...astro_type_script_index_0_lang.FuRcXuRY.js | 1 + .../steps/_astro/ec.0vx5m.js | 3 + .../steps/_astro/ec.v4551.css | 1 + .../steps/_astro/index.Dd5M7k0T.css | 1 + .../steps/_astro/page.B1D-nYk3.js | 1 + .../steps/_astro/print.DNXP8c50.css | 1 + .../steps/_astro/ui-core.CJyTyO9Y.js | 2 + .../steps/favicon.ico | Bin 0 -> 15086 bytes .../steps/index.html | 29 + .../tsconfig.json | 3 + .../tutorial-config.json | 27 + .../vonage-toolbar/README.md | 6 + .../vonage-toolbar/app.ts | 425 + .../vonage-toolbar/integration.ts | 87 + .../vonage-toolbar/toolbar.png | Bin 0 -> 426515 bytes 224 files changed, 30120 insertions(+) create mode 100644 .devcontainer/advanced-video-core-api-features/devcontainer.json create mode 100644 sources/advanced-video-core-api-features/.astro/collections/docs.schema.json create mode 100644 sources/advanced-video-core-api-features/.astro/content-assets.mjs create mode 100644 sources/advanced-video-core-api-features/.astro/content-modules.mjs create mode 100644 sources/advanced-video-core-api-features/.astro/content.d.ts create mode 100644 sources/advanced-video-core-api-features/.astro/settings.json create mode 100644 sources/advanced-video-core-api-features/.astro/types.d.ts create mode 100644 sources/advanced-video-core-api-features/AGENTS.md create mode 100644 sources/advanced-video-core-api-features/README.md create mode 100644 sources/advanced-video-core-api-features/astro.config.mjs create mode 100644 sources/advanced-video-core-api-features/download-toolbar.js create mode 100644 sources/advanced-video-core-api-features/markdoc.config.mjs create mode 100644 sources/advanced-video-core-api-features/package-lock.json create mode 100644 sources/advanced-video-core-api-features/package.json create mode 100644 sources/advanced-video-core-api-features/project/.env.example create mode 100644 sources/advanced-video-core-api-features/project/README.md create mode 100644 sources/advanced-video-core-api-features/project/package-lock.json create mode 100644 sources/advanced-video-core-api-features/project/package.json create mode 100644 sources/advanced-video-core-api-features/project/public/app/app.js create mode 100644 sources/advanced-video-core-api-features/project/public/app/exercise-hooks.js create mode 100644 sources/advanced-video-core-api-features/project/public/app/index.html create mode 100644 sources/advanced-video-core-api-features/project/server.js create mode 100644 sources/advanced-video-core-api-features/project/setup-credentials.js create mode 100644 sources/advanced-video-core-api-features/project/src/advanced-video-routes.js create mode 100644 sources/advanced-video-core-api-features/project/src/advanced-video-server-hooks.js create mode 100644 sources/advanced-video-core-api-features/project/src/advanced-video-state.js create mode 100644 sources/advanced-video-core-api-features/public/favicon.ico create mode 100644 sources/advanced-video-core-api-features/src/content.config.ts create mode 100644 sources/advanced-video-core-api-features/src/content/docs/01-confirm-the-server-is-running.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/02-configure-your-vonage-credentials.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/03-validate-setup-in-learning-center.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/04-open-the-client-hooks-file.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/05-add-the-browser-event-logger.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/06-open-the-server-hooks-file.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/07-add-the-server-callback-logger.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/08-join-from-two-browser-windows.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/09-leave-the-call.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/10-open-the-timeline-output.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/11-validate-debug-timeline.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/12-open-the-client-hooks-file.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/13-add-room-wide-chat-signaling.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/14-reload-the-app-windows.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/15-send-the-first-message.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/16-send-the-second-message.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/17-check-both-message-views.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/18-validate-signaling-chat.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/19-open-the-client-hooks-file.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/20-add-publisher-profiles.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/21-reload-the-app.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/22-start-with-balanced.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/23-apply-low-bandwidth.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/24-check-publisher-diagnostics.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/25-validate-publisher-tuning.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/26-open-the-client-hooks-file.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/27-add-subscriber-status-handling.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/28-join-from-two-windows.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/29-check-the-normal-state.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/30-trigger-degraded-state.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/31-recover-the-subscriber-state.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/32-validate-subscriber-quality.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/33-open-the-client-hooks-file.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/34-add-layout-preview.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/35-reload-the-app.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/36-join-from-two-windows.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/37-choose-a-focus-participant.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/38-check-the-layout-preview.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/39-validate-recording-layout.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/40-open-the-server-hooks-file.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/41-add-archive-server-actions.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/42-open-the-client-hooks-file.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/43-add-archive-buttons.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/44-join-the-call.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/45-start-an-archive.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/46-stop-and-view-the-archive.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/47-validate-archiving.md create mode 100644 sources/advanced-video-core-api-features/src/content/docs/index.mdx create mode 100644 sources/advanced-video-core-api-features/src/env.d.ts create mode 100644 sources/advanced-video-core-api-features/tsconfig.json create mode 100644 sources/advanced-video-core-api-features/tutorial-config.json create mode 100644 sources/advanced-video-core-api-features/vonage-toolbar/README.md create mode 100644 sources/advanced-video-core-api-features/vonage-toolbar/app.ts create mode 100644 sources/advanced-video-core-api-features/vonage-toolbar/integration.ts create mode 100644 sources/advanced-video-core-api-features/vonage-toolbar/toolbar.png create mode 100644 tutorials/advanced-video-core-api-features/.astro/collections/docs.schema.json create mode 100644 tutorials/advanced-video-core-api-features/.astro/content-assets.mjs create mode 100644 tutorials/advanced-video-core-api-features/.astro/content-modules.mjs create mode 100644 tutorials/advanced-video-core-api-features/.astro/content.d.ts create mode 100644 tutorials/advanced-video-core-api-features/.astro/settings.json create mode 100644 tutorials/advanced-video-core-api-features/.astro/types.d.ts create mode 100644 tutorials/advanced-video-core-api-features/AGENTS.md create mode 100644 tutorials/advanced-video-core-api-features/README.md create mode 100644 tutorials/advanced-video-core-api-features/astro.config.mjs create mode 100644 tutorials/advanced-video-core-api-features/download-toolbar.js create mode 100644 tutorials/advanced-video-core-api-features/markdoc.config.mjs create mode 100644 tutorials/advanced-video-core-api-features/package-lock.json create mode 100644 tutorials/advanced-video-core-api-features/package.json create mode 100644 tutorials/advanced-video-core-api-features/project/.env.example create mode 100644 tutorials/advanced-video-core-api-features/project/README.md create mode 100644 tutorials/advanced-video-core-api-features/project/package-lock.json create mode 100644 tutorials/advanced-video-core-api-features/project/package.json create mode 100644 tutorials/advanced-video-core-api-features/project/public/app/app.js create mode 100644 tutorials/advanced-video-core-api-features/project/public/app/exercise-hooks.js create mode 100644 tutorials/advanced-video-core-api-features/project/public/app/index.html create mode 100644 tutorials/advanced-video-core-api-features/project/server.js create mode 100644 tutorials/advanced-video-core-api-features/project/setup-credentials.js create mode 100644 tutorials/advanced-video-core-api-features/project/src/advanced-video-routes.js create mode 100644 tutorials/advanced-video-core-api-features/project/src/advanced-video-server-hooks.js create mode 100644 tutorials/advanced-video-core-api-features/project/src/advanced-video-state.js create mode 100644 tutorials/advanced-video-core-api-features/public/favicon.ico create mode 100644 tutorials/advanced-video-core-api-features/src/content.config.ts create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/01-confirm-the-server-is-running.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/02-configure-your-vonage-credentials.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/03-validate-setup-in-learning-center.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/04-open-the-client-hooks-file.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/05-add-the-browser-event-logger.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/06-open-the-server-hooks-file.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/07-add-the-server-callback-logger.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/08-join-from-two-browser-windows.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/09-leave-the-call.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/10-open-the-timeline-output.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/11-validate-debug-timeline.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/12-open-the-client-hooks-file.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/13-add-room-wide-chat-signaling.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/14-reload-the-app-windows.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/15-send-the-first-message.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/16-send-the-second-message.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/17-check-both-message-views.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/18-validate-signaling-chat.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/19-open-the-client-hooks-file.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/20-add-publisher-profiles.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/21-reload-the-app.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/22-start-with-balanced.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/23-apply-low-bandwidth.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/24-check-publisher-diagnostics.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/25-validate-publisher-tuning.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/26-open-the-client-hooks-file.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/27-add-subscriber-status-handling.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/28-join-from-two-windows.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/29-check-the-normal-state.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/30-trigger-degraded-state.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/31-recover-the-subscriber-state.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/32-validate-subscriber-quality.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/33-open-the-client-hooks-file.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/34-add-layout-preview.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/35-reload-the-app.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/36-join-from-two-windows.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/37-choose-a-focus-participant.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/38-check-the-layout-preview.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/39-validate-recording-layout.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/40-open-the-server-hooks-file.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/41-add-archive-server-actions.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/42-open-the-client-hooks-file.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/43-add-archive-buttons.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/44-join-the-call.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/45-start-an-archive.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/46-stop-and-view-the-archive.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/47-validate-archiving.md create mode 100644 tutorials/advanced-video-core-api-features/src/content/docs/index.mdx create mode 100644 tutorials/advanced-video-core-api-features/src/env.d.ts create mode 100644 tutorials/advanced-video-core-api-features/steps/01-confirm-the-server-is-running/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/02-configure-your-vonage-credentials/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/03-validate-setup-in-learning-center/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/04-open-the-client-hooks-file/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/05-add-the-browser-event-logger/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/06-open-the-server-hooks-file/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/07-add-the-server-callback-logger/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/08-join-from-two-browser-windows/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/09-leave-the-call/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/10-open-the-timeline-output/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/11-validate-debug-timeline/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/12-open-the-client-hooks-file/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/13-add-room-wide-chat-signaling/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/14-reload-the-app-windows/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/15-send-the-first-message/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/16-send-the-second-message/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/17-check-both-message-views/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/18-validate-signaling-chat/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/19-open-the-client-hooks-file/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/20-add-publisher-profiles/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/21-reload-the-app/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/22-start-with-balanced/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/23-apply-low-bandwidth/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/24-check-publisher-diagnostics/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/25-validate-publisher-tuning/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/26-open-the-client-hooks-file/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/27-add-subscriber-status-handling/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/28-join-from-two-windows/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/29-check-the-normal-state/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/30-trigger-degraded-state/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/31-recover-the-subscriber-state/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/32-validate-subscriber-quality/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/33-open-the-client-hooks-file/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/34-add-layout-preview/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/35-reload-the-app/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/36-join-from-two-windows/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/37-choose-a-focus-participant/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/38-check-the-layout-preview/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/39-validate-recording-layout/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/40-open-the-server-hooks-file/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/404.html create mode 100644 tutorials/advanced-video-core-api-features/steps/41-add-archive-server-actions/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/42-open-the-client-hooks-file/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/43-add-archive-buttons/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/44-join-the-call/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/45-start-an-archive/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/46-stop-and-view-the-archive/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/47-validate-archiving/index.html create mode 100644 tutorials/advanced-video-core-api-features/steps/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.hwBsy0Mo.js create mode 100644 tutorials/advanced-video-core-api-features/steps/_astro/Search.astro_astro_type_script_index_0_lang.EjmW2doR.js create mode 100644 tutorials/advanced-video-core-api-features/steps/_astro/TableOfContents.astro_astro_type_script_index_0_lang.FuRcXuRY.js create mode 100644 tutorials/advanced-video-core-api-features/steps/_astro/ec.0vx5m.js create mode 100644 tutorials/advanced-video-core-api-features/steps/_astro/ec.v4551.css create mode 100644 tutorials/advanced-video-core-api-features/steps/_astro/index.Dd5M7k0T.css create mode 100644 tutorials/advanced-video-core-api-features/steps/_astro/page.B1D-nYk3.js create mode 100644 tutorials/advanced-video-core-api-features/steps/_astro/print.DNXP8c50.css create mode 100644 tutorials/advanced-video-core-api-features/steps/_astro/ui-core.CJyTyO9Y.js create mode 100644 tutorials/advanced-video-core-api-features/steps/favicon.ico create mode 100644 tutorials/advanced-video-core-api-features/steps/index.html create mode 100644 tutorials/advanced-video-core-api-features/tsconfig.json create mode 100644 tutorials/advanced-video-core-api-features/tutorial-config.json create mode 100644 tutorials/advanced-video-core-api-features/vonage-toolbar/README.md create mode 100644 tutorials/advanced-video-core-api-features/vonage-toolbar/app.ts create mode 100644 tutorials/advanced-video-core-api-features/vonage-toolbar/integration.ts create mode 100644 tutorials/advanced-video-core-api-features/vonage-toolbar/toolbar.png diff --git a/.devcontainer/advanced-video-core-api-features/devcontainer.json b/.devcontainer/advanced-video-core-api-features/devcontainer.json new file mode 100644 index 00000000..e75b60de --- /dev/null +++ b/.devcontainer/advanced-video-core-api-features/devcontainer.json @@ -0,0 +1,62 @@ +{ + "name": "Tutorial: advanced-video-core-api-features", + "image": "mcr.microsoft.com/devcontainers/javascript-node:1-22-bookworm", + "workspaceFolder": "/workspaces/tutorial-interactive_tutorials/tutorials/advanced-video-core-api-features", + "waitFor": "onCreateCommand", + "updateContentCommand": "npm install", + "postCreateCommand": "", + "postAttachCommand": "nohup ./node_modules/.bin/http-server steps -p 1234 --cors -c-1 > /dev/null 2>&1 & (sleep 4 && echo -e \"\\n\\nTUTORIAL GUIDE READY:\\nhttps://${CODESPACE_NAME}-1234.app.github.dev\\n\\nAPPLICATION AND VALIDATION READY:\\nhttps://${CODESPACE_NAME}-3000.app.github.dev\\n\\n\" &) && (nohup sh -c \"sleep 5 && gh codespace ports visibility 3000:public -c $CODESPACE_NAME\" > /dev/null 2>&1 &) && cd project && npm start", + "forwardPorts": [ + "1234", + "3000" + ], + "portsAttributes": { + "1234": { + "label": "Tutorial Guide", + "onAutoForward": "openPreview" + }, + "3000": { + "label": "Advanced Video App and Validation API", + "onAutoForward": "notify", + "visibility": "public" + } + }, + "features": { + "ghcr.io/devcontainers/features/github-cli:1": {} + }, + "customizations": { + "vscode": { + "extensions": [], + "settings": { + "editor.formatOnSave": true, + "files.exclude": { + "node_modules": true, + "dist": true, + "steps": true, + ".devcontainer": true, + ".vscode": true, + "package-lock.json": true, + "tutorial-config.json": true, + "tsconfig.json": true, + "astro.config.mjs": true, + ".git": true, + ".DS_Store": true, + "vonage-toolbar": true, + "src": true, + "markdoc.config.mjs": true, + ".astro": true, + "public": true, + "download-toolbar.js": true, + "project/node_modules": true, + "project/.env": true + } + } + }, + "codespaces": { + "openFiles": [ + "project/public/app/exercise-hooks.js", + "project/src/advanced-video-server-hooks.js" + ] + } + } +} diff --git a/sources/advanced-video-core-api-features/.astro/collections/docs.schema.json b/sources/advanced-video-core-api-features/.astro/collections/docs.schema.json new file mode 100644 index 00000000..15dc3fb5 --- /dev/null +++ b/sources/advanced-video-core-api-features/.astro/collections/docs.schema.json @@ -0,0 +1,650 @@ +{ + "$ref": "#/definitions/docs", + "definitions": { + "docs": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "editUrl": { + "anyOf": [ + { + "type": "string", + "format": "uri" + }, + { + "type": "boolean" + } + ], + "default": true + }, + "head": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tag": { + "type": "string", + "enum": [ + "title", + "base", + "link", + "style", + "meta", + "script", + "noscript", + "template" + ] + }, + "attrs": { + "type": "object", + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "not": {} + } + ] + } + }, + "content": { + "type": "string" + } + }, + "required": [ + "tag" + ], + "additionalProperties": false + }, + "default": [] + }, + "tableOfContents": { + "anyOf": [ + { + "type": "object", + "properties": { + "minHeadingLevel": { + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 2 + }, + "maxHeadingLevel": { + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 3 + } + }, + "additionalProperties": false + }, + { + "type": "boolean" + } + ], + "default": { + "minHeadingLevel": 2, + "maxHeadingLevel": 3 + } + }, + "template": { + "type": "string", + "enum": [ + "doc", + "splash" + ], + "default": "doc" + }, + "hero": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "tagline": { + "type": "string" + }, + "image": { + "anyOf": [ + { + "type": "object", + "properties": { + "alt": { + "type": "string", + "default": "" + }, + "file": { + "type": "string" + } + }, + "required": [ + "file" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "alt": { + "type": "string", + "default": "" + }, + "dark": { + "type": "string" + }, + "light": { + "type": "string" + } + }, + "required": [ + "dark", + "light" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "html": { + "type": "string" + } + }, + "required": [ + "html" + ], + "additionalProperties": false + } + ] + }, + "actions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "text": { + "type": "string" + }, + "link": { + "type": "string" + }, + "variant": { + "type": "string", + "enum": [ + "primary", + "secondary", + "minimal" + ], + "default": "primary" + }, + "icon": { + "anyOf": [ + { + "type": "string", + "enum": [ + "up-caret", + "down-caret", + "right-caret", + "left-caret", + "up-arrow", + "down-arrow", + "right-arrow", + "left-arrow", + "bars", + "translate", + "pencil", + "pen", + "document", + "add-document", + "setting", + "external", + "download", + "cloud-download", + "moon", + "sun", + "laptop", + "open-book", + "information", + "magnifier", + "forward-slash", + "close", + "error", + "warning", + "approve-check-circle", + "approve-check", + "rocket", + "star", + "puzzle", + "list-format", + "random", + "comment", + "comment-alt", + "heart", + "github", + "gitlab", + "bitbucket", + "codePen", + "farcaster", + "discord", + "gitter", + "twitter", + "x.com", + "mastodon", + "codeberg", + "youtube", + "threads", + "linkedin", + "twitch", + "azureDevOps", + "microsoftTeams", + "instagram", + "stackOverflow", + "telegram", + "rss", + "facebook", + "email", + "phone", + "reddit", + "patreon", + "signal", + "slack", + "matrix", + "hackerOne", + "openCollective", + "blueSky", + "discourse", + "zulip", + "pinterest", + "tiktok", + "astro", + "alpine", + "pnpm", + "biome", + "bun", + "mdx", + "apple", + "linux", + "homebrew", + "nix", + "starlight", + "pkl", + "node", + "cloudflare", + "vercel", + "netlify", + "deno", + "jsr", + "nostr", + "backstage", + "confluence", + "jira", + "storybook", + "vscode", + "jetbrains", + "zed", + "vim", + "figma", + "sketch", + "npm", + "sourcehut", + "substack", + "chrome", + "edge", + "firefox", + "safari", + "seti:folder", + "seti:bsl", + "seti:mdo", + "seti:salesforce", + "seti:asm", + "seti:bicep", + "seti:bazel", + "seti:c", + "seti:c-sharp", + "seti:html", + "seti:cpp", + "seti:clojure", + "seti:coldfusion", + "seti:config", + "seti:crystal", + "seti:crystal_embedded", + "seti:json", + "seti:css", + "seti:csv", + "seti:xls", + "seti:cu", + "seti:cake", + "seti:cake_php", + "seti:d", + "seti:word", + "seti:elixir", + "seti:elixir_script", + "seti:hex", + "seti:elm", + "seti:favicon", + "seti:f-sharp", + "seti:git", + "seti:go", + "seti:godot", + "seti:gradle", + "seti:grails", + "seti:graphql", + "seti:hacklang", + "seti:haml", + "seti:mustache", + "seti:haskell", + "seti:haxe", + "seti:jade", + "seti:java", + "seti:javascript", + "seti:jinja", + "seti:julia", + "seti:karma", + "seti:kotlin", + "seti:dart", + "seti:liquid", + "seti:livescript", + "seti:lua", + "seti:markdown", + "seti:argdown", + "seti:info", + "seti:clock", + "seti:maven", + "seti:nim", + "seti:github", + "seti:notebook", + "seti:nunjucks", + "seti:npm", + "seti:ocaml", + "seti:odata", + "seti:perl", + "seti:php", + "seti:pipeline", + "seti:pddl", + "seti:plan", + "seti:happenings", + "seti:powershell", + "seti:prisma", + "seti:pug", + "seti:puppet", + "seti:purescript", + "seti:python", + "seti:react", + "seti:rescript", + "seti:R", + "seti:ruby", + "seti:rust", + "seti:sass", + "seti:spring", + "seti:slim", + "seti:smarty", + "seti:sbt", + "seti:scala", + "seti:ethereum", + "seti:stylus", + "seti:svelte", + "seti:swift", + "seti:db", + "seti:terraform", + "seti:tex", + "seti:default", + "seti:twig", + "seti:typescript", + "seti:tsconfig", + "seti:vala", + "seti:vite", + "seti:vue", + "seti:wasm", + "seti:wat", + "seti:xml", + "seti:yml", + "seti:prolog", + "seti:zig", + "seti:zip", + "seti:wgt", + "seti:illustrator", + "seti:photoshop", + "seti:pdf", + "seti:font", + "seti:image", + "seti:svg", + "seti:sublime", + "seti:code-search", + "seti:shell", + "seti:video", + "seti:audio", + "seti:windows", + "seti:jenkins", + "seti:babel", + "seti:bower", + "seti:docker", + "seti:code-climate", + "seti:eslint", + "seti:firebase", + "seti:firefox", + "seti:gitlab", + "seti:grunt", + "seti:gulp", + "seti:ionic", + "seti:platformio", + "seti:rollup", + "seti:stylelint", + "seti:yarn", + "seti:webpack", + "seti:lock", + "seti:license", + "seti:makefile", + "seti:heroku", + "seti:todo", + "seti:ignored" + ] + }, + { + "type": "string", + "pattern": "^\\ import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Findex.mdx&astroContentModuleFlag=true")]]); diff --git a/sources/advanced-video-core-api-features/.astro/content.d.ts b/sources/advanced-video-core-api-features/.astro/content.d.ts new file mode 100644 index 00000000..0167cd7a --- /dev/null +++ b/sources/advanced-video-core-api-features/.astro/content.d.ts @@ -0,0 +1,227 @@ +declare module 'astro:content' { + interface Render { + '.mdoc': Promise<{ + Content(props: Record): import('astro').MarkdownInstance<{}>['Content']; + headings: import('astro').MarkdownHeading[]; + }>; + } +} + +declare module 'astro:content' { + interface Render { + '.mdx': Promise<{ + Content: import('astro').MDXContent; + headings: import('astro').MarkdownHeading[]; + remarkPluginFrontmatter: Record; + components: import('astro').MDXInstance<{}>['components']; + }>; + } +} + +declare module 'astro:content' { + export interface RenderResult { + Content: import('astro/runtime/server/index.js').AstroComponentFactory; + headings: import('astro').MarkdownHeading[]; + remarkPluginFrontmatter: Record; + } + interface Render { + '.md': Promise; + } + + export interface RenderedContent { + html: string; + metadata?: { + imagePaths: Array; + [key: string]: unknown; + }; + } +} + +declare module 'astro:content' { + type Flatten = T extends { [K: string]: infer U } ? U : never; + + export type CollectionKey = keyof AnyEntryMap; + export type CollectionEntry = Flatten; + + export type ContentCollectionKey = keyof ContentEntryMap; + export type DataCollectionKey = keyof DataEntryMap; + + type AllValuesOf = T extends any ? T[keyof T] : never; + type ValidContentEntrySlug = AllValuesOf< + ContentEntryMap[C] + >['slug']; + + export type ReferenceDataEntry< + C extends CollectionKey, + E extends keyof DataEntryMap[C] = string, + > = { + collection: C; + id: E; + }; + export type ReferenceContentEntry< + C extends keyof ContentEntryMap, + E extends ValidContentEntrySlug | (string & {}) = string, + > = { + collection: C; + slug: E; + }; + export type ReferenceLiveEntry = { + collection: C; + id: string; + }; + + /** @deprecated Use `getEntry` instead. */ + export function getEntryBySlug< + C extends keyof ContentEntryMap, + E extends ValidContentEntrySlug | (string & {}), + >( + collection: C, + // Note that this has to accept a regular string too, for SSR + entrySlug: E, + ): E extends ValidContentEntrySlug + ? Promise> + : Promise | undefined>; + + /** @deprecated Use `getEntry` instead. */ + export function getDataEntryById( + collection: C, + entryId: E, + ): Promise>; + + export function getCollection>( + collection: C, + filter?: (entry: CollectionEntry) => entry is E, + ): Promise; + export function getCollection( + collection: C, + filter?: (entry: CollectionEntry) => unknown, + ): Promise[]>; + + export function getLiveCollection( + collection: C, + filter?: LiveLoaderCollectionFilterType, + ): Promise< + import('astro').LiveDataCollectionResult, LiveLoaderErrorType> + >; + + export function getEntry< + C extends keyof ContentEntryMap, + E extends ValidContentEntrySlug | (string & {}), + >( + entry: ReferenceContentEntry, + ): E extends ValidContentEntrySlug + ? Promise> + : Promise | undefined>; + export function getEntry< + C extends keyof DataEntryMap, + E extends keyof DataEntryMap[C] | (string & {}), + >( + entry: ReferenceDataEntry, + ): E extends keyof DataEntryMap[C] + ? Promise + : Promise | undefined>; + export function getEntry< + C extends keyof ContentEntryMap, + E extends ValidContentEntrySlug | (string & {}), + >( + collection: C, + slug: E, + ): E extends ValidContentEntrySlug + ? Promise> + : Promise | undefined>; + export function getEntry< + C extends keyof DataEntryMap, + E extends keyof DataEntryMap[C] | (string & {}), + >( + collection: C, + id: E, + ): E extends keyof DataEntryMap[C] + ? string extends keyof DataEntryMap[C] + ? Promise | undefined + : Promise + : Promise | undefined>; + export function getLiveEntry( + collection: C, + filter: string | LiveLoaderEntryFilterType, + ): Promise, LiveLoaderErrorType>>; + + /** Resolve an array of entry references from the same collection */ + export function getEntries( + entries: ReferenceContentEntry>[], + ): Promise[]>; + export function getEntries( + entries: ReferenceDataEntry[], + ): Promise[]>; + + export function render( + entry: AnyEntryMap[C][string], + ): Promise; + + export function reference( + collection: C, + ): import('astro/zod').ZodEffects< + import('astro/zod').ZodString, + C extends keyof ContentEntryMap + ? ReferenceContentEntry> + : ReferenceDataEntry + >; + // Allow generic `string` to avoid excessive type errors in the config + // if `dev` is not running to update as you edit. + // Invalid collection names will be caught at build time. + export function reference( + collection: C, + ): import('astro/zod').ZodEffects; + + type ReturnTypeOrOriginal = T extends (...args: any[]) => infer R ? R : T; + type InferEntrySchema = import('astro/zod').infer< + ReturnTypeOrOriginal['schema']> + >; + + type ContentEntryMap = { + + }; + + type DataEntryMap = { + "docs": Record; + rendered?: RenderedContent; + filePath?: string; +}>; + + }; + + type AnyEntryMap = ContentEntryMap & DataEntryMap; + + type ExtractLoaderTypes = T extends import('astro/loaders').LiveLoader< + infer TData, + infer TEntryFilter, + infer TCollectionFilter, + infer TError + > + ? { data: TData; entryFilter: TEntryFilter; collectionFilter: TCollectionFilter; error: TError } + : { data: never; entryFilter: never; collectionFilter: never; error: never }; + type ExtractDataType = ExtractLoaderTypes['data']; + type ExtractEntryFilterType = ExtractLoaderTypes['entryFilter']; + type ExtractCollectionFilterType = ExtractLoaderTypes['collectionFilter']; + type ExtractErrorType = ExtractLoaderTypes['error']; + + type LiveLoaderDataType = + LiveContentConfig['collections'][C]['schema'] extends undefined + ? ExtractDataType + : import('astro/zod').infer< + Exclude + >; + type LiveLoaderEntryFilterType = + ExtractEntryFilterType; + type LiveLoaderCollectionFilterType = + ExtractCollectionFilterType; + type LiveLoaderErrorType = ExtractErrorType< + LiveContentConfig['collections'][C]['loader'] + >; + + export type ContentConfig = typeof import("../src/content.config.js"); + export type LiveContentConfig = never; +} diff --git a/sources/advanced-video-core-api-features/.astro/settings.json b/sources/advanced-video-core-api-features/.astro/settings.json new file mode 100644 index 00000000..3cd0db6f --- /dev/null +++ b/sources/advanced-video-core-api-features/.astro/settings.json @@ -0,0 +1,5 @@ +{ + "_variables": { + "lastUpdateCheck": 1736170580536 + } +} \ No newline at end of file diff --git a/sources/advanced-video-core-api-features/.astro/types.d.ts b/sources/advanced-video-core-api-features/.astro/types.d.ts new file mode 100644 index 00000000..9a2a78c1 --- /dev/null +++ b/sources/advanced-video-core-api-features/.astro/types.d.ts @@ -0,0 +1,2 @@ +/// +/// \ No newline at end of file diff --git a/sources/advanced-video-core-api-features/AGENTS.md b/sources/advanced-video-core-api-features/AGENTS.md new file mode 100644 index 00000000..f63409d1 --- /dev/null +++ b/sources/advanced-video-core-api-features/AGENTS.md @@ -0,0 +1,182 @@ +# Vonage Interactive Tutorial — Authoring Instructions + +You are helping author a **Vonage interactive tutorial** built with Astro, Starlight, and Markdoc. +These instructions apply to all AI-assisted edits in this project. + +--- + +## Project Structure + +``` +tutorials// +├── src/ +│ └── content/ +│ └── docs/ ← ALL tutorial step files go here +│ ├── index.mdx ← Landing page (title/tagline only — do not edit content) +│ ├── 01-welcome.md +│ ├── 02-...md +│ └── NN-whats-next.md +├── astro.config.mjs ← Do not modify +├── markdoc.config.mjs ← Do not modify +├── package.json ← Do not modify +└── tutorial-config.json ← Do not modify manually +``` + +**Only edit files inside `src/content/docs/`.** Do not touch config files, `index.mdx` content, +or any file outside `src/` unless explicitly asked. + +--- + +## File Naming Convention + +All step files must follow this pattern: + +``` +NN-kebab-case-title.md +``` + +- `NN` = zero-padded two-digit step number: `01`, `02`, `03` ... `10`, `11` +- Name = lowercase words separated by hyphens, no spaces, no underscores +- Extension: always `.md` + +### Examples +``` +01-welcome.md +02-install-dependencies.md +03-initialize-client.md +04-send-the-message.md +05-run-the-code.md +06-whats-next.md +``` + +--- + +## Conventional First and Last Steps + +**First step — always `01-welcome.md`** +Introduce the technology or API being used. Cover what it is, what it can do, +and what the user will build by the end of the tutorial. + +**Last step — always `NN-whats-next.md`** +Point the user to further reading. Always include a link to the +[Vonage Developer Portal](https://developer.vonage.com). + +--- + +## Frontmatter + +Every step file starts with YAML frontmatter: + +```yaml +--- +title: Short Step Title # required — appears in the sidebar +description: One sentence. # optional — shown in meta/search +--- +``` + +- `title` is required and should be short (3–6 words) +- `description` is optional; use it for the first step and the last step + +--- + +## Content Guidelines + +- One concept per step. Keep steps short and focused. +- Start each step with 1–3 sentences explaining what the user will do and why. +- Use an H1 heading (`#`) that matches or elaborates on the `title`. +- Use fenced code blocks for all code and terminal commands (with language identifier). +- End each step (except the last) with 1–2 sentences summarising what was accomplished. + +--- + +## Available Markdoc Components + +This project uses Markdoc (`.md` files, not `.mdx`). Use these components: + +### Asides (callout boxes) + +``` +{% aside %} +General note or information. +{% /aside %} + +{% aside type="tip" %} +Helpful tip or shortcut. +{% /aside %} + +{% aside type="caution" %} +Warning — something to be careful about. +{% /aside %} + +{% aside type="danger" %} +Critical warning — data loss, security risk, etc. +{% /aside %} +``` + +### File Trees + +``` +{% filetree %} + +- package.json +- src/ + - index.js + - utils/ + - helpers.js + +{% /filetree %} +``` + +### Numbered Steps (within a page) + +``` +{% steps %} + +1. First action. + +2. Second action. + +3. Third action. + +{% /steps %} +``` + +### Tabs + +``` +{% tabs %} +{% tabitem label="Node.js" %} +Node.js-specific content here. +{% /tabitem %} +{% tabitem label="Python" %} +Python-specific content here. +{% /tabitem %} +{% /tabs %} +``` + +--- + +## Code Blocks + +Use standard fenced markdown with a language identifier: + +```` +```sh +npm install @vonage/server-sdk +``` + +```js +const vonage = new Vonage({ apiKey: '...', apiSecret: '...' }); +``` + +```python +client = vonage.Client(key="...", secret="...") +``` +```` + +--- + +## Reference + +`src/content/docs/02-step-template.md` is a complete annotated example of a well-formed +tutorial step. Use it as a structural reference when generating new steps. diff --git a/sources/advanced-video-core-api-features/README.md b/sources/advanced-video-core-api-features/README.md new file mode 100644 index 00000000..b48456fe --- /dev/null +++ b/sources/advanced-video-core-api-features/README.md @@ -0,0 +1,3 @@ +# Advanced Video Core API Features + +Shared interactive workspace for the Advanced Video Core API Features learning path. diff --git a/sources/advanced-video-core-api-features/astro.config.mjs b/sources/advanced-video-core-api-features/astro.config.mjs new file mode 100644 index 00000000..6d42c1d1 --- /dev/null +++ b/sources/advanced-video-core-api-features/astro.config.mjs @@ -0,0 +1,27 @@ +import { defineConfig } from 'astro/config'; + +import markdoc from '@astrojs/markdoc'; +import starlight from '@astrojs/starlight'; +import relativeLinks from 'astro-relative-links'; +import vonageIntegration from './vonage-toolbar/integration.ts'; + +// https://astro.build/config +export default defineConfig({ + integrations: [ + relativeLinks(), + vonageIntegration, + starlight({ + title: 'Advanced Video Core API Features', + tableOfContents: true, + pagefind: false, + }), + markdoc({ allowHTML: true }) + ], + vite: { + server: { + fs: { + strict: false + } + } + } +}); diff --git a/sources/advanced-video-core-api-features/download-toolbar.js b/sources/advanced-video-core-api-features/download-toolbar.js new file mode 100644 index 00000000..56d141c7 --- /dev/null +++ b/sources/advanced-video-core-api-features/download-toolbar.js @@ -0,0 +1,40 @@ +import fs from 'fs/promises'; + +async function downloadFile(url, filename) { + console.log('downloading: ', filename); + try { + const response = await fetch(url); + const buffer = await response.arrayBuffer(); + + await fs.mkdir('./vonage-toolbar', { recursive: true }); + + await fs.writeFile( + `./vonage-toolbar/${filename}`, + Buffer.from(buffer) + ); + + console.log(`✅ File ${filename} downloaded and written successfully!`); + + } catch (error) { + console.error(`❌ Error downloading/writing ${filename}:`, error); + } +} + +async function main() { + console.log('download toolbar application files'); + + await Promise.all([ + downloadFile( + 'https://raw.githubusercontent.com/vonage-community/tutorial-interactive_tutorials/refs/heads/main/toolbar-app/vonage-toolbar/integration.ts', + 'integration.ts' + ), + downloadFile( + 'https://raw.githubusercontent.com/vonage-community/tutorial-interactive_tutorials/refs/heads/main/toolbar-app/vonage-toolbar/app.ts', + 'app.ts' + ) + ]); + + console.log('🎉 All downloads complete. Starting Astro...'); +} + +main(); diff --git a/sources/advanced-video-core-api-features/markdoc.config.mjs b/sources/advanced-video-core-api-features/markdoc.config.mjs new file mode 100644 index 00000000..33c4f481 --- /dev/null +++ b/sources/advanced-video-core-api-features/markdoc.config.mjs @@ -0,0 +1,6 @@ +import { defineMarkdocConfig } from '@astrojs/markdoc/config'; +import starlightMarkdoc from '@astrojs/starlight-markdoc'; + +export default defineMarkdocConfig({ + extends: [starlightMarkdoc()], +}); \ No newline at end of file diff --git a/sources/advanced-video-core-api-features/package-lock.json b/sources/advanced-video-core-api-features/package-lock.json new file mode 100644 index 00000000..3bacb185 --- /dev/null +++ b/sources/advanced-video-core-api-features/package-lock.json @@ -0,0 +1,8444 @@ +{ + "name": "advanced-video-core-api-features", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "advanced-video-core-api-features", + "version": "0.0.1", + "hasInstallScript": true, + "dependencies": { + "@astrojs/markdoc": "^0.15.10", + "@astrojs/starlight": "^0.37.6", + "@astrojs/starlight-markdoc": "^0.5.1", + "adm-zip": "^0.5.16", + "astro": "^5.18.0", + "astro-relative-links": "^0.4.2", + "sharp": "^0.33.0" + }, + "devDependencies": { + "http-server": "^14.1.1" + } + }, + "node_modules/@astrojs/compiler": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.13.0.tgz", + "integrity": "sha512-mqVORhUJViA28fwHYaWmsXSzLO9osbdZ5ImUfxBarqsYdMlPbqAqGJCxsNzvppp1BEzc1mJNjOVvQqeDN8Vspw==", + "license": "MIT" + }, + "node_modules/@astrojs/internal-helpers": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.7.5.tgz", + "integrity": "sha512-vreGnYSSKhAjFJCWAwe/CNhONvoc5lokxtRoZims+0wa3KbHBdPHSSthJsKxPd8d/aic6lWKpRTYGY/hsgK6EA==", + "license": "MIT" + }, + "node_modules/@astrojs/markdoc": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/@astrojs/markdoc/-/markdoc-0.15.10.tgz", + "integrity": "sha512-05V4Vy4J14aDpBstKbuyO7ArY+VCF80SElWyx80ddeWkUiOERw4SjGbnzgAI4AQtDdJ+pJdlv/16TMM65+YafA==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.7.5", + "@astrojs/markdown-remark": "6.3.10", + "@astrojs/prism": "3.3.0", + "@markdoc/markdoc": "^0.5.4", + "esbuild": "^0.25.0", + "github-slugger": "^2.0.0", + "htmlparser2": "^10.0.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + }, + "peerDependencies": { + "astro": "^5.0.0" + } + }, + "node_modules/@astrojs/markdown-remark": { + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-6.3.10.tgz", + "integrity": "sha512-kk4HeYR6AcnzC4QV8iSlOfh+N8TZ3MEStxPyenyCtemqn8IpEATBFMTJcfrNW32dgpt6MY3oCkMM/Tv3/I4G3A==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.7.5", + "@astrojs/prism": "3.3.0", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.3", + "hast-util-to-text": "^4.0.2", + "import-meta-resolve": "^4.2.0", + "js-yaml": "^4.1.1", + "mdast-util-definitions": "^6.0.0", + "rehype-raw": "^7.0.0", + "rehype-stringify": "^10.0.1", + "remark-gfm": "^4.0.1", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.2", + "remark-smartypants": "^3.0.2", + "shiki": "^3.19.0", + "smol-toml": "^1.5.2", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.2", + "vfile": "^6.0.3" + } + }, + "node_modules/@astrojs/mdx": { + "version": "4.3.13", + "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-4.3.13.tgz", + "integrity": "sha512-IHDHVKz0JfKBy3//52JSiyWv089b7GVSChIXLrlUOoTLWowG3wr2/8hkaEgEyd/vysvNQvGk+QhysXpJW5ve6Q==", + "license": "MIT", + "dependencies": { + "@astrojs/markdown-remark": "6.3.10", + "@mdx-js/mdx": "^3.1.1", + "acorn": "^8.15.0", + "es-module-lexer": "^1.7.0", + "estree-util-visit": "^2.0.0", + "hast-util-to-html": "^9.0.5", + "piccolore": "^0.1.3", + "rehype-raw": "^7.0.0", + "remark-gfm": "^4.0.1", + "remark-smartypants": "^3.0.2", + "source-map": "^0.7.6", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.3" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + }, + "peerDependencies": { + "astro": "^5.0.0" + } + }, + "node_modules/@astrojs/prism": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.3.0.tgz", + "integrity": "sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==", + "license": "MIT", + "dependencies": { + "prismjs": "^1.30.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@astrojs/sitemap": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.7.0.tgz", + "integrity": "sha512-+qxjUrz6Jcgh+D5VE1gKUJTA3pSthuPHe6Ao5JCxok794Lewx8hBFaWHtOnN0ntb2lfOf7gvOi9TefUswQ/ZVA==", + "license": "MIT", + "dependencies": { + "sitemap": "^8.0.2", + "stream-replace-string": "^2.0.0", + "zod": "^3.25.76" + } + }, + "node_modules/@astrojs/starlight": { + "version": "0.37.6", + "resolved": "https://registry.npmjs.org/@astrojs/starlight/-/starlight-0.37.6.tgz", + "integrity": "sha512-wQrKwH431q+8FsLBnNQeG+R36TMtEGxTQ2AuiVpcx9APcazvL3n7wVW8mMmYyxX0POjTnxlcWPkdMGR3Yj1L+w==", + "license": "MIT", + "dependencies": { + "@astrojs/markdown-remark": "^6.3.1", + "@astrojs/mdx": "^4.2.3", + "@astrojs/sitemap": "^3.3.0", + "@pagefind/default-ui": "^1.3.0", + "@types/hast": "^3.0.4", + "@types/js-yaml": "^4.0.9", + "@types/mdast": "^4.0.4", + "astro-expressive-code": "^0.41.1", + "bcp-47": "^2.1.0", + "hast-util-from-html": "^2.0.1", + "hast-util-select": "^6.0.2", + "hast-util-to-string": "^3.0.0", + "hastscript": "^9.0.0", + "i18next": "^23.11.5", + "js-yaml": "^4.1.0", + "klona": "^2.0.6", + "magic-string": "^0.30.17", + "mdast-util-directive": "^3.0.0", + "mdast-util-to-markdown": "^2.1.0", + "mdast-util-to-string": "^4.0.0", + "pagefind": "^1.3.0", + "rehype": "^13.0.1", + "rehype-format": "^5.0.0", + "remark-directive": "^3.0.0", + "ultrahtml": "^1.6.0", + "unified": "^11.0.5", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.2" + }, + "peerDependencies": { + "astro": "^5.5.0" + } + }, + "node_modules/@astrojs/starlight-markdoc": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/starlight-markdoc/-/starlight-markdoc-0.5.1.tgz", + "integrity": "sha512-YxTvCHr/0ovDUhuRm0xeCjjGYtnqpa9EtTwc9fTbRO7Zpnsu1mDmm2L9HHSBWZ4YsFb005/GJYNDjk4WXNLoUg==", + "license": "MIT", + "peerDependencies": { + "@astrojs/markdoc": ">=0.12.1", + "@astrojs/starlight": ">=0.35.0" + } + }, + "node_modules/@astrojs/telemetry": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.0.tgz", + "integrity": "sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==", + "license": "MIT", + "dependencies": { + "ci-info": "^4.2.0", + "debug": "^4.4.0", + "dlv": "^1.1.3", + "dset": "^3.1.4", + "is-docker": "^3.0.0", + "is-wsl": "^3.1.0", + "which-pm-runs": "^1.1.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.5" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", + "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@capsizecss/unpack": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-4.0.0.tgz", + "integrity": "sha512-VERIM64vtTP1C4mxQ5thVT9fK0apjPFobqybMtA1UdUujWka24ERHbRHFGmpbbhp73MhV+KSsHQH9C6uOTdEQA==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-4.2.0.tgz", + "integrity": "sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.7.1.tgz", + "integrity": "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@expressive-code/core": { + "version": "0.41.7", + "resolved": "https://registry.npmjs.org/@expressive-code/core/-/core-0.41.7.tgz", + "integrity": "sha512-ck92uZYZ9Wba2zxkiZLsZGi9N54pMSAVdrI9uW3Oo9AtLglD5RmrdTwbYPCT2S/jC36JGB2i+pnQtBm/Ib2+dg==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^4.0.4", + "hast-util-select": "^6.0.2", + "hast-util-to-html": "^9.0.1", + "hast-util-to-text": "^4.0.1", + "hastscript": "^9.0.0", + "postcss": "^8.4.38", + "postcss-nested": "^6.0.1", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.1" + } + }, + "node_modules/@expressive-code/plugin-frames": { + "version": "0.41.7", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-frames/-/plugin-frames-0.41.7.tgz", + "integrity": "sha512-diKtxjQw/979cTglRFaMCY/sR6hWF0kSMg8jsKLXaZBSfGS0I/Hoe7Qds3vVEgeoW+GHHQzMcwvgx/MOIXhrTA==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.41.7" + } + }, + "node_modules/@expressive-code/plugin-shiki": { + "version": "0.41.7", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-shiki/-/plugin-shiki-0.41.7.tgz", + "integrity": "sha512-DL605bLrUOgqTdZ0Ot5MlTaWzppRkzzqzeGEu7ODnHF39IkEBbFdsC7pbl3LbUQ1DFtnfx6rD54k/cdofbW6KQ==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.41.7", + "shiki": "^3.2.2" + } + }, + "node_modules/@expressive-code/plugin-text-markers": { + "version": "0.41.7", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-text-markers/-/plugin-text-markers-0.41.7.tgz", + "integrity": "sha512-Ewpwuc5t6eFdZmWlFyeuy3e1PTQC0jFvw2Q+2bpcWXbOZhPLsT7+h8lsSIJxb5mS7wZko7cKyQ2RLYDyK6Fpmw==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.41.7" + } + }, + "node_modules/@img/colour": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", + "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", + "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz", + "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz", + "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz", + "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz", + "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz", + "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz", + "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz", + "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz", + "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz", + "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz", + "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.0.5" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz", + "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz", + "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.0.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz", + "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz", + "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz", + "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz", + "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.2.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz", + "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz", + "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@markdoc/markdoc": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@markdoc/markdoc/-/markdoc-0.5.4.tgz", + "integrity": "sha512-36YFNlqFk//gVNGm5xZaTWVwbAVF2AOmVjf1tiUrS6tCoD/YSkVy2E3CkAfhc5MlKcjparL/QFHCopxL4zRyaQ==", + "license": "MIT", + "engines": { + "node": ">=14.7.0" + }, + "optionalDependencies": { + "@types/linkify-it": "^3.0.1", + "@types/markdown-it": "12.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "react": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + } + } + }, + "node_modules/@mdx-js/mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.1.tgz", + "integrity": "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "acorn": "^8.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-scope": "^1.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "recma-build-jsx": "^1.0.0", + "recma-jsx": "^1.0.0", + "recma-stringify": "^1.0.0", + "rehype-recma": "^1.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@oslojs/encoding": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", + "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", + "license": "MIT" + }, + "node_modules/@pagefind/darwin-arm64": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-arm64/-/darwin-arm64-1.3.0.tgz", + "integrity": "sha512-365BEGl6ChOsauRjyVpBjXybflXAOvoMROw3TucAROHIcdBvXk9/2AmEvGFU0r75+vdQI4LJdJdpH4Y6Yqaj4A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@pagefind/darwin-x64": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-x64/-/darwin-x64-1.3.0.tgz", + "integrity": "sha512-zlGHA23uuXmS8z3XxEGmbHpWDxXfPZ47QS06tGUq0HDcZjXjXHeLG+cboOy828QIV5FXsm9MjfkP5e4ZNbOkow==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@pagefind/default-ui": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@pagefind/default-ui/-/default-ui-1.3.0.tgz", + "integrity": "sha512-CGKT9ccd3+oRK6STXGgfH+m0DbOKayX6QGlq38TfE1ZfUcPc5+ulTuzDbZUnMo+bubsEOIypm4Pl2iEyzZ1cNg==", + "license": "MIT" + }, + "node_modules/@pagefind/linux-arm64": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@pagefind/linux-arm64/-/linux-arm64-1.3.0.tgz", + "integrity": "sha512-8lsxNAiBRUk72JvetSBXs4WRpYrQrVJXjlRRnOL6UCdBN9Nlsz0t7hWstRk36+JqHpGWOKYiuHLzGYqYAqoOnQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pagefind/linux-x64": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@pagefind/linux-x64/-/linux-x64-1.3.0.tgz", + "integrity": "sha512-hAvqdPJv7A20Ucb6FQGE6jhjqy+vZ6pf+s2tFMNtMBG+fzcdc91uTw7aP/1Vo5plD0dAOHwdxfkyw0ugal4kcQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pagefind/windows-x64": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@pagefind/windows-x64/-/windows-x64-1.3.0.tgz", + "integrity": "sha512-BR1bIRWOMqkf8IoU576YDhij1Wd/Zf2kX/kCI0b2qzCKC8wcc2GQJaaRMCpzvCCrmliO4vtJ6RITp/AnoYUUmQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", + "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.1.tgz", + "integrity": "sha512-d6FinEBLdIiK+1uACUttJKfgZREXrF0Qc2SmLII7W2AD8FfiZ9Wjd+rD/iRuf5s5dWrr1GgwXCvPqOuDquOowA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.1.tgz", + "integrity": "sha512-YjG/EwIDvvYI1YvYbHvDz/BYHtkY4ygUIXHnTdLhG+hKIQFBiosfWiACWortsKPKU/+dUwQQCKQM3qrDe8c9BA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.1.tgz", + "integrity": "sha512-mjCpF7GmkRtSJwon+Rq1N8+pI+8l7w5g9Z3vWj4T7abguC4Czwi3Yu/pFaLvA3TTeMVjnu3ctigusqWUfjZzvw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.1.tgz", + "integrity": "sha512-haZ7hJ1JT4e9hqkoT9R/19XW2QKqjfJVv+i5AGg57S+nLk9lQnJ1F/eZloRO3o9Scy9CM3wQ9l+dkXtcBgN5Ew==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.1.tgz", + "integrity": "sha512-czw90wpQq3ZsAVBlinZjAYTKduOjTywlG7fEeWKUA7oCmpA8xdTkxZZlwNJKWqILlq0wehoZcJYfBvOyhPTQ6w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.1.tgz", + "integrity": "sha512-KVB2rqsxTHuBtfOeySEyzEOB7ltlB/ux38iu2rBQzkjbwRVlkhAGIEDiiYnO2kFOkJp+Z7pUXKyrRRFuFUKt+g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.1.tgz", + "integrity": "sha512-L+34Qqil+v5uC0zEubW7uByo78WOCIrBvci69E7sFASRl0X7b/MB6Cqd1lky/CtcSVTydWa2WZwFuWexjS5o6g==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.1.tgz", + "integrity": "sha512-n83O8rt4v34hgFzlkb1ycniJh7IR5RCIqt6mz1VRJD6pmhRi0CXdmfnLu9dIUS6buzh60IvACM842Ffb3xd6Gg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.1.tgz", + "integrity": "sha512-Nql7sTeAzhTAja3QXeAI48+/+GjBJ+QmAH13snn0AJSNL50JsDqotyudHyMbO2RbJkskbMbFJfIJKWA6R1LCJQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.1.tgz", + "integrity": "sha512-+pUymDhd0ys9GcKZPPWlFiZ67sTWV5UU6zOJat02M1+PiuSGDziyRuI/pPue3hoUwm2uGfxdL+trT6Z9rxnlMA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.1.tgz", + "integrity": "sha512-VSvgvQeIcsEvY4bKDHEDWcpW4Yw7BtlKG1GUT4FzBUlEKQK0rWHYBqQt6Fm2taXS+1bXvJT6kICu5ZwqKCnvlQ==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.1.tgz", + "integrity": "sha512-4LqhUomJqwe641gsPp6xLfhqWMbQV04KtPp7/dIp0nzPxAkNY1AbwL5W0MQpcalLYk07vaW9Kp1PBhdpZYYcEw==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.1.tgz", + "integrity": "sha512-tLQQ9aPvkBxOc/EUT6j3pyeMD6Hb8QF2BTBnCQWP/uu1lhc9AIrIjKnLYMEroIz/JvtGYgI9dF3AxHZNaEH0rw==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.1.tgz", + "integrity": "sha512-RMxFhJwc9fSXP6PqmAz4cbv3kAyvD1etJFjTx4ONqFP9DkTkXsAMU4v3Vyc5BgzC+anz7nS/9tp4obsKfqkDHg==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.1.tgz", + "integrity": "sha512-QKgFl+Yc1eEk6MmOBfRHYF6lTxiiiV3/z/BRrbSiW2I7AFTXoBFvdMEyglohPj//2mZS4hDOqeB0H1ACh3sBbg==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.1.tgz", + "integrity": "sha512-RAjXjP/8c6ZtzatZcA1RaQr6O1TRhzC+adn8YZDnChliZHviqIjmvFwHcxi4JKPSDAt6Uhf/7vqcBzQJy0PDJg==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.1.tgz", + "integrity": "sha512-wcuocpaOlaL1COBYiA89O6yfjlp3RwKDeTIA0hM7OpmhR1Bjo9j31G1uQVpDlTvwxGn2nQs65fBFL5UFd76FcQ==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.1.tgz", + "integrity": "sha512-77PpsFQUCOiZR9+LQEFg9GClyfkNXj1MP6wRnzYs0EeWbPcHs02AXu4xuUbM1zhwn3wqaizle3AEYg5aeoohhg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.1.tgz", + "integrity": "sha512-5cIATbk5vynAjqqmyBjlciMJl1+R/CwX9oLk/EyiFXDWd95KpHdrOJT//rnUl4cUcskrd0jCCw3wpZnhIHdD9w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.1.tgz", + "integrity": "sha512-cl0w09WsCi17mcmWqqglez9Gk8isgeWvoUZ3WiJFYSR3zjBQc2J5/ihSjpl+VLjPqjQ/1hJRcqBfLjssREQILw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.1.tgz", + "integrity": "sha512-4Cv23ZrONRbNtbZa37mLSueXUCtN7MXccChtKpUnQNgF010rjrjfHx3QxkS2PI7LqGT5xXyYs1a7LbzAwT0iCA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.1.tgz", + "integrity": "sha512-i1okWYkA4FJICtr7KpYzFpRTHgy5jdDbZiWfvny21iIKky5YExiDXP+zbXzm3dUcFpkEeYNHgQ5fuG236JPq0g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.1.tgz", + "integrity": "sha512-u09m3CuwLzShA0EYKMNiFgcjjzwqtUMLmuCJLeZWjjOYA3IT2Di09KaxGBTP9xVztWyIWjVdsB2E9goMjZvTQg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.1.tgz", + "integrity": "sha512-k+600V9Zl1CM7eZxJgMyTUzmrmhB/0XZnF4pRypKAlAgxmedUA+1v9R+XOFv56W4SlHEzfeMtzujLJD22Uz5zg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.1.tgz", + "integrity": "sha512-lWMnixq/QzxyhTV6NjQJ4SFo1J6PvOX8vUx5Wb4bBPsEb+8xZ89Bz6kOXpfXj9ak9AHTQVQzlgzBEc1SyM27xQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.23.0.tgz", + "integrity": "sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.5" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.23.0.tgz", + "integrity": "sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.4" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.23.0.tgz", + "integrity": "sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@shikijs/langs": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.23.0.tgz", + "integrity": "sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0" + } + }, + "node_modules/@shikijs/themes": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.23.0.tgz", + "integrity": "sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0" + } + }, + "node_modules/@shikijs/types": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.23.0.tgz", + "integrity": "sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "license": "MIT" + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/js-yaml": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", + "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==", + "license": "MIT" + }, + "node_modules/@types/linkify-it": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz", + "integrity": "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/markdown-it": { + "version": "12.2.3", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", + "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/mdx": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", + "license": "MIT" + }, + "node_modules/@types/nlcst": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/node": { + "version": "22.10.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.5.tgz", + "integrity": "sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.20.0" + } + }, + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.1.tgz", + "integrity": "sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==", + "license": "ISC" + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "license": "MIT", + "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==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/adm-zip": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.16.tgz", + "integrity": "sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==", + "license": "MIT", + "engines": { + "node": ">=12.0" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/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==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "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==", + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-iterate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", + "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/astring": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "license": "MIT", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/astro": { + "version": "5.18.1", + "resolved": "https://registry.npmjs.org/astro/-/astro-5.18.1.tgz", + "integrity": "sha512-m4VWilWZ+Xt6NPoYzC4CgGZim/zQUO7WFL0RHCH0AiEavF1153iC3+me2atDvXpf/yX4PyGUeD8wZLq1cirT3g==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler": "^2.13.0", + "@astrojs/internal-helpers": "0.7.6", + "@astrojs/markdown-remark": "6.3.11", + "@astrojs/telemetry": "3.3.0", + "@capsizecss/unpack": "^4.0.0", + "@oslojs/encoding": "^1.1.0", + "@rollup/pluginutils": "^5.3.0", + "acorn": "^8.15.0", + "aria-query": "^5.3.2", + "axobject-query": "^4.1.0", + "boxen": "8.0.1", + "ci-info": "^4.3.1", + "clsx": "^2.1.1", + "common-ancestor-path": "^1.0.1", + "cookie": "^1.1.1", + "cssesc": "^3.0.0", + "debug": "^4.4.3", + "deterministic-object-hash": "^2.0.2", + "devalue": "^5.6.2", + "diff": "^8.0.3", + "dlv": "^1.1.3", + "dset": "^3.1.4", + "es-module-lexer": "^1.7.0", + "esbuild": "^0.27.3", + "estree-walker": "^3.0.3", + "flattie": "^1.1.1", + "fontace": "~0.4.0", + "github-slugger": "^2.0.0", + "html-escaper": "3.0.3", + "http-cache-semantics": "^4.2.0", + "import-meta-resolve": "^4.2.0", + "js-yaml": "^4.1.1", + "magic-string": "^0.30.21", + "magicast": "^0.5.1", + "mrmime": "^2.0.1", + "neotraverse": "^0.6.18", + "p-limit": "^6.2.0", + "p-queue": "^8.1.1", + "package-manager-detector": "^1.6.0", + "piccolore": "^0.1.3", + "picomatch": "^4.0.3", + "prompts": "^2.4.2", + "rehype": "^13.0.2", + "semver": "^7.7.3", + "shiki": "^3.21.0", + "smol-toml": "^1.6.0", + "svgo": "^4.0.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tsconfck": "^3.1.6", + "ultrahtml": "^1.6.0", + "unifont": "~0.7.3", + "unist-util-visit": "^5.0.0", + "unstorage": "^1.17.4", + "vfile": "^6.0.3", + "vite": "^6.4.1", + "vitefu": "^1.1.1", + "xxhash-wasm": "^1.1.0", + "yargs-parser": "^21.1.1", + "yocto-spinner": "^0.2.3", + "zod": "^3.25.76", + "zod-to-json-schema": "^3.25.1", + "zod-to-ts": "^1.2.0" + }, + "bin": { + "astro": "astro.js" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/astrodotbuild" + }, + "optionalDependencies": { + "sharp": "^0.34.0" + } + }, + "node_modules/astro-expressive-code": { + "version": "0.41.7", + "resolved": "https://registry.npmjs.org/astro-expressive-code/-/astro-expressive-code-0.41.7.tgz", + "integrity": "sha512-hUpogGc6DdAd+I7pPXsctyYPRBJDK7Q7d06s4cyP0Vz3OcbziP3FNzN0jZci1BpCvLn9675DvS7B9ctKKX64JQ==", + "license": "MIT", + "dependencies": { + "rehype-expressive-code": "^0.41.7" + }, + "peerDependencies": { + "astro": "^4.0.0-beta || ^5.0.0-beta || ^3.3.0 || ^6.0.0-beta" + } + }, + "node_modules/astro-relative-links": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/astro-relative-links/-/astro-relative-links-0.4.2.tgz", + "integrity": "sha512-YXwnmZz47yxiIIxWR10LwpGlqvGTERJ7JWX2lFRINTg/sFaPkqTx9xNM50W1+9FNMMxtTn7C8YNW5yDVX33Vzw==", + "license": "MIT", + "dependencies": { + "glob": "^10.3.10" + }, + "peerDependencies": { + "astro": ">=3.0.0" + } + }, + "node_modules/astro/node_modules/@astrojs/internal-helpers": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.7.6.tgz", + "integrity": "sha512-GOle7smBWKfMSP8osUIGOlB5kaHdQLV3foCsf+5Q9Wsuu+C6Fs3Ez/ttXmhjZ1HkSgsogcM1RXSjjOVieHq16Q==", + "license": "MIT" + }, + "node_modules/astro/node_modules/@astrojs/markdown-remark": { + "version": "6.3.11", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-6.3.11.tgz", + "integrity": "sha512-hcaxX/5aC6lQgHeGh1i+aauvSwIT6cfyFjKWvExYSxUhZZBBdvCliOtu06gbQyhbe0pGJNoNmqNlQZ5zYUuIyQ==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.7.6", + "@astrojs/prism": "3.3.0", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.3", + "hast-util-to-text": "^4.0.2", + "import-meta-resolve": "^4.2.0", + "js-yaml": "^4.1.1", + "mdast-util-definitions": "^6.0.0", + "rehype-raw": "^7.0.0", + "rehype-stringify": "^10.0.1", + "remark-gfm": "^4.0.1", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.2", + "remark-smartypants": "^3.0.2", + "shiki": "^3.21.0", + "smol-toml": "^1.6.0", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.2", + "vfile": "^6.0.3" + } + }, + "node_modules/astro/node_modules/@esbuild/aix-ppc64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.4.tgz", + "integrity": "sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/android-arm": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.4.tgz", + "integrity": "sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/android-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.4.tgz", + "integrity": "sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/android-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.4.tgz", + "integrity": "sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/darwin-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.4.tgz", + "integrity": "sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/darwin-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.4.tgz", + "integrity": "sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.4.tgz", + "integrity": "sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/freebsd-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.4.tgz", + "integrity": "sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-arm": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.4.tgz", + "integrity": "sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.4.tgz", + "integrity": "sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-ia32": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.4.tgz", + "integrity": "sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-loong64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.4.tgz", + "integrity": "sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-mips64el": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.4.tgz", + "integrity": "sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-ppc64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.4.tgz", + "integrity": "sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-riscv64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.4.tgz", + "integrity": "sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-s390x": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.4.tgz", + "integrity": "sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.4.tgz", + "integrity": "sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.4.tgz", + "integrity": "sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/netbsd-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.4.tgz", + "integrity": "sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.4.tgz", + "integrity": "sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/openbsd-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.4.tgz", + "integrity": "sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.4.tgz", + "integrity": "sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/sunos-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.4.tgz", + "integrity": "sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/win32-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.4.tgz", + "integrity": "sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/win32-ia32": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.4.tgz", + "integrity": "sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/win32-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.4.tgz", + "integrity": "sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/esbuild": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.4.tgz", + "integrity": "sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.4", + "@esbuild/android-arm": "0.27.4", + "@esbuild/android-arm64": "0.27.4", + "@esbuild/android-x64": "0.27.4", + "@esbuild/darwin-arm64": "0.27.4", + "@esbuild/darwin-x64": "0.27.4", + "@esbuild/freebsd-arm64": "0.27.4", + "@esbuild/freebsd-x64": "0.27.4", + "@esbuild/linux-arm": "0.27.4", + "@esbuild/linux-arm64": "0.27.4", + "@esbuild/linux-ia32": "0.27.4", + "@esbuild/linux-loong64": "0.27.4", + "@esbuild/linux-mips64el": "0.27.4", + "@esbuild/linux-ppc64": "0.27.4", + "@esbuild/linux-riscv64": "0.27.4", + "@esbuild/linux-s390x": "0.27.4", + "@esbuild/linux-x64": "0.27.4", + "@esbuild/netbsd-arm64": "0.27.4", + "@esbuild/netbsd-x64": "0.27.4", + "@esbuild/openbsd-arm64": "0.27.4", + "@esbuild/openbsd-x64": "0.27.4", + "@esbuild/openharmony-arm64": "0.27.4", + "@esbuild/sunos-x64": "0.27.4", + "@esbuild/win32-arm64": "0.27.4", + "@esbuild/win32-ia32": "0.27.4", + "@esbuild/win32-x64": "0.27.4" + } + }, + "node_modules/astro/node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/base-64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", + "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==", + "license": "MIT" + }, + "node_modules/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dev": true, + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/bcp-47": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bcp-47/-/bcp-47-2.1.0.tgz", + "integrity": "sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bcp-47-match": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-2.0.3.tgz", + "integrity": "sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/boxen": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", + "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^8.0.0", + "chalk": "^5.3.0", + "cli-boxes": "^3.0.0", + "string-width": "^7.2.0", + "type-fest": "^4.21.0", + "widest-line": "^5.0.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz", + "integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", + "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ci-info": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz", + "integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.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==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "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==", + "license": "MIT" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/common-ancestor-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", + "license": "ISC" + }, + "node_modules/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cookie-es": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.2.tgz", + "integrity": "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==", + "license": "MIT" + }, + "node_modules/corser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", + "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crossws": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", + "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", + "license": "MIT", + "dependencies": { + "uncrypto": "^0.1.3" + } + }, + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-selector-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-3.3.0.tgz", + "integrity": "sha512-Y2asgMGFqJKF4fq4xHDSlFYIkeVfRsm69lQC1q9kbEsH5XtnINTMrweLkjYMeaUgiXBy/uvKeO/a1JHTNnmB2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, + "node_modules/css-tree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.12.2", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/defu": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.6.tgz", + "integrity": "sha512-f8mefEW4WIVg4LckePx3mALjQSPQgFlg9U8yaPdlsbdYcHQyj9n2zL2LJEA52smeYxOvmd/nB7TpMtHGMTHcug==", + "license": "MIT" + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/deterministic-object-hash": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/deterministic-object-hash/-/deterministic-object-hash-2.0.2.tgz", + "integrity": "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==", + "license": "MIT", + "dependencies": { + "base-64": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/devalue": { + "version": "5.6.4", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.6.4.tgz", + "integrity": "sha512-Gp6rDldRsFh/7XuouDbxMH3Mx8GMCcgzIb1pDTvNyn8pZGQ22u+Wa+lGV9dQCltFQ7uVw0MhRyb8XDskNFOReA==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/diff": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.3.tgz", + "integrity": "sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/direction": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/direction/-/direction-2.0.1.tgz", + "integrity": "sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==", + "license": "MIT", + "bin": { + "direction": "cli.js" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "license": "MIT" + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "license": "MIT" + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esast-util-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", + "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esast-util-from-js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", + "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "acorn": "^8.0.0", + "esast-util-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-scope": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", + "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "license": "MIT" + }, + "node_modules/expressive-code": { + "version": "0.41.7", + "resolved": "https://registry.npmjs.org/expressive-code/-/expressive-code-0.41.7.tgz", + "integrity": "sha512-2wZjC8OQ3TaVEMcBtYY4Va3lo6J+Ai9jf3d4dbhURMJcU4Pbqe6EcHe424MIZI0VHUA1bR6xdpoHYi3yxokWqA==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.41.7", + "@expressive-code/plugin-frames": "^0.41.7", + "@expressive-code/plugin-shiki": "^0.41.7", + "@expressive-code/plugin-text-markers": "^0.41.7" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/flattie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", + "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/follow-redirects": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/fontace": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/fontace/-/fontace-0.4.1.tgz", + "integrity": "sha512-lDMvbAzSnHmbYMTEld5qdtvNH2/pWpICOqpean9IgC7vUbUJc3k+k5Dokp85CegamqQpFbXf0rAVkbzpyTA8aw==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.2" + } + }, + "node_modules/fontkitten": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fontkitten/-/fontkitten-1.0.2.tgz", + "integrity": "sha512-piJxbLnkD9Xcyi7dWJRnqszEURixe7CrF/efBfbffe2DPyabmuIuqraruY8cXTs19QoM8VJzx47BDRVNXETM7Q==", + "license": "MIT", + "dependencies": { + "tiny-inflate": "^1.0.3" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", + "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, + "node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/h3": { + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.10.tgz", + "integrity": "sha512-YzJeWSkDZxAhvmp8dexjRK5hxziRO7I9m0N53WhvYL5NiWfkUkzssVzY9jvGu0HBoLFW6+duYmNSn6MaZBCCtg==", + "license": "MIT", + "dependencies": { + "cookie-es": "^1.2.2", + "crossws": "^0.3.5", + "defu": "^6.1.4", + "destr": "^2.0.5", + "iron-webcrypto": "^1.2.1", + "node-mock-http": "^1.0.4", + "radix3": "^1.1.2", + "ufo": "^1.6.3", + "uncrypto": "^0.1.3" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-embedded": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz", + "integrity": "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-is-element": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-format": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hast-util-format/-/hast-util-format-1.1.0.tgz", + "integrity": "sha512-yY1UDz6bC9rDvCWHpx12aIBGRG7krurX0p0Fm6pT547LwDIZZiNr8a+IHDogorAdreULSEzP82Nlv5SZkHZcjA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-minify-whitespace": "^1.0.0", + "hast-util-phrasing": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "html-whitespace-sensitive-tag-names": "^3.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.2.tgz", + "integrity": "sha512-SfMzfdAi/zAoZ1KkFEyyeXBn7u/ShQrfd675ZEE9M3qj+PMFX05xubzRyF76CCSJu8au9jgVxDV1+okFvgZU4A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^6.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-has-property": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", + "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-body-ok-link": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.1.tgz", + "integrity": "sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-minify-whitespace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hast-util-minify-whitespace/-/hast-util-minify-whitespace-1.0.1.tgz", + "integrity": "sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-phrasing": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz", + "integrity": "sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-is-body-ok-link": "^3.0.0", + "hast-util-is-element": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-select": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/hast-util-select/-/hast-util-select-6.0.4.tgz", + "integrity": "sha512-RqGS1ZgI0MwxLaKLDxjprynNzINEkRHY2i8ln4DDjgv9ZhcYVIHN9rlpiYsqtFwrgpYU361SyWDQcGNIBVu3lw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "bcp-47-match": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "css-selector-parser": "^3.0.0", + "devlop": "^1.0.0", + "direction": "^2.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-to-string": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "nth-check": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-select/node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-estree": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz", + "integrity": "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree/node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html/node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", + "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", + "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-string": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz", + "integrity": "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.0.tgz", + "integrity": "sha512-jzaLBGavEDKHrc5EfFImKN7nZKKBdSLIdGvCwDZ9TfzbF2ffXiov8CKE445L2Z1Ek2t/m4SKQ2j6Ipv7NyUolw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-escaper": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", + "license": "MIT" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/html-whitespace-sensitive-tag-names": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-whitespace-sensitive-tag-names/-/html-whitespace-sensitive-tag-names-3.0.1.tgz", + "integrity": "sha512-q+310vW8zmymYHALr1da4HyXUQ0zgiIwIicEfotYPWGN0OJVEN/58IJ3A4GBYcEq3LGAZqKb+ugvP0GNB9CEAA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/htmlparser2": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", + "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.1", + "entities": "^6.0.0" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "license": "BSD-2-Clause" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy/node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/http-server": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz", + "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==", + "dev": true, + "dependencies": { + "basic-auth": "^2.0.1", + "chalk": "^4.1.2", + "corser": "^2.0.1", + "he": "^1.2.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy": "^1.18.1", + "mime": "^1.6.0", + "minimist": "^1.2.6", + "opener": "^1.5.1", + "portfinder": "^1.0.28", + "secure-compare": "3.0.1", + "union": "~0.5.0", + "url-join": "^4.0.1" + }, + "bin": { + "http-server": "bin/http-server" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/http-server/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/http-server/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/i18next": { + "version": "23.16.8", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.8.tgz", + "integrity": "sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==", + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.23.2" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/import-meta-resolve": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", + "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/inline-style-parser": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", + "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", + "license": "MIT" + }, + "node_modules/iron-webcrypto": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", + "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/brc-dd" + } + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "license": "MIT" + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/magicast": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.1.tgz", + "integrity": "sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "source-map-js": "^1.2.1" + } + }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdast-util-definitions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", + "integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz", + "integrity": "sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", + "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", + "license": "CC0-1.0" + }, + "node_modules/micromark": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", + "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.2.tgz", + "integrity": "sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-directive": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz", + "integrity": "sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "parse-entities": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.0.tgz", + "integrity": "sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz", + "integrity": "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz", + "integrity": "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "license": "MIT", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz", + "integrity": "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz", + "integrity": "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.3.tgz", + "integrity": "sha512-VXJJuNxYWSoYL6AJ6OQECCFGhIU2GGHMw8tahogePBrjkG8aCCas3ibkp7RnVOSTClg2is05/R7maAhF1XyQMg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.1.tgz", + "integrity": "sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/neotraverse": { + "version": "0.6.18", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", + "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/nlcst-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/node-fetch-native": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", + "license": "MIT" + }, + "node_modules/node-mock-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.4.tgz", + "integrity": "sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ofetch": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.5.1.tgz", + "integrity": "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==", + "license": "MIT", + "dependencies": { + "destr": "^2.0.5", + "node-fetch-native": "^1.6.7", + "ufo": "^1.6.1" + } + }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "license": "MIT" + }, + "node_modules/oniguruma-parser": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.1.tgz", + "integrity": "sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==", + "license": "MIT" + }, + "node_modules/oniguruma-to-es": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.4.tgz", + "integrity": "sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==", + "license": "MIT", + "dependencies": { + "oniguruma-parser": "^0.12.1", + "regex": "^6.0.1", + "regex-recursion": "^6.0.2" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/p-limit": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.2.0.tgz", + "integrity": "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz", + "integrity": "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^5.0.1", + "p-timeout": "^6.1.2" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", + "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, + "node_modules/package-manager-detector": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz", + "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==", + "license": "MIT" + }, + "node_modules/pagefind": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/pagefind/-/pagefind-1.3.0.tgz", + "integrity": "sha512-8KPLGT5g9s+olKMRTU9LFekLizkVIu9tes90O1/aigJ0T5LmyPqTzGJrETnSw3meSYg58YH7JTzhTTW/3z6VAw==", + "license": "MIT", + "bin": { + "pagefind": "lib/runner/bin.cjs" + }, + "optionalDependencies": { + "@pagefind/darwin-arm64": "1.3.0", + "@pagefind/darwin-x64": "1.3.0", + "@pagefind/linux-arm64": "1.3.0", + "@pagefind/linux-x64": "1.3.0", + "@pagefind/windows-x64": "1.3.0" + } + }, + "node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/parse-latin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", + "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "@types/unist": "^3.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-modify-children": "^4.0.0", + "unist-util-visit-children": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse5": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", + "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", + "license": "MIT", + "dependencies": { + "entities": "^4.5.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/piccolore": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/piccolore/-/piccolore-0.1.3.tgz", + "integrity": "sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==", + "license": "ISC" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/portfinder": { + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.38.tgz", + "integrity": "sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg==", + "dev": true, + "dependencies": { + "async": "^3.2.6", + "debug": "^4.3.6" + }, + "engines": { + "node": ">= 10.12" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "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" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/qs": { + "version": "6.15.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", + "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==", + "dev": true, + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/radix3": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", + "license": "MIT" + }, + "node_modules/readdirp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/recma-build-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", + "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-jsx": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.1.tgz", + "integrity": "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==", + "license": "MIT", + "dependencies": { + "acorn-jsx": "^5.0.0", + "estree-util-to-js": "^2.0.0", + "recma-parse": "^1.0.0", + "recma-stringify": "^1.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/recma-parse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", + "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "esast-util-from-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", + "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-to-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "license": "MIT" + }, + "node_modules/rehype": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz", + "integrity": "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "rehype-parse": "^9.0.0", + "rehype-stringify": "^10.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-expressive-code": { + "version": "0.41.7", + "resolved": "https://registry.npmjs.org/rehype-expressive-code/-/rehype-expressive-code-0.41.7.tgz", + "integrity": "sha512-25f8ZMSF1d9CMscX7Cft0TSQIqdwjce2gDOvQ+d/w0FovsMwrSt3ODP4P3Z7wO1jsIJ4eYyaDRnIR/27bd/EMQ==", + "license": "MIT", + "dependencies": { + "expressive-code": "^0.41.7" + } + }, + "node_modules/rehype-format": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rehype-format/-/rehype-format-5.0.1.tgz", + "integrity": "sha512-zvmVru9uB0josBVpr946OR8ui7nJEdzZobwLOOqHb/OOD88W0Vk2SqLwoVOj0fM6IPCCO6TaV9CvQvJMWwukFQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-format": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-parse": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", + "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-html": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-recma": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", + "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "hast-util-to-estree": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", + "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.0.tgz", + "integrity": "sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-directive": "^3.0.0", + "micromark-extension-directive": "^3.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.1.tgz", + "integrity": "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==", + "license": "MIT", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-smartypants": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.2.tgz", + "integrity": "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==", + "license": "MIT", + "dependencies": { + "retext": "^9.0.0", + "retext-smartypants": "^6.0.0", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/retext": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", + "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "retext-latin": "^4.0.0", + "retext-stringify": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz", + "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "parse-latin": "^7.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.2.0.tgz", + "integrity": "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz", + "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rollup": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.1.tgz", + "integrity": "sha512-VmtB2rFU/GroZ4oL8+ZqXgSA38O6GR8KSIvWmEFv63pQ0G6KaBH9s07PO8XTXP4vI+3UJUEypOfjkGfmSBBR0w==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.60.1", + "@rollup/rollup-android-arm64": "4.60.1", + "@rollup/rollup-darwin-arm64": "4.60.1", + "@rollup/rollup-darwin-x64": "4.60.1", + "@rollup/rollup-freebsd-arm64": "4.60.1", + "@rollup/rollup-freebsd-x64": "4.60.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.1", + "@rollup/rollup-linux-arm-musleabihf": "4.60.1", + "@rollup/rollup-linux-arm64-gnu": "4.60.1", + "@rollup/rollup-linux-arm64-musl": "4.60.1", + "@rollup/rollup-linux-loong64-gnu": "4.60.1", + "@rollup/rollup-linux-loong64-musl": "4.60.1", + "@rollup/rollup-linux-ppc64-gnu": "4.60.1", + "@rollup/rollup-linux-ppc64-musl": "4.60.1", + "@rollup/rollup-linux-riscv64-gnu": "4.60.1", + "@rollup/rollup-linux-riscv64-musl": "4.60.1", + "@rollup/rollup-linux-s390x-gnu": "4.60.1", + "@rollup/rollup-linux-x64-gnu": "4.60.1", + "@rollup/rollup-linux-x64-musl": "4.60.1", + "@rollup/rollup-openbsd-x64": "4.60.1", + "@rollup/rollup-openharmony-arm64": "4.60.1", + "@rollup/rollup-win32-arm64-msvc": "4.60.1", + "@rollup/rollup-win32-ia32-msvc": "4.60.1", + "@rollup/rollup-win32-x64-gnu": "4.60.1", + "@rollup/rollup-win32-x64-msvc": "4.60.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sax": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/secure-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", + "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", + "dev": true + }, + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz", + "integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.3", + "semver": "^7.6.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.33.5", + "@img/sharp-darwin-x64": "0.33.5", + "@img/sharp-libvips-darwin-arm64": "1.0.4", + "@img/sharp-libvips-darwin-x64": "1.0.4", + "@img/sharp-libvips-linux-arm": "1.0.5", + "@img/sharp-libvips-linux-arm64": "1.0.4", + "@img/sharp-libvips-linux-s390x": "1.0.4", + "@img/sharp-libvips-linux-x64": "1.0.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", + "@img/sharp-libvips-linuxmusl-x64": "1.0.4", + "@img/sharp-linux-arm": "0.33.5", + "@img/sharp-linux-arm64": "0.33.5", + "@img/sharp-linux-s390x": "0.33.5", + "@img/sharp-linux-x64": "0.33.5", + "@img/sharp-linuxmusl-arm64": "0.33.5", + "@img/sharp-linuxmusl-x64": "0.33.5", + "@img/sharp-wasm32": "0.33.5", + "@img/sharp-win32-ia32": "0.33.5", + "@img/sharp-win32-x64": "0.33.5" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shiki": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.23.0.tgz", + "integrity": "sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "3.23.0", + "@shikijs/engine-javascript": "3.23.0", + "@shikijs/engine-oniguruma": "3.23.0", + "@shikijs/langs": "3.23.0", + "@shikijs/themes": "3.23.0", + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/sitemap": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-8.0.3.tgz", + "integrity": "sha512-9Ew1tR2WYw8RGE2XLy7GjkusvYXy8Rg6y8TYuBuQMfIEdGcWoJpY2Wr5DzsEiL/TKCw56+YKTCCUHglorEYK+A==", + "license": "MIT", + "dependencies": { + "@types/node": "^17.0.5", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.4.1" + }, + "bin": { + "sitemap": "dist/cli.js" + }, + "engines": { + "node": ">=14.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/sitemap/node_modules/@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", + "license": "MIT" + }, + "node_modules/smol-toml": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.1.tgz", + "integrity": "sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 18" + }, + "funding": { + "url": "https://github.com/sponsors/cyyynthia" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stream-replace-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stream-replace-string/-/stream-replace-string-2.0.0.tgz", + "integrity": "sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==", + "license": "MIT" + }, + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/string-width-cjs/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==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/style-to-js": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", + "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", + "license": "MIT", + "dependencies": { + "style-to-object": "1.0.14" + } + }, + "node_modules/style-to-object": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", + "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.7" + } + }, + "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" + } + }, + "node_modules/svgo": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.1.tgz", + "integrity": "sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==", + "license": "MIT", + "dependencies": { + "commander": "^11.1.0", + "css-select": "^5.1.0", + "css-tree": "^3.0.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.1.1", + "sax": "^1.5.0" + }, + "bin": { + "svgo": "bin/svgo.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", + "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tsconfck": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", + "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", + "license": "MIT", + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD", + "optional": true + }, + "node_modules/type-fest": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.31.0.tgz", + "integrity": "sha512-yCxltHW07Nkhv/1F6wWBr8kz+5BGMfP+RbRSYFnegVb0qV/UMT0G0ElBloPVerqn4M2ZV80Ir1FtCcYv1cT6vQ==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", + "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz", + "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==", + "license": "MIT" + }, + "node_modules/ultrahtml": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.6.0.tgz", + "integrity": "sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==", + "license": "MIT" + }, + "node_modules/uncrypto": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "license": "MIT" + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unifont": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.7.4.tgz", + "integrity": "sha512-oHeis4/xl42HUIeHuNZRGEvxj5AaIKR+bHPNegRq5LV1gdc3jundpONbjglKpihmJf+dswygdMJn3eftGIMemg==", + "license": "MIT", + "dependencies": { + "css-tree": "^3.1.0", + "ofetch": "^1.5.1", + "ohash": "^2.0.11" + } + }, + "node_modules/union": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", + "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", + "dev": true, + "dependencies": { + "qs": "^6.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-modify-children": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz", + "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "array-iterate": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-children": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", + "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unstorage": { + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.4.tgz", + "integrity": "sha512-fHK0yNg38tBiJKp/Vgsq4j0JEsCmgqH58HAn707S7zGkArbZsVr/CwINoi+nh3h98BRCwKvx1K3Xg9u3VV83sw==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^5.0.0", + "destr": "^2.0.5", + "h3": "^1.15.5", + "lru-cache": "^11.2.0", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.3" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6 || ^7 || ^8", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1 || ^2 || ^3", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, + "node_modules/unstorage/node_modules/lru-cache": { + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", + "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "dev": 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==", + "license": "MIT" + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.2.tgz", + "integrity": "sha512-2N/55r4JDJ4gdrCvGgINMy+HH3iRpNIz8K6SFwVsA+JbQScLiC+clmAxBgwiSPgcG9U15QmvqCGWzMbqda5zGQ==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vitefu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.1.tgz", + "integrity": "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==", + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*", + "tests/projects/workspace/packages/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", + "dev": true, + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-pm-runs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", + "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", + "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", + "license": "MIT", + "dependencies": { + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/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==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/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==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/xxhash-wasm": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", + "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", + "license": "MIT" + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yocto-spinner": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/yocto-spinner/-/yocto-spinner-0.2.3.tgz", + "integrity": "sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==", + "license": "MIT", + "dependencies": { + "yoctocolors": "^2.1.1" + }, + "engines": { + "node": ">=18.19" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz", + "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.25.1", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz", + "integrity": "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==", + "license": "ISC", + "peerDependencies": { + "zod": "^3.25 || ^4" + } + }, + "node_modules/zod-to-ts": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zod-to-ts/-/zod-to-ts-1.2.0.tgz", + "integrity": "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==", + "peerDependencies": { + "typescript": "^4.9.4 || ^5.0.2", + "zod": "^3" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/sources/advanced-video-core-api-features/package.json b/sources/advanced-video-core-api-features/package.json new file mode 100644 index 00000000..a6b94ccc --- /dev/null +++ b/sources/advanced-video-core-api-features/package.json @@ -0,0 +1,29 @@ +{ + "name": "advanced-video-core-api-features", + "type": "module", + "version": "0.0.1", + "private": true, + "scripts": { + "dev": "node download-toolbar.js && astro dev", + "start": "node download-toolbar.js && astro dev", + "build": "astro build", + "preview": "astro preview", + "astro": "astro", + "start:tutorial": "http-server steps -p 1234 --cors -c-1", + "start:app": "cd project && npm start", + "setup-credentials": "cd project && npm run setup-credentials", + "postinstall": "cd project && npm install" + }, + "dependencies": { + "@astrojs/markdoc": "^0.15.10", + "@astrojs/starlight": "^0.37.6", + "@astrojs/starlight-markdoc": "^0.5.1", + "adm-zip": "^0.5.16", + "astro": "^5.18.0", + "astro-relative-links": "^0.4.2", + "sharp": "^0.33.0" + }, + "devDependencies": { + "http-server": "^14.1.1" + } +} diff --git a/sources/advanced-video-core-api-features/project/.env.example b/sources/advanced-video-core-api-features/project/.env.example new file mode 100644 index 00000000..17df0c7c --- /dev/null +++ b/sources/advanced-video-core-api-features/project/.env.example @@ -0,0 +1,6 @@ +VONAGE_API_KEY= +VONAGE_API_SECRET= +VONAGE_APPLICATION_ID= +VONAGE_PRIVATE_KEY64= +APP_URL=http://localhost:3000 +VIDEO_CALLBACK_URL=http://localhost:3000/callbacks/video diff --git a/sources/advanced-video-core-api-features/project/README.md b/sources/advanced-video-core-api-features/project/README.md new file mode 100644 index 00000000..70a9dc49 --- /dev/null +++ b/sources/advanced-video-core-api-features/project/README.md @@ -0,0 +1,15 @@ +# Advanced Video Core API Features Project + +This project runs the app and validation API for the Advanced Video Core API Features learning path. + +Run the app server: + +```sh +npm start +``` + +Configure Vonage credentials: + +```sh +npm run setup-credentials +``` diff --git a/sources/advanced-video-core-api-features/project/package-lock.json b/sources/advanced-video-core-api-features/project/package-lock.json new file mode 100644 index 00000000..0aa8fa38 --- /dev/null +++ b/sources/advanced-video-core-api-features/project/package-lock.json @@ -0,0 +1,1396 @@ +{ + "name": "advanced-video-core-api-features-project", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "advanced-video-core-api-features-project", + "version": "0.0.1", + "dependencies": { + "@vonage/server-sdk": "^3.0", + "@vonage/video": "^1.0", + "cors": "^2.8.5", + "express": "^4.21.2" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==" + }, + "node_modules/@types/node": { + "version": "25.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.9.1.tgz", + "integrity": "sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==", + "dependencies": { + "undici-types": ">=7.24.0 <7.24.7" + } + }, + "node_modules/@types/node-fetch": { + "version": "2.6.13", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.13.tgz", + "integrity": "sha512-QGpRVpzSaUs30JBSGPjOg4Uveu384erbHBoT1zeONvyCfwQxIkUshLAOqN/k9EjGviPRmWTTe6aH2qySWKTVSw==", + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.4" + } + }, + "node_modules/@vonage/accounts": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@vonage/accounts/-/accounts-1.20.0.tgz", + "integrity": "sha512-cCWoD8IjKmwYfsQcf5IhnPCvZ2uAlmgvy2CgjFjjxahZ+LuLvPaNLjE+P9cxe+TyiQBkfyvb91hOmlQP4PKIDg==", + "dependencies": { + "@vonage/server-client": "1.20.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/applications": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@vonage/applications/-/applications-1.20.0.tgz", + "integrity": "sha512-P7gkz1rJAMLCvLRHL1LXguMd8eEBUfkMQ5EWMvp4FLgF06hWrquoGGqOWRXxWC+jVdDC9YAGuxgyGY8eVvkb+A==", + "dependencies": { + "@vonage/server-client": "1.20.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/auth": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@vonage/auth/-/auth-1.15.0.tgz", + "integrity": "sha512-sRyHb2xvtTAzCsTThV2vsA/Z+mjgwkQqrqhAMmAUT5DbGr+VKChQk6FQmIcB11q0TXy/yUAv2oYKLT3bf/W/UA==", + "dependencies": { + "@vonage/jwt": "1.14.0", + "debug": "4.4.3" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/conversations": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@vonage/conversations/-/conversations-1.14.0.tgz", + "integrity": "sha512-QCYmLfPJcqKCP98ZI3BJwJSNVD77ACbcO707sS+slHrMJ5h+epM5rn8tHoDAO5LdK+FZFTDHMeD3vnjJ+wPQpA==", + "dependencies": { + "@vonage/messages": "1.24.0", + "@vonage/server-client": "1.20.0", + "@vonage/users": "1.14.0", + "@vonage/voice": "1.21.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/jwt": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@vonage/jwt/-/jwt-1.14.0.tgz", + "integrity": "sha512-7TuSjNy0jE86YeRMQYB5ZjR4hlr885IsPo0YapVeOQ1QiB3KeSHa8z1+0Y2575SWk7riN0FMYVNSYm3RBoVuZQ==", + "dependencies": { + "debug": "4.4.3", + "jsonwebtoken": "9.0.3", + "uuid": "13.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/messages": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/@vonage/messages/-/messages-1.24.0.tgz", + "integrity": "sha512-u9vKetu5dAwSlL/lzsOtUUFkhog8JH3jQ+k92haGCxaH1Dz2cTYTIH0rt/r6HQI1c3kzS9VhzWhhR+elulcfhA==", + "dependencies": { + "@vonage/server-client": "1.20.0", + "@vonage/vetch": "1.11.0", + "debug": "4.4.3" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/number-insights": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@vonage/number-insights/-/number-insights-1.20.0.tgz", + "integrity": "sha512-nAGeEy2eydiC66kyvQX/xI2ceShxGirDp1T97gGLb0s1Dk1CCWHsHI2ZL5wpuYEkD4Tog9dVtlALMroj9xepPA==", + "dependencies": { + "@vonage/auth": "1.15.0", + "@vonage/server-client": "1.20.0", + "@vonage/vetch": "1.11.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/numbers": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@vonage/numbers/-/numbers-1.22.0.tgz", + "integrity": "sha512-6ojpEPPOVDsAyhCe9gE37mr1qAAXndxXafun7kh/GPTpXtX/ESDfDizOV4GLIO0OGnHDfh4nsDBAfsBYCb7zeA==", + "dependencies": { + "@vonage/auth": "1.15.0", + "@vonage/server-client": "1.20.0", + "@vonage/vetch": "1.11.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/pricing": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@vonage/pricing/-/pricing-1.20.0.tgz", + "integrity": "sha512-Gr4ewJolxx4gzr3SW77tMAMtlrWny5DF3YtgfLmSqwCGOm0VQFJalLWpd/A6RPeGcUMtumNrkySv/Y1OgRYZ7Q==", + "dependencies": { + "@vonage/auth": "1.15.0", + "@vonage/server-client": "1.20.0", + "@vonage/vetch": "1.11.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/redact": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/@vonage/redact/-/redact-1.19.0.tgz", + "integrity": "sha512-qIKFFeWXTOXH8D1/qi3y35s2sdBrWHZoC1N+5HSjxTmA4mk2Rjz0ZkdIbSz9DB+O4QQQsHyi2UFoZYKtwAetkA==", + "dependencies": { + "@vonage/server-client": "1.20.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/server-client": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@vonage/server-client/-/server-client-1.20.0.tgz", + "integrity": "sha512-3V1dIvTBxRiPutPzb7XP702OrZExrpbCM3sIDYCM2lZXw4yojNvPWgcyvi1W4nkNkgKJm1rqJNAFDI1JNV6VRw==", + "dependencies": { + "@vonage/auth": "1.15.0", + "@vonage/vetch": "1.11.0", + "debug": "4.4.3", + "node-fetch": "3.3.2" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/server-sdk": { + "version": "3.27.0", + "resolved": "https://registry.npmjs.org/@vonage/server-sdk/-/server-sdk-3.27.0.tgz", + "integrity": "sha512-FeGrPyIghb9PdORXXAGI2I8+xWEOpNoA5L6/kSKzAxXFzHTjW25qOLuAUm8Gl+rWFPzIFOsYqgFEvVu2o5gK3w==", + "dependencies": { + "@vonage/accounts": "1.20.0", + "@vonage/applications": "1.20.0", + "@vonage/auth": "1.15.0", + "@vonage/conversations": "1.14.0", + "@vonage/messages": "1.24.0", + "@vonage/number-insights": "1.20.0", + "@vonage/numbers": "1.22.0", + "@vonage/pricing": "1.20.0", + "@vonage/redact": "1.19.0", + "@vonage/server-client": "1.20.0", + "@vonage/sms": "1.21.0", + "@vonage/users": "1.14.0", + "@vonage/verify": "1.20.0", + "@vonage/verify2": "1.19.0", + "@vonage/video": "1.28.0", + "@vonage/voice": "1.21.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/sms": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@vonage/sms/-/sms-1.21.0.tgz", + "integrity": "sha512-6g4Lf8882pN2qLmqWQQq/2zONpUcEf3y+W88Hm/I84kwmq3HcWL9ycB4WGBkT8Kk8BB7JYrJciJMALE2fUrphw==", + "dependencies": { + "@vonage/auth": "1.15.0", + "@vonage/server-client": "1.20.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/users": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@vonage/users/-/users-1.14.0.tgz", + "integrity": "sha512-CbYr7i8Wk+xJBqYqC5PR5XURjhuwKHegxvN044Q5gzs9x21xmyTXG2XpV3vHo8G/Y6mHt9ym70jFDpc0G3BH2g==", + "dependencies": { + "@vonage/server-client": "1.20.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/verify": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@vonage/verify/-/verify-1.20.0.tgz", + "integrity": "sha512-FsIDXWCME7S0ZGPKTqpKiuOsDCqIqVfQeLWEqilCbJ3kvqT18H8hKP0zCLz6IEtiAYZQQ+3maWQQ1Agddq0uvQ==", + "dependencies": { + "@vonage/auth": "1.15.0", + "@vonage/server-client": "1.20.0", + "@vonage/vetch": "1.11.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/verify2": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/@vonage/verify2/-/verify2-1.19.0.tgz", + "integrity": "sha512-W7Mrf89giGTgc08vF5iBTBx+Qik/13YehMM23LtEMaKZmBu/y079JT/LJEwcKypY4y3kgMyLDMFXh+o+0GH4Sg==", + "dependencies": { + "@vonage/server-client": "1.20.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/vetch": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@vonage/vetch/-/vetch-1.11.0.tgz", + "integrity": "sha512-yXLh6nKZZlddW/rg83uNnufBv1LyCdut2ItIsIy24M1l03HqhCIhUinXzcxE2mCn56uOJ7y4yl7OeAaf5nBJAA==", + "dependencies": { + "@types/node-fetch": "2.6.13", + "node-fetch": "3.3.2" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/video": { + "version": "1.28.0", + "resolved": "https://registry.npmjs.org/@vonage/video/-/video-1.28.0.tgz", + "integrity": "sha512-niN0Vif7ObS4GNv0jIX9U3he/009On+s1vfYn5kZlGe61MsTLKWXTZJMcv5HtSF+sLS+l9s5lD4uzkTcjD46Aw==", + "dependencies": { + "@vonage/auth": "1.15.0", + "@vonage/jwt": "1.14.0", + "@vonage/server-client": "1.20.0", + "@vonage/vetch": "1.11.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/voice": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@vonage/voice/-/voice-1.21.0.tgz", + "integrity": "sha512-RqmQifzvPWSXO1Jd1JZjis8ty5OD9d0hX2xQHB5r5cP9Hx4vVlX7aDgZsUNy7J5BTeTpNTgrfMFkeeNGYuRcpQ==", + "dependencies": { + "@types/debug": "4.1.12", + "@vonage/server-client": "1.20.0", + "@vonage/vetch": "1.11.0", + "debug": "4.4.3", + "ts-xor": "1.3.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/body-parser": { + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.5.tgz", + "integrity": "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.15.1", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==" + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.2.tgz", + "integrity": "sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.5", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.15.1", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", + "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", + "dependencies": { + "jws": "^4.0.1", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jwa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", + "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz", + "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", + "dependencies": { + "jwa": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "deprecated": "Use your platform's native DOMException instead", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.15.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", + "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/semver": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.2.tgz", + "integrity": "sha512-c8jsqUZm3omBOI66G90z1Dyw5z622G8oLG+omfsHBJf3CWQTlOcwOjvOG6wtiNfW6anKm/eA39LMwMtMez2TiQ==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/ts-xor": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-xor/-/ts-xor-1.3.0.tgz", + "integrity": "sha512-RLXVjliCzc1gfKQFLRpfeD0rrWmjnSTgj7+RFhoq3KRkUYa8LE/TIidYOzM5h+IdFBDSjjSgk9Lto9sdMfDFEA==" + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/undici-types": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.24.6.tgz", + "integrity": "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==" + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz", + "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist-node/bin/uuid" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "engines": { + "node": ">= 8" + } + } + } +} diff --git a/sources/advanced-video-core-api-features/project/package.json b/sources/advanced-video-core-api-features/project/package.json new file mode 100644 index 00000000..eee9efaa --- /dev/null +++ b/sources/advanced-video-core-api-features/project/package.json @@ -0,0 +1,16 @@ +{ + "name": "advanced-video-core-api-features-project", + "version": "0.0.1", + "private": true, + "type": "module", + "scripts": { + "start": "node --watch server.js", + "setup-credentials": "node setup-credentials.js" + }, + "dependencies": { + "@vonage/server-sdk": "^3.0", + "@vonage/video": "^1.0", + "cors": "^2.8.5", + "express": "^4.21.2" + } +} diff --git a/sources/advanced-video-core-api-features/project/public/app/app.js b/sources/advanced-video-core-api-features/project/public/app/app.js new file mode 100644 index 00000000..e4829038 --- /dev/null +++ b/sources/advanced-video-core-api-features/project/public/app/app.js @@ -0,0 +1,209 @@ +import { + getPublisherOptions, + getPublisherProfiles, + getRecordingLayoutPreview, + recordPublisherProfile, + registerDebugLogging, + setupArchivingControls, + setupSignalingChat, + setupSubscriberQuality +} from "/app/exercise-hooks.js"; + +const els = { + roomName: document.querySelector("#roomName"), + joinBtn: document.querySelector("#joinBtn"), + leaveBtn: document.querySelector("#leaveBtn"), + callStatus: document.querySelector("#callStatus"), + publisher: document.querySelector("#publisher"), + subscribers: document.querySelector("#subscribers"), + chatMessages: document.querySelector("#chatMessages"), + chatForm: document.querySelector("#chatForm"), + chatInput: document.querySelector("#chatInput"), + publisherProfile: document.querySelector("#publisherProfile"), + applyPublisherProfile: document.querySelector("#applyPublisherProfile"), + publisherStatus: document.querySelector("#publisherStatus"), + subscriberStatus: document.querySelector("#subscriberStatus"), + simulateDegraded: document.querySelector("#simulateDegraded"), + simulateRecovered: document.querySelector("#simulateRecovered"), + focusTarget: document.querySelector("#focusTarget"), + previewRecordingLayout: document.querySelector("#previewRecordingLayout"), + recordingStatus: document.querySelector("#recordingStatus"), + startArchive: document.querySelector("#startArchive"), + stopArchive: document.querySelector("#stopArchive"), + archiveStatus: document.querySelector("#archiveStatus"), + archiveLink: document.querySelector("#archiveLink") +}; + +let session; +let publisher; +let currentSessionId; +let latestArchiveId; +let isJoining = false; + +function setStatus(message) { + els.callStatus.textContent = message; +} + +async function postJson(url, body) { + const response = await fetch(url, { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(body) + }); + if (!response.ok) { + throw new Error(await response.text()); + } + return response.json(); +} + +function populatePublisherProfiles() { + const profiles = getPublisherProfiles(); + els.publisherProfile.innerHTML = ""; + for (const name of Object.keys(profiles)) { + const option = document.createElement("option"); + option.value = name; + option.textContent = name; + els.publisherProfile.append(option); + } + if (!els.publisherProfile.options.length) { + const option = document.createElement("option"); + option.value = "Balanced"; + option.textContent = "Balanced"; + els.publisherProfile.append(option); + } +} + +async function joinCall() { + if (isJoining || session) { + return; + } + + if (!window.OT) { + setStatus("Vonage Video Client Library did not load."); + return; + } + + isJoining = true; + els.joinBtn.disabled = true; + setStatus("Creating session..."); + try { + const room = els.roomName.value || "advanced-room"; + const credentials = await fetch(`/api/session?room=${encodeURIComponent(room)}`).then((res) => res.json()); + if (credentials.error) { + setStatus(`${credentials.error}: ${credentials.message}`); + return; + } + + currentSessionId = credentials.sessionId; + session = OT.initSession(credentials.applicationId, credentials.sessionId); + + session.on("streamCreated", (event) => { + const container = document.createElement("div"); + container.className = "ratio ratio-16x9 rounded overflow-hidden border bg-black flex-shrink-0"; + els.subscribers.append(container); + const subscriber = session.subscribe(event.stream, container, { + insertMode: "append", + width: "100%", + height: "100%" + }); + setupSubscriberQuality({ session, subscriber, elements: els, postJson }); + updateFocusTargets(); + }); + + session.on("streamDestroyed", updateFocusTargets); + registerDebugLogging({ session, elements: els, postJson, getSessionId: () => currentSessionId }); + setupSignalingChat({ session, elements: els, postJson }); + setupArchivingControls({ + session, + elements: els, + postJson, + getSessionId: () => currentSessionId, + getLatestArchiveId: () => latestArchiveId, + setLatestArchiveId: (id) => { latestArchiveId = id; } + }); + + await new Promise((resolve, reject) => { + session.connect(credentials.token, (error) => error ? reject(error) : resolve()); + }); + + const selectedProfile = els.publisherProfile.value || "Balanced"; + publisher = OT.initPublisher("publisher", getPublisherOptions(selectedProfile)); + await new Promise((resolve, reject) => { + session.publish(publisher, (error) => error ? reject(error) : resolve()); + }); + + els.leaveBtn.disabled = false; + setStatus(`Connected to ${room}.`); + updateFocusTargets(); + } catch (error) { + leaveCall(); + throw error; + } finally { + isJoining = false; + els.joinBtn.disabled = Boolean(session); + } +} + +function leaveCall(statusMessage) { + if (session) { + session.disconnect(); + } + session = null; + publisher = null; + currentSessionId = null; + els.publisher.innerHTML = ""; + els.subscribers.innerHTML = ""; + els.joinBtn.disabled = false; + els.leaveBtn.disabled = true; + if (statusMessage) { + setStatus(statusMessage); + } + updateFocusTargets(); +} + +function updateFocusTargets() { + els.focusTarget.innerHTML = ""; + const localOption = document.createElement("option"); + localOption.value = "publisher"; + localOption.textContent = "Local publisher"; + els.focusTarget.append(localOption); + + if (session?.streams) { + for (const stream of Object.values(session.streams)) { + const option = document.createElement("option"); + option.value = stream.streamId; + option.textContent = `Subscriber ${stream.streamId.slice(-6)}`; + els.focusTarget.append(option); + } + } +} + +els.joinBtn.addEventListener("click", () => joinCall().catch((error) => setStatus(error.message))); +els.leaveBtn.addEventListener("click", () => leaveCall("Disconnected.")); + +els.applyPublisherProfile.addEventListener("click", async () => { + if (!session || !publisher) { + els.publisherStatus.textContent = "Join the call first."; + return; + } + const profile = els.publisherProfile.value || "Balanced"; + session.unpublish(publisher); + els.publisher.innerHTML = ""; + publisher = OT.initPublisher("publisher", getPublisherOptions(profile)); + session.publish(publisher, async (error) => { + if (error) { + els.publisherStatus.textContent = error.message; + return; + } + await recordPublisherProfile(profile, postJson); + els.publisherStatus.textContent = `Applied ${profile}.`; + }); +}); + +els.previewRecordingLayout.addEventListener("click", async () => { + const preview = getRecordingLayoutPreview({ focusTarget: els.focusTarget.value }); + await postJson("/api/recordings/preview", preview); + els.recordingStatus.textContent = preview.focused ? `Preview ready with ${preview.streamClass}.` : "Layout preview is not implemented yet."; +}); + +populatePublisherProfiles(); diff --git a/sources/advanced-video-core-api-features/project/public/app/exercise-hooks.js b/sources/advanced-video-core-api-features/project/public/app/exercise-hooks.js new file mode 100644 index 00000000..a0f19ba5 --- /dev/null +++ b/sources/advanced-video-core-api-features/project/public/app/exercise-hooks.js @@ -0,0 +1,34 @@ +export function registerDebugLogging() { + // TODO(debug-timeline): replace this function with the code from the guide. +} + +export function setupSignalingChat() { + // TODO(signaling-chat): replace this function with the code from the guide. +} + +export function getPublisherProfiles() { + // TODO(publisher-tuning): replace this function with the code from the guide. + return {}; +} + +export function getPublisherOptions(_profileName) { + // TODO(publisher-tuning): replace this function with the code from the guide. + return { insertMode: "append", width: "100%", height: "100%" }; +} + +export async function recordPublisherProfile() { + // TODO(publisher-tuning): replace this function with the code from the guide. +} + +export function setupSubscriberQuality() { + // TODO(subscriber-quality): replace this function with the code from the guide. +} + +export function getRecordingLayoutPreview() { + // TODO(recording-layout): replace this function with the code from the guide. + return { layout: null, streamClass: null, focused: false }; +} + +export function setupArchivingControls() { + // TODO(archiving): replace this function with the code from the guide. +} diff --git a/sources/advanced-video-core-api-features/project/public/app/index.html b/sources/advanced-video-core-api-features/project/public/app/index.html new file mode 100644 index 00000000..44e3cbe6 --- /dev/null +++ b/sources/advanced-video-core-api-features/project/public/app/index.html @@ -0,0 +1,155 @@ + + + + + + Advanced Video App + + + + +
+
+
+
+

Back to guide

+

Advanced Video App

+

Use this app while you follow the local guide.

+
+
+ +
+
+

Call

+
+
+ + +
+
+ +
+
+ +
+
+

Not connected.

+ +
+
+
+
+

You

+
+
+
+
+
+
+
+

Subscribers

+
+
+
+
+
+
+
+
+
+ +
+
+
+
+

Debug timeline

+ Open debug timeline JSON +
+
+
+ +
+
+
+

Signaling chat

+
+
+
+ +
+
+ +
+
+
+
+
+ +
+
+
+

Publisher tuning

+
+
+ + +
+
+ +
+
+

No profile applied.

+
+
+
+ +
+
+
+

Subscriber quality

+

Subscriber status: not connected.

+
+ + +
+
+
+
+ +
+
+
+

Recording layout

+
+
+ + +
+
+ +
+
+

No recording preview yet.

+
+
+
+ +
+
+
+

Archiving

+
+ + +
+

No archive started.

+ +
+
+
+
+
+
+ + + diff --git a/sources/advanced-video-core-api-features/project/server.js b/sources/advanced-video-core-api-features/project/server.js new file mode 100644 index 00000000..a95db2dc --- /dev/null +++ b/sources/advanced-video-core-api-features/project/server.js @@ -0,0 +1,192 @@ +import { spawnSync } from "node:child_process"; +import fs from "node:fs"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; +import cors from "cors"; +import express from "express"; +import { registerRoutes } from "./src/advanced-video-routes.js"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const PORT = Number(process.env.PORT || process.env.NERU_APP_PORT || 3000); +const GUIDE_PORT = 1234; +const ENV_PATH = path.join(__dirname, ".env"); + +const config = { + id: "advanced-video-core-api-features", + title: "Advanced Video Core API Features", + serverName: "advanced-video", + defaultRoom: "advanced-room" +}; + +const runtime = createRuntime(); +const app = express(); + +app.use(cors()); +app.use(express.json({ limit: "1mb" })); +app.use(express.urlencoded({ extended: false })); + +app.get("/", (_req, res) => { + res.redirect("/app/"); +}); + +app.get(["/guide", "/guide/"], (_req, res) => { + res.redirect(runtime.workspaceStatus().guideUrl); +}); + +app.get("/workspace/status", (_req, res) => { + res.json(runtime.workspaceStatus()); +}); + +registerRoutes({ + app, + config, + exerciseDir: __dirname, + runtime +}); + +app.use("/app", express.static(path.join(__dirname, "public/app"))); + +makeCodespacePortPublic(PORT); + +const server = app.listen(PORT, "0.0.0.0", () => { + console.log(`${config.title} app: ${runtime.getAppUrl()}/app/`); + console.log(`Learning Center validation URL: ${runtime.getAppUrl()}`); + console.log("Server is running. Leave this terminal open."); +}); + +server.on("error", (error) => { + if (error.code === "EADDRINUSE") { + console.log(`Port ${PORT} is already in use. Keep using the running app, or stop it before restarting.`); + process.exit(0); + } + throw error; +}); + +function createRuntime() { + let envMtimeMs = null; + + function reloadRuntimeEnv() { + try { + const stat = fs.statSync(ENV_PATH); + if (envMtimeMs === stat.mtimeMs) { + return; + } + + const parsed = parseEnvFile(fs.readFileSync(ENV_PATH, "utf8")); + for (const [key, value] of Object.entries(parsed)) { + process.env[key] = value; + } + envMtimeMs = stat.mtimeMs; + } catch (error) { + if (error.code !== "ENOENT") { + console.error("Failed to reload .env:", error.message); + } + } + } + + function getEnv(name) { + reloadRuntimeEnv(); + return process.env[name]; + } + + function readPrivateKey() { + const privateKey64 = getEnv("VONAGE_PRIVATE_KEY64"); + if (privateKey64) { + return Buffer.from(privateKey64, "base64").toString("utf8"); + } + + const privateKey = getEnv("VONAGE_PRIVATE_KEY"); + if (privateKey) { + return privateKey.replace(/\\n/g, "\n"); + } + + return null; + } + + function getAppUrl() { + const configured = getEnv("APP_URL"); + if (configured) { + return configured.replace(/\/$/, ""); + } + return getPortUrl(PORT); + } + + function workspaceStatus() { + const configured = Boolean(getEnv("VONAGE_APPLICATION_ID") && readPrivateKey()); + return { + server: config.serverName, + configured, + appUrl: getAppUrl(), + guideUrl: getPortUrl(GUIDE_PORT), + missing_credentials: !configured + }; + } + + return { + envPath: ENV_PATH, + getAppUrl, + getEnv, + readPrivateKey, + reloadRuntimeEnv, + workspaceStatus + }; +} + +function getPortUrl(port) { + if (process.env.CODESPACE_NAME) { + return `https://${process.env.CODESPACE_NAME}-${port}.app.github.dev`; + } + return `http://localhost:${port}`; +} + +function parseEnvFile(content) { + const result = {}; + + for (const line of content.split(/\r?\n/)) { + const trimmed = line.trim(); + if (!trimmed || trimmed.startsWith("#")) { + continue; + } + + const equalsIndex = trimmed.indexOf("="); + if (equalsIndex === -1) { + continue; + } + + const key = trimmed.slice(0, equalsIndex).trim(); + const rawValue = trimmed.slice(equalsIndex + 1).trim(); + result[key] = unquoteEnvValue(rawValue); + } + + return result; +} + +function unquoteEnvValue(value) { + if ( + (value.startsWith('"') && value.endsWith('"')) || + (value.startsWith("'") && value.endsWith("'")) + ) { + const unquoted = value.slice(1, -1); + return value.startsWith('"') + ? unquoted.replace(/\\"/g, '"').replace(/\\\\/g, "\\") + : unquoted; + } + + return value; +} + +function makeCodespacePortPublic(portToExpose) { + if (!process.env.CODESPACE_NAME) { + return; + } + + spawnSync("gh", [ + "codespace", + "ports", + "visibility", + `${portToExpose}:public`, + "-c", + process.env.CODESPACE_NAME + ], { stdio: "ignore" }); +} diff --git a/sources/advanced-video-core-api-features/project/setup-credentials.js b/sources/advanced-video-core-api-features/project/setup-credentials.js new file mode 100644 index 00000000..cc45884a --- /dev/null +++ b/sources/advanced-video-core-api-features/project/setup-credentials.js @@ -0,0 +1,103 @@ +import fs from "node:fs/promises"; +import path from "node:path"; +import readline from "node:readline/promises"; +import { stdin as input, stdout as output } from "node:process"; +import { fileURLToPath } from "node:url"; +import { Vonage } from "@vonage/server-sdk"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const PORT = Number(process.env.PORT || process.env.NERU_APP_PORT || 3000); +const ENV_PATH = path.join(__dirname, ".env"); + +const rl = readline.createInterface({ input, output }); + +try { + console.log("Vonage Advanced Video setup"); + console.log("This stores credentials in the local .env file for this Codespace."); + console.log("Find your account API key and account API secret at https://dashboard.vonage.com/settings"); + console.log("Do not paste an Application ID, private key, JWT secret, or signature secret here."); + console.log("Setup will create a new Vonage Video application in your dashboard automatically."); + console.log(""); + + const apiKey = await prompt("Vonage account API key", process.env.VONAGE_API_KEY); + const apiSecret = await prompt("Vonage account API secret", process.env.VONAGE_API_SECRET); + + if (!apiKey || !apiSecret) { + throw new Error("API key and API secret are required."); + } + + const appUrl = getAppUrl(); + const callbackUrl = `${appUrl}/callbacks/video`; + const applicationName = `Advanced Video Exercises - ${process.env.CODESPACE_NAME || "local"}`; + const vonage = new Vonage({ apiKey, apiSecret }); + + console.log(""); + console.log(`Creating a new Vonage Video application: ${applicationName}`); + const application = await vonage.applications.createApplication({ + name: applicationName, + capabilities: { + rtc: { + webhooks: { + event_url: { + address: callbackUrl, + http_method: "POST" + } + } + } + } + }); + + const privateKey = application.keys.private_key; + if (!application.id || !privateKey) { + throw new Error("Vonage did not return an application ID and private key."); + } + + await writeEnvFile({ + VONAGE_API_KEY: apiKey, + VONAGE_API_SECRET: apiSecret, + VONAGE_APPLICATION_ID: application.id, + VONAGE_PRIVATE_KEY64: Buffer.from(privateKey, "utf8").toString("base64"), + APP_URL: appUrl, + VIDEO_CALLBACK_URL: callbackUrl + }); + + console.log(""); + console.log("Setup complete"); + console.log(`Application URL: ${appUrl}`); + console.log(`Video callback URL: ${callbackUrl}`); +} finally { + rl.close(); +} + +async function prompt(label, existingValue) { + if (existingValue) { + return existingValue.trim(); + } + + return (await rl.question(`${label}: `)).trim(); +} + +function getAppUrl() { + if (process.env.APP_URL) { + return process.env.APP_URL.replace(/\/$/, ""); + } + + if (process.env.CODESPACE_NAME) { + return `https://${process.env.CODESPACE_NAME}-${PORT}.app.github.dev`; + } + + return `http://localhost:${PORT}`; +} + +async function writeEnvFile(values) { + const env = Object.entries(values) + .map(([key, value]) => `${key}="${quoteEnvValue(value)}"`) + .join("\n"); + + await fs.writeFile(ENV_PATH, `${env}\n`, "utf8"); +} + +function quoteEnvValue(value) { + return String(value || "").replace(/\\/g, "\\\\").replace(/"/g, "\\\""); +} diff --git a/sources/advanced-video-core-api-features/project/src/advanced-video-routes.js b/sources/advanced-video-core-api-features/project/src/advanced-video-routes.js new file mode 100644 index 00000000..8645cf5e --- /dev/null +++ b/sources/advanced-video-core-api-features/project/src/advanced-video-routes.js @@ -0,0 +1,146 @@ +import { Video } from "@vonage/video"; +import { state, rememberRoomSession } from "./advanced-video-state.js"; +import { + getArchiveViewUrl, + recordClientDebugEvent, + recordLayoutPreview, + recordPublisherDiagnostics, + recordSignalActivity, + recordSubscriberState, + recordVideoCallback, + startArchive, + stopArchive +} from "./advanced-video-server-hooks.js"; + +export function registerRoutes({ app, config, runtime }) { + const defaultRoom = config.defaultRoom || "advanced-room"; + + function getVideoClient() { + const applicationId = runtime.getEnv("VONAGE_APPLICATION_ID"); + const privateKey = runtime.readPrivateKey(); + + if (!applicationId || !privateKey) { + return null; + } + + return new Video({ applicationId, privateKey }); + } + + app.get("/api/session", async (req, res) => { + const video = getVideoClient(); + if (!video) { + res.status(503).json({ error: "missing_credentials", message: "Run npm run setup-credentials first." }); + return; + } + + const roomName = String(req.query.room || defaultRoom); + let sessionId = state.rooms.get(roomName); + + try { + if (!sessionId) { + const session = await video.createSession({ mediaMode: "routed" }); + sessionId = session.sessionId; + rememberRoomSession(roomName, sessionId); + } + + const token = video.generateClientToken(sessionId, { role: "moderator" }); + res.json({ + applicationId: runtime.getEnv("VONAGE_APPLICATION_ID"), + sessionId, + token, + roomName + }); + } catch (error) { + res.status(500).json({ error: "session_create_failed", message: error.message }); + } + }); + + app.post("/callbacks/video", (req, res) => { + try { + recordVideoCallback(req.body); + } catch (error) { + console.error("Video callback handler failed:", error.message); + } + res.sendStatus(204); + }); + + app.post("/api/debug/client-event", (req, res) => { + recordClientDebugEvent(req.body); + res.json({ ok: true }); + }); + + app.get("/debug/timeline", (_req, res) => { + res.json({ timeline: state.debugTimeline }); + }); + + app.post("/api/activity", (req, res) => { + recordSignalActivity(req.body); + res.json({ ok: true }); + }); + + app.get("/activity/recent", (_req, res) => { + res.json({ messages: state.activityMessages }); + }); + + app.post("/api/diagnostics/publisher", (req, res) => { + recordPublisherDiagnostics(req.body); + res.json({ ok: true }); + }); + + app.get("/diagnostics/publisher", (_req, res) => { + res.json(state.publisherDiagnostics); + }); + + app.post("/api/diagnostics/subscriber", (req, res) => { + recordSubscriberState(req.body); + res.json({ ok: true }); + }); + + app.get("/diagnostics/subscriber", (_req, res) => { + res.json(state.subscriberDiagnostics); + }); + + app.post("/api/recordings/preview", (req, res) => { + recordLayoutPreview(req.body); + res.json({ ok: true, recording: state.recording }); + }); + + app.get("/recordings/latest", (_req, res) => { + res.json(state.recording); + }); + + app.post("/archive/start", async (req, res) => { + try { + const archive = await startArchive({ video: getVideoClient(), body: req.body, state }); + res.json(archive); + } catch (error) { + res.status(501).json({ error: "archive_start_not_ready", message: error.message }); + } + }); + + app.post("/archive/:archiveId/stop", async (req, res) => { + try { + const archive = await stopArchive({ video: getVideoClient(), archiveId: req.params.archiveId, state }); + res.json(archive); + } catch (error) { + res.status(501).json({ error: "archive_stop_not_ready", message: error.message }); + } + }); + + app.get("/archive/:archiveId/view", async (req, res) => { + try { + const url = await getArchiveViewUrl({ video: getVideoClient(), archiveId: req.params.archiveId, state }); + if (url) { + res.redirect(url); + return; + } + res.type("html").send("

Archive is still processing. Try again in a moment.

"); + } catch (error) { + res.status(501).json({ error: "archive_view_not_ready", message: error.message }); + } + }); + + app.get("/archive/latest", (_req, res) => { + res.json(state.latestArchive); + }); +} diff --git a/sources/advanced-video-core-api-features/project/src/advanced-video-server-hooks.js b/sources/advanced-video-core-api-features/project/src/advanced-video-server-hooks.js new file mode 100644 index 00000000..231a31d8 --- /dev/null +++ b/sources/advanced-video-core-api-features/project/src/advanced-video-server-hooks.js @@ -0,0 +1,64 @@ +import { pushLimited, state, findRoomForSession } from "./advanced-video-state.js"; + +export function recordClientDebugEvent(_event) { + // TODO(debug-timeline): replace this function with the code from the guide. +} + +export function recordVideoCallback(_payload) { + // TODO(debug-timeline): replace this function with the code from the guide. +} + +export function recordSignalActivity(message) { + pushLimited(state.activityMessages, { + type: message.type, + data: message.data, + roomWide: message.roomWide === true, + from: message.from || "participant" + }); +} + +export function recordPublisherDiagnostics(diagnostics) { + state.publisherDiagnostics = { + profile: diagnostics.profile || "Unknown", + applied: diagnostics.applied === true, + settings: diagnostics.settings || {}, + updatedAt: new Date().toISOString() + }; +} + +export function recordSubscriberState(entry) { + pushLimited(state.subscriberDiagnostics.history, { + state: entry.state, + recovered: entry.recovered === true, + reason: entry.reason || null + }); +} + +export function recordLayoutPreview(preview) { + state.recording = { + layout: preview.layout || null, + streamClass: preview.streamClass || null, + focused: preview.focused === true, + previewUrl: preview.previewUrl || "/app/", + updatedAt: new Date().toISOString() + }; +} + +export async function startArchive() { + // TODO(archiving): replace this function with the code from the guide. + throw new Error("TODO_NOT_IMPLEMENTED_ARCHIVING_START"); +} + +export async function stopArchive() { + // TODO(archiving): replace this function with the code from the guide. + throw new Error("TODO_NOT_IMPLEMENTED_ARCHIVING_STOP"); +} + +export async function getArchiveViewUrl() { + // TODO(archiving): replace this function with the code from the guide. + throw new Error("TODO_NOT_IMPLEMENTED_ARCHIVING_VIEW"); +} + +export function archiveNameForSession(sessionId) { + return findRoomForSession(sessionId); +} diff --git a/sources/advanced-video-core-api-features/project/src/advanced-video-state.js b/sources/advanced-video-core-api-features/project/src/advanced-video-state.js new file mode 100644 index 00000000..33ce17b0 --- /dev/null +++ b/sources/advanced-video-core-api-features/project/src/advanced-video-state.js @@ -0,0 +1,48 @@ +const MAX_ITEMS = 50; + +export const state = { + rooms: new Map(), + debugTimeline: [], + activityMessages: [], + publisherDiagnostics: { + profile: "Balanced", + applied: false, + settings: {} + }, + subscriberDiagnostics: { + history: [] + }, + recording: { + layout: null, + streamClass: null, + focused: false, + previewUrl: null, + updatedAt: null + }, + latestArchive: { + archiveId: null, + state: "idle", + viewUrl: null, + updatedAt: null + } +}; + +export function pushLimited(list, item) { + list.push({ ...item, at: new Date().toISOString() }); + if (list.length > MAX_ITEMS) { + list.splice(0, list.length - MAX_ITEMS); + } +} + +export function rememberRoomSession(roomName, sessionId) { + state.rooms.set(roomName, sessionId); +} + +export function findRoomForSession(sessionId) { + for (const [roomName, value] of state.rooms.entries()) { + if (value === sessionId) { + return roomName; + } + } + return "advanced-room"; +} diff --git a/sources/advanced-video-core-api-features/public/favicon.ico b/sources/advanced-video-core-api-features/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..8df448e238188a30dd66c444a3550f068b63e8ac GIT binary patch literal 15086 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 This is the same shared workspace for every exercise in the Advanced path. diff --git a/sources/advanced-video-core-api-features/src/content/docs/02-configure-your-vonage-credentials.md b/sources/advanced-video-core-api-features/src/content/docs/02-configure-your-vonage-credentials.md new file mode 100644 index 00000000..d06717c9 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/02-configure-your-vonage-credentials.md @@ -0,0 +1,25 @@ +--- +title: "Configure your Vonage credentials" +description: "Workspace setup" +--- + +# Configure your Vonage credentials + +Open a new terminal in the Codespace, then run: + +```sh +npm run setup-credentials +``` + +When the terminal asks, paste your Vonage account API key and account API secret from the Vonage dashboard settings. + +The script creates a new Vonage Video application in your account automatically. +You do not need to create one manually. +It will appear in your Vonage Dashboard under Applications with a name like `Advanced Video Exercises - `. +You can manage applications there later; they hold the Video configuration, callback URL, application ID, and private key used by this Codespace. +If you created it only for this tutorial, you can delete it from the dashboard after you finish the guide. + +The setup should finish with `Setup complete`. +It saves `.env` and prepares the Video application configuration for this Codespace. + +> You only do this once for the whole Advanced path. diff --git a/sources/advanced-video-core-api-features/src/content/docs/03-validate-setup-in-learning-center.md b/sources/advanced-video-core-api-features/src/content/docs/03-validate-setup-in-learning-center.md new file mode 100644 index 00000000..899b9fe7 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/03-validate-setup-in-learning-center.md @@ -0,0 +1,67 @@ +--- +title: "Validate setup in Learning Center" +description: "Workspace setup" +--- + +# Validate setup in Learning Center + +You have finished the workspace setup in the Codespace. + +**Copy this App URL** and paste it into the setup exercise in Learning Center. + +
+ + + +
+ + + +This URL uses the app and validation port `3000`. The guide itself runs on port `1234`. + +Then validate the setup exercise there. +**Continue the tutorial** in Learning Center until it asks you to start the Debug timeline exercise. + +Then return to this guide and press Next. + +> Learning Center is still the source of completion. This guide only helps you do the work inside Codespaces. diff --git a/sources/advanced-video-core-api-features/src/content/docs/04-open-the-client-hooks-file.md b/sources/advanced-video-core-api-features/src/content/docs/04-open-the-client-hooks-file.md new file mode 100644 index 00000000..1651761c --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/04-open-the-client-hooks-file.md @@ -0,0 +1,14 @@ +--- +title: "Open the client hooks file" +description: "Debug timeline" +--- + +# Open the client hooks file + +In the Codespace editor, open: + +```text +public/app/exercise-hooks.js +``` + +Find the empty `registerDebugLogging` function. diff --git a/sources/advanced-video-core-api-features/src/content/docs/05-add-the-browser-event-logger.md b/sources/advanced-video-core-api-features/src/content/docs/05-add-the-browser-event-logger.md new file mode 100644 index 00000000..24b049e0 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/05-add-the-browser-event-logger.md @@ -0,0 +1,27 @@ +--- +title: "Add the browser event logger" +description: "Debug timeline" +--- + +# Add the browser event logger + +Replace `registerDebugLogging` with this snippet: + +```js +export function registerDebugLogging({ session, postJson, getSessionId }) { + const send = (type, detail = {}) => postJson("/api/debug/client-event", { + type, + sessionId: getSessionId(), + detail + }).catch(console.error); + + session.on("sessionConnected", () => send("clientSessionConnected")); + session.on("streamCreated", (event) => send("clientStreamCreated", { streamId: event.stream.streamId })); + session.on("streamDestroyed", (event) => send("clientStreamDestroyed", { streamId: event.stream.streamId })); + session.on("sessionDisconnected", () => send("clientSessionDisconnected")); +} +``` + +Save the file. + +> This adds browser lifecycle events such as connect, stream created, stream destroyed, and disconnect. diff --git a/sources/advanced-video-core-api-features/src/content/docs/06-open-the-server-hooks-file.md b/sources/advanced-video-core-api-features/src/content/docs/06-open-the-server-hooks-file.md new file mode 100644 index 00000000..1c512e02 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/06-open-the-server-hooks-file.md @@ -0,0 +1,14 @@ +--- +title: "Open the server hooks file" +description: "Debug timeline" +--- + +# Open the server hooks file + +In the Codespace editor, open: + +```text +src/advanced-video-server-hooks.js +``` + +Find `recordClientDebugEvent` and `recordVideoCallback`. diff --git a/sources/advanced-video-core-api-features/src/content/docs/07-add-the-server-callback-logger.md b/sources/advanced-video-core-api-features/src/content/docs/07-add-the-server-callback-logger.md new file mode 100644 index 00000000..65d2d99b --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/07-add-the-server-callback-logger.md @@ -0,0 +1,32 @@ +--- +title: "Add the server callback logger" +description: "Debug timeline" +--- + +# Add the server callback logger + +Replace `recordClientDebugEvent` and `recordVideoCallback` with this snippet: + +```js +export function recordClientDebugEvent(event) { + pushLimited(state.debugTimeline, { + source: "client", + type: event.type, + sessionId: event.sessionId || null, + detail: event.detail || {} + }); +} + +export function recordVideoCallback(payload) { + pushLimited(state.debugTimeline, { + source: "callback", + type: payload.event || payload.type || "videoCallback", + sessionId: payload.sessionId || payload.session_id || null, + detail: payload + }); +} +``` + +Save the file. + +> This connects browser events and Video callback events into one timeline. diff --git a/sources/advanced-video-core-api-features/src/content/docs/08-join-from-two-browser-windows.md b/sources/advanced-video-core-api-features/src/content/docs/08-join-from-two-browser-windows.md new file mode 100644 index 00000000..e422ba43 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/08-join-from-two-browser-windows.md @@ -0,0 +1,12 @@ +--- +title: "Join from two browser windows" +description: "Debug timeline" +--- + +# Join from two browser windows + +Open the application preview in two browser windows. + +Use the same room name in both windows and click `Join call` in each one. + +Wait until both participants are visible. diff --git a/sources/advanced-video-core-api-features/src/content/docs/09-leave-the-call.md b/sources/advanced-video-core-api-features/src/content/docs/09-leave-the-call.md new file mode 100644 index 00000000..6e180f07 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/09-leave-the-call.md @@ -0,0 +1,12 @@ +--- +title: "Leave the call" +description: "Debug timeline" +--- + +# Leave the call + +Click `Leave call` in one browser window. + +Then click `Leave call` in the second browser window. + +This creates disconnect and stream destroyed events for the timeline. diff --git a/sources/advanced-video-core-api-features/src/content/docs/10-open-the-timeline-output.md b/sources/advanced-video-core-api-features/src/content/docs/10-open-the-timeline-output.md new file mode 100644 index 00000000..3166f09f --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/10-open-the-timeline-output.md @@ -0,0 +1,14 @@ +--- +title: "Open the timeline output" +description: "Debug timeline" +--- + +# Open the timeline output + +Open the debug timeline link in the app, or open this path on the same preview: + +```text +/debug/timeline +``` + +You should see recent client and callback events for the same session ID. diff --git a/sources/advanced-video-core-api-features/src/content/docs/11-validate-debug-timeline.md b/sources/advanced-video-core-api-features/src/content/docs/11-validate-debug-timeline.md new file mode 100644 index 00000000..8c15ffd7 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/11-validate-debug-timeline.md @@ -0,0 +1,14 @@ +--- +title: "Validate debug timeline" +description: "Debug timeline" +--- + +# Validate debug timeline + +You have finished the Debug timeline work in Codespaces. + +**Go back to Learning Center** and validate the Debug timeline exercise. Continue the tutorial there until it asks you to start Signaling chat. + +Then return to this guide and press Next. + +> Validation checks the real timeline output created by your app, not a separate fake validator. diff --git a/sources/advanced-video-core-api-features/src/content/docs/12-open-the-client-hooks-file.md b/sources/advanced-video-core-api-features/src/content/docs/12-open-the-client-hooks-file.md new file mode 100644 index 00000000..4b11ab9c --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/12-open-the-client-hooks-file.md @@ -0,0 +1,14 @@ +--- +title: "Open the client hooks file" +description: "Signaling chat" +--- + +# Open the client hooks file + +In the Codespace editor, open: + +```text +public/app/exercise-hooks.js +``` + +Find the empty `setupSignalingChat` function. diff --git a/sources/advanced-video-core-api-features/src/content/docs/13-add-room-wide-chat-signaling.md b/sources/advanced-video-core-api-features/src/content/docs/13-add-room-wide-chat-signaling.md new file mode 100644 index 00000000..16d6521a --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/13-add-room-wide-chat-signaling.md @@ -0,0 +1,40 @@ +--- +title: "Add room-wide chat signaling" +description: "Signaling chat" +--- + +# Add room-wide chat signaling + +Replace `setupSignalingChat` with this snippet: + +```js +export function setupSignalingChat({ session, elements, postJson }) { + const render = (from, text) => { + const line = document.createElement("p"); + line.textContent = `${from}: ${text}`; + elements.chatMessages.append(line); + }; + + session.on("signal:msg", (event) => { + render(event.from.connectionId === session.connection.connectionId ? "Me" : "Peer", event.data); + postJson("/api/activity", { + type: "signal:msg", + data: event.data, + roomWide: true, + from: event.from.connectionId + }).catch(console.error); + }); + + elements.chatForm.addEventListener("submit", (event) => { + event.preventDefault(); + const data = elements.chatInput.value.trim(); + if (!data) return; + session.signal({ type: "msg", data }); + elements.chatInput.value = ""; + }); +} +``` + +Save the file. + +> This follows the signaling lesson: use Video API signals to send small room-wide messages. diff --git a/sources/advanced-video-core-api-features/src/content/docs/14-reload-the-app-windows.md b/sources/advanced-video-core-api-features/src/content/docs/14-reload-the-app-windows.md new file mode 100644 index 00000000..0a504133 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/14-reload-the-app-windows.md @@ -0,0 +1,12 @@ +--- +title: "Reload the app windows" +description: "Signaling chat" +--- + +# Reload the app windows + +Reload `/app` in two browser windows. + +Join the same room in both windows. + +The chat box is already in the prepared HTML, so you only need to test the signaling behavior. diff --git a/sources/advanced-video-core-api-features/src/content/docs/15-send-the-first-message.md b/sources/advanced-video-core-api-features/src/content/docs/15-send-the-first-message.md new file mode 100644 index 00000000..5ad5f6d6 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/15-send-the-first-message.md @@ -0,0 +1,12 @@ +--- +title: "Send the first message" +description: "Signaling chat" +--- + +# Send the first message + +In the first browser window, type a short message in the chat input. + +Click `Send`. + +The message should appear in the chat area. diff --git a/sources/advanced-video-core-api-features/src/content/docs/16-send-the-second-message.md b/sources/advanced-video-core-api-features/src/content/docs/16-send-the-second-message.md new file mode 100644 index 00000000..427835f7 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/16-send-the-second-message.md @@ -0,0 +1,10 @@ +--- +title: "Send the second message" +description: "Signaling chat" +--- + +# Send the second message + +In the second browser window, type a different short message. + +Click `Send`. diff --git a/sources/advanced-video-core-api-features/src/content/docs/17-check-both-message-views.md b/sources/advanced-video-core-api-features/src/content/docs/17-check-both-message-views.md new file mode 100644 index 00000000..c9afeda4 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/17-check-both-message-views.md @@ -0,0 +1,12 @@ +--- +title: "Check both message views" +description: "Signaling chat" +--- + +# Check both message views + +Look at both browser windows. + +Each window should show both messages once. + +> This exercise validates room-wide `signal:msg`, not private or targeted signaling. diff --git a/sources/advanced-video-core-api-features/src/content/docs/18-validate-signaling-chat.md b/sources/advanced-video-core-api-features/src/content/docs/18-validate-signaling-chat.md new file mode 100644 index 00000000..ec5dc381 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/18-validate-signaling-chat.md @@ -0,0 +1,14 @@ +--- +title: "Validate signaling chat" +description: "Signaling chat" +--- + +# Validate signaling chat + +You have finished the Signaling chat work in Codespaces. + +**Go back to Learning Center** and validate the Signaling chat exercise. Continue the tutorial there until it asks you to start Publisher tuning. + +Then return to this guide and press Next. + +> Validation checks for room-wide `signal:msg` activity created by your app. diff --git a/sources/advanced-video-core-api-features/src/content/docs/19-open-the-client-hooks-file.md b/sources/advanced-video-core-api-features/src/content/docs/19-open-the-client-hooks-file.md new file mode 100644 index 00000000..392a5c5f --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/19-open-the-client-hooks-file.md @@ -0,0 +1,14 @@ +--- +title: "Open the client hooks file" +description: "Publisher tuning" +--- + +# Open the client hooks file + +In the Codespace editor, open: + +```text +public/app/exercise-hooks.js +``` + +Find `getPublisherProfiles`, `getPublisherOptions`, and `recordPublisherProfile`. diff --git a/sources/advanced-video-core-api-features/src/content/docs/20-add-publisher-profiles.md b/sources/advanced-video-core-api-features/src/content/docs/20-add-publisher-profiles.md new file mode 100644 index 00000000..db0f3760 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/20-add-publisher-profiles.md @@ -0,0 +1,56 @@ +--- +title: "Add publisher profiles" +description: "Publisher tuning" +--- + +# Add publisher profiles + +Replace the publisher tuning functions with this snippet: + +```js +const profiles = { + Balanced: { + width: "100%", + height: "100%", + resolution: "640x480", + frameRate: 30, + maxBitrate: 600000 + }, + "Low Bandwidth": { + width: "100%", + height: "100%", + resolution: "320x240", + frameRate: 15, + maxBitrate: 150000 + } +}; + +export function getPublisherProfiles() { + return profiles; +} + +export function getPublisherOptions(profileName) { + const profile = profiles[profileName] || profiles.Balanced; + return { + insertMode: "append", + width: profile.width, + height: profile.height, + resolution: profile.resolution, + frameRate: profile.frameRate, + maxBitrate: profile.maxBitrate + }; +} + +export async function recordPublisherProfile(profileName, postJson) { + const profile = profiles[profileName] || profiles.Balanced; + await postJson("/api/diagnostics/publisher", { + profile: profileName, + applied: true, + settings: profile + }); +} +``` + +Save the file. + +> This keeps the exercise focused on choosing and applying simple publisher settings, not on building a full settings panel. diff --git a/sources/advanced-video-core-api-features/src/content/docs/21-reload-the-app.md b/sources/advanced-video-core-api-features/src/content/docs/21-reload-the-app.md new file mode 100644 index 00000000..009daab1 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/21-reload-the-app.md @@ -0,0 +1,12 @@ +--- +title: "Reload the app" +description: "Publisher tuning" +--- + +# Reload the app + +Reload `/app`. + +The profile dropdown should include `Balanced` and `Low Bandwidth`. + +If the dropdown still shows only one option, save `exercise-hooks.js` and reload again. diff --git a/sources/advanced-video-core-api-features/src/content/docs/22-start-with-balanced.md b/sources/advanced-video-core-api-features/src/content/docs/22-start-with-balanced.md new file mode 100644 index 00000000..87388954 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/22-start-with-balanced.md @@ -0,0 +1,12 @@ +--- +title: "Start with Balanced" +description: "Publisher tuning" +--- + +# Start with Balanced + +Select `Balanced`. + +Click `Join call`. + +This starts the publisher with the default balanced settings from your snippet. diff --git a/sources/advanced-video-core-api-features/src/content/docs/23-apply-low-bandwidth.md b/sources/advanced-video-core-api-features/src/content/docs/23-apply-low-bandwidth.md new file mode 100644 index 00000000..e2b290ca --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/23-apply-low-bandwidth.md @@ -0,0 +1,12 @@ +--- +title: "Apply Low Bandwidth" +description: "Publisher tuning" +--- + +# Apply Low Bandwidth + +Choose `Low Bandwidth` in the profile dropdown. + +Click `Apply profile`. + +The publisher status should say that `Low Bandwidth` was applied. diff --git a/sources/advanced-video-core-api-features/src/content/docs/24-check-publisher-diagnostics.md b/sources/advanced-video-core-api-features/src/content/docs/24-check-publisher-diagnostics.md new file mode 100644 index 00000000..d0ec4710 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/24-check-publisher-diagnostics.md @@ -0,0 +1,14 @@ +--- +title: "Check publisher diagnostics" +description: "Publisher tuning" +--- + +# Check publisher diagnostics + +Open this path on the same preview: + +```text +/diagnostics/publisher +``` + +You should see the latest profile name and the applied settings for `Low Bandwidth`. diff --git a/sources/advanced-video-core-api-features/src/content/docs/25-validate-publisher-tuning.md b/sources/advanced-video-core-api-features/src/content/docs/25-validate-publisher-tuning.md new file mode 100644 index 00000000..405cac55 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/25-validate-publisher-tuning.md @@ -0,0 +1,14 @@ +--- +title: "Validate publisher tuning" +description: "Publisher tuning" +--- + +# Validate publisher tuning + +You have finished the Publisher tuning work in Codespaces. + +**Go back to Learning Center** and validate the Publisher tuning exercise. Continue the tutorial there until it asks you to start Subscriber quality. + +Then return to this guide and press Next. + +> Validation reads app diagnostics, so the exercise stays reliable for beginners. diff --git a/sources/advanced-video-core-api-features/src/content/docs/26-open-the-client-hooks-file.md b/sources/advanced-video-core-api-features/src/content/docs/26-open-the-client-hooks-file.md new file mode 100644 index 00000000..5259c11c --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/26-open-the-client-hooks-file.md @@ -0,0 +1,14 @@ +--- +title: "Open the client hooks file" +description: "Subscriber quality" +--- + +# Open the client hooks file + +In the Codespace editor, open: + +```text +public/app/exercise-hooks.js +``` + +Find the empty `setupSubscriberQuality` function. diff --git a/sources/advanced-video-core-api-features/src/content/docs/27-add-subscriber-status-handling.md b/sources/advanced-video-core-api-features/src/content/docs/27-add-subscriber-status-handling.md new file mode 100644 index 00000000..3657c6aa --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/27-add-subscriber-status-handling.md @@ -0,0 +1,28 @@ +--- +title: "Add subscriber status handling" +description: "Subscriber quality" +--- + +# Add subscriber status handling + +Replace `setupSubscriberQuality` with this snippet: + +```js +export function setupSubscriberQuality({ session, elements, postJson }) { + const setState = (state, reason, recovered = false) => { + elements.subscriberStatus.textContent = `Subscriber status: ${state}`; + postJson("/api/diagnostics/subscriber", { state, reason, recovered }).catch(console.error); + }; + + setState("normal", "subscriber connected"); + + session.on("streamDestroyed", () => setState("ended", "stream destroyed")); + + elements.simulateDegraded.onclick = () => setState("degraded", "prepared test action"); + elements.simulateRecovered.onclick = () => setState("normal", "prepared recovery action", true); +} +``` + +Save the file. + +> The lesson is about reacting to subscriber quality changes. The workspace uses prepared buttons so you do not need to break your network on purpose. diff --git a/sources/advanced-video-core-api-features/src/content/docs/28-join-from-two-windows.md b/sources/advanced-video-core-api-features/src/content/docs/28-join-from-two-windows.md new file mode 100644 index 00000000..e9e71149 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/28-join-from-two-windows.md @@ -0,0 +1,12 @@ +--- +title: "Join from two windows" +description: "Subscriber quality" +--- + +# Join from two windows + +Reload `/app` in two browser windows. + +Join the same room in both windows. + +Wait until each window shows the other participant as a subscriber. diff --git a/sources/advanced-video-core-api-features/src/content/docs/29-check-the-normal-state.md b/sources/advanced-video-core-api-features/src/content/docs/29-check-the-normal-state.md new file mode 100644 index 00000000..05a877d7 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/29-check-the-normal-state.md @@ -0,0 +1,12 @@ +--- +title: "Check the normal state" +description: "Subscriber quality" +--- + +# Check the normal state + +Look at the Subscriber quality panel. + +The status should show `normal` after the subscriber connects. + +This confirms the basic status label is wired up. diff --git a/sources/advanced-video-core-api-features/src/content/docs/30-trigger-degraded-state.md b/sources/advanced-video-core-api-features/src/content/docs/30-trigger-degraded-state.md new file mode 100644 index 00000000..b4086618 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/30-trigger-degraded-state.md @@ -0,0 +1,10 @@ +--- +title: "Trigger degraded state" +description: "Subscriber quality" +--- + +# Trigger degraded state + +Click `Simulate degraded`. + +The subscriber quality label should change to `degraded`. diff --git a/sources/advanced-video-core-api-features/src/content/docs/31-recover-the-subscriber-state.md b/sources/advanced-video-core-api-features/src/content/docs/31-recover-the-subscriber-state.md new file mode 100644 index 00000000..39bad453 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/31-recover-the-subscriber-state.md @@ -0,0 +1,12 @@ +--- +title: "Recover the subscriber state" +description: "Subscriber quality" +--- + +# Recover the subscriber state + +Click `Simulate recovered`. + +The subscriber quality label should return to `normal`. + +> The prepared buttons make this exercise repeatable without forcing real network problems. diff --git a/sources/advanced-video-core-api-features/src/content/docs/32-validate-subscriber-quality.md b/sources/advanced-video-core-api-features/src/content/docs/32-validate-subscriber-quality.md new file mode 100644 index 00000000..2d54eeb1 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/32-validate-subscriber-quality.md @@ -0,0 +1,14 @@ +--- +title: "Validate subscriber quality" +description: "Subscriber quality" +--- + +# Validate subscriber quality + +You have finished the Subscriber quality work in Codespaces. + +**Go back to Learning Center** and validate the Subscriber quality exercise. Continue the tutorial there until it asks you to start Recording layout. + +Then return to this guide and press Next. + +> Validation checks the quality state history created by the app. diff --git a/sources/advanced-video-core-api-features/src/content/docs/33-open-the-client-hooks-file.md b/sources/advanced-video-core-api-features/src/content/docs/33-open-the-client-hooks-file.md new file mode 100644 index 00000000..eb49d74e --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/33-open-the-client-hooks-file.md @@ -0,0 +1,14 @@ +--- +title: "Open the client hooks file" +description: "Recording layout" +--- + +# Open the client hooks file + +In the Codespace editor, open: + +```text +public/app/exercise-hooks.js +``` + +Find `getRecordingLayoutPreview`. diff --git a/sources/advanced-video-core-api-features/src/content/docs/34-add-layout-preview.md b/sources/advanced-video-core-api-features/src/content/docs/34-add-layout-preview.md new file mode 100644 index 00000000..52063f1f --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/34-add-layout-preview.md @@ -0,0 +1,23 @@ +--- +title: "Add layout preview" +description: "Recording layout" +--- + +# Add layout preview + +Replace `getRecordingLayoutPreview` with this snippet: + +```js +export function getRecordingLayoutPreview({ focusTarget }) { + return { + layout: "horizontalPresentation", + streamClass: "focus", + focused: Boolean(focusTarget), + previewUrl: "/app/" + }; +} +``` + +Save the file. + +> This mirrors the recording layout idea from the lesson without forcing you to wait for a playable archive. diff --git a/sources/advanced-video-core-api-features/src/content/docs/35-reload-the-app.md b/sources/advanced-video-core-api-features/src/content/docs/35-reload-the-app.md new file mode 100644 index 00000000..d167879f --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/35-reload-the-app.md @@ -0,0 +1,10 @@ +--- +title: "Reload the app" +description: "Recording layout" +--- + +# Reload the app + +Reload `/app`. + +The Recording layout panel should still show the focus participant dropdown and `Preview layout` button. diff --git a/sources/advanced-video-core-api-features/src/content/docs/36-join-from-two-windows.md b/sources/advanced-video-core-api-features/src/content/docs/36-join-from-two-windows.md new file mode 100644 index 00000000..63cfc014 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/36-join-from-two-windows.md @@ -0,0 +1,10 @@ +--- +title: "Join from two windows" +description: "Recording layout" +--- + +# Join from two windows + +Join the same room from two browser windows. + +Wait until there is a local publisher and at least one subscriber. diff --git a/sources/advanced-video-core-api-features/src/content/docs/37-choose-a-focus-participant.md b/sources/advanced-video-core-api-features/src/content/docs/37-choose-a-focus-participant.md new file mode 100644 index 00000000..4a294762 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/37-choose-a-focus-participant.md @@ -0,0 +1,10 @@ +--- +title: "Choose a focus participant" +description: "Recording layout" +--- + +# Choose a focus participant + +Choose a participant as the focus stream and click `Preview layout`. + +This simulates the stream class choice that would be used for the recording layout. diff --git a/sources/advanced-video-core-api-features/src/content/docs/38-check-the-layout-preview.md b/sources/advanced-video-core-api-features/src/content/docs/38-check-the-layout-preview.md new file mode 100644 index 00000000..13087986 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/38-check-the-layout-preview.md @@ -0,0 +1,16 @@ +--- +title: "Check the layout preview" +description: "Recording layout" +--- + +# Check the layout preview + +Look at the Recording layout status text. + +It should say the preview is ready with `focus`. + +You can also open: + +```text +/recordings/latest +``` diff --git a/sources/advanced-video-core-api-features/src/content/docs/39-validate-recording-layout.md b/sources/advanced-video-core-api-features/src/content/docs/39-validate-recording-layout.md new file mode 100644 index 00000000..b8a04fe2 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/39-validate-recording-layout.md @@ -0,0 +1,14 @@ +--- +title: "Validate recording layout" +description: "Recording layout" +--- + +# Validate recording layout + +You have finished the Recording layout work in Codespaces. + +**Go back to Learning Center** and validate the Recording layout exercise. Continue the tutorial there until it asks you to start Archiving. + +Then return to this guide and press Next. + +> Validation checks the layout preview output from your app. diff --git a/sources/advanced-video-core-api-features/src/content/docs/40-open-the-server-hooks-file.md b/sources/advanced-video-core-api-features/src/content/docs/40-open-the-server-hooks-file.md new file mode 100644 index 00000000..6dde5797 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/40-open-the-server-hooks-file.md @@ -0,0 +1,14 @@ +--- +title: "Open the server hooks file" +description: "Archiving" +--- + +# Open the server hooks file + +In the Codespace editor, open: + +```text +src/advanced-video-server-hooks.js +``` + +Find `startArchive`, `stopArchive`, and `getArchiveViewUrl`. diff --git a/sources/advanced-video-core-api-features/src/content/docs/41-add-archive-server-actions.md b/sources/advanced-video-core-api-features/src/content/docs/41-add-archive-server-actions.md new file mode 100644 index 00000000..ac25982b --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/41-add-archive-server-actions.md @@ -0,0 +1,50 @@ +--- +title: "Add archive server actions" +description: "Archiving" +--- + +# Add archive server actions + +Replace the archive functions with this snippet: + +```js +export async function startArchive({ video, body, state }) { + if (!video) throw new Error("missing_credentials"); + const archive = await video.startArchive(body.sessionId, { name: archiveNameForSession(body.sessionId) }); + state.latestArchive = { + archiveId: archive.id, + state: archive.status || "started", + viewUrl: `/archive/${archive.id}/view`, + updatedAt: new Date().toISOString() + }; + return archive; +} + +export async function stopArchive({ video, archiveId, state }) { + if (!video) throw new Error("missing_credentials"); + const archive = await video.stopArchive(archiveId); + state.latestArchive = { + archiveId: archive.id || archiveId, + state: archive.status || "stopped", + viewUrl: `/archive/${archive.id || archiveId}/view`, + updatedAt: new Date().toISOString() + }; + return archive; +} + +export async function getArchiveViewUrl({ video, archiveId, state }) { + if (!video) throw new Error("missing_credentials"); + const archive = await video.getArchive(archiveId); + state.latestArchive = { + archiveId: archive.id || archiveId, + state: archive.status || "available", + viewUrl: `/archive/${archive.id || archiveId}/view`, + updatedAt: new Date().toISOString() + }; + return archive.status === "available" ? archive.url : null; +} +``` + +Save the file. + +> This follows the archiving lesson: the server owns the archive start, stop, and view actions. diff --git a/sources/advanced-video-core-api-features/src/content/docs/42-open-the-client-hooks-file.md b/sources/advanced-video-core-api-features/src/content/docs/42-open-the-client-hooks-file.md new file mode 100644 index 00000000..872dee28 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/42-open-the-client-hooks-file.md @@ -0,0 +1,14 @@ +--- +title: "Open the client hooks file" +description: "Archiving" +--- + +# Open the client hooks file + +In the Codespace editor, open: + +```text +public/app/exercise-hooks.js +``` + +Find the empty `setupArchivingControls` function. diff --git a/sources/advanced-video-core-api-features/src/content/docs/43-add-archive-buttons.md b/sources/advanced-video-core-api-features/src/content/docs/43-add-archive-buttons.md new file mode 100644 index 00000000..107ae75e --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/43-add-archive-buttons.md @@ -0,0 +1,34 @@ +--- +title: "Add archive buttons" +description: "Archiving" +--- + +# Add archive buttons + +Replace `setupArchivingControls` with this snippet: + +```js +export function setupArchivingControls({ elements, postJson, getSessionId, getLatestArchiveId, setLatestArchiveId }) { + elements.startArchive.onclick = async () => { + const archive = await postJson("/archive/start", { sessionId: getSessionId() }); + setLatestArchiveId(archive.id || archive.archiveId); + elements.archiveStatus.textContent = `Archive started: ${getLatestArchiveId()}`; + elements.startArchive.disabled = true; + elements.stopArchive.disabled = false; + }; + + elements.stopArchive.onclick = async () => { + const archiveId = getLatestArchiveId(); + const archive = await postJson(`/archive/${archiveId}/stop`, {}); + const stoppedId = archive.id || archive.archiveId || archiveId; + elements.archiveStatus.textContent = `Archive stopped: ${stoppedId}`; + elements.archiveLink.innerHTML = `View Archive`; + elements.startArchive.disabled = false; + elements.stopArchive.disabled = true; + }; +} +``` + +Save the file. + +> The UI stays intentionally plain. Frontend polish can come later; this exercise is about wiring the Video API flow. diff --git a/sources/advanced-video-core-api-features/src/content/docs/44-join-the-call.md b/sources/advanced-video-core-api-features/src/content/docs/44-join-the-call.md new file mode 100644 index 00000000..86137895 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/44-join-the-call.md @@ -0,0 +1,12 @@ +--- +title: "Join the call" +description: "Archiving" +--- + +# Join the call + +Reload `/app`. + +Join the room from one browser window. A second window is optional for this exercise. + +Wait until the call status says you are connected. diff --git a/sources/advanced-video-core-api-features/src/content/docs/45-start-an-archive.md b/sources/advanced-video-core-api-features/src/content/docs/45-start-an-archive.md new file mode 100644 index 00000000..c64f7753 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/45-start-an-archive.md @@ -0,0 +1,12 @@ +--- +title: "Start an archive" +description: "Archiving" +--- + +# Start an archive + +Click `Start Archive`. + +Wait until the archive status shows an archive ID. + +Keep the call running for a few seconds before stopping it. diff --git a/sources/advanced-video-core-api-features/src/content/docs/46-stop-and-view-the-archive.md b/sources/advanced-video-core-api-features/src/content/docs/46-stop-and-view-the-archive.md new file mode 100644 index 00000000..c26f867b --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/46-stop-and-view-the-archive.md @@ -0,0 +1,12 @@ +--- +title: "Stop and view the archive" +description: "Archiving" +--- + +# Stop and view the archive + +Click `Stop Archive`. + +The app should show that the archive stopped and display a `View Archive` link. + +Click `View Archive`. If the recording is still processing, that is acceptable. diff --git a/sources/advanced-video-core-api-features/src/content/docs/47-validate-archiving.md b/sources/advanced-video-core-api-features/src/content/docs/47-validate-archiving.md new file mode 100644 index 00000000..198629af --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/47-validate-archiving.md @@ -0,0 +1,15 @@ +--- +title: "Validate archiving" +description: "Archiving" +--- + +# Validate archiving + +You have finished the Archiving work in Codespaces. + +**Go back to Learning Center** and validate the Archiving exercise. + +This is the final Advanced exercise. After validation, you can close the Codespace or keep it for review. If you need the section list again, return to `/guide/`. +If you no longer need the Video application created during setup, you can delete it from the Vonage Dashboard under Applications. + +> Validation checks the latest archive output produced by the same app you used throughout the path. diff --git a/sources/advanced-video-core-api-features/src/content/docs/index.mdx b/sources/advanced-video-core-api-features/src/content/docs/index.mdx new file mode 100644 index 00000000..1994297f --- /dev/null +++ b/sources/advanced-video-core-api-features/src/content/docs/index.mdx @@ -0,0 +1,7 @@ +--- +title: Advanced Video Core API Features +description: Build advanced Vonage Video API skills across debugging, signaling, optimization, layouts, and archiving. +template: splash +hero: + tagline: Shared workspace for the Advanced Video learning path. +--- diff --git a/sources/advanced-video-core-api-features/src/env.d.ts b/sources/advanced-video-core-api-features/src/env.d.ts new file mode 100644 index 00000000..acef35f1 --- /dev/null +++ b/sources/advanced-video-core-api-features/src/env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/sources/advanced-video-core-api-features/tsconfig.json b/sources/advanced-video-core-api-features/tsconfig.json new file mode 100644 index 00000000..bcbf8b50 --- /dev/null +++ b/sources/advanced-video-core-api-features/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "astro/tsconfigs/strict" +} diff --git a/sources/advanced-video-core-api-features/tutorial-config.json b/sources/advanced-video-core-api-features/tutorial-config.json new file mode 100644 index 00000000..9f8f1c12 --- /dev/null +++ b/sources/advanced-video-core-api-features/tutorial-config.json @@ -0,0 +1,27 @@ +{ + "files": [], + "openFiles": [ + "project/public/app/exercise-hooks.js", + "project/src/advanced-video-server-hooks.js" + ], + "panels": [ + "terminal", + "browser" + ], + "repository": "", + "starterFiles": [ + "project/public/app/index.html", + "project/public/app/app.js", + "project/public/app/exercise-hooks.js", + "project/src/advanced-video-routes.js", + "project/src/advanced-video-server-hooks.js", + "project/src/advanced-video-state.js", + "project/server.js", + "project/setup-credentials.js", + "project/package.json", + "project/.env.example" + ], + "capabilities": [], + "version": "0.0.1", + "filename": "advanced-video-core-api-features" +} diff --git a/sources/advanced-video-core-api-features/vonage-toolbar/README.md b/sources/advanced-video-core-api-features/vonage-toolbar/README.md new file mode 100644 index 00000000..d5f36b4d --- /dev/null +++ b/sources/advanced-video-core-api-features/vonage-toolbar/README.md @@ -0,0 +1,6 @@ +# Vonage toolbar application for authoring tutorials + +In the preview, there will be a toolbar in the bottom middle of the page. +Click the Vonage logo for the instructions. + +![Screenshot of toolbar app. A dark gray rectangular interface element with rounded corners, displaying a list of six steps in white text, each preceded by a right-pointing triangle. Below the rectangle is a smaller dark gray rounded rectangle containing five white icons: an Astro logo, cursor arrow, three horizontal lines with a magnification glass, a V, and a gear icon. ](./toolbar.png) diff --git a/sources/advanced-video-core-api-features/vonage-toolbar/app.ts b/sources/advanced-video-core-api-features/vonage-toolbar/app.ts new file mode 100644 index 00000000..bf5950e9 --- /dev/null +++ b/sources/advanced-video-core-api-features/vonage-toolbar/app.ts @@ -0,0 +1,425 @@ +import { defineToolbarApp } from 'astro/toolbar'; + +let tutorial: { + files: string[]; + openFiles: string[]; + panels: string[]; + repository: string; + starterFiles: string[]; + capabilities: string[]; + version: string; + filename: string; +} = { + files: [], + openFiles: [], + panels: [], + repository: '', + starterFiles: [], + capabilities: [], + version: '', + filename: '' +}; + +export default defineToolbarApp({ + init(canvas, app, server) { + const myWindow = document.createElement('astro-dev-toolbar-window'); + const myContent = document.createElement('div'); + myContent.style.overflowY = 'auto'; + myContent.innerHTML = ` +
+ Step 1: Select panels needed + Please select other panels used in the tutorial +
+
+ + +
+
+ + +
+
+
+
+ Step 2: Load an external repo (optional) + The repo will be loaded in the project folder. If there are any setup scripts needed to run the repo, please put them in the setup-project.js file. + +
+
+ Step 3: Set Starter Files to be used + Starter Files are files that have the code that the user does not need to worry about. They have comments to let the user know where the code they see in the tutorial needs to go. If you are pulling from an external repo make sure to add 'project/' in front and it will overwrite the external repo file for the tutorial otherwise place the files in the root directory. +
+ please include filename AND filetype +
Starter File list: +
    +
    +
    + Step 4: Set Files to be opened + Please enter the names and file type of the files to be opened for the tutorial one at a time. If from external repo make sure to add 'project/' in front. +
    + please include filename AND filetype +
    Open File list: +
      +
      +
      + Step 5: Create steps + In the src -> content -> docs folder, please add the steps for the tutorial and delete reference.mdoc when finished. +

      See Reference for components you can add.

      +
      +
      + Step 6: Set Files to be created + Please enter the names and file type of the files to be created for the tutorial one at a time. They will be opened in the editor. If the file should be in a folder, make sure to put it in front of the filename ex. 'public/'. +
      + please include filename AND filetype +
      File list: +
        +
        +
        + Step 7: Select capabilities needed + Please select any capabilities used in the tutorial +
        +
        + + +
        +
        +
        +
        + Step 8: Enter version + +
        +
        + Step 9: Enter filename for the zip file + This will be used also for the repo's folder name +
        +
        +
        + Step 10: Finish up + Click to start generating the tutorial: +

        + + Click to download +
        Then rename the zip file and upload the zip file to the GitHub repository uploads folder. +
        +
        + `; + // use appendChild directly on `window`, not `myWindow.shadowRoot` + myWindow.appendChild(myContent); + + canvas.append(myWindow); + + const astroToolbarWindow = canvas.querySelector('astro-dev-toolbar-window'); + + const filenameInput = astroToolbarWindow?.querySelector( + '#filename' + ) as HTMLInputElement; + filenameInput.value = tutorial.filename !== '' ? tutorial.filename : ''; + filenameInput?.addEventListener('change', (event) => { + tutorial.filename = filenameInput?.value; + saveConfig(); + }); + + const versionInput = astroToolbarWindow?.querySelector( + '#version' + ) as HTMLInputElement; + versionInput.value = tutorial.version !== '' ? tutorial.version : ''; + versionInput?.addEventListener('change', (event) => { + tutorial.version = versionInput?.value; + saveConfig(); + }); + + const repositoryInput = astroToolbarWindow?.querySelector( + '#repository' + ) as HTMLInputElement; + repositoryInput.value = + tutorial.repository !== '' ? tutorial.repository : ''; + repositoryInput?.addEventListener('change', (event) => { + tutorial.repository = repositoryInput?.value; + saveConfig(); + }); + + // Always read tutorial-config.json from disk on toolbar open + server.send('vonage-app:config-check', {}); + + server.on('config-checked', (data: any) => { + if (data.found) { + tutorial = data.tutorial; + saveConfig(); + updateUI(); + } + }); + + function updateUI() { + refreshFilesList(); + refreshFilesOpenList(); + refreshStarterFilesList(); + if (tutorial.panels.length !== 0) { + tutorial.panels.forEach((panel) => { + ( + astroToolbarWindow?.querySelector(`#${panel}`) as HTMLInputElement + ).checked = true; + }); + } + + if (tutorial.capabilities.length !== 0) { + tutorial.capabilities.forEach((capability) => { + ( + astroToolbarWindow?.querySelector( + `#${capability}` + ) as HTMLInputElement + ).checked = true; + }); + } + versionInput.value = tutorial.version; + repositoryInput.value = tutorial.repository; + filenameInput.value = tutorial.filename; + } + + + const completeSpan = astroToolbarWindow?.querySelector( + '#complete' + ) as HTMLSpanElement; + + completeSpan.style.display = 'none'; + + const panelsForm = astroToolbarWindow?.querySelector('#panels'); + + panelsForm?.addEventListener('change', (event) => { + tutorial.panels = []; + const panelsChecked = astroToolbarWindow?.querySelectorAll( + 'input[type="checkbox"][name="panels"]:checked' + ); + panelsChecked?.forEach((panel) => { + tutorial.panels.push(panel.id); + }); + saveConfig(); + }); + + const capabilitiesForm = astroToolbarWindow?.querySelector('#capabilities'); + + capabilitiesForm?.addEventListener('change', (event) => { + console.log('capabilities change event'); + tutorial.capabilities = []; + const capabilitiesChecked = astroToolbarWindow?.querySelectorAll( + 'input[type="checkbox"][name="capabilities"]:checked' + ); + capabilitiesChecked?.forEach((capability) => { + tutorial.capabilities.push(capability.id); + }); + saveConfig(); + }); + + function saveConfig() { + server.send('vonage-app:save-config', { tutorial }); + } + + function refreshFilesList() { + const fileUl = astroToolbarWindow?.querySelector( + '#file-list' + ) as HTMLButtonElement; + fileUl.innerHTML = ''; + tutorial.files = Array.from(new Set(tutorial.files)); + tutorial.files.forEach((file) => { + const fileLi = document.createElement('li'); + fileLi.id = file; + fileLi.innerText = file + ' '; + fileLi.classList.add('file'); + const fileButton = document.createElement('button'); + fileButton.dataset.id = file; + fileButton.innerText = 'delete'; + fileButton.addEventListener('click', (event) => { + const id = (event.currentTarget as HTMLElement).dataset.id; + if (!id) return; + const idx = tutorial.files.indexOf(id); + if (idx > -1) { + tutorial.files.splice(idx, 1); + refreshFilesList(); + } + // tutorial.files.splice( + // tutorial.files.indexOf((event.target as HTMLElement).dataset.id), + // 1 + // ); + // refreshFilesList(); + }); + fileLi.appendChild(fileButton); + fileUl.appendChild(fileLi); + }); + saveConfig(); + } + + const fileInputError = astroToolbarWindow?.querySelector( + '#file-input-error' + ) as HTMLElement; + + fileInputError.style.display = 'none'; + + astroToolbarWindow + ?.querySelector('#add-file') + ?.addEventListener('click', (event) => { + fileInputError.style.display = 'none'; + const fileInput = astroToolbarWindow?.querySelector( + '#file-input' + ) as HTMLInputElement; + // make sure has extension + if (fileInput.value.includes('.')) { + tutorial.files = [...tutorial.files, fileInput.value]; + fileInput.value = ''; + refreshFilesList(); + } else { + fileInputError.style.display = 'block'; + } + }); + + function refreshFilesOpenList() { + const fileUl = astroToolbarWindow?.querySelector( + '#file-open-list' + ) as HTMLButtonElement; + fileUl.innerHTML = ''; + tutorial.openFiles = Array.from(new Set(tutorial.openFiles)); + tutorial.openFiles.forEach((file) => { + const fileLi = document.createElement('li'); + fileLi.id = file; + fileLi.innerText = file + ' '; + fileLi.classList.add('file'); + const fileButton = document.createElement('button'); + fileButton.dataset.id = file; + fileButton.innerText = 'delete'; + fileButton.addEventListener('click', (event) => { + const id = (event.currentTarget as HTMLElement).dataset.id; + if (!id) return; + const idx = tutorial.openFiles.indexOf(id); + if (idx > -1) { + tutorial.openFiles.splice(idx, 1); + refreshFilesOpenList(); + } + // tutorial.files.splice( + // tutorial.files.indexOf((event.target as HTMLElement).dataset.id), + // 1 + // ); + // refreshFilesList(); + }); + fileLi.appendChild(fileButton); + fileUl.appendChild(fileLi); + }); + saveConfig(); + } + + const fileOpenInputError = astroToolbarWindow?.querySelector( + '#file-open-input-error' + ) as HTMLElement; + + fileOpenInputError.style.display = 'none'; + + astroToolbarWindow + ?.querySelector('#add-file-open') + ?.addEventListener('click', (event) => { + fileOpenInputError.style.display = 'none'; + const fileOpenInput = astroToolbarWindow?.querySelector( + '#file-open-input' + ) as HTMLInputElement; + // make sure has extension + if (fileOpenInput.value.includes('.')) { + tutorial.openFiles = [...tutorial.openFiles, fileOpenInput.value]; + fileOpenInput.value = ''; + refreshFilesOpenList(); + } else { + fileOpenInputError.style.display = 'block'; + } + }); + + + // Starter files + + function refreshStarterFilesList() { + const fileUl = astroToolbarWindow?.querySelector( + '#starter-file-list' + ) as HTMLButtonElement; + fileUl.innerHTML = ''; + tutorial.starterFiles = Array.from(new Set(tutorial.starterFiles)); + tutorial.starterFiles.forEach((file) => { + const fileLi = document.createElement('li'); + fileLi.id = file; + fileLi.innerText = file + ' '; + fileLi.classList.add('file'); + const fileButton = document.createElement('button'); + fileButton.dataset.id = file; + fileButton.innerText = 'delete'; + fileButton.addEventListener('click', (event) => { + const id = (event.currentTarget as HTMLElement).dataset.id; + if (!id) return; + const idx = tutorial.starterFiles.indexOf(id); + if (idx > -1) { + tutorial.starterFiles.splice(idx, 1); + refreshStarterFilesList(); + } + // tutorial.files.splice( + // tutorial.files.indexOf((event.target as HTMLElement).dataset.id), + // 1 + // ); + // refreshFilesList(); + }); + fileLi.appendChild(fileButton); + fileUl.appendChild(fileLi); + }); + saveConfig(); + } + + const starterFileInputError = astroToolbarWindow?.querySelector( + '#starter-file-input-error' + ) as HTMLElement; + + starterFileInputError.style.display = 'none'; + + astroToolbarWindow + ?.querySelector('#add-starter-file') + ?.addEventListener('click', (event) => { + starterFileInputError.style.display = 'none'; + const starterFileInput = astroToolbarWindow?.querySelector( + '#starter-file-input' + ) as HTMLInputElement; + // make sure has extension + if (starterFileInput.value.includes('.')) { + tutorial.starterFiles = [...tutorial.starterFiles, starterFileInput.value]; + starterFileInput.value = ''; + refreshStarterFilesList(); + } else { + starterFileInputError.style.display = 'block'; + } + }); + /////// + + const generateButton = astroToolbarWindow?.querySelector( + '#generate' + ) as HTMLButtonElement; + + const statusEl = astroToolbarWindow?.querySelector( + '#status' + ) as HTMLParagraphElement; + + generateButton?.addEventListener('click', (event) => { + generateButton.disabled = true; + statusEl.innerText = ''; + completeSpan.style.display = 'none'; + server.send('vonage-app:generate', { tutorial }); + }); + + server.on('server-status', (data: any) => { + statusEl.innerText = data.status; + if (data.status === 'Complete!') { + astroToolbarWindow?.querySelector('#complete') as HTMLParagraphElement; + ( + astroToolbarWindow?.querySelector( + '#download-link' + ) as HTMLAnchorElement + ).style = `color: white; background-color: black`; + ( + astroToolbarWindow?.querySelector( + '#download-link' + ) as HTMLAnchorElement + ).href = `${window.location.origin}/${tutorial.filename}.zip`; + generateButton.disabled = false; + completeSpan.style.display = 'block'; + } + }); + }, +}); diff --git a/sources/advanced-video-core-api-features/vonage-toolbar/integration.ts b/sources/advanced-video-core-api-features/vonage-toolbar/integration.ts new file mode 100644 index 00000000..c543ea32 --- /dev/null +++ b/sources/advanced-video-core-api-features/vonage-toolbar/integration.ts @@ -0,0 +1,87 @@ +import { fileURLToPath } from 'node:url'; +import type { AstroIntegration } from 'astro'; +import { exec } from 'child_process'; +import util from 'util'; +import AdmZip from 'adm-zip'; +import fs from 'fs/promises'; +import path from 'path'; +export default { + name: 'vonage-onboarding-integration', + hooks: { + 'astro:config:setup': ({ addDevToolbarApp }) => { + addDevToolbarApp({ + id: 'vonage-toolbar-app', + name: 'Vonage Toolbar App', + icon: 'Vonage', + entrypoint: fileURLToPath(new URL('./app.ts', import.meta.url)), + }); + }, + 'astro:server:setup': ({ toolbar }) => { + + toolbar.on('vonage-app:config-check', async (data:any) => { + try { + const filePath = 'tutorial-config.json'; + const fileData = await fs.readFile(filePath, 'utf8'); + const config = JSON.parse(fileData); + toolbar.send('config-checked', { + found: true, + tutorial: config, + }); + + } catch (err) { + if (err.code === 'ENOENT') { + console.error('Config file not found.'); + toolbar.send('config-checked', { + found: false, + tutorial: {}, + }); + } else { + console.error('Error reading config file:', err); + toolbar.send('config-checked', { + found: false, + tutorial: {}, + }); + } + } + }); + + toolbar.on('vonage-app:save-config', async (data: any) => { + try { + const configData = JSON.stringify(data.tutorial, null, 2); + await fs.writeFile('tutorial-config.json', configData); + } catch (err) { + console.error('Error saving config:', err); + } + }); + + toolbar.on('vonage-app:generate', async (data: any) => { + try { + // create tutorial-config.json file + toolbar.send('server-status', { + status: 'Creating configuration file (tutorial-config.json)', + }); + const configData = JSON.stringify(data.tutorial, null, 2); + await fs.writeFile('tutorial-config.json', configData); + + // Zip up the whole project folder without the node_module folder and name it the slug generated from the title + toolbar.send('server-status', { + status: 'Zipping up project... could take a minute', + }); + const zip = new AdmZip(); + let exclude = ['node_modules', 'dist']; + const sourceDir = './'; + const zipFile = data.tutorial.filename === '' ? './public/product_name-language-topic.zip' : `./public/${data.tutorial.filename}.zip`; + await zip.addLocalFolderPromise(sourceDir, { + filter: (filePath) => !exclude.some((ex) => filePath.includes(ex)), + }); + await zip.writeZipPromise(zipFile); + console.log(`Zip file ${zipFile} created successfully!`); + // display link to download project zip file in toolbar. + toolbar.send('server-status', { status: 'Complete!' }); + } catch (error) { + console.error('Error:', error); + } + }); + }, + }, +} satisfies AstroIntegration; diff --git a/sources/advanced-video-core-api-features/vonage-toolbar/toolbar.png b/sources/advanced-video-core-api-features/vonage-toolbar/toolbar.png new file mode 100644 index 0000000000000000000000000000000000000000..f5bc53e5988516b7a2f32f10b55f37f497303e34 GIT binary patch literal 426515 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

        3RTaiB`4HAYsj{|OQH`#9=1L!`3jQq343$} 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

        $dDP8yqNA0A9b?|aIA@NO?waX`l{KIUsXC^ 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�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 literal 0 HcmV?d00001 diff --git a/tutorials/advanced-video-core-api-features/.astro/collections/docs.schema.json b/tutorials/advanced-video-core-api-features/.astro/collections/docs.schema.json new file mode 100644 index 00000000..15dc3fb5 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/.astro/collections/docs.schema.json @@ -0,0 +1,650 @@ +{ + "$ref": "#/definitions/docs", + "definitions": { + "docs": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "description": { + "type": "string" + }, + "editUrl": { + "anyOf": [ + { + "type": "string", + "format": "uri" + }, + { + "type": "boolean" + } + ], + "default": true + }, + "head": { + "type": "array", + "items": { + "type": "object", + "properties": { + "tag": { + "type": "string", + "enum": [ + "title", + "base", + "link", + "style", + "meta", + "script", + "noscript", + "template" + ] + }, + "attrs": { + "type": "object", + "additionalProperties": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "boolean" + }, + { + "not": {} + } + ] + } + }, + "content": { + "type": "string" + } + }, + "required": [ + "tag" + ], + "additionalProperties": false + }, + "default": [] + }, + "tableOfContents": { + "anyOf": [ + { + "type": "object", + "properties": { + "minHeadingLevel": { + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 2 + }, + "maxHeadingLevel": { + "type": "integer", + "minimum": 1, + "maximum": 6, + "default": 3 + } + }, + "additionalProperties": false + }, + { + "type": "boolean" + } + ], + "default": { + "minHeadingLevel": 2, + "maxHeadingLevel": 3 + } + }, + "template": { + "type": "string", + "enum": [ + "doc", + "splash" + ], + "default": "doc" + }, + "hero": { + "type": "object", + "properties": { + "title": { + "type": "string" + }, + "tagline": { + "type": "string" + }, + "image": { + "anyOf": [ + { + "type": "object", + "properties": { + "alt": { + "type": "string", + "default": "" + }, + "file": { + "type": "string" + } + }, + "required": [ + "file" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "alt": { + "type": "string", + "default": "" + }, + "dark": { + "type": "string" + }, + "light": { + "type": "string" + } + }, + "required": [ + "dark", + "light" + ], + "additionalProperties": false + }, + { + "type": "object", + "properties": { + "html": { + "type": "string" + } + }, + "required": [ + "html" + ], + "additionalProperties": false + } + ] + }, + "actions": { + "type": "array", + "items": { + "type": "object", + "properties": { + "text": { + "type": "string" + }, + "link": { + "type": "string" + }, + "variant": { + "type": "string", + "enum": [ + "primary", + "secondary", + "minimal" + ], + "default": "primary" + }, + "icon": { + "anyOf": [ + { + "type": "string", + "enum": [ + "up-caret", + "down-caret", + "right-caret", + "left-caret", + "up-arrow", + "down-arrow", + "right-arrow", + "left-arrow", + "bars", + "translate", + "pencil", + "pen", + "document", + "add-document", + "setting", + "external", + "download", + "cloud-download", + "moon", + "sun", + "laptop", + "open-book", + "information", + "magnifier", + "forward-slash", + "close", + "error", + "warning", + "approve-check-circle", + "approve-check", + "rocket", + "star", + "puzzle", + "list-format", + "random", + "comment", + "comment-alt", + "heart", + "github", + "gitlab", + "bitbucket", + "codePen", + "farcaster", + "discord", + "gitter", + "twitter", + "x.com", + "mastodon", + "codeberg", + "youtube", + "threads", + "linkedin", + "twitch", + "azureDevOps", + "microsoftTeams", + "instagram", + "stackOverflow", + "telegram", + "rss", + "facebook", + "email", + "phone", + "reddit", + "patreon", + "signal", + "slack", + "matrix", + "hackerOne", + "openCollective", + "blueSky", + "discourse", + "zulip", + "pinterest", + "tiktok", + "astro", + "alpine", + "pnpm", + "biome", + "bun", + "mdx", + "apple", + "linux", + "homebrew", + "nix", + "starlight", + "pkl", + "node", + "cloudflare", + "vercel", + "netlify", + "deno", + "jsr", + "nostr", + "backstage", + "confluence", + "jira", + "storybook", + "vscode", + "jetbrains", + "zed", + "vim", + "figma", + "sketch", + "npm", + "sourcehut", + "substack", + "chrome", + "edge", + "firefox", + "safari", + "seti:folder", + "seti:bsl", + "seti:mdo", + "seti:salesforce", + "seti:asm", + "seti:bicep", + "seti:bazel", + "seti:c", + "seti:c-sharp", + "seti:html", + "seti:cpp", + "seti:clojure", + "seti:coldfusion", + "seti:config", + "seti:crystal", + "seti:crystal_embedded", + "seti:json", + "seti:css", + "seti:csv", + "seti:xls", + "seti:cu", + "seti:cake", + "seti:cake_php", + "seti:d", + "seti:word", + "seti:elixir", + "seti:elixir_script", + "seti:hex", + "seti:elm", + "seti:favicon", + "seti:f-sharp", + "seti:git", + "seti:go", + "seti:godot", + "seti:gradle", + "seti:grails", + "seti:graphql", + "seti:hacklang", + "seti:haml", + "seti:mustache", + "seti:haskell", + "seti:haxe", + "seti:jade", + "seti:java", + "seti:javascript", + "seti:jinja", + "seti:julia", + "seti:karma", + "seti:kotlin", + "seti:dart", + "seti:liquid", + "seti:livescript", + "seti:lua", + "seti:markdown", + "seti:argdown", + "seti:info", + "seti:clock", + "seti:maven", + "seti:nim", + "seti:github", + "seti:notebook", + "seti:nunjucks", + "seti:npm", + "seti:ocaml", + "seti:odata", + "seti:perl", + "seti:php", + "seti:pipeline", + "seti:pddl", + "seti:plan", + "seti:happenings", + "seti:powershell", + "seti:prisma", + "seti:pug", + "seti:puppet", + "seti:purescript", + "seti:python", + "seti:react", + "seti:rescript", + "seti:R", + "seti:ruby", + "seti:rust", + "seti:sass", + "seti:spring", + "seti:slim", + "seti:smarty", + "seti:sbt", + "seti:scala", + "seti:ethereum", + "seti:stylus", + "seti:svelte", + "seti:swift", + "seti:db", + "seti:terraform", + "seti:tex", + "seti:default", + "seti:twig", + "seti:typescript", + "seti:tsconfig", + "seti:vala", + "seti:vite", + "seti:vue", + "seti:wasm", + "seti:wat", + "seti:xml", + "seti:yml", + "seti:prolog", + "seti:zig", + "seti:zip", + "seti:wgt", + "seti:illustrator", + "seti:photoshop", + "seti:pdf", + "seti:font", + "seti:image", + "seti:svg", + "seti:sublime", + "seti:code-search", + "seti:shell", + "seti:video", + "seti:audio", + "seti:windows", + "seti:jenkins", + "seti:babel", + "seti:bower", + "seti:docker", + "seti:code-climate", + "seti:eslint", + "seti:firebase", + "seti:firefox", + "seti:gitlab", + "seti:grunt", + "seti:gulp", + "seti:ionic", + "seti:platformio", + "seti:rollup", + "seti:stylelint", + "seti:yarn", + "seti:webpack", + "seti:lock", + "seti:license", + "seti:makefile", + "seti:heroku", + "seti:todo", + "seti:ignored" + ] + }, + { + "type": "string", + "pattern": "^\\ import("astro:content-layer-deferred-module?astro%3Acontent-layer-deferred-module=&fileName=src%2Fcontent%2Fdocs%2Findex.mdx&astroContentModuleFlag=true")]]); diff --git a/tutorials/advanced-video-core-api-features/.astro/content.d.ts b/tutorials/advanced-video-core-api-features/.astro/content.d.ts new file mode 100644 index 00000000..0167cd7a --- /dev/null +++ b/tutorials/advanced-video-core-api-features/.astro/content.d.ts @@ -0,0 +1,227 @@ +declare module 'astro:content' { + interface Render { + '.mdoc': Promise<{ + Content(props: Record): import('astro').MarkdownInstance<{}>['Content']; + headings: import('astro').MarkdownHeading[]; + }>; + } +} + +declare module 'astro:content' { + interface Render { + '.mdx': Promise<{ + Content: import('astro').MDXContent; + headings: import('astro').MarkdownHeading[]; + remarkPluginFrontmatter: Record; + components: import('astro').MDXInstance<{}>['components']; + }>; + } +} + +declare module 'astro:content' { + export interface RenderResult { + Content: import('astro/runtime/server/index.js').AstroComponentFactory; + headings: import('astro').MarkdownHeading[]; + remarkPluginFrontmatter: Record; + } + interface Render { + '.md': Promise; + } + + export interface RenderedContent { + html: string; + metadata?: { + imagePaths: Array; + [key: string]: unknown; + }; + } +} + +declare module 'astro:content' { + type Flatten = T extends { [K: string]: infer U } ? U : never; + + export type CollectionKey = keyof AnyEntryMap; + export type CollectionEntry = Flatten; + + export type ContentCollectionKey = keyof ContentEntryMap; + export type DataCollectionKey = keyof DataEntryMap; + + type AllValuesOf = T extends any ? T[keyof T] : never; + type ValidContentEntrySlug = AllValuesOf< + ContentEntryMap[C] + >['slug']; + + export type ReferenceDataEntry< + C extends CollectionKey, + E extends keyof DataEntryMap[C] = string, + > = { + collection: C; + id: E; + }; + export type ReferenceContentEntry< + C extends keyof ContentEntryMap, + E extends ValidContentEntrySlug | (string & {}) = string, + > = { + collection: C; + slug: E; + }; + export type ReferenceLiveEntry = { + collection: C; + id: string; + }; + + /** @deprecated Use `getEntry` instead. */ + export function getEntryBySlug< + C extends keyof ContentEntryMap, + E extends ValidContentEntrySlug | (string & {}), + >( + collection: C, + // Note that this has to accept a regular string too, for SSR + entrySlug: E, + ): E extends ValidContentEntrySlug + ? Promise> + : Promise | undefined>; + + /** @deprecated Use `getEntry` instead. */ + export function getDataEntryById( + collection: C, + entryId: E, + ): Promise>; + + export function getCollection>( + collection: C, + filter?: (entry: CollectionEntry) => entry is E, + ): Promise; + export function getCollection( + collection: C, + filter?: (entry: CollectionEntry) => unknown, + ): Promise[]>; + + export function getLiveCollection( + collection: C, + filter?: LiveLoaderCollectionFilterType, + ): Promise< + import('astro').LiveDataCollectionResult, LiveLoaderErrorType> + >; + + export function getEntry< + C extends keyof ContentEntryMap, + E extends ValidContentEntrySlug | (string & {}), + >( + entry: ReferenceContentEntry, + ): E extends ValidContentEntrySlug + ? Promise> + : Promise | undefined>; + export function getEntry< + C extends keyof DataEntryMap, + E extends keyof DataEntryMap[C] | (string & {}), + >( + entry: ReferenceDataEntry, + ): E extends keyof DataEntryMap[C] + ? Promise + : Promise | undefined>; + export function getEntry< + C extends keyof ContentEntryMap, + E extends ValidContentEntrySlug | (string & {}), + >( + collection: C, + slug: E, + ): E extends ValidContentEntrySlug + ? Promise> + : Promise | undefined>; + export function getEntry< + C extends keyof DataEntryMap, + E extends keyof DataEntryMap[C] | (string & {}), + >( + collection: C, + id: E, + ): E extends keyof DataEntryMap[C] + ? string extends keyof DataEntryMap[C] + ? Promise | undefined + : Promise + : Promise | undefined>; + export function getLiveEntry( + collection: C, + filter: string | LiveLoaderEntryFilterType, + ): Promise, LiveLoaderErrorType>>; + + /** Resolve an array of entry references from the same collection */ + export function getEntries( + entries: ReferenceContentEntry>[], + ): Promise[]>; + export function getEntries( + entries: ReferenceDataEntry[], + ): Promise[]>; + + export function render( + entry: AnyEntryMap[C][string], + ): Promise; + + export function reference( + collection: C, + ): import('astro/zod').ZodEffects< + import('astro/zod').ZodString, + C extends keyof ContentEntryMap + ? ReferenceContentEntry> + : ReferenceDataEntry + >; + // Allow generic `string` to avoid excessive type errors in the config + // if `dev` is not running to update as you edit. + // Invalid collection names will be caught at build time. + export function reference( + collection: C, + ): import('astro/zod').ZodEffects; + + type ReturnTypeOrOriginal = T extends (...args: any[]) => infer R ? R : T; + type InferEntrySchema = import('astro/zod').infer< + ReturnTypeOrOriginal['schema']> + >; + + type ContentEntryMap = { + + }; + + type DataEntryMap = { + "docs": Record; + rendered?: RenderedContent; + filePath?: string; +}>; + + }; + + type AnyEntryMap = ContentEntryMap & DataEntryMap; + + type ExtractLoaderTypes = T extends import('astro/loaders').LiveLoader< + infer TData, + infer TEntryFilter, + infer TCollectionFilter, + infer TError + > + ? { data: TData; entryFilter: TEntryFilter; collectionFilter: TCollectionFilter; error: TError } + : { data: never; entryFilter: never; collectionFilter: never; error: never }; + type ExtractDataType = ExtractLoaderTypes['data']; + type ExtractEntryFilterType = ExtractLoaderTypes['entryFilter']; + type ExtractCollectionFilterType = ExtractLoaderTypes['collectionFilter']; + type ExtractErrorType = ExtractLoaderTypes['error']; + + type LiveLoaderDataType = + LiveContentConfig['collections'][C]['schema'] extends undefined + ? ExtractDataType + : import('astro/zod').infer< + Exclude + >; + type LiveLoaderEntryFilterType = + ExtractEntryFilterType; + type LiveLoaderCollectionFilterType = + ExtractCollectionFilterType; + type LiveLoaderErrorType = ExtractErrorType< + LiveContentConfig['collections'][C]['loader'] + >; + + export type ContentConfig = typeof import("../src/content.config.js"); + export type LiveContentConfig = never; +} diff --git a/tutorials/advanced-video-core-api-features/.astro/settings.json b/tutorials/advanced-video-core-api-features/.astro/settings.json new file mode 100644 index 00000000..3cd0db6f --- /dev/null +++ b/tutorials/advanced-video-core-api-features/.astro/settings.json @@ -0,0 +1,5 @@ +{ + "_variables": { + "lastUpdateCheck": 1736170580536 + } +} \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/.astro/types.d.ts b/tutorials/advanced-video-core-api-features/.astro/types.d.ts new file mode 100644 index 00000000..03d7cc43 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/.astro/types.d.ts @@ -0,0 +1,2 @@ +/// +/// \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/AGENTS.md b/tutorials/advanced-video-core-api-features/AGENTS.md new file mode 100644 index 00000000..f63409d1 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/AGENTS.md @@ -0,0 +1,182 @@ +# Vonage Interactive Tutorial — Authoring Instructions + +You are helping author a **Vonage interactive tutorial** built with Astro, Starlight, and Markdoc. +These instructions apply to all AI-assisted edits in this project. + +--- + +## Project Structure + +``` +tutorials// +├── src/ +│ └── content/ +│ └── docs/ ← ALL tutorial step files go here +│ ├── index.mdx ← Landing page (title/tagline only — do not edit content) +│ ├── 01-welcome.md +│ ├── 02-...md +│ └── NN-whats-next.md +├── astro.config.mjs ← Do not modify +├── markdoc.config.mjs ← Do not modify +├── package.json ← Do not modify +└── tutorial-config.json ← Do not modify manually +``` + +**Only edit files inside `src/content/docs/`.** Do not touch config files, `index.mdx` content, +or any file outside `src/` unless explicitly asked. + +--- + +## File Naming Convention + +All step files must follow this pattern: + +``` +NN-kebab-case-title.md +``` + +- `NN` = zero-padded two-digit step number: `01`, `02`, `03` ... `10`, `11` +- Name = lowercase words separated by hyphens, no spaces, no underscores +- Extension: always `.md` + +### Examples +``` +01-welcome.md +02-install-dependencies.md +03-initialize-client.md +04-send-the-message.md +05-run-the-code.md +06-whats-next.md +``` + +--- + +## Conventional First and Last Steps + +**First step — always `01-welcome.md`** +Introduce the technology or API being used. Cover what it is, what it can do, +and what the user will build by the end of the tutorial. + +**Last step — always `NN-whats-next.md`** +Point the user to further reading. Always include a link to the +[Vonage Developer Portal](https://developer.vonage.com). + +--- + +## Frontmatter + +Every step file starts with YAML frontmatter: + +```yaml +--- +title: Short Step Title # required — appears in the sidebar +description: One sentence. # optional — shown in meta/search +--- +``` + +- `title` is required and should be short (3–6 words) +- `description` is optional; use it for the first step and the last step + +--- + +## Content Guidelines + +- One concept per step. Keep steps short and focused. +- Start each step with 1–3 sentences explaining what the user will do and why. +- Use an H1 heading (`#`) that matches or elaborates on the `title`. +- Use fenced code blocks for all code and terminal commands (with language identifier). +- End each step (except the last) with 1–2 sentences summarising what was accomplished. + +--- + +## Available Markdoc Components + +This project uses Markdoc (`.md` files, not `.mdx`). Use these components: + +### Asides (callout boxes) + +``` +{% aside %} +General note or information. +{% /aside %} + +{% aside type="tip" %} +Helpful tip or shortcut. +{% /aside %} + +{% aside type="caution" %} +Warning — something to be careful about. +{% /aside %} + +{% aside type="danger" %} +Critical warning — data loss, security risk, etc. +{% /aside %} +``` + +### File Trees + +``` +{% filetree %} + +- package.json +- src/ + - index.js + - utils/ + - helpers.js + +{% /filetree %} +``` + +### Numbered Steps (within a page) + +``` +{% steps %} + +1. First action. + +2. Second action. + +3. Third action. + +{% /steps %} +``` + +### Tabs + +``` +{% tabs %} +{% tabitem label="Node.js" %} +Node.js-specific content here. +{% /tabitem %} +{% tabitem label="Python" %} +Python-specific content here. +{% /tabitem %} +{% /tabs %} +``` + +--- + +## Code Blocks + +Use standard fenced markdown with a language identifier: + +```` +```sh +npm install @vonage/server-sdk +``` + +```js +const vonage = new Vonage({ apiKey: '...', apiSecret: '...' }); +``` + +```python +client = vonage.Client(key="...", secret="...") +``` +```` + +--- + +## Reference + +`src/content/docs/02-step-template.md` is a complete annotated example of a well-formed +tutorial step. Use it as a structural reference when generating new steps. diff --git a/tutorials/advanced-video-core-api-features/README.md b/tutorials/advanced-video-core-api-features/README.md new file mode 100644 index 00000000..b48456fe --- /dev/null +++ b/tutorials/advanced-video-core-api-features/README.md @@ -0,0 +1,3 @@ +# Advanced Video Core API Features + +Shared interactive workspace for the Advanced Video Core API Features learning path. diff --git a/tutorials/advanced-video-core-api-features/astro.config.mjs b/tutorials/advanced-video-core-api-features/astro.config.mjs new file mode 100644 index 00000000..6d42c1d1 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/astro.config.mjs @@ -0,0 +1,27 @@ +import { defineConfig } from 'astro/config'; + +import markdoc from '@astrojs/markdoc'; +import starlight from '@astrojs/starlight'; +import relativeLinks from 'astro-relative-links'; +import vonageIntegration from './vonage-toolbar/integration.ts'; + +// https://astro.build/config +export default defineConfig({ + integrations: [ + relativeLinks(), + vonageIntegration, + starlight({ + title: 'Advanced Video Core API Features', + tableOfContents: true, + pagefind: false, + }), + markdoc({ allowHTML: true }) + ], + vite: { + server: { + fs: { + strict: false + } + } + } +}); diff --git a/tutorials/advanced-video-core-api-features/download-toolbar.js b/tutorials/advanced-video-core-api-features/download-toolbar.js new file mode 100644 index 00000000..56d141c7 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/download-toolbar.js @@ -0,0 +1,40 @@ +import fs from 'fs/promises'; + +async function downloadFile(url, filename) { + console.log('downloading: ', filename); + try { + const response = await fetch(url); + const buffer = await response.arrayBuffer(); + + await fs.mkdir('./vonage-toolbar', { recursive: true }); + + await fs.writeFile( + `./vonage-toolbar/${filename}`, + Buffer.from(buffer) + ); + + console.log(`✅ File ${filename} downloaded and written successfully!`); + + } catch (error) { + console.error(`❌ Error downloading/writing ${filename}:`, error); + } +} + +async function main() { + console.log('download toolbar application files'); + + await Promise.all([ + downloadFile( + 'https://raw.githubusercontent.com/vonage-community/tutorial-interactive_tutorials/refs/heads/main/toolbar-app/vonage-toolbar/integration.ts', + 'integration.ts' + ), + downloadFile( + 'https://raw.githubusercontent.com/vonage-community/tutorial-interactive_tutorials/refs/heads/main/toolbar-app/vonage-toolbar/app.ts', + 'app.ts' + ) + ]); + + console.log('🎉 All downloads complete. Starting Astro...'); +} + +main(); diff --git a/tutorials/advanced-video-core-api-features/markdoc.config.mjs b/tutorials/advanced-video-core-api-features/markdoc.config.mjs new file mode 100644 index 00000000..33c4f481 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/markdoc.config.mjs @@ -0,0 +1,6 @@ +import { defineMarkdocConfig } from '@astrojs/markdoc/config'; +import starlightMarkdoc from '@astrojs/starlight-markdoc'; + +export default defineMarkdocConfig({ + extends: [starlightMarkdoc()], +}); \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/package-lock.json b/tutorials/advanced-video-core-api-features/package-lock.json new file mode 100644 index 00000000..3bacb185 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/package-lock.json @@ -0,0 +1,8444 @@ +{ + "name": "advanced-video-core-api-features", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "advanced-video-core-api-features", + "version": "0.0.1", + "hasInstallScript": true, + "dependencies": { + "@astrojs/markdoc": "^0.15.10", + "@astrojs/starlight": "^0.37.6", + "@astrojs/starlight-markdoc": "^0.5.1", + "adm-zip": "^0.5.16", + "astro": "^5.18.0", + "astro-relative-links": "^0.4.2", + "sharp": "^0.33.0" + }, + "devDependencies": { + "http-server": "^14.1.1" + } + }, + "node_modules/@astrojs/compiler": { + "version": "2.13.0", + "resolved": "https://registry.npmjs.org/@astrojs/compiler/-/compiler-2.13.0.tgz", + "integrity": "sha512-mqVORhUJViA28fwHYaWmsXSzLO9osbdZ5ImUfxBarqsYdMlPbqAqGJCxsNzvppp1BEzc1mJNjOVvQqeDN8Vspw==", + "license": "MIT" + }, + "node_modules/@astrojs/internal-helpers": { + "version": "0.7.5", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.7.5.tgz", + "integrity": "sha512-vreGnYSSKhAjFJCWAwe/CNhONvoc5lokxtRoZims+0wa3KbHBdPHSSthJsKxPd8d/aic6lWKpRTYGY/hsgK6EA==", + "license": "MIT" + }, + "node_modules/@astrojs/markdoc": { + "version": "0.15.10", + "resolved": "https://registry.npmjs.org/@astrojs/markdoc/-/markdoc-0.15.10.tgz", + "integrity": "sha512-05V4Vy4J14aDpBstKbuyO7ArY+VCF80SElWyx80ddeWkUiOERw4SjGbnzgAI4AQtDdJ+pJdlv/16TMM65+YafA==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.7.5", + "@astrojs/markdown-remark": "6.3.10", + "@astrojs/prism": "3.3.0", + "@markdoc/markdoc": "^0.5.4", + "esbuild": "^0.25.0", + "github-slugger": "^2.0.0", + "htmlparser2": "^10.0.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + }, + "peerDependencies": { + "astro": "^5.0.0" + } + }, + "node_modules/@astrojs/markdown-remark": { + "version": "6.3.10", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-6.3.10.tgz", + "integrity": "sha512-kk4HeYR6AcnzC4QV8iSlOfh+N8TZ3MEStxPyenyCtemqn8IpEATBFMTJcfrNW32dgpt6MY3oCkMM/Tv3/I4G3A==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.7.5", + "@astrojs/prism": "3.3.0", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.3", + "hast-util-to-text": "^4.0.2", + "import-meta-resolve": "^4.2.0", + "js-yaml": "^4.1.1", + "mdast-util-definitions": "^6.0.0", + "rehype-raw": "^7.0.0", + "rehype-stringify": "^10.0.1", + "remark-gfm": "^4.0.1", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.2", + "remark-smartypants": "^3.0.2", + "shiki": "^3.19.0", + "smol-toml": "^1.5.2", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.2", + "vfile": "^6.0.3" + } + }, + "node_modules/@astrojs/mdx": { + "version": "4.3.13", + "resolved": "https://registry.npmjs.org/@astrojs/mdx/-/mdx-4.3.13.tgz", + "integrity": "sha512-IHDHVKz0JfKBy3//52JSiyWv089b7GVSChIXLrlUOoTLWowG3wr2/8hkaEgEyd/vysvNQvGk+QhysXpJW5ve6Q==", + "license": "MIT", + "dependencies": { + "@astrojs/markdown-remark": "6.3.10", + "@mdx-js/mdx": "^3.1.1", + "acorn": "^8.15.0", + "es-module-lexer": "^1.7.0", + "estree-util-visit": "^2.0.0", + "hast-util-to-html": "^9.0.5", + "piccolore": "^0.1.3", + "rehype-raw": "^7.0.0", + "remark-gfm": "^4.0.1", + "remark-smartypants": "^3.0.2", + "source-map": "^0.7.6", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.3" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + }, + "peerDependencies": { + "astro": "^5.0.0" + } + }, + "node_modules/@astrojs/prism": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@astrojs/prism/-/prism-3.3.0.tgz", + "integrity": "sha512-q8VwfU/fDZNoDOf+r7jUnMC2//H2l0TuQ6FkGJL8vD8nw/q5KiL3DS1KKBI3QhI9UQhpJ5dc7AtqfbXWuOgLCQ==", + "license": "MIT", + "dependencies": { + "prismjs": "^1.30.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@astrojs/sitemap": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/@astrojs/sitemap/-/sitemap-3.7.0.tgz", + "integrity": "sha512-+qxjUrz6Jcgh+D5VE1gKUJTA3pSthuPHe6Ao5JCxok794Lewx8hBFaWHtOnN0ntb2lfOf7gvOi9TefUswQ/ZVA==", + "license": "MIT", + "dependencies": { + "sitemap": "^8.0.2", + "stream-replace-string": "^2.0.0", + "zod": "^3.25.76" + } + }, + "node_modules/@astrojs/starlight": { + "version": "0.37.6", + "resolved": "https://registry.npmjs.org/@astrojs/starlight/-/starlight-0.37.6.tgz", + "integrity": "sha512-wQrKwH431q+8FsLBnNQeG+R36TMtEGxTQ2AuiVpcx9APcazvL3n7wVW8mMmYyxX0POjTnxlcWPkdMGR3Yj1L+w==", + "license": "MIT", + "dependencies": { + "@astrojs/markdown-remark": "^6.3.1", + "@astrojs/mdx": "^4.2.3", + "@astrojs/sitemap": "^3.3.0", + "@pagefind/default-ui": "^1.3.0", + "@types/hast": "^3.0.4", + "@types/js-yaml": "^4.0.9", + "@types/mdast": "^4.0.4", + "astro-expressive-code": "^0.41.1", + "bcp-47": "^2.1.0", + "hast-util-from-html": "^2.0.1", + "hast-util-select": "^6.0.2", + "hast-util-to-string": "^3.0.0", + "hastscript": "^9.0.0", + "i18next": "^23.11.5", + "js-yaml": "^4.1.0", + "klona": "^2.0.6", + "magic-string": "^0.30.17", + "mdast-util-directive": "^3.0.0", + "mdast-util-to-markdown": "^2.1.0", + "mdast-util-to-string": "^4.0.0", + "pagefind": "^1.3.0", + "rehype": "^13.0.1", + "rehype-format": "^5.0.0", + "remark-directive": "^3.0.0", + "ultrahtml": "^1.6.0", + "unified": "^11.0.5", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.2" + }, + "peerDependencies": { + "astro": "^5.5.0" + } + }, + "node_modules/@astrojs/starlight-markdoc": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/@astrojs/starlight-markdoc/-/starlight-markdoc-0.5.1.tgz", + "integrity": "sha512-YxTvCHr/0ovDUhuRm0xeCjjGYtnqpa9EtTwc9fTbRO7Zpnsu1mDmm2L9HHSBWZ4YsFb005/GJYNDjk4WXNLoUg==", + "license": "MIT", + "peerDependencies": { + "@astrojs/markdoc": ">=0.12.1", + "@astrojs/starlight": ">=0.35.0" + } + }, + "node_modules/@astrojs/telemetry": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@astrojs/telemetry/-/telemetry-3.3.0.tgz", + "integrity": "sha512-UFBgfeldP06qu6khs/yY+q1cDAaArM2/7AEIqQ9Cuvf7B1hNLq0xDrZkct+QoIGyjq56y8IaE2I3CTvG99mlhQ==", + "license": "MIT", + "dependencies": { + "ci-info": "^4.2.0", + "debug": "^4.4.0", + "dlv": "^1.1.3", + "dset": "^3.1.4", + "is-docker": "^3.0.0", + "is-wsl": "^3.1.0", + "which-pm-runs": "^1.1.0" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.28.5.tgz", + "integrity": "sha512-KKBU1VGYR7ORr3At5HAtUQ+TV3SzRCXmA/8OdDZiLDBIZxVyzXuztPjfLd3BV1PRAQGCMWWSHYhL0F8d5uHBDQ==", + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.5" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.28.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.28.4.tgz", + "integrity": "sha512-Q/N6JNWvIvPnLDvjlE1OUBLPQHH6l3CltCEsHIujp45zQUSSh8K+gHnaEX45yAT1nyngnINhvWtzN+Nb9D8RAQ==", + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.28.5.tgz", + "integrity": "sha512-qQ5m48eI/MFLQ5PxQj4PFaprjyCTLI37ElWMmNs0K8Lk3dVeOdNpB3ks8jc7yM5CDmVC73eMVk/trk3fgmrUpA==", + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@capsizecss/unpack": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@capsizecss/unpack/-/unpack-4.0.0.tgz", + "integrity": "sha512-VERIM64vtTP1C4mxQ5thVT9fK0apjPFobqybMtA1UdUujWka24ERHbRHFGmpbbhp73MhV+KSsHQH9C6uOTdEQA==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/@ctrl/tinycolor": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/@ctrl/tinycolor/-/tinycolor-4.2.0.tgz", + "integrity": "sha512-kzyuwOAQnXJNLS9PSyrk0CWk35nWJW/zl/6KvnTBMFK65gm7U1/Z5BqjxeapjZCIhQcM/DsrEmcbRwDyXyXK4A==", + "license": "MIT", + "engines": { + "node": ">=14" + } + }, + "node_modules/@emnapi/runtime": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.7.1.tgz", + "integrity": "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==", + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@expressive-code/core": { + "version": "0.41.7", + "resolved": "https://registry.npmjs.org/@expressive-code/core/-/core-0.41.7.tgz", + "integrity": "sha512-ck92uZYZ9Wba2zxkiZLsZGi9N54pMSAVdrI9uW3Oo9AtLglD5RmrdTwbYPCT2S/jC36JGB2i+pnQtBm/Ib2+dg==", + "license": "MIT", + "dependencies": { + "@ctrl/tinycolor": "^4.0.4", + "hast-util-select": "^6.0.2", + "hast-util-to-html": "^9.0.1", + "hast-util-to-text": "^4.0.1", + "hastscript": "^9.0.0", + "postcss": "^8.4.38", + "postcss-nested": "^6.0.1", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.1" + } + }, + "node_modules/@expressive-code/plugin-frames": { + "version": "0.41.7", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-frames/-/plugin-frames-0.41.7.tgz", + "integrity": "sha512-diKtxjQw/979cTglRFaMCY/sR6hWF0kSMg8jsKLXaZBSfGS0I/Hoe7Qds3vVEgeoW+GHHQzMcwvgx/MOIXhrTA==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.41.7" + } + }, + "node_modules/@expressive-code/plugin-shiki": { + "version": "0.41.7", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-shiki/-/plugin-shiki-0.41.7.tgz", + "integrity": "sha512-DL605bLrUOgqTdZ0Ot5MlTaWzppRkzzqzeGEu7ODnHF39IkEBbFdsC7pbl3LbUQ1DFtnfx6rD54k/cdofbW6KQ==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.41.7", + "shiki": "^3.2.2" + } + }, + "node_modules/@expressive-code/plugin-text-markers": { + "version": "0.41.7", + "resolved": "https://registry.npmjs.org/@expressive-code/plugin-text-markers/-/plugin-text-markers-0.41.7.tgz", + "integrity": "sha512-Ewpwuc5t6eFdZmWlFyeuy3e1PTQC0jFvw2Q+2bpcWXbOZhPLsT7+h8lsSIJxb5mS7wZko7cKyQ2RLYDyK6Fpmw==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.41.7" + } + }, + "node_modules/@img/colour": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@img/colour/-/colour-1.0.0.tgz", + "integrity": "sha512-A5P/LfWGFSl6nsckYtjw9da+19jB8hkJ6ACTGcDfEJ0aE+l2n2El7dsVM7UVHZQ9s2lmYMWlrS21YLy2IR1LUw==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=18" + } + }, + "node_modules/@img/sharp-darwin-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.33.5.tgz", + "integrity": "sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-darwin-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.33.5.tgz", + "integrity": "sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.0.4.tgz", + "integrity": "sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.0.4.tgz", + "integrity": "sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.0.5.tgz", + "integrity": "sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.0.4.tgz", + "integrity": "sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-ppc64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.2.4.tgz", + "integrity": "sha512-FMuvGijLDYG6lW+b/UvyilUWu5Ayu+3r2d1S8notiGCIyYU/76eig1UfMmkZ7vwgOrzKzlQbFSuQfgm7GYUPpA==", + "cpu": [ + "ppc64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-riscv64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-riscv64/-/sharp-libvips-linux-riscv64-1.2.4.tgz", + "integrity": "sha512-oVDbcR4zUC0ce82teubSm+x6ETixtKZBh/qbREIOcI3cULzDyb18Sr/Wcyx7NRQeQzOiHTNbZFF1UwPS2scyGA==", + "cpu": [ + "riscv64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.0.4.tgz", + "integrity": "sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.0.4.tgz", + "integrity": "sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.0.4.tgz", + "integrity": "sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.0.4.tgz", + "integrity": "sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-linux-arm": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.33.5.tgz", + "integrity": "sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.0.5" + } + }, + "node_modules/@img/sharp-linux-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.33.5.tgz", + "integrity": "sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-linux-ppc64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-ppc64/-/sharp-linux-ppc64-0.34.5.tgz", + "integrity": "sha512-7zznwNaqW6YtsfrGGDA6BRkISKAAE1Jo0QdpNYXNMHu2+0dTrPflTLNkpc8l7MUP5M16ZJcUvysVWWrMefZquA==", + "cpu": [ + "ppc64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-ppc64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-riscv64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-riscv64/-/sharp-linux-riscv64-0.34.5.tgz", + "integrity": "sha512-51gJuLPTKa7piYPaVs8GmByo7/U7/7TZOq+cnXJIHZKavIRHAP77e3N2HEl3dgiqdD/w0yUfiJnII77PuDDFdw==", + "cpu": [ + "riscv64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-riscv64": "1.2.4" + } + }, + "node_modules/@img/sharp-linux-s390x": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.33.5.tgz", + "integrity": "sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.0.4" + } + }, + "node_modules/@img/sharp-linux-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.33.5.tgz", + "integrity": "sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.33.5.tgz", + "integrity": "sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4" + } + }, + "node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.33.5.tgz", + "integrity": "sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.0.4" + } + }, + "node_modules/@img/sharp-wasm32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.33.5.tgz", + "integrity": "sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.2.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-arm64/-/sharp-win32-arm64-0.34.5.tgz", + "integrity": "sha512-WQ3AgWCWYSb2yt+IG8mnC6Jdk9Whs7O0gxphblsLvdhSpSTtmu69ZG1Gkb6NuvxsNACwiPV6cNSZNzt0KPsw7g==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-ia32": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.33.5.tgz", + "integrity": "sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@img/sharp-win32-x64": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.33.5.tgz", + "integrity": "sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", + "license": "ISC", + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "license": "MIT" + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", + "license": "MIT", + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "license": "MIT" + }, + "node_modules/@markdoc/markdoc": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/@markdoc/markdoc/-/markdoc-0.5.4.tgz", + "integrity": "sha512-36YFNlqFk//gVNGm5xZaTWVwbAVF2AOmVjf1tiUrS6tCoD/YSkVy2E3CkAfhc5MlKcjparL/QFHCopxL4zRyaQ==", + "license": "MIT", + "engines": { + "node": ">=14.7.0" + }, + "optionalDependencies": { + "@types/linkify-it": "^3.0.1", + "@types/markdown-it": "12.2.3" + }, + "peerDependencies": { + "@types/react": "*", + "react": "*" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + }, + "react": { + "optional": true + } + } + }, + "node_modules/@mdx-js/mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@mdx-js/mdx/-/mdx-3.1.1.tgz", + "integrity": "sha512-f6ZO2ifpwAQIpzGWaBQT2TXxPv6z3RBzQKpVftEWN78Vl/YweF1uwussDx8ECAXVtr3Rs89fKyG9YlzUs9DyGQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdx": "^2.0.0", + "acorn": "^8.0.0", + "collapse-white-space": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-util-scope": "^1.0.0", + "estree-walker": "^3.0.0", + "hast-util-to-jsx-runtime": "^2.0.0", + "markdown-extensions": "^2.0.0", + "recma-build-jsx": "^1.0.0", + "recma-jsx": "^1.0.0", + "recma-stringify": "^1.0.0", + "rehype-recma": "^1.0.0", + "remark-mdx": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.0.0", + "source-map": "^0.7.0", + "unified": "^11.0.0", + "unist-util-position-from-estree": "^2.0.0", + "unist-util-stringify-position": "^4.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/@oslojs/encoding": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@oslojs/encoding/-/encoding-1.1.0.tgz", + "integrity": "sha512-70wQhgYmndg4GCPxPPxPGevRKqTIJ2Nh4OkiMWmDAVYsTQ+Ta7Sq+rPevXyXGdzr30/qZBnyOalCszoMxlyldQ==", + "license": "MIT" + }, + "node_modules/@pagefind/darwin-arm64": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-arm64/-/darwin-arm64-1.3.0.tgz", + "integrity": "sha512-365BEGl6ChOsauRjyVpBjXybflXAOvoMROw3TucAROHIcdBvXk9/2AmEvGFU0r75+vdQI4LJdJdpH4Y6Yqaj4A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@pagefind/darwin-x64": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@pagefind/darwin-x64/-/darwin-x64-1.3.0.tgz", + "integrity": "sha512-zlGHA23uuXmS8z3XxEGmbHpWDxXfPZ47QS06tGUq0HDcZjXjXHeLG+cboOy828QIV5FXsm9MjfkP5e4ZNbOkow==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@pagefind/default-ui": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@pagefind/default-ui/-/default-ui-1.3.0.tgz", + "integrity": "sha512-CGKT9ccd3+oRK6STXGgfH+m0DbOKayX6QGlq38TfE1ZfUcPc5+ulTuzDbZUnMo+bubsEOIypm4Pl2iEyzZ1cNg==", + "license": "MIT" + }, + "node_modules/@pagefind/linux-arm64": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@pagefind/linux-arm64/-/linux-arm64-1.3.0.tgz", + "integrity": "sha512-8lsxNAiBRUk72JvetSBXs4WRpYrQrVJXjlRRnOL6UCdBN9Nlsz0t7hWstRk36+JqHpGWOKYiuHLzGYqYAqoOnQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pagefind/linux-x64": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@pagefind/linux-x64/-/linux-x64-1.3.0.tgz", + "integrity": "sha512-hAvqdPJv7A20Ucb6FQGE6jhjqy+vZ6pf+s2tFMNtMBG+fzcdc91uTw7aP/1Vo5plD0dAOHwdxfkyw0ugal4kcQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@pagefind/windows-x64": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/@pagefind/windows-x64/-/windows-x64-1.3.0.tgz", + "integrity": "sha512-BR1bIRWOMqkf8IoU576YDhij1Wd/Zf2kX/kCI0b2qzCKC8wcc2GQJaaRMCpzvCCrmliO4vtJ6RITp/AnoYUUmQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "license": "MIT", + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.3.0.tgz", + "integrity": "sha512-5EdhGZtnu3V88ces7s53hhfK5KSASnJZv8Lulpc04cWO3REESroJXg73DFsOmgbU2BhwV0E20bu2IDZb3VKW4Q==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^4.0.2" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0||^4.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils/node_modules/estree-walker": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.1.tgz", + "integrity": "sha512-d6FinEBLdIiK+1uACUttJKfgZREXrF0Qc2SmLII7W2AD8FfiZ9Wjd+rD/iRuf5s5dWrr1GgwXCvPqOuDquOowA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.1.tgz", + "integrity": "sha512-YjG/EwIDvvYI1YvYbHvDz/BYHtkY4ygUIXHnTdLhG+hKIQFBiosfWiACWortsKPKU/+dUwQQCKQM3qrDe8c9BA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.1.tgz", + "integrity": "sha512-mjCpF7GmkRtSJwon+Rq1N8+pI+8l7w5g9Z3vWj4T7abguC4Czwi3Yu/pFaLvA3TTeMVjnu3ctigusqWUfjZzvw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.1.tgz", + "integrity": "sha512-haZ7hJ1JT4e9hqkoT9R/19XW2QKqjfJVv+i5AGg57S+nLk9lQnJ1F/eZloRO3o9Scy9CM3wQ9l+dkXtcBgN5Ew==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.1.tgz", + "integrity": "sha512-czw90wpQq3ZsAVBlinZjAYTKduOjTywlG7fEeWKUA7oCmpA8xdTkxZZlwNJKWqILlq0wehoZcJYfBvOyhPTQ6w==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.1.tgz", + "integrity": "sha512-KVB2rqsxTHuBtfOeySEyzEOB7ltlB/ux38iu2rBQzkjbwRVlkhAGIEDiiYnO2kFOkJp+Z7pUXKyrRRFuFUKt+g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.1.tgz", + "integrity": "sha512-L+34Qqil+v5uC0zEubW7uByo78WOCIrBvci69E7sFASRl0X7b/MB6Cqd1lky/CtcSVTydWa2WZwFuWexjS5o6g==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.1.tgz", + "integrity": "sha512-n83O8rt4v34hgFzlkb1ycniJh7IR5RCIqt6mz1VRJD6pmhRi0CXdmfnLu9dIUS6buzh60IvACM842Ffb3xd6Gg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.1.tgz", + "integrity": "sha512-Nql7sTeAzhTAja3QXeAI48+/+GjBJ+QmAH13snn0AJSNL50JsDqotyudHyMbO2RbJkskbMbFJfIJKWA6R1LCJQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.1.tgz", + "integrity": "sha512-+pUymDhd0ys9GcKZPPWlFiZ67sTWV5UU6zOJat02M1+PiuSGDziyRuI/pPue3hoUwm2uGfxdL+trT6Z9rxnlMA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.1.tgz", + "integrity": "sha512-VSvgvQeIcsEvY4bKDHEDWcpW4Yw7BtlKG1GUT4FzBUlEKQK0rWHYBqQt6Fm2taXS+1bXvJT6kICu5ZwqKCnvlQ==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.1.tgz", + "integrity": "sha512-4LqhUomJqwe641gsPp6xLfhqWMbQV04KtPp7/dIp0nzPxAkNY1AbwL5W0MQpcalLYk07vaW9Kp1PBhdpZYYcEw==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.1.tgz", + "integrity": "sha512-tLQQ9aPvkBxOc/EUT6j3pyeMD6Hb8QF2BTBnCQWP/uu1lhc9AIrIjKnLYMEroIz/JvtGYgI9dF3AxHZNaEH0rw==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.1.tgz", + "integrity": "sha512-RMxFhJwc9fSXP6PqmAz4cbv3kAyvD1etJFjTx4ONqFP9DkTkXsAMU4v3Vyc5BgzC+anz7nS/9tp4obsKfqkDHg==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.1.tgz", + "integrity": "sha512-QKgFl+Yc1eEk6MmOBfRHYF6lTxiiiV3/z/BRrbSiW2I7AFTXoBFvdMEyglohPj//2mZS4hDOqeB0H1ACh3sBbg==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.1.tgz", + "integrity": "sha512-RAjXjP/8c6ZtzatZcA1RaQr6O1TRhzC+adn8YZDnChliZHviqIjmvFwHcxi4JKPSDAt6Uhf/7vqcBzQJy0PDJg==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.1.tgz", + "integrity": "sha512-wcuocpaOlaL1COBYiA89O6yfjlp3RwKDeTIA0hM7OpmhR1Bjo9j31G1uQVpDlTvwxGn2nQs65fBFL5UFd76FcQ==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.1.tgz", + "integrity": "sha512-77PpsFQUCOiZR9+LQEFg9GClyfkNXj1MP6wRnzYs0EeWbPcHs02AXu4xuUbM1zhwn3wqaizle3AEYg5aeoohhg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.1.tgz", + "integrity": "sha512-5cIATbk5vynAjqqmyBjlciMJl1+R/CwX9oLk/EyiFXDWd95KpHdrOJT//rnUl4cUcskrd0jCCw3wpZnhIHdD9w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.1.tgz", + "integrity": "sha512-cl0w09WsCi17mcmWqqglez9Gk8isgeWvoUZ3WiJFYSR3zjBQc2J5/ihSjpl+VLjPqjQ/1hJRcqBfLjssREQILw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.1.tgz", + "integrity": "sha512-4Cv23ZrONRbNtbZa37mLSueXUCtN7MXccChtKpUnQNgF010rjrjfHx3QxkS2PI7LqGT5xXyYs1a7LbzAwT0iCA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.1.tgz", + "integrity": "sha512-i1okWYkA4FJICtr7KpYzFpRTHgy5jdDbZiWfvny21iIKky5YExiDXP+zbXzm3dUcFpkEeYNHgQ5fuG236JPq0g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.1.tgz", + "integrity": "sha512-u09m3CuwLzShA0EYKMNiFgcjjzwqtUMLmuCJLeZWjjOYA3IT2Di09KaxGBTP9xVztWyIWjVdsB2E9goMjZvTQg==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.1.tgz", + "integrity": "sha512-k+600V9Zl1CM7eZxJgMyTUzmrmhB/0XZnF4pRypKAlAgxmedUA+1v9R+XOFv56W4SlHEzfeMtzujLJD22Uz5zg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.1.tgz", + "integrity": "sha512-lWMnixq/QzxyhTV6NjQJ4SFo1J6PvOX8vUx5Wb4bBPsEb+8xZ89Bz6kOXpfXj9ak9AHTQVQzlgzBEc1SyM27xQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@shikijs/core": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/core/-/core-3.23.0.tgz", + "integrity": "sha512-NSWQz0riNb67xthdm5br6lAkvpDJRTgB36fxlo37ZzM2yq0PQFFzbd8psqC2XMPgCzo1fW6cVi18+ArJ44wqgA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4", + "hast-util-to-html": "^9.0.5" + } + }, + "node_modules/@shikijs/engine-javascript": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-javascript/-/engine-javascript-3.23.0.tgz", + "integrity": "sha512-aHt9eiGFobmWR5uqJUViySI1bHMqrAgamWE1TYSUoftkAeCCAiGawPMwM+VCadylQtF4V3VNOZ5LmfItH5f3yA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "oniguruma-to-es": "^4.3.4" + } + }, + "node_modules/@shikijs/engine-oniguruma": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/engine-oniguruma/-/engine-oniguruma-3.23.0.tgz", + "integrity": "sha512-1nWINwKXxKKLqPibT5f4pAFLej9oZzQTsby8942OTlsJzOBZ0MWKiwzMsd+jhzu8YPCHAswGnnN1YtQfirL35g==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2" + } + }, + "node_modules/@shikijs/langs": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/langs/-/langs-3.23.0.tgz", + "integrity": "sha512-2Ep4W3Re5aB1/62RSYQInK9mM3HsLeB91cHqznAJMuylqjzNVAVCMnNWRHFtcNHXsoNRayP9z1qj4Sq3nMqYXg==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0" + } + }, + "node_modules/@shikijs/themes": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/themes/-/themes-3.23.0.tgz", + "integrity": "sha512-5qySYa1ZgAT18HR/ypENL9cUSGOeI2x+4IvYJu4JgVJdizn6kG4ia5Q1jDEOi7gTbN4RbuYtmHh0W3eccOrjMA==", + "license": "MIT", + "dependencies": { + "@shikijs/types": "3.23.0" + } + }, + "node_modules/@shikijs/types": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/@shikijs/types/-/types-3.23.0.tgz", + "integrity": "sha512-3JZ5HXOZfYjsYSk0yPwBrkupyYSLpAE26Qc0HLghhZNGTZg/SKxXIIgoxOpmmeQP0RRSDJTk1/vPfw9tbw+jSQ==", + "license": "MIT", + "dependencies": { + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/@shikijs/vscode-textmate": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/@shikijs/vscode-textmate/-/vscode-textmate-10.0.2.tgz", + "integrity": "sha512-83yeghZ2xxin3Nj8z1NMd/NCuca+gsYXswywDy5bHvwlWL8tpTQmzGeUuHd9FC3E/SBEMvzJRwWEOz5gGes9Qg==", + "license": "MIT" + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "license": "MIT", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/estree-jsx": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/@types/estree-jsx/-/estree-jsx-1.0.5.tgz", + "integrity": "sha512-52CcUVNFyfb1A2ALocQw/Dd1BQFNmSdkuC3BkZ6iqhdMfQz7JWOFRuJFloOzjk+6WijU56m9oKXFAXc7o3Towg==", + "license": "MIT", + "dependencies": { + "@types/estree": "*" + } + }, + "node_modules/@types/hast": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/@types/hast/-/hast-3.0.4.tgz", + "integrity": "sha512-WPs+bbQw5aCj+x6laNGWLH3wviHtoCv/P3+otBhbOhJgG8qtpdAMlTCxLtsTWA7LH1Oh/bFCHsBn0TPS5m30EQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/js-yaml": { + "version": "4.0.9", + "resolved": "https://registry.npmjs.org/@types/js-yaml/-/js-yaml-4.0.9.tgz", + "integrity": "sha512-k4MGaQl5TGo/iipqb2UDG2UwjXziSWkh0uysQelTlJpX1qGlpUZYm8PnO4DxG1qBomtJUdYJ6qR6xdIah10JLg==", + "license": "MIT" + }, + "node_modules/@types/linkify-it": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/linkify-it/-/linkify-it-3.0.5.tgz", + "integrity": "sha512-yg6E+u0/+Zjva+buc3EIb+29XEg4wltq7cSmd4Uc2EE/1nUVmxyzpX6gUXD0V8jIrG0r7YeOGVIbYRkxeooCtw==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/markdown-it": { + "version": "12.2.3", + "resolved": "https://registry.npmjs.org/@types/markdown-it/-/markdown-it-12.2.3.tgz", + "integrity": "sha512-GKMHFfv3458yYy+v/N8gjufHO6MSZKCOXpZc5GXIWWy8uldwfmPn98vp81gZ5f9SVw8YYBctgfJ22a2d7AOMeQ==", + "license": "MIT", + "optional": true, + "dependencies": { + "@types/linkify-it": "*", + "@types/mdurl": "*" + } + }, + "node_modules/@types/mdast": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@types/mdast/-/mdast-4.0.4.tgz", + "integrity": "sha512-kGaNbPh1k7AFzgpud/gMdvIm5xuECykRR+JnWKQno9TAXVa6WIVCGTPvYGekIDL4uwCZQSYbUxNBSb1aUo79oA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/mdurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@types/mdurl/-/mdurl-2.0.0.tgz", + "integrity": "sha512-RGdgjQUZba5p6QEFAVx2OGb8rQDL/cPRG7GiedRzMcJ1tYnUANBncjbSB1NRGwbvjcPeikRABz2nshyPk1bhWg==", + "license": "MIT", + "optional": true + }, + "node_modules/@types/mdx": { + "version": "2.0.13", + "resolved": "https://registry.npmjs.org/@types/mdx/-/mdx-2.0.13.tgz", + "integrity": "sha512-+OWZQfAYyio6YkJb3HLxDrvnx6SWWDbC0zVPfBRzUk0/nqoDyf6dNxQi3eArPe8rJ473nobTMQ/8Zk+LxJ+Yuw==", + "license": "MIT" + }, + "node_modules/@types/ms": { + "version": "0.7.34", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-0.7.34.tgz", + "integrity": "sha512-nG96G3Wp6acyAgJqGasjODb+acrI7KltPiRxzHPXnP3NgI28bpQDRv53olbqGXbfcgF5aiiHmO3xpwEpS5Ld9g==", + "license": "MIT" + }, + "node_modules/@types/nlcst": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@types/nlcst/-/nlcst-2.0.3.tgz", + "integrity": "sha512-vSYNSDe6Ix3q+6Z7ri9lyWqgGhJTmzRjZRqyq15N0Z/1/UnVsno9G/N40NBijoYx2seFDIl0+B2mgAb9mezUCA==", + "license": "MIT", + "dependencies": { + "@types/unist": "*" + } + }, + "node_modules/@types/node": { + "version": "22.10.5", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.10.5.tgz", + "integrity": "sha512-F8Q+SeGimwOo86fiovQh8qiXfFEh2/ocYv7tU5pJ3EXMSSxk1Joj5wefpFK2fHTf/N6HKGSxIDBT9f3gCxXPkQ==", + "license": "MIT", + "dependencies": { + "undici-types": "~6.20.0" + } + }, + "node_modules/@types/sax": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/@types/sax/-/sax-1.2.7.tgz", + "integrity": "sha512-rO73L89PJxeYM3s3pPPjiPgVVcymqU490g0YO5n5By0k2Erzj6tay/4lr1CHAAU4JyOWd1rpQ8bCf6cZfHU96A==", + "license": "MIT", + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/unist": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-3.0.3.tgz", + "integrity": "sha512-ko/gIFJRv177XgZsZcBwnqJN5x/Gien8qNOn0D5bQU/zAzVf9Zt3BlcUiLqhV9y4ARk0GbT3tnUiPNgnTXzc/Q==", + "license": "MIT" + }, + "node_modules/@ungap/structured-clone": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@ungap/structured-clone/-/structured-clone-1.2.1.tgz", + "integrity": "sha512-fEzPV3hSkSMltkw152tJKNARhOupqbH96MZWyRjNaYZOMIzbrTeQDG+MTc6Mr2pgzFQzFxAfmhGDNP5QK++2ZA==", + "license": "ISC" + }, + "node_modules/acorn": { + "version": "8.15.0", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", + "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", + "license": "MIT", + "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==", + "license": "MIT", + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/adm-zip": { + "version": "0.5.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.5.16.tgz", + "integrity": "sha512-TGw5yVi4saajsSEgz25grObGHEUaDrniwvA2qwSC060KfqGPdglhvPMA2lPIoxs3PQIItj2iag35fONcQqgUaQ==", + "license": "MIT", + "engines": { + "node": ">=12.0" + } + }, + "node_modules/ansi-align": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-align/-/ansi-align-3.0.1.tgz", + "integrity": "sha512-IOfwwBF5iczOjp/WeY4YxyjqAFMQoZufdQWDd19SEExbVLNXqvpzSJ/M7Za4/sCPmQ0+GRquoA7bGcINcxew6w==", + "license": "ISC", + "dependencies": { + "string-width": "^4.1.0" + } + }, + "node_modules/ansi-align/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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/ansi-align/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-align/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==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.1.0.tgz", + "integrity": "sha512-7HSX4QQb4CspciLpVFwyRe79O3xsIZDDLER21kERQ71oaPodF8jL725AgJMFAYbooIqolJoRLuM81SpeUkpkvA==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" + } + }, + "node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "license": "ISC", + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/anymatch/node_modules/picomatch": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.2.tgz", + "integrity": "sha512-V7+vQEJ06Z+c5tSye8S+nHUfI51xoXIXjHQ99cQtKUkQqqO1kO/KCJUfZXuB47h/YBlDhah2H3hdUGXn8ie0oA==", + "license": "MIT", + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/arg": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz", + "integrity": "sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==", + "license": "MIT" + }, + "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==", + "license": "Python-2.0" + }, + "node_modules/aria-query": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", + "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/array-iterate": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/array-iterate/-/array-iterate-2.0.1.tgz", + "integrity": "sha512-I1jXZMjAgCMmxT4qxXfPXa6SthSoE8h6gkSI9BGGNv8mP8G/v0blc+qFnZu6K42vTOiuME596QaLO0TP3Lk0xg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/astring": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/astring/-/astring-1.9.0.tgz", + "integrity": "sha512-LElXdjswlqjWrPpJFg1Fx4wpkOCxj1TDHlSV4PlaRxHGWko024xICaa97ZkMfs6DRKlCguiAI+rbXv5GWwXIkg==", + "license": "MIT", + "bin": { + "astring": "bin/astring" + } + }, + "node_modules/astro": { + "version": "5.18.1", + "resolved": "https://registry.npmjs.org/astro/-/astro-5.18.1.tgz", + "integrity": "sha512-m4VWilWZ+Xt6NPoYzC4CgGZim/zQUO7WFL0RHCH0AiEavF1153iC3+me2atDvXpf/yX4PyGUeD8wZLq1cirT3g==", + "license": "MIT", + "dependencies": { + "@astrojs/compiler": "^2.13.0", + "@astrojs/internal-helpers": "0.7.6", + "@astrojs/markdown-remark": "6.3.11", + "@astrojs/telemetry": "3.3.0", + "@capsizecss/unpack": "^4.0.0", + "@oslojs/encoding": "^1.1.0", + "@rollup/pluginutils": "^5.3.0", + "acorn": "^8.15.0", + "aria-query": "^5.3.2", + "axobject-query": "^4.1.0", + "boxen": "8.0.1", + "ci-info": "^4.3.1", + "clsx": "^2.1.1", + "common-ancestor-path": "^1.0.1", + "cookie": "^1.1.1", + "cssesc": "^3.0.0", + "debug": "^4.4.3", + "deterministic-object-hash": "^2.0.2", + "devalue": "^5.6.2", + "diff": "^8.0.3", + "dlv": "^1.1.3", + "dset": "^3.1.4", + "es-module-lexer": "^1.7.0", + "esbuild": "^0.27.3", + "estree-walker": "^3.0.3", + "flattie": "^1.1.1", + "fontace": "~0.4.0", + "github-slugger": "^2.0.0", + "html-escaper": "3.0.3", + "http-cache-semantics": "^4.2.0", + "import-meta-resolve": "^4.2.0", + "js-yaml": "^4.1.1", + "magic-string": "^0.30.21", + "magicast": "^0.5.1", + "mrmime": "^2.0.1", + "neotraverse": "^0.6.18", + "p-limit": "^6.2.0", + "p-queue": "^8.1.1", + "package-manager-detector": "^1.6.0", + "piccolore": "^0.1.3", + "picomatch": "^4.0.3", + "prompts": "^2.4.2", + "rehype": "^13.0.2", + "semver": "^7.7.3", + "shiki": "^3.21.0", + "smol-toml": "^1.6.0", + "svgo": "^4.0.0", + "tinyexec": "^1.0.2", + "tinyglobby": "^0.2.15", + "tsconfck": "^3.1.6", + "ultrahtml": "^1.6.0", + "unifont": "~0.7.3", + "unist-util-visit": "^5.0.0", + "unstorage": "^1.17.4", + "vfile": "^6.0.3", + "vite": "^6.4.1", + "vitefu": "^1.1.1", + "xxhash-wasm": "^1.1.0", + "yargs-parser": "^21.1.1", + "yocto-spinner": "^0.2.3", + "zod": "^3.25.76", + "zod-to-json-schema": "^3.25.1", + "zod-to-ts": "^1.2.0" + }, + "bin": { + "astro": "astro.js" + }, + "engines": { + "node": "18.20.8 || ^20.3.0 || >=22.0.0", + "npm": ">=9.6.5", + "pnpm": ">=7.1.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/astrodotbuild" + }, + "optionalDependencies": { + "sharp": "^0.34.0" + } + }, + "node_modules/astro-expressive-code": { + "version": "0.41.7", + "resolved": "https://registry.npmjs.org/astro-expressive-code/-/astro-expressive-code-0.41.7.tgz", + "integrity": "sha512-hUpogGc6DdAd+I7pPXsctyYPRBJDK7Q7d06s4cyP0Vz3OcbziP3FNzN0jZci1BpCvLn9675DvS7B9ctKKX64JQ==", + "license": "MIT", + "dependencies": { + "rehype-expressive-code": "^0.41.7" + }, + "peerDependencies": { + "astro": "^4.0.0-beta || ^5.0.0-beta || ^3.3.0 || ^6.0.0-beta" + } + }, + "node_modules/astro-relative-links": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/astro-relative-links/-/astro-relative-links-0.4.2.tgz", + "integrity": "sha512-YXwnmZz47yxiIIxWR10LwpGlqvGTERJ7JWX2lFRINTg/sFaPkqTx9xNM50W1+9FNMMxtTn7C8YNW5yDVX33Vzw==", + "license": "MIT", + "dependencies": { + "glob": "^10.3.10" + }, + "peerDependencies": { + "astro": ">=3.0.0" + } + }, + "node_modules/astro/node_modules/@astrojs/internal-helpers": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/@astrojs/internal-helpers/-/internal-helpers-0.7.6.tgz", + "integrity": "sha512-GOle7smBWKfMSP8osUIGOlB5kaHdQLV3foCsf+5Q9Wsuu+C6Fs3Ez/ttXmhjZ1HkSgsogcM1RXSjjOVieHq16Q==", + "license": "MIT" + }, + "node_modules/astro/node_modules/@astrojs/markdown-remark": { + "version": "6.3.11", + "resolved": "https://registry.npmjs.org/@astrojs/markdown-remark/-/markdown-remark-6.3.11.tgz", + "integrity": "sha512-hcaxX/5aC6lQgHeGh1i+aauvSwIT6cfyFjKWvExYSxUhZZBBdvCliOtu06gbQyhbe0pGJNoNmqNlQZ5zYUuIyQ==", + "license": "MIT", + "dependencies": { + "@astrojs/internal-helpers": "0.7.6", + "@astrojs/prism": "3.3.0", + "github-slugger": "^2.0.0", + "hast-util-from-html": "^2.0.3", + "hast-util-to-text": "^4.0.2", + "import-meta-resolve": "^4.2.0", + "js-yaml": "^4.1.1", + "mdast-util-definitions": "^6.0.0", + "rehype-raw": "^7.0.0", + "rehype-stringify": "^10.0.1", + "remark-gfm": "^4.0.1", + "remark-parse": "^11.0.0", + "remark-rehype": "^11.1.2", + "remark-smartypants": "^3.0.2", + "shiki": "^3.21.0", + "smol-toml": "^1.6.0", + "unified": "^11.0.5", + "unist-util-remove-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "unist-util-visit-parents": "^6.0.2", + "vfile": "^6.0.3" + } + }, + "node_modules/astro/node_modules/@esbuild/aix-ppc64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.27.4.tgz", + "integrity": "sha512-cQPwL2mp2nSmHHJlCyoXgHGhbEPMrEEU5xhkcy3Hs/O7nGZqEpZ2sUtLaL9MORLtDfRvVl2/3PAuEkYZH0Ty8Q==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/android-arm": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.27.4.tgz", + "integrity": "sha512-X9bUgvxiC8CHAGKYufLIHGXPJWnr0OCdR0anD2e21vdvgCI8lIfqFbnoeOz7lBjdrAGUhqLZLcQo6MLhTO2DKQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/android-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.27.4.tgz", + "integrity": "sha512-gdLscB7v75wRfu7QSm/zg6Rx29VLdy9eTr2t44sfTW7CxwAtQghZ4ZnqHk3/ogz7xao0QAgrkradbBzcqFPasw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/android-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.27.4.tgz", + "integrity": "sha512-PzPFnBNVF292sfpfhiyiXCGSn9HZg5BcAz+ivBuSsl6Rk4ga1oEXAamhOXRFyMcjwr2DVtm40G65N3GLeH1Lvw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/darwin-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.27.4.tgz", + "integrity": "sha512-b7xaGIwdJlht8ZFCvMkpDN6uiSmnxxK56N2GDTMYPr2/gzvfdQN8rTfBsvVKmIVY/X7EM+/hJKEIbbHs9oA4tQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/darwin-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.27.4.tgz", + "integrity": "sha512-sR+OiKLwd15nmCdqpXMnuJ9W2kpy0KigzqScqHI3Hqwr7IXxBp3Yva+yJwoqh7rE8V77tdoheRYataNKL4QrPw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/freebsd-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.27.4.tgz", + "integrity": "sha512-jnfpKe+p79tCnm4GVav68A7tUFeKQwQyLgESwEAUzyxk/TJr4QdGog9sqWNcUbr/bZt/O/HXouspuQDd9JxFSw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/freebsd-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.27.4.tgz", + "integrity": "sha512-2kb4ceA/CpfUrIcTUl1wrP/9ad9Atrp5J94Lq69w7UwOMolPIGrfLSvAKJp0RTvkPPyn6CIWrNy13kyLikZRZQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-arm": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.27.4.tgz", + "integrity": "sha512-aBYgcIxX/wd5n2ys0yESGeYMGF+pv6g0DhZr3G1ZG4jMfruU9Tl1i2Z+Wnj9/KjGz1lTLCcorqE2viePZqj4Eg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.27.4.tgz", + "integrity": "sha512-7nQOttdzVGth1iz57kxg9uCz57dxQLHWxopL6mYuYthohPKEK0vU0C3O21CcBK6KDlkYVcnDXY099HcCDXd9dA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-ia32": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.27.4.tgz", + "integrity": "sha512-oPtixtAIzgvzYcKBQM/qZ3R+9TEUd1aNJQu0HhGyqtx6oS7qTpvjheIWBbes4+qu1bNlo2V4cbkISr8q6gRBFA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-loong64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.27.4.tgz", + "integrity": "sha512-8mL/vh8qeCoRcFH2nM8wm5uJP+ZcVYGGayMavi8GmRJjuI3g1v6Z7Ni0JJKAJW+m0EtUuARb6Lmp4hMjzCBWzA==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-mips64el": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.27.4.tgz", + "integrity": "sha512-1RdrWFFiiLIW7LQq9Q2NES+HiD4NyT8Itj9AUeCl0IVCA459WnPhREKgwrpaIfTOe+/2rdntisegiPWn/r/aAw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-ppc64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.27.4.tgz", + "integrity": "sha512-tLCwNG47l3sd9lpfyx9LAGEGItCUeRCWeAx6x2Jmbav65nAwoPXfewtAdtbtit/pJFLUWOhpv0FpS6GQAmPrHA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-riscv64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.27.4.tgz", + "integrity": "sha512-BnASypppbUWyqjd1KIpU4AUBiIhVr6YlHx/cnPgqEkNoVOhHg+YiSVxM1RLfiy4t9cAulbRGTNCKOcqHrEQLIw==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-s390x": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.27.4.tgz", + "integrity": "sha512-+eUqgb/Z7vxVLezG8bVB9SfBie89gMueS+I0xYh2tJdw3vqA/0ImZJ2ROeWwVJN59ihBeZ7Tu92dF/5dy5FttA==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/linux-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.27.4.tgz", + "integrity": "sha512-S5qOXrKV8BQEzJPVxAwnryi2+Iq5pB40gTEIT69BQONqR7JH1EPIcQ/Uiv9mCnn05jff9umq/5nqzxlqTOg9NA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/netbsd-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.27.4.tgz", + "integrity": "sha512-xHT8X4sb0GS8qTqiwzHqpY00C95DPAq7nAwX35Ie/s+LO9830hrMd3oX0ZMKLvy7vsonee73x0lmcdOVXFzd6Q==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/netbsd-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.27.4.tgz", + "integrity": "sha512-RugOvOdXfdyi5Tyv40kgQnI0byv66BFgAqjdgtAKqHoZTbTF2QqfQrFwa7cHEORJf6X2ht+l9ABLMP0dnKYsgg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/openbsd-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.27.4.tgz", + "integrity": "sha512-2MyL3IAaTX+1/qP0O1SwskwcwCoOI4kV2IBX1xYnDDqthmq5ArrW94qSIKCAuRraMgPOmG0RDTA74mzYNQA9ow==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/openbsd-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.27.4.tgz", + "integrity": "sha512-u8fg/jQ5aQDfsnIV6+KwLOf1CmJnfu1ShpwqdwC0uA7ZPwFws55Ngc12vBdeUdnuWoQYx/SOQLGDcdlfXhYmXQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/openharmony-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.27.4.tgz", + "integrity": "sha512-JkTZrl6VbyO8lDQO3yv26nNr2RM2yZzNrNHEsj9bm6dOwwu9OYN28CjzZkH57bh4w0I2F7IodpQvUAEd1mbWXg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/sunos-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.27.4.tgz", + "integrity": "sha512-/gOzgaewZJfeJTlsWhvUEmUG4tWEY2Spp5M20INYRg2ZKl9QPO3QEEgPeRtLjEWSW8FilRNacPOg8R1uaYkA6g==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/win32-arm64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.27.4.tgz", + "integrity": "sha512-Z9SExBg2y32smoDQdf1HRwHRt6vAHLXcxD2uGgO/v2jK7Y718Ix4ndsbNMU/+1Qiem9OiOdaqitioZwxivhXYg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/win32-ia32": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.27.4.tgz", + "integrity": "sha512-DAyGLS0Jz5G5iixEbMHi5KdiApqHBWMGzTtMiJ72ZOLhbu/bzxgAe8Ue8CTS3n3HbIUHQz/L51yMdGMeoxXNJw==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@esbuild/win32-x64": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.27.4.tgz", + "integrity": "sha512-+knoa0BDoeXgkNvvV1vvbZX4+hizelrkwmGJBdT17t8FNPwG2lKemmuMZlmaNQ3ws3DKKCxpb4zRZEIp3UxFCg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/astro/node_modules/@img/sharp-darwin-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.5.tgz", + "integrity": "sha512-imtQ3WMJXbMY4fxb/Ndp6HBTNVtWCUI0WdobyheGf5+ad6xX8VIDO8u2xE4qc/fr08CKG/7dDseFtn6M6g/r3w==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-arm64": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-darwin-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.5.tgz", + "integrity": "sha512-YNEFAF/4KQ/PeW0N+r+aVVsoIY0/qxxikF2SWdp+NRkmMB7y9LBZAVqQ4yhGCm/H3H270OSykqmQMKLBhBJDEw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-darwin-x64": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-darwin-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.2.4.tgz", + "integrity": "sha512-zqjjo7RatFfFoP0MkQ51jfuFZBnVE2pRiaydKJ1G/rHZvnsrHAOcQALIi9sA5co5xenQdTugCvtb1cuf78Vf4g==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-darwin-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.2.4.tgz", + "integrity": "sha512-1IOd5xfVhlGwX+zXv2N93k0yMONvUlANylbJw1eTah8K/Jtpi15KC+WSiaX/nBmbm2HxRM1gZ0nSdjSsrZbGKg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "darwin" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-linux-arm": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.2.4.tgz", + "integrity": "sha512-bFI7xcKFELdiNCVov8e44Ia4u2byA+l3XtsAj+Q8tfCwO6BQ8iDojYdvoPMqsKDkuoOo+X6HZA0s0q11ANMQ8A==", + "cpu": [ + "arm" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-linux-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.2.4.tgz", + "integrity": "sha512-excjX8DfsIcJ10x1Kzr4RcWe1edC9PquDRRPx3YVCvQv+U5p7Yin2s32ftzikXojb1PIFc/9Mt28/y+iRklkrw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-linux-s390x": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.2.4.tgz", + "integrity": "sha512-qmp9VrzgPgMoGZyPvrQHqk02uyjA0/QrTO26Tqk6l4ZV0MPWIW6LTkqOIov+J1yEu7MbFQaDpwdwJKhbJvuRxQ==", + "cpu": [ + "s390x" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-linux-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.2.4.tgz", + "integrity": "sha512-tJxiiLsmHc9Ax1bz3oaOYBURTXGIRDODBqhveVHonrHJ9/+k89qbLl0bcJns+e4t4rvaNBxaEZsFtSfAdquPrw==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-linuxmusl-arm64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.2.4.tgz", + "integrity": "sha512-FVQHuwx1IIuNow9QAbYUzJ+En8KcVm9Lk5+uGUQJHaZmMECZmOlix9HnH7n1TRkXMS0pGxIJokIVB9SuqZGGXw==", + "cpu": [ + "arm64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-libvips-linuxmusl-x64": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.2.4.tgz", + "integrity": "sha512-+LpyBk7L44ZIXwz/VYfglaX/okxezESc6UxDSoyo2Ks6Jxc4Y7sGjpgU9s4PMgqgjj1gZCylTieNamqA1MF7Dg==", + "cpu": [ + "x64" + ], + "license": "LGPL-3.0-or-later", + "optional": true, + "os": [ + "linux" + ], + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-linux-arm": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.5.tgz", + "integrity": "sha512-9dLqsvwtg1uuXBGZKsxem9595+ujv0sJ6Vi8wcTANSFpwV/GONat5eCkzQo/1O6zRIkh0m/8+5BjrRr7jDUSZw==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-linux-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.5.tgz", + "integrity": "sha512-bKQzaJRY/bkPOXyKx5EVup7qkaojECG6NLYswgktOZjaXecSAeCWiZwwiFf3/Y+O1HrauiE3FVsGxFg8c24rZg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-arm64": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-linux-s390x": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.5.tgz", + "integrity": "sha512-nQtCk0PdKfho3eC5MrbQoigJ2gd1CgddUMkabUj+rBevs8tZ2cULOx46E7oyX+04WGfABgIwmMC0VqieTiR4jg==", + "cpu": [ + "s390x" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-s390x": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-linux-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.5.tgz", + "integrity": "sha512-MEzd8HPKxVxVenwAa+JRPwEC7QFjoPWuS5NZnBt6B3pu7EG2Ge0id1oLHZpPJdn3OQK+BQDiw9zStiHBTJQQQQ==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linux-x64": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-linuxmusl-arm64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.5.tgz", + "integrity": "sha512-fprJR6GtRsMt6Kyfq44IsChVZeGN97gTD331weR1ex1c1rypDEABN6Tm2xa1wE6lYb5DdEnk03NZPqA7Id21yg==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-linuxmusl-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.5.tgz", + "integrity": "sha512-Jg8wNT1MUzIvhBFxViqrEhWDGzqymo3sV7z7ZsaWbZNDLXRJZoRGrjulp60YYtV4wfY8VIKcWidjojlLcWrd8Q==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-libvips-linuxmusl-x64": "1.2.4" + } + }, + "node_modules/astro/node_modules/@img/sharp-wasm32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.5.tgz", + "integrity": "sha512-OdWTEiVkY2PHwqkbBI8frFxQQFekHaSSkUIJkwzclWZe64O1X4UlUjqqqLaPbUpMOQk6FBu/HtlGXNblIs0huw==", + "cpu": [ + "wasm32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later AND MIT", + "optional": true, + "dependencies": { + "@emnapi/runtime": "^1.7.0" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-win32-ia32": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.5.tgz", + "integrity": "sha512-FV9m/7NmeCmSHDD5j4+4pNI8Cp3aW+JvLoXcTUo0IqyjSfAZJ8dIUmijx1qaJsIiU+Hosw6xM5KijAWRJCSgNg==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/@img/sharp-win32-x64": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.5.tgz", + "integrity": "sha512-+29YMsqY2/9eFEiW93eqWnuLcWcufowXewwSNIT6UwZdUUCrM3oFjMWH/Z6/TMmb4hlFenmfAVbpWeup2jryCw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 AND LGPL-3.0-or-later", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + } + }, + "node_modules/astro/node_modules/esbuild": { + "version": "0.27.4", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.27.4.tgz", + "integrity": "sha512-Rq4vbHnYkK5fws5NF7MYTU68FPRE1ajX7heQ/8QXXWqNgqqJ/GkmmyxIzUnf2Sr/bakf8l54716CcMGHYhMrrQ==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.27.4", + "@esbuild/android-arm": "0.27.4", + "@esbuild/android-arm64": "0.27.4", + "@esbuild/android-x64": "0.27.4", + "@esbuild/darwin-arm64": "0.27.4", + "@esbuild/darwin-x64": "0.27.4", + "@esbuild/freebsd-arm64": "0.27.4", + "@esbuild/freebsd-x64": "0.27.4", + "@esbuild/linux-arm": "0.27.4", + "@esbuild/linux-arm64": "0.27.4", + "@esbuild/linux-ia32": "0.27.4", + "@esbuild/linux-loong64": "0.27.4", + "@esbuild/linux-mips64el": "0.27.4", + "@esbuild/linux-ppc64": "0.27.4", + "@esbuild/linux-riscv64": "0.27.4", + "@esbuild/linux-s390x": "0.27.4", + "@esbuild/linux-x64": "0.27.4", + "@esbuild/netbsd-arm64": "0.27.4", + "@esbuild/netbsd-x64": "0.27.4", + "@esbuild/openbsd-arm64": "0.27.4", + "@esbuild/openbsd-x64": "0.27.4", + "@esbuild/openharmony-arm64": "0.27.4", + "@esbuild/sunos-x64": "0.27.4", + "@esbuild/win32-arm64": "0.27.4", + "@esbuild/win32-ia32": "0.27.4", + "@esbuild/win32-x64": "0.27.4" + } + }, + "node_modules/astro/node_modules/sharp": { + "version": "0.34.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", + "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", + "hasInstallScript": true, + "license": "Apache-2.0", + "optional": true, + "dependencies": { + "@img/colour": "^1.0.0", + "detect-libc": "^2.1.2", + "semver": "^7.7.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.34.5", + "@img/sharp-darwin-x64": "0.34.5", + "@img/sharp-libvips-darwin-arm64": "1.2.4", + "@img/sharp-libvips-darwin-x64": "1.2.4", + "@img/sharp-libvips-linux-arm": "1.2.4", + "@img/sharp-libvips-linux-arm64": "1.2.4", + "@img/sharp-libvips-linux-ppc64": "1.2.4", + "@img/sharp-libvips-linux-riscv64": "1.2.4", + "@img/sharp-libvips-linux-s390x": "1.2.4", + "@img/sharp-libvips-linux-x64": "1.2.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.2.4", + "@img/sharp-libvips-linuxmusl-x64": "1.2.4", + "@img/sharp-linux-arm": "0.34.5", + "@img/sharp-linux-arm64": "0.34.5", + "@img/sharp-linux-ppc64": "0.34.5", + "@img/sharp-linux-riscv64": "0.34.5", + "@img/sharp-linux-s390x": "0.34.5", + "@img/sharp-linux-x64": "0.34.5", + "@img/sharp-linuxmusl-arm64": "0.34.5", + "@img/sharp-linuxmusl-x64": "0.34.5", + "@img/sharp-wasm32": "0.34.5", + "@img/sharp-win32-arm64": "0.34.5", + "@img/sharp-win32-ia32": "0.34.5", + "@img/sharp-win32-x64": "0.34.5" + } + }, + "node_modules/async": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.6.tgz", + "integrity": "sha512-htCUDlxyyCLMgaM3xXg0C0LW2xqfuQ6p05pCEIsXuyQ+a1koYKTuBMzRNwmybfLgvJDMd0r1LTn4+E0Ti6C2AA==", + "dev": true + }, + "node_modules/axobject-query": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-4.1.0.tgz", + "integrity": "sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==", + "license": "Apache-2.0", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/bail": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/bail/-/bail-2.0.2.tgz", + "integrity": "sha512-0xO6mYd7JB2YesxDKplafRpsiOzPt9V02ddPCLbY1xYGPOX24NTyN50qnUxgCPcSoYMhKpAuBTjQoRZCAkUDRw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "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==", + "license": "MIT" + }, + "node_modules/base-64": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/base-64/-/base-64-1.0.0.tgz", + "integrity": "sha512-kwDPIFCGx0NZHog36dj+tHiwP4QMzsZ3AgMViUBKI0+V5n4U0ufTCUMhnQ04diaRI8EX/QcPfql7zlhZ7j4zgg==", + "license": "MIT" + }, + "node_modules/basic-auth": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", + "integrity": "sha512-NF+epuEdnUYVlGuhaxbbq+dvJttwLnGY+YixlXlME5KpQ5W3CnXA5cVTneY3SPbPDRkcjMbifrwmFYcClgOZeg==", + "dev": true, + "dependencies": { + "safe-buffer": "5.1.2" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/bcp-47": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/bcp-47/-/bcp-47-2.1.0.tgz", + "integrity": "sha512-9IIS3UPrvIa1Ej+lVDdDwO7zLehjqsaByECw0bu2RRGP73jALm6FYbzI5gWbgHLvNdkvfXB5YrSbocZdOS0c0w==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/bcp-47-match": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/bcp-47-match/-/bcp-47-match-2.0.3.tgz", + "integrity": "sha512-JtTezzbAibu8G0R9op9zb3vcWZd9JF6M0xOYGPn0fNCd7wOpRB1mU2mH9T8gaBGbAAyIIVgB2G7xG0GP98zMAQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "license": "ISC" + }, + "node_modules/boxen": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/boxen/-/boxen-8.0.1.tgz", + "integrity": "sha512-F3PH5k5juxom4xktynS7MoFY+NUWH5LC4CnH11YB8NPew+HLpmBLCybSAEyb2F+4pRXhuhWqFesoQd6DAyc2hw==", + "license": "MIT", + "dependencies": { + "ansi-align": "^3.0.1", + "camelcase": "^8.0.0", + "chalk": "^5.3.0", + "cli-boxes": "^3.0.0", + "string-width": "^7.2.0", + "type-fest": "^4.21.0", + "widest-line": "^5.0.0", + "wrap-ansi": "^9.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/brace-expansion": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.3.tgz", + "integrity": "sha512-MCV/fYJEbqx68aE58kv2cA/kiky1G8vux3OR6/jbS+jIMe/6fJWa0DTzJU7dqijOWYwHi1t29FlfYI9uytqlpA==", + "license": "MIT", + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/camelcase": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-8.0.0.tgz", + "integrity": "sha512-8WB3Jcas3swSvjIeA2yvCJ+Miyz5l1ZmB6HFb9R1317dt9LCQoswg/BGrmAmkWVEszSrrg4RwmO46qIm2OEnSA==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ccount": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ccount/-/ccount-2.0.1.tgz", + "integrity": "sha512-eyrF0jiFpY+3drT6383f1qhkbGsLSifNAjA61IUjZjmLCWjItY6LB9ft9YhoDgwfmclB2zhu51Lc7+95b8NRAg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chalk": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.4.1.tgz", + "integrity": "sha512-zgVZuo2WcZgfUEmsn6eO3kINexW8RAE4maiQ8QNs8CtpPCSyMiYsULR3HQYkm3w8FIA3SberyMJMSldGsW+U3w==", + "license": "MIT", + "engines": { + "node": "^12.17.0 || ^14.13 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/character-entities": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/character-entities/-/character-entities-2.0.2.tgz", + "integrity": "sha512-shx7oQ0Awen/BRIdkjkvz54PnEEI/EjwXDSIZp86/KKdbafHh1Df/RYGBhn4hbe2+uKC9FnT5UCEdyPz3ai9hQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-html4": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/character-entities-html4/-/character-entities-html4-2.1.0.tgz", + "integrity": "sha512-1v7fgQRj6hnSwFpq1Eu0ynr/CDEw0rXo2B61qXrLNdHZmPKgb7fqS1a2JwF0rISo9q77jDI8VMEHoApn8qDoZA==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-entities-legacy": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/character-entities-legacy/-/character-entities-legacy-3.0.0.tgz", + "integrity": "sha512-RpPp0asT/6ufRm//AJVwpViZbGM/MkjQFxJccQRHmISF/22NBtsHqAWmL+/pmkPWoIUJdWyeVleTl1wydHATVQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/character-reference-invalid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/character-reference-invalid/-/character-reference-invalid-2.0.1.tgz", + "integrity": "sha512-iBZ4F4wRbyORVsu0jPV7gXkOsGYjGHPmAyv+HiHG8gi5PtC9KI2j1+v8/tlibRvjoWX027ypmG/n0HtO5t7unw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/chokidar": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-5.0.0.tgz", + "integrity": "sha512-TQMmc3w+5AxjpL8iIiwebF73dRDF4fBIieAqGn9RGCWaEVwQ6Fb2cGe31Yns0RRIzii5goJ1Y7xbMwo1TxMplw==", + "license": "MIT", + "dependencies": { + "readdirp": "^5.0.0" + }, + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/ci-info": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/ci-info/-/ci-info-4.3.1.tgz", + "integrity": "sha512-Wdy2Igu8OcBpI2pZePZ5oWjPC38tmDVx5WKUXKwlLYkA0ozo85sLsLvkBbBn/sZaSCMFOGZJ14fvW9t5/d7kdA==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/sibiraj-s" + } + ], + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-boxes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-boxes/-/cli-boxes-3.0.0.tgz", + "integrity": "sha512-/lzGpEWL/8PfI0BmBOPRwp0c/wFNX1RdUML3jK/RcSBA9T8mZDdQpqYBKtCFTOfQbwPqWEOpjqW+Fnayc0969g==", + "license": "MIT", + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/collapse-white-space": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/collapse-white-space/-/collapse-white-space-2.1.0.tgz", + "integrity": "sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/color": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", + "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1", + "color-string": "^1.9.0" + }, + "engines": { + "node": ">=12.5.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==", + "license": "MIT", + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "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==", + "license": "MIT" + }, + "node_modules/color-string": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.9.1.tgz", + "integrity": "sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==", + "license": "MIT", + "dependencies": { + "color-name": "^1.0.0", + "simple-swizzle": "^0.2.2" + } + }, + "node_modules/comma-separated-tokens": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/comma-separated-tokens/-/comma-separated-tokens-2.0.3.tgz", + "integrity": "sha512-Fu4hJdvzeylCfQPp9SGWidpzrMs7tTrlu6Vb8XGaRGck8QSNZJJp538Wrb60Lax4fPwR64ViY468OIUTbRlGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/commander": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-11.1.0.tgz", + "integrity": "sha512-yPVavfyCcRhmorC7rWlkHn15b4wDVgVmBA7kV4QVBsF7kv/9TKJAbAXVTxvTnwP8HHKjRCJDClKbciiYS7p0DQ==", + "license": "MIT", + "engines": { + "node": ">=16" + } + }, + "node_modules/common-ancestor-path": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/common-ancestor-path/-/common-ancestor-path-1.0.1.tgz", + "integrity": "sha512-L3sHRo1pXXEqX8VU28kfgUY+YGsk09hPqZiZmLacNib6XNTCM8ubYeT7ryXQw8asB1sKgcU5lkB7ONug08aB8w==", + "license": "ISC" + }, + "node_modules/cookie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-1.1.1.tgz", + "integrity": "sha512-ei8Aos7ja0weRpFzJnEA9UHJ/7XQmqglbRwnf2ATjcB9Wq874VKH9kfjjirM6UhU2/E5fFYadylyhFldcqSidQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/cookie-es": { + "version": "1.2.2", + "resolved": "https://registry.npmjs.org/cookie-es/-/cookie-es-1.2.2.tgz", + "integrity": "sha512-+W7VmiVINB+ywl1HGXJXmrqkOhpKrIiVZV6tQuV54ZyQC7MMuBt81Vc336GMLoHBq5hV/F9eXgt5Mnx0Rha5Fg==", + "license": "MIT" + }, + "node_modules/corser": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/corser/-/corser-2.0.1.tgz", + "integrity": "sha512-utCYNzRSQIZNPIcGZdQc92UVJYAhtGAteCFg0yRaFm8f0P+CPtyGyHXJcGXnffjCybUCEx3FQ2G7U3/o9eIkVQ==", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.6", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", + "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", + "license": "MIT", + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crossws": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/crossws/-/crossws-0.3.5.tgz", + "integrity": "sha512-ojKiDvcmByhwa8YYqbQI/hg7MEU0NC03+pSdEq4ZUnZR9xXpwk7E43SMNGkn+JxJGPFtNvQ48+vV2p+P1ml5PA==", + "license": "MIT", + "dependencies": { + "uncrypto": "^0.1.3" + } + }, + "node_modules/css-select": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.2.2.tgz", + "integrity": "sha512-TizTzUddG/xYLA3NXodFM0fSbNizXjOKhqiQQwvhlspadZokn1KDy0NZFS0wuEubIYAV5/c1/lAr0TaaFXEXzw==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.1.0", + "domhandler": "^5.0.2", + "domutils": "^3.0.1", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-selector-parser": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/css-selector-parser/-/css-selector-parser-3.3.0.tgz", + "integrity": "sha512-Y2asgMGFqJKF4fq4xHDSlFYIkeVfRsm69lQC1q9kbEsH5XtnINTMrweLkjYMeaUgiXBy/uvKeO/a1JHTNnmB2g==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/mdevils" + }, + { + "type": "patreon", + "url": "https://patreon.com/mdevils" + } + ], + "license": "MIT" + }, + "node_modules/css-tree": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-3.1.0.tgz", + "integrity": "sha512-0eW44TGN5SQXU1mWSkKwFstI/22X2bG1nYzZTYMAWjylYURhse752YgbE4Cx46AC+bAvI+/dYTPRk1LqSUnu6w==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.12.2", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0" + } + }, + "node_modules/css-what": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.2.2.tgz", + "integrity": "sha512-u/O3vwbptzhMs3L1fQE82ZSLHQQfto5gyZzwteVIEyeaY5Fc7R4dapF/BvRoSYFeqfBk4m0V1Vafq5Pjv25wvA==", + "license": "BSD-2-Clause", + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "license": "MIT", + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/csso": { + "version": "5.0.5", + "resolved": "https://registry.npmjs.org/csso/-/csso-5.0.5.tgz", + "integrity": "sha512-0LrrStPOdJj+SPCCrGhzryycLjwcgUSHBtxNA8aIDxf0GLsRh1cKYhB00Gd1lDOS4yGH69+SNn13+TWbVHETFQ==", + "license": "MIT", + "dependencies": { + "css-tree": "~2.2.0" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/css-tree": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-2.2.1.tgz", + "integrity": "sha512-OA0mILzGc1kCOCSJerOeqDxDQ4HOh+G8NbOJFOTgOCzpw7fCBubk0fEyxp8AgOL/jvLgYA/uV0cMbe43ElF1JA==", + "license": "MIT", + "dependencies": { + "mdn-data": "2.0.28", + "source-map-js": "^1.0.1" + }, + "engines": { + "node": "^10 || ^12.20.0 || ^14.13.0 || >=15.0.0", + "npm": ">=7.0.0" + } + }, + "node_modules/csso/node_modules/mdn-data": { + "version": "2.0.28", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.28.tgz", + "integrity": "sha512-aylIc7Z9y4yzHYAJNuESG3hfhC+0Ibp/MAMiaOZgNv4pmEdFyfZhhhny4MNiAfWdBQ1RQ2mfDWmM1x8SvGyp8g==", + "license": "CC0-1.0" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-named-character-reference": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/decode-named-character-reference/-/decode-named-character-reference-1.0.2.tgz", + "integrity": "sha512-O8x12RzrUF8xyVcY0KJowWsmaJxQbmy0/EtnNtHRpsOcT7dFk5W598coHqBVpmWo1oQQfsCqfCmkZN5DJrZVdg==", + "license": "MIT", + "dependencies": { + "character-entities": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/defu": { + "version": "6.1.6", + "resolved": "https://registry.npmjs.org/defu/-/defu-6.1.6.tgz", + "integrity": "sha512-f8mefEW4WIVg4LckePx3mALjQSPQgFlg9U8yaPdlsbdYcHQyj9n2zL2LJEA52smeYxOvmd/nB7TpMtHGMTHcug==", + "license": "MIT" + }, + "node_modules/dequal": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.3.tgz", + "integrity": "sha512-0je+qPKHEMohvfRTCEo3CrPG6cAzAYgmzKyxRiYSSDkS6eGJdyVJm7WaYA5ECaAD9wLB2T4EEeymA5aFVcYXCA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/destr": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/destr/-/destr-2.0.5.tgz", + "integrity": "sha512-ugFTXCtDZunbzasqBxrK93Ik/DRYsO6S/fedkWEMKqt04xZ4csmnmwGDBAb07QWNaGMAmnTIemsYZCksjATwsA==", + "license": "MIT" + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/deterministic-object-hash": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/deterministic-object-hash/-/deterministic-object-hash-2.0.2.tgz", + "integrity": "sha512-KxektNH63SrbfUyDiwXqRb1rLwKt33AmMv+5Nhsw1kqZ13SJBRTgZHtGbE+hH3a1mVW1cz+4pqSWVPAtLVXTzQ==", + "license": "MIT", + "dependencies": { + "base-64": "^1.0.0" + }, + "engines": { + "node": ">=18" + } + }, + "node_modules/devalue": { + "version": "5.6.4", + "resolved": "https://registry.npmjs.org/devalue/-/devalue-5.6.4.tgz", + "integrity": "sha512-Gp6rDldRsFh/7XuouDbxMH3Mx8GMCcgzIb1pDTvNyn8pZGQ22u+Wa+lGV9dQCltFQ7uVw0MhRyb8XDskNFOReA==", + "license": "MIT" + }, + "node_modules/devlop": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/devlop/-/devlop-1.1.0.tgz", + "integrity": "sha512-RWmIqhcFf1lRYBvNmr7qTNuyCt/7/ns2jbpp1+PalgE/rDQcBT0fioSMUpJ93irlUhC5hrg4cYqe6U+0ImW0rA==", + "license": "MIT", + "dependencies": { + "dequal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/diff": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/diff/-/diff-8.0.3.tgz", + "integrity": "sha512-qejHi7bcSD4hQAZE0tNAawRK1ZtafHDmMTMkrrIGgSLl7hTnQHmKCeB45xAcbfTqK2zowkM3j3bHt/4b/ARbYQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.3.1" + } + }, + "node_modules/direction": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/direction/-/direction-2.0.1.tgz", + "integrity": "sha512-9S6m9Sukh1cZNknO1CWAr2QAWsbKLafQiyM5gZ7VgXHeuaoUwffKN4q6NC4A/Mf9iiPlOXQEKW/Mv/mh9/3YFA==", + "license": "MIT", + "bin": { + "direction": "cli.js" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "license": "MIT" + }, + "node_modules/dom-serializer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-2.0.0.tgz", + "integrity": "sha512-wIkAryiqt/nV5EQKqQpo3SToSOV9J0DnbJqwK7Wv/Trc92zIAYZ4FlMu+JPFW1DfGFt81ZTCGgDEabffXeLyJg==", + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.2", + "entities": "^4.2.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "BSD-2-Clause" + }, + "node_modules/domhandler": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", + "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", + "license": "BSD-2-Clause", + "dependencies": { + "domelementtype": "^2.3.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.2.2.tgz", + "integrity": "sha512-6kZKyUajlDuqlHKVX1w7gyslj9MPIXzIFiz/rGu35uC1wMi+kMhQwGhl4lt9unC9Vb9INnY9Z3/ZA3+FhASLaw==", + "license": "BSD-2-Clause", + "dependencies": { + "dom-serializer": "^2.0.0", + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/dset": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/dset/-/dset-3.1.4.tgz", + "integrity": "sha512-2QF/g9/zTaPDc3BjNcVTGoBbXBgYfMTTceLaYcFJ/W9kggFUkhxD/hMEeuLKbugyef9SqAx8cpgwlIP/jinUTA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "license": "MIT" + }, + "node_modules/emoji-regex": { + "version": "10.4.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-10.4.0.tgz", + "integrity": "sha512-EC+0oUMY1Rqm4O6LLrgjtYDvcVYTy7chDnM4Q7030tP4Kwj3u/pR6gP9ygnp2CJMK5Gq+9Q2oqmrFJAz01DXjw==", + "license": "MIT" + }, + "node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-module-lexer": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.7.0.tgz", + "integrity": "sha512-jEQoCwk8hyb2AZziIOLhDqpm5+2ww5uIE6lkO/6jcOCusfk6LhMHpXXfBLXTZ7Ydyt0j4VoUQv6uGNYbdW+kBA==", + "license": "MIT" + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/esast-util-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/esast-util-from-estree/-/esast-util-from-estree-2.0.0.tgz", + "integrity": "sha512-4CyanoAudUSBAn5K13H4JhsMH6L9ZP7XbLVe/dKybkxMO7eDyLsT8UHl9TRNrU2Gr9nz+FovfSIjuXWJ81uVwQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esast-util-from-js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/esast-util-from-js/-/esast-util-from-js-2.0.1.tgz", + "integrity": "sha512-8Ja+rNJ0Lt56Pcf3TAmpBZjmx8ZcK5Ts4cAzIOjsjevg9oSXJnl6SUQ2EevU8tv3h6ZLWmoKL5H4fgWvdvfETw==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "acorn": "^8.0.0", + "esast-util-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/escape-string-regexp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-5.0.0.tgz", + "integrity": "sha512-/veY75JbMK4j1yjvuUxuVsiS/hr/4iHs9FTT6cgTexxdE0Ly/glccBAkloH/DofkjRbZU3bnoj38mOmhkZ0lHw==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/estree-util-attach-comments": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-attach-comments/-/estree-util-attach-comments-3.0.0.tgz", + "integrity": "sha512-cKUwm/HUcTDsYh/9FgnuFqpfquUbwIqwKM26BVCGDPVgvaCl/nDCCjUfiLlx6lsEZ3Z4RFxNbOQ60pkaEwFxGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-build-jsx": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/estree-util-build-jsx/-/estree-util-build-jsx-3.0.1.tgz", + "integrity": "sha512-8U5eiL6BTrPxp/CHbs2yMgP8ftMhR5ww1eIKoWRMlqvltHF8fZn5LRDvTKuxD3DUn+shRbLGqXemcP51oFCsGQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "estree-walker": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-is-identifier-name": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/estree-util-is-identifier-name/-/estree-util-is-identifier-name-3.0.0.tgz", + "integrity": "sha512-hFtqIDZTIUZ9BXLb8y4pYGyk6+wekIivNVTcmvk8NoOh+VeRn5y6cEHzbURrWbfp1fIqdVipilzj+lfaadNZmg==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-scope": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/estree-util-scope/-/estree-util-scope-1.0.0.tgz", + "integrity": "sha512-2CAASclonf+JFWBNJPndcOpA8EMJwa0Q8LUFJEKqXLW6+qBvbFZuF5gItbQOs/umBUkjviCSDCbBwU2cXbmrhQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-to-js": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-to-js/-/estree-util-to-js-2.0.0.tgz", + "integrity": "sha512-WDF+xj5rRWmD5tj6bIqRi6CkLIXbbNQUcxQHzGysQzvHmdYG2G7p/Tf0J0gpxGgkeMZNTIjT/AoSvC9Xehcgdg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "astring": "^1.8.0", + "source-map": "^0.7.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-util-visit": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/estree-util-visit/-/estree-util-visit-2.0.0.tgz", + "integrity": "sha512-m5KgiH85xAhhW8Wta0vShLcUvOsh3LLPI2YVwcbio1l7E09NTLL1EyMZFM1OyWowoH0skScNbhOPl4kcBgzTww==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/estree-walker": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-3.0.3.tgz", + "integrity": "sha512-7RUKfXgSMMkzt6ZuXmqapOurLGPPfgj6l9uRZ7lRGolvk0y2yocc35LdcxKC5PQZdn2DMqioAQ2NoWcrTKmm6g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0" + } + }, + "node_modules/eventemitter3": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-5.0.1.tgz", + "integrity": "sha512-GWkBvjiSZK87ELrYOSESUYeVIc9mvLLf/nXalMOS5dYrgZq9o5OVkbZAVM06CVxYsCwH9BDZFPlQTlPA1j4ahA==", + "license": "MIT" + }, + "node_modules/expressive-code": { + "version": "0.41.7", + "resolved": "https://registry.npmjs.org/expressive-code/-/expressive-code-0.41.7.tgz", + "integrity": "sha512-2wZjC8OQ3TaVEMcBtYY4Va3lo6J+Ai9jf3d4dbhURMJcU4Pbqe6EcHe424MIZI0VHUA1bR6xdpoHYi3yxokWqA==", + "license": "MIT", + "dependencies": { + "@expressive-code/core": "^0.41.7", + "@expressive-code/plugin-frames": "^0.41.7", + "@expressive-code/plugin-shiki": "^0.41.7", + "@expressive-code/plugin-text-markers": "^0.41.7" + } + }, + "node_modules/extend": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", + "license": "MIT" + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/flattie": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/flattie/-/flattie-1.1.1.tgz", + "integrity": "sha512-9UbaD6XdAL97+k/n+N7JwX46K/M6Zc6KcFYskrYL8wbBV/Uyk0CTAMY0VT+qiK5PM7AIc9aTWYtq65U7T+aCNQ==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/follow-redirects": { + "version": "1.16.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.16.0.tgz", + "integrity": "sha512-y5rN/uOsadFT/JfYwhxRS5R7Qce+g3zG97+JrtFZlC9klX/W5hD7iiLzScI4nZqUS7DNUdhPgw4xI8W2LuXlUw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/fontace": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/fontace/-/fontace-0.4.1.tgz", + "integrity": "sha512-lDMvbAzSnHmbYMTEld5qdtvNH2/pWpICOqpean9IgC7vUbUJc3k+k5Dokp85CegamqQpFbXf0rAVkbzpyTA8aw==", + "license": "MIT", + "dependencies": { + "fontkitten": "^1.0.2" + } + }, + "node_modules/fontkitten": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/fontkitten/-/fontkitten-1.0.2.tgz", + "integrity": "sha512-piJxbLnkD9Xcyi7dWJRnqszEURixe7CrF/efBfbffe2DPyabmuIuqraruY8cXTs19QoM8VJzx47BDRVNXETM7Q==", + "license": "MIT", + "dependencies": { + "tiny-inflate": "^1.0.3" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/foreground-child": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.3.0.tgz", + "integrity": "sha512-Ld2g8rrAyMYFXBhEqMz8ZAHBi4J4uS1i/CxGMDnjyFWddMXLVcDp051DZfu+t7+ab7Wv6SMqpWmyFIj5UbfFvg==", + "license": "ISC", + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-east-asian-width": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-east-asian-width/-/get-east-asian-width-1.3.0.tgz", + "integrity": "sha512-vpeMIQKxczTD/0s2CdEWHcb0eeJe6TFjxb+J5xgX7hScxqrGuyjmv4c1D4A/gelKfyox0gJJwIHF+fLjeaM8kQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dev": true, + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dev": true, + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/github-slugger": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/github-slugger/-/github-slugger-2.0.0.tgz", + "integrity": "sha512-IaOQ9puYtjrkq7Y0Ygl9KDZnrf/aiUJYUpVf89y8kyaxbRG7Y1SrX/jaumrv81vc61+kiMempujsM3Yw7w5qcw==", + "license": "ISC" + }, + "node_modules/glob": { + "version": "10.5.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.5.0.tgz", + "integrity": "sha512-DfXN8DfhJ7NH3Oe7cFmu3NCu1wKbkReJ8TorzSAFbSKrlNaQSKfIzqYqVY8zlbs2NLBbWpRiU52GX2PbaBVNkg==", + "license": "ISC", + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^3.1.2", + "minimatch": "^9.0.4", + "minipass": "^7.1.2", + "package-json-from-dist": "^1.0.0", + "path-scurry": "^1.11.1" + }, + "bin": { + "glob": "dist/esm/bin.mjs" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/h3": { + "version": "1.15.10", + "resolved": "https://registry.npmjs.org/h3/-/h3-1.15.10.tgz", + "integrity": "sha512-YzJeWSkDZxAhvmp8dexjRK5hxziRO7I9m0N53WhvYL5NiWfkUkzssVzY9jvGu0HBoLFW6+duYmNSn6MaZBCCtg==", + "license": "MIT", + "dependencies": { + "cookie-es": "^1.2.2", + "crossws": "^0.3.5", + "defu": "^6.1.4", + "destr": "^2.0.5", + "iron-webcrypto": "^1.2.1", + "node-mock-http": "^1.0.4", + "radix3": "^1.1.2", + "ufo": "^1.6.3", + "uncrypto": "^0.1.3" + } + }, + "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, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/hast-util-embedded": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-embedded/-/hast-util-embedded-3.0.0.tgz", + "integrity": "sha512-naH8sld4Pe2ep03qqULEtvYr7EjrLK2QHY8KJR6RJkTUjPGObe1vnx585uzem2hGra+s1q08DZZpfgDVYRbaXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-is-element": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-format": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/hast-util-format/-/hast-util-format-1.1.0.tgz", + "integrity": "sha512-yY1UDz6bC9rDvCWHpx12aIBGRG7krurX0p0Fm6pT547LwDIZZiNr8a+IHDogorAdreULSEzP82Nlv5SZkHZcjA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-minify-whitespace": "^1.0.0", + "hast-util-phrasing": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "html-whitespace-sensitive-tag-names": "^3.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-html": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hast-util-from-html/-/hast-util-from-html-2.0.3.tgz", + "integrity": "sha512-CUSRHXyKjzHov8yKsQjGOElXy/3EKpyX56ELnkHH34vDVw1N1XSQ1ZcAvTyAPtGqLTuKP/uxM+aLkSPqF/EtMw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "devlop": "^1.1.0", + "hast-util-from-parse5": "^8.0.0", + "parse5": "^7.0.0", + "vfile": "^6.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-from-parse5": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/hast-util-from-parse5/-/hast-util-from-parse5-8.0.2.tgz", + "integrity": "sha512-SfMzfdAi/zAoZ1KkFEyyeXBn7u/ShQrfd675ZEE9M3qj+PMFX05xubzRyF76CCSJu8au9jgVxDV1+okFvgZU4A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "hastscript": "^9.0.0", + "property-information": "^6.0.0", + "vfile": "^6.0.0", + "vfile-location": "^5.0.0", + "web-namespaces": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-has-property": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-has-property/-/hast-util-has-property-3.0.0.tgz", + "integrity": "sha512-MNilsvEKLFpV604hwfhVStK0usFY/QmM5zX16bo7EjnAEGofr5YyI37kzopBlZJkHD4t887i+q/C8/tr5Q94cA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-body-ok-link": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-is-body-ok-link/-/hast-util-is-body-ok-link-3.0.1.tgz", + "integrity": "sha512-0qpnzOBLztXHbHQenVB8uNuxTnm/QBFUOmdOSsEn7GnBtyY07+ENTWVFBAnXd/zEgd9/SUG3lRY7hSIBWRgGpQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-is-element": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-is-element/-/hast-util-is-element-3.0.0.tgz", + "integrity": "sha512-Val9mnv2IWpLbNPqc/pUem+a7Ipj2aHacCwgNfTiK0vJKl0LF+4Ba4+v1oPHFpf3bLYmreq0/l3Gud9S5OH42g==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-minify-whitespace": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hast-util-minify-whitespace/-/hast-util-minify-whitespace-1.0.1.tgz", + "integrity": "sha512-L96fPOVpnclQE0xzdWb/D12VT5FabA7SnZOUMtL1DbXmYiHJMXZvFkIZfiMmTCNJHUeO2K9UYNXoVyfz+QHuOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-parse-selector": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/hast-util-parse-selector/-/hast-util-parse-selector-4.0.0.tgz", + "integrity": "sha512-wkQCkSYoOGCRKERFWcxMVMOcYE2K1AaNLU8DXS9arxnLOUEWbOXKXiJUNzEpqZ3JOKpnha3jkFrumEjVliDe7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-phrasing": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-phrasing/-/hast-util-phrasing-3.0.1.tgz", + "integrity": "sha512-6h60VfI3uBQUxHqTyMymMZnEbNl1XmEGtOxxKYL7stY2o601COo62AWAYBQR9lZbYXYSBoxag8UpPRXK+9fqSQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-embedded": "^3.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-is-body-ok-link": "^3.0.0", + "hast-util-is-element": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-raw": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/hast-util-raw/-/hast-util-raw-9.1.0.tgz", + "integrity": "sha512-Y8/SBAHkZGoNkpzqqfCldijcuUKh7/su31kEBp67cFY09Wy0mTRgtsLYsiIxMJxlu0f6AA5SUTbDR8K0rxnbUw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "@ungap/structured-clone": "^1.0.0", + "hast-util-from-parse5": "^8.0.0", + "hast-util-to-parse5": "^8.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "parse5": "^7.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-select": { + "version": "6.0.4", + "resolved": "https://registry.npmjs.org/hast-util-select/-/hast-util-select-6.0.4.tgz", + "integrity": "sha512-RqGS1ZgI0MwxLaKLDxjprynNzINEkRHY2i8ln4DDjgv9ZhcYVIHN9rlpiYsqtFwrgpYU361SyWDQcGNIBVu3lw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "bcp-47-match": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "css-selector-parser": "^3.0.0", + "devlop": "^1.0.0", + "direction": "^2.0.0", + "hast-util-has-property": "^3.0.0", + "hast-util-to-string": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "nth-check": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-select/node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-estree": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/hast-util-to-estree/-/hast-util-to-estree-3.1.3.tgz", + "integrity": "sha512-48+B/rJWAp0jamNbAAf9M7Uf//UVqAoMmgXhBdxTDJLGKY+LRnZ99qcG+Qjl5HfMpYNzS5v4EAwVEF34LeAj7w==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-attach-comments": "^3.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-estree/node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-html": { + "version": "9.0.5", + "resolved": "https://registry.npmjs.org/hast-util-to-html/-/hast-util-to-html-9.0.5.tgz", + "integrity": "sha512-OguPdidb+fbHQSU4Q4ZiLKnzWo8Wwsf5bZfbvu7//a9oTYoqD/fWpe96NuHkoS9h0ccGOTe0C4NGXdtS0iObOw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-whitespace": "^3.0.0", + "html-void-elements": "^3.0.0", + "mdast-util-to-hast": "^13.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "stringify-entities": "^4.0.0", + "zwitch": "^2.0.4" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-html/node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-jsx-runtime": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/hast-util-to-jsx-runtime/-/hast-util-to-jsx-runtime-2.3.6.tgz", + "integrity": "sha512-zl6s8LwNyo1P9uw+XJGvZtdFF1GdAkOg8ujOw+4Pyb76874fLps4ueHXDhXWdk6YHQ6OgUtinliG7RsYvCbbBg==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "hast-util-whitespace": "^3.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "property-information": "^7.0.0", + "space-separated-tokens": "^2.0.0", + "style-to-js": "^1.0.0", + "unist-util-position": "^5.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-jsx-runtime/node_modules/property-information": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-7.1.0.tgz", + "integrity": "sha512-TwEZ+X+yCJmYfL7TPUOcvBZ4QfoT5YenQiJuX//0th53DE6w0xxLEtfK3iyryQFddXuvkIk51EEgrJQ0WJkOmQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/hast-util-to-parse5": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/hast-util-to-parse5/-/hast-util-to-parse5-8.0.0.tgz", + "integrity": "sha512-3KKrV5ZVI8if87DVSi1vDeByYrkGzg4mEfeu4alwgmmIeARiBLKCZS2uw5Gb6nU9x9Yufyj3iudm6i7nl52PFw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "devlop": "^1.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0", + "web-namespaces": "^2.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-string": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/hast-util-to-string/-/hast-util-to-string-3.0.1.tgz", + "integrity": "sha512-XelQVTDWvqcl3axRfI0xSeoVKzyIFPwsAGSLIsKdJKQMXDYJS4WYrBNF/8J7RdhIcFI2BOHgAifggsvsxp/3+A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-to-text": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/hast-util-to-text/-/hast-util-to-text-4.0.2.tgz", + "integrity": "sha512-KK6y/BN8lbaq654j7JgBydev7wuNMcID54lkRav1P0CaE1e47P72AWWPiGKXTJU271ooYzcvTAn/Zt0REnvc7A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/unist": "^3.0.0", + "hast-util-is-element": "^3.0.0", + "unist-util-find-after": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hast-util-whitespace": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hast-util-whitespace/-/hast-util-whitespace-3.0.0.tgz", + "integrity": "sha512-88JUN06ipLwsnv+dVn+OIYOvAuvBMy/Qoi6O7mQHxdPXpjy+Cd6xRkWwux7DKO+4sYILtLBRIKgsdpS2gQc7qw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/hastscript": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/hastscript/-/hastscript-9.0.0.tgz", + "integrity": "sha512-jzaLBGavEDKHrc5EfFImKN7nZKKBdSLIdGvCwDZ9TfzbF2ffXiov8CKE445L2Z1Ek2t/m4SKQ2j6Ipv7NyUolw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "comma-separated-tokens": "^2.0.0", + "hast-util-parse-selector": "^4.0.0", + "property-information": "^6.0.0", + "space-separated-tokens": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/html-encoding-sniffer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-encoding-sniffer/-/html-encoding-sniffer-3.0.0.tgz", + "integrity": "sha512-oWv4T4yJ52iKrufjnyZPkrN0CH3QnrUqdB6In1g5Fe1mia8GmF36gnfNySxoZtxD5+NmYw1EElVXiBk93UeskA==", + "dev": true, + "dependencies": { + "whatwg-encoding": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/html-escaper": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-3.0.3.tgz", + "integrity": "sha512-RuMffC89BOWQoY0WKGpIhn5gX3iI54O6nRA0yC124NYVtzjmFWBIiFd8M0x+ZdX0P9R4lADg1mgP8C7PxGOWuQ==", + "license": "MIT" + }, + "node_modules/html-void-elements": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/html-void-elements/-/html-void-elements-3.0.0.tgz", + "integrity": "sha512-bEqo66MRXsUGxWHV5IP0PUiAWwoEjba4VCzg0LjFJBpchPaTfyfCKTG6bc5F8ucKec3q5y6qOdGyYTSBEvhCrg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/html-whitespace-sensitive-tag-names": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/html-whitespace-sensitive-tag-names/-/html-whitespace-sensitive-tag-names-3.0.1.tgz", + "integrity": "sha512-q+310vW8zmymYHALr1da4HyXUQ0zgiIwIicEfotYPWGN0OJVEN/58IJ3A4GBYcEq3LGAZqKb+ugvP0GNB9CEAA==", + "license": "MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/htmlparser2": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-10.0.0.tgz", + "integrity": "sha512-TwAZM+zE5Tq3lrEHvOlvwgj1XLWQCtaaibSN11Q+gGBAS7Y1uZSWwXXRe4iF6OXnaq1riyQAPFOBtYc77Mxq0g==", + "funding": [ + "https://github.com/fb55/htmlparser2?sponsor=1", + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ], + "license": "MIT", + "dependencies": { + "domelementtype": "^2.3.0", + "domhandler": "^5.0.3", + "domutils": "^3.2.1", + "entities": "^6.0.0" + } + }, + "node_modules/htmlparser2/node_modules/entities": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/entities/-/entities-6.0.1.tgz", + "integrity": "sha512-aN97NXWF6AWBTahfVOIrB/NShkzi5H7F9r1s9mD3cDj4Ko5f2qhhVoYMibXF7GlLveb/D2ioWay8lxI97Ven3g==", + "license": "BSD-2-Clause", + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/http-cache-semantics": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.2.0.tgz", + "integrity": "sha512-dTxcvPXqPvXBQpq5dUr6mEMJX4oIEFv6bwom3FDwKRDsuIjjJGANqhBuoAn9c1RQJIdAKav33ED65E2ys+87QQ==", + "license": "BSD-2-Clause" + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy/node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/http-server": { + "version": "14.1.1", + "resolved": "https://registry.npmjs.org/http-server/-/http-server-14.1.1.tgz", + "integrity": "sha512-+cbxadF40UXd9T01zUHgA+rlo2Bg1Srer4+B4NwIHdaGxAGGv59nYRnGGDJ9LBk7alpS0US+J+bLLdQOOkJq4A==", + "dev": true, + "dependencies": { + "basic-auth": "^2.0.1", + "chalk": "^4.1.2", + "corser": "^2.0.1", + "he": "^1.2.0", + "html-encoding-sniffer": "^3.0.0", + "http-proxy": "^1.18.1", + "mime": "^1.6.0", + "minimist": "^1.2.6", + "opener": "^1.5.1", + "portfinder": "^1.0.28", + "secure-compare": "3.0.1", + "union": "~0.5.0", + "url-join": "^4.0.1" + }, + "bin": { + "http-server": "bin/http-server" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/http-server/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/http-server/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/i18next": { + "version": "23.16.8", + "resolved": "https://registry.npmjs.org/i18next/-/i18next-23.16.8.tgz", + "integrity": "sha512-06r/TitrM88Mg5FdUXAKL96dJMzgqLE5dv3ryBAra4KCwD9mJ4ndOTS95ZuymIGoE+2hzfdaMak2X11/es7ZWg==", + "funding": [ + { + "type": "individual", + "url": "https://locize.com" + }, + { + "type": "individual", + "url": "https://locize.com/i18next.html" + }, + { + "type": "individual", + "url": "https://www.i18next.com/how-to/faq#i18next-is-awesome.-how-can-i-support-the-project" + } + ], + "license": "MIT", + "dependencies": { + "@babel/runtime": "^7.23.2" + } + }, + "node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/import-meta-resolve": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/import-meta-resolve/-/import-meta-resolve-4.2.0.tgz", + "integrity": "sha512-Iqv2fzaTQN28s/FwZAoFq0ZSs/7hMAHJVX+w8PZl3cY19Pxk6jFFalxQoIfW2826i/fDLXv8IiEZRIT0lDuWcg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/inline-style-parser": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/inline-style-parser/-/inline-style-parser-0.2.7.tgz", + "integrity": "sha512-Nb2ctOyNR8DqQoR0OwRG95uNWIC0C1lCgf5Naz5H6Ji72KZ8OcFZLz2P5sNgwlyoJ8Yif11oMuYs5pBQa86csA==", + "license": "MIT" + }, + "node_modules/iron-webcrypto": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/iron-webcrypto/-/iron-webcrypto-1.2.1.tgz", + "integrity": "sha512-feOM6FaSr6rEABp/eDfVseKyTMDt+KGpeB35SkVn9Tyn0CqvVsY3EwI0v5i8nMHyJnzCIQf7nsy3p41TPkJZhg==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/brc-dd" + } + }, + "node_modules/is-alphabetical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-2.0.1.tgz", + "integrity": "sha512-FWyyY60MeTNyeSRpkM2Iry0G9hpr7/9kD40mD/cGQEuilcZYS4okz8SN2Q6rLCJ8gbCt6fN+rC+6tMGS99LaxQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-alphanumerical": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-alphanumerical/-/is-alphanumerical-2.0.1.tgz", + "integrity": "sha512-hmbYhX/9MUMF5uh7tOXyK/n0ZvWpad5caBA17GsC6vyuCqaWliRG5K1qS9inmUhEMaOBIW7/whAnSwveW/LtZw==", + "license": "MIT", + "dependencies": { + "is-alphabetical": "^2.0.0", + "is-decimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-arrayish": { + "version": "0.3.2", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", + "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", + "license": "MIT" + }, + "node_modules/is-decimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-decimal/-/is-decimal-2.0.1.tgz", + "integrity": "sha512-AAB9hiomQs5DXWcRB1rqsxGUstbRroFOPPVAomNk/3XHR5JyEZChOyTWe2oayKnsSsr/kcGqF+z6yuH6HHpN0A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-docker": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-3.0.0.tgz", + "integrity": "sha512-eljcgEDlEns/7AXFosB5K/2nCM4P7FQPkGc/DWLy5rmFEWvZayGrik1d9/QIY5nJ4f9YsVvBkA6kJpHn9rISdQ==", + "license": "MIT", + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/is-hexadecimal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-hexadecimal/-/is-hexadecimal-2.0.1.tgz", + "integrity": "sha512-DgZQp241c8oO6cA1SbTEWiXeoxV42vlcJxgH+B3hi1AiqqKruZR3ZGF8In3fj4+/y/7rHvlOZLZtgJ/4ttYGZg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/is-inside-container": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-inside-container/-/is-inside-container-1.0.0.tgz", + "integrity": "sha512-KIYLCCJghfHZxqjYBE7rEy0OBuTd5xCHS7tHVgvCLkx7StIoaxwNW3hCALgEUjFfeRk+MG/Qxmp/vtETEF3tRA==", + "license": "MIT", + "dependencies": { + "is-docker": "^3.0.0" + }, + "bin": { + "is-inside-container": "cli.js" + }, + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-obj": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-4.1.0.tgz", + "integrity": "sha512-+Pgi+vMuUNkJyExiMBt5IlFoMyKnr5zhJ4Uspz58WOhBF5QoIZkFyNHIbBAtHwzVAgk5RtndVNsDRN61/mmDqg==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-wsl": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-3.1.0.tgz", + "integrity": "sha512-UcVfVfaK4Sc4m7X3dUSoHoozQGBEFeDC+zVo06t98xe8CzHSZZBekNXH+tu0NalHolcJ/QAGqS46Hef7QXBIMw==", + "license": "MIT", + "dependencies": { + "is-inside-container": "^1.0.0" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "license": "ISC" + }, + "node_modules/jackspeak": { + "version": "3.4.3", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-3.4.3.tgz", + "integrity": "sha512-OGlZQpz2yfahA/Rd1Y8Cd9SIEsqvXkLVoSw/cgwhnhFMDbsQFeZYoJJ7bIZBS9BcamUW96asq/npPWugM+RQBw==", + "license": "BlueOak-1.0.0", + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" + } + }, + "node_modules/js-yaml": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.1.tgz", + "integrity": "sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==", + "license": "MIT", + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "license": "MIT", + "engines": { + "node": ">= 8" + } + }, + "node_modules/longest-streak": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/longest-streak/-/longest-streak-3.1.0.tgz", + "integrity": "sha512-9Ri+o0JYgehTaVBBDoMqIl8GXtbWg711O3srftcHhZ0dqnETqLaoIK0x17fUw9rFSlK/0NlsKe0Ahhyl5pXE2g==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/lru-cache": { + "version": "10.4.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.4.3.tgz", + "integrity": "sha512-JNAzZcXrCt42VGLuYz0zfAzDfAvJWW6AfYlDBQyDV5DClI2m5sAmK+OIO7s59XfsRsWHp02jAJrRadPRGTt6SQ==", + "license": "ISC" + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/magicast": { + "version": "0.5.1", + "resolved": "https://registry.npmjs.org/magicast/-/magicast-0.5.1.tgz", + "integrity": "sha512-xrHS24IxaLrvuo613F719wvOIv9xPHFWQHuvGUBmPnCA/3MQxKI3b+r7n1jAoDHmsbC5bRhTZYR77invLAxVnw==", + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.28.5", + "@babel/types": "^7.28.5", + "source-map-js": "^1.2.1" + } + }, + "node_modules/markdown-extensions": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/markdown-extensions/-/markdown-extensions-2.0.0.tgz", + "integrity": "sha512-o5vL7aDWatOTX8LzaS1WMoaoxIiLRQJuIKKe2wAw6IeULDHaqbiqiggmx+pKvZDb1Sj+pE46Sn1T7lCqfFtg1Q==", + "license": "MIT", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/markdown-table": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/markdown-table/-/markdown-table-3.0.4.tgz", + "integrity": "sha512-wiYz4+JrLyb/DqW2hkFJxP7Vd7JuTDm77fvbM8VfEQdmSMqcImWeeRbHwZjBjIFki/VaMK2BhFi7oUUZeM5bqw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/mdast-util-definitions": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-definitions/-/mdast-util-definitions-6.0.0.tgz", + "integrity": "sha512-scTllyX6pnYNZH/AIp/0ePz6s4cZtARxImwoPJ7kS42n+MnVsI4XbnG6d4ibehRIldYMWM2LD7ImQblVhUejVQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-directive/-/mdast-util-directive-3.0.0.tgz", + "integrity": "sha512-JUpYOqKI4mM3sZcNxmF/ox04XYFFkNwr0CFlrQIkCwbvH0xzMCqkMqAde9wRd80VAhaUrwFwKm2nxretdT1h7Q==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-find-and-replace": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-find-and-replace/-/mdast-util-find-and-replace-3.0.2.tgz", + "integrity": "sha512-Tmd1Vg/m3Xz43afeNxDIhWRtFZgM2VLyaf4vSTYwudTyeuTneoL3qtWMA5jeLyz/O1vDJmmV4QuScFCA2tBPwg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "escape-string-regexp": "^5.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-from-markdown": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/mdast-util-from-markdown/-/mdast-util-from-markdown-2.0.2.tgz", + "integrity": "sha512-uZhTV/8NBuw0WHkPTrCqDOl0zVe1BIng5ZtHoDk49ME1qqcjYmmLmOf0gELgcRMxN4w2iuIeVso5/6QymSrgmA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark": "^4.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm/-/mdast-util-gfm-3.0.0.tgz", + "integrity": "sha512-dgQEX5Amaq+DuUqf26jJqSK9qgixgd6rYDHAv4aTBuA92cTknZlKpPfa86Z/s8Dj8xsAQpFfBmPUHWJBWqS4Bw==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-gfm-autolink-literal": "^2.0.0", + "mdast-util-gfm-footnote": "^2.0.0", + "mdast-util-gfm-strikethrough": "^2.0.0", + "mdast-util-gfm-table": "^2.0.0", + "mdast-util-gfm-task-list-item": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-autolink-literal": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-autolink-literal/-/mdast-util-gfm-autolink-literal-2.0.1.tgz", + "integrity": "sha512-5HVP2MKaP6L+G6YaxPNjuL0BPrq9orG3TsrZ9YXbA3vDw/ACI4MEsnoDpn6ZNm7GnZgtAcONJyPhOP8tNJQavQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "ccount": "^2.0.0", + "devlop": "^1.0.0", + "mdast-util-find-and-replace": "^3.0.0", + "micromark-util-character": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-footnote": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-footnote/-/mdast-util-gfm-footnote-2.0.0.tgz", + "integrity": "sha512-5jOT2boTSVkMnQ7LTrd6n/18kqwjmuYqo7JUPe+tRCY6O7dAuTFMtTPauYYrMPpox9hlN0uOx/FL8XvEfG9/mQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-strikethrough": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-strikethrough/-/mdast-util-gfm-strikethrough-2.0.0.tgz", + "integrity": "sha512-mKKb915TF+OC5ptj5bJ7WFRPdYtuHv0yTRxK2tJvi+BDqbkiG7h7u/9SI89nRAYcmap2xHQL9D+QG/6wSrTtXg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-table": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-table/-/mdast-util-gfm-table-2.0.0.tgz", + "integrity": "sha512-78UEvebzz/rJIxLvE7ZtDd/vIQ0RHv+3Mh5DR96p7cS7HsBhYIICDBCu8csTNWNO6tBWfqXPWekRuj2FNOGOZg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "markdown-table": "^3.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-gfm-task-list-item": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-gfm-task-list-item/-/mdast-util-gfm-task-list-item-2.0.0.tgz", + "integrity": "sha512-IrtvNvjxC1o06taBAVJznEnkiHxLFTzgonUdy8hzFVeDun0uTjxxrRGVaNFqkU1wJR3RBPEfsxmU6jDWPofrTQ==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx/-/mdast-util-mdx-3.0.0.tgz", + "integrity": "sha512-JfbYLAW7XnYTTbUsmpu0kdBUVe+yKVJZBItEjwyYJiDJuZ9w4eeaqks4HQO+R7objWgS2ymV60GYpI14Ug554w==", + "license": "MIT", + "dependencies": { + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-mdx-expression": "^2.0.0", + "mdast-util-mdx-jsx": "^3.0.0", + "mdast-util-mdxjs-esm": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-expression": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-expression/-/mdast-util-mdx-expression-2.0.1.tgz", + "integrity": "sha512-J6f+9hUp+ldTZqKRSg7Vw5V6MqjATc+3E4gf3CFNcuZNWD8XdyI6zQ8GqH7f8169MM6P7hMBRDVGnn7oHB9kXQ==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdx-jsx": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/mdast-util-mdx-jsx/-/mdast-util-mdx-jsx-3.2.0.tgz", + "integrity": "sha512-lj/z8v0r6ZtsN/cGNNtemmmfoLAFZnjMbNyLzBafjzikOM+glrjNHPlf6lQDOTccj9n5b0PPihEBbhneMyGs1Q==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "ccount": "^2.0.0", + "devlop": "^1.1.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0", + "parse-entities": "^4.0.0", + "stringify-entities": "^4.0.0", + "unist-util-stringify-position": "^4.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-mdxjs-esm": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mdast-util-mdxjs-esm/-/mdast-util-mdxjs-esm-2.0.1.tgz", + "integrity": "sha512-EcmOpxsZ96CvlP03NghtH1EsLtr0n9Tm4lPUJUBccV9RwUOneqSycg19n5HGzCf+10LozMRSObtVr3ee1WoHtg==", + "license": "MIT", + "dependencies": { + "@types/estree-jsx": "^1.0.0", + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "devlop": "^1.0.0", + "mdast-util-from-markdown": "^2.0.0", + "mdast-util-to-markdown": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-phrasing": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/mdast-util-phrasing/-/mdast-util-phrasing-4.1.0.tgz", + "integrity": "sha512-TqICwyvJJpBwvGAMZjj4J2n0X8QWp21b9l0o7eXyVJ25YNWYbJDVIyD1bZXE6WtV6RmKJVYmQAKWa0zWOABz2w==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-hast": { + "version": "13.2.1", + "resolved": "https://registry.npmjs.org/mdast-util-to-hast/-/mdast-util-to-hast-13.2.1.tgz", + "integrity": "sha512-cctsq2wp5vTsLIcaymblUriiTcZd0CwWtCbLvrOzYCDZoWyMNV8sZ7krj09FSnsiJi3WVsHLM4k6Dq/yaPyCXA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "@ungap/structured-clone": "^1.0.0", + "devlop": "^1.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "trim-lines": "^3.0.0", + "unist-util-position": "^5.0.0", + "unist-util-visit": "^5.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-markdown": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/mdast-util-to-markdown/-/mdast-util-to-markdown-2.1.2.tgz", + "integrity": "sha512-xj68wMTvGXVOKonmog6LwyJKrYXZPvlwabaryTjLh9LuvovB/KAH+kvi8Gjj+7rJjsFi23nkUxRQv1KqSroMqA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "@types/unist": "^3.0.0", + "longest-streak": "^3.0.0", + "mdast-util-phrasing": "^4.0.0", + "mdast-util-to-string": "^4.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-decode-string": "^2.0.0", + "unist-util-visit": "^5.0.0", + "zwitch": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdast-util-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/mdast-util-to-string/-/mdast-util-to-string-4.0.0.tgz", + "integrity": "sha512-0H44vDimn51F0YwvxSJSm0eCDOJTRlmN0R1yBh4HLj9wiV1Dn0QoXGbvFAWj2hSItVTlCmBF1hqKlIyUBVFLPg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/mdn-data": { + "version": "2.12.2", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.12.2.tgz", + "integrity": "sha512-IEn+pegP1aManZuckezWCO+XZQDplx1366JoVhTpMpBB1sPey/SbveZQUosKiKiGYjg1wH4pMlNgXbCiYgihQA==", + "license": "CC0-1.0" + }, + "node_modules/micromark": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/micromark/-/micromark-4.0.1.tgz", + "integrity": "sha512-eBPdkcoCNvYcxQOAKAlceo5SNdzZWfF+FcSupREAzdAh9rRmE239CEQAiTwIgblwnoM8zzj35sZ5ZwvSEOF6Kw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/debug": "^4.0.0", + "debug": "^4.0.0", + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-core-commonmark": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-core-commonmark/-/micromark-core-commonmark-2.0.2.tgz", + "integrity": "sha512-FKjQKbxd1cibWMM1P9N+H8TwlgGgSkWZMmfuVucLCHaYqeSvJ0hFeHsIa65pA2nYbes0f8LDHPMrd9X7Ujxg9w==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-destination": "^2.0.0", + "micromark-factory-label": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-title": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-html-tag-name": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-subtokenize": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-directive": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-directive/-/micromark-extension-directive-3.0.2.tgz", + "integrity": "sha512-wjcXHgk+PPdmvR58Le9d7zQYWy+vKEU9Se44p2CrCDPiLr2FMyiT4Fyb5UFKFC66wGB3kPlgD7q3TnoqPS7SZA==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-factory-whitespace": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "parse-entities": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm/-/micromark-extension-gfm-3.0.0.tgz", + "integrity": "sha512-vsKArQsicm7t0z2GugkCKtZehqUm31oeGBV/KVSorWSy8ZlNAv7ytjFhvaryUiCUJYqs+NoE6AFhpQvBTM6Q4w==", + "license": "MIT", + "dependencies": { + "micromark-extension-gfm-autolink-literal": "^2.0.0", + "micromark-extension-gfm-footnote": "^2.0.0", + "micromark-extension-gfm-strikethrough": "^2.0.0", + "micromark-extension-gfm-table": "^2.0.0", + "micromark-extension-gfm-tagfilter": "^2.0.0", + "micromark-extension-gfm-task-list-item": "^2.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-autolink-literal": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-autolink-literal/-/micromark-extension-gfm-autolink-literal-2.1.0.tgz", + "integrity": "sha512-oOg7knzhicgQ3t4QCjCWgTmfNhvQbDDnJeVu9v81r7NltNCVmhPy1fJRX27pISafdjL+SVc4d3l48Gb6pbRypw==", + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-footnote": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-footnote/-/micromark-extension-gfm-footnote-2.1.0.tgz", + "integrity": "sha512-/yPhxI1ntnDNsiHtzLKYnE3vf9JZ6cAisqVDauhp4CEHxlb4uoOTxOCJ+9s51bIB8U1N1FJ1RXOKTIlD5B/gqw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-normalize-identifier": "^2.0.0", + "micromark-util-sanitize-uri": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-strikethrough": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-strikethrough/-/micromark-extension-gfm-strikethrough-2.1.0.tgz", + "integrity": "sha512-ADVjpOOkjz1hhkZLlBiYA9cR2Anf8F4HqZUO6e5eDcPQd0Txw5fxLzzxnEkSkfnD0wziSGiv7sYhk/ktvbf1uw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-classify-character": "^2.0.0", + "micromark-util-resolve-all": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-table": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-table/-/micromark-extension-gfm-table-2.1.0.tgz", + "integrity": "sha512-Ub2ncQv+fwD70/l4ou27b4YzfNaCJOvyX4HxXU15m7mpYY+rjuWzsLIPZHJL253Z643RpbcP1oeIJlQ/SKW67g==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-tagfilter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-tagfilter/-/micromark-extension-gfm-tagfilter-2.0.0.tgz", + "integrity": "sha512-xHlTOmuCSotIA8TW1mDIM6X2O1SiX5P9IuDtqGonFhEK0qgRI4yeC6vMxEV2dgyr2TiD+2PQ10o+cOhdVAcwfg==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-gfm-task-list-item": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/micromark-extension-gfm-task-list-item/-/micromark-extension-gfm-task-list-item-2.1.0.tgz", + "integrity": "sha512-qIBZhqxqI6fjLDYFTBIa4eivDMnP+OZqsNwmQ3xNLE4Cxwc+zfQEfbs6tzAo2Hjq+bh6q5F+Z8/cksrLFYWQQw==", + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-expression": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-expression/-/micromark-extension-mdx-expression-3.0.1.tgz", + "integrity": "sha512-dD/ADLJ1AeMvSAKBwO22zG22N4ybhe7kFIZ3LsDI0GlsNr2A3KYxb0LdC1u5rj4Nw+CHKY0RVdnHX8vj8ejm4Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-extension-mdx-jsx": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-jsx/-/micromark-extension-mdx-jsx-3.0.2.tgz", + "integrity": "sha512-e5+q1DjMh62LZAJOnDraSSbDMvGJ8x3cbjygy2qFEi7HCeUT4BDKCvMozPozcD6WmOt6sVvYDNBKhFSz3kjOVQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "estree-util-is-identifier-name": "^3.0.0", + "micromark-factory-mdx-expression": "^2.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdx-md": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdx-md/-/micromark-extension-mdx-md-2.0.0.tgz", + "integrity": "sha512-EpAiszsB3blw4Rpba7xTOUptcFeBFi+6PY8VnJ2hhimH+vCQDirWgsMpz7w1XcZE7LVrSAUGb9VJpG9ghlYvYQ==", + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs/-/micromark-extension-mdxjs-3.0.0.tgz", + "integrity": "sha512-A873fJfhnJ2siZyUrJ31l34Uqwy4xIFmvPY1oj+Ean5PHcPBYzEsvqvWGaWcfEIr11O5Dlw3p2y0tZWpKHDejQ==", + "license": "MIT", + "dependencies": { + "acorn": "^8.0.0", + "acorn-jsx": "^5.0.0", + "micromark-extension-mdx-expression": "^3.0.0", + "micromark-extension-mdx-jsx": "^3.0.0", + "micromark-extension-mdx-md": "^2.0.0", + "micromark-extension-mdxjs-esm": "^3.0.0", + "micromark-util-combine-extensions": "^2.0.0", + "micromark-util-types": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-extension-mdxjs-esm": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/micromark-extension-mdxjs-esm/-/micromark-extension-mdxjs-esm-3.0.0.tgz", + "integrity": "sha512-DJFl4ZqkErRpq/dAPyeWp15tGrcrrJho1hKK5uBS70BCtfrIFg81sqcTVu3Ta+KD1Tk5vAtBNElWxtAa+m8K9A==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-core-commonmark": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/micromark-factory-destination": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-destination/-/micromark-factory-destination-2.0.1.tgz", + "integrity": "sha512-Xe6rDdJlkmbFRExpTOmRj9N3MaWmbAgdpSrBQvCFqhezUn4AHqJHbaEnfbVYYiexVSs//tqOdY/DxhjdCiJnIA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-label": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-label/-/micromark-factory-label-2.0.1.tgz", + "integrity": "sha512-VFMekyQExqIW7xIChcXn4ok29YE3rnuyveW3wZQWWqF4Nv9Wk5rgJ99KzPvHjkmPXF93FXIbBp6YdW3t71/7Vg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-mdx-expression": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-factory-mdx-expression/-/micromark-factory-mdx-expression-2.0.3.tgz", + "integrity": "sha512-kQnEtA3vzucU2BkrIa8/VaSAsP+EJ3CKOvhMuJgOEGg9KDC6OAY6nSnNDVRiVNRqj7Y4SlSzcStaH/5jge8JdQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "devlop": "^1.0.0", + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-events-to-acorn": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unist-util-position-from-estree": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-factory-space": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-space/-/micromark-factory-space-2.0.1.tgz", + "integrity": "sha512-zRkxjtBxxLd2Sc0d+fbnEunsTj46SWXgXciZmHq0kDYGnck/ZSGj9/wULTV95uoeYiK5hRXP2mJ98Uo4cq/LQg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-title": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-title/-/micromark-factory-title-2.0.1.tgz", + "integrity": "sha512-5bZ+3CjhAd9eChYTHsjy6TGxpOFSKgKKJPJxr293jTbfry2KDoWkhBb6TcPVB4NmzaPhMs1Frm9AZH7OD4Cjzw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-factory-whitespace": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-factory-whitespace/-/micromark-factory-whitespace-2.0.1.tgz", + "integrity": "sha512-Ob0nuZ3PKt/n0hORHyvoD9uZhr+Za8sFoP+OnMcnWK5lngSzALgQYKMr9RJVOWLqQYuyn6ulqGWSXdwf6F80lQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-factory-space": "^2.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-character": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/micromark-util-character/-/micromark-util-character-2.1.1.tgz", + "integrity": "sha512-wv8tdUTJ3thSFFFJKtpYKOYiGP2+v96Hvk4Tu8KpCAsTMs6yi+nVmGh1syvSCsaxz45J6Jbw+9DD6g97+NV67Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-chunked": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-chunked/-/micromark-util-chunked-2.0.1.tgz", + "integrity": "sha512-QUNFEOPELfmvv+4xiNg2sRYeS/P84pTW0TCgP5zc9FpXetHY0ab7SxKyAQCNCc1eK0459uoLI1y5oO5Vc1dbhA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-classify-character": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-classify-character/-/micromark-util-classify-character-2.0.1.tgz", + "integrity": "sha512-K0kHzM6afW/MbeWYWLjoHQv1sgg2Q9EccHEDzSkxiP/EaagNzCm7T/WMKZ3rjMbvIpvBiZgwR3dKMygtA4mG1Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-combine-extensions": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-combine-extensions/-/micromark-util-combine-extensions-2.0.1.tgz", + "integrity": "sha512-OnAnH8Ujmy59JcyZw8JSbK9cGpdVY44NKgSM7E9Eh7DiLS2E9RNQf0dONaGDzEG9yjEl5hcqeIsj4hfRkLH/Bg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-chunked": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-numeric-character-reference": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/micromark-util-decode-numeric-character-reference/-/micromark-util-decode-numeric-character-reference-2.0.2.tgz", + "integrity": "sha512-ccUbYk6CwVdkmCQMyr64dXz42EfHGkPQlBj5p7YVGzq8I7CtjXZJrubAYezf7Rp+bjPseiROqe7G6foFd+lEuw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-decode-string": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-decode-string/-/micromark-util-decode-string-2.0.1.tgz", + "integrity": "sha512-nDV/77Fj6eH1ynwscYTOsbK7rR//Uj0bZXBwJZRfaLEJ1iGBR6kIfNmlNqaqJf649EP0F3NWNdeJi03elllNUQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "decode-named-character-reference": "^1.0.0", + "micromark-util-character": "^2.0.0", + "micromark-util-decode-numeric-character-reference": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-encode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-encode/-/micromark-util-encode-2.0.1.tgz", + "integrity": "sha512-c3cVx2y4KqUnwopcO9b/SCdo2O67LwJJ/UyqGfbigahfegL9myoEFoDYZgkT7f36T0bLrM9hZTAaAyH+PCAXjw==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-events-to-acorn": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-events-to-acorn/-/micromark-util-events-to-acorn-2.0.3.tgz", + "integrity": "sha512-jmsiEIiZ1n7X1Rr5k8wVExBQCg5jy4UXVADItHmNk1zkwEVhBuIUKRu3fqv+hs4nxLISi2DQGlqIOGiFxgbfHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/unist": "^3.0.0", + "devlop": "^1.0.0", + "estree-util-visit": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0", + "vfile-message": "^4.0.0" + } + }, + "node_modules/micromark-util-html-tag-name": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-html-tag-name/-/micromark-util-html-tag-name-2.0.1.tgz", + "integrity": "sha512-2cNEiYDhCWKI+Gs9T0Tiysk136SnR13hhO8yW6BGNyhOC4qYFnwF1nKfD3HFAIXA5c45RrIG1ub11GiXeYd1xA==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-normalize-identifier": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-normalize-identifier/-/micromark-util-normalize-identifier-2.0.1.tgz", + "integrity": "sha512-sxPqmo70LyARJs0w2UclACPUUEqltCkJ6PhKdMIDuJ3gSf/Q+/GIe3WKl0Ijb/GyH9lOpUkRAO2wp0GVkLvS9Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-resolve-all": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-resolve-all/-/micromark-util-resolve-all-2.0.1.tgz", + "integrity": "sha512-VdQyxFWFT2/FGJgwQnJYbe1jjQoNTS4RjglmSjTUlpUMa95Htx9NHeYW4rGDJzbjvCsl9eLjMQwGeElsqmzcHg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-sanitize-uri": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-sanitize-uri/-/micromark-util-sanitize-uri-2.0.1.tgz", + "integrity": "sha512-9N9IomZ/YuGGZZmQec1MbgxtlgougxTodVwDzzEouPKo3qFWvymFHWcnDi2vzV1ff6kas9ucW+o3yzJK9YB1AQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "micromark-util-character": "^2.0.0", + "micromark-util-encode": "^2.0.0", + "micromark-util-symbol": "^2.0.0" + } + }, + "node_modules/micromark-util-subtokenize": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/micromark-util-subtokenize/-/micromark-util-subtokenize-2.0.3.tgz", + "integrity": "sha512-VXJJuNxYWSoYL6AJ6OQECCFGhIU2GGHMw8tahogePBrjkG8aCCas3ibkp7RnVOSTClg2is05/R7maAhF1XyQMg==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT", + "dependencies": { + "devlop": "^1.0.0", + "micromark-util-chunked": "^2.0.0", + "micromark-util-symbol": "^2.0.0", + "micromark-util-types": "^2.0.0" + } + }, + "node_modules/micromark-util-symbol": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-symbol/-/micromark-util-symbol-2.0.1.tgz", + "integrity": "sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/micromark-util-types": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/micromark-util-types/-/micromark-util-types-2.0.1.tgz", + "integrity": "sha512-534m2WhVTddrcKVepwmVEVnUAmtrx9bfIjNoQHRqfnvdaHQiFytEhJoTgpWJvDEXCO5gLTQh3wYC1PgOJA4NSQ==", + "funding": [ + { + "type": "GitHub Sponsors", + "url": "https://github.com/sponsors/unifiedjs" + }, + { + "type": "OpenCollective", + "url": "https://opencollective.com/unified" + } + ], + "license": "MIT" + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/minimatch": { + "version": "9.0.9", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.9.tgz", + "integrity": "sha512-OBwBN9AL4dqmETlpS2zasx+vTeWclWzkblfZk7KTA5j3jeOONz/tRCnZomUyvNg83wL5Zv9Ss6HMJXAgL8R2Yg==", + "license": "ISC", + "dependencies": { + "brace-expansion": "^2.0.2" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "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/minipass": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.1.2.tgz", + "integrity": "sha512-qOOzS1cBTWYF4BH8fVePDBOO9iptMnGUEZwNc/cMWnTV2nVLZ7VoNWEPHkYczZA0pdoA7dl6e7FL659nX9S2aw==", + "license": "ISC", + "engines": { + "node": ">=16 || 14 >=14.17" + } + }, + "node_modules/mrmime": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.1.tgz", + "integrity": "sha512-Y3wQdFg2Va6etvQ5I82yUhGdsKrcYox6p7FfL1LbK2J4V01F9TGlepTIhnK24t7koZibmg82KGglhA1XK5IsLQ==", + "license": "MIT", + "engines": { + "node": ">=10" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.11", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", + "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/neotraverse": { + "version": "0.6.18", + "resolved": "https://registry.npmjs.org/neotraverse/-/neotraverse-0.6.18.tgz", + "integrity": "sha512-Z4SmBUweYa09+o6pG+eASabEpP6QkQ70yHj351pQoEXIs8uHbaU2DWVmzBANKgflPa47A50PtB2+NgRpQvr7vA==", + "license": "MIT", + "engines": { + "node": ">= 10" + } + }, + "node_modules/nlcst-to-string": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/nlcst-to-string/-/nlcst-to-string-4.0.0.tgz", + "integrity": "sha512-YKLBCcUYKAg0FNlOBT6aI91qFmSiFKiluk655WzPF+DDMA02qIyy8uiRqI8QXtcFpEvll12LpL5MXqEmAZ+dcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/node-fetch-native": { + "version": "1.6.7", + "resolved": "https://registry.npmjs.org/node-fetch-native/-/node-fetch-native-1.6.7.tgz", + "integrity": "sha512-g9yhqoedzIUm0nTnTqAQvueMPVOuIY16bqgAJJC8XOOubYFNwz6IER9qs0Gq2Xd0+CecCKFjtdDTMA4u4xG06Q==", + "license": "MIT" + }, + "node_modules/node-mock-http": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/node-mock-http/-/node-mock-http-1.0.4.tgz", + "integrity": "sha512-8DY+kFsDkNXy1sJglUfuODx1/opAGJGyrTuFqEoN90oRc2Vk0ZbD4K2qmKXBBEhZQzdKHIVfEJpDU8Ak2NJEvQ==", + "license": "MIT" + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "license": "BSD-2-Clause", + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/ofetch": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/ofetch/-/ofetch-1.5.1.tgz", + "integrity": "sha512-2W4oUZlVaqAPAil6FUg/difl6YhqhUR7x2eZY4bQCko22UXg3hptq9KLQdqFClV+Wu85UX7hNtdGTngi/1BxcA==", + "license": "MIT", + "dependencies": { + "destr": "^2.0.5", + "node-fetch-native": "^1.6.7", + "ufo": "^1.6.1" + } + }, + "node_modules/ohash": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/ohash/-/ohash-2.0.11.tgz", + "integrity": "sha512-RdR9FQrFwNBNXAr4GixM8YaRZRJ5PUWbKYbE5eOsrwAjJW0q2REGcf79oYPsLyskQCZG1PLN+S/K1V00joZAoQ==", + "license": "MIT" + }, + "node_modules/oniguruma-parser": { + "version": "0.12.1", + "resolved": "https://registry.npmjs.org/oniguruma-parser/-/oniguruma-parser-0.12.1.tgz", + "integrity": "sha512-8Unqkvk1RYc6yq2WBYRj4hdnsAxVze8i7iPfQr8e4uSP3tRv0rpZcbGUDvxfQQcdwHt/e9PrMvGCsa8OqG9X3w==", + "license": "MIT" + }, + "node_modules/oniguruma-to-es": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/oniguruma-to-es/-/oniguruma-to-es-4.3.4.tgz", + "integrity": "sha512-3VhUGN3w2eYxnTzHn+ikMI+fp/96KoRSVK9/kMTcFqj1NRDh2IhQCKvYxDnWePKRXY/AqH+Fuiyb7VHSzBjHfA==", + "license": "MIT", + "dependencies": { + "oniguruma-parser": "^0.12.1", + "regex": "^6.0.1", + "regex-recursion": "^6.0.2" + } + }, + "node_modules/opener": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/opener/-/opener-1.5.2.tgz", + "integrity": "sha512-ur5UIdyw5Y7yEj9wLzhqXiy6GZ3Mwx0yGI+5sMn2r0N0v3cKJvUmFH5yPP+WXh9e0xfyzyJX95D8l088DNFj7A==", + "dev": true, + "bin": { + "opener": "bin/opener-bin.js" + } + }, + "node_modules/p-limit": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-6.2.0.tgz", + "integrity": "sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==", + "license": "MIT", + "dependencies": { + "yocto-queue": "^1.1.1" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-queue": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/p-queue/-/p-queue-8.1.1.tgz", + "integrity": "sha512-aNZ+VfjobsWryoiPnEApGGmf5WmNsCo9xu8dfaYamG5qaLP7ClhLN6NgsFe6SwJ2UbLEBK5dv9x8Mn5+RVhMWQ==", + "license": "MIT", + "dependencies": { + "eventemitter3": "^5.0.1", + "p-timeout": "^6.1.2" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-timeout": { + "version": "6.1.4", + "resolved": "https://registry.npmjs.org/p-timeout/-/p-timeout-6.1.4.tgz", + "integrity": "sha512-MyIV3ZA/PmyBN/ud8vV9XzwTrNtR4jFrObymZYnZqMmW0zA8Z17vnT0rBgFE/TlohB+YCHqXMgZzb3Csp49vqg==", + "license": "MIT", + "engines": { + "node": ">=14.16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/package-json-from-dist": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/package-json-from-dist/-/package-json-from-dist-1.0.1.tgz", + "integrity": "sha512-UEZIS3/by4OC8vL3P2dTXRETpebLI2NiI5vIrjaD/5UtrkFX/tNbwjTSRAGC/+7CAo2pIcBaRgWmcBBHcsaCIw==", + "license": "BlueOak-1.0.0" + }, + "node_modules/package-manager-detector": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/package-manager-detector/-/package-manager-detector-1.6.0.tgz", + "integrity": "sha512-61A5ThoTiDG/C8s8UMZwSorAGwMJ0ERVGj2OjoW5pAalsNOg15+iQiPzrLJ4jhZ1HJzmC2PIHT2oEiH3R5fzNA==", + "license": "MIT" + }, + "node_modules/pagefind": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/pagefind/-/pagefind-1.3.0.tgz", + "integrity": "sha512-8KPLGT5g9s+olKMRTU9LFekLizkVIu9tes90O1/aigJ0T5LmyPqTzGJrETnSw3meSYg58YH7JTzhTTW/3z6VAw==", + "license": "MIT", + "bin": { + "pagefind": "lib/runner/bin.cjs" + }, + "optionalDependencies": { + "@pagefind/darwin-arm64": "1.3.0", + "@pagefind/darwin-x64": "1.3.0", + "@pagefind/linux-arm64": "1.3.0", + "@pagefind/linux-x64": "1.3.0", + "@pagefind/windows-x64": "1.3.0" + } + }, + "node_modules/parse-entities": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/parse-entities/-/parse-entities-4.0.2.tgz", + "integrity": "sha512-GG2AQYWoLgL877gQIKeRPGO1xF9+eG1ujIb5soS5gPvLQ1y2o8FL90w2QWNdf9I361Mpp7726c+lj3U0qK1uGw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^2.0.0", + "character-entities-legacy": "^3.0.0", + "character-reference-invalid": "^2.0.0", + "decode-named-character-reference": "^1.0.0", + "is-alphanumerical": "^2.0.0", + "is-decimal": "^2.0.0", + "is-hexadecimal": "^2.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse-entities/node_modules/@types/unist": { + "version": "2.0.11", + "resolved": "https://registry.npmjs.org/@types/unist/-/unist-2.0.11.tgz", + "integrity": "sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==", + "license": "MIT" + }, + "node_modules/parse-latin": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse-latin/-/parse-latin-7.0.0.tgz", + "integrity": "sha512-mhHgobPPua5kZ98EF4HWiH167JWBfl4pvAIXXdbaVohtK7a6YBOy56kvhCqduqyo/f3yrHFWmqmiMg/BkBkYYQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "@types/unist": "^3.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-modify-children": "^4.0.0", + "unist-util-visit-children": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/parse5": { + "version": "7.2.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.2.1.tgz", + "integrity": "sha512-BuBYQYlv1ckiPdQi/ohiivi9Sagc9JG+Ozs0r7b/0iK3sKmrb0b9FdWdBbOdx6hBCM/F9Ir82ofnBhtZOjCRPQ==", + "license": "MIT", + "dependencies": { + "entities": "^4.5.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/path-scurry": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.11.1.tgz", + "integrity": "sha512-Xa4Nw17FS9ApQFJ9umLiJS4orGjm7ZzwUrwamcGQuHSzDyth9boKDaycYdDcZDuqYATXw4HFXgaqWTctW/v1HA==", + "license": "BlueOak-1.0.0", + "dependencies": { + "lru-cache": "^10.2.0", + "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.18" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/piccolore": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/piccolore/-/piccolore-0.1.3.tgz", + "integrity": "sha512-o8bTeDWjE086iwKrROaDf31K0qC/BENdm15/uH9usSC/uZjJOKb2YGiVHfLY4GhwsERiPI1jmwI2XrA7ACOxVw==", + "license": "ISC" + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/portfinder": { + "version": "1.0.38", + "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.38.tgz", + "integrity": "sha512-rEwq/ZHlJIKw++XtLAO8PPuOQA/zaPJOZJ37BVuN97nLpMJeuDVLVGRwbFoBgLudgdTMP2hdRJP++H+8QOA3vg==", + "dev": true, + "dependencies": { + "async": "^3.2.6", + "debug": "^4.3.6" + }, + "engines": { + "node": ">= 10.12" + } + }, + "node_modules/postcss": { + "version": "8.5.6", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.6.tgz", + "integrity": "sha512-3Ybi1tAuwAP9s0r1UQ2J4n5Y0G05bJkpUIO0/bI9MhwmD70S5aTWbXGBwxHrelT+XM1k6dM0pk+SwNkpTRN7Pg==", + "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" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.11", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-nested": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/postcss-nested/-/postcss-nested-6.2.0.tgz", + "integrity": "sha512-HQbt28KulC5AJzG+cZtj9kvKB93CFCdLvog1WFLf1D+xmMvPGlBstkpTEZfK5+AN9hfJocyBFCNiqyS48bpgzQ==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "postcss-selector-parser": "^6.1.1" + }, + "engines": { + "node": ">=12.0" + }, + "peerDependencies": { + "postcss": "^8.2.14" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.1.2", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.1.2.tgz", + "integrity": "sha512-Q8qQfPiZ+THO/3ZrOrO0cJJKfpYCagtMUkXbnEfmgUjwXg6z/WBeOyS9APBBPCTSiDV+s4SwQGu8yFsiMRIudg==", + "license": "MIT", + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/prismjs": { + "version": "1.30.0", + "resolved": "https://registry.npmjs.org/prismjs/-/prismjs-1.30.0.tgz", + "integrity": "sha512-DEvV2ZF2r2/63V+tK8hQvrR2ZGn10srHbXviTlcv7Kpzw8jWiNTqbVgjO3IY8RxrrOUF8VPMQQFysYYYv0YZxw==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "license": "MIT", + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/prompts/node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/property-information": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/property-information/-/property-information-6.5.0.tgz", + "integrity": "sha512-PgTgs/BlvHxOu8QuEN7wi5A0OmXaBcHpmCSTehcs6Uuu9IkDIEo13Hy7n898RHfrQ49vKCoGeWZSaAK01nwVig==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/qs": { + "version": "6.15.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", + "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==", + "dev": true, + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/radix3": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/radix3/-/radix3-1.1.2.tgz", + "integrity": "sha512-b484I/7b8rDEdSDKckSSBA8knMpcdsXudlE/LNL639wFoHKwLbEkQFZHWEYwDC0wa0FKUcCY+GAF73Z7wxNVFA==", + "license": "MIT" + }, + "node_modules/readdirp": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-5.0.0.tgz", + "integrity": "sha512-9u/XQ1pvrQtYyMpZe7DXKv2p5CNvyVwzUB6uhLAnQwHMSgKMBR62lc7AHljaeteeHXn11XTAaLLUVZYVZyuRBQ==", + "license": "MIT", + "engines": { + "node": ">= 20.19.0" + }, + "funding": { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + }, + "node_modules/recma-build-jsx": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-build-jsx/-/recma-build-jsx-1.0.0.tgz", + "integrity": "sha512-8GtdyqaBcDfva+GUKDr3nev3VpKAhup1+RvkMvUxURHpW7QyIvk9F5wz7Vzo06CEMSilw6uArgRqhpiUcWp8ew==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-build-jsx": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-jsx": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/recma-jsx/-/recma-jsx-1.0.1.tgz", + "integrity": "sha512-huSIy7VU2Z5OLv6oFLosQGGDqPqdO1iq6bWNAdhzMxSJP7RAso4fCZ1cKu8j9YHCZf3TPrq4dw3okhrylgcd7w==", + "license": "MIT", + "dependencies": { + "acorn-jsx": "^5.0.0", + "estree-util-to-js": "^2.0.0", + "recma-parse": "^1.0.0", + "recma-stringify": "^1.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + }, + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/recma-parse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-parse/-/recma-parse-1.0.0.tgz", + "integrity": "sha512-OYLsIGBB5Y5wjnSnQW6t3Xg7q3fQ7FWbw/vcXtORTnyaSFscOtABg+7Pnz6YZ6c27fG1/aN8CjfwoUEUIdwqWQ==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "esast-util-from-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/recma-stringify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/recma-stringify/-/recma-stringify-1.0.0.tgz", + "integrity": "sha512-cjwII1MdIIVloKvC9ErQ+OgAtwHBmcZ0Bg4ciz78FtbT8In39aAYbaA7zvxQ61xVMSPE8WxhLwLbhif4Js2C+g==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "estree-util-to-js": "^2.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/regex": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/regex/-/regex-6.1.0.tgz", + "integrity": "sha512-6VwtthbV4o/7+OaAF9I5L5V3llLEsoPyq9P1JVXkedTP33c7MfCG0/5NOPcSJn0TzXcG9YUrR0gQSWioew3LDg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-recursion": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/regex-recursion/-/regex-recursion-6.0.2.tgz", + "integrity": "sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==", + "license": "MIT", + "dependencies": { + "regex-utilities": "^2.3.0" + } + }, + "node_modules/regex-utilities": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/regex-utilities/-/regex-utilities-2.3.0.tgz", + "integrity": "sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==", + "license": "MIT" + }, + "node_modules/rehype": { + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/rehype/-/rehype-13.0.2.tgz", + "integrity": "sha512-j31mdaRFrwFRUIlxGeuPXXKWQxet52RBQRvCmzl5eCefn/KGbomK5GMHNMsOJf55fgo3qw5tST5neDuarDYR2A==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "rehype-parse": "^9.0.0", + "rehype-stringify": "^10.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-expressive-code": { + "version": "0.41.7", + "resolved": "https://registry.npmjs.org/rehype-expressive-code/-/rehype-expressive-code-0.41.7.tgz", + "integrity": "sha512-25f8ZMSF1d9CMscX7Cft0TSQIqdwjce2gDOvQ+d/w0FovsMwrSt3ODP4P3Z7wO1jsIJ4eYyaDRnIR/27bd/EMQ==", + "license": "MIT", + "dependencies": { + "expressive-code": "^0.41.7" + } + }, + "node_modules/rehype-format": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/rehype-format/-/rehype-format-5.0.1.tgz", + "integrity": "sha512-zvmVru9uB0josBVpr946OR8ui7nJEdzZobwLOOqHb/OOD88W0Vk2SqLwoVOj0fM6IPCCO6TaV9CvQvJMWwukFQ==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-format": "^1.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-parse": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/rehype-parse/-/rehype-parse-9.0.1.tgz", + "integrity": "sha512-ksCzCD0Fgfh7trPDxr2rSylbwq9iYDkSn8TCDmEJ49ljEUBxDVCzCHv7QNzZOfODanX4+bWQ4WZqLCRWYLfhag==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-from-html": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-raw": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/rehype-raw/-/rehype-raw-7.0.0.tgz", + "integrity": "sha512-/aE8hCfKlQeA8LmyeyQvQF3eBiLRGNlfBJEvWH7ivp9sBqs7TNqBL5X3v157rM4IFETqDnIOO+z5M/biZbo9Ww==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-raw": "^9.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-recma": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rehype-recma/-/rehype-recma-1.0.0.tgz", + "integrity": "sha512-lqA4rGUf1JmacCNWWZx0Wv1dHqMwxzsDWYMTowuplHF3xH0N/MmrZ/G3BDZnzAkRmxDadujCjaKM2hqYdCBOGw==", + "license": "MIT", + "dependencies": { + "@types/estree": "^1.0.0", + "@types/hast": "^3.0.0", + "hast-util-to-estree": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rehype-stringify": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/rehype-stringify/-/rehype-stringify-10.0.1.tgz", + "integrity": "sha512-k9ecfXHmIPuFVI61B9DeLPN0qFHfawM6RsuX48hoqlaKSF61RskNjSm1lI8PhBEM0MRdLxVVm4WmTqJQccH9mA==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "hast-util-to-html": "^9.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-directive": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/remark-directive/-/remark-directive-3.0.0.tgz", + "integrity": "sha512-l1UyWJ6Eg1VPU7Hm/9tt0zKtReJQNOA4+iDMAxTyZNWnJnFlbS/7zhiel/rogTLQ2vMYwDzSJa4BiVNqGlqIMA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-directive": "^3.0.0", + "micromark-extension-directive": "^3.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-gfm": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/remark-gfm/-/remark-gfm-4.0.1.tgz", + "integrity": "sha512-1quofZ2RQ9EWdeN34S79+KExV1764+wCUGop5CPL1WGdD0ocPpu91lzPGbwWMECpEpd42kJGQwzRfyov9j4yNg==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-gfm": "^3.0.0", + "micromark-extension-gfm": "^3.0.0", + "remark-parse": "^11.0.0", + "remark-stringify": "^11.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-mdx": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/remark-mdx/-/remark-mdx-3.1.1.tgz", + "integrity": "sha512-Pjj2IYlUY3+D8x00UJsIOg5BEvfMyeI+2uLPn9VO9Wg4MEtN/VTIq2NEJQfde9PnX15KgtHyl9S0BcTnWrIuWg==", + "license": "MIT", + "dependencies": { + "mdast-util-mdx": "^3.0.0", + "micromark-extension-mdxjs": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-parse": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-parse/-/remark-parse-11.0.0.tgz", + "integrity": "sha512-FCxlKLNGknS5ba/1lmpYijMUzX2esxW5xQqjWxw2eHFfS2MSdaHVINFmhjo+qN1WhZhNimq0dZATN9pH0IDrpA==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-from-markdown": "^2.0.0", + "micromark-util-types": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-rehype": { + "version": "11.1.2", + "resolved": "https://registry.npmjs.org/remark-rehype/-/remark-rehype-11.1.2.tgz", + "integrity": "sha512-Dh7l57ianaEoIpzbp0PC9UKAdCSVklD8E5Rpw7ETfbTl3FqcOOgq5q2LVDhgGCkaBv7p24JXikPdvhhmHvKMsw==", + "license": "MIT", + "dependencies": { + "@types/hast": "^3.0.0", + "@types/mdast": "^4.0.0", + "mdast-util-to-hast": "^13.0.0", + "unified": "^11.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/remark-smartypants": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/remark-smartypants/-/remark-smartypants-3.0.2.tgz", + "integrity": "sha512-ILTWeOriIluwEvPjv67v7Blgrcx+LZOkAUVtKI3putuhlZm84FnqDORNXPPm+HY3NdZOMhyDwZ1E+eZB/Df5dA==", + "license": "MIT", + "dependencies": { + "retext": "^9.0.0", + "retext-smartypants": "^6.0.0", + "unified": "^11.0.4", + "unist-util-visit": "^5.0.0" + }, + "engines": { + "node": ">=16.0.0" + } + }, + "node_modules/remark-stringify": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/remark-stringify/-/remark-stringify-11.0.0.tgz", + "integrity": "sha512-1OSmLd3awB/t8qdoEOMazZkNsfVTeY4fTsgzcQFdXNq8ToTN4ZGwrMnlda4K6smTFKD+GRV6O48i6Z4iKgPPpw==", + "license": "MIT", + "dependencies": { + "@types/mdast": "^4.0.0", + "mdast-util-to-markdown": "^2.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha512-KigOCHcocU3XODJxsu8i/j8T9tzT4adHiecwORRQ0ZZFcp7ahwXuRU1m+yuO90C5ZUyGeGfocHDI14M3L3yDAQ==", + "dev": true + }, + "node_modules/retext": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/retext/-/retext-9.0.0.tgz", + "integrity": "sha512-sbMDcpHCNjvlheSgMfEcVrZko3cDzdbe1x/e7G66dFp0Ff7Mldvi2uv6JkJQzdRcvLYE8CA8Oe8siQx8ZOgTcA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "retext-latin": "^4.0.0", + "retext-stringify": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-latin": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-latin/-/retext-latin-4.0.0.tgz", + "integrity": "sha512-hv9woG7Fy0M9IlRQloq/N6atV82NxLGveq+3H2WOi79dtIYWN8OaxogDm77f8YnVXJL2VD3bbqowu5E3EMhBYA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "parse-latin": "^7.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-smartypants": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/retext-smartypants/-/retext-smartypants-6.2.0.tgz", + "integrity": "sha512-kk0jOU7+zGv//kfjXEBjdIryL1Acl4i9XNkHxtM7Tm5lFiCog576fjNC9hjoR7LTKQ0DsPWy09JummSsH1uqfQ==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/retext-stringify": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/retext-stringify/-/retext-stringify-4.0.0.tgz", + "integrity": "sha512-rtfN/0o8kL1e+78+uxPTqu1Klt0yPzKuQ2BfWwwfgIUSayyzxpM1PJzkKt4V8803uB9qSy32MvI7Xep9khTpiA==", + "license": "MIT", + "dependencies": { + "@types/nlcst": "^2.0.0", + "nlcst-to-string": "^4.0.0", + "unified": "^11.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/rollup": { + "version": "4.60.1", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.1.tgz", + "integrity": "sha512-VmtB2rFU/GroZ4oL8+ZqXgSA38O6GR8KSIvWmEFv63pQ0G6KaBH9s07PO8XTXP4vI+3UJUEypOfjkGfmSBBR0w==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.60.1", + "@rollup/rollup-android-arm64": "4.60.1", + "@rollup/rollup-darwin-arm64": "4.60.1", + "@rollup/rollup-darwin-x64": "4.60.1", + "@rollup/rollup-freebsd-arm64": "4.60.1", + "@rollup/rollup-freebsd-x64": "4.60.1", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.1", + "@rollup/rollup-linux-arm-musleabihf": "4.60.1", + "@rollup/rollup-linux-arm64-gnu": "4.60.1", + "@rollup/rollup-linux-arm64-musl": "4.60.1", + "@rollup/rollup-linux-loong64-gnu": "4.60.1", + "@rollup/rollup-linux-loong64-musl": "4.60.1", + "@rollup/rollup-linux-ppc64-gnu": "4.60.1", + "@rollup/rollup-linux-ppc64-musl": "4.60.1", + "@rollup/rollup-linux-riscv64-gnu": "4.60.1", + "@rollup/rollup-linux-riscv64-musl": "4.60.1", + "@rollup/rollup-linux-s390x-gnu": "4.60.1", + "@rollup/rollup-linux-x64-gnu": "4.60.1", + "@rollup/rollup-linux-x64-musl": "4.60.1", + "@rollup/rollup-openbsd-x64": "4.60.1", + "@rollup/rollup-openharmony-arm64": "4.60.1", + "@rollup/rollup-win32-arm64-msvc": "4.60.1", + "@rollup/rollup-win32-ia32-msvc": "4.60.1", + "@rollup/rollup-win32-x64-gnu": "4.60.1", + "@rollup/rollup-win32-x64-msvc": "4.60.1", + "fsevents": "~2.3.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", + "dev": true + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sax": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.6.0.tgz", + "integrity": "sha512-6R3J5M4AcbtLUdZmRv2SygeVaM7IhrLXu9BmnOGmmACak8fiUtOsYNWUS4uK7upbmHIBbLBeFeI//477BKLBzA==", + "license": "BlueOak-1.0.0", + "engines": { + "node": ">=11.0.0" + } + }, + "node_modules/secure-compare": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/secure-compare/-/secure-compare-3.0.1.tgz", + "integrity": "sha512-AckIIV90rPDcBcglUwXPF3kg0P0qmPsPXAj6BBEENQE1p5yA1xfmDJzfi1Tappj37Pv2mVbKpL3Z1T+Nn7k1Qw==", + "dev": true + }, + "node_modules/semver": { + "version": "7.7.3", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", + "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/sharp": { + "version": "0.33.5", + "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.33.5.tgz", + "integrity": "sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==", + "hasInstallScript": true, + "license": "Apache-2.0", + "dependencies": { + "color": "^4.2.3", + "detect-libc": "^2.0.3", + "semver": "^7.6.3" + }, + "engines": { + "node": "^18.17.0 || ^20.3.0 || >=21.0.0" + }, + "funding": { + "url": "https://opencollective.com/libvips" + }, + "optionalDependencies": { + "@img/sharp-darwin-arm64": "0.33.5", + "@img/sharp-darwin-x64": "0.33.5", + "@img/sharp-libvips-darwin-arm64": "1.0.4", + "@img/sharp-libvips-darwin-x64": "1.0.4", + "@img/sharp-libvips-linux-arm": "1.0.5", + "@img/sharp-libvips-linux-arm64": "1.0.4", + "@img/sharp-libvips-linux-s390x": "1.0.4", + "@img/sharp-libvips-linux-x64": "1.0.4", + "@img/sharp-libvips-linuxmusl-arm64": "1.0.4", + "@img/sharp-libvips-linuxmusl-x64": "1.0.4", + "@img/sharp-linux-arm": "0.33.5", + "@img/sharp-linux-arm64": "0.33.5", + "@img/sharp-linux-s390x": "0.33.5", + "@img/sharp-linux-x64": "0.33.5", + "@img/sharp-linuxmusl-arm64": "0.33.5", + "@img/sharp-linuxmusl-x64": "0.33.5", + "@img/sharp-wasm32": "0.33.5", + "@img/sharp-win32-ia32": "0.33.5", + "@img/sharp-win32-x64": "0.33.5" + } + }, + "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==", + "license": "MIT", + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/shiki": { + "version": "3.23.0", + "resolved": "https://registry.npmjs.org/shiki/-/shiki-3.23.0.tgz", + "integrity": "sha512-55Dj73uq9ZXL5zyeRPzHQsK7Nbyt6Y10k5s7OjuFZGMhpp4r/rsLBH0o/0fstIzX1Lep9VxefWljK/SKCzygIA==", + "license": "MIT", + "dependencies": { + "@shikijs/core": "3.23.0", + "@shikijs/engine-javascript": "3.23.0", + "@shikijs/engine-oniguruma": "3.23.0", + "@shikijs/langs": "3.23.0", + "@shikijs/themes": "3.23.0", + "@shikijs/types": "3.23.0", + "@shikijs/vscode-textmate": "^10.0.2", + "@types/hast": "^3.0.4" + } + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "dev": true, + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dev": true, + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.1.0.tgz", + "integrity": "sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==", + "license": "ISC", + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/simple-swizzle": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", + "integrity": "sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==", + "license": "MIT", + "dependencies": { + "is-arrayish": "^0.3.1" + } + }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "license": "MIT" + }, + "node_modules/sitemap": { + "version": "8.0.3", + "resolved": "https://registry.npmjs.org/sitemap/-/sitemap-8.0.3.tgz", + "integrity": "sha512-9Ew1tR2WYw8RGE2XLy7GjkusvYXy8Rg6y8TYuBuQMfIEdGcWoJpY2Wr5DzsEiL/TKCw56+YKTCCUHglorEYK+A==", + "license": "MIT", + "dependencies": { + "@types/node": "^17.0.5", + "@types/sax": "^1.2.1", + "arg": "^5.0.0", + "sax": "^1.4.1" + }, + "bin": { + "sitemap": "dist/cli.js" + }, + "engines": { + "node": ">=14.0.0", + "npm": ">=6.0.0" + } + }, + "node_modules/sitemap/node_modules/@types/node": { + "version": "17.0.45", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.45.tgz", + "integrity": "sha512-w+tIMs3rq2afQdsPJlODhoUEKzFP1ayaoyl1CcnwtIlsVe7K7bA1NGm4s3PraqTLlXnbIN84zuBlxBWo1u9BLw==", + "license": "MIT" + }, + "node_modules/smol-toml": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/smol-toml/-/smol-toml-1.6.1.tgz", + "integrity": "sha512-dWUG8F5sIIARXih1DTaQAX4SsiTXhInKf1buxdY9DIg4ZYPZK5nGM1VRIYmEbDbsHt7USo99xSLFu5Q1IqTmsg==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 18" + }, + "funding": { + "url": "https://github.com/sponsors/cyyynthia" + } + }, + "node_modules/source-map": { + "version": "0.7.6", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.6.tgz", + "integrity": "sha512-i5uvt8C3ikiWeNZSVZNWcfZPItFQOsYTUAOkcUPGd8DqDy1uOUikjt5dG+uRlwyvR108Fb9DOd4GvXfT0N2/uQ==", + "license": "BSD-3-Clause", + "engines": { + "node": ">= 12" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/space-separated-tokens": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/space-separated-tokens/-/space-separated-tokens-2.0.2.tgz", + "integrity": "sha512-PEGlAwrG8yXGXRjW32fGbg66JAlOAwbObuqVoJpv/mRgoWDQfgH1wDPvtzWyUSNAXBGSk8h755YDbbcEy3SH2Q==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/stream-replace-string": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/stream-replace-string/-/stream-replace-string-2.0.0.tgz", + "integrity": "sha512-TlnjJ1C0QrmxRNrON00JvaFFlNh5TTG00APw23j74ET7gkQpTASi6/L2fuiav8pzK715HXtUeClpBTw2NPSn6w==", + "license": "MIT" + }, + "node_modules/string-width": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-7.2.0.tgz", + "integrity": "sha512-tsaTIkKW9b4N+AEj+SVA+WhJzV7/zMhcSu78mLKWSk7cXMOSHsBKFWUs0fWwq8QyK3MgJBQRX6Gbi4kYbdvGkQ==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^10.3.0", + "get-east-asian-width": "^1.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/string-width-cjs/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==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/stringify-entities": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/stringify-entities/-/stringify-entities-4.0.4.tgz", + "integrity": "sha512-IwfBptatlO+QCJUo19AqvrPNqlVMpW9YEL2LIVY+Rpv2qsjCGxaDLNRgeGsQWJhfItebuJhsGSLjaBbNSQ+ieg==", + "license": "MIT", + "dependencies": { + "character-entities-html4": "^2.0.0", + "character-entities-legacy": "^3.0.0" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/strip-ansi": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", + "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" + } + }, + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-ansi-cjs/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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/style-to-js": { + "version": "1.1.21", + "resolved": "https://registry.npmjs.org/style-to-js/-/style-to-js-1.1.21.tgz", + "integrity": "sha512-RjQetxJrrUJLQPHbLku6U/ocGtzyjbJMP9lCNK7Ag0CNh690nSH8woqWH9u16nMjYBAok+i7JO1NP2pOy8IsPQ==", + "license": "MIT", + "dependencies": { + "style-to-object": "1.0.14" + } + }, + "node_modules/style-to-object": { + "version": "1.0.14", + "resolved": "https://registry.npmjs.org/style-to-object/-/style-to-object-1.0.14.tgz", + "integrity": "sha512-LIN7rULI0jBscWQYaSswptyderlarFkjQ+t79nzty8tcIAceVomEVlLzH5VP4Cmsv6MtKhs7qaAiwlcp+Mgaxw==", + "license": "MIT", + "dependencies": { + "inline-style-parser": "0.2.7" + } + }, + "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" + } + }, + "node_modules/svgo": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-4.0.1.tgz", + "integrity": "sha512-XDpWUOPC6FEibaLzjfe0ucaV0YrOjYotGJO1WpF0Zd+n6ZGEQUsSugaoLq9QkEZtAfQIxT42UChcssDVPP3+/w==", + "license": "MIT", + "dependencies": { + "commander": "^11.1.0", + "css-select": "^5.1.0", + "css-tree": "^3.0.1", + "css-what": "^6.1.0", + "csso": "^5.0.5", + "picocolors": "^1.1.1", + "sax": "^1.5.0" + }, + "bin": { + "svgo": "bin/svgo.js" + }, + "engines": { + "node": ">=16" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/svgo" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "license": "MIT" + }, + "node_modules/tinyexec": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.2.tgz", + "integrity": "sha512-W/KYk+NFhkmsYpuHq5JykngiOCnxeVL8v8dFnqxSD8qEEdRfXk1SDM6JzNqcERbcGYj9tMrDQBYV9cjgnunFIg==", + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.15", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", + "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.3" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/trim-lines": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/trim-lines/-/trim-lines-3.0.1.tgz", + "integrity": "sha512-kRj8B+YHZCc9kQYdWfJB2/oUl9rA99qbowYYBtr4ui4mZyAQ2JpvVBd/6U2YloATfqBhBTSMhTpgBHtU0Mf3Rg==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/trough": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/trough/-/trough-2.2.0.tgz", + "integrity": "sha512-tmMpK00BjZiUyVyvrBK7knerNgmgvcV/KLVyuma/SC+TQN167GrMRciANTz09+k3zW8L8t60jWO1GpfkZdjTaw==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/tsconfck": { + "version": "3.1.6", + "resolved": "https://registry.npmjs.org/tsconfck/-/tsconfck-3.1.6.tgz", + "integrity": "sha512-ks6Vjr/jEw0P1gmOVwutM3B7fWxoWBL2KRDb1JfqGVawBmO5UsvmWOQFGHBPl5yxYz4eERr19E6L7NMv+Fej4w==", + "license": "MIT", + "bin": { + "tsconfck": "bin/tsconfck.js" + }, + "engines": { + "node": "^18 || >=20" + }, + "peerDependencies": { + "typescript": "^5.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD", + "optional": true + }, + "node_modules/type-fest": { + "version": "4.31.0", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-4.31.0.tgz", + "integrity": "sha512-yCxltHW07Nkhv/1F6wWBr8kz+5BGMfP+RbRSYFnegVb0qV/UMT0G0ElBloPVerqn4M2ZV80Ir1FtCcYv1cT6vQ==", + "license": "(MIT OR CC0-1.0)", + "engines": { + "node": ">=16" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/typescript": { + "version": "5.7.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.7.2.tgz", + "integrity": "sha512-i5t66RHxDvVN40HfDd1PsEThGNnlMCMT3jMUuoh9/0TaqWevNontacunWyN02LA9/fIbEWlcHZcgTKb9QoaLfg==", + "license": "Apache-2.0", + "peer": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/ufo": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/ufo/-/ufo-1.6.3.tgz", + "integrity": "sha512-yDJTmhydvl5lJzBmy/hyOAA0d+aqCBuwl818haVdYCRrWV84o7YyeVm4QlVHStqNrrJSTb6jKuFAVqAFsr+K3Q==", + "license": "MIT" + }, + "node_modules/ultrahtml": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ultrahtml/-/ultrahtml-1.6.0.tgz", + "integrity": "sha512-R9fBn90VTJrqqLDwyMph+HGne8eqY1iPfYhPzZrvKpIfwkWZbcYlfpsb8B9dTvBfpy1/hqAD7Wi8EKfP9e8zdw==", + "license": "MIT" + }, + "node_modules/uncrypto": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/uncrypto/-/uncrypto-0.1.3.tgz", + "integrity": "sha512-Ql87qFHB3s/De2ClA9e0gsnS6zXG27SkTiSJwjCc9MebbfapQfuPzumMIUMi38ezPZVNFcHI9sUIepeQfw8J8Q==", + "license": "MIT" + }, + "node_modules/undici-types": { + "version": "6.20.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.20.0.tgz", + "integrity": "sha512-Ny6QZ2Nju20vw1SRHe3d9jVu6gJ+4e3+MMpqu7pqE5HT6WsTSlce++GQmK5UXS8mzV8DSYHrQH+Xrf2jVcuKNg==", + "license": "MIT" + }, + "node_modules/unified": { + "version": "11.0.5", + "resolved": "https://registry.npmjs.org/unified/-/unified-11.0.5.tgz", + "integrity": "sha512-xKvGhPWw3k84Qjh8bI3ZeJjqnyadK+GEFtazSfZv/rKeTkTjOJho6mFqh2SM96iIcZokxiOpg78GazTSg8+KHA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "bail": "^2.0.0", + "devlop": "^1.0.0", + "extend": "^3.0.0", + "is-plain-obj": "^4.0.0", + "trough": "^2.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unifont": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/unifont/-/unifont-0.7.4.tgz", + "integrity": "sha512-oHeis4/xl42HUIeHuNZRGEvxj5AaIKR+bHPNegRq5LV1gdc3jundpONbjglKpihmJf+dswygdMJn3eftGIMemg==", + "license": "MIT", + "dependencies": { + "css-tree": "^3.1.0", + "ofetch": "^1.5.1", + "ohash": "^2.0.11" + } + }, + "node_modules/union": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/union/-/union-0.5.0.tgz", + "integrity": "sha512-N6uOhuW6zO95P3Mel2I2zMsbsanvvtgn6jVqJv4vbVcz/JN0OkL9suomjQGmWtxJQXOCqUJvquc1sMeNz/IwlA==", + "dev": true, + "dependencies": { + "qs": "^6.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/unist-util-find-after": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-find-after/-/unist-util-find-after-5.0.0.tgz", + "integrity": "sha512-amQa0Ep2m6hE2g72AugUItjbuM8X8cGQnFoHk0pGfrFeT9GZhzN5SW8nRsiGKK7Aif4CrACPENkA6P/Lw6fHGQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-is": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/unist-util-is/-/unist-util-is-6.0.0.tgz", + "integrity": "sha512-2qCTHimwdxLfz+YzdGfkqNlH0tLi9xjTnHddPmJwtIG9MGsdbutfTc4P+haPD7l7Cjxf/WZj+we5qfVPvvxfYw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-modify-children": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-modify-children/-/unist-util-modify-children-4.0.0.tgz", + "integrity": "sha512-+tdN5fGNddvsQdIzUF3Xx82CU9sMM+fA0dLgR9vOmT0oPT2jH+P1nd5lSqfCfXAw+93NhcXNY2qqvTUtE4cQkw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "array-iterate": "^2.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position/-/unist-util-position-5.0.0.tgz", + "integrity": "sha512-fucsC7HjXvkB5R3kTCO7kUjRdrS0BJt3M/FPxmHMBOm8JQi2BsHAHFsy27E0EolP8rp0NzXsJ+jNPyDWvOJZPA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-position-from-estree": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unist-util-position-from-estree/-/unist-util-position-from-estree-2.0.0.tgz", + "integrity": "sha512-KaFVRjoqLyF6YXCbVLNad/eS4+OfPQQn2yOd7zF/h5T/CSL2v8NpN6a5TPvtbXthAGw5nG+PuTtq+DdIZr+cRQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-remove-position": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-remove-position/-/unist-util-remove-position-5.0.0.tgz", + "integrity": "sha512-Hp5Kh3wLxv0PHj9m2yZhhLt58KzPtEYKQQ4yxfYFEO7EvHwzyDYnduhHnY1mDxoqr7VUwVuHXk9RXKIiYS1N8Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-visit": "^5.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-stringify-position": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unist-util-stringify-position/-/unist-util-stringify-position-4.0.0.tgz", + "integrity": "sha512-0ASV06AAoKCDkS2+xw5RXJywruurpbC4JZSm7nr7MOt1ojAzvyyaO+UxZf18j8FCF6kmzCZKcAgN/yu2gm2XgQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit/-/unist-util-visit-5.0.0.tgz", + "integrity": "sha512-MR04uvD+07cwl/yhVuVWAtw+3GOR/knlL55Nd/wAdblk27GCVt3lqpTivy/tkJcZoNPzTwS1Y+KMojlLDhoTzg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0", + "unist-util-visit-parents": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-children": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unist-util-visit-children/-/unist-util-visit-children-3.0.0.tgz", + "integrity": "sha512-RgmdTfSBOg04sdPcpTSD1jzoNBjt9a80/ZCzp5cI9n1qPzLZWF9YdvWGN2zmTumP1HWhXKdUWexjy/Wy/lJ7tA==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unist-util-visit-parents": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/unist-util-visit-parents/-/unist-util-visit-parents-6.0.2.tgz", + "integrity": "sha512-goh1s1TBrqSqukSc8wrjwWhL0hiJxgA8m4kFxGlQ+8FYQ3C/m11FcTs4YYem7V664AhHVvgoQLk890Ssdsr2IQ==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-is": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/unstorage": { + "version": "1.17.4", + "resolved": "https://registry.npmjs.org/unstorage/-/unstorage-1.17.4.tgz", + "integrity": "sha512-fHK0yNg38tBiJKp/Vgsq4j0JEsCmgqH58HAn707S7zGkArbZsVr/CwINoi+nh3h98BRCwKvx1K3Xg9u3VV83sw==", + "license": "MIT", + "dependencies": { + "anymatch": "^3.1.3", + "chokidar": "^5.0.0", + "destr": "^2.0.5", + "h3": "^1.15.5", + "lru-cache": "^11.2.0", + "node-fetch-native": "^1.6.7", + "ofetch": "^1.5.1", + "ufo": "^1.6.3" + }, + "peerDependencies": { + "@azure/app-configuration": "^1.8.0", + "@azure/cosmos": "^4.2.0", + "@azure/data-tables": "^13.3.0", + "@azure/identity": "^4.6.0", + "@azure/keyvault-secrets": "^4.9.0", + "@azure/storage-blob": "^12.26.0", + "@capacitor/preferences": "^6 || ^7 || ^8", + "@deno/kv": ">=0.9.0", + "@netlify/blobs": "^6.5.0 || ^7.0.0 || ^8.1.0 || ^9.0.0 || ^10.0.0", + "@planetscale/database": "^1.19.0", + "@upstash/redis": "^1.34.3", + "@vercel/blob": ">=0.27.1", + "@vercel/functions": "^2.2.12 || ^3.0.0", + "@vercel/kv": "^1 || ^2 || ^3", + "aws4fetch": "^1.0.20", + "db0": ">=0.2.1", + "idb-keyval": "^6.2.1", + "ioredis": "^5.4.2", + "uploadthing": "^7.4.4" + }, + "peerDependenciesMeta": { + "@azure/app-configuration": { + "optional": true + }, + "@azure/cosmos": { + "optional": true + }, + "@azure/data-tables": { + "optional": true + }, + "@azure/identity": { + "optional": true + }, + "@azure/keyvault-secrets": { + "optional": true + }, + "@azure/storage-blob": { + "optional": true + }, + "@capacitor/preferences": { + "optional": true + }, + "@deno/kv": { + "optional": true + }, + "@netlify/blobs": { + "optional": true + }, + "@planetscale/database": { + "optional": true + }, + "@upstash/redis": { + "optional": true + }, + "@vercel/blob": { + "optional": true + }, + "@vercel/functions": { + "optional": true + }, + "@vercel/kv": { + "optional": true + }, + "aws4fetch": { + "optional": true + }, + "db0": { + "optional": true + }, + "idb-keyval": { + "optional": true + }, + "ioredis": { + "optional": true + }, + "uploadthing": { + "optional": true + } + } + }, + "node_modules/unstorage/node_modules/lru-cache": { + "version": "11.2.6", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-11.2.6.tgz", + "integrity": "sha512-ESL2CrkS/2wTPfuend7Zhkzo2u0daGJ/A2VucJOgQ/C48S/zB8MMeMHSGKYpXhIjbPxfuezITkaBH1wqv00DDQ==", + "license": "BlueOak-1.0.0", + "engines": { + "node": "20 || >=22" + } + }, + "node_modules/url-join": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/url-join/-/url-join-4.0.1.tgz", + "integrity": "sha512-jk1+QP6ZJqyOiuEI9AEWQfju/nB2Pw466kbA0LEZljHwKeMgd9WrAEgEGxjPDD2+TNbbb37rTyhEfrCXfuKXnA==", + "dev": 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==", + "license": "MIT" + }, + "node_modules/vfile": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/vfile/-/vfile-6.0.3.tgz", + "integrity": "sha512-KzIbH/9tXat2u30jf+smMwFCsno4wHVdNmzFyL+T/L3UGqqk6JKfVqOFOZEpZSHADH1k40ab6NUIXZq422ov3Q==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile-message": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-location": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/vfile-location/-/vfile-location-5.0.3.tgz", + "integrity": "sha512-5yXvWDEgqeiYiBe1lbxYF7UMAIm/IcopxMHrMQDq3nvKcjPKIhZklUKL+AE7J7uApI4kwe2snsK+eI6UTj9EHg==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "vfile": "^6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vfile-message": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/vfile-message/-/vfile-message-4.0.2.tgz", + "integrity": "sha512-jRDZ1IMLttGj41KcZvlrYAaI3CfqpLpfpf+Mfig13viT6NKvRzWZ+lXz0Y5D60w6uJIBAOGq9mSHf0gktF0duw==", + "license": "MIT", + "dependencies": { + "@types/unist": "^3.0.0", + "unist-util-stringify-position": "^4.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/unified" + } + }, + "node_modules/vite": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.2.tgz", + "integrity": "sha512-2N/55r4JDJ4gdrCvGgINMy+HH3iRpNIz8K6SFwVsA+JbQScLiC+clmAxBgwiSPgcG9U15QmvqCGWzMbqda5zGQ==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/vitefu": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/vitefu/-/vitefu-1.1.1.tgz", + "integrity": "sha512-B/Fegf3i8zh0yFbpzZ21amWzHmuNlLlmJT6n7bu5e+pCHUKQIfXSYokrqOBGEMMe9UG2sostKQF9mml/vYaWJQ==", + "license": "MIT", + "workspaces": [ + "tests/deps/*", + "tests/projects/*", + "tests/projects/workspace/packages/*" + ], + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0-beta.0" + }, + "peerDependenciesMeta": { + "vite": { + "optional": true + } + } + }, + "node_modules/web-namespaces": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/web-namespaces/-/web-namespaces-2.0.1.tgz", + "integrity": "sha512-bKr1DkiNa2krS7qxNtdrtHAmzuYGFQLiQ13TsorsdT6ULTkPLKuu5+GsFpDlg6JFjUTwX2DyhMPG2be8uPrqsQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + }, + "node_modules/whatwg-encoding": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/whatwg-encoding/-/whatwg-encoding-2.0.0.tgz", + "integrity": "sha512-p41ogyeMUrw3jWclHWTQg1k05DSVXPLcVxRTYsXUk+ZooOCZLcoYgPZ/HL/D/N+uQPOtcp1me1WhBEaX02mhWg==", + "deprecated": "Use @exodus/bytes instead for a more spec-conformant and faster implementation", + "dev": true, + "dependencies": { + "iconv-lite": "0.6.3" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "license": "ISC", + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-pm-runs": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/which-pm-runs/-/which-pm-runs-1.1.0.tgz", + "integrity": "sha512-n1brCuqClxfFfq/Rb0ICg9giSZqCS+pLtccdag6C2HyufBrh3fBOiy9nb6ggRMvWOVH5GrdJskj5iGTZNxd7SA==", + "license": "MIT", + "engines": { + "node": ">=4" + } + }, + "node_modules/widest-line": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/widest-line/-/widest-line-5.0.0.tgz", + "integrity": "sha512-c9bZp7b5YtRj2wOe6dlj32MK+Bx/M/d+9VB2SHM1OtsUHR0aV0tdP6DWh/iMt0kWi1t5g1Iudu6hQRNd1A4PVA==", + "license": "MIT", + "dependencies": { + "string-width": "^7.0.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/wrap-ansi": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-9.0.0.tgz", + "integrity": "sha512-G8ura3S+3Z2G+mkgNRq8dqaFZAuxfsxpBB8OCTGRTCtp+l/v9nbFNmCUP1BZMts3G1142MsZfn6eeUKrr4PD1Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^6.2.1", + "string-width": "^7.0.0", + "strip-ansi": "^7.1.0" + }, + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "license": "MIT", + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/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==", + "license": "MIT", + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/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==", + "license": "MIT", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "license": "MIT" + }, + "node_modules/wrap-ansi-cjs/node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "license": "MIT", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/wrap-ansi-cjs/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==", + "license": "MIT", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/xxhash-wasm": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/xxhash-wasm/-/xxhash-wasm-1.1.0.tgz", + "integrity": "sha512-147y/6YNh+tlp6nd/2pWq38i9h6mz/EuQ6njIrmW8D1BS5nCqs0P6DG+m6zTGnNz5I+uhZ0SHxBs9BsPrwcKDA==", + "license": "MIT" + }, + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", + "license": "ISC", + "engines": { + "node": ">=12" + } + }, + "node_modules/yocto-queue": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.1.1.tgz", + "integrity": "sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==", + "license": "MIT", + "engines": { + "node": ">=12.20" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yocto-spinner": { + "version": "0.2.3", + "resolved": "https://registry.npmjs.org/yocto-spinner/-/yocto-spinner-0.2.3.tgz", + "integrity": "sha512-sqBChb33loEnkoXte1bLg45bEBsOP9N1kzQh5JZNKj/0rik4zAPTNSAVPj3uQAdc6slYJ0Ksc403G2XgxsJQFQ==", + "license": "MIT", + "dependencies": { + "yoctocolors": "^2.1.1" + }, + "engines": { + "node": ">=18.19" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/yoctocolors": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/yoctocolors/-/yoctocolors-2.1.1.tgz", + "integrity": "sha512-GQHQqAopRhwU8Kt1DDM8NjibDXHC8eoh1erhGAJPEyveY9qqVeXvVikNKrDz69sHowPMorbPUrH/mx8c50eiBQ==", + "license": "MIT", + "engines": { + "node": ">=18" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/zod": { + "version": "3.25.76", + "resolved": "https://registry.npmjs.org/zod/-/zod-3.25.76.tgz", + "integrity": "sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==", + "license": "MIT", + "funding": { + "url": "https://github.com/sponsors/colinhacks" + } + }, + "node_modules/zod-to-json-schema": { + "version": "3.25.1", + "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.25.1.tgz", + "integrity": "sha512-pM/SU9d3YAggzi6MtR4h7ruuQlqKtad8e9S0fmxcMi+ueAK5Korys/aWcV9LIIHTVbj01NdzxcnXSN+O74ZIVA==", + "license": "ISC", + "peerDependencies": { + "zod": "^3.25 || ^4" + } + }, + "node_modules/zod-to-ts": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/zod-to-ts/-/zod-to-ts-1.2.0.tgz", + "integrity": "sha512-x30XE43V+InwGpvTySRNz9kB7qFU8DlyEy7BsSTCHPH1R0QasMmHWZDCzYm6bVXtj/9NNJAZF3jW8rzFvH5OFA==", + "peerDependencies": { + "typescript": "^4.9.4 || ^5.0.2", + "zod": "^3" + } + }, + "node_modules/zwitch": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-2.0.4.tgz", + "integrity": "sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/wooorm" + } + } + } +} diff --git a/tutorials/advanced-video-core-api-features/package.json b/tutorials/advanced-video-core-api-features/package.json new file mode 100644 index 00000000..a6b94ccc --- /dev/null +++ b/tutorials/advanced-video-core-api-features/package.json @@ -0,0 +1,29 @@ +{ + "name": "advanced-video-core-api-features", + "type": "module", + "version": "0.0.1", + "private": true, + "scripts": { + "dev": "node download-toolbar.js && astro dev", + "start": "node download-toolbar.js && astro dev", + "build": "astro build", + "preview": "astro preview", + "astro": "astro", + "start:tutorial": "http-server steps -p 1234 --cors -c-1", + "start:app": "cd project && npm start", + "setup-credentials": "cd project && npm run setup-credentials", + "postinstall": "cd project && npm install" + }, + "dependencies": { + "@astrojs/markdoc": "^0.15.10", + "@astrojs/starlight": "^0.37.6", + "@astrojs/starlight-markdoc": "^0.5.1", + "adm-zip": "^0.5.16", + "astro": "^5.18.0", + "astro-relative-links": "^0.4.2", + "sharp": "^0.33.0" + }, + "devDependencies": { + "http-server": "^14.1.1" + } +} diff --git a/tutorials/advanced-video-core-api-features/project/.env.example b/tutorials/advanced-video-core-api-features/project/.env.example new file mode 100644 index 00000000..17df0c7c --- /dev/null +++ b/tutorials/advanced-video-core-api-features/project/.env.example @@ -0,0 +1,6 @@ +VONAGE_API_KEY= +VONAGE_API_SECRET= +VONAGE_APPLICATION_ID= +VONAGE_PRIVATE_KEY64= +APP_URL=http://localhost:3000 +VIDEO_CALLBACK_URL=http://localhost:3000/callbacks/video diff --git a/tutorials/advanced-video-core-api-features/project/README.md b/tutorials/advanced-video-core-api-features/project/README.md new file mode 100644 index 00000000..70a9dc49 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/project/README.md @@ -0,0 +1,15 @@ +# Advanced Video Core API Features Project + +This project runs the app and validation API for the Advanced Video Core API Features learning path. + +Run the app server: + +```sh +npm start +``` + +Configure Vonage credentials: + +```sh +npm run setup-credentials +``` diff --git a/tutorials/advanced-video-core-api-features/project/package-lock.json b/tutorials/advanced-video-core-api-features/project/package-lock.json new file mode 100644 index 00000000..0aa8fa38 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/project/package-lock.json @@ -0,0 +1,1396 @@ +{ + "name": "advanced-video-core-api-features-project", + "version": "0.0.1", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "advanced-video-core-api-features-project", + "version": "0.0.1", + "dependencies": { + "@vonage/server-sdk": "^3.0", + "@vonage/video": "^1.0", + "cors": "^2.8.5", + "express": "^4.21.2" + } + }, + "node_modules/@types/debug": { + "version": "4.1.12", + "resolved": "https://registry.npmjs.org/@types/debug/-/debug-4.1.12.tgz", + "integrity": "sha512-vIChWdVG3LG1SMxEvI/AK+FWJthlrqlTu7fbrlywTkkaONwk/UAGaULXRlf8vkzFBLVm0zkMdCquhL5aOjhXPQ==", + "dependencies": { + "@types/ms": "*" + } + }, + "node_modules/@types/ms": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/@types/ms/-/ms-2.1.0.tgz", + "integrity": "sha512-GsCCIZDE/p3i96vtEqx+7dBUGXrc7zeSK3wwPHIaRThS+9OhWIXRqzs4d6k1SVU8g91DrNRWxWUGhp5KXQb2VA==" + }, + "node_modules/@types/node": { + "version": "25.9.1", + "resolved": "https://registry.npmjs.org/@types/node/-/node-25.9.1.tgz", + "integrity": "sha512-xfrlY7UD5rMJk3ZVJP8BNzS28J36YJg+xp+LPXV1TdWxr8uMH5A860QNxYDGQe/ylDSgjxE52Q9VnO7p75tJxg==", + "dependencies": { + "undici-types": ">=7.24.0 <7.24.7" + } + }, + "node_modules/@types/node-fetch": { + "version": "2.6.13", + "resolved": "https://registry.npmjs.org/@types/node-fetch/-/node-fetch-2.6.13.tgz", + "integrity": "sha512-QGpRVpzSaUs30JBSGPjOg4Uveu384erbHBoT1zeONvyCfwQxIkUshLAOqN/k9EjGviPRmWTTe6aH2qySWKTVSw==", + "dependencies": { + "@types/node": "*", + "form-data": "^4.0.4" + } + }, + "node_modules/@vonage/accounts": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@vonage/accounts/-/accounts-1.20.0.tgz", + "integrity": "sha512-cCWoD8IjKmwYfsQcf5IhnPCvZ2uAlmgvy2CgjFjjxahZ+LuLvPaNLjE+P9cxe+TyiQBkfyvb91hOmlQP4PKIDg==", + "dependencies": { + "@vonage/server-client": "1.20.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/applications": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@vonage/applications/-/applications-1.20.0.tgz", + "integrity": "sha512-P7gkz1rJAMLCvLRHL1LXguMd8eEBUfkMQ5EWMvp4FLgF06hWrquoGGqOWRXxWC+jVdDC9YAGuxgyGY8eVvkb+A==", + "dependencies": { + "@vonage/server-client": "1.20.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/auth": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/@vonage/auth/-/auth-1.15.0.tgz", + "integrity": "sha512-sRyHb2xvtTAzCsTThV2vsA/Z+mjgwkQqrqhAMmAUT5DbGr+VKChQk6FQmIcB11q0TXy/yUAv2oYKLT3bf/W/UA==", + "dependencies": { + "@vonage/jwt": "1.14.0", + "debug": "4.4.3" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/conversations": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@vonage/conversations/-/conversations-1.14.0.tgz", + "integrity": "sha512-QCYmLfPJcqKCP98ZI3BJwJSNVD77ACbcO707sS+slHrMJ5h+epM5rn8tHoDAO5LdK+FZFTDHMeD3vnjJ+wPQpA==", + "dependencies": { + "@vonage/messages": "1.24.0", + "@vonage/server-client": "1.20.0", + "@vonage/users": "1.14.0", + "@vonage/voice": "1.21.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/jwt": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@vonage/jwt/-/jwt-1.14.0.tgz", + "integrity": "sha512-7TuSjNy0jE86YeRMQYB5ZjR4hlr885IsPo0YapVeOQ1QiB3KeSHa8z1+0Y2575SWk7riN0FMYVNSYm3RBoVuZQ==", + "dependencies": { + "debug": "4.4.3", + "jsonwebtoken": "9.0.3", + "uuid": "13.0.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/messages": { + "version": "1.24.0", + "resolved": "https://registry.npmjs.org/@vonage/messages/-/messages-1.24.0.tgz", + "integrity": "sha512-u9vKetu5dAwSlL/lzsOtUUFkhog8JH3jQ+k92haGCxaH1Dz2cTYTIH0rt/r6HQI1c3kzS9VhzWhhR+elulcfhA==", + "dependencies": { + "@vonage/server-client": "1.20.0", + "@vonage/vetch": "1.11.0", + "debug": "4.4.3" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/number-insights": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@vonage/number-insights/-/number-insights-1.20.0.tgz", + "integrity": "sha512-nAGeEy2eydiC66kyvQX/xI2ceShxGirDp1T97gGLb0s1Dk1CCWHsHI2ZL5wpuYEkD4Tog9dVtlALMroj9xepPA==", + "dependencies": { + "@vonage/auth": "1.15.0", + "@vonage/server-client": "1.20.0", + "@vonage/vetch": "1.11.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/numbers": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/@vonage/numbers/-/numbers-1.22.0.tgz", + "integrity": "sha512-6ojpEPPOVDsAyhCe9gE37mr1qAAXndxXafun7kh/GPTpXtX/ESDfDizOV4GLIO0OGnHDfh4nsDBAfsBYCb7zeA==", + "dependencies": { + "@vonage/auth": "1.15.0", + "@vonage/server-client": "1.20.0", + "@vonage/vetch": "1.11.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/pricing": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@vonage/pricing/-/pricing-1.20.0.tgz", + "integrity": "sha512-Gr4ewJolxx4gzr3SW77tMAMtlrWny5DF3YtgfLmSqwCGOm0VQFJalLWpd/A6RPeGcUMtumNrkySv/Y1OgRYZ7Q==", + "dependencies": { + "@vonage/auth": "1.15.0", + "@vonage/server-client": "1.20.0", + "@vonage/vetch": "1.11.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/redact": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/@vonage/redact/-/redact-1.19.0.tgz", + "integrity": "sha512-qIKFFeWXTOXH8D1/qi3y35s2sdBrWHZoC1N+5HSjxTmA4mk2Rjz0ZkdIbSz9DB+O4QQQsHyi2UFoZYKtwAetkA==", + "dependencies": { + "@vonage/server-client": "1.20.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/server-client": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@vonage/server-client/-/server-client-1.20.0.tgz", + "integrity": "sha512-3V1dIvTBxRiPutPzb7XP702OrZExrpbCM3sIDYCM2lZXw4yojNvPWgcyvi1W4nkNkgKJm1rqJNAFDI1JNV6VRw==", + "dependencies": { + "@vonage/auth": "1.15.0", + "@vonage/vetch": "1.11.0", + "debug": "4.4.3", + "node-fetch": "3.3.2" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/server-sdk": { + "version": "3.27.0", + "resolved": "https://registry.npmjs.org/@vonage/server-sdk/-/server-sdk-3.27.0.tgz", + "integrity": "sha512-FeGrPyIghb9PdORXXAGI2I8+xWEOpNoA5L6/kSKzAxXFzHTjW25qOLuAUm8Gl+rWFPzIFOsYqgFEvVu2o5gK3w==", + "dependencies": { + "@vonage/accounts": "1.20.0", + "@vonage/applications": "1.20.0", + "@vonage/auth": "1.15.0", + "@vonage/conversations": "1.14.0", + "@vonage/messages": "1.24.0", + "@vonage/number-insights": "1.20.0", + "@vonage/numbers": "1.22.0", + "@vonage/pricing": "1.20.0", + "@vonage/redact": "1.19.0", + "@vonage/server-client": "1.20.0", + "@vonage/sms": "1.21.0", + "@vonage/users": "1.14.0", + "@vonage/verify": "1.20.0", + "@vonage/verify2": "1.19.0", + "@vonage/video": "1.28.0", + "@vonage/voice": "1.21.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/sms": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@vonage/sms/-/sms-1.21.0.tgz", + "integrity": "sha512-6g4Lf8882pN2qLmqWQQq/2zONpUcEf3y+W88Hm/I84kwmq3HcWL9ycB4WGBkT8Kk8BB7JYrJciJMALE2fUrphw==", + "dependencies": { + "@vonage/auth": "1.15.0", + "@vonage/server-client": "1.20.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/users": { + "version": "1.14.0", + "resolved": "https://registry.npmjs.org/@vonage/users/-/users-1.14.0.tgz", + "integrity": "sha512-CbYr7i8Wk+xJBqYqC5PR5XURjhuwKHegxvN044Q5gzs9x21xmyTXG2XpV3vHo8G/Y6mHt9ym70jFDpc0G3BH2g==", + "dependencies": { + "@vonage/server-client": "1.20.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/verify": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/@vonage/verify/-/verify-1.20.0.tgz", + "integrity": "sha512-FsIDXWCME7S0ZGPKTqpKiuOsDCqIqVfQeLWEqilCbJ3kvqT18H8hKP0zCLz6IEtiAYZQQ+3maWQQ1Agddq0uvQ==", + "dependencies": { + "@vonage/auth": "1.15.0", + "@vonage/server-client": "1.20.0", + "@vonage/vetch": "1.11.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/verify2": { + "version": "1.19.0", + "resolved": "https://registry.npmjs.org/@vonage/verify2/-/verify2-1.19.0.tgz", + "integrity": "sha512-W7Mrf89giGTgc08vF5iBTBx+Qik/13YehMM23LtEMaKZmBu/y079JT/LJEwcKypY4y3kgMyLDMFXh+o+0GH4Sg==", + "dependencies": { + "@vonage/server-client": "1.20.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/vetch": { + "version": "1.11.0", + "resolved": "https://registry.npmjs.org/@vonage/vetch/-/vetch-1.11.0.tgz", + "integrity": "sha512-yXLh6nKZZlddW/rg83uNnufBv1LyCdut2ItIsIy24M1l03HqhCIhUinXzcxE2mCn56uOJ7y4yl7OeAaf5nBJAA==", + "dependencies": { + "@types/node-fetch": "2.6.13", + "node-fetch": "3.3.2" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/video": { + "version": "1.28.0", + "resolved": "https://registry.npmjs.org/@vonage/video/-/video-1.28.0.tgz", + "integrity": "sha512-niN0Vif7ObS4GNv0jIX9U3he/009On+s1vfYn5kZlGe61MsTLKWXTZJMcv5HtSF+sLS+l9s5lD4uzkTcjD46Aw==", + "dependencies": { + "@vonage/auth": "1.15.0", + "@vonage/jwt": "1.14.0", + "@vonage/server-client": "1.20.0", + "@vonage/vetch": "1.11.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/@vonage/voice": { + "version": "1.21.0", + "resolved": "https://registry.npmjs.org/@vonage/voice/-/voice-1.21.0.tgz", + "integrity": "sha512-RqmQifzvPWSXO1Jd1JZjis8ty5OD9d0hX2xQHB5r5cP9Hx4vVlX7aDgZsUNy7J5BTeTpNTgrfMFkeeNGYuRcpQ==", + "dependencies": { + "@types/debug": "4.1.12", + "@vonage/server-client": "1.20.0", + "@vonage/vetch": "1.11.0", + "debug": "4.4.3", + "ts-xor": "1.3.0" + }, + "engines": { + "node": ">=20" + } + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==" + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, + "node_modules/body-parser": { + "version": "1.20.5", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.5.tgz", + "integrity": "sha512-3grm+/2tUOvu2cjJkvsIxrv/wVpfXQW4PsQHYm7yk4vfpu7Ekl6nEsYBoJUL6qDwZUx8wUhQ8tR2qz+ad9c9OA==", + "dependencies": { + "bytes": "~3.1.2", + "content-type": "~1.0.5", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "~1.2.0", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "on-finished": "~2.4.1", + "qs": "~6.15.1", + "raw-body": "~2.5.3", + "type-is": "~1.6.18", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/buffer-equal-constant-time": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", + "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==" + }, + "node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind-apply-helpers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind-apply-helpers/-/call-bind-apply-helpers-1.0.2.tgz", + "integrity": "sha512-Sp1ablJ0ivDkSzjcaJdxEunN5/XvksFJ2sMBFfq6x0ryhQV/2b/KwFe21cMpmHtPOSij8K99/wSfoEuTObmuMQ==", + "dependencies": { + "es-errors": "^1.3.0", + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/call-bound": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/call-bound/-/call-bound-1.0.4.tgz", + "integrity": "sha512-+ys997U96po4Kx/ABpBCqhA9EuxJaQWDQg7295H4hBphv3IZg0boBKuwYpt4YXp6MZ5AmZQnU/tyMTlRpaSejg==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "get-intrinsic": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-type": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.5.tgz", + "integrity": "sha512-nTjqfcBFEipKdXCv4YDQWCfmcLZKm81ldF0pAopTvyrFGVbcR6P/VAAd5G7N+0tTr8QqiU0tFadD6FK4NtJwOA==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie": { + "version": "0.7.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", + "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.7.tgz", + "integrity": "sha512-NXdYc3dLr47pBkpUCHtKSwIOQXLVn8dZEuywboCOJY/osA0wFSLlSawr3KN8qXJEyX66FcONTH8EIlVuK0yyFA==" + }, + "node_modules/cors": { + "version": "2.8.6", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.6.tgz", + "integrity": "sha512-tJtZBBHA6vjIAaF6EnIaq6laBBP9aq/Y3ouVJjEfoHbRBcHBAHYcMh/w8LDrk2PvIMMq8gmopa5D4V8RmbrxGw==", + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/data-uri-to-buffer": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/data-uri-to-buffer/-/data-uri-to-buffer-4.0.1.tgz", + "integrity": "sha512-0R9ikRb668HB7QDxT1vkpuUBtqc53YyAwMwGeUFKRojY/NWKvdZ+9UYtRfGmhqNbRkTSVpMbmyhXipFFv2cb/A==", + "engines": { + "node": ">= 12" + } + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/dunder-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/dunder-proto/-/dunder-proto-1.0.1.tgz", + "integrity": "sha512-KIN/nDJBQRcXw0MLVhZE9iQHmG68qAVIBg9CqmUYjmQIhgij9U5MFvrqkUL5FbtyyzZuOeOt0zdeRe4UY7ct+A==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.1", + "es-errors": "^1.3.0", + "gopd": "^1.2.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/ecdsa-sig-formatter": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", + "dependencies": { + "safe-buffer": "^5.0.1" + } + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==" + }, + "node_modules/encodeurl": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", + "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/es-define-property": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.1.tgz", + "integrity": "sha512-e3nRfgfUZ4rNGL232gUgX06QNyyez04KdjFrF+LTRoOXmrOgFKDg4BCdsjW8EnT69eqdYGmRpJwiPVYNrCaW3g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-errors": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/es-errors/-/es-errors-1.3.0.tgz", + "integrity": "sha512-Zf5H2Kxt2xjTvbJvP2ZWLEICxA6j+hAmMzIlypy4xcBg1vKVnx89Wy0GbS+kf5cwCVFFzdCFh2XSCFNULS6csw==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-object-atoms": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.2.tgz", + "integrity": "sha512-HWcBoN6NileqtSydK2FqHbS/LoDd2pqrnQHLyJzBj4kOp/ky2MWMN694xOfkK8/SnUsW2DH7EfyVlydKCsm1Zw==", + "dependencies": { + "es-errors": "^1.3.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/es-set-tostringtag": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/es-set-tostringtag/-/es-set-tostringtag-2.1.0.tgz", + "integrity": "sha512-j6vWzfrGVfyXxge+O0x5sh6cvxAog0a/4Rdd2K36zCMV5eJ+/+tOAngRO8cODMNWbVRdVlmGZQL2YS3yR8bIUA==", + "dependencies": { + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.6", + "has-tostringtag": "^1.0.2", + "hasown": "^2.0.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==" + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express": { + "version": "4.22.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.22.2.tgz", + "integrity": "sha512-IuL+Elrou2ZvCFHs18/CIzy2Nzvo25nZ1/D2eIZlz7c+QUayAcYoiM2BthCjs+EBHVpjYjcuLDAiCWgeIX3X1Q==", + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "~1.20.5", + "content-disposition": "~0.5.4", + "content-type": "~1.0.4", + "cookie": "~0.7.1", + "cookie-signature": "~1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "~1.3.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.0", + "merge-descriptors": "1.0.3", + "methods": "~1.1.2", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "~0.1.12", + "proxy-addr": "~2.0.7", + "qs": "~6.15.1", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "~0.19.0", + "serve-static": "~1.16.2", + "setprototypeof": "1.2.0", + "statuses": "~2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/fetch-blob": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/fetch-blob/-/fetch-blob-3.2.0.tgz", + "integrity": "sha512-7yAQpD2UMJzLi1Dqv7qFYnPbaPx7ZfFK6PiIxQ4PfkGPyNyl2Ugx+a/umUonmKqjhM4DnfbMvdX6otXq83soQQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "paypal", + "url": "https://paypal.me/jimmywarting" + } + ], + "dependencies": { + "node-domexception": "^1.0.0", + "web-streams-polyfill": "^3.0.3" + }, + "engines": { + "node": "^12.20 || >= 14.13" + } + }, + "node_modules/finalhandler": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.3.2.tgz", + "integrity": "sha512-aA4RyPcd3badbdABGDuTXCMTtOneUCAYH/gxoYRTZlIJdF0YPWuGqiAsIrhNnnqdXGswYk6dGujem4w80UJFhg==", + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "on-finished": "~2.4.1", + "parseurl": "~1.3.3", + "statuses": "~2.0.2", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/form-data": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.5.tgz", + "integrity": "sha512-8RipRLol37bNs2bhoV67fiTEvdTrbMUYcFTiy3+wuuOnUog2QBHCZWXDRijWQfAkhBj2Uf5UnVaiWwA5vdd82w==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "es-set-tostringtag": "^2.1.0", + "hasown": "^2.0.2", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/formdata-polyfill": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/formdata-polyfill/-/formdata-polyfill-4.0.10.tgz", + "integrity": "sha512-buewHzMvYL29jdeQTVILecSaZKnt/RJWjoZCF5OW60Z67/GmSLBkOFM7qh1PI3zFNtJbaZL5eQu1vLfazOwj4g==", + "dependencies": { + "fetch-blob": "^3.1.2" + }, + "engines": { + "node": ">=12.20.0" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/function-bind": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.2.tgz", + "integrity": "sha512-7XHNxH7qX9xG5mIwxkhumTox/MIRNcOgDrxWsMt2pAr23WHp6MrRlN7FBSFpCpr+oVO0F744iUgR82nJMfG2SA==", + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-intrinsic": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.3.0.tgz", + "integrity": "sha512-9fSjSaos/fRIVIp+xSJlE6lfwhES7LNtKaCBIamHsjr2na1BiABJPo0mOjjz8GJDURarmCPGqaiVg5mfjb98CQ==", + "dependencies": { + "call-bind-apply-helpers": "^1.0.2", + "es-define-property": "^1.0.1", + "es-errors": "^1.3.0", + "es-object-atoms": "^1.1.1", + "function-bind": "^1.1.2", + "get-proto": "^1.0.1", + "gopd": "^1.2.0", + "has-symbols": "^1.1.0", + "hasown": "^2.0.2", + "math-intrinsics": "^1.1.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-proto": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/get-proto/-/get-proto-1.0.1.tgz", + "integrity": "sha512-sTSfBjoXBp89JvIKIefqw7U2CCebsc74kiY6awiGogKtoSGbgjYE/G/+l9sF3MWFPNc9IcoOC4ODfKHfxFmp0g==", + "dependencies": { + "dunder-proto": "^1.0.1", + "es-object-atoms": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/gopd": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.2.0.tgz", + "integrity": "sha512-ZUKRh6/kUFoAiTAtTYPZJ3hw9wNxx+BIBOijnlG9PnrJsCcSjs1wyyD6vJpaYtgnzDrKYRSqf3OO6Rfa93xsRg==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.1.0.tgz", + "integrity": "sha512-1cDNdwJ2Jaohmb3sg4OmKaMBwuC48sYni5HUw2DvsC8LjGTLK9h+eb1X6RyuOHe4hT0ULCW68iomhjUoKUqlPQ==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.2.tgz", + "integrity": "sha512-NqADB8VjPFLM2V0VvHUewwwsw0ZWBaIdgo+ieHtK3hasLz4qeCRjYcqfB6AQrBggRKppKF8L52/VqdVsO47Dlw==", + "dependencies": { + "has-symbols": "^1.0.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hasown": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.4.tgz", + "integrity": "sha512-T2UbfbBEF32wiepXIsMlTW9+dDYC6wMh/t/vYA4tuOMKqWz/n3vr1NFSxQiyP+zk2mXsoMA/i/7qV6LKut1t1A==", + "dependencies": { + "function-bind": "^1.1.2" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/http-errors": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.1.tgz", + "integrity": "sha512-4FbRdAX+bSdmo4AUFuS0WNiPz8NgFt+r8ThgNWmlrjQjt1Q7ZR9+zTlce2859x4KSXrwIsaeTqDoKQmtP8pLmQ==", + "dependencies": { + "depd": "~2.0.0", + "inherits": "~2.0.4", + "setprototypeof": "~1.2.0", + "statuses": "~2.0.2", + "toidentifier": "~1.0.1" + }, + "engines": { + "node": ">= 0.8" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/express" + } + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/jsonwebtoken": { + "version": "9.0.3", + "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.3.tgz", + "integrity": "sha512-MT/xP0CrubFRNLNKvxJ2BYfy53Zkm++5bX9dtuPbqAeQpTVe0MQTFhao8+Cp//EmJp244xt6Drw/GVEGCUj40g==", + "dependencies": { + "jws": "^4.0.1", + "lodash.includes": "^4.3.0", + "lodash.isboolean": "^3.0.3", + "lodash.isinteger": "^4.0.4", + "lodash.isnumber": "^3.0.3", + "lodash.isplainobject": "^4.0.6", + "lodash.isstring": "^4.0.1", + "lodash.once": "^4.0.0", + "ms": "^2.1.1", + "semver": "^7.5.4" + }, + "engines": { + "node": ">=12", + "npm": ">=6" + } + }, + "node_modules/jwa": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.1.tgz", + "integrity": "sha512-hRF04fqJIP8Abbkq5NKGN0Bbr3JxlQ+qhZufXVr0DvujKy93ZCbXZMHDL4EOtodSbCWxOqR8MS1tXA5hwqCXDg==", + "dependencies": { + "buffer-equal-constant-time": "^1.0.1", + "ecdsa-sig-formatter": "1.0.11", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/jws": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.1.tgz", + "integrity": "sha512-EKI/M/yqPncGUUh44xz0PxSidXFr/+r0pA70+gIYhjv+et7yxM+s29Y+VGDkovRofQem0fs7Uvf4+YmAdyRduA==", + "dependencies": { + "jwa": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/lodash.includes": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/lodash.includes/-/lodash.includes-4.3.0.tgz", + "integrity": "sha512-W3Bx6mdkRTGtlJISOvVD/lbqjTlPPUDTMnlXZFnVwi9NKJ6tiAk6LVdlhZMm17VZisqhKcgzpO5Wz91PCt5b0w==" + }, + "node_modules/lodash.isboolean": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isboolean/-/lodash.isboolean-3.0.3.tgz", + "integrity": "sha512-Bz5mupy2SVbPHURB98VAcw+aHh4vRV5IPNhILUCsOzRmsTmSQ17jIuqopAentWoehktxGd9e/hbIXq980/1QJg==" + }, + "node_modules/lodash.isinteger": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/lodash.isinteger/-/lodash.isinteger-4.0.4.tgz", + "integrity": "sha512-DBwtEWN2caHQ9/imiNeEA5ys1JoRtRfY3d7V9wkqtbycnAmTvRRmbHKDV4a0EYc678/dia0jrte4tjYwVBaZUA==" + }, + "node_modules/lodash.isnumber": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/lodash.isnumber/-/lodash.isnumber-3.0.3.tgz", + "integrity": "sha512-QYqzpfwO3/CWf3XP+Z+tkQsfaLL/EnUlXWVkIk5FUPc4sBdTehEqZONuyRt2P67PXAk+NXmTBcc97zw9t1FQrw==" + }, + "node_modules/lodash.isplainobject": { + "version": "4.0.6", + "resolved": "https://registry.npmjs.org/lodash.isplainobject/-/lodash.isplainobject-4.0.6.tgz", + "integrity": "sha512-oSXzaWypCMHkPC3NvBEaPHf0KsA5mvPrOPgQWDsbg8n7orZ290M0BmC/jgRZ4vcJ6DTAhjrsSYgdsW/F+MFOBA==" + }, + "node_modules/lodash.isstring": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/lodash.isstring/-/lodash.isstring-4.0.1.tgz", + "integrity": "sha512-0wJxfxH1wgO3GrbuP+dTTk7op+6L41QCXbGINEmD+ny/G/eCqGzxyCsh7159S+mgDDcoarnBw6PC1PS5+wUGgw==" + }, + "node_modules/lodash.once": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/lodash.once/-/lodash.once-4.1.1.tgz", + "integrity": "sha512-Sb487aTOCr9drQVL8pIxOzVhafOjZN9UU54hiN8PU3uAiSV7lx1yYNpbNmex2PK6dSJoNTSJUUswT651yww3Mg==" + }, + "node_modules/math-intrinsics": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/math-intrinsics/-/math-intrinsics-1.1.0.tgz", + "integrity": "sha512-/IXtbwEk5HTPyEwyKX6hGkYXxM9nbj64B+ilVJnC/R6B0pH5G4V3b0pVbL7DBj4tkhBAppbQUlf6F6Xl9LHu1g==", + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha512-dq+qelQ9akHpcOl/gUVRTxVIOkAJ1wR3QAvb4RsVjS8oVoFjDGTc679wJYmUmknUF5HwMLOgb5O+a3KxfWapPQ==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.3.tgz", + "integrity": "sha512-gaNvAS7TZ897/rVaZ0nMtAyxNyi/pdbjbAwUpFQpN70GqnVfOiXpeUUMKRBmzXaSQ8DdTX4/0ms62r2K+hE6mQ==", + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==" + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/node-domexception": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/node-domexception/-/node-domexception-1.0.0.tgz", + "integrity": "sha512-/jKZoMpw0F8GRwl4/eLROPA3cfcXtLApP0QzLmUT/HuPCZWyB7IY9ZrMeKw2O/nFIqPQB3PVM9aYm0F312AXDQ==", + "deprecated": "Use your platform's native DOMException instead", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/jimmywarting" + }, + { + "type": "github", + "url": "https://paypal.me/jimmywarting" + } + ], + "engines": { + "node": ">=10.5.0" + } + }, + "node_modules/node-fetch": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-3.3.2.tgz", + "integrity": "sha512-dRB78srN/l6gqWulah9SrxeYnxeddIG30+GOqK/9OlLVyLg3HPnr6SqOWTWOXKRwC2eGYCkZ59NNuSgvSrpgOA==", + "dependencies": { + "data-uri-to-buffer": "^4.0.0", + "fetch-blob": "^3.1.4", + "formdata-polyfill": "^4.0.10" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/node-fetch" + } + }, + "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==", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.13.4", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.4.tgz", + "integrity": "sha512-W67iLl4J2EXEGTbfeHCffrjDfitvLANg0UlX3wFUUSTx92KXRFegMHUVgSqE+wvhAbi4WqjGg9czysTV2Epbew==", + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/path-to-regexp": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.13.tgz", + "integrity": "sha512-A/AGNMFN3c8bOlvV9RreMdrv7jsmF9XIfDeCd87+I8RNg6s78BhJxMu69NEMHBSJFxKidViTEdruRwEk/WIKqA==" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/qs": { + "version": "6.15.2", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.15.2.tgz", + "integrity": "sha512-Rzq0KEyX/w/tEybncDgdkZrJgVUsUMk3xjh3t5bv3S1HTAtg+uOYt72+ZfwiQwKdysThkTBdL/rTi6HDmX9Ddw==", + "dependencies": { + "side-channel": "^1.1.0" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raw-body": { + "version": "2.5.3", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.3.tgz", + "integrity": "sha512-s4VSOf6yN0rvbRZGxs8Om5CWj6seneMwK3oDb4lWDH0UPhWcxwOWw5+qk24bxq87szX1ydrwylIOp2uG1ojUpA==", + "dependencies": { + "bytes": "~3.1.2", + "http-errors": "~2.0.1", + "iconv-lite": "~0.4.24", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "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/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==" + }, + "node_modules/semver": { + "version": "7.8.2", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.8.2.tgz", + "integrity": "sha512-c8jsqUZm3omBOI66G90z1Dyw5z622G8oLG+omfsHBJf3CWQTlOcwOjvOG6wtiNfW6anKm/eA39LMwMtMez2TiQ==", + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.19.2", + "resolved": "https://registry.npmjs.org/send/-/send-0.19.2.tgz", + "integrity": "sha512-VMbMxbDeehAxpOtWJXlcUS5E8iXh6QmN+BkRX1GARS3wRaXEEgzCcB10gTQazO42tpNIya8xIyNx8fll1OFPrg==", + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "~0.5.2", + "http-errors": "~2.0.1", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "~2.4.1", + "range-parser": "~1.2.1", + "statuses": "~2.0.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==" + }, + "node_modules/serve-static": { + "version": "1.16.3", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.16.3.tgz", + "integrity": "sha512-x0RTqQel6g5SY7Lg6ZreMmsOzncHFU7nhnRWkKgWuMTu5NN0DR5oruckMqRvacAN9d5w6ARnRBXl9xhDCgfMeA==", + "dependencies": { + "encodeurl": "~2.0.0", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "~0.19.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==" + }, + "node_modules/side-channel": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.1.0.tgz", + "integrity": "sha512-ZX99e6tRweoUXqR+VBrslhda51Nh5MTQwou5tnUDgbtyM0dBgmhEDtWGP/xbKn6hqfPRHujUNwz5fy/wbbhnpw==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.3", + "side-channel-list": "^1.0.0", + "side-channel-map": "^1.0.1", + "side-channel-weakmap": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-list": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.1.tgz", + "integrity": "sha512-mjn/0bi/oUURjc5Xl7IaWi/OJJJumuoJFQJfDDyO46+hBWsfaVM65TBHq2eoZBhzl9EchxOijpkbRC8SVBQU0w==", + "dependencies": { + "es-errors": "^1.3.0", + "object-inspect": "^1.13.4" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-map": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/side-channel-map/-/side-channel-map-1.0.1.tgz", + "integrity": "sha512-VCjCNfgMsby3tTdo02nbjtM/ewra6jPHmpThenkTYh8pG9ucZ/1P8So4u4FGBek/BjpOVsDCMoLA/iuBKIFXRA==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/side-channel-weakmap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/side-channel-weakmap/-/side-channel-weakmap-1.0.2.tgz", + "integrity": "sha512-WPS/HvHQTYnHisLo9McqBHOJk2FkHO/tlpvldyrnem4aeQp4hai3gythswg6p01oSoTl58rcpiFAjF2br2Ak2A==", + "dependencies": { + "call-bound": "^1.0.2", + "es-errors": "^1.3.0", + "get-intrinsic": "^1.2.5", + "object-inspect": "^1.13.3", + "side-channel-map": "^1.0.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/statuses": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.2.tgz", + "integrity": "sha512-DvEy55V3DB7uknRo+4iOGT5fP1slR8wQohVdknigZPMpMstaKJQWhwiYBACJE3Ul2pTnATihhBYnRhZQHGBiRw==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "engines": { + "node": ">=0.6" + } + }, + "node_modules/ts-xor": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/ts-xor/-/ts-xor-1.3.0.tgz", + "integrity": "sha512-RLXVjliCzc1gfKQFLRpfeD0rrWmjnSTgj7+RFhoq3KRkUYa8LE/TIidYOzM5h+IdFBDSjjSgk9Lto9sdMfDFEA==" + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/undici-types": { + "version": "7.24.6", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-7.24.6.tgz", + "integrity": "sha512-WRNW+sJgj5OBN4/0JpHFqtqzhpbnV0GuB+OozA9gCL7a993SmU+1JBZCzLNxYsbMfIeDL+lTsphD5jN5N+n0zg==" + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha512-pMZTvIkT1d+TFGvDOqodOclx0QWkkgi6Tdoa8gC8ffGAAqz9pzPTZWAybbsHHoED/ztMtkv/VoYTYyShUn81hA==", + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "13.0.0", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-13.0.0.tgz", + "integrity": "sha512-XQegIaBTVUjSHliKqcnFqYypAd4S+WCYt5NIeRs6w/UAry7z8Y9j5ZwRRL4kzq9U3sD6v+85er9FvkEaBpji2w==", + "funding": [ + "https://github.com/sponsors/broofa", + "https://github.com/sponsors/ctavan" + ], + "bin": { + "uuid": "dist-node/bin/uuid" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/web-streams-polyfill": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/web-streams-polyfill/-/web-streams-polyfill-3.3.3.tgz", + "integrity": "sha512-d2JWLCivmZYTSIoge9MsgFCZrt571BikcWGYkjC1khllbTeDlGqZ2D8vD8E/lJa8WGWbb7Plm8/XJYV7IJHZZw==", + "engines": { + "node": ">= 8" + } + } + } +} diff --git a/tutorials/advanced-video-core-api-features/project/package.json b/tutorials/advanced-video-core-api-features/project/package.json new file mode 100644 index 00000000..eee9efaa --- /dev/null +++ b/tutorials/advanced-video-core-api-features/project/package.json @@ -0,0 +1,16 @@ +{ + "name": "advanced-video-core-api-features-project", + "version": "0.0.1", + "private": true, + "type": "module", + "scripts": { + "start": "node --watch server.js", + "setup-credentials": "node setup-credentials.js" + }, + "dependencies": { + "@vonage/server-sdk": "^3.0", + "@vonage/video": "^1.0", + "cors": "^2.8.5", + "express": "^4.21.2" + } +} diff --git a/tutorials/advanced-video-core-api-features/project/public/app/app.js b/tutorials/advanced-video-core-api-features/project/public/app/app.js new file mode 100644 index 00000000..e4829038 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/project/public/app/app.js @@ -0,0 +1,209 @@ +import { + getPublisherOptions, + getPublisherProfiles, + getRecordingLayoutPreview, + recordPublisherProfile, + registerDebugLogging, + setupArchivingControls, + setupSignalingChat, + setupSubscriberQuality +} from "/app/exercise-hooks.js"; + +const els = { + roomName: document.querySelector("#roomName"), + joinBtn: document.querySelector("#joinBtn"), + leaveBtn: document.querySelector("#leaveBtn"), + callStatus: document.querySelector("#callStatus"), + publisher: document.querySelector("#publisher"), + subscribers: document.querySelector("#subscribers"), + chatMessages: document.querySelector("#chatMessages"), + chatForm: document.querySelector("#chatForm"), + chatInput: document.querySelector("#chatInput"), + publisherProfile: document.querySelector("#publisherProfile"), + applyPublisherProfile: document.querySelector("#applyPublisherProfile"), + publisherStatus: document.querySelector("#publisherStatus"), + subscriberStatus: document.querySelector("#subscriberStatus"), + simulateDegraded: document.querySelector("#simulateDegraded"), + simulateRecovered: document.querySelector("#simulateRecovered"), + focusTarget: document.querySelector("#focusTarget"), + previewRecordingLayout: document.querySelector("#previewRecordingLayout"), + recordingStatus: document.querySelector("#recordingStatus"), + startArchive: document.querySelector("#startArchive"), + stopArchive: document.querySelector("#stopArchive"), + archiveStatus: document.querySelector("#archiveStatus"), + archiveLink: document.querySelector("#archiveLink") +}; + +let session; +let publisher; +let currentSessionId; +let latestArchiveId; +let isJoining = false; + +function setStatus(message) { + els.callStatus.textContent = message; +} + +async function postJson(url, body) { + const response = await fetch(url, { + method: "POST", + headers: { "Content-Type": "application/json" }, + body: JSON.stringify(body) + }); + if (!response.ok) { + throw new Error(await response.text()); + } + return response.json(); +} + +function populatePublisherProfiles() { + const profiles = getPublisherProfiles(); + els.publisherProfile.innerHTML = ""; + for (const name of Object.keys(profiles)) { + const option = document.createElement("option"); + option.value = name; + option.textContent = name; + els.publisherProfile.append(option); + } + if (!els.publisherProfile.options.length) { + const option = document.createElement("option"); + option.value = "Balanced"; + option.textContent = "Balanced"; + els.publisherProfile.append(option); + } +} + +async function joinCall() { + if (isJoining || session) { + return; + } + + if (!window.OT) { + setStatus("Vonage Video Client Library did not load."); + return; + } + + isJoining = true; + els.joinBtn.disabled = true; + setStatus("Creating session..."); + try { + const room = els.roomName.value || "advanced-room"; + const credentials = await fetch(`/api/session?room=${encodeURIComponent(room)}`).then((res) => res.json()); + if (credentials.error) { + setStatus(`${credentials.error}: ${credentials.message}`); + return; + } + + currentSessionId = credentials.sessionId; + session = OT.initSession(credentials.applicationId, credentials.sessionId); + + session.on("streamCreated", (event) => { + const container = document.createElement("div"); + container.className = "ratio ratio-16x9 rounded overflow-hidden border bg-black flex-shrink-0"; + els.subscribers.append(container); + const subscriber = session.subscribe(event.stream, container, { + insertMode: "append", + width: "100%", + height: "100%" + }); + setupSubscriberQuality({ session, subscriber, elements: els, postJson }); + updateFocusTargets(); + }); + + session.on("streamDestroyed", updateFocusTargets); + registerDebugLogging({ session, elements: els, postJson, getSessionId: () => currentSessionId }); + setupSignalingChat({ session, elements: els, postJson }); + setupArchivingControls({ + session, + elements: els, + postJson, + getSessionId: () => currentSessionId, + getLatestArchiveId: () => latestArchiveId, + setLatestArchiveId: (id) => { latestArchiveId = id; } + }); + + await new Promise((resolve, reject) => { + session.connect(credentials.token, (error) => error ? reject(error) : resolve()); + }); + + const selectedProfile = els.publisherProfile.value || "Balanced"; + publisher = OT.initPublisher("publisher", getPublisherOptions(selectedProfile)); + await new Promise((resolve, reject) => { + session.publish(publisher, (error) => error ? reject(error) : resolve()); + }); + + els.leaveBtn.disabled = false; + setStatus(`Connected to ${room}.`); + updateFocusTargets(); + } catch (error) { + leaveCall(); + throw error; + } finally { + isJoining = false; + els.joinBtn.disabled = Boolean(session); + } +} + +function leaveCall(statusMessage) { + if (session) { + session.disconnect(); + } + session = null; + publisher = null; + currentSessionId = null; + els.publisher.innerHTML = ""; + els.subscribers.innerHTML = ""; + els.joinBtn.disabled = false; + els.leaveBtn.disabled = true; + if (statusMessage) { + setStatus(statusMessage); + } + updateFocusTargets(); +} + +function updateFocusTargets() { + els.focusTarget.innerHTML = ""; + const localOption = document.createElement("option"); + localOption.value = "publisher"; + localOption.textContent = "Local publisher"; + els.focusTarget.append(localOption); + + if (session?.streams) { + for (const stream of Object.values(session.streams)) { + const option = document.createElement("option"); + option.value = stream.streamId; + option.textContent = `Subscriber ${stream.streamId.slice(-6)}`; + els.focusTarget.append(option); + } + } +} + +els.joinBtn.addEventListener("click", () => joinCall().catch((error) => setStatus(error.message))); +els.leaveBtn.addEventListener("click", () => leaveCall("Disconnected.")); + +els.applyPublisherProfile.addEventListener("click", async () => { + if (!session || !publisher) { + els.publisherStatus.textContent = "Join the call first."; + return; + } + const profile = els.publisherProfile.value || "Balanced"; + session.unpublish(publisher); + els.publisher.innerHTML = ""; + publisher = OT.initPublisher("publisher", getPublisherOptions(profile)); + session.publish(publisher, async (error) => { + if (error) { + els.publisherStatus.textContent = error.message; + return; + } + await recordPublisherProfile(profile, postJson); + els.publisherStatus.textContent = `Applied ${profile}.`; + }); +}); + +els.previewRecordingLayout.addEventListener("click", async () => { + const preview = getRecordingLayoutPreview({ focusTarget: els.focusTarget.value }); + await postJson("/api/recordings/preview", preview); + els.recordingStatus.textContent = preview.focused ? `Preview ready with ${preview.streamClass}.` : "Layout preview is not implemented yet."; +}); + +populatePublisherProfiles(); diff --git a/tutorials/advanced-video-core-api-features/project/public/app/exercise-hooks.js b/tutorials/advanced-video-core-api-features/project/public/app/exercise-hooks.js new file mode 100644 index 00000000..a0f19ba5 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/project/public/app/exercise-hooks.js @@ -0,0 +1,34 @@ +export function registerDebugLogging() { + // TODO(debug-timeline): replace this function with the code from the guide. +} + +export function setupSignalingChat() { + // TODO(signaling-chat): replace this function with the code from the guide. +} + +export function getPublisherProfiles() { + // TODO(publisher-tuning): replace this function with the code from the guide. + return {}; +} + +export function getPublisherOptions(_profileName) { + // TODO(publisher-tuning): replace this function with the code from the guide. + return { insertMode: "append", width: "100%", height: "100%" }; +} + +export async function recordPublisherProfile() { + // TODO(publisher-tuning): replace this function with the code from the guide. +} + +export function setupSubscriberQuality() { + // TODO(subscriber-quality): replace this function with the code from the guide. +} + +export function getRecordingLayoutPreview() { + // TODO(recording-layout): replace this function with the code from the guide. + return { layout: null, streamClass: null, focused: false }; +} + +export function setupArchivingControls() { + // TODO(archiving): replace this function with the code from the guide. +} diff --git a/tutorials/advanced-video-core-api-features/project/public/app/index.html b/tutorials/advanced-video-core-api-features/project/public/app/index.html new file mode 100644 index 00000000..44e3cbe6 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/project/public/app/index.html @@ -0,0 +1,155 @@ + + + + + + Advanced Video App + + + + +

        +
        +
        +
        +

        Back to guide

        +

        Advanced Video App

        +

        Use this app while you follow the local guide.

        +
        +
        + +
        +
        +

        Call

        +
        +
        + + +
        +
        + +
        +
        + +
        +
        +

        Not connected.

        + +
        +
        +
        +
        +

        You

        +
        +
        +
        +
        +
        +
        +
        +

        Subscribers

        +
        +
        +
        +
        +
        +
        +
        +
        +
        + +
        +
        +
        +
        +

        Debug timeline

        + Open debug timeline JSON +
        +
        +
        + +
        +
        +
        +

        Signaling chat

        +
        +
        +
        + +
        +
        + +
        +
        +
        +
        +
        + +
        +
        +
        +

        Publisher tuning

        +
        +
        + + +
        +
        + +
        +
        +

        No profile applied.

        +
        +
        +
        + +
        +
        +
        +

        Subscriber quality

        +

        Subscriber status: not connected.

        +
        + + +
        +
        +
        +
        + +
        +
        +
        +

        Recording layout

        +
        +
        + + +
        +
        + +
        +
        +

        No recording preview yet.

        +
        +
        +
        + +
        +
        +
        +

        Archiving

        +
        + + +
        +

        No archive started.

        + +
        +
        +
        +
        +
        +
        + + + diff --git a/tutorials/advanced-video-core-api-features/project/server.js b/tutorials/advanced-video-core-api-features/project/server.js new file mode 100644 index 00000000..a95db2dc --- /dev/null +++ b/tutorials/advanced-video-core-api-features/project/server.js @@ -0,0 +1,192 @@ +import { spawnSync } from "node:child_process"; +import fs from "node:fs"; +import path from "node:path"; +import { fileURLToPath } from "node:url"; +import cors from "cors"; +import express from "express"; +import { registerRoutes } from "./src/advanced-video-routes.js"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const PORT = Number(process.env.PORT || process.env.NERU_APP_PORT || 3000); +const GUIDE_PORT = 1234; +const ENV_PATH = path.join(__dirname, ".env"); + +const config = { + id: "advanced-video-core-api-features", + title: "Advanced Video Core API Features", + serverName: "advanced-video", + defaultRoom: "advanced-room" +}; + +const runtime = createRuntime(); +const app = express(); + +app.use(cors()); +app.use(express.json({ limit: "1mb" })); +app.use(express.urlencoded({ extended: false })); + +app.get("/", (_req, res) => { + res.redirect("/app/"); +}); + +app.get(["/guide", "/guide/"], (_req, res) => { + res.redirect(runtime.workspaceStatus().guideUrl); +}); + +app.get("/workspace/status", (_req, res) => { + res.json(runtime.workspaceStatus()); +}); + +registerRoutes({ + app, + config, + exerciseDir: __dirname, + runtime +}); + +app.use("/app", express.static(path.join(__dirname, "public/app"))); + +makeCodespacePortPublic(PORT); + +const server = app.listen(PORT, "0.0.0.0", () => { + console.log(`${config.title} app: ${runtime.getAppUrl()}/app/`); + console.log(`Learning Center validation URL: ${runtime.getAppUrl()}`); + console.log("Server is running. Leave this terminal open."); +}); + +server.on("error", (error) => { + if (error.code === "EADDRINUSE") { + console.log(`Port ${PORT} is already in use. Keep using the running app, or stop it before restarting.`); + process.exit(0); + } + throw error; +}); + +function createRuntime() { + let envMtimeMs = null; + + function reloadRuntimeEnv() { + try { + const stat = fs.statSync(ENV_PATH); + if (envMtimeMs === stat.mtimeMs) { + return; + } + + const parsed = parseEnvFile(fs.readFileSync(ENV_PATH, "utf8")); + for (const [key, value] of Object.entries(parsed)) { + process.env[key] = value; + } + envMtimeMs = stat.mtimeMs; + } catch (error) { + if (error.code !== "ENOENT") { + console.error("Failed to reload .env:", error.message); + } + } + } + + function getEnv(name) { + reloadRuntimeEnv(); + return process.env[name]; + } + + function readPrivateKey() { + const privateKey64 = getEnv("VONAGE_PRIVATE_KEY64"); + if (privateKey64) { + return Buffer.from(privateKey64, "base64").toString("utf8"); + } + + const privateKey = getEnv("VONAGE_PRIVATE_KEY"); + if (privateKey) { + return privateKey.replace(/\\n/g, "\n"); + } + + return null; + } + + function getAppUrl() { + const configured = getEnv("APP_URL"); + if (configured) { + return configured.replace(/\/$/, ""); + } + return getPortUrl(PORT); + } + + function workspaceStatus() { + const configured = Boolean(getEnv("VONAGE_APPLICATION_ID") && readPrivateKey()); + return { + server: config.serverName, + configured, + appUrl: getAppUrl(), + guideUrl: getPortUrl(GUIDE_PORT), + missing_credentials: !configured + }; + } + + return { + envPath: ENV_PATH, + getAppUrl, + getEnv, + readPrivateKey, + reloadRuntimeEnv, + workspaceStatus + }; +} + +function getPortUrl(port) { + if (process.env.CODESPACE_NAME) { + return `https://${process.env.CODESPACE_NAME}-${port}.app.github.dev`; + } + return `http://localhost:${port}`; +} + +function parseEnvFile(content) { + const result = {}; + + for (const line of content.split(/\r?\n/)) { + const trimmed = line.trim(); + if (!trimmed || trimmed.startsWith("#")) { + continue; + } + + const equalsIndex = trimmed.indexOf("="); + if (equalsIndex === -1) { + continue; + } + + const key = trimmed.slice(0, equalsIndex).trim(); + const rawValue = trimmed.slice(equalsIndex + 1).trim(); + result[key] = unquoteEnvValue(rawValue); + } + + return result; +} + +function unquoteEnvValue(value) { + if ( + (value.startsWith('"') && value.endsWith('"')) || + (value.startsWith("'") && value.endsWith("'")) + ) { + const unquoted = value.slice(1, -1); + return value.startsWith('"') + ? unquoted.replace(/\\"/g, '"').replace(/\\\\/g, "\\") + : unquoted; + } + + return value; +} + +function makeCodespacePortPublic(portToExpose) { + if (!process.env.CODESPACE_NAME) { + return; + } + + spawnSync("gh", [ + "codespace", + "ports", + "visibility", + `${portToExpose}:public`, + "-c", + process.env.CODESPACE_NAME + ], { stdio: "ignore" }); +} diff --git a/tutorials/advanced-video-core-api-features/project/setup-credentials.js b/tutorials/advanced-video-core-api-features/project/setup-credentials.js new file mode 100644 index 00000000..cc45884a --- /dev/null +++ b/tutorials/advanced-video-core-api-features/project/setup-credentials.js @@ -0,0 +1,103 @@ +import fs from "node:fs/promises"; +import path from "node:path"; +import readline from "node:readline/promises"; +import { stdin as input, stdout as output } from "node:process"; +import { fileURLToPath } from "node:url"; +import { Vonage } from "@vonage/server-sdk"; + +const __filename = fileURLToPath(import.meta.url); +const __dirname = path.dirname(__filename); +const PORT = Number(process.env.PORT || process.env.NERU_APP_PORT || 3000); +const ENV_PATH = path.join(__dirname, ".env"); + +const rl = readline.createInterface({ input, output }); + +try { + console.log("Vonage Advanced Video setup"); + console.log("This stores credentials in the local .env file for this Codespace."); + console.log("Find your account API key and account API secret at https://dashboard.vonage.com/settings"); + console.log("Do not paste an Application ID, private key, JWT secret, or signature secret here."); + console.log("Setup will create a new Vonage Video application in your dashboard automatically."); + console.log(""); + + const apiKey = await prompt("Vonage account API key", process.env.VONAGE_API_KEY); + const apiSecret = await prompt("Vonage account API secret", process.env.VONAGE_API_SECRET); + + if (!apiKey || !apiSecret) { + throw new Error("API key and API secret are required."); + } + + const appUrl = getAppUrl(); + const callbackUrl = `${appUrl}/callbacks/video`; + const applicationName = `Advanced Video Exercises - ${process.env.CODESPACE_NAME || "local"}`; + const vonage = new Vonage({ apiKey, apiSecret }); + + console.log(""); + console.log(`Creating a new Vonage Video application: ${applicationName}`); + const application = await vonage.applications.createApplication({ + name: applicationName, + capabilities: { + rtc: { + webhooks: { + event_url: { + address: callbackUrl, + http_method: "POST" + } + } + } + } + }); + + const privateKey = application.keys.private_key; + if (!application.id || !privateKey) { + throw new Error("Vonage did not return an application ID and private key."); + } + + await writeEnvFile({ + VONAGE_API_KEY: apiKey, + VONAGE_API_SECRET: apiSecret, + VONAGE_APPLICATION_ID: application.id, + VONAGE_PRIVATE_KEY64: Buffer.from(privateKey, "utf8").toString("base64"), + APP_URL: appUrl, + VIDEO_CALLBACK_URL: callbackUrl + }); + + console.log(""); + console.log("Setup complete"); + console.log(`Application URL: ${appUrl}`); + console.log(`Video callback URL: ${callbackUrl}`); +} finally { + rl.close(); +} + +async function prompt(label, existingValue) { + if (existingValue) { + return existingValue.trim(); + } + + return (await rl.question(`${label}: `)).trim(); +} + +function getAppUrl() { + if (process.env.APP_URL) { + return process.env.APP_URL.replace(/\/$/, ""); + } + + if (process.env.CODESPACE_NAME) { + return `https://${process.env.CODESPACE_NAME}-${PORT}.app.github.dev`; + } + + return `http://localhost:${PORT}`; +} + +async function writeEnvFile(values) { + const env = Object.entries(values) + .map(([key, value]) => `${key}="${quoteEnvValue(value)}"`) + .join("\n"); + + await fs.writeFile(ENV_PATH, `${env}\n`, "utf8"); +} + +function quoteEnvValue(value) { + return String(value || "").replace(/\\/g, "\\\\").replace(/"/g, "\\\""); +} diff --git a/tutorials/advanced-video-core-api-features/project/src/advanced-video-routes.js b/tutorials/advanced-video-core-api-features/project/src/advanced-video-routes.js new file mode 100644 index 00000000..8645cf5e --- /dev/null +++ b/tutorials/advanced-video-core-api-features/project/src/advanced-video-routes.js @@ -0,0 +1,146 @@ +import { Video } from "@vonage/video"; +import { state, rememberRoomSession } from "./advanced-video-state.js"; +import { + getArchiveViewUrl, + recordClientDebugEvent, + recordLayoutPreview, + recordPublisherDiagnostics, + recordSignalActivity, + recordSubscriberState, + recordVideoCallback, + startArchive, + stopArchive +} from "./advanced-video-server-hooks.js"; + +export function registerRoutes({ app, config, runtime }) { + const defaultRoom = config.defaultRoom || "advanced-room"; + + function getVideoClient() { + const applicationId = runtime.getEnv("VONAGE_APPLICATION_ID"); + const privateKey = runtime.readPrivateKey(); + + if (!applicationId || !privateKey) { + return null; + } + + return new Video({ applicationId, privateKey }); + } + + app.get("/api/session", async (req, res) => { + const video = getVideoClient(); + if (!video) { + res.status(503).json({ error: "missing_credentials", message: "Run npm run setup-credentials first." }); + return; + } + + const roomName = String(req.query.room || defaultRoom); + let sessionId = state.rooms.get(roomName); + + try { + if (!sessionId) { + const session = await video.createSession({ mediaMode: "routed" }); + sessionId = session.sessionId; + rememberRoomSession(roomName, sessionId); + } + + const token = video.generateClientToken(sessionId, { role: "moderator" }); + res.json({ + applicationId: runtime.getEnv("VONAGE_APPLICATION_ID"), + sessionId, + token, + roomName + }); + } catch (error) { + res.status(500).json({ error: "session_create_failed", message: error.message }); + } + }); + + app.post("/callbacks/video", (req, res) => { + try { + recordVideoCallback(req.body); + } catch (error) { + console.error("Video callback handler failed:", error.message); + } + res.sendStatus(204); + }); + + app.post("/api/debug/client-event", (req, res) => { + recordClientDebugEvent(req.body); + res.json({ ok: true }); + }); + + app.get("/debug/timeline", (_req, res) => { + res.json({ timeline: state.debugTimeline }); + }); + + app.post("/api/activity", (req, res) => { + recordSignalActivity(req.body); + res.json({ ok: true }); + }); + + app.get("/activity/recent", (_req, res) => { + res.json({ messages: state.activityMessages }); + }); + + app.post("/api/diagnostics/publisher", (req, res) => { + recordPublisherDiagnostics(req.body); + res.json({ ok: true }); + }); + + app.get("/diagnostics/publisher", (_req, res) => { + res.json(state.publisherDiagnostics); + }); + + app.post("/api/diagnostics/subscriber", (req, res) => { + recordSubscriberState(req.body); + res.json({ ok: true }); + }); + + app.get("/diagnostics/subscriber", (_req, res) => { + res.json(state.subscriberDiagnostics); + }); + + app.post("/api/recordings/preview", (req, res) => { + recordLayoutPreview(req.body); + res.json({ ok: true, recording: state.recording }); + }); + + app.get("/recordings/latest", (_req, res) => { + res.json(state.recording); + }); + + app.post("/archive/start", async (req, res) => { + try { + const archive = await startArchive({ video: getVideoClient(), body: req.body, state }); + res.json(archive); + } catch (error) { + res.status(501).json({ error: "archive_start_not_ready", message: error.message }); + } + }); + + app.post("/archive/:archiveId/stop", async (req, res) => { + try { + const archive = await stopArchive({ video: getVideoClient(), archiveId: req.params.archiveId, state }); + res.json(archive); + } catch (error) { + res.status(501).json({ error: "archive_stop_not_ready", message: error.message }); + } + }); + + app.get("/archive/:archiveId/view", async (req, res) => { + try { + const url = await getArchiveViewUrl({ video: getVideoClient(), archiveId: req.params.archiveId, state }); + if (url) { + res.redirect(url); + return; + } + res.type("html").send("

        Archive is still processing. Try again in a moment.

        "); + } catch (error) { + res.status(501).json({ error: "archive_view_not_ready", message: error.message }); + } + }); + + app.get("/archive/latest", (_req, res) => { + res.json(state.latestArchive); + }); +} diff --git a/tutorials/advanced-video-core-api-features/project/src/advanced-video-server-hooks.js b/tutorials/advanced-video-core-api-features/project/src/advanced-video-server-hooks.js new file mode 100644 index 00000000..231a31d8 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/project/src/advanced-video-server-hooks.js @@ -0,0 +1,64 @@ +import { pushLimited, state, findRoomForSession } from "./advanced-video-state.js"; + +export function recordClientDebugEvent(_event) { + // TODO(debug-timeline): replace this function with the code from the guide. +} + +export function recordVideoCallback(_payload) { + // TODO(debug-timeline): replace this function with the code from the guide. +} + +export function recordSignalActivity(message) { + pushLimited(state.activityMessages, { + type: message.type, + data: message.data, + roomWide: message.roomWide === true, + from: message.from || "participant" + }); +} + +export function recordPublisherDiagnostics(diagnostics) { + state.publisherDiagnostics = { + profile: diagnostics.profile || "Unknown", + applied: diagnostics.applied === true, + settings: diagnostics.settings || {}, + updatedAt: new Date().toISOString() + }; +} + +export function recordSubscriberState(entry) { + pushLimited(state.subscriberDiagnostics.history, { + state: entry.state, + recovered: entry.recovered === true, + reason: entry.reason || null + }); +} + +export function recordLayoutPreview(preview) { + state.recording = { + layout: preview.layout || null, + streamClass: preview.streamClass || null, + focused: preview.focused === true, + previewUrl: preview.previewUrl || "/app/", + updatedAt: new Date().toISOString() + }; +} + +export async function startArchive() { + // TODO(archiving): replace this function with the code from the guide. + throw new Error("TODO_NOT_IMPLEMENTED_ARCHIVING_START"); +} + +export async function stopArchive() { + // TODO(archiving): replace this function with the code from the guide. + throw new Error("TODO_NOT_IMPLEMENTED_ARCHIVING_STOP"); +} + +export async function getArchiveViewUrl() { + // TODO(archiving): replace this function with the code from the guide. + throw new Error("TODO_NOT_IMPLEMENTED_ARCHIVING_VIEW"); +} + +export function archiveNameForSession(sessionId) { + return findRoomForSession(sessionId); +} diff --git a/tutorials/advanced-video-core-api-features/project/src/advanced-video-state.js b/tutorials/advanced-video-core-api-features/project/src/advanced-video-state.js new file mode 100644 index 00000000..33ce17b0 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/project/src/advanced-video-state.js @@ -0,0 +1,48 @@ +const MAX_ITEMS = 50; + +export const state = { + rooms: new Map(), + debugTimeline: [], + activityMessages: [], + publisherDiagnostics: { + profile: "Balanced", + applied: false, + settings: {} + }, + subscriberDiagnostics: { + history: [] + }, + recording: { + layout: null, + streamClass: null, + focused: false, + previewUrl: null, + updatedAt: null + }, + latestArchive: { + archiveId: null, + state: "idle", + viewUrl: null, + updatedAt: null + } +}; + +export function pushLimited(list, item) { + list.push({ ...item, at: new Date().toISOString() }); + if (list.length > MAX_ITEMS) { + list.splice(0, list.length - MAX_ITEMS); + } +} + +export function rememberRoomSession(roomName, sessionId) { + state.rooms.set(roomName, sessionId); +} + +export function findRoomForSession(sessionId) { + for (const [roomName, value] of state.rooms.entries()) { + if (value === sessionId) { + return roomName; + } + } + return "advanced-room"; +} diff --git a/tutorials/advanced-video-core-api-features/public/favicon.ico b/tutorials/advanced-video-core-api-features/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..8df448e238188a30dd66c444a3550f068b63e8ac GIT binary patch literal 15086 zcmeHOXKWNl6kcOvz&2fUkPk#hU;_dtfWQG9nnV>%qW%C`5TwvMau9?FL=y-k5LG}D z2t9Nn96HFsfb39AF})kpJ1_5B*kf;ZW^ecIY;#hc^gOq-JM+HX*_~IdC?QIy5*w>< z>r#HJrYMaSMRB=49~V=UE8JI%Tbxe}QBt2-n{_<&y(Z` zet=uFXc2{lg$eJWZQHi=vP{iYnl4`eG>t`vUD z_!e5VY88kz@C!fo^w+QDZUXkp#*G^b*Pu|LLbQ4FW`7sJFZ>4%9H6C3ms(<&J9jQ& z@6`5DecQEbS9kp(vJ@H`N~>0_vJ^FT>{uawtVLpCB7OMav&-i*{&C~RxiKXqB+%2RPo?*8 z>eMOqUiI&e_Pb)mimH7i9c+EVC;WIPs#mY>#vd6ONjrAzkV?XLj(1JNY;2Q~lB8q3 zobU<%oH=t$-(;^|y$E)kjP~u@M}-R)7T!ahI(6vAjT^F|R{f6gV^3_7Z3yjVKc;)G-TYu2oh>ZCDa##o3VTDx|wbZqnH&FS&u z$Cl#-CmrF3Z3)}O`2OM;d;I+Q^93TlbXn=Mf&~lGrcIl^Tx{=`BmBE}@204zC?S5> zo0*xJUZu{SJzF>)&!AhkZcg=?ZTxTFzNJ2W`bcF@nKH#Ic3g1z@@1-8wW@F)=(9tI z5MHxQw(*}ld6G(%DkYR#sZu3Jd-&+lqlNQe4TcOE;zXa>!vFE(M;bnSxK!rQp+lX> zq?D8tDqXs?a6UW>_|i7X7XFJDFH+^om4))KZyr5*)TX#kmqDNP?b}y4AJ$;%)Twso zvxR@gj2Ti{-t?9Xh}B+Dw{Bg!dGn@hsJ`DT{yTT>s5T~^i;=zA4SGSw-`I=Wv}t3S z6Ea{EE?Kg~I7D>p6+dE9n9qnE$B+*kzS8Q|tEKuZK0cnZv$MTTZHXT~cFUG6h1e0} zfiCuk;5RgE*ibk>{IjiFw|bl2692Ys+X(ZBo_$pE z-7;+0FoOP(kPtuoIrw!V?C7&=D@bITx=)-qVX50K^qCMp?8N^4`>Qb;_=Xy{Zrz%? zbm>Cp&Yd%1@TUWQ&x8pR)V)HJg%py zM+pIcu;-70J%1Oh`BONX-!lhu{yLKPL*(F5KX8dTSjb&J0Q?{Z9?u*s^&8)QLhbpN z@w=GeJftzp1LJ%$mkB}YGt85iE9y~a;~-j5GSL=Llw`D_ijssj>l4@iacmhwX069hE6lhTwBKAfM$!hR7F& zf9ar(#I}6MGUj99GxhA*(_;<<3EevY(ypW~*GiS~a-e;Hz8p~=U&YwR|(b3WF>u`OiPMruk!-6d3PnV?M+j zw`|!WoDQ)I#H2KwXt6(H{VYf-A33)gHEMXwhnTHZeH8K)#@HOz&tgB4%16#pU!Q`S zE!19G5n?($di3zXT%ke*tNlnQAMsnnarMu#L4yW#_wHRQ@#;CmmW{FD$&)9`#tG%4 zh6}n~FMrmoS+Y4i`VpH)j9x#scJ10S-E5LC%EzP52Kh<5gdB%HH-S7p>h1(&l8+if zV?6_EQk)QSM93BCp8;y-phpbkAzzfsMUAX4wiR-1dimIoHf-2n5btS!;M+nC2)=vh zFvLDlD+jyJDP6sKRn7P5=Yp;@5bi&(?eDzyKl0lD$}9g9@tkmeN8tlUF%M_X4gdRJ zmh%I%>VIc))F6pN1Ym}eE0pwEUM9;%oC0A97qdG~!T)P!B*q)hoXRXs`tUg;;o5(g zn=}7yJn7*0FTU1Pqz}D{JR5vcUq?j2=)gJA{3u#ymoTh zv}x*ISHFIJS$^I$9($UmPho4oX69#3^XARdrq#Em@!J12X!ZznEXGUnucq<948K9M zr{S}})`OiPsG;^4f9uvQs#mX`DsSP!PiYRlt=geO2YT`1g%m&ZBW#<>T>F8VdW}%G zTck)4)u+e0=*TS}`n^Sq7OLzKBSz>hA=TFG*s-H}Zs5Rydb`U#9<|BPMW}PZdt)Tn z%*er`h84A}pGh6Bx34h2NH5|4Ftqw~o!x`+_c0##i1!ToNk*`{k=r|d{J7@N This is the same shared workspace for every exercise in the Advanced path. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/02-configure-your-vonage-credentials.md b/tutorials/advanced-video-core-api-features/src/content/docs/02-configure-your-vonage-credentials.md new file mode 100644 index 00000000..d06717c9 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/02-configure-your-vonage-credentials.md @@ -0,0 +1,25 @@ +--- +title: "Configure your Vonage credentials" +description: "Workspace setup" +--- + +# Configure your Vonage credentials + +Open a new terminal in the Codespace, then run: + +```sh +npm run setup-credentials +``` + +When the terminal asks, paste your Vonage account API key and account API secret from the Vonage dashboard settings. + +The script creates a new Vonage Video application in your account automatically. +You do not need to create one manually. +It will appear in your Vonage Dashboard under Applications with a name like `Advanced Video Exercises - `. +You can manage applications there later; they hold the Video configuration, callback URL, application ID, and private key used by this Codespace. +If you created it only for this tutorial, you can delete it from the dashboard after you finish the guide. + +The setup should finish with `Setup complete`. +It saves `.env` and prepares the Video application configuration for this Codespace. + +> You only do this once for the whole Advanced path. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/03-validate-setup-in-learning-center.md b/tutorials/advanced-video-core-api-features/src/content/docs/03-validate-setup-in-learning-center.md new file mode 100644 index 00000000..899b9fe7 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/03-validate-setup-in-learning-center.md @@ -0,0 +1,67 @@ +--- +title: "Validate setup in Learning Center" +description: "Workspace setup" +--- + +# Validate setup in Learning Center + +You have finished the workspace setup in the Codespace. + +**Copy this App URL** and paste it into the setup exercise in Learning Center. + +
        + + + +
        + + + +This URL uses the app and validation port `3000`. The guide itself runs on port `1234`. + +Then validate the setup exercise there. +**Continue the tutorial** in Learning Center until it asks you to start the Debug timeline exercise. + +Then return to this guide and press Next. + +> Learning Center is still the source of completion. This guide only helps you do the work inside Codespaces. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/04-open-the-client-hooks-file.md b/tutorials/advanced-video-core-api-features/src/content/docs/04-open-the-client-hooks-file.md new file mode 100644 index 00000000..1651761c --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/04-open-the-client-hooks-file.md @@ -0,0 +1,14 @@ +--- +title: "Open the client hooks file" +description: "Debug timeline" +--- + +# Open the client hooks file + +In the Codespace editor, open: + +```text +public/app/exercise-hooks.js +``` + +Find the empty `registerDebugLogging` function. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/05-add-the-browser-event-logger.md b/tutorials/advanced-video-core-api-features/src/content/docs/05-add-the-browser-event-logger.md new file mode 100644 index 00000000..24b049e0 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/05-add-the-browser-event-logger.md @@ -0,0 +1,27 @@ +--- +title: "Add the browser event logger" +description: "Debug timeline" +--- + +# Add the browser event logger + +Replace `registerDebugLogging` with this snippet: + +```js +export function registerDebugLogging({ session, postJson, getSessionId }) { + const send = (type, detail = {}) => postJson("/api/debug/client-event", { + type, + sessionId: getSessionId(), + detail + }).catch(console.error); + + session.on("sessionConnected", () => send("clientSessionConnected")); + session.on("streamCreated", (event) => send("clientStreamCreated", { streamId: event.stream.streamId })); + session.on("streamDestroyed", (event) => send("clientStreamDestroyed", { streamId: event.stream.streamId })); + session.on("sessionDisconnected", () => send("clientSessionDisconnected")); +} +``` + +Save the file. + +> This adds browser lifecycle events such as connect, stream created, stream destroyed, and disconnect. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/06-open-the-server-hooks-file.md b/tutorials/advanced-video-core-api-features/src/content/docs/06-open-the-server-hooks-file.md new file mode 100644 index 00000000..1c512e02 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/06-open-the-server-hooks-file.md @@ -0,0 +1,14 @@ +--- +title: "Open the server hooks file" +description: "Debug timeline" +--- + +# Open the server hooks file + +In the Codespace editor, open: + +```text +src/advanced-video-server-hooks.js +``` + +Find `recordClientDebugEvent` and `recordVideoCallback`. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/07-add-the-server-callback-logger.md b/tutorials/advanced-video-core-api-features/src/content/docs/07-add-the-server-callback-logger.md new file mode 100644 index 00000000..65d2d99b --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/07-add-the-server-callback-logger.md @@ -0,0 +1,32 @@ +--- +title: "Add the server callback logger" +description: "Debug timeline" +--- + +# Add the server callback logger + +Replace `recordClientDebugEvent` and `recordVideoCallback` with this snippet: + +```js +export function recordClientDebugEvent(event) { + pushLimited(state.debugTimeline, { + source: "client", + type: event.type, + sessionId: event.sessionId || null, + detail: event.detail || {} + }); +} + +export function recordVideoCallback(payload) { + pushLimited(state.debugTimeline, { + source: "callback", + type: payload.event || payload.type || "videoCallback", + sessionId: payload.sessionId || payload.session_id || null, + detail: payload + }); +} +``` + +Save the file. + +> This connects browser events and Video callback events into one timeline. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/08-join-from-two-browser-windows.md b/tutorials/advanced-video-core-api-features/src/content/docs/08-join-from-two-browser-windows.md new file mode 100644 index 00000000..e422ba43 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/08-join-from-two-browser-windows.md @@ -0,0 +1,12 @@ +--- +title: "Join from two browser windows" +description: "Debug timeline" +--- + +# Join from two browser windows + +Open the application preview in two browser windows. + +Use the same room name in both windows and click `Join call` in each one. + +Wait until both participants are visible. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/09-leave-the-call.md b/tutorials/advanced-video-core-api-features/src/content/docs/09-leave-the-call.md new file mode 100644 index 00000000..6e180f07 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/09-leave-the-call.md @@ -0,0 +1,12 @@ +--- +title: "Leave the call" +description: "Debug timeline" +--- + +# Leave the call + +Click `Leave call` in one browser window. + +Then click `Leave call` in the second browser window. + +This creates disconnect and stream destroyed events for the timeline. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/10-open-the-timeline-output.md b/tutorials/advanced-video-core-api-features/src/content/docs/10-open-the-timeline-output.md new file mode 100644 index 00000000..3166f09f --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/10-open-the-timeline-output.md @@ -0,0 +1,14 @@ +--- +title: "Open the timeline output" +description: "Debug timeline" +--- + +# Open the timeline output + +Open the debug timeline link in the app, or open this path on the same preview: + +```text +/debug/timeline +``` + +You should see recent client and callback events for the same session ID. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/11-validate-debug-timeline.md b/tutorials/advanced-video-core-api-features/src/content/docs/11-validate-debug-timeline.md new file mode 100644 index 00000000..8c15ffd7 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/11-validate-debug-timeline.md @@ -0,0 +1,14 @@ +--- +title: "Validate debug timeline" +description: "Debug timeline" +--- + +# Validate debug timeline + +You have finished the Debug timeline work in Codespaces. + +**Go back to Learning Center** and validate the Debug timeline exercise. Continue the tutorial there until it asks you to start Signaling chat. + +Then return to this guide and press Next. + +> Validation checks the real timeline output created by your app, not a separate fake validator. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/12-open-the-client-hooks-file.md b/tutorials/advanced-video-core-api-features/src/content/docs/12-open-the-client-hooks-file.md new file mode 100644 index 00000000..4b11ab9c --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/12-open-the-client-hooks-file.md @@ -0,0 +1,14 @@ +--- +title: "Open the client hooks file" +description: "Signaling chat" +--- + +# Open the client hooks file + +In the Codespace editor, open: + +```text +public/app/exercise-hooks.js +``` + +Find the empty `setupSignalingChat` function. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/13-add-room-wide-chat-signaling.md b/tutorials/advanced-video-core-api-features/src/content/docs/13-add-room-wide-chat-signaling.md new file mode 100644 index 00000000..16d6521a --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/13-add-room-wide-chat-signaling.md @@ -0,0 +1,40 @@ +--- +title: "Add room-wide chat signaling" +description: "Signaling chat" +--- + +# Add room-wide chat signaling + +Replace `setupSignalingChat` with this snippet: + +```js +export function setupSignalingChat({ session, elements, postJson }) { + const render = (from, text) => { + const line = document.createElement("p"); + line.textContent = `${from}: ${text}`; + elements.chatMessages.append(line); + }; + + session.on("signal:msg", (event) => { + render(event.from.connectionId === session.connection.connectionId ? "Me" : "Peer", event.data); + postJson("/api/activity", { + type: "signal:msg", + data: event.data, + roomWide: true, + from: event.from.connectionId + }).catch(console.error); + }); + + elements.chatForm.addEventListener("submit", (event) => { + event.preventDefault(); + const data = elements.chatInput.value.trim(); + if (!data) return; + session.signal({ type: "msg", data }); + elements.chatInput.value = ""; + }); +} +``` + +Save the file. + +> This follows the signaling lesson: use Video API signals to send small room-wide messages. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/14-reload-the-app-windows.md b/tutorials/advanced-video-core-api-features/src/content/docs/14-reload-the-app-windows.md new file mode 100644 index 00000000..0a504133 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/14-reload-the-app-windows.md @@ -0,0 +1,12 @@ +--- +title: "Reload the app windows" +description: "Signaling chat" +--- + +# Reload the app windows + +Reload `/app` in two browser windows. + +Join the same room in both windows. + +The chat box is already in the prepared HTML, so you only need to test the signaling behavior. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/15-send-the-first-message.md b/tutorials/advanced-video-core-api-features/src/content/docs/15-send-the-first-message.md new file mode 100644 index 00000000..5ad5f6d6 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/15-send-the-first-message.md @@ -0,0 +1,12 @@ +--- +title: "Send the first message" +description: "Signaling chat" +--- + +# Send the first message + +In the first browser window, type a short message in the chat input. + +Click `Send`. + +The message should appear in the chat area. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/16-send-the-second-message.md b/tutorials/advanced-video-core-api-features/src/content/docs/16-send-the-second-message.md new file mode 100644 index 00000000..427835f7 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/16-send-the-second-message.md @@ -0,0 +1,10 @@ +--- +title: "Send the second message" +description: "Signaling chat" +--- + +# Send the second message + +In the second browser window, type a different short message. + +Click `Send`. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/17-check-both-message-views.md b/tutorials/advanced-video-core-api-features/src/content/docs/17-check-both-message-views.md new file mode 100644 index 00000000..c9afeda4 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/17-check-both-message-views.md @@ -0,0 +1,12 @@ +--- +title: "Check both message views" +description: "Signaling chat" +--- + +# Check both message views + +Look at both browser windows. + +Each window should show both messages once. + +> This exercise validates room-wide `signal:msg`, not private or targeted signaling. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/18-validate-signaling-chat.md b/tutorials/advanced-video-core-api-features/src/content/docs/18-validate-signaling-chat.md new file mode 100644 index 00000000..ec5dc381 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/18-validate-signaling-chat.md @@ -0,0 +1,14 @@ +--- +title: "Validate signaling chat" +description: "Signaling chat" +--- + +# Validate signaling chat + +You have finished the Signaling chat work in Codespaces. + +**Go back to Learning Center** and validate the Signaling chat exercise. Continue the tutorial there until it asks you to start Publisher tuning. + +Then return to this guide and press Next. + +> Validation checks for room-wide `signal:msg` activity created by your app. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/19-open-the-client-hooks-file.md b/tutorials/advanced-video-core-api-features/src/content/docs/19-open-the-client-hooks-file.md new file mode 100644 index 00000000..392a5c5f --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/19-open-the-client-hooks-file.md @@ -0,0 +1,14 @@ +--- +title: "Open the client hooks file" +description: "Publisher tuning" +--- + +# Open the client hooks file + +In the Codespace editor, open: + +```text +public/app/exercise-hooks.js +``` + +Find `getPublisherProfiles`, `getPublisherOptions`, and `recordPublisherProfile`. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/20-add-publisher-profiles.md b/tutorials/advanced-video-core-api-features/src/content/docs/20-add-publisher-profiles.md new file mode 100644 index 00000000..db0f3760 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/20-add-publisher-profiles.md @@ -0,0 +1,56 @@ +--- +title: "Add publisher profiles" +description: "Publisher tuning" +--- + +# Add publisher profiles + +Replace the publisher tuning functions with this snippet: + +```js +const profiles = { + Balanced: { + width: "100%", + height: "100%", + resolution: "640x480", + frameRate: 30, + maxBitrate: 600000 + }, + "Low Bandwidth": { + width: "100%", + height: "100%", + resolution: "320x240", + frameRate: 15, + maxBitrate: 150000 + } +}; + +export function getPublisherProfiles() { + return profiles; +} + +export function getPublisherOptions(profileName) { + const profile = profiles[profileName] || profiles.Balanced; + return { + insertMode: "append", + width: profile.width, + height: profile.height, + resolution: profile.resolution, + frameRate: profile.frameRate, + maxBitrate: profile.maxBitrate + }; +} + +export async function recordPublisherProfile(profileName, postJson) { + const profile = profiles[profileName] || profiles.Balanced; + await postJson("/api/diagnostics/publisher", { + profile: profileName, + applied: true, + settings: profile + }); +} +``` + +Save the file. + +> This keeps the exercise focused on choosing and applying simple publisher settings, not on building a full settings panel. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/21-reload-the-app.md b/tutorials/advanced-video-core-api-features/src/content/docs/21-reload-the-app.md new file mode 100644 index 00000000..009daab1 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/21-reload-the-app.md @@ -0,0 +1,12 @@ +--- +title: "Reload the app" +description: "Publisher tuning" +--- + +# Reload the app + +Reload `/app`. + +The profile dropdown should include `Balanced` and `Low Bandwidth`. + +If the dropdown still shows only one option, save `exercise-hooks.js` and reload again. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/22-start-with-balanced.md b/tutorials/advanced-video-core-api-features/src/content/docs/22-start-with-balanced.md new file mode 100644 index 00000000..87388954 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/22-start-with-balanced.md @@ -0,0 +1,12 @@ +--- +title: "Start with Balanced" +description: "Publisher tuning" +--- + +# Start with Balanced + +Select `Balanced`. + +Click `Join call`. + +This starts the publisher with the default balanced settings from your snippet. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/23-apply-low-bandwidth.md b/tutorials/advanced-video-core-api-features/src/content/docs/23-apply-low-bandwidth.md new file mode 100644 index 00000000..e2b290ca --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/23-apply-low-bandwidth.md @@ -0,0 +1,12 @@ +--- +title: "Apply Low Bandwidth" +description: "Publisher tuning" +--- + +# Apply Low Bandwidth + +Choose `Low Bandwidth` in the profile dropdown. + +Click `Apply profile`. + +The publisher status should say that `Low Bandwidth` was applied. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/24-check-publisher-diagnostics.md b/tutorials/advanced-video-core-api-features/src/content/docs/24-check-publisher-diagnostics.md new file mode 100644 index 00000000..d0ec4710 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/24-check-publisher-diagnostics.md @@ -0,0 +1,14 @@ +--- +title: "Check publisher diagnostics" +description: "Publisher tuning" +--- + +# Check publisher diagnostics + +Open this path on the same preview: + +```text +/diagnostics/publisher +``` + +You should see the latest profile name and the applied settings for `Low Bandwidth`. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/25-validate-publisher-tuning.md b/tutorials/advanced-video-core-api-features/src/content/docs/25-validate-publisher-tuning.md new file mode 100644 index 00000000..405cac55 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/25-validate-publisher-tuning.md @@ -0,0 +1,14 @@ +--- +title: "Validate publisher tuning" +description: "Publisher tuning" +--- + +# Validate publisher tuning + +You have finished the Publisher tuning work in Codespaces. + +**Go back to Learning Center** and validate the Publisher tuning exercise. Continue the tutorial there until it asks you to start Subscriber quality. + +Then return to this guide and press Next. + +> Validation reads app diagnostics, so the exercise stays reliable for beginners. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/26-open-the-client-hooks-file.md b/tutorials/advanced-video-core-api-features/src/content/docs/26-open-the-client-hooks-file.md new file mode 100644 index 00000000..5259c11c --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/26-open-the-client-hooks-file.md @@ -0,0 +1,14 @@ +--- +title: "Open the client hooks file" +description: "Subscriber quality" +--- + +# Open the client hooks file + +In the Codespace editor, open: + +```text +public/app/exercise-hooks.js +``` + +Find the empty `setupSubscriberQuality` function. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/27-add-subscriber-status-handling.md b/tutorials/advanced-video-core-api-features/src/content/docs/27-add-subscriber-status-handling.md new file mode 100644 index 00000000..3657c6aa --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/27-add-subscriber-status-handling.md @@ -0,0 +1,28 @@ +--- +title: "Add subscriber status handling" +description: "Subscriber quality" +--- + +# Add subscriber status handling + +Replace `setupSubscriberQuality` with this snippet: + +```js +export function setupSubscriberQuality({ session, elements, postJson }) { + const setState = (state, reason, recovered = false) => { + elements.subscriberStatus.textContent = `Subscriber status: ${state}`; + postJson("/api/diagnostics/subscriber", { state, reason, recovered }).catch(console.error); + }; + + setState("normal", "subscriber connected"); + + session.on("streamDestroyed", () => setState("ended", "stream destroyed")); + + elements.simulateDegraded.onclick = () => setState("degraded", "prepared test action"); + elements.simulateRecovered.onclick = () => setState("normal", "prepared recovery action", true); +} +``` + +Save the file. + +> The lesson is about reacting to subscriber quality changes. The workspace uses prepared buttons so you do not need to break your network on purpose. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/28-join-from-two-windows.md b/tutorials/advanced-video-core-api-features/src/content/docs/28-join-from-two-windows.md new file mode 100644 index 00000000..e9e71149 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/28-join-from-two-windows.md @@ -0,0 +1,12 @@ +--- +title: "Join from two windows" +description: "Subscriber quality" +--- + +# Join from two windows + +Reload `/app` in two browser windows. + +Join the same room in both windows. + +Wait until each window shows the other participant as a subscriber. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/29-check-the-normal-state.md b/tutorials/advanced-video-core-api-features/src/content/docs/29-check-the-normal-state.md new file mode 100644 index 00000000..05a877d7 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/29-check-the-normal-state.md @@ -0,0 +1,12 @@ +--- +title: "Check the normal state" +description: "Subscriber quality" +--- + +# Check the normal state + +Look at the Subscriber quality panel. + +The status should show `normal` after the subscriber connects. + +This confirms the basic status label is wired up. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/30-trigger-degraded-state.md b/tutorials/advanced-video-core-api-features/src/content/docs/30-trigger-degraded-state.md new file mode 100644 index 00000000..b4086618 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/30-trigger-degraded-state.md @@ -0,0 +1,10 @@ +--- +title: "Trigger degraded state" +description: "Subscriber quality" +--- + +# Trigger degraded state + +Click `Simulate degraded`. + +The subscriber quality label should change to `degraded`. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/31-recover-the-subscriber-state.md b/tutorials/advanced-video-core-api-features/src/content/docs/31-recover-the-subscriber-state.md new file mode 100644 index 00000000..39bad453 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/31-recover-the-subscriber-state.md @@ -0,0 +1,12 @@ +--- +title: "Recover the subscriber state" +description: "Subscriber quality" +--- + +# Recover the subscriber state + +Click `Simulate recovered`. + +The subscriber quality label should return to `normal`. + +> The prepared buttons make this exercise repeatable without forcing real network problems. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/32-validate-subscriber-quality.md b/tutorials/advanced-video-core-api-features/src/content/docs/32-validate-subscriber-quality.md new file mode 100644 index 00000000..2d54eeb1 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/32-validate-subscriber-quality.md @@ -0,0 +1,14 @@ +--- +title: "Validate subscriber quality" +description: "Subscriber quality" +--- + +# Validate subscriber quality + +You have finished the Subscriber quality work in Codespaces. + +**Go back to Learning Center** and validate the Subscriber quality exercise. Continue the tutorial there until it asks you to start Recording layout. + +Then return to this guide and press Next. + +> Validation checks the quality state history created by the app. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/33-open-the-client-hooks-file.md b/tutorials/advanced-video-core-api-features/src/content/docs/33-open-the-client-hooks-file.md new file mode 100644 index 00000000..eb49d74e --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/33-open-the-client-hooks-file.md @@ -0,0 +1,14 @@ +--- +title: "Open the client hooks file" +description: "Recording layout" +--- + +# Open the client hooks file + +In the Codespace editor, open: + +```text +public/app/exercise-hooks.js +``` + +Find `getRecordingLayoutPreview`. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/34-add-layout-preview.md b/tutorials/advanced-video-core-api-features/src/content/docs/34-add-layout-preview.md new file mode 100644 index 00000000..52063f1f --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/34-add-layout-preview.md @@ -0,0 +1,23 @@ +--- +title: "Add layout preview" +description: "Recording layout" +--- + +# Add layout preview + +Replace `getRecordingLayoutPreview` with this snippet: + +```js +export function getRecordingLayoutPreview({ focusTarget }) { + return { + layout: "horizontalPresentation", + streamClass: "focus", + focused: Boolean(focusTarget), + previewUrl: "/app/" + }; +} +``` + +Save the file. + +> This mirrors the recording layout idea from the lesson without forcing you to wait for a playable archive. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/35-reload-the-app.md b/tutorials/advanced-video-core-api-features/src/content/docs/35-reload-the-app.md new file mode 100644 index 00000000..d167879f --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/35-reload-the-app.md @@ -0,0 +1,10 @@ +--- +title: "Reload the app" +description: "Recording layout" +--- + +# Reload the app + +Reload `/app`. + +The Recording layout panel should still show the focus participant dropdown and `Preview layout` button. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/36-join-from-two-windows.md b/tutorials/advanced-video-core-api-features/src/content/docs/36-join-from-two-windows.md new file mode 100644 index 00000000..63cfc014 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/36-join-from-two-windows.md @@ -0,0 +1,10 @@ +--- +title: "Join from two windows" +description: "Recording layout" +--- + +# Join from two windows + +Join the same room from two browser windows. + +Wait until there is a local publisher and at least one subscriber. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/37-choose-a-focus-participant.md b/tutorials/advanced-video-core-api-features/src/content/docs/37-choose-a-focus-participant.md new file mode 100644 index 00000000..4a294762 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/37-choose-a-focus-participant.md @@ -0,0 +1,10 @@ +--- +title: "Choose a focus participant" +description: "Recording layout" +--- + +# Choose a focus participant + +Choose a participant as the focus stream and click `Preview layout`. + +This simulates the stream class choice that would be used for the recording layout. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/38-check-the-layout-preview.md b/tutorials/advanced-video-core-api-features/src/content/docs/38-check-the-layout-preview.md new file mode 100644 index 00000000..13087986 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/38-check-the-layout-preview.md @@ -0,0 +1,16 @@ +--- +title: "Check the layout preview" +description: "Recording layout" +--- + +# Check the layout preview + +Look at the Recording layout status text. + +It should say the preview is ready with `focus`. + +You can also open: + +```text +/recordings/latest +``` diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/39-validate-recording-layout.md b/tutorials/advanced-video-core-api-features/src/content/docs/39-validate-recording-layout.md new file mode 100644 index 00000000..b8a04fe2 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/39-validate-recording-layout.md @@ -0,0 +1,14 @@ +--- +title: "Validate recording layout" +description: "Recording layout" +--- + +# Validate recording layout + +You have finished the Recording layout work in Codespaces. + +**Go back to Learning Center** and validate the Recording layout exercise. Continue the tutorial there until it asks you to start Archiving. + +Then return to this guide and press Next. + +> Validation checks the layout preview output from your app. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/40-open-the-server-hooks-file.md b/tutorials/advanced-video-core-api-features/src/content/docs/40-open-the-server-hooks-file.md new file mode 100644 index 00000000..6dde5797 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/40-open-the-server-hooks-file.md @@ -0,0 +1,14 @@ +--- +title: "Open the server hooks file" +description: "Archiving" +--- + +# Open the server hooks file + +In the Codespace editor, open: + +```text +src/advanced-video-server-hooks.js +``` + +Find `startArchive`, `stopArchive`, and `getArchiveViewUrl`. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/41-add-archive-server-actions.md b/tutorials/advanced-video-core-api-features/src/content/docs/41-add-archive-server-actions.md new file mode 100644 index 00000000..ac25982b --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/41-add-archive-server-actions.md @@ -0,0 +1,50 @@ +--- +title: "Add archive server actions" +description: "Archiving" +--- + +# Add archive server actions + +Replace the archive functions with this snippet: + +```js +export async function startArchive({ video, body, state }) { + if (!video) throw new Error("missing_credentials"); + const archive = await video.startArchive(body.sessionId, { name: archiveNameForSession(body.sessionId) }); + state.latestArchive = { + archiveId: archive.id, + state: archive.status || "started", + viewUrl: `/archive/${archive.id}/view`, + updatedAt: new Date().toISOString() + }; + return archive; +} + +export async function stopArchive({ video, archiveId, state }) { + if (!video) throw new Error("missing_credentials"); + const archive = await video.stopArchive(archiveId); + state.latestArchive = { + archiveId: archive.id || archiveId, + state: archive.status || "stopped", + viewUrl: `/archive/${archive.id || archiveId}/view`, + updatedAt: new Date().toISOString() + }; + return archive; +} + +export async function getArchiveViewUrl({ video, archiveId, state }) { + if (!video) throw new Error("missing_credentials"); + const archive = await video.getArchive(archiveId); + state.latestArchive = { + archiveId: archive.id || archiveId, + state: archive.status || "available", + viewUrl: `/archive/${archive.id || archiveId}/view`, + updatedAt: new Date().toISOString() + }; + return archive.status === "available" ? archive.url : null; +} +``` + +Save the file. + +> This follows the archiving lesson: the server owns the archive start, stop, and view actions. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/42-open-the-client-hooks-file.md b/tutorials/advanced-video-core-api-features/src/content/docs/42-open-the-client-hooks-file.md new file mode 100644 index 00000000..872dee28 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/42-open-the-client-hooks-file.md @@ -0,0 +1,14 @@ +--- +title: "Open the client hooks file" +description: "Archiving" +--- + +# Open the client hooks file + +In the Codespace editor, open: + +```text +public/app/exercise-hooks.js +``` + +Find the empty `setupArchivingControls` function. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/43-add-archive-buttons.md b/tutorials/advanced-video-core-api-features/src/content/docs/43-add-archive-buttons.md new file mode 100644 index 00000000..107ae75e --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/43-add-archive-buttons.md @@ -0,0 +1,34 @@ +--- +title: "Add archive buttons" +description: "Archiving" +--- + +# Add archive buttons + +Replace `setupArchivingControls` with this snippet: + +```js +export function setupArchivingControls({ elements, postJson, getSessionId, getLatestArchiveId, setLatestArchiveId }) { + elements.startArchive.onclick = async () => { + const archive = await postJson("/archive/start", { sessionId: getSessionId() }); + setLatestArchiveId(archive.id || archive.archiveId); + elements.archiveStatus.textContent = `Archive started: ${getLatestArchiveId()}`; + elements.startArchive.disabled = true; + elements.stopArchive.disabled = false; + }; + + elements.stopArchive.onclick = async () => { + const archiveId = getLatestArchiveId(); + const archive = await postJson(`/archive/${archiveId}/stop`, {}); + const stoppedId = archive.id || archive.archiveId || archiveId; + elements.archiveStatus.textContent = `Archive stopped: ${stoppedId}`; + elements.archiveLink.innerHTML = `View Archive`; + elements.startArchive.disabled = false; + elements.stopArchive.disabled = true; + }; +} +``` + +Save the file. + +> The UI stays intentionally plain. Frontend polish can come later; this exercise is about wiring the Video API flow. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/44-join-the-call.md b/tutorials/advanced-video-core-api-features/src/content/docs/44-join-the-call.md new file mode 100644 index 00000000..86137895 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/44-join-the-call.md @@ -0,0 +1,12 @@ +--- +title: "Join the call" +description: "Archiving" +--- + +# Join the call + +Reload `/app`. + +Join the room from one browser window. A second window is optional for this exercise. + +Wait until the call status says you are connected. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/45-start-an-archive.md b/tutorials/advanced-video-core-api-features/src/content/docs/45-start-an-archive.md new file mode 100644 index 00000000..c64f7753 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/45-start-an-archive.md @@ -0,0 +1,12 @@ +--- +title: "Start an archive" +description: "Archiving" +--- + +# Start an archive + +Click `Start Archive`. + +Wait until the archive status shows an archive ID. + +Keep the call running for a few seconds before stopping it. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/46-stop-and-view-the-archive.md b/tutorials/advanced-video-core-api-features/src/content/docs/46-stop-and-view-the-archive.md new file mode 100644 index 00000000..c26f867b --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/46-stop-and-view-the-archive.md @@ -0,0 +1,12 @@ +--- +title: "Stop and view the archive" +description: "Archiving" +--- + +# Stop and view the archive + +Click `Stop Archive`. + +The app should show that the archive stopped and display a `View Archive` link. + +Click `View Archive`. If the recording is still processing, that is acceptable. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/47-validate-archiving.md b/tutorials/advanced-video-core-api-features/src/content/docs/47-validate-archiving.md new file mode 100644 index 00000000..198629af --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/47-validate-archiving.md @@ -0,0 +1,15 @@ +--- +title: "Validate archiving" +description: "Archiving" +--- + +# Validate archiving + +You have finished the Archiving work in Codespaces. + +**Go back to Learning Center** and validate the Archiving exercise. + +This is the final Advanced exercise. After validation, you can close the Codespace or keep it for review. If you need the section list again, return to `/guide/`. +If you no longer need the Video application created during setup, you can delete it from the Vonage Dashboard under Applications. + +> Validation checks the latest archive output produced by the same app you used throughout the path. diff --git a/tutorials/advanced-video-core-api-features/src/content/docs/index.mdx b/tutorials/advanced-video-core-api-features/src/content/docs/index.mdx new file mode 100644 index 00000000..1994297f --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/content/docs/index.mdx @@ -0,0 +1,7 @@ +--- +title: Advanced Video Core API Features +description: Build advanced Vonage Video API skills across debugging, signaling, optimization, layouts, and archiving. +template: splash +hero: + tagline: Shared workspace for the Advanced Video learning path. +--- diff --git a/tutorials/advanced-video-core-api-features/src/env.d.ts b/tutorials/advanced-video-core-api-features/src/env.d.ts new file mode 100644 index 00000000..acef35f1 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/src/env.d.ts @@ -0,0 +1,2 @@ +/// +/// diff --git a/tutorials/advanced-video-core-api-features/steps/01-confirm-the-server-is-running/index.html b/tutorials/advanced-video-core-api-features/steps/01-confirm-the-server-is-running/index.html new file mode 100644 index 00000000..a38f4497 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/01-confirm-the-server-is-running/index.html @@ -0,0 +1,70 @@ + Confirm the server is running | Advanced Video Core API Features Skip to content

        Confirm the server is running

        +

        The Codespace should start the local app server automatically in the server terminal. +Leave that terminal running for the whole Advanced path.

        +

        If you stop it by accident, run this command in a terminal:

        +
        Terminal window
        npm run start:app
        +

        For commands such as credentials setup, open a new terminal in the Codespace. +Do not stop the server terminal.

        +
        +

        This is the same shared workspace for every exercise in the Advanced path.

        +
        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/02-configure-your-vonage-credentials/index.html b/tutorials/advanced-video-core-api-features/steps/02-configure-your-vonage-credentials/index.html new file mode 100644 index 00000000..3f98646d --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/02-configure-your-vonage-credentials/index.html @@ -0,0 +1,74 @@ + Configure your Vonage credentials | Advanced Video Core API Features Skip to content

        Configure your Vonage credentials

        +

        Open a new terminal in the Codespace, then run:

        +
        Terminal window
        npm run setup-credentials
        +

        When the terminal asks, paste your Vonage account API key and account API secret from the Vonage dashboard settings.

        +

        The script creates a new Vonage Video application in your account automatically. +You do not need to create one manually. +It will appear in your Vonage Dashboard under Applications with a name like Advanced Video Exercises - <codespace-name>. +You can manage applications there later; they hold the Video configuration, callback URL, application ID, and private key used by this Codespace. +If you created it only for this tutorial, you can delete it from the dashboard after you finish the guide.

        +

        The setup should finish with Setup complete. +It saves .env and prepares the Video application configuration for this Codespace.

        +
        +

        You only do this once for the whole Advanced path.

        +
        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/03-validate-setup-in-learning-center/index.html b/tutorials/advanced-video-core-api-features/steps/03-validate-setup-in-learning-center/index.html new file mode 100644 index 00000000..67d0ecb1 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/03-validate-setup-in-learning-center/index.html @@ -0,0 +1,116 @@ + Validate setup in Learning Center | Advanced Video Core API Features Skip to content

        Validate setup in Learning Center

        +

        You have finished the workspace setup in the Codespace.

        +

        Copy this App URL and paste it into the setup exercise in Learning Center.

        +
        + + + +
        + +

        This URL uses the app and validation port 3000. The guide itself runs on port 1234.

        +

        Then validate the setup exercise there. +Continue the tutorial in Learning Center until it asks you to start the Debug timeline exercise.

        +

        Then return to this guide and press Next.

        +
        +

        Learning Center is still the source of completion. This guide only helps you do the work inside Codespaces.

        +
        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/04-open-the-client-hooks-file/index.html b/tutorials/advanced-video-core-api-features/steps/04-open-the-client-hooks-file/index.html new file mode 100644 index 00000000..c1a0cae0 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/04-open-the-client-hooks-file/index.html @@ -0,0 +1,64 @@ + Open the client hooks file | Advanced Video Core API Features Skip to content

        Open the client hooks file

        +

        In the Codespace editor, open:

        +
        public/app/exercise-hooks.js
        +

        Find the empty registerDebugLogging function.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/05-add-the-browser-event-logger/index.html b/tutorials/advanced-video-core-api-features/steps/05-add-the-browser-event-logger/index.html new file mode 100644 index 00000000..3293c15b --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/05-add-the-browser-event-logger/index.html @@ -0,0 +1,68 @@ + Add the browser event logger | Advanced Video Core API Features Skip to content

        Add the browser event logger

        +

        Replace registerDebugLogging with this snippet:

        +
        export function registerDebugLogging({ session, postJson, getSessionId }) {
        const send = (type, detail = {}) => postJson("/api/debug/client-event", {
        type,
        sessionId: getSessionId(),
        detail
        }).catch(console.error);
        +
        session.on("sessionConnected", () => send("clientSessionConnected"));
        session.on("streamCreated", (event) => send("clientStreamCreated", { streamId: event.stream.streamId }));
        session.on("streamDestroyed", (event) => send("clientStreamDestroyed", { streamId: event.stream.streamId }));
        session.on("sessionDisconnected", () => send("clientSessionDisconnected"));
        }
        +

        Save the file.

        +
        +

        This adds browser lifecycle events such as connect, stream created, stream destroyed, and disconnect.

        +
        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/06-open-the-server-hooks-file/index.html b/tutorials/advanced-video-core-api-features/steps/06-open-the-server-hooks-file/index.html new file mode 100644 index 00000000..17395fdb --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/06-open-the-server-hooks-file/index.html @@ -0,0 +1,64 @@ + Open the server hooks file | Advanced Video Core API Features Skip to content

        Open the server hooks file

        +

        In the Codespace editor, open:

        +
        src/advanced-video-server-hooks.js
        +

        Find recordClientDebugEvent and recordVideoCallback.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/07-add-the-server-callback-logger/index.html b/tutorials/advanced-video-core-api-features/steps/07-add-the-server-callback-logger/index.html new file mode 100644 index 00000000..f2996e65 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/07-add-the-server-callback-logger/index.html @@ -0,0 +1,68 @@ + Add the server callback logger | Advanced Video Core API Features Skip to content

        Add the server callback logger

        +

        Replace recordClientDebugEvent and recordVideoCallback with this snippet:

        +
        export function recordClientDebugEvent(event) {
        pushLimited(state.debugTimeline, {
        source: "client",
        type: event.type,
        sessionId: event.sessionId || null,
        detail: event.detail || {}
        });
        }
        +
        export function recordVideoCallback(payload) {
        pushLimited(state.debugTimeline, {
        source: "callback",
        type: payload.event || payload.type || "videoCallback",
        sessionId: payload.sessionId || payload.session_id || null,
        detail: payload
        });
        }
        +

        Save the file.

        +
        +

        This connects browser events and Video callback events into one timeline.

        +
        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/08-join-from-two-browser-windows/index.html b/tutorials/advanced-video-core-api-features/steps/08-join-from-two-browser-windows/index.html new file mode 100644 index 00000000..ef63b319 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/08-join-from-two-browser-windows/index.html @@ -0,0 +1,64 @@ + Join from two browser windows | Advanced Video Core API Features Skip to content

        Join from two browser windows

        +

        Open the application preview in two browser windows.

        +

        Use the same room name in both windows and click Join call in each one.

        +

        Wait until both participants are visible.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/09-leave-the-call/index.html b/tutorials/advanced-video-core-api-features/steps/09-leave-the-call/index.html new file mode 100644 index 00000000..db9a2392 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/09-leave-the-call/index.html @@ -0,0 +1,64 @@ + Leave the call | Advanced Video Core API Features Skip to content

        Leave the call

        +

        Click Leave call in one browser window.

        +

        Then click Leave call in the second browser window.

        +

        This creates disconnect and stream destroyed events for the timeline.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/10-open-the-timeline-output/index.html b/tutorials/advanced-video-core-api-features/steps/10-open-the-timeline-output/index.html new file mode 100644 index 00000000..2cc953ec --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/10-open-the-timeline-output/index.html @@ -0,0 +1,64 @@ + Open the timeline output | Advanced Video Core API Features Skip to content

        Open the timeline output

        +

        Open the debug timeline link in the app, or open this path on the same preview:

        +
        /debug/timeline
        +

        You should see recent client and callback events for the same session ID.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/11-validate-debug-timeline/index.html b/tutorials/advanced-video-core-api-features/steps/11-validate-debug-timeline/index.html new file mode 100644 index 00000000..71a62eec --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/11-validate-debug-timeline/index.html @@ -0,0 +1,67 @@ + Validate debug timeline | Advanced Video Core API Features Skip to content

        Validate debug timeline

        +

        You have finished the Debug timeline work in Codespaces.

        +

        Go back to Learning Center and validate the Debug timeline exercise. Continue the tutorial there until it asks you to start Signaling chat.

        +

        Then return to this guide and press Next.

        +
        +

        Validation checks the real timeline output created by your app, not a separate fake validator.

        +
        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/12-open-the-client-hooks-file/index.html b/tutorials/advanced-video-core-api-features/steps/12-open-the-client-hooks-file/index.html new file mode 100644 index 00000000..c342d925 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/12-open-the-client-hooks-file/index.html @@ -0,0 +1,64 @@ + Open the client hooks file | Advanced Video Core API Features Skip to content

        Open the client hooks file

        +

        In the Codespace editor, open:

        +
        public/app/exercise-hooks.js
        +

        Find the empty setupSignalingChat function.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/13-add-room-wide-chat-signaling/index.html b/tutorials/advanced-video-core-api-features/steps/13-add-room-wide-chat-signaling/index.html new file mode 100644 index 00000000..75e827ac --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/13-add-room-wide-chat-signaling/index.html @@ -0,0 +1,69 @@ + Add room-wide chat signaling | Advanced Video Core API Features Skip to content

        Add room-wide chat signaling

        +

        Replace setupSignalingChat with this snippet:

        +
        export function setupSignalingChat({ session, elements, postJson }) {
        const render = (from, text) => {
        const line = document.createElement("p");
        line.textContent = `${from}: ${text}`;
        elements.chatMessages.append(line);
        };
        +
        session.on("signal:msg", (event) => {
        render(event.from.connectionId === session.connection.connectionId ? "Me" : "Peer", event.data);
        postJson("/api/activity", {
        type: "signal:msg",
        data: event.data,
        roomWide: true,
        from: event.from.connectionId
        }).catch(console.error);
        });
        +
        elements.chatForm.addEventListener("submit", (event) => {
        event.preventDefault();
        const data = elements.chatInput.value.trim();
        if (!data) return;
        session.signal({ type: "msg", data });
        elements.chatInput.value = "";
        });
        }
        +

        Save the file.

        +
        +

        This follows the signaling lesson: use Video API signals to send small room-wide messages.

        +
        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/14-reload-the-app-windows/index.html b/tutorials/advanced-video-core-api-features/steps/14-reload-the-app-windows/index.html new file mode 100644 index 00000000..4460b0b5 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/14-reload-the-app-windows/index.html @@ -0,0 +1,64 @@ + Reload the app windows | Advanced Video Core API Features Skip to content

        Reload the app windows

        +

        Reload /app in two browser windows.

        +

        Join the same room in both windows.

        +

        The chat box is already in the prepared HTML, so you only need to test the signaling behavior.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/15-send-the-first-message/index.html b/tutorials/advanced-video-core-api-features/steps/15-send-the-first-message/index.html new file mode 100644 index 00000000..0f9b3123 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/15-send-the-first-message/index.html @@ -0,0 +1,64 @@ + Send the first message | Advanced Video Core API Features Skip to content

        Send the first message

        +

        In the first browser window, type a short message in the chat input.

        +

        Click Send.

        +

        The message should appear in the chat area.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/16-send-the-second-message/index.html b/tutorials/advanced-video-core-api-features/steps/16-send-the-second-message/index.html new file mode 100644 index 00000000..cfec9ee7 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/16-send-the-second-message/index.html @@ -0,0 +1,63 @@ + Send the second message | Advanced Video Core API Features Skip to content

        Send the second message

        +

        In the second browser window, type a different short message.

        +

        Click Send.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/17-check-both-message-views/index.html b/tutorials/advanced-video-core-api-features/steps/17-check-both-message-views/index.html new file mode 100644 index 00000000..325b0094 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/17-check-both-message-views/index.html @@ -0,0 +1,66 @@ + Check both message views | Advanced Video Core API Features Skip to content

        Check both message views

        +

        Look at both browser windows.

        +

        Each window should show both messages once.

        +
        +

        This exercise validates room-wide signal:msg, not private or targeted signaling.

        +
        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/18-validate-signaling-chat/index.html b/tutorials/advanced-video-core-api-features/steps/18-validate-signaling-chat/index.html new file mode 100644 index 00000000..a6f19e6a --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/18-validate-signaling-chat/index.html @@ -0,0 +1,67 @@ + Validate signaling chat | Advanced Video Core API Features Skip to content

        Validate signaling chat

        +

        You have finished the Signaling chat work in Codespaces.

        +

        Go back to Learning Center and validate the Signaling chat exercise. Continue the tutorial there until it asks you to start Publisher tuning.

        +

        Then return to this guide and press Next.

        +
        +

        Validation checks for room-wide signal:msg activity created by your app.

        +
        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/19-open-the-client-hooks-file/index.html b/tutorials/advanced-video-core-api-features/steps/19-open-the-client-hooks-file/index.html new file mode 100644 index 00000000..d2d8d21c --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/19-open-the-client-hooks-file/index.html @@ -0,0 +1,64 @@ + Open the client hooks file | Advanced Video Core API Features Skip to content

        Open the client hooks file

        +

        In the Codespace editor, open:

        +
        public/app/exercise-hooks.js
        +

        Find getPublisherProfiles, getPublisherOptions, and recordPublisherProfile.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/20-add-publisher-profiles/index.html b/tutorials/advanced-video-core-api-features/steps/20-add-publisher-profiles/index.html new file mode 100644 index 00000000..d1285ec6 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/20-add-publisher-profiles/index.html @@ -0,0 +1,70 @@ + Add publisher profiles | Advanced Video Core API Features Skip to content

        Add publisher profiles

        +

        Replace the publisher tuning functions with this snippet:

        +
        const profiles = {
        Balanced: {
        width: "100%",
        height: "100%",
        resolution: "640x480",
        frameRate: 30,
        maxBitrate: 600000
        },
        "Low Bandwidth": {
        width: "100%",
        height: "100%",
        resolution: "320x240",
        frameRate: 15,
        maxBitrate: 150000
        }
        };
        +
        export function getPublisherProfiles() {
        return profiles;
        }
        +
        export function getPublisherOptions(profileName) {
        const profile = profiles[profileName] || profiles.Balanced;
        return {
        insertMode: "append",
        width: profile.width,
        height: profile.height,
        resolution: profile.resolution,
        frameRate: profile.frameRate,
        maxBitrate: profile.maxBitrate
        };
        }
        +
        export async function recordPublisherProfile(profileName, postJson) {
        const profile = profiles[profileName] || profiles.Balanced;
        await postJson("/api/diagnostics/publisher", {
        profile: profileName,
        applied: true,
        settings: profile
        });
        }
        +

        Save the file.

        +
        +

        This keeps the exercise focused on choosing and applying simple publisher settings, not on building a full settings panel.

        +
        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/21-reload-the-app/index.html b/tutorials/advanced-video-core-api-features/steps/21-reload-the-app/index.html new file mode 100644 index 00000000..613f644d --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/21-reload-the-app/index.html @@ -0,0 +1,64 @@ + Reload the app | Advanced Video Core API Features Skip to content

        Reload the app

        +

        Reload /app.

        +

        The profile dropdown should include Balanced and Low Bandwidth.

        +

        If the dropdown still shows only one option, save exercise-hooks.js and reload again.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/22-start-with-balanced/index.html b/tutorials/advanced-video-core-api-features/steps/22-start-with-balanced/index.html new file mode 100644 index 00000000..076f5ce2 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/22-start-with-balanced/index.html @@ -0,0 +1,64 @@ + Start with Balanced | Advanced Video Core API Features Skip to content

        Start with Balanced

        +

        Select Balanced.

        +

        Click Join call.

        +

        This starts the publisher with the default balanced settings from your snippet.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/23-apply-low-bandwidth/index.html b/tutorials/advanced-video-core-api-features/steps/23-apply-low-bandwidth/index.html new file mode 100644 index 00000000..169e2149 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/23-apply-low-bandwidth/index.html @@ -0,0 +1,64 @@ + Apply Low Bandwidth | Advanced Video Core API Features Skip to content

        Apply Low Bandwidth

        +

        Choose Low Bandwidth in the profile dropdown.

        +

        Click Apply profile.

        +

        The publisher status should say that Low Bandwidth was applied.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/24-check-publisher-diagnostics/index.html b/tutorials/advanced-video-core-api-features/steps/24-check-publisher-diagnostics/index.html new file mode 100644 index 00000000..1d15d757 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/24-check-publisher-diagnostics/index.html @@ -0,0 +1,64 @@ + Check publisher diagnostics | Advanced Video Core API Features Skip to content

        Check publisher diagnostics

        +

        Open this path on the same preview:

        +
        /diagnostics/publisher
        +

        You should see the latest profile name and the applied settings for Low Bandwidth.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/25-validate-publisher-tuning/index.html b/tutorials/advanced-video-core-api-features/steps/25-validate-publisher-tuning/index.html new file mode 100644 index 00000000..025a5cb1 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/25-validate-publisher-tuning/index.html @@ -0,0 +1,67 @@ + Validate publisher tuning | Advanced Video Core API Features Skip to content

        Validate publisher tuning

        +

        You have finished the Publisher tuning work in Codespaces.

        +

        Go back to Learning Center and validate the Publisher tuning exercise. Continue the tutorial there until it asks you to start Subscriber quality.

        +

        Then return to this guide and press Next.

        +
        +

        Validation reads app diagnostics, so the exercise stays reliable for beginners.

        +
        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/26-open-the-client-hooks-file/index.html b/tutorials/advanced-video-core-api-features/steps/26-open-the-client-hooks-file/index.html new file mode 100644 index 00000000..c40306e9 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/26-open-the-client-hooks-file/index.html @@ -0,0 +1,64 @@ + Open the client hooks file | Advanced Video Core API Features Skip to content

        Open the client hooks file

        +

        In the Codespace editor, open:

        +
        public/app/exercise-hooks.js
        +

        Find the empty setupSubscriberQuality function.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/27-add-subscriber-status-handling/index.html b/tutorials/advanced-video-core-api-features/steps/27-add-subscriber-status-handling/index.html new file mode 100644 index 00000000..c8498f6e --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/27-add-subscriber-status-handling/index.html @@ -0,0 +1,70 @@ + Add subscriber status handling | Advanced Video Core API Features Skip to content

        Add subscriber status handling

        +

        Replace setupSubscriberQuality with this snippet:

        +
        export function setupSubscriberQuality({ session, elements, postJson }) {
        const setState = (state, reason, recovered = false) => {
        elements.subscriberStatus.textContent = `Subscriber status: ${state}`;
        postJson("/api/diagnostics/subscriber", { state, reason, recovered }).catch(console.error);
        };
        +
        setState("normal", "subscriber connected");
        +
        session.on("streamDestroyed", () => setState("ended", "stream destroyed"));
        +
        elements.simulateDegraded.onclick = () => setState("degraded", "prepared test action");
        elements.simulateRecovered.onclick = () => setState("normal", "prepared recovery action", true);
        }
        +

        Save the file.

        +
        +

        The lesson is about reacting to subscriber quality changes. The workspace uses prepared buttons so you do not need to break your network on purpose.

        +
        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/28-join-from-two-windows/index.html b/tutorials/advanced-video-core-api-features/steps/28-join-from-two-windows/index.html new file mode 100644 index 00000000..a0a53cd5 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/28-join-from-two-windows/index.html @@ -0,0 +1,64 @@ + Join from two windows | Advanced Video Core API Features Skip to content

        Join from two windows

        +

        Reload /app in two browser windows.

        +

        Join the same room in both windows.

        +

        Wait until each window shows the other participant as a subscriber.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/29-check-the-normal-state/index.html b/tutorials/advanced-video-core-api-features/steps/29-check-the-normal-state/index.html new file mode 100644 index 00000000..afa968b2 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/29-check-the-normal-state/index.html @@ -0,0 +1,64 @@ + Check the normal state | Advanced Video Core API Features Skip to content

        Check the normal state

        +

        Look at the Subscriber quality panel.

        +

        The status should show normal after the subscriber connects.

        +

        This confirms the basic status label is wired up.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/30-trigger-degraded-state/index.html b/tutorials/advanced-video-core-api-features/steps/30-trigger-degraded-state/index.html new file mode 100644 index 00000000..8f64f146 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/30-trigger-degraded-state/index.html @@ -0,0 +1,63 @@ + Trigger degraded state | Advanced Video Core API Features Skip to content

        Trigger degraded state

        +

        Click Simulate degraded.

        +

        The subscriber quality label should change to degraded.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/31-recover-the-subscriber-state/index.html b/tutorials/advanced-video-core-api-features/steps/31-recover-the-subscriber-state/index.html new file mode 100644 index 00000000..596c0a22 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/31-recover-the-subscriber-state/index.html @@ -0,0 +1,66 @@ + Recover the subscriber state | Advanced Video Core API Features Skip to content

        Recover the subscriber state

        +

        Click Simulate recovered.

        +

        The subscriber quality label should return to normal.

        +
        +

        The prepared buttons make this exercise repeatable without forcing real network problems.

        +
        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/32-validate-subscriber-quality/index.html b/tutorials/advanced-video-core-api-features/steps/32-validate-subscriber-quality/index.html new file mode 100644 index 00000000..12aedd7b --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/32-validate-subscriber-quality/index.html @@ -0,0 +1,67 @@ + Validate subscriber quality | Advanced Video Core API Features Skip to content

        Validate subscriber quality

        +

        You have finished the Subscriber quality work in Codespaces.

        +

        Go back to Learning Center and validate the Subscriber quality exercise. Continue the tutorial there until it asks you to start Recording layout.

        +

        Then return to this guide and press Next.

        +
        +

        Validation checks the quality state history created by the app.

        +
        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/33-open-the-client-hooks-file/index.html b/tutorials/advanced-video-core-api-features/steps/33-open-the-client-hooks-file/index.html new file mode 100644 index 00000000..98a54239 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/33-open-the-client-hooks-file/index.html @@ -0,0 +1,64 @@ + Open the client hooks file | Advanced Video Core API Features Skip to content

        Open the client hooks file

        +

        In the Codespace editor, open:

        +
        public/app/exercise-hooks.js
        +

        Find getRecordingLayoutPreview.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/34-add-layout-preview/index.html b/tutorials/advanced-video-core-api-features/steps/34-add-layout-preview/index.html new file mode 100644 index 00000000..4a052d86 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/34-add-layout-preview/index.html @@ -0,0 +1,67 @@ + Add layout preview | Advanced Video Core API Features Skip to content

        Add layout preview

        +

        Replace getRecordingLayoutPreview with this snippet:

        +
        export function getRecordingLayoutPreview({ focusTarget }) {
        return {
        layout: "horizontalPresentation",
        streamClass: "focus",
        focused: Boolean(focusTarget),
        previewUrl: "/app/"
        };
        }
        +

        Save the file.

        +
        +

        This mirrors the recording layout idea from the lesson without forcing you to wait for a playable archive.

        +
        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/35-reload-the-app/index.html b/tutorials/advanced-video-core-api-features/steps/35-reload-the-app/index.html new file mode 100644 index 00000000..06df1349 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/35-reload-the-app/index.html @@ -0,0 +1,63 @@ + Reload the app | Advanced Video Core API Features Skip to content

        Reload the app

        +

        Reload /app.

        +

        The Recording layout panel should still show the focus participant dropdown and Preview layout button.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/36-join-from-two-windows/index.html b/tutorials/advanced-video-core-api-features/steps/36-join-from-two-windows/index.html new file mode 100644 index 00000000..2262a30a --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/36-join-from-two-windows/index.html @@ -0,0 +1,63 @@ + Join from two windows | Advanced Video Core API Features Skip to content

        Join from two windows

        +

        Join the same room from two browser windows.

        +

        Wait until there is a local publisher and at least one subscriber.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/37-choose-a-focus-participant/index.html b/tutorials/advanced-video-core-api-features/steps/37-choose-a-focus-participant/index.html new file mode 100644 index 00000000..cc329ed4 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/37-choose-a-focus-participant/index.html @@ -0,0 +1,63 @@ + Choose a focus participant | Advanced Video Core API Features Skip to content

        Choose a focus participant

        +

        Choose a participant as the focus stream and click Preview layout.

        +

        This simulates the stream class choice that would be used for the recording layout.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/38-check-the-layout-preview/index.html b/tutorials/advanced-video-core-api-features/steps/38-check-the-layout-preview/index.html new file mode 100644 index 00000000..fd5a93e6 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/38-check-the-layout-preview/index.html @@ -0,0 +1,65 @@ + Check the layout preview | Advanced Video Core API Features Skip to content

        Check the layout preview

        +

        Look at the Recording layout status text.

        +

        It should say the preview is ready with focus.

        +

        You can also open:

        +
        /recordings/latest
        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/39-validate-recording-layout/index.html b/tutorials/advanced-video-core-api-features/steps/39-validate-recording-layout/index.html new file mode 100644 index 00000000..233c31d6 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/39-validate-recording-layout/index.html @@ -0,0 +1,67 @@ + Validate recording layout | Advanced Video Core API Features Skip to content

        Validate recording layout

        +

        You have finished the Recording layout work in Codespaces.

        +

        Go back to Learning Center and validate the Recording layout exercise. Continue the tutorial there until it asks you to start Archiving.

        +

        Then return to this guide and press Next.

        +
        +

        Validation checks the layout preview output from your app.

        +
        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/40-open-the-server-hooks-file/index.html b/tutorials/advanced-video-core-api-features/steps/40-open-the-server-hooks-file/index.html new file mode 100644 index 00000000..5d1ee1ba --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/40-open-the-server-hooks-file/index.html @@ -0,0 +1,64 @@ + Open the server hooks file | Advanced Video Core API Features Skip to content

        Open the server hooks file

        +

        In the Codespace editor, open:

        +
        src/advanced-video-server-hooks.js
        +

        Find startArchive, stopArchive, and getArchiveViewUrl.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/404.html b/tutorials/advanced-video-core-api-features/steps/404.html new file mode 100644 index 00000000..00a34769 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/404.html @@ -0,0 +1,29 @@ + 404 | Advanced Video Core API Features Skip to content

        404

        Page not found. Check the URL or try using the search bar.
        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/41-add-archive-server-actions/index.html b/tutorials/advanced-video-core-api-features/steps/41-add-archive-server-actions/index.html new file mode 100644 index 00000000..368efe42 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/41-add-archive-server-actions/index.html @@ -0,0 +1,69 @@ + Add archive server actions | Advanced Video Core API Features Skip to content

        Add archive server actions

        +

        Replace the archive functions with this snippet:

        +
        export async function startArchive({ video, body, state }) {
        if (!video) throw new Error("missing_credentials");
        const archive = await video.startArchive(body.sessionId, { name: archiveNameForSession(body.sessionId) });
        state.latestArchive = {
        archiveId: archive.id,
        state: archive.status || "started",
        viewUrl: `/archive/${archive.id}/view`,
        updatedAt: new Date().toISOString()
        };
        return archive;
        }
        +
        export async function stopArchive({ video, archiveId, state }) {
        if (!video) throw new Error("missing_credentials");
        const archive = await video.stopArchive(archiveId);
        state.latestArchive = {
        archiveId: archive.id || archiveId,
        state: archive.status || "stopped",
        viewUrl: `/archive/${archive.id || archiveId}/view`,
        updatedAt: new Date().toISOString()
        };
        return archive;
        }
        +
        export async function getArchiveViewUrl({ video, archiveId, state }) {
        if (!video) throw new Error("missing_credentials");
        const archive = await video.getArchive(archiveId);
        state.latestArchive = {
        archiveId: archive.id || archiveId,
        state: archive.status || "available",
        viewUrl: `/archive/${archive.id || archiveId}/view`,
        updatedAt: new Date().toISOString()
        };
        return archive.status === "available" ? archive.url : null;
        }
        +

        Save the file.

        +
        +

        This follows the archiving lesson: the server owns the archive start, stop, and view actions.

        +
        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/42-open-the-client-hooks-file/index.html b/tutorials/advanced-video-core-api-features/steps/42-open-the-client-hooks-file/index.html new file mode 100644 index 00000000..d64eef3e --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/42-open-the-client-hooks-file/index.html @@ -0,0 +1,64 @@ + Open the client hooks file | Advanced Video Core API Features Skip to content

        Open the client hooks file

        +

        In the Codespace editor, open:

        +
        public/app/exercise-hooks.js
        +

        Find the empty setupArchivingControls function.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/43-add-archive-buttons/index.html b/tutorials/advanced-video-core-api-features/steps/43-add-archive-buttons/index.html new file mode 100644 index 00000000..bcf4c556 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/43-add-archive-buttons/index.html @@ -0,0 +1,68 @@ + Add archive buttons | Advanced Video Core API Features Skip to content

        Add archive buttons

        +

        Replace setupArchivingControls with this snippet:

        +
        export function setupArchivingControls({ elements, postJson, getSessionId, getLatestArchiveId, setLatestArchiveId }) {
        elements.startArchive.onclick = async () => {
        const archive = await postJson("/archive/start", { sessionId: getSessionId() });
        setLatestArchiveId(archive.id || archive.archiveId);
        elements.archiveStatus.textContent = `Archive started: ${getLatestArchiveId()}`;
        elements.startArchive.disabled = true;
        elements.stopArchive.disabled = false;
        };
        +
        elements.stopArchive.onclick = async () => {
        const archiveId = getLatestArchiveId();
        const archive = await postJson(`/archive/${archiveId}/stop`, {});
        const stoppedId = archive.id || archive.archiveId || archiveId;
        elements.archiveStatus.textContent = `Archive stopped: ${stoppedId}`;
        elements.archiveLink.innerHTML = `<a href="/archive/${stoppedId}/view" target="_blank">View Archive</a>`;
        elements.startArchive.disabled = false;
        elements.stopArchive.disabled = true;
        };
        }
        +

        Save the file.

        +
        +

        The UI stays intentionally plain. Frontend polish can come later; this exercise is about wiring the Video API flow.

        +
        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/44-join-the-call/index.html b/tutorials/advanced-video-core-api-features/steps/44-join-the-call/index.html new file mode 100644 index 00000000..128ce5fb --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/44-join-the-call/index.html @@ -0,0 +1,64 @@ + Join the call | Advanced Video Core API Features Skip to content

        Join the call

        +

        Reload /app.

        +

        Join the room from one browser window. A second window is optional for this exercise.

        +

        Wait until the call status says you are connected.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/45-start-an-archive/index.html b/tutorials/advanced-video-core-api-features/steps/45-start-an-archive/index.html new file mode 100644 index 00000000..52c959f6 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/45-start-an-archive/index.html @@ -0,0 +1,64 @@ + Start an archive | Advanced Video Core API Features Skip to content

        Start an archive

        +

        Click Start Archive.

        +

        Wait until the archive status shows an archive ID.

        +

        Keep the call running for a few seconds before stopping it.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/46-stop-and-view-the-archive/index.html b/tutorials/advanced-video-core-api-features/steps/46-stop-and-view-the-archive/index.html new file mode 100644 index 00000000..648d2958 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/46-stop-and-view-the-archive/index.html @@ -0,0 +1,64 @@ + Stop and view the archive | Advanced Video Core API Features Skip to content

        Stop and view the archive

        +

        Click Stop Archive.

        +

        The app should show that the archive stopped and display a View Archive link.

        +

        Click View Archive. If the recording is still processing, that is acceptable.

        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/47-validate-archiving/index.html b/tutorials/advanced-video-core-api-features/steps/47-validate-archiving/index.html new file mode 100644 index 00000000..6387b753 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/47-validate-archiving/index.html @@ -0,0 +1,68 @@ + Validate archiving | Advanced Video Core API Features Skip to content

        Validate archiving

        +

        You have finished the Archiving work in Codespaces.

        +

        Go back to Learning Center and validate the Archiving exercise.

        +

        This is the final Advanced exercise. After validation, you can close the Codespace or keep it for review. If you need the section list again, return to /guide/. +If you no longer need the Video application created during setup, you can delete it from the Vonage Dashboard under Applications.

        +
        +

        Validation checks the latest archive output produced by the same app you used throughout the path.

        +
        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.hwBsy0Mo.js b/tutorials/advanced-video-core-api-features/steps/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.hwBsy0Mo.js new file mode 100644 index 00000000..b2fd2978 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/_astro/MobileTableOfContents.astro_astro_type_script_index_0_lang.hwBsy0Mo.js @@ -0,0 +1 @@ +import{S as r}from"./TableOfContents.astro_astro_type_script_index_0_lang.FuRcXuRY.js";class c extends r{set current(e){super.current=e;const t=this.querySelector(".display-current");t&&(t.textContent=e.textContent)}constructor(){super();const e=this.querySelector("details");if(!e)return;const t=()=>{e.open=!1};e.querySelectorAll("a").forEach(s=>{s.addEventListener("click",t)}),window.addEventListener("click",s=>{e.contains(s.target)||t()}),window.addEventListener("keydown",s=>{if(s.key==="Escape"&&e.open){const o=e.contains(document.activeElement);if(t(),o){const n=e.querySelector("summary");n&&n.focus()}}})}}customElements.define("mobile-starlight-toc",c); diff --git a/tutorials/advanced-video-core-api-features/steps/_astro/Search.astro_astro_type_script_index_0_lang.EjmW2doR.js b/tutorials/advanced-video-core-api-features/steps/_astro/Search.astro_astro_type_script_index_0_lang.EjmW2doR.js new file mode 100644 index 00000000..3e69e3a3 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/_astro/Search.astro_astro_type_script_index_0_lang.EjmW2doR.js @@ -0,0 +1 @@ +const w="modulepreload",y=function(f){return"/"+f},g={},E=function(m,l,c){let h=Promise.resolve();if(l&&l.length>0){let o=function(n){return Promise.all(n.map(a=>Promise.resolve(a).then(r=>({status:"fulfilled",value:r}),r=>({status:"rejected",reason:r}))))};document.getElementsByTagName("link");const t=document.querySelector("meta[property=csp-nonce]"),u=t?.nonce||t?.getAttribute("nonce");h=o(l.map(n=>{if(n=y(n),n in g)return;g[n]=!0;const a=n.endsWith(".css"),r=a?'[rel="stylesheet"]':"";if(document.querySelector(`link[href="${n}"]${r}`))return;const e=document.createElement("link");if(e.rel=a?"stylesheet":w,a||(e.as="script"),e.crossOrigin="",e.href=n,u&&e.setAttribute("nonce",u),document.head.appendChild(e),a)return new Promise((i,s)=>{e.addEventListener("load",i),e.addEventListener("error",()=>s(new Error(`Unable to preload CSS for ${n}`)))})}))}function d(o){const t=new Event("vite:preloadError",{cancelable:!0});if(t.payload=o,window.dispatchEvent(t),!t.defaultPrevented)throw o}return h.then(o=>{for(const t of o||[])t.status==="rejected"&&d(t.reason);return m().catch(d)})},S={};class v extends HTMLElement{constructor(){super();const m=this.querySelector("button[data-open-modal]"),l=this.querySelector("button[data-close-modal]"),c=this.querySelector("dialog"),h=this.querySelector(".dialog-frame"),d=e=>{("href"in(e.target||{})||document.body.contains(e.target)&&!h.contains(e.target))&&t()},o=e=>{c.showModal(),document.body.toggleAttribute("data-search-modal-open",!0),this.querySelector("input")?.focus(),e?.stopPropagation(),window.addEventListener("click",d)},t=()=>c.close();m.addEventListener("click",o),m.disabled=!1,l.addEventListener("click",t),c.addEventListener("close",()=>{document.body.toggleAttribute("data-search-modal-open",!1),window.removeEventListener("click",d)}),window.addEventListener("keydown",e=>{(e.metaKey===!0||e.ctrlKey===!0)&&e.key==="k"&&(c.open?t():o(),e.preventDefault())});let u={};try{u=JSON.parse(this.dataset.translations||"{}")}catch{}const r=this.dataset.stripTrailingSlash!==void 0?e=>e.replace(/(.)\/(#.*)?$/,"$1$2"):e=>e;window.addEventListener("DOMContentLoaded",()=>{(window.requestIdleCallback||(i=>setTimeout(i,1)))(async()=>{const{PagefindUI:i}=await E(async()=>{const{PagefindUI:s}=await import("./ui-core.CJyTyO9Y.js");return{PagefindUI:s}},[]);new i({...S,element:"#starlight__search",baseUrl:"/",bundlePath:"/".replace(/\/$/,"")+"/pagefind/",showImages:!1,translations:u,showSubResults:!0,processResult:s=>{s.url=r(s.url),s.sub_results=s.sub_results.map(p=>(p.url=r(p.url),p))}})})})}}customElements.define("site-search",v);export{E as _}; diff --git a/tutorials/advanced-video-core-api-features/steps/_astro/TableOfContents.astro_astro_type_script_index_0_lang.FuRcXuRY.js b/tutorials/advanced-video-core-api-features/steps/_astro/TableOfContents.astro_astro_type_script_index_0_lang.FuRcXuRY.js new file mode 100644 index 00000000..53de038b --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/_astro/TableOfContents.astro_astro_type_script_index_0_lang.FuRcXuRY.js @@ -0,0 +1 @@ +const m="_top";class H extends HTMLElement{constructor(){super(),this._current=this.querySelector('a[aria-current="true"]'),this.minH=parseInt(this.dataset.minH||"2",10),this.maxH=parseInt(this.dataset.maxH||"3",10),this.tocHeadingSelector=`h1#${m},:where(${[...Array.from({length:1+this.maxH-this.minH}).map((e,n)=>`h${this.minH+n}`)].join()})[id]`,this.onIdle=e=>(window.requestIdleCallback||(n=>setTimeout(n,1)))(e),this.init=()=>{const e=[...this.querySelectorAll("a")],n=t=>t.matches(this.tocHeadingSelector),i=t=>{if(!t)return null;const h=t;for(;t;){if(t.matches(".sl-markdown-content, main > *"))return document.getElementById(m);if(n(t))return t;const s=t.querySelector(this.tocHeadingSelector);if(s)return s;for(t=t.previousElementSibling;t?.lastElementChild;)t=t.lastElementChild;const o=i(t);if(o)return o}return i(h.parentElement)},c=t=>{for(const{isIntersecting:h,target:s}of t){if(!h)continue;const o=i(s);if(!o)continue;const l=e.find(g=>g.hash==="#"+encodeURIComponent(o.id));if(l){this.current=l;break}}},a=document.querySelectorAll([`main :where(${this.tocHeadingSelector})`,`main :where(${this.tocHeadingSelector}, .sl-heading-wrapper) ~ *:not(:has(${this.tocHeadingSelector}))`,`main .sl-markdown-content > *:not(:has(${this.tocHeadingSelector}))`,`main > *:not(:has(${this.tocHeadingSelector}))`].join());let r;const u=()=>{r||(r=new IntersectionObserver(c,{rootMargin:this.getRootMargin()}),a.forEach(t=>r.observe(t)))};u();let d;window.addEventListener("resize",()=>{r&&(r.disconnect(),r=void 0),clearTimeout(d),d=setTimeout(()=>this.onIdle(u),200)})},this.onIdle(()=>this.init())}set current(e){e!==this._current&&(this._current&&this._current.removeAttribute("aria-current"),e.setAttribute("aria-current","true"),this._current=e)}getRootMargin(){const e=document.querySelector("header")?.getBoundingClientRect().height||0,n=this.querySelector("summary")?.getBoundingClientRect().height||0,i=e+n+32,c=i+53,a=document.documentElement.clientHeight;return`-${i}px 0% ${c-a}px`}}customElements.define("starlight-toc",H);export{H as S}; diff --git a/tutorials/advanced-video-core-api-features/steps/_astro/ec.0vx5m.js b/tutorials/advanced-video-core-api-features/steps/_astro/ec.0vx5m.js new file mode 100644 index 00000000..2350adcd --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/_astro/ec.0vx5m.js @@ -0,0 +1,3 @@ +try{(()=>{function a(e){if(!e)return;let t=e.getAttribute("tabindex")!==null,r=e.scrollWidth>e.clientWidth;r&&!t?(e.setAttribute("tabindex","0"),e.setAttribute("role","region")):!r&&t&&(e.removeAttribute("tabindex"),e.removeAttribute("role"))}var u=window.requestIdleCallback||(e=>setTimeout(e,1)),s=window.cancelIdleCallback||clearTimeout;function l(e){let t=new Set,r,n;return new ResizeObserver(c=>{c.forEach(o=>t.add(o.target)),r&&clearTimeout(r),n&&s(n),r=setTimeout(()=>{n&&s(n),n=u(()=>{t.forEach(o=>e(o)),t.clear()})},250)})}function i(e,t){e.querySelectorAll?.(".expressive-code pre > code").forEach(r=>{let n=r.parentElement;n&&t.observe(n)})}var d=l(a);i(document,d);var b=new MutationObserver(e=>e.forEach(t=>t.addedNodes.forEach(r=>{i(r,d)})));b.observe(document.body,{childList:!0,subtree:!0});document.addEventListener("astro:page-load",()=>{i(document,d)});})();}catch(e){console.error("[EC] tabindex-js-module failed:",e)} +try{(()=>{function l(o){let e=document.createElement("pre");Object.assign(e.style,{opacity:"0",pointerEvents:"none",position:"absolute",overflow:"hidden",left:"0",top:"0",width:"20px",height:"20px",webkitUserSelect:"auto",userSelect:"all"}),e.ariaHidden="true",e.textContent=o,document.body.appendChild(e);let a=document.createRange();a.selectNode(e);let n=getSelection();if(!n)return!1;n.removeAllRanges(),n.addRange(a);let r=!1;try{r=document.execCommand("copy")}finally{n.removeAllRanges(),document.body.removeChild(e)}return r}async function u(o){let e=o.currentTarget,a=e.dataset,n=!1,r=a.code.replace(/\u007f/g,` +`);try{await navigator.clipboard.writeText(r),n=!0}catch{n=l(r)}if(!n||e.parentNode?.querySelector(".feedback"))return;let c=e.parentNode?.querySelector("[aria-live]"),t=document.createElement("div");t.classList.add("feedback"),t.append(a.copied),c.append(t),t.offsetWidth,requestAnimationFrame(()=>t?.classList.add("show"));let s=()=>!t||t.classList.remove("show"),d=()=>{!t||parseFloat(getComputedStyle(t).opacity)>0||(t.remove(),t=void 0)};setTimeout(s,1500),setTimeout(d,2500),e.addEventListener("blur",s),t.addEventListener("transitioncancel",d),t.addEventListener("transitionend",d)}function i(o){o.querySelectorAll?.(".expressive-code .copy button").forEach(e=>e.addEventListener("click",u))}i(document);var m=new MutationObserver(o=>o.forEach(e=>e.addedNodes.forEach(a=>{i(a)})));m.observe(document.body,{childList:!0,subtree:!0});document.addEventListener("astro:page-load",()=>{i(document)});})();}catch(e){console.error("[EC] copy-js-module failed:",e)} \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/_astro/ec.v4551.css b/tutorials/advanced-video-core-api-features/steps/_astro/ec.v4551.css new file mode 100644 index 00000000..06a90681 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/_astro/ec.v4551.css @@ -0,0 +1 @@ +@layer starlight.components{.expressive-code{font-family:var(--ec-uiFontFml);font-size:var(--ec-uiFontSize);font-weight:var(--ec-uiFontWg);line-height:var(--ec-uiLineHt);text-size-adjust:none;-webkit-text-size-adjust:none}.expressive-code *:not(:is(svg, svg *)){all:revert;box-sizing:border-box}.expressive-code pre{display:flex;margin:0;padding:0;border:var(--ec-brdWd) solid var(--ec-brdCol);border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));background:var(--ec-codeBg)}.expressive-code pre:focus-visible{outline:3px solid var(--ec-focusBrd);outline-offset:-3px}.expressive-code pre > code{all:unset;display:block;flex:1 0 100%;padding:var(--ec-codePadBlk) 0;color:var(--ec-codeFg);font-family:var(--ec-codeFontFml);font-size:var(--ec-codeFontSize);font-weight:var(--ec-codeFontWg);line-height:var(--ec-codeLineHt)}.expressive-code pre{overflow-x:auto}.expressive-code pre.wrap .ec-line .code{white-space:pre-wrap;overflow-wrap:break-word;min-width:min(20ch, var(--ecMaxLine, 20ch))}.expressive-code pre.wrap .ec-line .code span.indent{white-space:pre}.expressive-code pre::-webkit-scrollbar,.expressive-code pre::-webkit-scrollbar-track{background-color:inherit;border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));border-top-left-radius:0;border-top-right-radius:0}.expressive-code pre::-webkit-scrollbar-thumb{background-color:var(--ec-sbThumbCol);border:4px solid transparent;background-clip:content-box;border-radius:10px}.expressive-code pre::-webkit-scrollbar-thumb:hover{background-color:var(--ec-sbThumbHoverCol)}.expressive-code .ec-line{direction:ltr;unicode-bidi:isolate;display:grid;grid-template-areas:'gutter code';grid-template-columns:auto 1fr;position:relative}.expressive-code .ec-line .gutter{grid-area:gutter;color:var(--ec-gtrFg)}.expressive-code .ec-line .gutter > *{pointer-events:none;user-select:none;-webkit-user-select:none}.expressive-code .ec-line .gutter ~ .code{--ecLineBrdCol:var(--ec-gtrBrdCol)}.expressive-code .ec-line.highlight .gutter{color:var(--ec-gtrHlFg)}.expressive-code .ec-line .code{grid-area:code;position:relative;box-sizing:content-box;padding-inline-start:calc(var(--ecIndent, 0ch) + var(--ec-codePadInl) - var(--ecGtrBrdWd));padding-inline-end:var(--ec-codePadInl);text-indent:calc(var(--ecIndent, 0ch) * -1)}.expressive-code .ec-line .code::before,.expressive-code .ec-line .code::after,.expressive-code .ec-line .code :where(*){text-indent:0}.expressive-code .ec-line .code{--ecGtrBrdWd:var(--ec-gtrBrdWd);border-inline-start:var(--ecGtrBrdWd) solid var(--ecLineBrdCol, transparent)}.expressive-code .sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0}.expressive-code .ec-line.mark{--tmLineBgCol:var(--ec-tm-markBg)}.expressive-code .ec-line.mark .code{--ecLineBrdCol:var(--ec-tm-markBrdCol)}.expressive-code .ec-line.ins{--tmLineBgCol:var(--ec-tm-insBg);--tmLabel:var(--ec-tm-insDiffIndContent)}.expressive-code .ec-line.ins .code{--ecLineBrdCol:var(--ec-tm-insBrdCol)}.expressive-code .ec-line.ins .code::before{color:var(--ec-tm-insDiffIndCol)}.expressive-code .ec-line.del{--tmLineBgCol:var(--ec-tm-delBg);--tmLabel:var(--ec-tm-delDiffIndContent)}.expressive-code .ec-line.del .code{--ecLineBrdCol:var(--ec-tm-delBrdCol)}.expressive-code .ec-line.del .code::before{color:var(--ec-tm-delDiffIndCol)}.expressive-code .ec-line.mark,.expressive-code .ec-line.ins,.expressive-code .ec-line.del{background:var(--tmLineBgCol)}.expressive-code .ec-line.mark .code,.expressive-code .ec-line.ins .code,.expressive-code .ec-line.del .code{--ecGtrBrdWd:var(--ec-tm-lineMarkerAccentWd)}.expressive-code .ec-line.mark .code::before,.expressive-code .ec-line.ins .code::before,.expressive-code .ec-line.del .code::before{display:block;position:absolute;left:0;box-sizing:border-box;content:var(--tmLabel, ' ');padding-inline-start:var(--ec-tm-lineDiffIndMargLeft);text-align:center;white-space:pre}.expressive-code .ec-line.mark.tm-label .code::before,.expressive-code .ec-line.ins.tm-label .code::before,.expressive-code .ec-line.del.tm-label .code::before{background:var(--ecLineBrdCol);padding:0 calc(var(--ec-tm-lineMarkerLabelPadInl) + var(--ec-tm-lineMarkerAccentWd)) 0 var(--ec-tm-lineMarkerLabelPadInl);color:var(--ec-tm-lineMarkerLabelCol)}.expressive-code .ec-line mark{--tmInlineBgCol:var(--ec-tm-markBg);--tmInlineBrdCol:var(--ec-tm-markBrdCol)}.expressive-code .ec-line ins{--tmInlineBgCol:var(--ec-tm-insBg);--tmInlineBrdCol:var(--ec-tm-insBrdCol)}.expressive-code .ec-line del{--tmInlineBgCol:var(--ec-tm-delBg);--tmInlineBrdCol:var(--ec-tm-delBrdCol)}.expressive-code .ec-line mark,.expressive-code .ec-line ins,.expressive-code .ec-line del{all:unset;display:inline-block;position:relative;--tmBrdL:var(--ec-tm-inlMarkerBrdWd);--tmBrdR:var(--ec-tm-inlMarkerBrdWd);--tmRadL:var(--ec-tm-inlMarkerBrdRad);--tmRadR:var(--ec-tm-inlMarkerBrdRad);margin-inline:0.025rem;padding-inline:var(--ec-tm-inlMarkerPad);border-radius:var(--tmRadL) var(--tmRadR) var(--tmRadR) var(--tmRadL);background:var(--tmInlineBgCol);background-clip:padding-box}.expressive-code .ec-line mark.open-start,.expressive-code .ec-line ins.open-start,.expressive-code .ec-line del.open-start{margin-inline-start:0;padding-inline-start:0;--tmBrdL:0px;--tmRadL:0}.expressive-code .ec-line mark.open-end,.expressive-code .ec-line ins.open-end,.expressive-code .ec-line del.open-end{margin-inline-end:0;padding-inline-end:0;--tmBrdR:0px;--tmRadR:0}.expressive-code .ec-line mark::before,.expressive-code .ec-line ins::before,.expressive-code .ec-line del::before{content:'';position:absolute;pointer-events:none;display:inline-block;inset:0;border-radius:var(--tmRadL) var(--tmRadR) var(--tmRadR) var(--tmRadL);border:var(--ec-tm-inlMarkerBrdWd) solid var(--tmInlineBrdCol);border-inline-width:var(--tmBrdL) var(--tmBrdR)}.expressive-code .frame{all:unset;position:relative;display:block;--header-border-radius:calc(var(--ec-brdRad) + var(--ec-brdWd));--tab-border-radius:calc(var(--ec-frm-edTabBrdRad) + var(--ec-brdWd));--button-spacing:0.4rem;--code-background:var(--ec-frm-edBg);border-radius:var(--header-border-radius);box-shadow:var(--ec-frm-frameBoxShdCssVal)}.expressive-code .frame .header{display:none;z-index:1;position:relative;border-radius:var(--header-border-radius) var(--header-border-radius) 0 0}.expressive-code .frame.has-title pre,.expressive-code .frame.has-title code,.expressive-code .frame.is-terminal pre,.expressive-code .frame.is-terminal code{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.expressive-code .frame .title:empty:before{content:'\a0'}.expressive-code .frame.has-title:not(.is-terminal){--button-spacing:calc(1.9rem + 2 * (var(--ec-uiPadBlk) + var(--ec-frm-edActTabIndHt)))}.expressive-code .frame.has-title:not(.is-terminal) .title{position:relative;color:var(--ec-frm-edActTabFg);background:var(--ec-frm-edActTabBg);background-clip:padding-box;margin-block-start:var(--ec-frm-edTabsMargBlkStart);padding:calc(var(--ec-uiPadBlk) + var(--ec-frm-edActTabIndHt)) var(--ec-uiPadInl);border:var(--ec-brdWd) solid var(--ec-frm-edActTabBrdCol);border-radius:var(--tab-border-radius) var(--tab-border-radius) 0 0;border-bottom:none;overflow:hidden}.expressive-code .frame.has-title:not(.is-terminal) .title::after{content:'';position:absolute;pointer-events:none;inset:0;border-top:var(--ec-frm-edActTabIndHt) solid var(--ec-frm-edActTabIndTopCol);border-bottom:var(--ec-frm-edActTabIndHt) solid var(--ec-frm-edActTabIndBtmCol)}.expressive-code .frame.has-title:not(.is-terminal) .header{display:flex;background:linear-gradient(to top, var(--ec-frm-edTabBarBrdBtmCol) var(--ec-brdWd), transparent var(--ec-brdWd)),linear-gradient(var(--ec-frm-edTabBarBg), var(--ec-frm-edTabBarBg));background-repeat:no-repeat;padding-inline-start:var(--ec-frm-edTabsMargInlStart)}.expressive-code .frame.has-title:not(.is-terminal) .header::before{content:'';position:absolute;pointer-events:none;inset:0;border:var(--ec-brdWd) solid var(--ec-frm-edTabBarBrdCol);border-radius:inherit;border-bottom:none}.expressive-code .frame.is-terminal{--button-spacing:calc(1.9rem + var(--ec-brdWd) + 2 * var(--ec-uiPadBlk));--code-background:var(--ec-frm-trmBg)}.expressive-code .frame.is-terminal .header{display:flex;align-items:center;justify-content:center;padding-block:var(--ec-uiPadBlk);padding-block-end:calc(var(--ec-uiPadBlk) + var(--ec-brdWd));position:relative;font-weight:500;letter-spacing:0.025ch;color:var(--ec-frm-trmTtbFg);background:var(--ec-frm-trmTtbBg);border:var(--ec-brdWd) solid var(--ec-brdCol);border-bottom:none}.expressive-code .frame.is-terminal .header::before{content:'';position:absolute;pointer-events:none;left:var(--ec-uiPadInl);width:2.1rem;height:0.56rem;line-height:0;background-color:var(--ec-frm-trmTtbDotsFg);opacity:var(--ec-frm-trmTtbDotsOpa);-webkit-mask-image:var(--ec-frm-trmIcon);-webkit-mask-repeat:no-repeat;mask-image:var(--ec-frm-trmIcon);mask-repeat:no-repeat}.expressive-code .frame.is-terminal .header::after{content:'';position:absolute;pointer-events:none;inset:0;border-bottom:var(--ec-brdWd) solid var(--ec-frm-trmTtbBrdBtmCol)}.expressive-code .frame pre{background:var(--code-background)}.expressive-code .copy{display:flex;gap:0.25rem;flex-direction:row;position:absolute;inset-block-start:calc(var(--ec-brdWd) + var(--button-spacing));inset-inline-end:calc(var(--ec-brdWd) + var(--ec-uiPadInl) / 2)}@media (scripting: none){.expressive-code .copy{display:none}}.expressive-code .copy{direction:ltr;unicode-bidi:isolate}.expressive-code .copy button{position:relative;align-self:flex-end;margin:0;padding:0;border:none;border-radius:0.2rem;z-index:1;cursor:pointer;transition-property:opacity, background, border-color;transition-duration:0.2s;transition-timing-function:cubic-bezier(0.25, 0.46, 0.45, 0.94);width:2.5rem;height:2.5rem;background:var(--code-background);opacity:0.75}.expressive-code .copy button div{position:absolute;inset:0;border-radius:inherit;background:var(--ec-frm-inlBtnBg);opacity:var(--ec-frm-inlBtnBgIdleOpa);transition-property:inherit;transition-duration:inherit;transition-timing-function:inherit}.expressive-code .copy button::before{content:'';position:absolute;pointer-events:none;inset:0;border-radius:inherit;border:var(--ec-brdWd) solid var(--ec-frm-inlBtnBrd);opacity:var(--ec-frm-inlBtnBrdOpa)}.expressive-code .copy button::after{content:'';position:absolute;pointer-events:none;inset:0;background-color:var(--ec-frm-inlBtnFg);-webkit-mask-image:var(--ec-frm-copyIcon);-webkit-mask-repeat:no-repeat;mask-image:var(--ec-frm-copyIcon);mask-repeat:no-repeat;margin:0.475rem;line-height:0}.expressive-code .copy button:hover,.expressive-code .copy button:focus:focus-visible{opacity:1}.expressive-code .copy button:hover div,.expressive-code .copy button:focus:focus-visible div{opacity:var(--ec-frm-inlBtnBgHoverOrFocusOpa)}.expressive-code .copy button:active{opacity:1}.expressive-code .copy button:active div{opacity:var(--ec-frm-inlBtnBgActOpa)}.expressive-code .copy .feedback{--tooltip-arrow-size:0.35rem;--tooltip-bg:var(--ec-frm-tooltipSuccessBg);color:var(--ec-frm-tooltipSuccessFg);pointer-events:none;user-select:none;-webkit-user-select:none;position:relative;align-self:center;background-color:var(--tooltip-bg);z-index:99;padding:0.125rem 0.75rem;border-radius:0.2rem;margin-inline-end:var(--tooltip-arrow-size);opacity:0;transition-property:opacity, transform;transition-duration:0.2s;transition-timing-function:ease-in-out;transform:translate3d(0, 0.25rem, 0)}.expressive-code .copy .feedback::after{content:'';position:absolute;pointer-events:none;top:calc(50% - var(--tooltip-arrow-size));inset-inline-end:calc(-2 * (var(--tooltip-arrow-size) - 0.5px));border:var(--tooltip-arrow-size) solid transparent;border-inline-start-color:var(--tooltip-bg)}.expressive-code .copy .feedback.show{opacity:1;transform:translate3d(0, 0, 0)}@media (hover: hover){.expressive-code{}.expressive-code .copy button{opacity:0;width:2rem;height:2rem}.expressive-code .frame:hover .copy button:not(:hover),.expressive-code .frame:focus-within :focus-visible ~ .copy button:not(:hover),.expressive-code .frame .copy .feedback.show ~ button:not(:hover){opacity:0.75}}.expressive-code :nth-child(1 of .ec-line) .code{padding-inline-end:calc(2rem + var(--ec-codePadInl))}}@layer starlight.components{:root,:root:not([data-theme='dark']) .expressive-code[data-theme='dark']{--ec-brdRad:0px;--ec-brdWd:1px;--ec-brdCol:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-codeFontFml:var(--__sl-font-mono);--ec-codeFontSize:var(--sl-text-code);--ec-codeFontWg:400;--ec-codeLineHt:var(--sl-line-height);--ec-codePadBlk:0.75rem;--ec-codePadInl:1rem;--ec-codeBg:#23262f;--ec-codeFg:#d6deeb;--ec-codeSelBg:#1d3b53;--ec-gtrFg:#63798b;--ec-gtrBrdCol:#63798b33;--ec-gtrBrdWd:1.5px;--ec-gtrHlFg:#c5e4fd97;--ec-uiFontFml:var(--__sl-font);--ec-uiFontSize:0.9rem;--ec-uiFontWg:400;--ec-uiLineHt:1.65;--ec-uiPadBlk:0.25rem;--ec-uiPadInl:1rem;--ec-uiSelBg:#234d708c;--ec-uiSelFg:#ffffff;--ec-focusBrd:#122d42;--ec-sbThumbCol:#ffffff17;--ec-sbThumbHoverCol:#ffffff47;--ec-tm-lineMarkerAccentMarg:0rem;--ec-tm-lineMarkerAccentWd:0.15rem;--ec-tm-lineMarkerLabelPadInl:0.2rem;--ec-tm-lineMarkerLabelCol:white;--ec-tm-lineDiffIndMargLeft:0.25rem;--ec-tm-inlMarkerBrdWd:1.5px;--ec-tm-inlMarkerBrdRad:0.2rem;--ec-tm-inlMarkerPad:0.15rem;--ec-tm-insDiffIndContent:'+';--ec-tm-delDiffIndContent:'-';--ec-tm-markBg:#ffffff17;--ec-tm-markBrdCol:#ffffff40;--ec-tm-insBg:#1e571599;--ec-tm-insBrdCol:#487f3bd0;--ec-tm-insDiffIndCol:#79b169d0;--ec-tm-delBg:#862d2799;--ec-tm-delBrdCol:#b4554bd0;--ec-tm-delDiffIndCol:#ed8779d0;--ec-frm-shdCol:#011627;--ec-frm-frameBoxShdCssVal:none;--ec-frm-edActTabBg:var(--sl-color-gray-6);--ec-frm-edActTabFg:var(--sl-color-text);--ec-frm-edActTabBrdCol:transparent;--ec-frm-edActTabIndHt:1px;--ec-frm-edActTabIndTopCol:var(--sl-color-accent-high);--ec-frm-edActTabIndBtmCol:transparent;--ec-frm-edTabsMargInlStart:0;--ec-frm-edTabsMargBlkStart:0;--ec-frm-edTabBrdRad:0px;--ec-frm-edTabBarBg:var(--sl-color-black);--ec-frm-edTabBarBrdCol:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-edTabBarBrdBtmCol:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-edBg:var(--sl-color-gray-6);--ec-frm-trmTtbDotsFg:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-trmTtbDotsOpa:0.75;--ec-frm-trmTtbBg:var(--sl-color-black);--ec-frm-trmTtbFg:var(--sl-color-text);--ec-frm-trmTtbBrdBtmCol:color-mix(in srgb, var(--sl-color-gray-5), transparent 25%);--ec-frm-trmBg:var(--sl-color-gray-6);--ec-frm-inlBtnFg:var(--sl-color-text);--ec-frm-inlBtnBg:var(--sl-color-text);--ec-frm-inlBtnBgIdleOpa:0;--ec-frm-inlBtnBgHoverOrFocusOpa:0.2;--ec-frm-inlBtnBgActOpa:0.3;--ec-frm-inlBtnBrd:var(--sl-color-text);--ec-frm-inlBtnBrdOpa:0.4;--ec-frm-tooltipSuccessBg:#158744;--ec-frm-tooltipSuccessFg:white;--ec-frm-copyIcon:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2024%2024'%20fill%3D'none'%20stroke%3D'black'%20stroke-width%3D'1.75'%3E%3Cpath%20d%3D'M3%2019a2%202%200%200%201-1-2V2a2%202%200%200%201%201-1h13a2%202%200%200%201%202%201'%2F%3E%3Crect%20x%3D'6'%20y%3D'5'%20width%3D'16'%20height%3D'18'%20rx%3D'1.5'%20ry%3D'1.5'%2F%3E%3C%2Fsvg%3E");--ec-frm-trmIcon:url("data:image/svg+xml,%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%2060%2016'%20preserveAspectRatio%3D'xMidYMid%20meet'%3E%3Ccircle%20cx%3D'8'%20cy%3D'8'%20r%3D'8'%2F%3E%3Ccircle%20cx%3D'30'%20cy%3D'8'%20r%3D'8'%2F%3E%3Ccircle%20cx%3D'52'%20cy%3D'8'%20r%3D'8'%2F%3E%3C%2Fsvg%3E")}.expressive-code .ec-line :where(span[style^='--']:not([class])),:root:not([data-theme='dark']) .expressive-code[data-theme='dark'] .ec-line :where(span[style^='--']:not([class])){color:var(--0, inherit);background-color:var(--0bg, transparent);font-style:var(--0fs, inherit);font-weight:var(--0fw, inherit);text-decoration:var(--0td, inherit)}@media (prefers-color-scheme: light){:root:not([data-theme='dark']){--ec-codeBg:#f6f7f9;--ec-codeFg:#403f53;--ec-codeSelBg:#e0e0e0;--ec-gtrFg:#788b94;--ec-gtrBrdCol:#788b9433;--ec-gtrHlFg:#403f53c4;--ec-uiSelBg:#d3e8f8;--ec-uiSelFg:#403f53;--ec-focusBrd:#93a1a1;--ec-sbThumbCol:#0000001a;--ec-sbThumbHoverCol:#0000005c;--ec-tm-markBg:#0000001a;--ec-tm-markBrdCol:#00000055;--ec-tm-insBg:#8ec77d99;--ec-tm-insDiffIndCol:#336a28d0;--ec-tm-delBg:#ff9c8e99;--ec-tm-delDiffIndCol:#9d4138d0;--ec-frm-shdCol:#d9d9d9;--ec-frm-edActTabBg:var(--sl-color-gray-7);--ec-frm-edActTabIndTopCol:var(--sl-color-accent);--ec-frm-edTabBarBg:var(--sl-color-gray-6);--ec-frm-edBg:var(--sl-color-gray-7);--ec-frm-trmTtbBg:var(--sl-color-gray-6);--ec-frm-trmBg:var(--sl-color-gray-7);--ec-frm-tooltipSuccessBg:#078662}:root:not([data-theme='dark']) .expressive-code .ec-line :where(span[style^='--']:not([class])){color:var(--1, inherit);background-color:var(--1bg, transparent);font-style:var(--1fs, inherit);font-weight:var(--1fw, inherit);text-decoration:var(--1td, inherit)}}:root[data-theme='light'] .expressive-code:not([data-theme='dark']),.expressive-code[data-theme='light']{--ec-codeBg:#f6f7f9;--ec-codeFg:#403f53;--ec-codeSelBg:#e0e0e0;--ec-gtrFg:#788b94;--ec-gtrBrdCol:#788b9433;--ec-gtrHlFg:#403f53c4;--ec-uiSelBg:#d3e8f8;--ec-uiSelFg:#403f53;--ec-focusBrd:#93a1a1;--ec-sbThumbCol:#0000001a;--ec-sbThumbHoverCol:#0000005c;--ec-tm-markBg:#0000001a;--ec-tm-markBrdCol:#00000055;--ec-tm-insBg:#8ec77d99;--ec-tm-insDiffIndCol:#336a28d0;--ec-tm-delBg:#ff9c8e99;--ec-tm-delDiffIndCol:#9d4138d0;--ec-frm-shdCol:#d9d9d9;--ec-frm-edActTabBg:var(--sl-color-gray-7);--ec-frm-edActTabIndTopCol:var(--sl-color-accent);--ec-frm-edTabBarBg:var(--sl-color-gray-6);--ec-frm-edBg:var(--sl-color-gray-7);--ec-frm-trmTtbBg:var(--sl-color-gray-6);--ec-frm-trmBg:var(--sl-color-gray-7);--ec-frm-tooltipSuccessBg:#078662}:root[data-theme='light'] .expressive-code:not([data-theme='dark']) .ec-line :where(span[style^='--']:not([class])),.expressive-code[data-theme='light'] .ec-line :where(span[style^='--']:not([class])){color:var(--1, inherit);background-color:var(--1bg, transparent);font-style:var(--1fs, inherit);font-weight:var(--1fw, inherit);text-decoration:var(--1td, inherit)}} \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/steps/_astro/index.Dd5M7k0T.css b/tutorials/advanced-video-core-api-features/steps/_astro/index.Dd5M7k0T.css new file mode 100644 index 00000000..19420bb4 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/_astro/index.Dd5M7k0T.css @@ -0,0 +1 @@ +@layer starlight.base,starlight.reset,starlight.core,starlight.content,starlight.components,starlight.utils;@layer starlight.base{:root,::backdrop{--sl-color-white: hsl(0, 0%, 100%);--sl-color-gray-1: hsl(224, 20%, 94%);--sl-color-gray-2: hsl(224, 6%, 77%);--sl-color-gray-3: hsl(224, 6%, 56%);--sl-color-gray-4: hsl(224, 7%, 36%);--sl-color-gray-5: hsl(224, 10%, 23%);--sl-color-gray-6: hsl(224, 14%, 16%);--sl-color-black: hsl(224, 10%, 10%);--sl-hue-orange: 41;--sl-color-orange-low: hsl(var(--sl-hue-orange), 39%, 22%);--sl-color-orange: hsl(var(--sl-hue-orange), 82%, 63%);--sl-color-orange-high: hsl(var(--sl-hue-orange), 82%, 87%);--sl-hue-green: 101;--sl-color-green-low: hsl(var(--sl-hue-green), 39%, 22%);--sl-color-green: hsl(var(--sl-hue-green), 82%, 63%);--sl-color-green-high: hsl(var(--sl-hue-green), 82%, 80%);--sl-hue-blue: 234;--sl-color-blue-low: hsl(var(--sl-hue-blue), 54%, 20%);--sl-color-blue: hsl(var(--sl-hue-blue), 100%, 60%);--sl-color-blue-high: hsl(var(--sl-hue-blue), 100%, 87%);--sl-hue-purple: 281;--sl-color-purple-low: hsl(var(--sl-hue-purple), 39%, 22%);--sl-color-purple: hsl(var(--sl-hue-purple), 82%, 63%);--sl-color-purple-high: hsl(var(--sl-hue-purple), 82%, 89%);--sl-hue-red: 339;--sl-color-red-low: hsl(var(--sl-hue-red), 39%, 22%);--sl-color-red: hsl(var(--sl-hue-red), 82%, 63%);--sl-color-red-high: hsl(var(--sl-hue-red), 82%, 87%);--sl-color-accent-low: hsl(224, 54%, 20%);--sl-color-accent: hsl(224, 100%, 60%);--sl-color-accent-high: hsl(224, 100%, 85%);--sl-color-text: var(--sl-color-gray-2);--sl-color-text-accent: var(--sl-color-accent-high);--sl-color-text-invert: var(--sl-color-accent-low);--sl-color-bg: var(--sl-color-black);--sl-color-bg-nav: var(--sl-color-gray-6);--sl-color-bg-sidebar: var(--sl-color-gray-6);--sl-color-bg-inline-code: var(--sl-color-gray-5);--sl-color-bg-accent: var(--sl-color-accent-high);--sl-color-hairline-light: var(--sl-color-gray-5);--sl-color-hairline: var(--sl-color-gray-6);--sl-color-hairline-shade: var(--sl-color-black);--sl-color-backdrop-overlay: hsla(223, 13%, 10%, .66);--sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, .12), 0px 2px 1px hsla(0, 0%, 0%, .24);--sl-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, .08), 0px 5px 2px hsla(0, 0%, 0%, .08), 0px 3px 2px hsla(0, 0%, 0%, .12), 0px 1px 1px hsla(0, 0%, 0%, .15);--sl-shadow-lg: 0px 25px 7px hsla(0, 0%, 0%, .03), 0px 16px 6px hsla(0, 0%, 0%, .1), 0px 9px 5px hsla(223, 13%, 10%, .33), 0px 4px 4px hsla(0, 0%, 0%, .75), 0px 4px 2px hsla(0, 0%, 0%, .25);--sl-text-2xs: .75rem;--sl-text-xs: .8125rem;--sl-text-sm: .875rem;--sl-text-base: 1rem;--sl-text-lg: 1.125rem;--sl-text-xl: 1.25rem;--sl-text-2xl: 1.5rem;--sl-text-3xl: 1.8125rem;--sl-text-4xl: 2.1875rem;--sl-text-5xl: 2.625rem;--sl-text-6xl: 4rem;--sl-text-body: var(--sl-text-base);--sl-text-body-sm: var(--sl-text-xs);--sl-text-code: var(--sl-text-sm);--sl-text-code-sm: var(--sl-text-xs);--sl-text-h1: var(--sl-text-4xl);--sl-text-h2: var(--sl-text-3xl);--sl-text-h3: var(--sl-text-2xl);--sl-text-h4: var(--sl-text-xl);--sl-text-h5: var(--sl-text-lg);--sl-line-height: 1.75;--sl-line-height-headings: 1.2;--sl-font-system: ui-sans-serif, system-ui, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--sl-font-system-mono: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--__sl-font: var(--sl-font, var(--sl-font-system)), var(--sl-font-system);--__sl-font-mono: var(--sl-font-mono, var(--sl-font-system-mono)), var(--sl-font-system-mono);--sl-nav-height: 3.5rem;--sl-nav-pad-x: 1rem;--sl-nav-pad-y: .75rem;--sl-mobile-toc-height: 3rem;--sl-sidebar-width: 18.75rem;--sl-sidebar-pad-x: 1rem;--sl-content-width: 45rem;--sl-content-pad-x: 1rem;--sl-content-gap-y: 1rem;--sl-main-pad: 0 0 3vh 0;--sl-menu-button-size: 2rem;--sl-nav-gap: var(--sl-content-pad-x);--sl-outline-offset-inside: -.1875rem;--sl-z-index-toc: 4;--sl-z-index-menu: 5;--sl-z-index-navbar: 10;--sl-z-index-skiplink: 20}:root[data-theme=light],[data-theme=light] ::backdrop{--sl-color-white: hsl(224, 10%, 10%);--sl-color-gray-1: hsl(224, 14%, 16%);--sl-color-gray-2: hsl(224, 10%, 23%);--sl-color-gray-3: hsl(224, 7%, 36%);--sl-color-gray-4: hsl(224, 6%, 56%);--sl-color-gray-5: hsl(224, 6%, 77%);--sl-color-gray-6: hsl(224, 20%, 94%);--sl-color-gray-7: hsl(224, 19%, 97%);--sl-color-black: hsl(0, 0%, 100%);--sl-color-orange-high: hsl(var(--sl-hue-orange), 80%, 25%);--sl-color-orange: hsl(var(--sl-hue-orange), 90%, 60%);--sl-color-orange-low: hsl(var(--sl-hue-orange), 90%, 88%);--sl-color-green-high: hsl(var(--sl-hue-green), 80%, 22%);--sl-color-green: hsl(var(--sl-hue-green), 90%, 46%);--sl-color-green-low: hsl(var(--sl-hue-green), 85%, 90%);--sl-color-blue-high: hsl(var(--sl-hue-blue), 80%, 30%);--sl-color-blue: hsl(var(--sl-hue-blue), 90%, 60%);--sl-color-blue-low: hsl(var(--sl-hue-blue), 88%, 90%);--sl-color-purple-high: hsl(var(--sl-hue-purple), 90%, 30%);--sl-color-purple: hsl(var(--sl-hue-purple), 90%, 60%);--sl-color-purple-low: hsl(var(--sl-hue-purple), 80%, 90%);--sl-color-red-high: hsl(var(--sl-hue-red), 80%, 30%);--sl-color-red: hsl(var(--sl-hue-red), 90%, 60%);--sl-color-red-low: hsl(var(--sl-hue-red), 80%, 90%);--sl-color-accent-high: hsl(234, 80%, 30%);--sl-color-accent: hsl(234, 90%, 60%);--sl-color-accent-low: hsl(234, 88%, 90%);--sl-color-text-accent: var(--sl-color-accent);--sl-color-text-invert: var(--sl-color-black);--sl-color-bg-nav: var(--sl-color-gray-7);--sl-color-bg-sidebar: var(--sl-color-bg);--sl-color-bg-inline-code: var(--sl-color-gray-6);--sl-color-bg-accent: var(--sl-color-accent);--sl-color-hairline-light: var(--sl-color-gray-6);--sl-color-hairline-shade: var(--sl-color-gray-6);--sl-color-backdrop-overlay: hsla(225, 9%, 36%, .66);--sl-shadow-sm: 0px 1px 1px hsla(0, 0%, 0%, .06), 0px 2px 1px hsla(0, 0%, 0%, .06);--sl-shadow-md: 0px 8px 4px hsla(0, 0%, 0%, .03), 0px 5px 2px hsla(0, 0%, 0%, .03), 0px 3px 2px hsla(0, 0%, 0%, .06), 0px 1px 1px hsla(0, 0%, 0%, .06);--sl-shadow-lg: 0px 25px 7px rgba(0, 0, 0, .01), 0px 16px 6px hsla(0, 0%, 0%, .03), 0px 9px 5px hsla(223, 13%, 10%, .08), 0px 4px 4px hsla(0, 0%, 0%, .16), 0px 4px 2px hsla(0, 0%, 0%, .04)}@media(min-width:50em){:root{--sl-nav-height: 4rem;--sl-nav-pad-x: 1.5rem;--sl-text-h1: var(--sl-text-5xl);--sl-text-h2: var(--sl-text-4xl);--sl-text-h3: var(--sl-text-3xl);--sl-text-h4: var(--sl-text-2xl)}}@media(min-width:72rem){:root{--sl-content-pad-x: 1.5rem;--sl-mobile-toc-height: 0rem}}}@layer starlight.reset{*,*:before,*:after{box-sizing:border-box}*{margin:0}html{color-scheme:dark;accent-color:var(--sl-color-accent);-webkit-text-size-adjust:100%;text-size-adjust:100%}html[data-theme=light]{color-scheme:light}body{font-family:var(--__sl-font);line-height:var(--sl-line-height);-webkit-font-smoothing:antialiased;color:var(--sl-color-text);background-color:var(--sl-color-bg)}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6,code{overflow-wrap:break-word}code{font-family:var(--__sl-font-mono)}}@layer starlight.components{.starlight-aside{padding:1rem;border-inline-start:.25rem solid var(--sl-color-asides-border);color:var(--sl-color-white)}.starlight-aside--note{--sl-color-asides-text-accent: var(--sl-color-blue-high);--sl-color-asides-border: var(--sl-color-blue);background-color:var(--sl-color-blue-low)}.starlight-aside--tip{--sl-color-asides-text-accent: var(--sl-color-purple-high);--sl-color-asides-border: var(--sl-color-purple);background-color:var(--sl-color-purple-low)}.starlight-aside--caution{--sl-color-asides-text-accent: var(--sl-color-orange-high);--sl-color-asides-border: var(--sl-color-orange);background-color:var(--sl-color-orange-low)}.starlight-aside--danger{--sl-color-asides-text-accent: var(--sl-color-red-high);--sl-color-asides-border: var(--sl-color-red);background-color:var(--sl-color-red-low)}.starlight-aside__title{display:flex;gap:.5rem;align-items:center;font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);color:var(--sl-color-asides-text-accent)}.starlight-aside__icon{font-size:1.333em;width:1em;height:1em}.starlight-aside__title+.starlight-aside__content{margin-top:.5rem}.starlight-aside__content a{color:var(--sl-color-asides-text-accent)}}@layer starlight.utils{.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.sl-hidden{display:none}.sl-flex{display:flex}.sl-block{display:block}@media(min-width:50rem){.md\:sl-hidden{display:none}.md\:sl-flex{display:flex}.md\:sl-block{display:block}}@media(min-width:72rem){.lg\:sl-hidden{display:none}.lg\:sl-flex{display:flex}.lg\:sl-block{display:block}}[data-theme=light] .light\:sl-hidden,[data-theme=dark] .dark\:sl-hidden{display:none}[dir=rtl] .rtl\:flip:not(:where([dir=rtl] [dir=ltr] *)){transform:scaleX(-1)}}@layer starlight.content{.sl-markdown-content .sl-heading-wrapper{--sl-anchor-icon-size: .8275em;--sl-anchor-icon-gap: .25em;--sl-anchor-icon-space: calc(var(--sl-anchor-icon-size) + var(--sl-anchor-icon-gap));line-height:var(--sl-line-height-headings)}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6,.sl-heading-wrapper)+:is(.sl-heading-wrapper){margin-top:1.5em}.sl-markdown-content .sl-heading-wrapper.level-h1{font-size:var(--sl-text-h1)}.sl-markdown-content .sl-heading-wrapper.level-h2{font-size:var(--sl-text-h2)}.sl-markdown-content .sl-heading-wrapper.level-h3{font-size:var(--sl-text-h3)}.sl-markdown-content .sl-heading-wrapper.level-h4{font-size:var(--sl-text-h4)}.sl-markdown-content .sl-heading-wrapper.level-h5{font-size:var(--sl-text-h5)}.sl-markdown-content .sl-heading-wrapper.level-h6{font-size:var(--sl-text-h6)}.sl-markdown-content .sl-heading-wrapper>:first-child{display:inline;padding-inline-end:var(--sl-anchor-icon-space)}.sl-markdown-content .sl-anchor-link{position:relative;margin-inline-start:calc(-1 * var(--sl-anchor-icon-size));-webkit-user-select:none;user-select:none;display:inline-flex}.sl-markdown-content .sl-anchor-link:after{content:"";position:absolute;inset:-.25rem -.5rem}.sl-markdown-content .sl-anchor-icon>svg{display:inline;width:var(--sl-anchor-icon-size);vertical-align:top;transform:translateY(calc((var(--sl-line-height-headings) * 1em - var(--sl-anchor-icon-size)) / 2))}@media(hover:hover){.sl-markdown-content .sl-anchor-link{opacity:0}.sl-markdown-content .sl-anchor-link:focus,.sl-markdown-content .sl-heading-wrapper:hover .sl-anchor-link{opacity:1}}}@layer starlight.core{.sl-banner:where(.astro-laz2plt2){--__sl-banner-text: var(--sl-color-banner-text, var(--sl-color-text-invert));padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);background-color:var(--sl-color-banner-bg, var(--sl-color-bg-accent));color:var(--__sl-banner-text);line-height:var(--sl-line-height-headings);text-align:center;text-wrap:balance;box-shadow:var(--sl-shadow-sm)}.sl-banner:where(.astro-laz2plt2) a{color:var(--__sl-banner-text)}}@layer starlight.core{.content-panel:where(.astro-7nkwcw3z){padding:1.5rem var(--sl-content-pad-x)}.content-panel:where(.astro-7nkwcw3z)+.content-panel:where(.astro-7nkwcw3z){border-top:1px solid var(--sl-color-hairline)}.sl-container:where(.astro-7nkwcw3z){max-width:var(--sl-content-width)}.sl-container:where(.astro-7nkwcw3z)>*+*{margin-top:1.5rem}@media(min-width:72rem){.sl-container:where(.astro-7nkwcw3z){margin-inline:var(--sl-content-margin-inline, auto)}}}@layer starlight.components{svg:where(.astro-c6vsoqas){color:var(--sl-icon-color);font-size:var(--sl-icon-size, 1em);width:1em;height:1em}}@layer starlight.core{p:where(.astro-opzsrvew){border:1px solid var(--sl-color-orange);padding:.75em 1em;background-color:var(--sl-color-orange-low);color:var(--sl-color-orange-high);width:max-content;max-width:100%;align-items:center;gap:.75em;font-size:var(--sl-text-body-sm);line-height:var(--sl-line-height-headings)}}@layer starlight.core{a:where(.astro-eez2twj6){gap:.5rem;align-items:center;text-decoration:none;color:var(--sl-color-gray-3)}a:where(.astro-eez2twj6):hover{color:var(--sl-color-white)}}@layer starlight.core{.pagination-links:where(.astro-u2l5gyhi){display:grid;grid-template-columns:repeat(auto-fit,minmax(min(18rem,100%),1fr));gap:1rem}a:where(.astro-u2l5gyhi){display:flex;align-items:center;justify-content:flex-start;gap:.5rem;width:100%;flex-basis:calc(50% - .5rem);flex-grow:1;border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding:1rem;text-decoration:none;color:var(--sl-color-gray-2);box-shadow:var(--sl-shadow-md);overflow-wrap:anywhere}:where(.astro-u2l5gyhi)[rel=next]{justify-content:end;text-align:end;flex-direction:row-reverse}a:where(.astro-u2l5gyhi):hover{border-color:var(--sl-color-gray-2)}.link-title:where(.astro-u2l5gyhi){color:var(--sl-color-white);font-size:var(--sl-text-2xl);line-height:var(--sl-line-height-headings)}svg:where(.astro-u2l5gyhi){flex-shrink:0}}@layer starlight.components{:root{--sl-badge-default-border: var(--sl-color-accent);--sl-badge-default-bg: var(--sl-color-accent-low);--sl-badge-default-text: #fff;--sl-badge-note-border: var(--sl-color-blue);--sl-badge-note-bg: var(--sl-color-blue-low);--sl-badge-note-text: #fff;--sl-badge-danger-border: var(--sl-color-red);--sl-badge-danger-bg: var(--sl-color-red-low);--sl-badge-danger-text: #fff;--sl-badge-success-border: var(--sl-color-green);--sl-badge-success-bg: var(--sl-color-green-low);--sl-badge-success-text: #fff;--sl-badge-caution-border: var(--sl-color-orange);--sl-badge-caution-bg: var(--sl-color-orange-low);--sl-badge-caution-text: #fff;--sl-badge-tip-border: var(--sl-color-purple);--sl-badge-tip-bg: var(--sl-color-purple-low);--sl-badge-tip-text: #fff}[data-theme=light]:root{--sl-badge-default-bg: var(--sl-color-accent-high);--sl-badge-note-bg: var(--sl-color-blue-high);--sl-badge-danger-bg: var(--sl-color-red-high);--sl-badge-success-bg: var(--sl-color-green-high);--sl-badge-caution-bg: var(--sl-color-orange-high);--sl-badge-tip-bg: var(--sl-color-purple-high)}.sl-badge:where(.astro-avdet4wd){display:inline-block;border:1px solid var(--sl-color-border-badge);border-radius:.25rem;font-family:var(--sl-font-system-mono);line-height:normal;color:var(--sl-color-text-badge);background-color:var(--sl-color-bg-badge);overflow-wrap:anywhere}.sidebar-content .sl-badge:where(.astro-avdet4wd){line-height:1;font-size:var(--sl-text-xs);padding:.125rem .375rem}.sidebar-content a[aria-current=page]>.sl-badge:where(.astro-avdet4wd){--sl-color-bg-badge: transparent;--sl-color-border-badge: currentColor;color:inherit}.default:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-default-bg);--sl-color-border-badge: var(--sl-badge-default-border);--sl-color-text-badge: var(--sl-badge-default-text)}.note:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-note-bg);--sl-color-border-badge: var(--sl-badge-note-border);--sl-color-text-badge: var(--sl-badge-note-text)}.danger:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-danger-bg);--sl-color-border-badge: var(--sl-badge-danger-border);--sl-color-text-badge: var(--sl-badge-danger-text)}.success:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-success-bg);--sl-color-border-badge: var(--sl-badge-success-border);--sl-color-text-badge: var(--sl-badge-success-text)}.tip:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-tip-bg);--sl-color-border-badge: var(--sl-badge-tip-border);--sl-color-text-badge: var(--sl-badge-tip-text)}.caution:where(.astro-avdet4wd){--sl-color-bg-badge: var(--sl-badge-caution-bg);--sl-color-border-badge: var(--sl-badge-caution-border);--sl-color-text-badge: var(--sl-badge-caution-text)}.small:where(.astro-avdet4wd){font-size:var(--sl-text-xs);padding:.125rem .25rem}.medium:where(.astro-avdet4wd){font-size:var(--sl-text-sm);padding:.175rem .35rem}.large:where(.astro-avdet4wd){font-size:var(--sl-text-base);padding:.225rem .45rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) .sl-badge:where(.astro-avdet4wd){vertical-align:middle}}@layer starlight.components{.sl-steps{--bullet-size: calc(var(--sl-line-height) * 1rem);--bullet-margin: .375rem;list-style:none;counter-reset:steps-counter var(--sl-steps-start, 0);padding-inline-start:0}.sl-steps>li{counter-increment:steps-counter;position:relative;padding-inline-start:calc(var(--bullet-size) + 1rem);padding-bottom:1px;min-height:calc(var(--bullet-size) + var(--bullet-margin))}.sl-steps>li+li{margin-top:0}.sl-steps>li:before{content:counter(steps-counter);position:absolute;top:0;inset-inline-start:0;width:var(--bullet-size);height:var(--bullet-size);line-height:var(--bullet-size);font-size:var(--sl-text-xs);font-weight:600;text-align:center;color:var(--sl-color-white);background-color:var(--sl-color-gray-6);border-radius:99rem;box-shadow:inset 0 0 0 1px var(--sl-color-gray-5)}.sl-steps>li:after{--guide-width: 1px;content:"";position:absolute;top:calc(var(--bullet-size) + var(--bullet-margin));bottom:var(--bullet-margin);inset-inline-start:calc((var(--bullet-size) - var(--guide-width)) / 2);width:var(--guide-width);background-color:var(--sl-color-hairline-light)}}@layer starlight.content{.sl-steps>li>:first-child{--lh: calc(1em * var(--sl-line-height));--shift-y: calc(.5 * (var(--bullet-size) - var(--lh)));transform:translateY(var(--shift-y));margin-bottom:var(--shift-y)}.sl-steps>li>:first-child:where(h1,h2,h3,h4,h5,h6){--lh: calc(1em * var(--sl-line-height-headings))}@supports (--prop: 1lh){.sl-steps>li>:first-child{--lh: 1lh}}}@layer starlight.components{.sl-link-button:where(.astro-xwgiixxa){align-items:center;border:1px solid transparent;border-radius:999rem;display:inline-flex;font-size:var(--sl-text-sm);gap:.5em;line-height:1.1875;outline-offset:.25rem;padding:.4375rem 1.125rem;text-decoration:none}.sl-link-button:where(.astro-xwgiixxa).primary{background:var(--sl-color-text-accent);border-color:var(--sl-color-text-accent);color:var(--sl-color-black)}.sl-link-button:where(.astro-xwgiixxa).primary:hover{color:var(--sl-color-black)}.sl-link-button:where(.astro-xwgiixxa).secondary{border-color:inherit;color:var(--sl-color-white)}.sl-link-button:where(.astro-xwgiixxa).minimal{color:var(--sl-color-white);padding-inline:0}.sl-link-button:where(.astro-xwgiixxa) svg{flex-shrink:0}@media(min-width:50rem){.sl-link-button:where(.astro-xwgiixxa){font-size:var(--sl-text-base);padding:.9375rem 1.25rem}}.sl-markdown-content .sl-link-button:where(.astro-xwgiixxa){margin-inline-end:1rem}.sl-markdown-content .sl-link-button:where(.astro-xwgiixxa):not(:where(p *)){margin-block:1rem}}@layer starlight.core{footer:where(.astro-3yyafb3n){flex-direction:column;gap:1.5rem}.meta:where(.astro-3yyafb3n){gap:.75rem 3rem;justify-content:space-between;flex-wrap:wrap;margin-top:3rem;font-size:var(--sl-text-sm);color:var(--sl-color-gray-3)}.meta:where(.astro-3yyafb3n)>p:only-child{margin-inline-start:auto}.kudos:where(.astro-3yyafb3n){align-items:center;gap:.5em;margin:1.5rem auto;font-size:var(--sl-text-xs);text-decoration:none;color:var(--sl-color-gray-3)}.kudos:where(.astro-3yyafb3n):hover{color:var(--sl-color-white)}}@layer starlight.components{.kudos:where(.astro-3yyafb3n) svg{color:var(--sl-color-orange)}}@layer starlight.core{label:where(.astro-4yphtoen){--sl-label-icon-size: .875rem;--sl-caret-size: 1.25rem;--sl-inline-padding: .5rem;position:relative;display:flex;align-items:center;gap:.25rem;color:var(--sl-color-gray-1)}label:where(.astro-4yphtoen):hover{color:var(--sl-color-gray-2)}.icon:where(.astro-4yphtoen){position:absolute;top:50%;transform:translateY(-50%);pointer-events:none}select:where(.astro-4yphtoen){border:0;padding-block:.625rem;padding-inline:calc(var(--sl-label-icon-size) + var(--sl-inline-padding) + .25rem) calc(var(--sl-caret-size) + var(--sl-inline-padding) + .25rem);margin-inline:calc(var(--sl-inline-padding) * -1);width:calc(var(--sl-select-width) + var(--sl-inline-padding) * 2);background-color:transparent;text-overflow:ellipsis;color:inherit;cursor:pointer;appearance:none}option:where(.astro-4yphtoen){background-color:var(--sl-color-bg-nav);color:var(--sl-color-gray-1)}@media(min-width:50rem){select:where(.astro-4yphtoen){font-size:var(--sl-text-sm)}}}@layer starlight.components{.label-icon:where(.astro-4yphtoen){font-size:var(--sl-label-icon-size);inset-inline-start:0}.caret:where(.astro-4yphtoen){font-size:var(--sl-caret-size);inset-inline-end:0}}@layer starlight.core{site-search:where(.astro-v37mnknz){display:contents}button:where(.astro-v37mnknz)[data-open-modal]{display:flex;align-items:center;gap:.5rem;border:0;background-color:transparent;color:var(--sl-color-gray-1);cursor:pointer;height:2.5rem;font-size:var(--sl-text-xl)}@media(min-width:50rem){button:where(.astro-v37mnknz)[data-open-modal]{border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding-inline-start:.75rem;padding-inline-end:.5rem;background-color:var(--sl-color-black);color:var(--sl-color-gray-2);font-size:var(--sl-text-sm);width:100%;max-width:22rem}button:where(.astro-v37mnknz)[data-open-modal]:hover{border-color:var(--sl-color-gray-2);color:var(--sl-color-white)}button:where(.astro-v37mnknz)[data-open-modal]>:where(.astro-v37mnknz):last-child{margin-inline-start:auto}}button:where(.astro-v37mnknz)>kbd:where(.astro-v37mnknz){border-radius:.25rem;font-size:var(--sl-text-2xs);gap:.25em;padding-inline:.375rem;background-color:var(--sl-color-gray-6)}kbd:where(.astro-v37mnknz){font-family:var(--__sl-font)}dialog:where(.astro-v37mnknz){margin:0;background-color:var(--sl-color-gray-6);border:1px solid var(--sl-color-gray-5);width:100%;max-width:100%;height:100%;max-height:100%;box-shadow:var(--sl-shadow-lg)}dialog:where(.astro-v37mnknz)[open]{display:flex}dialog:where(.astro-v37mnknz)::backdrop{background-color:var(--sl-color-backdrop-overlay);-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem)}.dialog-frame:where(.astro-v37mnknz){position:relative;overflow:auto;flex-direction:column;flex-grow:1;gap:1rem;padding:1rem}button:where(.astro-v37mnknz)[data-close-modal]{position:absolute;z-index:1;align-items:center;align-self:flex-end;height:calc(64px * var(--pagefind-ui-scale));padding:.25rem;border:0;background:transparent;cursor:pointer;color:var(--sl-color-text-accent)}#starlight__search:where(.astro-v37mnknz){--pagefind-ui-primary: var(--sl-color-text);--pagefind-ui-text: var(--sl-color-gray-2);--pagefind-ui-font: var(--__sl-font);--pagefind-ui-background: var(--sl-color-black);--pagefind-ui-border: var(--sl-color-gray-5);--pagefind-ui-border-width: 1px;--pagefind-ui-tag: var(--sl-color-gray-5);--sl-search-cancel-space: 5rem}:root[data-theme=light] #starlight__search:where(.astro-v37mnknz){--pagefind-ui-tag: var(--sl-color-gray-6)}@media(min-width:50rem){#starlight__search:where(.astro-v37mnknz){--sl-search-cancel-space: 0px}dialog:where(.astro-v37mnknz){margin:4rem auto auto;border-radius:.5rem;width:90%;max-width:40rem;height:max-content;min-height:15rem;max-height:calc(100% - 8rem)}.dialog-frame:where(.astro-v37mnknz){padding:1.5rem}}}@layer starlight.core{.site-title:where(.astro-m46x6ez3){align-items:center;gap:var(--sl-nav-gap);font-size:var(--sl-text-h4);font-weight:600;color:var(--sl-color-text-accent);text-decoration:none;white-space:nowrap;min-width:0}span:where(.astro-m46x6ez3){overflow:hidden}img:where(.astro-m46x6ez3){height:calc(var(--sl-nav-height) - 2 * var(--sl-nav-pad-y));width:auto;max-width:100%;object-fit:contain;object-position:0 50%}}@layer starlight.core{a:where(.astro-wy4te6ga){color:var(--sl-color-text-accent);padding:.5em;margin:-.5em}a:where(.astro-wy4te6ga):hover{opacity:.66}}@layer starlight.core{.header:where(.astro-kmkmnagf){display:flex;gap:var(--sl-nav-gap);justify-content:space-between;align-items:center;height:100%}.title-wrapper:where(.astro-kmkmnagf){overflow:clip;padding:.25rem;margin:-.25rem;min-width:0}.right-group:where(.astro-kmkmnagf),.social-icons:where(.astro-kmkmnagf){gap:1rem;align-items:center}.social-icons:where(.astro-kmkmnagf):after{content:"";height:2rem;border-inline-end:1px solid var(--sl-color-gray-5)}@media(min-width:50rem){:root[data-has-sidebar]{--__sidebar-pad: calc(2 * var(--sl-nav-pad-x))}:root:not([data-has-toc]){--__toc-width: 0rem}.header:where(.astro-kmkmnagf){--__sidebar-width: max(0rem, var(--sl-content-inline-start, 0rem) - var(--sl-nav-pad-x));--__main-column-fr: calc( ( 100% + var(--__sidebar-pad, 0rem) - var(--__toc-width, var(--sl-sidebar-width)) - (2 * var(--__toc-width, var(--sl-nav-pad-x))) - var(--sl-content-inline-start, 0rem) - var(--sl-content-width) ) / 2 );display:grid;grid-template-columns:minmax(calc(var(--__sidebar-width) + max(0rem,var(--__main-column-fr) - var(--sl-nav-gap))),auto) 1fr auto;align-content:center}}}@layer starlight.core{.hero:where(.astro-jbfsktt5){display:grid;align-items:center;gap:1rem;padding-bottom:1rem}.hero:where(.astro-jbfsktt5)>img:where(.astro-jbfsktt5),.hero:where(.astro-jbfsktt5)>.hero-html:where(.astro-jbfsktt5){object-fit:contain;width:min(70%,20rem);height:auto;margin-inline:auto}.stack:where(.astro-jbfsktt5){flex-direction:column;gap:clamp(1.5rem,calc(1.5rem + 1vw),2rem);text-align:center}.copy:where(.astro-jbfsktt5){flex-direction:column;gap:1rem;align-items:center}.copy:where(.astro-jbfsktt5)>:where(.astro-jbfsktt5){max-width:50ch}h1:where(.astro-jbfsktt5){font-size:clamp(var(--sl-text-3xl),calc(.25rem + 5vw),var(--sl-text-6xl));line-height:var(--sl-line-height-headings);font-weight:600;color:var(--sl-color-white)}.tagline:where(.astro-jbfsktt5){font-size:clamp(var(--sl-text-base),calc(.0625rem + 2vw),var(--sl-text-xl));color:var(--sl-color-gray-2)}.actions:where(.astro-jbfsktt5){gap:1rem 2rem;flex-wrap:wrap;justify-content:center}@media(min-width:50rem){.hero:where(.astro-jbfsktt5){grid-template-columns:7fr 4fr;gap:3%;padding-block:clamp(2.5rem,calc(1rem + 10vmin),10rem)}.hero:where(.astro-jbfsktt5)>img:where(.astro-jbfsktt5),.hero:where(.astro-jbfsktt5)>.hero-html:where(.astro-jbfsktt5){order:2;width:min(100%,25rem)}.stack:where(.astro-jbfsktt5){text-align:start}.copy:where(.astro-jbfsktt5){align-items:flex-start}.actions:where(.astro-jbfsktt5){justify-content:flex-start}}}@layer starlight.content{.sl-markdown-content :not(a,strong,em,del,span,input,code,br)+:not(a,strong,em,del,span,input,code,br,:where(.not-content *)){margin-top:var(--sl-content-gap-y)}.sl-markdown-content :not(a,strong,em,del,span,input,code,br)+:is(astro-island,astro-slot)>:not(a,strong,em,del,span,input,code,br,:where(.not-content *)):first-child{margin-top:var(--sl-content-gap-y)}.sl-markdown-content :not(h1,h2,h3,h4,h5,h6)+:is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){margin-top:1.5em}.sl-markdown-content li+li:not(:where(.not-content *)),.sl-markdown-content dt+dt:not(:where(.not-content *)),.sl-markdown-content dt+dd:not(:where(.not-content *)),.sl-markdown-content dd+dd:not(:where(.not-content *)){margin-top:.25rem}.sl-markdown-content li:not(:where(.not-content *)){overflow-wrap:anywhere}.sl-markdown-content li>:is(:last-child:not(li,ul,ol,a,strong,em,del,span,input,code,br,script,:where(.not-content *)),:not(script):has(~script:last-child):not(:has(~:not(script)))){margin-bottom:1.25rem}.sl-markdown-content dt:not(:where(.not-content *)){font-weight:700}.sl-markdown-content dd:not(:where(.not-content *)){padding-inline-start:1rem}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6):not(:where(.not-content *)){color:var(--sl-color-white);line-height:var(--sl-line-height-headings);font-weight:600}.sl-markdown-content :is(img,picture,video,canvas,svg,iframe):not(:where(.not-content *)){display:block;max-width:100%;height:auto}.sl-markdown-content h1:not(:where(.not-content *)){font-size:var(--sl-text-h1)}.sl-markdown-content h2:not(:where(.not-content *)){font-size:var(--sl-text-h2)}.sl-markdown-content h3:not(:where(.not-content *)){font-size:var(--sl-text-h3)}.sl-markdown-content h4:not(:where(.not-content *)){font-size:var(--sl-text-h4)}.sl-markdown-content h5:not(:where(.not-content *)){font-size:var(--sl-text-h5)}.sl-markdown-content h6:not(:where(.not-content *)){font-size:var(--sl-text-h6)}.sl-markdown-content a:not(:where(.not-content *)){color:var(--sl-color-text-accent)}.sl-markdown-content a:hover:not(:where(.not-content *)){color:var(--sl-color-white)}.sl-markdown-content code:not(:where(.not-content *)){background-color:var(--sl-color-bg-inline-code);margin-block:-.125rem;padding:.125rem .375rem;font-size:var(--sl-text-code-sm)}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6) code{font-size:inherit}.sl-markdown-content pre:not(:where(.not-content *)){border:1px solid var(--sl-color-gray-5);padding:.75rem 1rem;font-size:var(--sl-text-code);tab-size:2}.sl-markdown-content pre code:not(:where(.not-content *)){all:unset;font-family:var(--__sl-font-mono)}.sl-markdown-content blockquote:not(:where(.not-content *)){border-inline-start:1px solid var(--sl-color-gray-5);padding-inline-start:1rem}.sl-markdown-content table:not(:where(.not-content *)){display:block;overflow:auto;border-spacing:0}.sl-markdown-content :is(th,td):not(:where(.not-content *)){border-bottom:1px solid var(--sl-color-gray-5);padding:.5rem 1rem;vertical-align:baseline}.sl-markdown-content :is(th:first-child,td:first-child):not(:where(.not-content *)){padding-inline-start:0}.sl-markdown-content :is(th:last-child,td:last-child):not(:where(.not-content *)){padding-inline-end:0}.sl-markdown-content th:not(:where(.not-content *)){color:var(--sl-color-white);font-weight:600}.sl-markdown-content th:not([align]):not(:where(.not-content *)){text-align:start}.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)){border-color:var(--sl-color-gray-4)}@supports (border-color: color-mix(in srgb,var(--sl-color-asides-text-accent) 30%,transparent)){.sl-markdown-content .starlight-aside :is(th,td,hr,blockquote):not(:where(.not-content *)){border-color:color-mix(in srgb,var(--sl-color-asides-text-accent) 30%,transparent)}}@supports (border-color: color-mix(in srgb,var(--sl-color-asides-text-accent) 12%,transparent)){.sl-markdown-content .starlight-aside code:not(:where(.not-content *)){background-color:color-mix(in srgb,var(--sl-color-asides-text-accent) 12%,transparent)}}.sl-markdown-content hr:not(:where(.not-content *)){border:0;border-bottom:1px solid var(--sl-color-hairline)}.sl-markdown-content details:not(:where(.not-content *)){--sl-details-border-color: var(--sl-color-gray-5);--sl-details-border-color--hover: var(--sl-color-text-accent);border-inline-start:2px solid var(--sl-details-border-color);padding-inline-start:1rem}.sl-markdown-content details:not([open]):hover:not(:where(.not-content *)),.sl-markdown-content details:has(>summary:hover):not(:where(.not-content *)){border-color:var(--sl-details-border-color--hover)}.sl-markdown-content summary:not(:where(.not-content *)){color:var(--sl-color-white);cursor:pointer;display:block;font-weight:600;margin-inline-start:-.5rem;padding-inline-start:.5rem}.sl-markdown-content details[open]>summary:not(:where(.not-content *)){margin-bottom:1rem}.sl-markdown-content summary:not(:where(.not-content *))::marker,.sl-markdown-content summary:not(:where(.not-content *))::-webkit-details-marker{display:none}.sl-markdown-content summary:not(:where(.not-content *)):before{--sl-details-marker-size: 1.25rem;background-color:currentColor;content:"";display:inline-block;height:var(--sl-details-marker-size);width:var(--sl-details-marker-size);margin-inline:calc((var(--sl-details-marker-size) / 4) * -1) .25rem;vertical-align:middle;-webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14.8 11.3 10.6 7a1 1 0 1 0-1.4 1.5l3.5 3.5-3.5 3.5a1 1 0 0 0 0 1.4 1 1 0 0 0 .7.3 1 1 0 0 0 .7-.3l4.2-4.2a1 1 0 0 0 0-1.4Z'/%3E%3C/svg%3E%0A");-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}@media(prefers-reduced-motion:no-preference){.sl-markdown-content summary:not(:where(.not-content *)):before{transition:transform .2s ease-in-out}}.sl-markdown-content details[open]>summary:not(:where(.not-content *)):before{transform:rotate(90deg)}[dir=rtl] .sl-markdown-content summary:not(:where(.not-content *)):before,.sl-markdown-content [dir=rtl] summary:not(:where(.not-content *)):before{transform:rotate(180deg)}.sl-markdown-content summary:not(:where(.not-content *)) p:only-child{display:inline}.sl-markdown-content .starlight-aside details:not(:where(.not-content *)){--sl-details-border-color: var(--sl-color-asides-border);--sl-details-border-color--hover: var(--sl-color-asides-text-accent)}}@layer starlight.core{[data-mobile-menu-expanded]{overflow:hidden}@media(min-width:50rem){[data-mobile-menu-expanded]{overflow:auto}}}@layer starlight.core{button:where(.astro-jif73yzw){position:fixed;top:calc((var(--sl-nav-height) - var(--sl-menu-button-size)) / 2);inset-inline-end:var(--sl-nav-pad-x);z-index:var(--sl-z-index-navbar);border:0;border-radius:50%;width:var(--sl-menu-button-size);height:var(--sl-menu-button-size);padding:.5rem;background-color:var(--sl-color-white);color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);cursor:pointer}:where(.astro-jif73yzw)[aria-expanded=true] button:where(.astro-jif73yzw){background-color:var(--sl-color-gray-2);box-shadow:none}:where(.astro-jif73yzw)[aria-expanded=true] button:where(.astro-jif73yzw) .open-menu:where(.astro-jif73yzw){display:none}:where(.astro-jif73yzw):not([aria-expanded=true]) button:where(.astro-jif73yzw) .close-menu:where(.astro-jif73yzw){display:none}[data-theme=light] button:where(.astro-jif73yzw){background-color:var(--sl-color-black);color:var(--sl-color-white)}[data-theme=light] :where(.astro-jif73yzw)[aria-expanded=true] button:where(.astro-jif73yzw){background-color:var(--sl-color-gray-5)}}@layer starlight.core{.page:where(.astro-vrdttmbt){flex-direction:column;min-height:100vh}.header:where(.astro-vrdttmbt){z-index:var(--sl-z-index-navbar);position:fixed;inset-inline-start:0;inset-block-start:0;width:100%;height:var(--sl-nav-height);border-bottom:1px solid var(--sl-color-hairline-shade);padding:var(--sl-nav-pad-y) var(--sl-nav-pad-x);padding-inline-end:var(--sl-nav-pad-x);background-color:var(--sl-color-bg-nav)}[data-has-sidebar] .header:where(.astro-vrdttmbt){padding-inline-end:calc(var(--sl-nav-gap) + var(--sl-nav-pad-x) + var(--sl-menu-button-size))}.sidebar-pane:where(.astro-vrdttmbt){visibility:var(--sl-sidebar-visibility, hidden);position:fixed;z-index:var(--sl-z-index-menu);inset-block:var(--sl-nav-height) 0;inset-inline-start:0;width:100%;background-color:var(--sl-color-black);overflow-y:auto}[aria-expanded=true]~.sidebar-pane:where(.astro-vrdttmbt){--sl-sidebar-visibility: visible}.sidebar-content:where(.astro-vrdttmbt){height:100%;min-height:max-content;padding:1rem var(--sl-sidebar-pad-x) 0;flex-direction:column;gap:1rem}@media(min-width:50rem){.sidebar-content:where(.astro-vrdttmbt):after{content:"";padding-bottom:1px}}.main-frame:where(.astro-vrdttmbt){padding-top:calc(var(--sl-nav-height) + var(--sl-mobile-toc-height));padding-inline-start:var(--sl-content-inline-start)}@media(min-width:50rem){[data-has-sidebar] .header:where(.astro-vrdttmbt){padding-inline-end:var(--sl-nav-pad-x)}.sidebar-pane:where(.astro-vrdttmbt){--sl-sidebar-visibility: visible;width:var(--sl-sidebar-width);background-color:var(--sl-color-bg-sidebar);border-inline-end:1px solid var(--sl-color-hairline-shade)}}}@layer starlight.core{ul:where(.astro-g2bywc46){padding:0;list-style:none}a:where(.astro-g2bywc46){--pad-inline: .5rem;display:block;border-radius:.25rem;padding-block:.25rem;padding-inline:calc(1rem * var(--depth) + var(--pad-inline)) var(--pad-inline);line-height:1.25}a:where(.astro-g2bywc46)[aria-current=true]{color:var(--sl-color-text-accent)}.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46){--pad-inline: 1rem;display:flex;justify-content:space-between;gap:var(--pad-inline);border-top:1px solid var(--sl-color-gray-6);border-radius:0;padding-block:.5rem;color:var(--sl-color-text);font-size:var(--sl-text-sm);text-decoration:none;outline-offset:var(--sl-outline-offset-inside)}.isMobile:where(.astro-g2bywc46):first-child>li:where(.astro-g2bywc46):first-child>a:where(.astro-g2bywc46){border-top:0}.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46)[aria-current=true],.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46)[aria-current=true]:hover,.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46)[aria-current=true]:focus{color:var(--sl-color-white);background-color:unset}.isMobile:where(.astro-g2bywc46) a:where(.astro-g2bywc46)[aria-current=true]:after{content:"";width:1rem;background-color:var(--sl-color-text-accent);-webkit-mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);mask-image:url(data:image/svg+xml;base64,PHN2ZyB4bWxucz0naHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmcnIHZpZXdCb3g9JzAgMCAxNCAxNCc+PHBhdGggZD0nTTEwLjkxNCA0LjIwNmEuNTgzLjU4MyAwIDAgMC0uODI4IDBMNS43NCA4LjU1NyAzLjkxNCA2LjcyNmEuNTk2LjU5NiAwIDAgMC0uODI4Ljg1N2wyLjI0IDIuMjRhLjU4My41ODMgMCAwIDAgLjgyOCAwbDQuNzYtNC43NmEuNTgzLjU4MyAwIDAgMCAwLS44NTdaJy8+PC9zdmc+Cg==);-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;flex-shrink:0}}@layer starlight.core{nav:where(.astro-doynk5tl){position:fixed;z-index:var(--sl-z-index-toc);top:calc(var(--sl-nav-height) - 1px);inset-inline:0;border-top:1px solid var(--sl-color-gray-5);background-color:var(--sl-color-bg-nav)}@media(min-width:50rem){nav:where(.astro-doynk5tl){inset-inline-start:var(--sl-content-inline-start, 0)}}summary:where(.astro-doynk5tl){gap:.5rem;align-items:center;height:var(--sl-mobile-toc-height);border-bottom:1px solid var(--sl-color-hairline-shade);padding:.5rem 1rem;font-size:var(--sl-text-xs);outline-offset:var(--sl-outline-offset-inside)}summary:where(.astro-doynk5tl)::marker,summary:where(.astro-doynk5tl)::-webkit-details-marker{display:none}.toggle:where(.astro-doynk5tl){flex-shrink:0;gap:1rem;align-items:center;justify-content:space-between;border:1px solid var(--sl-color-gray-5);border-radius:.5rem;padding-block:.5rem;padding-inline-start:.75rem;padding-inline-end:.5rem;line-height:1;background-color:var(--sl-color-black);user-select:none;cursor:pointer}details:where(.astro-doynk5tl)[open] .toggle:where(.astro-doynk5tl){color:var(--sl-color-white);border-color:var(--sl-color-accent)}details:where(.astro-doynk5tl) .toggle:where(.astro-doynk5tl):hover{color:var(--sl-color-white);border-color:var(--sl-color-gray-2)}[dir=rtl] .caret:where(.astro-doynk5tl){transform:rotate(180deg)}details:where(.astro-doynk5tl)[open] .caret:where(.astro-doynk5tl){transform:rotate(90deg)}.display-current:where(.astro-doynk5tl){white-space:nowrap;text-overflow:ellipsis;overflow:hidden;color:var(--sl-color-white)}.dropdown:where(.astro-doynk5tl){--border-top: 1px;margin-top:calc(-1 * var(--border-top));border:var(--border-top) solid var(--sl-color-gray-6);border-top-color:var(--sl-color-hairline-shade);max-height:calc(85vh - var(--sl-nav-height) - var(--sl-mobile-toc-height));overflow-y:auto;background-color:var(--sl-color-black);box-shadow:var(--sl-shadow-md);overscroll-behavior:contain}}@layer starlight.core{.right-sidebar-panel:where(.astro-pb3aqygn){padding:1rem var(--sl-sidebar-pad-x)}.sl-container:where(.astro-pb3aqygn){width:calc(var(--sl-sidebar-width) - 2 * var(--sl-sidebar-pad-x))}.right-sidebar-panel:where(.astro-pb3aqygn) h2{color:var(--sl-color-white);font-size:var(--sl-text-h5);font-weight:600;line-height:var(--sl-line-height-headings);margin-bottom:.5rem}.right-sidebar-panel:where(.astro-pb3aqygn) :where(a){display:block;font-size:var(--sl-text-xs);text-decoration:none;color:var(--sl-color-gray-3);overflow-wrap:anywhere}.right-sidebar-panel:where(.astro-pb3aqygn) :where(a):hover{color:var(--sl-color-white)}@media(min-width:72rem){.sl-container:where(.astro-pb3aqygn){max-width:calc(((100vw - var(--sl-sidebar-width) - 2 * var(--sl-content-pad-x) - 2 * var(--sl-sidebar-pad-x)) * .25))}}}@layer starlight.core{h1:where(.astro-j6tvhyss){margin-top:1rem;font-size:var(--sl-text-h1);line-height:var(--sl-line-height-headings);font-weight:600;color:var(--sl-color-white)}}@layer starlight.core{.social-icons:where(.astro-wu23bvmt){display:flex;margin-inline-end:auto;gap:1rem;align-items:center;padding-block:1rem}.social-icons:where(.astro-wu23bvmt):empty{display:none}.mobile-preferences:where(.astro-wu23bvmt){justify-content:space-between;flex-wrap:wrap;border-top:1px solid var(--sl-color-gray-6);column-gap:1rem;padding:.5rem 0}}@layer starlight.core{sl-sidebar-state-persist:where(.astro-kku4brbg){display:contents}}@layer starlight.core{ul:where(.astro-3ii7xxms){--sl-sidebar-item-padding-inline: .5rem;list-style:none;padding:0}li:where(.astro-3ii7xxms){overflow-wrap:anywhere}ul:where(.astro-3ii7xxms) ul:where(.astro-3ii7xxms) li:where(.astro-3ii7xxms){margin-inline-start:var(--sl-sidebar-item-padding-inline);border-inline-start:1px solid var(--sl-color-hairline-light);padding-inline-start:var(--sl-sidebar-item-padding-inline)}.large:where(.astro-3ii7xxms){font-size:var(--sl-text-lg);font-weight:600;color:var(--sl-color-white)}.top-level:where(.astro-3ii7xxms)>li:where(.astro-3ii7xxms)+li:where(.astro-3ii7xxms){margin-top:.75rem}summary:where(.astro-3ii7xxms){display:flex;align-items:center;justify-content:space-between;padding:.2em var(--sl-sidebar-item-padding-inline);line-height:1.4;cursor:pointer;user-select:none}summary:where(.astro-3ii7xxms)::marker,summary:where(.astro-3ii7xxms)::-webkit-details-marker{display:none}.caret:where(.astro-3ii7xxms){transition:transform .2s ease-in-out;flex-shrink:0}[dir=rtl] .caret:where(.astro-3ii7xxms){transform:rotate(180deg)}:where(.astro-3ii7xxms)[open]>summary:where(.astro-3ii7xxms) .caret:where(.astro-3ii7xxms){transform:rotate(90deg)}a:where(.astro-3ii7xxms){display:block;border-radius:.25rem;text-decoration:none;color:var(--sl-color-gray-2);padding:.3em var(--sl-sidebar-item-padding-inline);line-height:1.4}a:where(.astro-3ii7xxms):hover,a:where(.astro-3ii7xxms):focus{color:var(--sl-color-white)}:where(.astro-3ii7xxms)[aria-current=page],:where(.astro-3ii7xxms)[aria-current=page]:hover,:where(.astro-3ii7xxms)[aria-current=page]:focus{font-weight:600;color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent)}a:where(.astro-3ii7xxms)>:where(.astro-3ii7xxms):not(:last-child),.group-label:where(.astro-3ii7xxms)>:where(.astro-3ii7xxms):not(:last-child){margin-inline-end:.25em}@media(min-width:50rem){.top-level:where(.astro-3ii7xxms)>li:where(.astro-3ii7xxms)+li:where(.astro-3ii7xxms){margin-top:.5rem}.large:where(.astro-3ii7xxms){font-size:var(--sl-text-base)}a:where(.astro-3ii7xxms){font-size:var(--sl-text-sm)}}}@layer starlight.core{a:where(.astro-7q3lir66){clip:rect(0,0,0,0);position:fixed;top:.75rem;inset-inline-start:.75rem}a:where(.astro-7q3lir66):focus{clip:unset;z-index:var(--sl-z-index-skiplink);display:block;padding:.5rem 1rem;text-decoration:none;color:var(--sl-color-text-invert);background-color:var(--sl-color-text-accent);box-shadow:var(--sl-shadow-lg)}}@layer starlight.core{.main-pane:where(.astro-67yu43on){isolation:isolate}@media(min-width:72rem){.right-sidebar-container:where(.astro-67yu43on){order:2;position:relative;width:calc(var(--sl-sidebar-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2)}.right-sidebar:where(.astro-67yu43on){position:fixed;top:0;border-inline-start:1px solid var(--sl-color-hairline);padding-top:var(--sl-nav-height);width:100%;height:100vh;overflow-y:auto;scrollbar-width:none}.main-pane:where(.astro-67yu43on){width:100%}[data-has-sidebar][data-has-toc] .main-pane:where(.astro-67yu43on){--sl-content-margin-inline: auto 0;order:1;width:calc(var(--sl-content-width) + (100% - var(--sl-content-width) - var(--sl-sidebar-width)) / 2)}}}html:not([data-has-toc]){--sl-mobile-toc-height: 0rem}html:not([data-has-sidebar]){--sl-content-width: 67.5rem}html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height) + var(--sl-mobile-toc-height))}main:where(.astro-bguv2lll){padding:var(--sl-main-pad)}@media(min-width:50em){:where(.astro-bguv2lll)[data-has-sidebar]{--sl-content-inline-start: var(--sl-sidebar-width)}}@media(min-width:72em){html{scroll-padding-top:calc(1.5rem + var(--sl-nav-height))}} diff --git a/tutorials/advanced-video-core-api-features/steps/_astro/page.B1D-nYk3.js b/tutorials/advanced-video-core-api-features/steps/_astro/page.B1D-nYk3.js new file mode 100644 index 00000000..bb3de36b --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/_astro/page.B1D-nYk3.js @@ -0,0 +1 @@ +const v={},d=new Set,s=new WeakSet;let f=!0,h,l=!1;function g(e){l||(l=!0,f??=!1,h??="hover",p(),w(),y(),S())}function p(){for(const e of["touchstart","mousedown"])document.addEventListener(e,t=>{a(t.target,"tap")&&c(t.target.href,{ignoreSlowConnection:!0})},{passive:!0})}function w(){let e;document.body.addEventListener("focusin",n=>{a(n.target,"hover")&&t(n)},{passive:!0}),document.body.addEventListener("focusout",o,{passive:!0}),u(()=>{for(const n of document.getElementsByTagName("a"))s.has(n)||a(n,"hover")&&(s.add(n),n.addEventListener("mouseenter",t,{passive:!0}),n.addEventListener("mouseleave",o,{passive:!0}))});function t(n){const r=n.target.href;e&&clearTimeout(e),e=setTimeout(()=>{c(r)},80)}function o(){e&&(clearTimeout(e),e=0)}}function y(){let e;u(()=>{for(const t of document.getElementsByTagName("a"))s.has(t)||a(t,"viewport")&&(s.add(t),e??=L(),e.observe(t))})}function L(){const e=new WeakMap;return new IntersectionObserver((t,o)=>{for(const n of t){const r=n.target,i=e.get(r);n.isIntersecting?(i&&clearTimeout(i),e.set(r,setTimeout(()=>{o.unobserve(r),e.delete(r),c(r.href)},300))):i&&(clearTimeout(i),e.delete(r))}})}function S(){u(()=>{for(const e of document.getElementsByTagName("a"))a(e,"load")&&c(e.href)})}function c(e,t){e=e.replace(/#.*/,"");const o=t?.ignoreSlowConnection??!1;if(E(e,o))if(d.add(e),document.createElement("link").relList?.supports?.("prefetch")&&t?.with!=="fetch"){const n=document.createElement("link");n.rel="prefetch",n.setAttribute("href",e),document.head.append(n)}else{const n=new Headers;for(const[r,i]of Object.entries(v))n.set(r,i);fetch(e,{priority:"low",headers:n})}}function E(e,t){if(!navigator.onLine||!t&&m())return!1;try{const o=new URL(e,location.href);return location.origin===o.origin&&(location.pathname!==o.pathname||location.search!==o.search)&&!d.has(e)}catch{}return!1}function a(e,t){if(e?.tagName!=="A")return!1;const o=e.dataset.astroPrefetch;return o==="false"?!1:t==="tap"&&(o!=null||f)&&m()?!0:o==null&&f||o===""?t===h:o===t}function m(){if("connection"in navigator){const e=navigator.connection;return e.saveData||/2g/.test(e.effectiveType)}return!1}function u(e){e();let t=!1;document.addEventListener("astro:page-load",()=>{if(!t){t=!0;return}e()})}g(); diff --git a/tutorials/advanced-video-core-api-features/steps/_astro/print.DNXP8c50.css b/tutorials/advanced-video-core-api-features/steps/_astro/print.DNXP8c50.css new file mode 100644 index 00000000..f721e686 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/_astro/print.DNXP8c50.css @@ -0,0 +1 @@ +@media print{:root{--sl-color-white: hsl(224, 10%, 10%);--sl-color-gray-1: hsl(224, 14%, 16%);--sl-color-gray-2: hsl(224, 10%, 23%);--sl-color-gray-3: hsl(224, 7%, 36%);--sl-color-gray-4: hsl(224, 6%, 56%);--sl-color-gray-5: hsl(224, 6%, 77%);--sl-color-gray-6: hsl(224, 20%, 94%);--sl-color-gray-7: hsl(224, 19%, 97%);--sl-color-black: hsl(0, 0%, 100%);--sl-color-orange-high: hsl(var(--sl-hue-orange), 80%, 25%);--sl-color-orange: hsl(var(--sl-hue-orange), 90%, 60%);--sl-color-orange-low: hsl(var(--sl-hue-orange), 90%, 88%);--sl-color-green-high: hsl(var(--sl-hue-green), 80%, 22%);--sl-color-green: hsl(var(--sl-hue-green), 90%, 46%);--sl-color-green-low: hsl(var(--sl-hue-green), 85%, 90%);--sl-color-blue-high: hsl(var(--sl-hue-blue), 80%, 30%);--sl-color-blue: hsl(var(--sl-hue-blue), 90%, 60%);--sl-color-blue-low: hsl(var(--sl-hue-blue), 88%, 90%);--sl-color-purple-high: hsl(var(--sl-hue-purple), 90%, 30%);--sl-color-purple: hsl(var(--sl-hue-purple), 90%, 60%);--sl-color-purple-low: hsl(var(--sl-hue-purple), 80%, 90%);--sl-color-red-high: hsl(var(--sl-hue-red), 80%, 30%);--sl-color-red: hsl(var(--sl-hue-red), 90%, 60%);--sl-color-red-low: hsl(var(--sl-hue-red), 80%, 90%);--sl-color-accent-high: hsl(234, 80%, 30%);--sl-color-accent: hsl(234, 90%, 60%);--sl-color-accent-low: hsl(234, 88%, 90%);--sl-color-text-accent: var(--sl-color-accent);--sl-color-text-invert: var(--sl-color-black);--sl-color-bg-nav: var(--sl-color-gray-7);--sl-color-bg-sidebar: var(--sl-color-bg);--sl-color-bg-inline-code: var(--sl-color-gray-6);--sl-color-bg-accent: var(--sl-color-accent);--sl-color-hairline-light: var(--sl-color-gray-6);--sl-color-hairline-shade: var(--sl-color-gray-6);--sl-color-backdrop-overlay: hsla(225, 9%, 36%, .66);--sl-shadow-sm: none;--sl-shadow-md: none;--sl-shadow-lg: none}.print\:hidden{display:none}.print\:flex{display:flex}.print\:block{display:block}main{padding-bottom:0}main>.content-panel{padding-block-start:0}.content-panel+.content-panel{border:0}.page>header{position:relative}.page>.main-frame{padding-top:0;padding-inline-start:0}.main-pane{--sl-sidebar-width: 0px;--sl-content-width: 100%}.sl-banner{--sl-color-banner-text: var(--sl-color-white);background-color:transparent}.sl-markdown-content :is(h1,h2,h3,h4,h5,h6){break-after:avoid}.sl-markdown-content :is(p,li){orphans:2;widows:2}.sl-markdown-content pre{overflow-x:hidden;white-space:pre-wrap}.sl-markdown-content .expressive-code,.sl-markdown-content figure,.sl-markdown-content pre{break-inside:avoid}.expressive-code .frame.is-terminal .header:before{box-shadow:inset 99rem 99rem var(--sl-color-gray-5)}.expressive-code .frame.has-title:not(.is-terminal) .header{background:transparent;border-bottom:1px solid var(--sl-color-gray-6)}.expressive-code .frame.has-title:not(.is-terminal) .title{background:transparent}.expressive-code .frame.has-title:not(.is-terminal) .title:after{border-top:0}.expressive-code .copy{display:none}.sl-markdown-content code:not(:where(.not-content *)){background-color:transparent;padding:0;margin-block:unset;font-size:.9375em}.sl-badge{background:transparent;color:var(--sl-color-white)}starlight-file-tree{break-inside:avoid}starlight-file-tree .highlight{outline:3px solid var(--sl-color-accent-low);color:var(--sl-color-text);background-color:transparent}.starlight-aside{break-inside:avoid}.sl-link-button.primary{background:transparent;border-color:var(--sl-color-white);color:var(--sl-color-white)}starlight-tabs{break-inside:avoid}.sl-steps>li:after{box-shadow:inset 99rem 99rem var(--sl-color-hairline-light)}} diff --git a/tutorials/advanced-video-core-api-features/steps/_astro/ui-core.CJyTyO9Y.js b/tutorials/advanced-video-core-api-features/steps/_astro/ui-core.CJyTyO9Y.js new file mode 100644 index 00000000..9be6715a --- /dev/null +++ b/tutorials/advanced-video-core-api-features/steps/_astro/ui-core.CJyTyO9Y.js @@ -0,0 +1,2 @@ +import{_ as is}from"./Search.astro_astro_type_script_index_0_lang.EjmW2doR.js";var os=Object.defineProperty,F=(e,u)=>{for(var t in u)os(e,t,{get:u[t],enumerable:!0})};function P(){}function hu(e){return e()}function ye(){return Object.create(null)}function W(e){e.forEach(hu)}function Cu(e){return typeof e=="function"}function fe(e,u){return e!=e?u==u:e!==u||e&&typeof e=="object"||typeof e=="function"}var oe;function ce(e,u){return oe||(oe=document.createElement("a")),oe.href=u,e===oe.href}function _s(e){return Object.keys(e).length===0}function B(e,u){e.appendChild(u)}function T(e,u,t){e.insertBefore(u,t||null)}function p(e){e.parentNode&&e.parentNode.removeChild(e)}function ie(e,u){for(let t=0;te.removeEventListener(u,t,r)}function g(e,u,t){t==null?e.removeAttribute(u):e.getAttribute(u)!==t&&e.setAttribute(u,t)}function fs(e){return Array.from(e.childNodes)}function j(e,u){u=""+u,e.data!==u&&(e.data=u)}function ze(e,u){e.value=u??""}function K(e,u,t){e.classList[t?"add":"remove"](u)}var Es=class{constructor(e=!1){this.is_svg=!1,this.is_svg=e,this.e=this.n=null}c(e){this.h(e)}m(e,u,t=null){this.e||(this.is_svg?this.e=cs(u.nodeName):this.e=v(u.nodeType===11?"TEMPLATE":u.nodeName),this.t=u.tagName!=="TEMPLATE"?u:u.content,this.c(e)),this.i(t)}h(e){this.e.innerHTML=e,this.n=Array.from(this.e.nodeName==="TEMPLATE"?this.e.content.childNodes:this.e.childNodes)}i(e){for(let u=0;ue.indexOf(r)===-1?u.push(r):t.push(r)),t.forEach(r=>r()),$=u}var _e=new Set,J;function le(){J={r:0,c:[],p:J}}function ne(){J.r||W(J.c),J=J.p}function z(e,u){e&&e.i&&(_e.delete(e),e.i(u))}function U(e,u,t,r){if(e&&e.o){if(_e.has(e))return;_e.add(e),J.c.push(()=>{_e.delete(e),r&&(t&&e.d(1),r())}),e.o(u)}else r&&r()}function Bs(e,u){U(e,1,1,()=>{u.delete(e.key)})}function vs(e,u,t,r,s,a,l,n,i,f,o,h){let C=e.length,E=a.length,c=C;const _={};for(;c--;)_[e[c].key]=c;const d=[],R=new Map,A=new Map,k=[];for(c=E;c--;){const D=h(s,a,c),S=t(D);let w=l.get(S);w?k.push(()=>w.p(D,u)):(w=f(S,D),w.c()),R.set(S,d[c]=w),S in _&&A.set(S,Math.abs(c-_[S]))}const y=new Set,q=new Set;function L(D){z(D,1),D.m(n,o),l.set(D.key,D),o=D.first,E--}for(;C&&E;){const D=d[E-1],S=e[C-1],w=D.key,x=S.key;D===S?(o=D.first,C--,E--):R.has(x)?!l.has(w)||y.has(w)?L(D):q.has(x)?C--:A.get(w)>A.get(x)?(q.add(w),L(D)):(y.add(x),C--):(i(S,l),C--)}for(;C--;){const D=e[C];R.has(D.key)||i(D,l)}for(;E;)L(d[E-1]);return W(k),d}function ps(e,u,t){const r=e.$$.props[u];r!==void 0&&(e.$$.bound[r]=t,t(e.$$.ctx[r]))}function ke(e){e&&e.c()}function Ee(e,u,t,r){const{fragment:s,after_update:a}=e.$$;s&&s.m(u,t),r||Te(()=>{const l=e.$$.on_mount.map(hu).filter(Cu);e.$$.on_destroy?e.$$.on_destroy.push(...l):W(l),e.$$.on_mount=[]}),a.forEach(Te)}function de(e,u){const t=e.$$;t.fragment!==null&&(Rs(t.after_update),W(t.on_destroy),t.fragment&&t.fragment.d(u),t.on_destroy=t.fragment=null,t.ctx=[])}function Ts(e,u){e.$$.dirty[0]===-1&&(X.push(e),ms(),e.$$.dirty.fill(0)),e.$$.dirty[u/31|0]|=1<{const c=E.length?E[0]:C;return f.ctx&&s(f.ctx[h],f.ctx[h]=c)&&(!f.skip_bound&&f.bound[h]&&f.bound[h](c),o&&Ts(e,h)),C}):[],f.update(),o=!0,W(f.before_update),f.fragment=r?r(f.ctx):!1,u.target){if(u.hydrate){const h=fs(u.target);f.fragment&&f.fragment.l(h),h.forEach(p)}else f.fragment&&f.fragment.c();u.intro&&z(e.$$.fragment),Ee(e,u.target,u.anchor,u.customElement),gu()}re(i)}var Ce=class{$destroy(){de(this,1),this.$destroy=P}$on(e,u){if(!Cu(u))return P;const t=this.$$.callbacks[e]||(this.$$.callbacks[e]=[]);return t.push(u),()=>{const r=t.indexOf(u);r!==-1&&t.splice(r,1)}}$set(e){this.$$set&&!_s(e)&&(this.$$.skip_bound=!0,this.$$set(e),this.$$.skip_bound=!1)}};function O(e){const u=typeof e=="string"?e.charCodeAt(0):e;return u>=97&&u<=122||u>=65&&u<=90}function Q(e){const u=typeof e=="string"?e.charCodeAt(0):e;return u>=48&&u<=57}function V(e){return O(e)||Q(e)}var Fs=["art-lojban","cel-gaulish","no-bok","no-nyn","zh-guoyu","zh-hakka","zh-min","zh-min-nan","zh-xiang"],je={"en-gb-oed":"en-GB-oxendict","i-ami":"ami","i-bnn":"bnn","i-default":null,"i-enochian":null,"i-hak":"hak","i-klingon":"tlh","i-lux":"lb","i-mingo":null,"i-navajo":"nv","i-pwn":"pwn","i-tao":"tao","i-tay":"tay","i-tsu":"tsu","sgn-be-fr":"sfb","sgn-be-nl":"vgt","sgn-ch-de":"sgg","art-lojban":"jbo","cel-gaulish":null,"no-bok":"nb","no-nyn":"nn","zh-guoyu":"cmn","zh-hakka":"hak","zh-min":null,"zh-min-nan":"nan","zh-xiang":"hsn"},ks={}.hasOwnProperty;function Au(e,u={}){const t=Oe(),r=String(e),s=r.toLowerCase();let a=0;if(e==null)throw new Error("Expected string, got `"+e+"`");if(ks.call(je,s)){const n=je[s];return(u.normalize===void 0||u.normalize===null||u.normalize)&&typeof n=="string"?Au(n):(t[Fs.includes(s)?"regular":"irregular"]=r,t)}for(;O(s.charCodeAt(a))&&a<9;)a++;if(a>1&&a<9){if(t.language=r.slice(0,a),a<4){let n=0;for(;s.charCodeAt(a)===45&&O(s.charCodeAt(a+1))&&O(s.charCodeAt(a+2))&&O(s.charCodeAt(a+3))&&!O(s.charCodeAt(a+4));){if(n>2)return l(a,3,"Too many extended language subtags, expected at most 3 subtags");t.extendedLanguageSubtags.push(r.slice(a+1,a+4)),a+=4,n++}}for(s.charCodeAt(a)===45&&O(s.charCodeAt(a+1))&&O(s.charCodeAt(a+2))&&O(s.charCodeAt(a+3))&&O(s.charCodeAt(a+4))&&!O(s.charCodeAt(a+5))&&(t.script=r.slice(a+1,a+5),a+=5),s.charCodeAt(a)===45&&(O(s.charCodeAt(a+1))&&O(s.charCodeAt(a+2))&&!O(s.charCodeAt(a+3))?(t.region=r.slice(a+1,a+3),a+=3):Q(s.charCodeAt(a+1))&&Q(s.charCodeAt(a+2))&&Q(s.charCodeAt(a+3))&&!Q(s.charCodeAt(a+4))&&(t.region=r.slice(a+1,a+4),a+=4));s.charCodeAt(a)===45;){const n=a+1;let i=n;for(;V(s.charCodeAt(i));){if(i-n>7)return l(i,1,"Too long variant, expected at most 8 characters");i++}if(i-n>4||i-n>3&&Q(s.charCodeAt(n)))t.variants.push(r.slice(n,i)),a=i;else break}for(;s.charCodeAt(a)===45&&!(s.charCodeAt(a+1)===120||!V(s.charCodeAt(a+1))||s.charCodeAt(a+2)!==45||!V(s.charCodeAt(a+3)));){let n=a+2,i=0;for(;s.charCodeAt(n)===45&&V(s.charCodeAt(n+1))&&V(s.charCodeAt(n+2));){const f=n+1;for(n=f+2,i++;V(s.charCodeAt(n));){if(n-f>7)return l(n,2,"Too long extension, expected at most 8 characters");n++}}if(!i)return l(n,4,"Empty extension, extensions must have at least 2 characters of content");t.extensions.push({singleton:r.charAt(a+1),extensions:r.slice(a+3,n).split("-")}),a=n}}else a=0;if(a===0&&s.charCodeAt(a)===120||s.charCodeAt(a)===45&&s.charCodeAt(a+1)===120){a=a?a+2:1;let n=a;for(;s.charCodeAt(n)===45&&V(s.charCodeAt(n+1));){const i=a+1;for(n=i;V(s.charCodeAt(n));){if(n-i>7)return l(n,5,"Too long private-use area, expected at most 8 characters");n++}t.privateuse.push(r.slice(a+1,n)),a=n}}if(a!==r.length)return l(a,6,"Found superfluous content after tag");return t;function l(n,i,f){return u.warning&&u.warning(f,i,n),u.forgiving?t:Oe()}}function Oe(){return{language:null,extendedLanguageSubtags:[],script:null,region:null,variants:[],extensions:[],privateuse:[],irregular:null,regular:null}}function Ue(e,u,t){const r=e.slice();return r[8]=u[t][0],r[9]=u[t][1],r}function Ds(e){let u,t,r,s,a,l=e[0]&&Ie();return{c(){l&&l.c(),u=b(),t=v("div"),r=v("p"),r.textContent=`${e[3](30)}`,s=b(),a=v("p"),a.textContent=`${e[3](40)}`,g(r,"class","pagefind-ui__result-title pagefind-ui__loading svelte-j9e30"),g(a,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-j9e30"),g(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(n,i){l&&l.m(n,i),T(n,u,i),T(n,t,i),B(t,r),B(t,s),B(t,a)},p(n,i){n[0]?l||(l=Ie(),l.c(),l.m(u.parentNode,u)):l&&(l.d(1),l=null)},d(n){l&&l.d(n),n&&p(u),n&&p(t)}}}function bs(e){let u,t,r,s,a=e[1].meta?.title+"",l,n,i,f,o=e[1].excerpt+"",h,C=e[0]&&Pe(e),E=e[2].length&&xe(e);return{c(){C&&C.c(),u=b(),t=v("div"),r=v("p"),s=v("a"),l=M(a),i=b(),f=v("p"),h=b(),E&&E.c(),g(s,"class","pagefind-ui__result-link svelte-j9e30"),g(s,"href",n=e[1].meta?.url||e[1].url),g(r,"class","pagefind-ui__result-title svelte-j9e30"),g(f,"class","pagefind-ui__result-excerpt svelte-j9e30"),g(t,"class","pagefind-ui__result-inner svelte-j9e30")},m(c,_){C&&C.m(c,_),T(c,u,_),T(c,t,_),B(t,r),B(r,s),B(s,l),B(t,i),B(t,f),f.innerHTML=o,B(t,h),E&&E.m(t,null)},p(c,_){c[0]?C?C.p(c,_):(C=Pe(c),C.c(),C.m(u.parentNode,u)):C&&(C.d(1),C=null),_&2&&a!==(a=c[1].meta?.title+"")&&j(l,a),_&2&&n!==(n=c[1].meta?.url||c[1].url)&&g(s,"href",n),_&2&&o!==(o=c[1].excerpt+"")&&(f.innerHTML=o),c[2].length?E?E.p(c,_):(E=xe(c),E.c(),E.m(t,null)):E&&(E.d(1),E=null)},d(c){C&&C.d(c),c&&p(u),c&&p(t),E&&E.d()}}}function Ie(e){let u;return{c(){u=v("div"),g(u,"class","pagefind-ui__result-thumb pagefind-ui__loading svelte-j9e30")},m(t,r){T(t,u,r)},d(t){t&&p(u)}}}function Pe(e){let u,t=e[1].meta.image&&Le(e);return{c(){u=v("div"),t&&t.c(),g(u,"class","pagefind-ui__result-thumb svelte-j9e30")},m(r,s){T(r,u,s),t&&t.m(u,null)},p(r,s){r[1].meta.image?t?t.p(r,s):(t=Le(r),t.c(),t.m(u,null)):t&&(t.d(1),t=null)},d(r){r&&p(u),t&&t.d()}}}function Le(e){let u,t,r;return{c(){u=v("img"),g(u,"class","pagefind-ui__result-image svelte-j9e30"),ce(u.src,t=e[1].meta?.image)||g(u,"src",t),g(u,"alt",r=e[1].meta?.image_alt||e[1].meta?.title)},m(s,a){T(s,u,a)},p(s,a){a&2&&!ce(u.src,t=s[1].meta?.image)&&g(u,"src",t),a&2&&r!==(r=s[1].meta?.image_alt||s[1].meta?.title)&&g(u,"alt",r)},d(s){s&&p(u)}}}function xe(e){let u,t=e[2],r=[];for(let s=0;se.toLocaleUpperCase();function Ss(e,u,t){let{show_images:r=!0}=u,{process_result:s=null}=u,{result:a={data:async()=>{}}}=u;const l=["title","image","image_alt","url"];let n,i=[];const f=async h=>{t(1,n=await h.data()),t(1,n=s?.(n)??n),t(2,i=Object.entries(n.meta).filter(([C])=>!l.includes(C)))},o=(h=30)=>". ".repeat(Math.floor(10+Math.random()*h));return e.$$set=h=>{"show_images"in h&&t(0,r=h.show_images),"process_result"in h&&t(4,s=h.process_result),"result"in h&&t(5,a=h.result)},e.$$.update=()=>{e.$$.dirty&32&&f(a)},[r,n,i,o,s,a]}var Hs=class extends Ce{constructor(e){super(),he(this,e,Ss,Ms,fe,{show_images:0,process_result:4,result:5})}},ws=Hs;function Ke(e,u,t){const r=e.slice();return r[11]=u[t][0],r[12]=u[t][1],r}function Ge(e,u,t){const r=e.slice();return r[15]=u[t],r}function Ns(e){let u,t,r,s,a,l=e[0]&&Je();return{c(){l&&l.c(),u=b(),t=v("div"),r=v("p"),r.textContent=`${e[5](30)}`,s=b(),a=v("p"),a.textContent=`${e[5](40)}`,g(r,"class","pagefind-ui__result-title pagefind-ui__loading svelte-4xnkmf"),g(a,"class","pagefind-ui__result-excerpt pagefind-ui__loading svelte-4xnkmf"),g(t,"class","pagefind-ui__result-inner svelte-4xnkmf")},m(n,i){l&&l.m(n,i),T(n,u,i),T(n,t,i),B(t,r),B(t,s),B(t,a)},p(n,i){n[0]?l||(l=Je(),l.c(),l.m(u.parentNode,u)):l&&(l.d(1),l=null)},d(n){l&&l.d(n),n&&p(u),n&&p(t)}}}function ys(e){let u,t,r,s,a=e[1].meta?.title+"",l,n,i,f,o,h=e[0]&&We(e),C=e[4]&&Ye(e),E=e[3],c=[];for(let d=0;de.toLocaleUpperCase();function js(e,u,t){let{show_images:r=!0}=u,{process_result:s=null}=u,{result:a={data:async()=>{}}}=u;const l=["title","image","image_alt","url"];let n,i=[],f=[],o=!1;const h=(c,_)=>{if(c.length<=_)return c;const d=[...c].sort((R,A)=>A.locations.length-R.locations.length).slice(0,3).map(R=>R.url);return c.filter(R=>d.includes(R.url))},C=async c=>{t(1,n=await c.data()),t(1,n=s?.(n)??n),t(2,i=Object.entries(n.meta).filter(([_])=>!l.includes(_))),Array.isArray(n.sub_results)&&(t(4,o=n.sub_results?.[0]?.url===(n.meta?.url||n.url)),o?t(3,f=h(n.sub_results.slice(1),3)):t(3,f=h([...n.sub_results],3)))},E=(c=30)=>". ".repeat(Math.floor(10+Math.random()*c));return e.$$set=c=>{"show_images"in c&&t(0,r=c.show_images),"process_result"in c&&t(6,s=c.process_result),"result"in c&&t(7,a=c.result)},e.$$.update=()=>{e.$$.dirty&128&&C(a)},[r,n,i,f,o,E,s,a]}var Os=class extends Ce{constructor(e){super(),he(this,e,js,zs,fe,{show_images:0,process_result:6,result:7})}},Us=Os;function uu(e,u,t){const r=e.slice();return r[10]=u[t][0],r[11]=u[t][1],r[12]=u,r[13]=t,r}function tu(e,u,t){const r=e.slice();return r[14]=u[t][0],r[15]=u[t][1],r[16]=u,r[17]=t,r}function ru(e){let u,t,r=e[4]("filters_label",e[5],e[6])+"",s,a,l=Object.entries(e[1]),n=[];for(let i=0;ie.toLocaleUpperCase(),iu=e=>e.toLowerCase();function Ps(e,u,t){let{available_filters:r=null}=u,{show_empty_filters:s=!0}=u,{open_filters:a=[]}=u,{translate:l=()=>""}=u,{automatic_translations:n={}}=u,{translations:i={}}=u,{selected_filters:f={}}=u,o=!1,h=!1;function C(E,c){f[`${E}:${c}`]=this.checked,t(0,f)}return e.$$set=E=>{"available_filters"in E&&t(1,r=E.available_filters),"show_empty_filters"in E&&t(2,s=E.show_empty_filters),"open_filters"in E&&t(3,a=E.open_filters),"translate"in E&&t(4,l=E.translate),"automatic_translations"in E&&t(5,n=E.automatic_translations),"translations"in E&&t(6,i=E.translations),"selected_filters"in E&&t(0,f=E.selected_filters)},e.$$.update=()=>{if(e.$$.dirty&258&&r&&!o){t(8,o=!0);let E=Object.entries(r||{});E.length===1&&Object.entries(E[0][1])?.length<=6&&t(7,h=!0)}},[f,r,s,a,l,n,i,h,o,C]}var Ls=class extends Ce{constructor(e){super(),he(this,e,Ps,Is,fe,{available_filters:1,show_empty_filters:2,open_filters:3,translate:4,automatic_translations:5,translations:6,selected_filters:0})}},xs=Ls,Ru={};F(Ru,{comments:()=>vu,default:()=>qs,direction:()=>pu,strings:()=>Tu,thanks_to:()=>Bu});var Bu="Jan Claasen ",vu="",pu="ltr",Tu={placeholder:"Soek",clear_search:"Opruim",load_more:"Laai nog resultate",search_label:"Soek hierdie webwerf",filters_label:"Filters",zero_results:"Geen resultate vir [SEARCH_TERM]",many_results:"[COUNT] resultate vir [SEARCH_TERM]",one_result:"[COUNT] resultate vir [SEARCH_TERM]",alt_search:"Geen resultate vir [SEARCH_TERM]. Toon resultate vir [DIFFERENT_TERM] in plaas daarvan",search_suggestion:"Geen resultate vir [SEARCH_TERM]. Probeer eerder een van die volgende terme:",searching:"Soek vir [SEARCH_TERM]"},qs={thanks_to:Bu,comments:vu,direction:pu,strings:Tu},Fu={};F(Fu,{comments:()=>Du,default:()=>Vs,direction:()=>bu,strings:()=>Mu,thanks_to:()=>ku});var ku="Jermanuts",Du="",bu="rtl",Mu={placeholder:"بحث",clear_search:"امسح",load_more:"حمِّل المزيد من النتائج",search_label:"ابحث في هذا الموقع",filters_label:"تصفيات",zero_results:"لا توجد نتائج ل [SEARCH_TERM]",many_results:"[COUNT] نتائج ل [SEARCH_TERM]",one_result:"[COUNT] نتيجة ل [SEARCH_TERM]",alt_search:"لا توجد نتائج ل [SEARCH_TERM]. يعرض النتائج ل [DIFFERENT_TERM] بدلاً من ذلك",search_suggestion:"لا توجد نتائج ل [SEARCH_TERM]. جرب أحد عمليات البحث التالية:",searching:"يبحث عن [SEARCH_TERM]..."},Vs={thanks_to:ku,comments:Du,direction:bu,strings:Mu},Su={};F(Su,{comments:()=>wu,default:()=>Ks,direction:()=>Nu,strings:()=>yu,thanks_to:()=>Hu});var Hu="Maruf Alom ",wu="",Nu="ltr",yu={placeholder:"অনুসন্ধান করুন",clear_search:"মুছে ফেলুন",load_more:"আরো ফলাফল দেখুন",search_label:"এই ওয়েবসাইটে অনুসন্ধান করুন",filters_label:"ফিল্টার",zero_results:"[SEARCH_TERM] এর জন্য কিছু খুঁজে পাওয়া যায়নি",many_results:"[COUNT]-টি ফলাফল পাওয়া গিয়েছে [SEARCH_TERM] এর জন্য",one_result:"[COUNT]-টি ফলাফল পাওয়া গিয়েছে [SEARCH_TERM] এর জন্য",alt_search:"কোন কিছু খুঁজে পাওয়া যায়নি [SEARCH_TERM] এর জন্য. পরিবর্তে [DIFFERENT_TERM] এর জন্য দেখানো হচ্ছে",search_suggestion:"কোন কিছু খুঁজে পাওয়া যায়নি [SEARCH_TERM] এর বিষয়ে. নিন্মের বিষয়বস্তু খুঁজে দেখুন:",searching:"অনুসন্ধান চলছে [SEARCH_TERM]..."},Ks={thanks_to:Hu,comments:wu,direction:Nu,strings:yu},zu={};F(zu,{comments:()=>Ou,default:()=>Gs,direction:()=>Uu,strings:()=>Iu,thanks_to:()=>ju});var ju="Pablo Villaverde ",Ou="",Uu="ltr",Iu={placeholder:"Cerca",clear_search:"Netejar",load_more:"Veure més resultats",search_label:"Cerca en aquest lloc",filters_label:"Filtres",zero_results:"No es van trobar resultats per [SEARCH_TERM]",many_results:"[COUNT] resultats trobats per [SEARCH_TERM]",one_result:"[COUNT] resultat trobat per [SEARCH_TERM]",alt_search:"No es van trobar resultats per [SEARCH_TERM]. Mostrant al seu lloc resultats per [DIFFERENT_TERM]",search_suggestion:"No es van trobar resultats per [SEARCH_TERM]. Proveu una de les cerques següents:",searching:"Cercant [SEARCH_TERM]..."},Gs={thanks_to:ju,comments:Ou,direction:Uu,strings:Iu},Pu={};F(Pu,{comments:()=>xu,default:()=>Js,direction:()=>qu,strings:()=>Vu,thanks_to:()=>Lu});var Lu="Dalibor Hon ",xu="",qu="ltr",Vu={placeholder:"Hledat",clear_search:"Smazat",load_more:"Načíst další výsledky",search_label:"Prohledat tuto stránku",filters_label:"Filtry",zero_results:"Žádné výsledky pro [SEARCH_TERM]",many_results:"[COUNT] výsledků pro [SEARCH_TERM]",one_result:"[COUNT] výsledek pro [SEARCH_TERM]",alt_search:"Žádné výsledky pro [SEARCH_TERM]. Zobrazují se výsledky pro [DIFFERENT_TERM]",search_suggestion:"Žádné výsledky pro [SEARCH_TERM]. Související výsledky hledání:",searching:"Hledám [SEARCH_TERM]..."},Js={thanks_to:Lu,comments:xu,direction:qu,strings:Vu},Ku={};F(Ku,{comments:()=>Ju,default:()=>Ws,direction:()=>Wu,strings:()=>Zu,thanks_to:()=>Gu});var Gu="Jonas Smedegaard ",Ju="",Wu="ltr",Zu={placeholder:"Søg",clear_search:"Nulstil",load_more:"Indlæs flere resultater",search_label:"Søg på dette website",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Prøv et af disse søgeord i stedet:",searching:"Søger efter [SEARCH_TERM]..."},Ws={thanks_to:Gu,comments:Ju,direction:Wu,strings:Zu},Yu={};F(Yu,{comments:()=>Qu,default:()=>Zs,direction:()=>$u,strings:()=>et,thanks_to:()=>Xu});var Xu="Jan Claasen ",Qu="",$u="ltr",et={placeholder:"Suche",clear_search:"Löschen",load_more:"Mehr Ergebnisse laden",search_label:"Suche diese Seite",filters_label:"Filter",zero_results:"Keine Ergebnisse für [SEARCH_TERM]",many_results:"[COUNT] Ergebnisse für [SEARCH_TERM]",one_result:"[COUNT] Ergebnis für [SEARCH_TERM]",alt_search:"Keine Ergebnisse für [SEARCH_TERM]. Stattdessen werden Ergebnisse für [DIFFERENT_TERM] angezeigt",search_suggestion:"Keine Ergebnisse für [SEARCH_TERM]. Versuchen Sie eine der folgenden Suchen:",searching:"Suche für [SEARCH_TERM]"},Zs={thanks_to:Xu,comments:Qu,direction:$u,strings:et},ut={};F(ut,{comments:()=>rt,default:()=>Ys,direction:()=>st,strings:()=>at,thanks_to:()=>tt});var tt="Liam Bigelow ",rt="",st="ltr",at={placeholder:"Search",clear_search:"Clear",load_more:"Load more results",search_label:"Search this site",filters_label:"Filters",zero_results:"No results for [SEARCH_TERM]",many_results:"[COUNT] results for [SEARCH_TERM]",one_result:"[COUNT] result for [SEARCH_TERM]",alt_search:"No results for [SEARCH_TERM]. Showing results for [DIFFERENT_TERM] instead",search_suggestion:"No results for [SEARCH_TERM]. Try one of the following searches:",searching:"Searching for [SEARCH_TERM]..."},Ys={thanks_to:tt,comments:rt,direction:st,strings:at},lt={};F(lt,{comments:()=>it,default:()=>Xs,direction:()=>ot,strings:()=>_t,thanks_to:()=>nt});var nt="Pablo Villaverde ",it="",ot="ltr",_t={placeholder:"Buscar",clear_search:"Limpiar",load_more:"Ver más resultados",search_label:"Buscar en este sitio",filters_label:"Filtros",zero_results:"No se encontraron resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"No se encontraron resultados para [SEARCH_TERM]. Mostrando en su lugar resultados para [DIFFERENT_TERM]",search_suggestion:"No se encontraron resultados para [SEARCH_TERM]. Prueba una de las siguientes búsquedas:",searching:"Buscando [SEARCH_TERM]..."},Xs={thanks_to:nt,comments:it,direction:ot,strings:_t},ct={};F(ct,{comments:()=>Et,default:()=>Qs,direction:()=>dt,strings:()=>ht,thanks_to:()=>ft});var ft="Ali Khaleqi Yekta ",Et="",dt="rtl",ht={placeholder:"جستجو",clear_search:"پاکسازی",load_more:"بارگذاری نتایج بیشتر",search_label:"جستجو در سایت",filters_label:"فیلترها",zero_results:"نتیجه‌ای برای [SEARCH_TERM] یافت نشد",many_results:"[COUNT] نتیجه برای [SEARCH_TERM] یافت شد",one_result:"[COUNT] نتیجه برای [SEARCH_TERM] یافت شد",alt_search:"نتیجه‌ای برای [SEARCH_TERM] یافت نشد. در عوض نتایج برای [DIFFERENT_TERM] نمایش داده می‌شود",search_suggestion:"نتیجه‌ای برای [SEARCH_TERM] یافت نشد. یکی از جستجوهای زیر را امتحان کنید:",searching:"در حال جستجوی [SEARCH_TERM]..."},Qs={thanks_to:ft,comments:Et,direction:dt,strings:ht},Ct={};F(Ct,{comments:()=>gt,default:()=>$s,direction:()=>At,strings:()=>Rt,thanks_to:()=>mt});var mt="Valtteri Laitinen ",gt="",At="ltr",Rt={placeholder:"Haku",clear_search:"Tyhjennä",load_more:"Lataa lisää tuloksia",search_label:"Hae tältä sivustolta",filters_label:"Suodattimet",zero_results:"Ei tuloksia haulle [SEARCH_TERM]",many_results:"[COUNT] tulosta haulle [SEARCH_TERM]",one_result:"[COUNT] tulos haulle [SEARCH_TERM]",alt_search:"Ei tuloksia haulle [SEARCH_TERM]. Näytetään tulokset sen sijaan haulle [DIFFERENT_TERM]",search_suggestion:"Ei tuloksia haulle [SEARCH_TERM]. Kokeile jotain seuraavista:",searching:"Haetaan [SEARCH_TERM]..."},$s={thanks_to:mt,comments:gt,direction:At,strings:Rt},Bt={};F(Bt,{comments:()=>pt,default:()=>ea,direction:()=>Tt,strings:()=>Ft,thanks_to:()=>vt});var vt="Nicolas Friedli ",pt="",Tt="ltr",Ft={placeholder:"Rechercher",clear_search:"Nettoyer",load_more:"Charger plus de résultats",search_label:"Recherche sur ce site",filters_label:"Filtres",zero_results:"Pas de résultat pour [SEARCH_TERM]",many_results:"[COUNT] résultats pour [SEARCH_TERM]",one_result:"[COUNT] résultat pour [SEARCH_TERM]",alt_search:"Pas de résultat pour [SEARCH_TERM]. Montre les résultats pour [DIFFERENT_TERM] à la place",search_suggestion:"Pas de résultat pour [SEARCH_TERM]. Essayer une des recherches suivantes:",searching:"Recherche [SEARCH_TERM]..."},ea={thanks_to:vt,comments:pt,direction:Tt,strings:Ft},kt={};F(kt,{comments:()=>bt,default:()=>ua,direction:()=>Mt,strings:()=>St,thanks_to:()=>Dt});var Dt="Pablo Villaverde ",bt="",Mt="ltr",St={placeholder:"Buscar",clear_search:"Limpar",load_more:"Ver máis resultados",search_label:"Buscar neste sitio",filters_label:"Filtros",zero_results:"Non se atoparon resultados para [SEARCH_TERM]",many_results:"[COUNT] resultados atopados para [SEARCH_TERM]",one_result:"[COUNT] resultado atopado para [SEARCH_TERM]",alt_search:"Non se atoparon resultados para [SEARCH_TERM]. Amosando no seu lugar resultados para [DIFFERENT_TERM]",search_suggestion:"Non se atoparon resultados para [SEARCH_TERM]. Probe unha das seguintes pesquisas:",searching:"Buscando [SEARCH_TERM]..."},ua={thanks_to:Dt,comments:bt,direction:Mt,strings:St},Ht={};F(Ht,{comments:()=>Nt,default:()=>ta,direction:()=>yt,strings:()=>zt,thanks_to:()=>wt});var wt="Nir Tamir ",Nt="",yt="rtl",zt={placeholder:"חיפוש",clear_search:"ניקוי",load_more:"עוד תוצאות",search_label:"חיפוש באתר זה",filters_label:"מסננים",zero_results:"לא נמצאו תוצאות עבור [SEARCH_TERM]",many_results:"נמצאו [COUNT] תוצאות עבור [SEARCH_TERM]",one_result:"נמצאה תוצאה אחת עבור [SEARCH_TERM]",alt_search:"לא נמצאו תוצאות עבור [SEARCH_TERM]. מוצגות תוצאות עבור [DIFFERENT_TERM]",search_suggestion:"לא נמצאו תוצאות עבור [SEARCH_TERM]. נסו אחד מהחיפושים הבאים:",searching:"מחפש את [SEARCH_TERM]..."},ta={thanks_to:wt,comments:Nt,direction:yt,strings:zt},jt={};F(jt,{comments:()=>Ut,default:()=>ra,direction:()=>It,strings:()=>Pt,thanks_to:()=>Ot});var Ot="Amit Yadav ",Ut="",It="ltr",Pt={placeholder:"खोजें",clear_search:"साफ करें",load_more:"और अधिक परिणाम लोड करें",search_label:"इस साइट में खोजें",filters_label:"फ़िल्टर",zero_results:"कोई परिणाम [SEARCH_TERM] के लिए नहीं मिला",many_results:"[COUNT] परिणाम [SEARCH_TERM] के लिए मिले",one_result:"[COUNT] परिणाम [SEARCH_TERM] के लिए मिला",alt_search:"[SEARCH_TERM] के लिए कोई परिणाम नहीं मिला। इसके बजाय [DIFFERENT_TERM] के लिए परिणाम दिखा रहा है",search_suggestion:"[SEARCH_TERM] के लिए कोई परिणाम नहीं मिला। निम्नलिखित खोजों में से कोई एक आज़माएं:",searching:"[SEARCH_TERM] की खोज की जा रही है..."},ra={thanks_to:Ot,comments:Ut,direction:It,strings:Pt},Lt={};F(Lt,{comments:()=>qt,default:()=>sa,direction:()=>Vt,strings:()=>Kt,thanks_to:()=>xt});var xt="Diomed ",qt="",Vt="ltr",Kt={placeholder:"Traži",clear_search:"Očisti",load_more:"Učitaj više rezultata",search_label:"Pretraži ovu stranicu",filters_label:"Filteri",zero_results:"Nema rezultata za [SEARCH_TERM]",many_results:"[COUNT] rezultata za [SEARCH_TERM]",one_result:"[COUNT] rezultat za [SEARCH_TERM]",alt_search:"Nema rezultata za [SEARCH_TERM]. Prikazujem rezultate za [DIFFERENT_TERM]",search_suggestion:"Nema rezultata za [SEARCH_TERM]. Pokušaj s jednom od ovih pretraga:",searching:"Pretražujem [SEARCH_TERM]..."},sa={thanks_to:xt,comments:qt,direction:Vt,strings:Kt},Gt={};F(Gt,{comments:()=>Wt,default:()=>aa,direction:()=>Zt,strings:()=>Yt,thanks_to:()=>Jt});var Jt="Adam Laki ",Wt="",Zt="ltr",Yt={placeholder:"Keresés",clear_search:"Törlés",load_more:"További találatok betöltése",search_label:"Keresés az oldalon",filters_label:"Szűrés",zero_results:"Nincs találat a(z) [SEARCH_TERM] kifejezésre",many_results:"[COUNT] db találat a(z) [SEARCH_TERM] kifejezésre",one_result:"[COUNT] db találat a(z) [SEARCH_TERM] kifejezésre",alt_search:"Nincs találat a(z) [SEARCH_TERM] kifejezésre. Találatok mutatása inkább a(z) [DIFFERENT_TERM] kifejezésre",search_suggestion:"Nincs találat a(z) [SEARCH_TERM] kifejezésre. Próbáld meg a következő keresések egyikét:",searching:"Keresés a(z) [SEARCH_TERM] kifejezésre..."},aa={thanks_to:Jt,comments:Wt,direction:Zt,strings:Yt},Xt={};F(Xt,{comments:()=>$t,default:()=>la,direction:()=>er,strings:()=>ur,thanks_to:()=>Qt});var Qt="Nixentric",$t="",er="ltr",ur={placeholder:"Cari",clear_search:"Bersihkan",load_more:"Muat lebih banyak hasil",search_label:"Telusuri situs ini",filters_label:"Filter",zero_results:"[SEARCH_TERM] tidak ditemukan",many_results:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",one_result:"Ditemukan [COUNT] hasil untuk [SEARCH_TERM]",alt_search:"[SEARCH_TERM] tidak ditemukan. Menampilkan hasil [DIFFERENT_TERM] sebagai gantinya",search_suggestion:"[SEARCH_TERM] tidak ditemukan. Coba salah satu pencarian berikut ini:",searching:"Mencari [SEARCH_TERM]..."},la={thanks_to:Qt,comments:$t,direction:er,strings:ur},tr={};F(tr,{comments:()=>sr,default:()=>na,direction:()=>ar,strings:()=>lr,thanks_to:()=>rr});var rr="Cosette Bruhns Alonso, Andrew Janco ",sr="",ar="ltr",lr={placeholder:"Cerca",clear_search:"Cancella la cronologia",load_more:"Mostra più risultati",search_label:"Cerca nel sito",filters_label:"Filtri di ricerca",zero_results:"Nessun risultato per [SEARCH_TERM]",many_results:"[COUNT] risultati per [SEARCH_TERM]",one_result:"[COUNT] risultato per [SEARCH_TERM]",alt_search:"Nessun risultato per [SEARCH_TERM]. Mostrando risultati per [DIFFERENT_TERM] come alternativa.",search_suggestion:"Nessun risultato per [SEARCH_TERM]. Prova una delle seguenti ricerche:",searching:"Cercando [SEARCH_TERM]..."},na={thanks_to:rr,comments:sr,direction:ar,strings:lr},nr={};F(nr,{comments:()=>or,default:()=>ia,direction:()=>_r,strings:()=>cr,thanks_to:()=>ir});var ir="Tate",or="",_r="ltr",cr={placeholder:"検索",clear_search:"クリア",load_more:"次を読み込む",search_label:"このサイトを検索",filters_label:"フィルタ",zero_results:"[SEARCH_TERM]の検索に一致する情報はありませんでした",many_results:"[SEARCH_TERM]の[COUNT]件の検索結果",one_result:"[SEARCH_TERM]の[COUNT]件の検索結果",alt_search:"[SEARCH_TERM]の検索に一致する情報はありませんでした。[DIFFERENT_TERM]の検索結果を表示しています",search_suggestion:"[SEARCH_TERM]の検索に一致する情報はありませんでした。次のいずれかの検索を試してください",searching:"[SEARCH_TERM]を検索しています"},ia={thanks_to:ir,comments:or,direction:_r,strings:cr},fr={};F(fr,{comments:()=>dr,default:()=>oa,direction:()=>hr,strings:()=>Cr,thanks_to:()=>Er});var Er="Seokho Son ",dr="",hr="ltr",Cr={placeholder:"검색어",clear_search:"비우기",load_more:"검색 결과 더 보기",search_label:"사이트 검색",filters_label:"필터",zero_results:"[SEARCH_TERM]에 대한 결과 없음",many_results:"[SEARCH_TERM]에 대한 결과 [COUNT]건",one_result:"[SEARCH_TERM]에 대한 결과 [COUNT]건",alt_search:"[SEARCH_TERM]에 대한 결과 없음. [DIFFERENT_TERM]에 대한 결과",search_suggestion:"[SEARCH_TERM]에 대한 결과 없음. 추천 검색어: ",searching:"[SEARCH_TERM] 검색 중..."},oa={thanks_to:Er,comments:dr,direction:hr,strings:Cr},mr={};F(mr,{comments:()=>Ar,default:()=>_a,direction:()=>Rr,strings:()=>Br,thanks_to:()=>gr});var gr="",Ar="",Rr="ltr",Br={placeholder:"Rapu",clear_search:"Whakakore",load_more:"Whakauta ētahi otinga kē",search_label:"Rapu",filters_label:"Tātari",zero_results:"Otinga kore ki [SEARCH_TERM]",many_results:"[COUNT] otinga ki [SEARCH_TERM]",one_result:"[COUNT] otinga ki [SEARCH_TERM]",alt_search:"Otinga kore ki [SEARCH_TERM]. Otinga kē ki [DIFFERENT_TERM]",search_suggestion:"Otinga kore ki [SEARCH_TERM]. whakamātau ki ngā mea atu:",searching:"Rapu ki [SEARCH_TERM]..."},_a={thanks_to:gr,comments:Ar,direction:Rr,strings:Br},vr={};F(vr,{comments:()=>Tr,default:()=>ca,direction:()=>Fr,strings:()=>kr,thanks_to:()=>pr});var pr="Paul van Brouwershaven",Tr="",Fr="ltr",kr={placeholder:"Zoeken",clear_search:"Reset",load_more:"Meer resultaten laden",search_label:"Doorzoek deze site",filters_label:"Filters",zero_results:"Geen resultaten voor [SEARCH_TERM]",many_results:"[COUNT] resultaten voor [SEARCH_TERM]",one_result:"[COUNT] resultaat voor [SEARCH_TERM]",alt_search:"Geen resultaten voor [SEARCH_TERM]. In plaats daarvan worden resultaten voor [DIFFERENT_TERM] weergegeven",search_suggestion:"Geen resultaten voor [SEARCH_TERM]. Probeer een van de volgende zoekopdrachten:",searching:"Zoeken naar [SEARCH_TERM]..."},ca={thanks_to:pr,comments:Tr,direction:Fr,strings:kr},Dr={};F(Dr,{comments:()=>Mr,default:()=>fa,direction:()=>Sr,strings:()=>Hr,thanks_to:()=>br});var br="Christopher Wingate",Mr="",Sr="ltr",Hr={placeholder:"Søk",clear_search:"Fjern",load_more:"Last flere resultater",search_label:"Søk på denne siden",filters_label:"Filtre",zero_results:"Ingen resultater for [SEARCH_TERM]",many_results:"[COUNT] resultater for [SEARCH_TERM]",one_result:"[COUNT] resultat for [SEARCH_TERM]",alt_search:"Ingen resultater for [SEARCH_TERM]. Viser resultater for [DIFFERENT_TERM] i stedet",search_suggestion:"Ingen resultater for [SEARCH_TERM]. Prøv en av disse søkeordene i stedet:",searching:"Søker etter [SEARCH_TERM]"},fa={thanks_to:br,comments:Mr,direction:Sr,strings:Hr},wr={};F(wr,{comments:()=>yr,default:()=>Ea,direction:()=>zr,strings:()=>jr,thanks_to:()=>Nr});var Nr="",yr="",zr="ltr",jr={placeholder:"Szukaj",clear_search:"Wyczyść",load_more:"Załaduj więcej",search_label:"Przeszukaj tę stronę",filters_label:"Filtry",zero_results:"Brak wyników dla [SEARCH_TERM]",many_results:"[COUNT] wyników dla [SEARCH_TERM]",one_result:"[COUNT] wynik dla [SEARCH_TERM]",alt_search:"Brak wyników dla [SEARCH_TERM]. Wyświetlam wyniki dla [DIFFERENT_TERM]",search_suggestion:"Brak wyników dla [SEARCH_TERM]. Pokrewne wyniki wyszukiwania:",searching:"Szukam [SEARCH_TERM]..."},Ea={thanks_to:Nr,comments:yr,direction:zr,strings:jr},Or={};F(Or,{comments:()=>Ir,default:()=>da,direction:()=>Pr,strings:()=>Lr,thanks_to:()=>Ur});var Ur="Jonatah",Ir="",Pr="ltr",Lr={placeholder:"Pesquisar",clear_search:"Limpar",load_more:"Ver mais resultados",search_label:"Pesquisar",filters_label:"Filtros",zero_results:"Nenhum resultado encontrado para [SEARCH_TERM]",many_results:"[COUNT] resultados encontrados para [SEARCH_TERM]",one_result:"[COUNT] resultado encontrado para [SEARCH_TERM]",alt_search:"Nenhum resultado encontrado para [SEARCH_TERM]. Exibindo resultados para [DIFFERENT_TERM]",search_suggestion:"Nenhum resultado encontrado para [SEARCH_TERM]. Tente uma das seguintes pesquisas:",searching:"Pesquisando por [SEARCH_TERM]..."},da={thanks_to:Ur,comments:Ir,direction:Pr,strings:Lr},xr={};F(xr,{comments:()=>Vr,default:()=>ha,direction:()=>Kr,strings:()=>Gr,thanks_to:()=>qr});var qr="Bogdan Mateescu ",Vr="",Kr="ltr",Gr={placeholder:"Căutare",clear_search:"Ştergeţi",load_more:"Încărcați mai multe rezultate",search_label:"Căutați în acest site",filters_label:"Filtre",zero_results:"Niciun rezultat pentru [SEARCH_TERM]",many_results:"[COUNT] rezultate pentru [SEARCH_TERM]",one_result:"[COUNT] rezultat pentru [SEARCH_TERM]",alt_search:"Niciun rezultat pentru [SEARCH_TERM]. Se afișează în schimb rezultatele pentru [DIFFERENT_TERM]",search_suggestion:"Niciun rezultat pentru [SEARCH_TERM]. Încercați una dintre următoarele căutări:",searching:"Se caută după: [SEARCH_TERM]..."},ha={thanks_to:qr,comments:Vr,direction:Kr,strings:Gr},Jr={};F(Jr,{comments:()=>Zr,default:()=>Ca,direction:()=>Yr,strings:()=>Xr,thanks_to:()=>Wr});var Wr="Aleksandr Gordeev",Zr="",Yr="ltr",Xr={placeholder:"Поиск",clear_search:"Очистить поле",load_more:"Загрузить еще",search_label:"Поиск по сайту",filters_label:"Фильтры",zero_results:"Ничего не найдено по запросу: [SEARCH_TERM]",many_results:"[COUNT] результатов по запросу: [SEARCH_TERM]",one_result:"[COUNT] результат по запросу: [SEARCH_TERM]",alt_search:"Ничего не найдено по запросу: [SEARCH_TERM]. Показаны результаты по запросу: [DIFFERENT_TERM]",search_suggestion:"Ничего не найдено по запросу: [SEARCH_TERM]. Попробуйте один из следующих вариантов",searching:"Поиск по запросу: [SEARCH_TERM]"},Ca={thanks_to:Wr,comments:Zr,direction:Yr,strings:Xr},Qr={};F(Qr,{comments:()=>e0,default:()=>ma,direction:()=>u0,strings:()=>t0,thanks_to:()=>$r});var $r="Andrija Sagicc",e0="",u0="ltr",t0={placeholder:"Претрага",clear_search:"Брисање",load_more:"Приказ више резултата",search_label:"Претрага сајта",filters_label:"Филтери",zero_results:"Нема резултата за [SEARCH_TERM]",many_results:"[COUNT] резултата за [SEARCH_TERM]",one_result:"[COUNT] резултата за [SEARCH_TERM]",alt_search:"Нема резултата за [SEARCH_TERM]. Приказ додатник резултата за [DIFFERENT_TERM]",search_suggestion:"Нема резултата за [SEARCH_TERM]. Покушајте са неком од следећих претрага:",searching:"Претрага термина [SEARCH_TERM]..."},ma={thanks_to:$r,comments:e0,direction:u0,strings:t0},r0={};F(r0,{comments:()=>a0,default:()=>ga,direction:()=>l0,strings:()=>n0,thanks_to:()=>s0});var s0="Montazar Al-Jaber ",a0="",l0="ltr",n0={placeholder:"Sök",clear_search:"Rensa",load_more:"Visa fler träffar",search_label:"Sök på denna sida",filters_label:"Filter",zero_results:"[SEARCH_TERM] gav inga träffar",many_results:"[SEARCH_TERM] gav [COUNT] träffar",one_result:"[SEARCH_TERM] gav [COUNT] träff",alt_search:"[SEARCH_TERM] gav inga träffar. Visar resultat för [DIFFERENT_TERM] istället",search_suggestion:"[SEARCH_TERM] gav inga träffar. Försök igen med en av följande sökord:",searching:"Söker efter [SEARCH_TERM]..."},ga={thanks_to:s0,comments:a0,direction:l0,strings:n0},i0={};F(i0,{comments:()=>_0,default:()=>Aa,direction:()=>c0,strings:()=>f0,thanks_to:()=>o0});var o0="Anonymous",_0="",c0="ltr",f0={placeholder:"Tafuta",clear_search:"Futa",load_more:"Pakia matokeo zaidi",search_label:"Tafuta tovuti hii",filters_label:"Vichujio",zero_results:"Hakuna matokeo ya [SEARCH_TERM]",many_results:"Matokeo [COUNT] ya [SEARCH_TERM]",one_result:"Tokeo [COUNT] la [SEARCH_TERM]",alt_search:"Hakuna mayokeo ya [SEARCH_TERM]. Badala yake, inaonyesha matokeo ya [DIFFERENT_TERM]",search_suggestion:"Hakuna matokeo ya [SEARCH_TERM]. Jaribu mojawapo ya utafutaji ufuatao:",searching:"Kutafuta [SEARCH_TERM]..."},Aa={thanks_to:o0,comments:_0,direction:c0,strings:f0},E0={};F(E0,{comments:()=>h0,default:()=>Ra,direction:()=>C0,strings:()=>m0,thanks_to:()=>d0});var d0="",h0="",C0="ltr",m0={placeholder:"தேடுக",clear_search:"அழிக்குக",load_more:"மேலும் முடிவுகளைக் காட்டுக",search_label:"இந்த தளத்தில் தேடுக",filters_label:"வடிகட்டல்கள்",zero_results:"[SEARCH_TERM] க்கான முடிவுகள் இல்லை",many_results:"[SEARCH_TERM] க்கான [COUNT] முடிவுகள்",one_result:"[SEARCH_TERM] க்கான முடிவு",alt_search:"[SEARCH_TERM] இத்தேடலுக்கான முடிவுகள் இல்லை, இந்த தேடல்களுக்கான ஒத்த முடிவுகள் [DIFFERENT_TERM]",search_suggestion:"[SEARCH_TERM] இத் தேடலுக்கான முடிவுகள் இல்லை.இதற்கு பதிலீடான தேடல்களை தேடுக:",searching:"[SEARCH_TERM] தேடப்படுகின்றது"},Ra={thanks_to:d0,comments:h0,direction:C0,strings:m0},g0={};F(g0,{comments:()=>R0,default:()=>Ba,direction:()=>B0,strings:()=>v0,thanks_to:()=>A0});var A0="Taylan Özgür Bildik",R0="",B0="ltr",v0={placeholder:"Araştır",clear_search:"Temizle",load_more:"Daha fazla sonuç",search_label:"Site genelinde arama",filters_label:"Filtreler",zero_results:"[SEARCH_TERM] için sonuç yok",many_results:"[SEARCH_TERM] için [COUNT] sonuç bulundu",one_result:"[SEARCH_TERM] için [COUNT] sonuç bulundu",alt_search:"[SEARCH_TERM] için sonuç yok. Bunun yerine [DIFFERENT_TERM] için sonuçlar gösteriliyor",search_suggestion:"[SEARCH_TERM] için sonuç yok. Alternatif olarak aşağıdaki kelimelerden birini deneyebilirsiniz:",searching:"[SEARCH_TERM] araştırılıyor..."},Ba={thanks_to:A0,comments:R0,direction:B0,strings:v0},p0={};F(p0,{comments:()=>F0,default:()=>va,direction:()=>k0,strings:()=>D0,thanks_to:()=>T0});var T0="Vladyslav Lyshenko ",F0="",k0="ltr",D0={placeholder:"Пошук",clear_search:"Очистити поле",load_more:"Завантажити ще",search_label:"Пошук по сайту",filters_label:"Фільтри",zero_results:"Нічого не знайдено за запитом: [SEARCH_TERM]",many_results:"[COUNT] результатів на запит: [SEARCH_TERM]",one_result:"[COUNT] результат за запитом: [SEARCH_TERM]",alt_search:"Нічого не знайдено на запит: [SEARCH_TERM]. Показано результати на запит: [DIFFERENT_TERM]",search_suggestion:"Нічого не знайдено на запит: [SEARCH_TERM]. Спробуйте один із таких варіантів",searching:"Пошук за запитом: [SEARCH_TERM]"},va={thanks_to:T0,comments:F0,direction:k0,strings:D0},b0={};F(b0,{comments:()=>S0,default:()=>pa,direction:()=>H0,strings:()=>w0,thanks_to:()=>M0});var M0="Long Nhat Nguyen",S0="",H0="ltr",w0={placeholder:"Tìm kiếm",clear_search:"Xóa",load_more:"Nhiều kết quả hơn",search_label:"Tìm kiếm trong trang này",filters_label:"Bộ lọc",zero_results:"Không tìm thấy kết quả cho [SEARCH_TERM]",many_results:"[COUNT] kết quả cho [SEARCH_TERM]",one_result:"[COUNT] kết quả cho [SEARCH_TERM]",alt_search:"Không tìm thấy kết quả cho [SEARCH_TERM]. Kiểm thị kết quả thay thế với [DIFFERENT_TERM]",search_suggestion:"Không tìm thấy kết quả cho [SEARCH_TERM]. Thử một trong các tìm kiếm:",searching:"Đang tìm kiếm cho [SEARCH_TERM]..."},pa={thanks_to:M0,comments:S0,direction:H0,strings:w0},N0={};F(N0,{comments:()=>z0,default:()=>Ta,direction:()=>j0,strings:()=>O0,thanks_to:()=>y0});var y0="Amber Song",z0="",j0="ltr",O0={placeholder:"搜索",clear_search:"清除",load_more:"加载更多结果",search_label:"站内搜索",filters_label:"筛选",zero_results:"未找到 [SEARCH_TERM] 的相关结果",many_results:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",one_result:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",alt_search:"未找到 [SEARCH_TERM] 的相关结果。改为显示 [DIFFERENT_TERM] 的相关结果",search_suggestion:"未找到 [SEARCH_TERM] 的相关结果。请尝试以下搜索。",searching:"正在搜索 [SEARCH_TERM]..."},Ta={thanks_to:y0,comments:z0,direction:j0,strings:O0},U0={};F(U0,{comments:()=>P0,default:()=>Fa,direction:()=>L0,strings:()=>x0,thanks_to:()=>I0});var I0="Amber Song",P0="",L0="ltr",x0={placeholder:"搜索",clear_search:"清除",load_more:"加載更多結果",search_label:"站內搜索",filters_label:"篩選",zero_results:"未找到 [SEARCH_TERM] 的相關結果",many_results:"找到 [COUNT] 個 [SEARCH_TERM] 的相關結果",one_result:"找到 [COUNT] 個 [SEARCH_TERM] 的相關結果",alt_search:"未找到 [SEARCH_TERM] 的相關結果。改為顯示 [DIFFERENT_TERM] 的相關結果",search_suggestion:"未找到 [SEARCH_TERM] 的相關結果。請嘗試以下搜索。",searching:"正在搜索 [SEARCH_TERM]..."},Fa={thanks_to:I0,comments:P0,direction:L0,strings:x0},q0={};F(q0,{comments:()=>K0,default:()=>ka,direction:()=>G0,strings:()=>J0,thanks_to:()=>V0});var V0="Amber Song",K0="",G0="ltr",J0={placeholder:"搜索",clear_search:"清除",load_more:"加载更多结果",search_label:"站内搜索",filters_label:"筛选",zero_results:"未找到 [SEARCH_TERM] 的相关结果",many_results:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",one_result:"找到 [COUNT] 个 [SEARCH_TERM] 的相关结果",alt_search:"未找到 [SEARCH_TERM] 的相关结果。改为显示 [DIFFERENT_TERM] 的相关结果",search_suggestion:"未找到 [SEARCH_TERM] 的相关结果。请尝试以下搜索。",searching:"正在搜索 [SEARCH_TERM]..."},ka={thanks_to:V0,comments:K0,direction:G0,strings:J0},Da=[Ru,Fu,Su,zu,Pu,Ku,Yu,ut,lt,ct,Ct,Bt,kt,Ht,jt,Lt,Gt,Xt,tr,nr,fr,mr,vr,Dr,wr,Or,xr,Jr,Qr,r0,i0,E0,g0,p0,b0,N0,U0,q0],ba=Da,Ma=["../../translations/af.json","../../translations/ar.json","../../translations/bn.json","../../translations/ca.json","../../translations/cs.json","../../translations/da.json","../../translations/de.json","../../translations/en.json","../../translations/es.json","../../translations/fa.json","../../translations/fi.json","../../translations/fr.json","../../translations/gl.json","../../translations/he.json","../../translations/hi.json","../../translations/hr.json","../../translations/hu.json","../../translations/id.json","../../translations/it.json","../../translations/ja.json","../../translations/ko.json","../../translations/mi.json","../../translations/nl.json","../../translations/no.json","../../translations/pl.json","../../translations/pt.json","../../translations/ro.json","../../translations/ru.json","../../translations/sr.json","../../translations/sv.json","../../translations/sw.json","../../translations/ta.json","../../translations/tr.json","../../translations/uk.json","../../translations/vi.json","../../translations/zh-cn.json","../../translations/zh-tw.json","../../translations/zh.json"];function ou(e,u,t){const r=e.slice();return r[51]=u[t],r}function _u(e){let u,t,r;function s(l){e[37](l)}let a={show_empty_filters:e[5],open_filters:e[6],available_filters:e[18],translate:e[20],automatic_translations:e[19],translations:e[7]};return e[0]!==void 0&&(a.selected_filters=e[0]),u=new xs({props:a}),ae.push(()=>ps(u,"selected_filters",s)),{c(){ke(u.$$.fragment)},m(l,n){Ee(u,l,n),r=!0},p(l,n){const i={};n[0]&32&&(i.show_empty_filters=l[5]),n[0]&64&&(i.open_filters=l[6]),n[0]&262144&&(i.available_filters=l[18]),n[0]&524288&&(i.automatic_translations=l[19]),n[0]&128&&(i.translations=l[7]),!t&&n[0]&1&&(t=!0,i.selected_filters=l[0],gs(()=>t=!1)),u.$set(i)},i(l){r||(z(u.$$.fragment,l),r=!0)},o(l){U(u.$$.fragment,l),r=!1},d(l){de(u,l)}}}function cu(e){let u,t,r,s;const a=[Ha,Sa],l=[];function n(i,f){return i[14]?0:1}return t=n(e),r=l[t]=a[t](e),{c(){u=v("div"),r.c(),g(u,"class","pagefind-ui__results-area svelte-e9gkc3")},m(i,f){T(i,u,f),l[t].m(u,null),s=!0},p(i,f){let o=t;t=n(i),t===o?l[t].p(i,f):(le(),U(l[o],1,1,()=>{l[o]=null}),ne(),r=l[t],r?r.p(i,f):(r=l[t]=a[t](i),r.c()),z(r,1),r.m(u,null))},i(i){s||(z(r),s=!0)},o(i){U(r),s=!1},d(i){i&&p(u),l[t].d()}}}function Sa(e){let u,t,r,s=[],a=new Map,l,n,i;function f(_,d){return _[13].results.length===0?ya:_[13].results.length===1?Na:wa}let o=f(e),h=o(e),C=e[13].results.slice(0,e[17]);const E=_=>_[51].id;for(let _=0;_e[17]&&Eu(e);return{c(){u=v("p"),h.c(),t=b(),r=v("ol");for(let _=0;__[17]?c?c.p(_,d):(c=Eu(_),c.c(),c.m(n.parentNode,n)):c&&(c.d(1),c=null)},i(_){if(!i){for(let d=0;d{i[C]=null}),ne(),s=i[r],s?s.p(u,h):(s=i[r]=n[r](u),s.c()),z(s,1),s.m(a.parentNode,a))},i(o){l||(z(s),l=!0)},o(o){U(s),l=!1},d(o){o&&p(t),i[r].d(o),o&&p(a)}}}function Eu(e){let u,t=e[20]("load_more",e[19],e[7])+"",r,s,a;return{c(){u=v("button"),r=M(t),g(u,"type","button"),g(u,"class","pagefind-ui__button svelte-e9gkc3")},m(l,n){T(l,u,n),B(u,r),s||(a=G(u,"click",e[22]),s=!0)},p(l,n){n[0]&524416&&t!==(t=l[20]("load_more",l[19],l[7])+"")&&j(r,t)},d(l){l&&p(u),s=!1,a()}}}function du(e){let u,t=e[20]("searching",e[19],e[7]).replace(/\[SEARCH_TERM\]/,e[16])+"",r;return{c(){u=v("p"),r=M(t),g(u,"class","pagefind-ui__message svelte-e9gkc3")},m(s,a){T(s,u,a),B(u,r)},p(s,a){a[0]&589952&&t!==(t=s[20]("searching",s[19],s[7]).replace(/\[SEARCH_TERM\]/,s[16])+"")&&j(r,t)},d(s){s&&p(u)}}}function Oa(e){let u,t,r,s,a,l,n=e[20]("clear_search",e[19],e[7])+"",i,f,o,h,C,E,c,_,d=e[12]&&_u(e),R=e[15]&&cu(e);return{c(){u=v("div"),t=v("form"),r=v("input"),a=b(),l=v("button"),i=M(n),f=b(),o=v("div"),d&&d.c(),h=b(),R&&R.c(),g(r,"class","pagefind-ui__search-input svelte-e9gkc3"),g(r,"type","text"),g(r,"placeholder",s=e[20]("placeholder",e[19],e[7])),g(r,"autocapitalize","none"),g(r,"enterkeyhint","search"),r.autofocus=e[8],g(l,"class","pagefind-ui__search-clear svelte-e9gkc3"),K(l,"pagefind-ui__suppressed",!e[9]),g(o,"class","pagefind-ui__drawer svelte-e9gkc3"),K(o,"pagefind-ui__hidden",!e[15]),g(t,"class","pagefind-ui__form svelte-e9gkc3"),g(t,"role","search"),g(t,"aria-label",C=e[20]("search_label",e[19],e[7])),g(t,"action","javascript:void(0);"),g(u,"class","pagefind-ui svelte-e9gkc3"),K(u,"pagefind-ui--reset",e[1])},m(A,k){T(A,u,k),B(u,t),B(t,r),ze(r,e[9]),e[34](r),B(t,a),B(t,l),B(l,i),e[35](l),B(t,f),B(t,o),d&&d.m(o,null),B(o,h),R&&R.m(o,null),E=!0,e[8]&&r.focus(),c||(_=[G(r,"focus",e[21]),G(r,"keydown",e[32]),G(r,"input",e[33]),G(l,"click",e[36]),G(t,"submit",Ua)],c=!0)},p(A,k){(!E||k[0]&524416&&s!==(s=A[20]("placeholder",A[19],A[7])))&&g(r,"placeholder",s),(!E||k[0]&256)&&(r.autofocus=A[8]),k[0]&512&&r.value!==A[9]&&ze(r,A[9]),(!E||k[0]&524416)&&n!==(n=A[20]("clear_search",A[19],A[7])+"")&&j(i,n),(!E||k[0]&512)&&K(l,"pagefind-ui__suppressed",!A[9]),A[12]?d?(d.p(A,k),k[0]&4096&&z(d,1)):(d=_u(A),d.c(),z(d,1),d.m(o,h)):d&&(le(),U(d,1,1,()=>{d=null}),ne()),A[15]?R?(R.p(A,k),k[0]&32768&&z(R,1)):(R=cu(A),R.c(),z(R,1),R.m(o,null)):R&&(le(),U(R,1,1,()=>{R=null}),ne()),(!E||k[0]&32768)&&K(o,"pagefind-ui__hidden",!A[15]),(!E||k[0]&524416&&C!==(C=A[20]("search_label",A[19],A[7])))&&g(t,"aria-label",C),(!E||k[0]&2)&&K(u,"pagefind-ui--reset",A[1])},i(A){E||(z(d),z(R),E=!0)},o(A){U(d),U(R),E=!1},d(A){A&&p(u),e[34](null),e[35](null),d&&d.d(),R&&R.d(),c=!1,W(_)}}}var Ua=e=>e.preventDefault();function Ia(e,u,t){const r={},s=Ma.map(m=>m.match(/([^\/]+)\.json$/)[1]);for(let m=0;mN[m]??H[m]??"";ds(()=>{let m=document?.querySelector?.("html")?.getAttribute?.("lang")||"en",H=Au(m.toLocaleLowerCase());t(19,He=r[`${H.language}-${H.script}-${H.region}`]||r[`${H.language}-${H.region}`]||r[`${H.language}`]||r.en)}),hs(()=>{S?.destroy?.(),S=null});const we=async()=>{if(!me&&(t(12,me=!0),!S)){let m;try{m=await is(()=>import(`${a}pagefind.js`),[])}catch(N){console.error(N),console.error([`Pagefind couldn't be loaded from ${this.options.bundlePath}pagefind.js`,"You can configure this by passing a bundlePath option to PagefindUI"].join(` +`)),document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"?console.error(`[DEBUG: Loaded from ${document.currentScript.src??"bad script location"}]`):console.error("no known script location")}o||t(24,o=f?12:30);let H={...d||{},excerptLength:o};await m.options(H);for(const N of R){if(!N.bundlePath)throw new Error("mergeIndex requires a bundlePath parameter");const I=N.bundlePath;delete N.bundlePath,await m.mergeIndex(I,N)}S=m,Y0()}},Y0=async()=>{S&&(Se=await S.filters(),(!ue||!Object.keys(ue).length)&&t(18,ue=Se))},X0=m=>{let H={};return Object.entries(m).filter(([,N])=>N).forEach(([N])=>{let[I,Z]=N.split(/:(.*)$/);H[I]=H[I]||[],H[I].push(Z)}),H};let te;const Q0=async(m,H)=>{if(!m){t(15,Ae=!1),te&&clearTimeout(te);return}const N=X0(H),I=()=>$0(m,N);_>0&&m?(te&&clearTimeout(te),te=setTimeout(I,_),await Ne(),S.preload(m,{filters:N})):I(),es()},Ne=async()=>{for(;!S;)we(),await new Promise(m=>setTimeout(m,50))},$0=async(m,H)=>{t(16,Me=m||""),typeof C=="function"&&(m=C(m)),t(14,ge=!0),t(15,Ae=!0),await Ne();const N=++be,I={filters:H};q&&typeof q=="object"&&(I.sort=q);const Z=await S.search(m,I);be===N&&(Z.filters&&Object.keys(Z.filters)?.length&&t(18,ue=Z.filters),t(13,De=Z),t(14,ge=!1),t(17,Re=l))},es=()=>{const m=x.offsetWidth;m!=W0&&t(10,w.style.paddingRight=`${m+2}px`,w)},us=m=>{m?.preventDefault(),t(17,Re+=l)},ts=m=>{m.key==="Escape"&&(t(9,D=""),w.blur()),m.key==="Enter"&&m.preventDefault()};function rs(){D=this.value,t(9,D),t(23,A)}function ss(m){ae[m?"unshift":"push"](()=>{w=m,t(10,w)})}function as(m){ae[m?"unshift":"push"](()=>{x=m,t(11,x)})}const ls=()=>{t(9,D=""),w.blur()};function ns(m){L=m,t(0,L)}return e.$$set=m=>{"base_path"in m&&t(25,a=m.base_path),"page_size"in m&&t(26,l=m.page_size),"reset_styles"in m&&t(1,n=m.reset_styles),"show_images"in m&&t(2,i=m.show_images),"show_sub_results"in m&&t(3,f=m.show_sub_results),"excerpt_length"in m&&t(24,o=m.excerpt_length),"process_result"in m&&t(4,h=m.process_result),"process_term"in m&&t(27,C=m.process_term),"show_empty_filters"in m&&t(5,E=m.show_empty_filters),"open_filters"in m&&t(6,c=m.open_filters),"debounce_timeout_ms"in m&&t(28,_=m.debounce_timeout_ms),"pagefind_options"in m&&t(29,d=m.pagefind_options),"merge_index"in m&&t(30,R=m.merge_index),"trigger_search_term"in m&&t(23,A=m.trigger_search_term),"translations"in m&&t(7,k=m.translations),"autofocus"in m&&t(8,y=m.autofocus),"sort"in m&&t(31,q=m.sort),"selected_filters"in m&&t(0,L=m.selected_filters)},e.$$.update=()=>{e.$$.dirty[0]&8388608&&A&&(t(9,D=A),t(23,A="")),e.$$.dirty[0]&513&&Q0(D,L)},[L,n,i,f,h,E,c,k,y,D,w,x,me,De,ge,Ae,Me,Re,ue,He,Z0,we,us,A,o,a,l,C,_,d,R,q,ts,rs,ss,as,ls,ns]}var Pa=class extends Ce{constructor(e){super(),he(this,e,Ia,Oa,fe,{base_path:25,page_size:26,reset_styles:1,show_images:2,show_sub_results:3,excerpt_length:24,process_result:4,process_term:27,show_empty_filters:5,open_filters:6,debounce_timeout_ms:28,pagefind_options:29,merge_index:30,trigger_search_term:23,translations:7,autofocus:8,sort:31,selected_filters:0},null,[-1,-1])}},La=Pa,Fe;try{document?.currentScript&&document.currentScript.tagName.toUpperCase()==="SCRIPT"&&(Fe=new URL(document.currentScript.src).pathname.match(/^(.*\/)(?:pagefind-)?ui.js.*$/)[1])}catch{Fe="/pagefind/"}var qa=class{constructor(e){this._pfs=null;let u=e.element??"[data-pagefind-ui]",t=e.bundlePath??Fe,r=e.pageSize??5,s=e.resetStyles??!0,a=e.showImages??!0,l=e.showSubResults??!1,n=e.excerptLength??0,i=e.processResult??null,f=e.processTerm??null,o=e.showEmptyFilters??!0,h=e.openFilters??[],C=e.debounceTimeoutMs??300,E=e.mergeIndex??[],c=e.translations??[],_=e.autofocus??!1,d=e.sort??null;delete e.element,delete e.bundlePath,delete e.pageSize,delete e.resetStyles,delete e.showImages,delete e.showSubResults,delete e.excerptLength,delete e.processResult,delete e.processTerm,delete e.showEmptyFilters,delete e.openFilters,delete e.debounceTimeoutMs,delete e.mergeIndex,delete e.translations,delete e.autofocus,delete e.sort;const R=u instanceof HTMLElement?u:document.querySelector(u);R?this._pfs=new La({target:R,props:{base_path:t,page_size:r,reset_styles:s,show_images:a,show_sub_results:l,excerpt_length:n,process_result:i,process_term:f,show_empty_filters:o,open_filters:h,debounce_timeout_ms:C,merge_index:E,translations:c,autofocus:_,sort:d,pagefind_options:e}}):console.error(`Pagefind UI couldn't find the selector ${u}`)}triggerSearch(e){this._pfs.$$set({trigger_search_term:e})}triggerFilters(e){let u={};for(let[t,r]of Object.entries(e))if(Array.isArray(r))for(let s of r)u[`${t}:${s}`]=!0;else u[`${t}:${r}`]=!0;this._pfs.$$set({selected_filters:u})}destroy(){this._pfs.$destroy()}};export{qa as PagefindUI}; diff --git a/tutorials/advanced-video-core-api-features/steps/favicon.ico b/tutorials/advanced-video-core-api-features/steps/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..8df448e238188a30dd66c444a3550f068b63e8ac GIT binary patch literal 15086 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 Advanced Video Core API Features | Advanced Video Core API Features Skip to content

        Advanced Video Core API Features

        Shared workspace for the Advanced Video learning path.
        \ No newline at end of file diff --git a/tutorials/advanced-video-core-api-features/tsconfig.json b/tutorials/advanced-video-core-api-features/tsconfig.json new file mode 100644 index 00000000..bcbf8b50 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "astro/tsconfigs/strict" +} diff --git a/tutorials/advanced-video-core-api-features/tutorial-config.json b/tutorials/advanced-video-core-api-features/tutorial-config.json new file mode 100644 index 00000000..9f8f1c12 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/tutorial-config.json @@ -0,0 +1,27 @@ +{ + "files": [], + "openFiles": [ + "project/public/app/exercise-hooks.js", + "project/src/advanced-video-server-hooks.js" + ], + "panels": [ + "terminal", + "browser" + ], + "repository": "", + "starterFiles": [ + "project/public/app/index.html", + "project/public/app/app.js", + "project/public/app/exercise-hooks.js", + "project/src/advanced-video-routes.js", + "project/src/advanced-video-server-hooks.js", + "project/src/advanced-video-state.js", + "project/server.js", + "project/setup-credentials.js", + "project/package.json", + "project/.env.example" + ], + "capabilities": [], + "version": "0.0.1", + "filename": "advanced-video-core-api-features" +} diff --git a/tutorials/advanced-video-core-api-features/vonage-toolbar/README.md b/tutorials/advanced-video-core-api-features/vonage-toolbar/README.md new file mode 100644 index 00000000..d5f36b4d --- /dev/null +++ b/tutorials/advanced-video-core-api-features/vonage-toolbar/README.md @@ -0,0 +1,6 @@ +# Vonage toolbar application for authoring tutorials + +In the preview, there will be a toolbar in the bottom middle of the page. +Click the Vonage logo for the instructions. + +![Screenshot of toolbar app. A dark gray rectangular interface element with rounded corners, displaying a list of six steps in white text, each preceded by a right-pointing triangle. Below the rectangle is a smaller dark gray rounded rectangle containing five white icons: an Astro logo, cursor arrow, three horizontal lines with a magnification glass, a V, and a gear icon. ](./toolbar.png) diff --git a/tutorials/advanced-video-core-api-features/vonage-toolbar/app.ts b/tutorials/advanced-video-core-api-features/vonage-toolbar/app.ts new file mode 100644 index 00000000..bf5950e9 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/vonage-toolbar/app.ts @@ -0,0 +1,425 @@ +import { defineToolbarApp } from 'astro/toolbar'; + +let tutorial: { + files: string[]; + openFiles: string[]; + panels: string[]; + repository: string; + starterFiles: string[]; + capabilities: string[]; + version: string; + filename: string; +} = { + files: [], + openFiles: [], + panels: [], + repository: '', + starterFiles: [], + capabilities: [], + version: '', + filename: '' +}; + +export default defineToolbarApp({ + init(canvas, app, server) { + const myWindow = document.createElement('astro-dev-toolbar-window'); + const myContent = document.createElement('div'); + myContent.style.overflowY = 'auto'; + myContent.innerHTML = ` +
        + Step 1: Select panels needed + Please select other panels used in the tutorial +
        +
        + + +
        +
        + + +
        +
        +
        +
        + Step 2: Load an external repo (optional) + The repo will be loaded in the project folder. If there are any setup scripts needed to run the repo, please put them in the setup-project.js file. + +
        +
        + Step 3: Set Starter Files to be used + Starter Files are files that have the code that the user does not need to worry about. They have comments to let the user know where the code they see in the tutorial needs to go. If you are pulling from an external repo make sure to add 'project/' in front and it will overwrite the external repo file for the tutorial otherwise place the files in the root directory. +
        + please include filename AND filetype +
        Starter File list: +
          +
          +
          + Step 4: Set Files to be opened + Please enter the names and file type of the files to be opened for the tutorial one at a time. If from external repo make sure to add 'project/' in front. +
          + please include filename AND filetype +
          Open File list: +
            +
            +
            + Step 5: Create steps + In the src -> content -> docs folder, please add the steps for the tutorial and delete reference.mdoc when finished. +

            See Reference for components you can add.

            +
            +
            + Step 6: Set Files to be created + Please enter the names and file type of the files to be created for the tutorial one at a time. They will be opened in the editor. If the file should be in a folder, make sure to put it in front of the filename ex. 'public/'. +
            + please include filename AND filetype +
            File list: +
              +
              +
              + Step 7: Select capabilities needed + Please select any capabilities used in the tutorial +
              +
              + + +
              +
              +
              +
              + Step 8: Enter version + +
              +
              + Step 9: Enter filename for the zip file + This will be used also for the repo's folder name +
              +
              +
              + Step 10: Finish up + Click to start generating the tutorial: +

              + + Click to download +
              Then rename the zip file and upload the zip file to the GitHub repository uploads folder. +
              +
              + `; + // use appendChild directly on `window`, not `myWindow.shadowRoot` + myWindow.appendChild(myContent); + + canvas.append(myWindow); + + const astroToolbarWindow = canvas.querySelector('astro-dev-toolbar-window'); + + const filenameInput = astroToolbarWindow?.querySelector( + '#filename' + ) as HTMLInputElement; + filenameInput.value = tutorial.filename !== '' ? tutorial.filename : ''; + filenameInput?.addEventListener('change', (event) => { + tutorial.filename = filenameInput?.value; + saveConfig(); + }); + + const versionInput = astroToolbarWindow?.querySelector( + '#version' + ) as HTMLInputElement; + versionInput.value = tutorial.version !== '' ? tutorial.version : ''; + versionInput?.addEventListener('change', (event) => { + tutorial.version = versionInput?.value; + saveConfig(); + }); + + const repositoryInput = astroToolbarWindow?.querySelector( + '#repository' + ) as HTMLInputElement; + repositoryInput.value = + tutorial.repository !== '' ? tutorial.repository : ''; + repositoryInput?.addEventListener('change', (event) => { + tutorial.repository = repositoryInput?.value; + saveConfig(); + }); + + // Always read tutorial-config.json from disk on toolbar open + server.send('vonage-app:config-check', {}); + + server.on('config-checked', (data: any) => { + if (data.found) { + tutorial = data.tutorial; + saveConfig(); + updateUI(); + } + }); + + function updateUI() { + refreshFilesList(); + refreshFilesOpenList(); + refreshStarterFilesList(); + if (tutorial.panels.length !== 0) { + tutorial.panels.forEach((panel) => { + ( + astroToolbarWindow?.querySelector(`#${panel}`) as HTMLInputElement + ).checked = true; + }); + } + + if (tutorial.capabilities.length !== 0) { + tutorial.capabilities.forEach((capability) => { + ( + astroToolbarWindow?.querySelector( + `#${capability}` + ) as HTMLInputElement + ).checked = true; + }); + } + versionInput.value = tutorial.version; + repositoryInput.value = tutorial.repository; + filenameInput.value = tutorial.filename; + } + + + const completeSpan = astroToolbarWindow?.querySelector( + '#complete' + ) as HTMLSpanElement; + + completeSpan.style.display = 'none'; + + const panelsForm = astroToolbarWindow?.querySelector('#panels'); + + panelsForm?.addEventListener('change', (event) => { + tutorial.panels = []; + const panelsChecked = astroToolbarWindow?.querySelectorAll( + 'input[type="checkbox"][name="panels"]:checked' + ); + panelsChecked?.forEach((panel) => { + tutorial.panels.push(panel.id); + }); + saveConfig(); + }); + + const capabilitiesForm = astroToolbarWindow?.querySelector('#capabilities'); + + capabilitiesForm?.addEventListener('change', (event) => { + console.log('capabilities change event'); + tutorial.capabilities = []; + const capabilitiesChecked = astroToolbarWindow?.querySelectorAll( + 'input[type="checkbox"][name="capabilities"]:checked' + ); + capabilitiesChecked?.forEach((capability) => { + tutorial.capabilities.push(capability.id); + }); + saveConfig(); + }); + + function saveConfig() { + server.send('vonage-app:save-config', { tutorial }); + } + + function refreshFilesList() { + const fileUl = astroToolbarWindow?.querySelector( + '#file-list' + ) as HTMLButtonElement; + fileUl.innerHTML = ''; + tutorial.files = Array.from(new Set(tutorial.files)); + tutorial.files.forEach((file) => { + const fileLi = document.createElement('li'); + fileLi.id = file; + fileLi.innerText = file + ' '; + fileLi.classList.add('file'); + const fileButton = document.createElement('button'); + fileButton.dataset.id = file; + fileButton.innerText = 'delete'; + fileButton.addEventListener('click', (event) => { + const id = (event.currentTarget as HTMLElement).dataset.id; + if (!id) return; + const idx = tutorial.files.indexOf(id); + if (idx > -1) { + tutorial.files.splice(idx, 1); + refreshFilesList(); + } + // tutorial.files.splice( + // tutorial.files.indexOf((event.target as HTMLElement).dataset.id), + // 1 + // ); + // refreshFilesList(); + }); + fileLi.appendChild(fileButton); + fileUl.appendChild(fileLi); + }); + saveConfig(); + } + + const fileInputError = astroToolbarWindow?.querySelector( + '#file-input-error' + ) as HTMLElement; + + fileInputError.style.display = 'none'; + + astroToolbarWindow + ?.querySelector('#add-file') + ?.addEventListener('click', (event) => { + fileInputError.style.display = 'none'; + const fileInput = astroToolbarWindow?.querySelector( + '#file-input' + ) as HTMLInputElement; + // make sure has extension + if (fileInput.value.includes('.')) { + tutorial.files = [...tutorial.files, fileInput.value]; + fileInput.value = ''; + refreshFilesList(); + } else { + fileInputError.style.display = 'block'; + } + }); + + function refreshFilesOpenList() { + const fileUl = astroToolbarWindow?.querySelector( + '#file-open-list' + ) as HTMLButtonElement; + fileUl.innerHTML = ''; + tutorial.openFiles = Array.from(new Set(tutorial.openFiles)); + tutorial.openFiles.forEach((file) => { + const fileLi = document.createElement('li'); + fileLi.id = file; + fileLi.innerText = file + ' '; + fileLi.classList.add('file'); + const fileButton = document.createElement('button'); + fileButton.dataset.id = file; + fileButton.innerText = 'delete'; + fileButton.addEventListener('click', (event) => { + const id = (event.currentTarget as HTMLElement).dataset.id; + if (!id) return; + const idx = tutorial.openFiles.indexOf(id); + if (idx > -1) { + tutorial.openFiles.splice(idx, 1); + refreshFilesOpenList(); + } + // tutorial.files.splice( + // tutorial.files.indexOf((event.target as HTMLElement).dataset.id), + // 1 + // ); + // refreshFilesList(); + }); + fileLi.appendChild(fileButton); + fileUl.appendChild(fileLi); + }); + saveConfig(); + } + + const fileOpenInputError = astroToolbarWindow?.querySelector( + '#file-open-input-error' + ) as HTMLElement; + + fileOpenInputError.style.display = 'none'; + + astroToolbarWindow + ?.querySelector('#add-file-open') + ?.addEventListener('click', (event) => { + fileOpenInputError.style.display = 'none'; + const fileOpenInput = astroToolbarWindow?.querySelector( + '#file-open-input' + ) as HTMLInputElement; + // make sure has extension + if (fileOpenInput.value.includes('.')) { + tutorial.openFiles = [...tutorial.openFiles, fileOpenInput.value]; + fileOpenInput.value = ''; + refreshFilesOpenList(); + } else { + fileOpenInputError.style.display = 'block'; + } + }); + + + // Starter files + + function refreshStarterFilesList() { + const fileUl = astroToolbarWindow?.querySelector( + '#starter-file-list' + ) as HTMLButtonElement; + fileUl.innerHTML = ''; + tutorial.starterFiles = Array.from(new Set(tutorial.starterFiles)); + tutorial.starterFiles.forEach((file) => { + const fileLi = document.createElement('li'); + fileLi.id = file; + fileLi.innerText = file + ' '; + fileLi.classList.add('file'); + const fileButton = document.createElement('button'); + fileButton.dataset.id = file; + fileButton.innerText = 'delete'; + fileButton.addEventListener('click', (event) => { + const id = (event.currentTarget as HTMLElement).dataset.id; + if (!id) return; + const idx = tutorial.starterFiles.indexOf(id); + if (idx > -1) { + tutorial.starterFiles.splice(idx, 1); + refreshStarterFilesList(); + } + // tutorial.files.splice( + // tutorial.files.indexOf((event.target as HTMLElement).dataset.id), + // 1 + // ); + // refreshFilesList(); + }); + fileLi.appendChild(fileButton); + fileUl.appendChild(fileLi); + }); + saveConfig(); + } + + const starterFileInputError = astroToolbarWindow?.querySelector( + '#starter-file-input-error' + ) as HTMLElement; + + starterFileInputError.style.display = 'none'; + + astroToolbarWindow + ?.querySelector('#add-starter-file') + ?.addEventListener('click', (event) => { + starterFileInputError.style.display = 'none'; + const starterFileInput = astroToolbarWindow?.querySelector( + '#starter-file-input' + ) as HTMLInputElement; + // make sure has extension + if (starterFileInput.value.includes('.')) { + tutorial.starterFiles = [...tutorial.starterFiles, starterFileInput.value]; + starterFileInput.value = ''; + refreshStarterFilesList(); + } else { + starterFileInputError.style.display = 'block'; + } + }); + /////// + + const generateButton = astroToolbarWindow?.querySelector( + '#generate' + ) as HTMLButtonElement; + + const statusEl = astroToolbarWindow?.querySelector( + '#status' + ) as HTMLParagraphElement; + + generateButton?.addEventListener('click', (event) => { + generateButton.disabled = true; + statusEl.innerText = ''; + completeSpan.style.display = 'none'; + server.send('vonage-app:generate', { tutorial }); + }); + + server.on('server-status', (data: any) => { + statusEl.innerText = data.status; + if (data.status === 'Complete!') { + astroToolbarWindow?.querySelector('#complete') as HTMLParagraphElement; + ( + astroToolbarWindow?.querySelector( + '#download-link' + ) as HTMLAnchorElement + ).style = `color: white; background-color: black`; + ( + astroToolbarWindow?.querySelector( + '#download-link' + ) as HTMLAnchorElement + ).href = `${window.location.origin}/${tutorial.filename}.zip`; + generateButton.disabled = false; + completeSpan.style.display = 'block'; + } + }); + }, +}); diff --git a/tutorials/advanced-video-core-api-features/vonage-toolbar/integration.ts b/tutorials/advanced-video-core-api-features/vonage-toolbar/integration.ts new file mode 100644 index 00000000..c543ea32 --- /dev/null +++ b/tutorials/advanced-video-core-api-features/vonage-toolbar/integration.ts @@ -0,0 +1,87 @@ +import { fileURLToPath } from 'node:url'; +import type { AstroIntegration } from 'astro'; +import { exec } from 'child_process'; +import util from 'util'; +import AdmZip from 'adm-zip'; +import fs from 'fs/promises'; +import path from 'path'; +export default { + name: 'vonage-onboarding-integration', + hooks: { + 'astro:config:setup': ({ addDevToolbarApp }) => { + addDevToolbarApp({ + id: 'vonage-toolbar-app', + name: 'Vonage Toolbar App', + icon: 'Vonage', + entrypoint: fileURLToPath(new URL('./app.ts', import.meta.url)), + }); + }, + 'astro:server:setup': ({ toolbar }) => { + + toolbar.on('vonage-app:config-check', async (data:any) => { + try { + const filePath = 'tutorial-config.json'; + const fileData = await fs.readFile(filePath, 'utf8'); + const config = JSON.parse(fileData); + toolbar.send('config-checked', { + found: true, + tutorial: config, + }); + + } catch (err) { + if (err.code === 'ENOENT') { + console.error('Config file not found.'); + toolbar.send('config-checked', { + found: false, + tutorial: {}, + }); + } else { + console.error('Error reading config file:', err); + toolbar.send('config-checked', { + found: false, + tutorial: {}, + }); + } + } + }); + + toolbar.on('vonage-app:save-config', async (data: any) => { + try { + const configData = JSON.stringify(data.tutorial, null, 2); + await fs.writeFile('tutorial-config.json', configData); + } catch (err) { + console.error('Error saving config:', err); + } + }); + + toolbar.on('vonage-app:generate', async (data: any) => { + try { + // create tutorial-config.json file + toolbar.send('server-status', { + status: 'Creating configuration file (tutorial-config.json)', + }); + const configData = JSON.stringify(data.tutorial, null, 2); + await fs.writeFile('tutorial-config.json', configData); + + // Zip up the whole project folder without the node_module folder and name it the slug generated from the title + toolbar.send('server-status', { + status: 'Zipping up project... could take a minute', + }); + const zip = new AdmZip(); + let exclude = ['node_modules', 'dist']; + const sourceDir = './'; + const zipFile = data.tutorial.filename === '' ? './public/product_name-language-topic.zip' : `./public/${data.tutorial.filename}.zip`; + await zip.addLocalFolderPromise(sourceDir, { + filter: (filePath) => !exclude.some((ex) => filePath.includes(ex)), + }); + await zip.writeZipPromise(zipFile); + console.log(`Zip file ${zipFile} created successfully!`); + // display link to download project zip file in toolbar. + toolbar.send('server-status', { status: 'Complete!' }); + } catch (error) { + console.error('Error:', error); + } + }); + }, + }, +} satisfies AstroIntegration; diff --git a/tutorials/advanced-video-core-api-features/vonage-toolbar/toolbar.png b/tutorials/advanced-video-core-api-features/vonage-toolbar/toolbar.png new file mode 100644 index 0000000000000000000000000000000000000000..f5bc53e5988516b7a2f32f10b55f37f497303e34 GIT binary patch literal 426515 zcmeFZcT`i|)-MdAA|jxoQUwGN5$Qsxi5-w;K~MukN+?1SdJhpBAOb4Vq*>_@dJ7Pw zN{vbjgx&%K2oNBIw2RL<&vVYb_nh~hG2T1w_s_=&BYUsR`I~*NwfEXdT#=*h4aA42wNOV`o-0mBXhv9v14h~+y-~XH(?^A_$$7WqE?)ls^ zHPLZEz?AG95%y4}0GP)vH3x?tD8R$c!42voWe;_Bh3iX`F<5CSS4VwmD-BZ>Q;#c9 z7gxg|FX){hGYf|xHwSG;X%J9KFFW2mVq z?oudv2f}^q0u+6QsI939&~|Xp z)U>+*{geMH!ol}LNG1)yQ?r2QwFxtHs1wc5G=GwN@x9Cs1b>>O3?)g3MMFbX zX=yoXYOASeYXYRD{vr1Y!X4pdig4WZx%%%y`6FR<3|+l<0~`4F(z^ro{QHr+tJEJk zs$=KyyNvXu9e$?()KU8H!><3rPyd-le}naRf$oC-7s3A|s5>dDJ3_S;FF2}bD{9-Tsw>*rX+qWQHSDxhob3K|%)c~j zx6=XsOw|AThW$Mx4lZ_ZXXtKASC;;7n5wE}e?faUJJmF_cTI(={!UDFO+|H;U4zxN z)Kne+;i`XQ>OX4o|5H;P5O6=J*FUAKhn<(*?xY3v^46Dj+U-VCyOsGztt$J$9sisK zJiHwh9329rd=OIq=nenYosLj1*MG{Lf0poJpPcMu8Jf z?vJhpX5}jPrW8Vx&Fi5pwKs`7^b~K6Wss|@ zmJTnJf|+@^q4BywTQ}R*RFc}j%dTd65QI!Z)}g7J^<#tobW%T4&Ppq6_@|M7{+QfB z8vPvlZ#X+PS8iedH^4vGA+tf$?D2n=^AA+CS6y)5ztm-H(5iY&fAN1+@$am8)?|sz zf1~H!LjTyEe_`D&>(04Bi~;k1Hu_Ixkn#V&dH=#QklCFX^f!Q-x-lcmOG@3g3|UmMv74XT|SJU*R6F zc`%)*Ay5nN<2Ivy0|$I$3fQuxk8eLAhu)8)k65OLVjm52A8$yz6LRSlv*A3mC($dc zw_D*I@@6YkT-(9!^a}BK1aS6bIj;uRQ(9mX-eT+5hP_%E2;8=j8{P^Y z;O{V~EzhF2LdZEuNu9>F>%Il6LOx9b2WcOQB^$Q$KH1WKDrB>#@Da))UuXJ%bZ}D;UB7*4U%jC$=q%-_5F%{W(sFQouwt6>WoJzYG-!>$`abzU zrf*v186Y2dI7zg525~6+Jk}-GT`N>Rx?Bih2xHJx?88%%96#Fk*tYxxFVv}JMt#T5 zZypqZl&^{ILyQM)W+^y^h{uCi8?eJQ*OskrZEeLXD}`A#vK#Ez8WRc;HnXdj_^=W0 zY{NzulHFt>M%$J*(9itn1y-Ib6~`-Wz4`J6D>BY4Ebnl5AV{wS%4r9=fd|wpAA9o( z4GN*}`7k%~Vnc7TxYtqrT>|eJVHbgq(YW|kZg!vo#VQ_qw@ra(+>#Z)0W9irLly>o zOZz$sWEbxMvlrXOf_{zW4UAgiG}b*w;a`z%1T=%!=~Nch9`Hh7Vs>MP`?zjAJ1hbS zpI9iia`DLhRsO>24voVCOIceV@$~D@h#6`#PL%L9{<4G1;XNQ_j!PY5;w^zy_1_&JMcK;hJ3`?s>gM43PDvxX{wyg< zX#L=e`q=#xD*}VXE?}Tv2up&z57Hz-Tm4@=%b$_a@}W7u>Yr$YeiImV68>E~eY89q zNYNZ>6S#(CkK|koxjP+lcS7jGTY}Frdd3^Fh0byY0@PXcr-dPVZv#(E|(bn78(m|@~UAo&+59C`Xa77C#iB?Xk8waj>c0=^HtT1p$MFTnbB+!hfUirgL zH5zqojkN8-)^_bT10NuhusezCB8xOLz`qBH9TnhcJu5%m){U}nc`;Mh~j3^(?$ zB;5hE6w6)!F`Zcq0BR)>wUAiPT!!GfuI>plaaUZ6@n@IA(&nSPE1|77bHIqRWQ>CJau7^6=IJj6b#`ZTwa}36;SkxtHttDr=MBP%}@cl z)$@7mVav)yqqUgpnct`xd5w@q%MbW!-z8!2cU>ya0XtFDOrg-S%AMQ8wv@9B)it;; zzC#-TV|hG!z#gqHckNbK0IEsWytH)DqIT5(aV^4-3)*4F_0^b?TXQS(-W*j zvsoAe8a+(ihk1t1))?eH-=9%2_O0Lv{N={MaeORGP%9_2J^%$XLq-DmD=0HI5knr^ zK#p%InlXoxB(RUq!bPJ>9cyipBkmmmF`7UdaUhx?c5R%Zj-re+QrH97%}Pc%tAagY z&g4T~q2^(9naBkz6som2*uSu=%B)Uy2b%~f-#>lqD8=DhyF473 zSs%2;w=@^J3{Tq_6-bS0j7l;HAJ^5>a-(KKJlk*CX1blQsyM&3CFr#33aRys^|m;W zNZxNZcy5$MRGPd~RBN7Oy)346-y=O?r9kJas8y3kS<9A+ho{ArN?dV+7*^vaC*HXJ zMTTw?J|%?5D#8>>+_u{zz-}5lVGPW)uROJ?dAX`QRkUu_YS6Os)aY>R7F{O!j@e5(KeU|Y|z#khM)_o_B5Vo z$=oJ!%<^9vv_yG0b5|A&XSHPwZ)%g(-7EZ`$kYY9wv#wK^QIIJ*m^w%$7$KfNsZ=D z9F^a}4PXM&c%xsf55G)da0B|sTH|}BMl%BKK<)4AxZGrbheE$XUqugl#C<~VySiJu{dDx zocAey$A_iNy(gw_ir&TweUMvtx8akuq^t7y-vovmdp{l2vGT#WLZ`SZTBan7HDz9`pY5eF4OWoTrO)15sF>Y7L zHEG1p7Qwn_V#*llF}@p^jUM6PD8np6qGoC5%>z<|))w8qRvY`vS>Uebf&{e7gx{=A z&4;#rtnCe)!$7#G_U8@lgwa0A(oeK%R$XxEm|I!UU7XEa3|pF|mfEt9AD#<8C@uS-E{f|u`*_5wMPjA)-cQ)C z2&w)c@reVU>PfTPlzf3r{5UiXfz{aTdSx*4&7X(kJV@s2b6<(rS&v&HLa${p`E0(9 ztb^}Co!PR^;+8$PIzFU&=4Sa!maNld*%xelm@h$m&z&7)J3 z`7DCX{e)jRR6-OFhD-oCcA7SG&5`$tujm7)4`ngMrbIb|g#w9;@_j=4@ z8HBGhj_}qpuhcGQ#p4aeh4zr&y6+Z#aottRuZW* zx#KJ1hg=FQBWDz~!1@WHQSBzevN08vHtCaEe!Yc}kc&=3)r3e8r1WsHv_Js_?^)&X zf%M7-n@ebxLXB+(H@+S?GMf}(U_I?bKhQN7w=AlC&*WPORoXoEBV!xiux$fU@4WcD zE+v}BdogDRZl?F?vV9o-tj&zJv!V5zK2wB(DON2?r@*Hf+UWV9fzy!;3++RqAkWjz z?t5Y?ZMbOPV?Z!tOvrVA{{Z7I-1$24?7jSAzxMPduOjc-F?;*?vROHBGF*-*ELWRb z6|0YJtd3q4&nIWBjvzm7nkDA};cVxTswmIptd!;Zz+T!%qV{W3KmE2IUdfRPS#Qx{ zl1}Ft1Iu))GD#b+BK6F6VE^W=kqah0f|?zg*0Guu|PCkI>ufEClw~YinvV-{kQL%#F-wgW=viVt0y-wD%7KJfmy|Ku;2L7^$8k z_MYvt2H3UFrAkCbq~yL5IYaSt936p-}ausklT!U&L~K}zUpwxi(it?jB-~OqwZNI2NL~N#zz+8-h=ChYp3z> zU@P`cga7&!T3$$#B-M>xIK3!;VuWzL&J7sgX7zDz{+wM=XJAKuYoEXIYu$vg<|CvA zTa`PZ1>~{LWxUQAhYTSCNvBL{j>?-cyr_QiaDd)0Y(XZYZul{sr2))^H`m0CQLDT~ z?u`+G-?HzXS<6lDy%baEyi(z_u8U?nfj0HH10b!WU_xod6|X3a=A4bmAyUKC(NZ&5 zZF5N}V(L*|%&o!g^0sl;&y3l{6kB#{*8uM!foaP@ph`euxYm{}G<1`iV0mS)~|hiTuE4~g8J?lq*)EkUKnkUQ}#QMh>EVz zgR2manNMGXOjMwJ9wCJ1tSOUPn|J)^Jmf^=>ZlEbb4DP9$&F&Pp{Bx7GX`&HmF#8q z65dOR|_QD(^if?9*8##;0OnMa711C*mZdihn(ccXP3K8#lL?j3oz(N%9`o8 zSfFOe@#CQ;wN6XgGWT$>+se-sv)K!GU!Z0wwniKiH4?J+j~7!PFMHs-KkaoFx)~ZY zO!y?Bjm-v)kNRbhqs=~*3v$e&bY6d0$-11u0;wMv3L05{wk}>*6m8J_e(uYQ#Z$_z z-M1g7Fu*zwgIy&o?{<9D*r(8j?Akb*{@P>vaCM*~8)T+d2o}jcp0Jo-mhdJ*qhoj( z6&G6~k5sTI83Khv2?uDk<$z6i=Dtkf6e4%s>$tQlUf#%VBu(hT_xagZX@>CyLP$rh zbA`HjN8l;?kLdpWm1CUUdu09Crn6!1()&J!B@dlY0_chpfo7qDn@ePVT^&KgVcOWU z{VR8F>kq>#FTfoiJ+Q_Xmn4|(m~@`u;Al2*vLZn>NSy6nW2qPKRV}H>vCaMOPb%C z2Pv%t%i<|-cd4A67uD*g1yg5+LPvSH^X*H*2K_WmbZRo zdtv}BkhMq7J~z*vW6HWi z`p{CskuzLyO%`S(0Nag7y-@@ZUHDXKa{bd4kbwHN$=G@q>MU9CYG#r*=9!$})d$1z zSs(Rn2DHwE)FX=WuU~6xyQJ4qzt-U_X&x8@HE6sd7%I#<^pLzh{_4v#nvN#QeLi2N zY|g?)Dhb^6GdFUm*Nxt%gL545*A{^59#b*jYQ$AlUYge<|DtT`ij*#W(TMq3zy94j zP6SO)0Wja+Vfup}>4rtx#FH7lPg_nTVqWYxsIkR6l`EBEI;Hq+@oWj~egQE#uySxj z`_)%^avJ((%mX-LvBK9*?S0Cl;m;8T);!i3xGqW78wBIU`05=9eR$BmAcLvTemcHJ zKoO?bvO|5Zh76f)Ca&DdDqOtD{s`JIU=@#3W4X2m(5x27c1s5O%?nWnl~g}J7i-H_ z1GGQrLgud(1=F!w-`PSfs~Z~HqhXYe{F%g8Q$n>-h3(0^HyqN!UGw)l&&_y9QMw{) zie%vR+fPK)mVR)FsfQmeT1VH4>Z{MX{$3u!hAnz|s6w%S_d#Gx&r+2E+H9rMwLnoU3b>CtWqg|;4>z+f*r zGHa+}Og9;_I9EZ$jR(wst+OQLF&(HI;QAkDDx*w*KSuQ_9Y^N+Pgc$tYfpA{DS*lR zcUNG(oaWueZOKQ1n&Ny+s(Kss2kKrE8Nm_b5`s1WF|D=tF&H)U*`P}WRW6hV1k)Gj z^fEHMeycITqbaTnKCM6pwFr$25?@N31cZfqZY#6a59*s8xX2sg1?PsxVfaie>hP`i z$xVBh2bg}b7}WZJ0z&cI=Z3Ns*9xj=p6Aa-p7H(3RFmmNx+Ff{2&|qhgdBZ`>Tl8L zuyzZGtgQ;_J-I)9b9Y86C`(%lzINzT5{deWnX-eY42FCdAEqW&PpV@Ql;5nyL#E@! z;ojAl>`JJC+`D?OFLiU5I~64{R|$!l6JtKzN2#w?j(tWf)827~oL434Wy!QER3ihN z^CoTHEhVI%r<~8ogJBy4m5HL?{4JKW3&9}-^*G{E+>^TWz;>=`rO%d{qekRs#|wEw zA|$NDs}@E_`mx2c7P#7tFFi+S!){fbYdy&XMKy)Xv)5ioQX^~9seyg6mDo$^&$lBp zb`~U=KP9=QBx$4UAE-6#s&4SU?ZjmZRJBC8Z&pSIa%+gq%wVDz4(vRXcmtZTuFPt| zZU~u?HissDxLA3dm*$j8R@=*c@pXg8rwi{qCpqRvvmyAveOs@ZD?o9E9yXzHH)hJ` z+rRL%RNe6p52XEbK5Bu-&CRaW6?&sQb3@#rD;K&};u3!8Ig1q}?o%xdE- z>QqOMo1Si_UT3cO8Ts=>q}?j7&tvOB%<8<6(a!i%*8(AqioMOy6ww1>n3omFcW4!k zrni;2XDcs=p4Z>PFis}Qp3%*!>^MR_!`1YSH_n+b?1T$(Ds^r@*qz~cQb~N`JV9wy zIQC@%xcw3FWOdi%x^h}c`XhReIi@sY(x-UY#u;3p!H}e+{UY})XbcS_QbV$qi+mGH zid*?g`Pw&q# zZhdkpVoU8XOM$3TKVBFW-A1t1;1B=agRUBdy)pSjun+AJwkRj-_+XB8uFxnhJ?VDG zV6Ccwv1EDR$4Q_+r-s$qj=*$0k8-p>~krVlVOzV7qLmfSPJd zh%KG~LsZ24@*5_a9!^AA`!ro&^EKb5s3E8UHnU~Q#xFQ=Y=OHEdu`}KI&4Wo!~ofJ ztepOYYPz+R`K-j_?cL5IRn8P<_)rQqxIIzFAgGxAyltK|cKfx>^7?6b@CZUu2zbb^ zB?oSK201d-H;|zttXht{{Jwh$8MaXu3U_>)D2(hV-{_}!1rqZHkwf<^LGUbB8xQ&t z77Uti3!MTmwjpf6iwqeoU6Q4{dw+3g_sV-_E#QxCPP!%JzeC%-1i+ytA&kU7R!tnC z3yGmDEA}tQF>K!RrnAyFwRy7=uYP*kq8GQQWHKwB|7hegwT@wQ`4MCKHg}9sA0?4~ zlSb)+a+Q~=f=4;L$FA=CP^4zpKq5DeZF;TWW*z?!AtfX+I7(i4XG4?7s@X((-#)Gp zw%Ns9Pux%P=kN$cL>sqU>ycc9F1j+zlVYyJ2^1=f+A{$cOWvQZ)o|9gm}m+N@y|mI zE)VSQ@mnbwh6-c!91>xbfaTE=uL7nNn337Th8@A&kWr-PWuat!Eb5I$HU~@tLOPKh;%ZxM1d@o z>OOZr=dJH;4}`JJ++8@NSsCuRV4YFN{|i0v#ky0qORuxJs#&t_x!dcs?OE86d+@4V ztba1NZD{Hk_cuR1v>G%ntLmu@>s_gAKbRKWRp)A4UMcD=$BwgE4#A4iwWqtTDJxOH zV!#D{t8r?LO_5tCcNdzL(^)T9(!gPBsdzJ1e?$V+-rEAqO*DHNwjXQ zK7F&$-1KcXKn3W#t4mNfR*uVzIz6i0icq(RSWTX-)0C}zTv)~F~nr%^T@);9t()v?SyTSut`|JA<6o_EQ>d!1l?vl_U7Y z7C^x?`&`AC-4ge9U<-;PD`fha4SJnT7bm|mjz$20zHT5nX8P3kHfDL=GK|(QYhIu8 zl-{@i2CX}wnC7e*b1qsbmWbNc4W%PUW}8Ce*-OS7*?GE1@iyn(=HJF{&R`&zh3rr# zR>$tz1G}w&x)eYC^;8?pJZ6Z*%FmiF5A&04IcC->CDqSWx+2LO9f8n3T)21YK@Q@| zt>8(EzGEjwW0opoy_Q6MWbESLv+qd2)cggFu+=6k2nGBoJqX|~Oo>+BCXhf&U-NIQzb zo-dH#>cRtw1)^`klSkJJx-qh4&lg5bZ&=aCK>$hE*I0x3&`RD+Xi})E>Ib)dC=9Fk z)ZF7vM`E%2@qlIi0mtUAFC^=Jb$kswl8oqTI8x7ix(kxv;deq5@nAw70F+@=%hJ^GaMxRMY*%M}c)fHul4a?UJ!%;tx$!vGPvbRu{g@c9{S1=O=5}1?lQkPV=HLzOWKs(s&c60)vZ)NXsrToY!@yl@_s{(w z*=n(YPikD9P57g&I9t4y$Hy8+Y&MrnSN6rcc9L6>;xo{#N~6S`SlDdu zo>sc)A@=HaTJOMgnt^)9L}A6zg`^GB&tLrME)(Kcv%`54;BTwd}hI{japV;y{KVl$XS8O)LJ;h{%Qc7n(0W9$tS3%fmsV=^jP>%Xs7S9ko!n zZ6Y>M`{0Xed;-U-ybr@>+97Ic;2WEV%>2*PLic?Ad=Z${j|{TyJS{M|hisu=-S8#h za+@IsUPI$Sf(ifqmbWW?*UO*RMvSmu9xqTfGB^3jwa|4q&-=>L{x9_@4soI>T|Zg) z*gE6r@N{>l2sciJxdK)Y0sq$KeShp`7 zLuFmr5@+%Xd8nyah8WmbOi+FJ^7`Y!6F<{SI<-xn=E(|9`oT*?1>Txp^3!1lHJvPkUwgL0x~?vK_PQxR(qoj6De@t~Z;7oXy|?(rPzFyy_2zNiSZ=MyMs z=#G}2u!iEYuG3c=inr;(wf%ykzAX|KnR+^~cDe6e?#sG6(eV<&c@C7RZc71lDYBSc zX4{iCzU}JZ)I1|LmsQ*{9(m?CMEKI7p)N_T z6XXi)nElCOW50S6`>ss)&D4)~T6Fup)%JGWSUZ`rtZH1h^ZDkrS&xs|wGYcrXGOm} z=B|8xP_4@%6q;Ujs>|N>RL+Yw|5u^7H!X*qrZgxby)BmfBs~}ak!G^3qAl4zo=cM` zuiPfk90^$Gq^A3u!k(#1c84E!a_cxj4|`vaO^YL(>+P-@x99;O_%kp%%%dodHe$1CN42ND9&#D|I z_s|%Qjdz^vj5B8+S~cT`c|S7mRYC7N7^kTw#NUhZt9|tBmZn<(CU~k2`oP*Ok?`oz zvwFDpeiWiEwg|cR5Vr+xMOLGyvTSx!P(jAb(jc#g%-r#pfY5h-Z#=MO`0hVE@2#9?Lp5Gw z2)`5#oere^OdX#$HZk+vZ(tpybHzzEnh!Nsb{^eXeSaX|c~O10{)ij)(?D&jOZ*Wu zn{sVR+ZO|V9VkCQOb-+L)Tk4eR`2!T6M+y^eI6yR5#5cyz2LZq#3oRmcb>*5;()1ZeWF zrsXg&JW~(%Z^I z)~vwIy&IbS%wd`NIweRs&a5H9&3&%Hfn06`1cNHZ+qbq zbz26;yl0%0-+DFP&kO+y27@zEsj7P;gHy|@4#UM!+ol0mC>KYFcFH34=pye-pyak*-Sr5KKJH2rdS1TKv3S-@+`2^&6Ih;=X;T zFsVNkIAul_rYHKeraPZ(9Nz#i=gjL_o9rGGoy^9tJ5j{J`mIegayc&I9?7Y5r*~6Z zf3fdFtEYIIXUNV%7JCbTr9tQj#!~|c5Vae`PD7yFUO{+xJm%C*O7tTQVn=H(7VV3` zZwpwlN;wyDLLPG2p$Q%iUOnndL=wyAq4zYI_ToPB#MvI0_F&s=lUPq6UduvUGM9~W zOC!~{bMGlm3vci;^W}|soIYEsJshtKQ;RHoTDkT?ey-^;l)C{)5wWZc6cUr0d3)$y zvcxgJnCAX5IBaR)j19IhQ4k;W<6C>78MUQJyR!rKuyQ$$QO6QesYQ^tFzMsS8H)@s z;pS!C+0>=5mj!e{yNP}rPi;vu809Kf^(J26MUn};x;aZHgS&pE6Z^(FQJ{j#}g; z4jC94#g!sq4ht#Awx^x6M-2KRo`C6LJ@xfoKF6)el>S<}lB3w5PA7jQMHw^n)|`g_C}}{aMT0+dS`4(_3!ao^<8hdilc*GBJ)%8Xw7S zdiu0TPU@J=hjg|LaB9^^GvEV4zGgNLjUbyLhd1U8zip>EION_pLv90W;>>%shJ-E5 za&6rAgk9N3;y!QJbX0Rcz}ua^5MD8N&=gGZx-H!kq(-eP-;}j1w+y{!${~VVhwE|6ekVxab z7}2yH<^G~vAuyq>Lf;^<*LT|baM2SlvzeFB9ofQn_2&+s_R8_pAbix6-j&;GH!8qU zUKMkY^Td&Neo7IY&(DJ%8S+fU>L~uKN_=?)KV^8dq@d}?a=}fjAa{F9DF9#97qWA6lt(L~TwGPl)ppC8?6WWv#zoVaWo44RzVs&}K{n?E zn!r!%d_CKy;_Whfg&OOEkRDIZeZG)MF4YN2_w3?Y3+oX~3O`mM35)4;B1s01kOOqK zGgU68*{0PHZg5%VzX!TnPtiHI+fKc6K&>kYtrWuwn5sDFHy zuoFL$Byip--IslK!#Cm?DVsU8g$V;SwT;yBOYi;I{()F_1 z%FVCJfWny2BVBod9ZeipcZ)rA`FGhP7~f-Alc04RlZhHf)$RPcmd)DUafzwfpo9Q9 zL$-#Tcl*SGGIJfW9n2bIJI$?igQy7P?yk4$z*#D6i_*LYsU-RH?AzMseN}JLO_*E# z?8Z}k)5(z&KTLkk)Hz&zr_`3L>XrXJ6`Jg#gwm1gO+i9+R}$XRFn^l?z7lAcWX zDJ~1`cjlEp$48C5<*W5t62-JJBZnhp9=?BR19bHggXQvj7uqBa{LFN-55i3szEG0P zv-^J346!i&O!y2q4b!!v3VD?7=0;xdsaJt7N3U#;{$$y*iz^FE5U#0i8U-n~ELs6x zBWBtjXDPAzBLfsDl}Rtg0scAfLLl2vWL4 zj5^@g=L^5`seRH*Rg+6;V3IR zMY*|xyW>RWITMPE=`!y^<-bN9LW_>5%pAR=#I}WT2`$+5M%j%jo=e}1?+zaE`p74# z38BcfRX{ozw=1L4ti2<}z{8Y0x4wEDs&Hs{g;y>)xV}!%o>=W~tTWWm=VrQlX5>r89jg;$Y@}O|g(c4S z(Tl6O+@1u0_Vi48U}zz3?89uoTgCRLdqu=kV8j%^*t8pHl?%IoV00f@GiPV8{eM42 zI_b8%BPW*;vgbomKRPo9gzEQS+*lxoQZcCQScW&2Ol8N7v&yjy-rbd!DCeqoJG?qk z*W3Zj9owlkQskc(BEFeODJe26nlrw32m)9PEFc?re+(zxHDACOY7Gi;o+e79#GQ!f z9A+j=d4&D2jv5KDYy!0}=U+SIyu>;LE|R!|B05|U;@AIL)wybx&hr85n=5vrhfybz zfF52=oqQDVRdMRhzDHkp_t-$r1WeXV$M6oW6S=_#hRuC^iW%wvVL7EZ(#mP@kX^ZB zDM86#3kLHy``$Ci7d#ed;DhxV3Z*(`H~v7!>xxRga8 z%o>l@ou=A5EN4v-ib{{`Iw#$;V_X@UNp`@}8cW}8{1izs9H4HPkXn|ydpujV5#=Py z*gLorJ8xHP+bv7Jh-U&{+$uqp+Ogp`ST@ATqVygP(DEHAh!V;jyRu%lyiyuk zxWpr7x7}McS>uWVwhFixo}R$M`kUEO?ar*Y!Nth$^S zaMm4G={-IzbpAxD2kQ$akv4hqL~;Rq{ro5lueB*YT17UjsGdE2B1;@|hzoE(Z8?h+ z(*5-=aXu+qua_ExhuH#?DiVL-vHjIdL!gANS-L~?M&US2PR4w2aJytyGfSMy0ptPN ztVoIdK-t@Q3UEJA!Y%N?1F|5PFxS>*08fycSmGt>i8wFm%pSGO_+~q+NMyB~AP@6n zlmmNI8P@O%rk81YXNcNFGdVq~=C2RKPJT8SQ}Pu_x~dPBM|^zNqh4;#>ITPz!O_%6 z9cRDMQ+9oCHmtvUPpHo+pttZ=!Dks8I7X%h6=;1C^nhQ$9=YE>Zf6Ia|*5 zJdP?Dihm;Hyu3qJ5cu+RAA&p64l+Z-Aad?>C0^#-TkTz>JnIvT9#{Mrd{MifcI>R@ zB1dl5{)<5DckXPW7aGjfqqVJ8_&h%FZM%ki9ZXqsI@PO@?Ckd`7^YhrQZ5VWT+Kzh zF#%v5WT(6GAqE20H2Wed^dm<&lWLk~s*DaTt?L&?U`X@v^_q3y)qW;N5#@O!W23_u z&F-;D-?4PcFc|ioH|xFIvqfK&ISVPRnQU71Ye_QO*Djy{%lEqjfU#M&^=B`IeF>qMr+Aaq1;}P86$G z1vf_Gr+u|rj&)$|ONywL{7M8ddhPC4pc+zn>)Xj?4E_hczwp~ngl^b4W_s@<7j5M0 zR&RGR4BocIGiWvE>p@aK-Z%vuDkZtd;5^a7J*|=BGRG zy!R@qG)ysO+Oh`&`@roE=?jd~RbEd8yK7I!`(E!UX7O`tG7H6mS$KaB_gQNg5RFwR zWlK3%Mf)d)ELcple6c zRyar6EUgz&>)-NH5oKzD*rlq}mPUpzX zmdyAzDRj{}bQ-}dKoQtWR93nqYf_RmJh;0d7l#}Av_uK+D?c?vt*6$3s6_TMmMpm) zPSIj@Ww7EN614Ul|HX|l-O3O@m2{&ieGosXH+MNTye>Nw*w3`EN5r@JMad|r+h&sC z8hWU+cW>X*W+;6)cy;&dP>a`3!AS{&DWiVEC=JGEnG^hD0r7Bfw9V3(?W5fHo>Y5m z@UMN=@|hzE&Uj2pDh@ULrC>5&OQS7sz%-)NMC&$KU}$6cLQR2B>0R{OIXoQJzM;1D zI+*m3Tp?3cVs?Ace)L&kjCy~P+-QUKxmB#apz`y%#rgx!o;(T35a{jPkS%yKRNHF8 zJlCW&`Ncr!fmp=_EkxzrnQK7)OMo$?0>N)AO14t3?iyOJnB7YVP%8yHc(2*ViS?{& z>#}GV_|XF0RBSLyP%}F3Hq01C6chl^zqJhAEjhDdb{W(A0kHZdr|8q^*TMNsU-vF) zAx`jy%XEeJ`Q^ct9ei#s=0BW@5p{*8gM$RV!)AmSBN^|y{Jm!(U3~gW>9Qkumlw!r zWedug1RvJ`lW~uLs3XMeAR(c`8$-uD2gsZCIjy;md$Vk08txyFxQ^(?*Dnd%pIB-7 zIOuo!y&Nm;_qbHiU*{;QoY2~+-(B?G;Al*wRmO+Mb zdK($TzK`n15yE5?8XDAuJBw_;>?xOL_4V69qf)kI+nJi5J>T<(i;@1PRWB|FM$|>} zg+jj23qQo+nZ}i>aKZA(?@=dt?mYoS2Oa;pl0W>j{diC=&9vV0R$hHsmO0U)d1W*^ zxG`Jz=K|VUMH?zVU}qFOzo8hs_KuKRFRTRCaBSLZ_?_w+d%y8?z`3QF9zgtvLWMSc zU%RrB=8Kn+xy5$_>YeW1`7|almc^ZQu-1>;ZJonv@Nff`I!*;kPodc6Ocr(xz-*P= z4wKAwT@0G5=!*3_V+=F&6Q?a?Ww6#jEV(zdwB1W@DZ#4kns7hcDZ~5amS@Ep-ehCb zXeyECBMT$A3|#tIcAtf;eK_`-8@%EY@ypS?}^oBRqJ;_=^7W{ z=6w)Xc`-mk&&}r`?eT)0qM4nJWI$u_mf-X|B`=OxnvKz&AseaS@}YOuokCxZyqc+o zUEi{eU<6r!@h_!tZNfs4Gp%9=#B)D>c|Y=XCer@L$vzpypW0S3(Fu>gEMlRjWW%)$ z3X#B4(g5rbP1;(Bp}5kvHJWy$<4E2kx>H!8{C(G__ocy>u(}e#gdenh%eC8PLqS(L za03CUgnP1t>YQI@uW9XDdlaUU+omelJzUE+0+ay!=}}2#vT?TVBe{B44;&EJOXs=1_u2QfZ=W_np_$Q;8%W04YmhamF3f&a>#f`J^ zx^7D*pae?Sm0Jy;?*XGv4fzRQbj?!jCdpfX_}vCyaZ2?jl=@ys{;uK8nsIgtc5x3~ zo9Qw-JMiwB>8rDJ^v;KsUcl_7G_k#kmS>wM!?uv8cuuUZ(ogB$@(EpkHkK07P|Ncw z{j$WzRQKCS*v~o{oYsSig32(){{Uq`n!iil?fxhnh_-ObQyZh@#A~=tQ$960#<6{O zY;WIF=IDqvsrQCO(iD!x(hB+0ye2I=G$N(6GZAOmt^~{hV#9&lpL{Li`9XIYuX@y{?tXQv|Ky+gHxTjN@BR8hz=CnK&~xd2 zu4GX3b8fM)j{0A&W!Jlii~v?3xQs6&Y9v3PKvmncEpZrFL9L0e`?Y1;ib(E38T{J; z01xz$T&VwB862Ca=d0tourkU4G7v{{H$v63%Pc5VLJ?J;l_nn>LytseK4R5!1dhyz z(^Bcay3?q-RV#x|9LV8C)OXj>ZTIi;_d;m-NcJ;XJMU?Xh)z{YA3`l}-P!j1A$g|c z7GMGu)p&NT0-2#>0fKsAnYmcEY76DRJzrrq3vsa`jzomn4CP--8<(}WonOBhz9i=W z5Se(yI+&hH?~opqOYj*4u(yS_9ZJDsY-|SEmV!vNozg4mmd!*)w(sDgmso9Mg}afr zwv^&EE#tM;yO?Emt#{Rj_1D(k^eO3x?}X8Rj&;ZN63m zOn5}J9j^9wG`<1OkuLovH^W^1tyDdQV}pC;XQP)#C{5h;c)|_nUHNzoX-CU}$zQUL zSW$Q)JT!S8?Q4=rX0F;(Gy_WR${mQev8?SU%z=Evx46?n}HQSyWR?znNyCUt=>$72FZgLLk(c=Y&6;Q)qnJbp%9$_*(+e|b* zXz)Wis$TQNV%eB>^ImHmO7vruk5v61SjvSO(`K&(_i@_Z#O{uFQ|Cuums`oCuw3Od zz8TK54#e}Ae52l2P)tt^Fqf}ZyEH{X9SH+v!x~D6TyPv%#J5nc*!iR|Z9(;4?K{Mf zXXlpr$R)j3jHsMB;@I@gUcg%N1?DHp6R_FpQz@GU)Ys@*F#;QA(heUHPb5$|hI}M4 z8uRP69o1HMjsysd->jT}z zhTFMvm{mR%kHzKP%m=dbpBOn5uNalv5R1b5DcDxNt?{YO+tFB0T^F_l29wQqqGK6n zqM#ue`rVU5;lf)ULh=}&6%}|B3(jf9yD(nX}&ex)27pJ?eVyIF95o)cJfqpU=VCwL$;l->LuK_C3|8*E5yjTXOwr6D@q}ii6Gtbv z{HlI8AoCdju~`4C6#wW^oV5Dah$R4EsVxaqm`R}O+-EPZEF(um)jtuDIMz`HlPE#= zh*V-^X!Yj|0!`mW&3n!G z)Jq@^lmBhI0+BhtkL>zanN{ja90A(ckyE$BM*C`P3JFBZhrjE7j4gTH&T?Q|4%H{9 z)n`t!q&nBTvf+Lg*lcfaBYz{2kHoS0PC|3JvTdv*4}LaRhJwhkSVbIpaF!#GI95_B zi7dU>Ffi}e>{I5myEIAeT=E&oma?k)9||rz$0oDdp1>o=udD5w90I^G_8GDAm<_Yi zJN`Z1&-&E!T3XljtSvZFcv61RGPJe?R>l*Q;yN5dQr3p9B_eU8e7P~Fe&?ZqSZ@oC znwQQUqiBbG=t#QRCTD6C7`&q1v#}+FrL=h_rK}Gm&um}QyR5@AIm}}?7C0EK(Dq-+ z)p0x-+hdj9gSa7lHeW73>K0Uu!+z@-io5G(^}*m0rar3Y$RuLNWZq0<$%ok+aiBF> zow!`1FUN4{1t}YIe@P|?HFH5sD`_SW>oBXSxid9%$2yqJfW3zUyT2UL9qXT`a!l`b zUok5x4j$csTBD;hJUQu3ZC5Nd*@9Sfq{Yhii{@drEy)m%Z21$TsK=CD0S7nwi3r0( zY`S~4z2Ow6WVelV^-SX)RvLdbwPEER$6G#zGkONtpNFu8_9>hf=8r#4+-V(|ZFgS5 zw$xnGQJG)cWH<)4kBklHlwVB*4(@RznaB>0?r>$x0TY|hx*Mzu)&b8WH$AFbK-?Jo z+~P~+5%h{YG9UVq@G9wnM<(|O@XcR3Mx^U*9gY=-M#tbej-&0i ze{XSTFqW8H`xmH8zFX5XJ5CM`(D#qdOFNFUo{h{M)uM zy1D#RcGWiQK2Gb&z@to)HrzQ+=L{9^aFH9!9NzeGbgoGGWJa8P5U$7GXT*G}bFgV| zf&N3bhp1d7EPtr`$u>sY^Fcdr?24{p*~xKGNRW?YCRgaF{GLR+Vo|Am>?afJ*|{7Z zZHJNmE?R%Q8Rp&{Q?lz*5hka- z`MvLc7r>wSxBl$&`PuXN{N(XTW`5AAemO^7|7K?9QG0!V^P4{p#PicnIpV;Irp^-! z+?=0QqZSFSH;JVTKJ57}g2vRH#5uPR5(rO7i~ff*X?*MfAqXP)mB?OXp6uAvFp4rd z8mP{NOQ9b$wSQnv-d1&3epMV=-mo%rsmdG;(r}~R)o2P!iASHSDKV8W7TZ{(Hf)vZ zU~-6xc<6HrshZZ&S#E5bo%@#y$~IX2V;Mfx?}`F-pU zwwxt@JNGpZOB3r-6PvuCwf-f~G11YZW-_WOvctU&_FXOiMgj8yjh%&Rspm_{(a)!B zGt}PfT4`b?BnJWq4rKItYt=HwFZ5lF>Vgoc@790nY+f#93c6mb_S3Nk*(XPn(behI zVdaVKzrd>c^n#+GeWvgsbH>5hndc;2gcg_9fL}^48R)KCP>;aOC$ltSi!=h+5(kJ& zAei8_0rT+TBnNOYAo~XlsrprNE$D3 zQf=-mh`1`dHNWO`8torChjwih3$u3zvoKEKF2P0JW+hHXqUo6OtlB+d!U~%UD1aDgsVl&FWk<@p26IV zbvfB{y*gn=&zJdxsDox#0mLID{8$ehh?2unyep`Y%%USEM*h3A7c{h8HNws$SGLcPK?a{*O#KCQRG6XhhS18kx_+T`H%tjg5=(PM|&U}g}?T`4c62vs{4((U4VyPpzg zFz_LK^K-3bi6Cx3-541!&+$%Hl!3nD!nlK)4B!#1uSV^$hsiUjo(QrcWOE%4X%GDs zzW&g(E-b&5ocKZJU`(_Q#A;GrTke)e0j7cJ{03SHvVW?8NpI0ETFIeNYhmETDG7Sn zdC{JSclp%j>T2q{7@QpYx#GF^E2Xcr{7o23KxTbD`}9*FzWH-M_vxpfKA+D-9>)=P zJ2lkxl1E*gX&`Ej`qNK8`{iH$WdNUj_F0X5rQ$7YJhfM!mqC~1CWh}Pj7+LaCnPkd zNY5PQg~!HHgRwUeWM;A-lNe|1AYtq>gu1rPfkAnt3r929BNgoSP;>5HYrW{F#TqbNzUMXP{QGQr`)pE;uq(^StwZ< zgl6(%1)6WX$(gO=1eevJdoU%pVvpy@foGf^iUHmBSY(C_pR>k$mdbzb%v;$lnOfay zvWA-3CA}DL7Tr4H7Himm(F}QxtV`o9Rd`E5)SU9|-ze_xBb=?5W>M3n336uI{`pKv z2FBkrf02KU?wY$x2Ik0rv}T@?3Ma+n?1MsD!n2xxc6_x@qzmzcw5=WN9O%vbr_xwGyPeS|HZ;tkz{1YYX(~LtfncCHJ`I$4X+_ z#eHzKah|r__h;Ut^=nvHax3Prd8oP;DLI4&4SV%X`;n|#F(n$=3XvS^h_r2u$M~9Q zfi^iDSIrSJTR0{?h3yJ)v?PT*ILxmHt4&Akah>df<#c@_riSj0Bi?e2BeWBzraPIk%Q9T*D>lLiU-V9vroEVuTjxYOjYdHYshO z_tfZ;ad5)JEJx34UxqMy9{&pM-g0!O(f61T&X`}PXH&eBbpZx7up?qU9{HugJHHLw^8&nnUiUxa{DHt&Hg4GL)Fq;asC!G?R?Z&roIxX6?}>#hLdm&f^Qvr z{jKH}VW;<0<#Q%z_HI~eW1rkE|2kyzv&Y0?5n(bz9M8mx<9nZd2IOD()T|n)-B|d(=KV4WO2;JfF|!^ZD&>|2p{LplliHYh+-!7BqpH8Bn;W`%AyO+g(<) z4%B;06biI8Hzh8CMwB$>@hByU2ZaY9ZjzG3jr*tG0mr0@;~^*)mlA;oIU8DAzu4ng zYmI|%JRc6ZKxOT6hyeM(HL=0+(fkK!1b7w47Sr_^UeLxx#3O)(Fh0_WlU7FA9FLH! zm|d{#5lF!*M<$n&hgc?)HN&K6{sZ|8$}?rt zHpl}(wXtjk8ne}OHOS4&z^WjIh!q8EWvf*VxnZ%$C#0^ApghHWs^K#Zg^iuF3rucg zgc5Tlpt)j~c_ebhBjtp~*OFZc+-pCAbS`%m$F=7#n@5+%GpBzAd-2UrMsNyaRo%pg zab2{%RbCx6;7*%E0*~To5tfmh)s+p8eTvsqew|8Pc>EEX`>JoPk*)1JkYk4?lg;1B zsY~N8Q7e2#e5wNkDcP0EA6$AI?K`#Lr=r`&pVXcO<#))P0~~F)?T-M&$tmA4ZfXqA zHnw&}X0Bx%P8esnaSY`Dj69>|@3t2QpgkZ|hr;A&TqVD~{arE?-$}fWJ+K@zVl~|5;`N&6`c+qxi-%j9XJA zxV`HbGMLbuLt!laF}hdv7{9hywobMet*^yl17Tp{9K;pe^f>a5;iD20#OIe?)&J72 zQZ`Un{h%H484ah!2|tx8W+0kBS$_0T5~w{CCQh}@FUpxR%;uTT63@zQI8w@-Cn7D= z5r^E$AA6QyoiuIcMRd)!*!@?SJ)BUFD6$BHy=V zFh@2+Tw;9meG_0hT9tEpep^0RcE9uU*_o_dcjE7y1s&^{SWtHEa@*}8497}etY+s? zjWeiuxt`_**v8m>EfWv&$pg`S)lgm$v~%XGovU*oD0=S(?n$9GwmnpLzsk&5#id`` zyP^G8T;j~sZV4T~MhF&=p)RXre797F87y;t=&i4a2Ty4*-Yis!NMeA0QC#W|5)>Tvsl%#rPxqo{AKu21C39Ny`H0~HZjX0)9L zG=)>kUK8lO075q3da2~0e7x@0Y6A>#U3D5r`bf!V_%jhO8-{UjHeR3P)4s;aNvEvG zQ;^v9oZ{Td{u>i=WwZ|(kFnn^ADr3dN=UhOOKpceQ#K~NO0Qej;Q)s=5XiP4@qUwb zcTBQZ^-QKh!&wU1i8$~lJ49gQAbiM9{4$QnBQwZN;xiY%B7~pv@UgK3g1pLr-mT|1 z{4Y<)!5lb#V*6JAHVkRp9)4hR(c9n4l`DxoWHaba>)>!;`2SVUpskv}oUoCj+BE^G zyKFm0V6(7-zEik?;jv%Z<$PxIuM*RgQzb=Q+Ah5e_TtKY9h+>Ontks4MjQ<89xoaL zOP-wNqaC{4Zn01HVEY2p@56k*-NXQoVEt(SDW!f=}z_Z#;vdaoN=#Rju&*-x}> zgm~k!jf$syKD!Qz(W!YwtlD=*dSRV2E9um`-S*y7pz&w$jpa99ZTZ;vTC$v&oI&U; z{Lv7dxYI{kj^y?h9fK;qL%AZmuf(4n>vp^{eL>xV<7ke0*=NaVv9z0Q3VwnH}HxiORz zDu0U&-TXlqW;6pgM+~8#71hdR8njAD{Sc{wsSE z{@>ud<=$rJ2-Oo~lM|!2T!QWx;y-sR)}Ico#bE41<9VWG*l3iayHnnEbndt98zR4` zXW)Ge)venldz0@p4?oGrR(`AaEBj$lCFi(cOUG{di{!?41F`9-V@Jn*)yMHFF*%at zobF$Nhwt|!+sncn6euNy#h``EyocbX$X6oxhZ55w^Jdp?6{lK5&>3lN+WBegu)k}Ig!54 zHV}$Bs8O!wWR-HEQR*&V?d{Rkp7{eqPpCjZb;uEff?U@jTy8c7qVH<)?I>OgAv9}| z%#6-DR}#-bEQE%v8A(>RQDe`kI=dVIMVM-uMyXo~8e5FLi7|H4J8*06wFC~CNNJJP zMP}`cNT;Cg$|#x^$(e*K33mT1q}i~tTSou~?9hvXB-{G0t^?~Q8MI~gOqH}F4V0ag zktYdKtO%1{L;wpj&}DXFd@Zzp(HH75=AcuPHtBqj?7>mq)!*YcGl72CIgLpvWz(*r z|6z_zzk_^%3KrE?r&wVD?bp+GvyGguR7=Y26VBCio$>ewe%di%F?A`wjs}t?SL!;q zNXIB;!_dr9%ee)xl)VY-h-Z`dYPPa8-gd3}Ag3wBy|%Fw*LOT;hZy_2~KPpYkBsKPyaQbq`%?Y80p7gU{JWF3f2lJ}AajSMNS zwz5T=+4bl$0dmTmn8J=&OUAH8`pt}3YxfQ{*|_VjyNQXk-1hykUBhYymiA57xfDCp zbT7Xbg}!Pp$M5u?jRTn0ZTj6~N1J7|zF;;paY|)+?3Pv<54XCR2nlPI|7gje?8~y3 z`l1%S5ryb)vJA851mfZLPx)7zov)+)5qQKr|LDLyz?9g1s@rI>*a5tLxF1bAcfpyG zRpIMo34M9GSg&a|cayE!E?p@0F~=hg$M{#s{?pq*(d^9`>}v3__!xuC3J2{_*)!mV zS5?!(*w%~Zfy{lT{vIncPPWkqIP#?2kh2{?Zxax`a$oVNH0gO`sNoi#s*U6F#4Gw> z+f`wH$#iV&q}T?5&YA78DMz*e4i3apF3qo-4RpfOJ}x1sKcaLhgmrst96D|qK7{PS zy)u`qI453DL7BCDy7Q(Da+kgWG8F4pT_ylNj6+99V#ET z;+d{bZqv_rEX%<_&;8)>y$z?i&5r*vF_J%8 zkJ-92yE2<>+n_WgnOr(KwqLt#wbkq;lMivU6N_rb2y4LUnrY$cPh@Y8U0e1zJ`&0@#q`x&Kyb{=e>7%bcl zDai%%I55i-BSMDq7y&- zu-ND5acpO&JGR&t16Gc7WEv4ObEMb0exA-YH?&zMXP~_gYD-(x#8$Ij+4DI|$-NGW zO`0QY9m%6xUyiqkiKj4r?{?nr((IGvMQzW@D9)M2?x&8@jQA%cHymba9K8?4)YkID zg?Qp<=JP~{ZJ(E8%TC1?jbah+`JSD$+!#_gruaCRdBkRWI!Qjd?N;*ab+UO%m2=6d zV76fh!}>EiN1T1iy?&4(C;|AWjO~T7G=nIN5;g|%ib4^qb7tvFtXki$x~{Hze=82P5IZ^_xBurtJTR4+l$LWBKxfDZNH2wVl0cx8zu(| zu`{4u5~i<2$>hW=M*t!7DdL~}&Z66;9FM9Vf4c|oIr*%}$nMkaI6PJd;r0o&x__}* z`!W0P#GG9}=+qe||N7i|9NM!0p-7QuJW;L8TN~4qt8{IH=W<&gp*4%{Pqi-qY)NMK zh;ywk!K03Pt-98=_WQHvQ$xXAmmff`jl)oj5Edpa4bCb8K%Y$-CHloh1ss`w0^+aM zyTvIB4nNm3!yR%CLnJ`%#F@_qIeGCg=e$iIfLLMt5GD>to%uZHk|of*agLx5S6Qhm z&7(NFnSoG!GSr^zq`ZGGD@W%fS2>hnwdH`g2OODMpm|2D2Y}{rN#?0%wB()Rv>ZCp zvgZAnDrc)F`kd0@e%G9*4j?EVLdzfy4Q+<_MaCly>Nkk(I-fbD>lzUhACGbl%?eg~ zn-AGMNz|E#B`V`Jd&AK^aT=@q zGe1Xj-Febi0347iS&4UQ_Jg$ZMcW^H9I^Rt#c62{nA$Epc}ilV$4Q5oP{IIgBs6ng5yFuEuJda8tljomc7fQIK+7|n{|VS$25CG=EcLZpR>L3T&;D+Gd$C@i z96%0do!LJA#k%=-$4A-+S5#oBjIN&#=|wXi!{fqkle95y>l}{fXl`&84$%iwzT;fM z;ll?)Jit)G5;=UllF7rkwc1mlO4kfO&xYOjy%vKE-}XH|4F9#)K+iTUp6SZ_%`f#c z$$75znRf?GPj|eqcw}uaAL$rc>FD;n_9KWuAsR7cIF_xi#x(gLao{1_6Rz%iYG^MH z?&+{|r|WD|9SfFY!1!MxV-u8dh9i zw&kI=P`i5GZ9_4!dDKLy#Z@bICi5O=Gq7@G8;Qikm-%jSn0qDL;GtGsEglpkfAPAp z{I*rY_Le!?*J@9hiiv0pd<<{4&sT@A8heZ=xrf?YXTY*!sJ%a~wpZQs)p#=TWp!Nc zeKGu;AbXKH1R0Q9;$9!@iD$&Skx<>a&X>#*7Aq>-#yojwvE|;Vf(IPE(XJa zjJ1UMvUzo!D(_|6HTP(Gf#rD8Q6=}$`@)=a63dIWbEL-(SLX?p&o@?d4%5CI%7ugv z+ukCE8@*o%?UwSFUV?n)?k+XvQbvo}XzWt#oODL-c{eky}U0wh8A9JT-J zUF)q!t%r^viTYVLxzwnJoya2!AUEEl&MHg{s~~~LoX=dp>QBuR<1k{6XRJAs^Kkxy z&V7yIW{W=-JJ%YA26T*rQ8Rml*)q-=MCVvjm2-%r$Z(jbF_OfAPnwWDP=iJVO_zyuD3J^F?%i$p(dE&Q%a^@Jq@B|P%nO{M5h^>}4_Kfm%gZe-Q3Wo|x#B|q)G4>lW!Zj0;7eK}Q6)_-gpO!(A!XQ6t-BXq;L;%5J2 zOIv#nKhw3&#yo^+I|dehZfB$q(xLSgPd|A;@+ z`EbV|?LkwxoyR$sm{@R_&w30Bm!ZDf=OmwUhRt6bW9|9c^92*Tr~Wu&%a-#q53&4b z{Njj2D896PP9EORBe#5}_k&2~KlP=t`Ruw){FSUycEy~k`ufac%Ou2?mQCLDM><~( z=_NX6PRVv{_AvR0Y`*h7rV9JsPj0J|1K`lnAV3^=lK$56iSo6U^W?NGAGd)m51g3N zd4 zgFOhlC>t_DYH~Uey{4u<9%!DJR=OY-2l&fK52(%+y!Z?eiiXVeBr}4O9QNHR_dtPC zB_uUB+w1;&=#Y`xM( z)_)OL=YGsl9LT`Z91(QRp_T&!S^>bhLA6UmusS;}*-Xr;L&VrtgvuDmd{{;aJ^f*sG~UOU;2Q2lTMq)K`p(j z)6H>K>D|9YjCg)PZ*(cW>eve915cBQ~+O#=~R z&Oz}aOz%r=v~TbCHQhA%ZTV5lb+sp07*52B-Z=XdJC0>HE|{ZyKzUlnM0 z{zEv!_-IO?orJ!Ha5>aBv8bGaFvrhnpWzQi3IQm7@qH-AmSK-Pxx0DWzwajkuKtd~ zaDG_%fX69#UeR*yxMuNG_Q^g%^%Eyg7ItT2mzJZ4>>*P5#tENGTC6=kG5r#@OL?z4 zA66{{Y53`dtd`DI zt0fCkpU%2=5B1llPMwVk%yQ8_QBB;5qf6+zkxzoqGi5b>>e>;BBf`#q z10g%&2|W7zH-4o#EqQKZb4p_`zeaOo&MB<{|Hyj3&leSoX|g}cC!A02=cfr$)uNz0 zjUT1+-=NlI%h@$3nL}(kbc>|x^Lfr(!@B=9sb$Pq^;R16*OYsxdolGX+u)G3vfwjE zA_!Zo;W3)cns=$?DLV5Lea^Xk1*&KCT$7~Qx>kFG?TzLpMN6A<_H)7|=hF2sJr1#M zg6A_sfFDs`E$Ar^dq&a*+ea$R05V}U12A1x(uV|z823_&N-=4Fr94=1IN&J^AH0~GRgTp zCua&1rao!)VLffcC8O#S@yugw_BMK?-*Uin>~Q1h_46TbQcRbenO^u?vSed{l8wey zm3#eR=ijQw$#;`@lFp(>=$v--6n!6r(k%aKa&CWTToC>c`9LIOMsSEd#gcVOB<;3( zH{%691}}gSX<9(Ie=^ z)3fnboUlUN{?=Wz#G2dY=#4ENv9^i9XN!!*nM7{qc^WQtD{8RPd@}kZPEV64*rt@vL zL)O-!gT*^Ede7`Ml(92Tsm_s>A(TDi;3QLb5#28)y9nDiYAhtWKV^BKaB2L7BdqeT z@OXDf%Z%Dj?eM?Uzb8vM##)|%Wf@3Mu3Yo0uAAd?_j7Zz;f|Y=*GZCFKc(`AgGVG! zUUAO5qI01=69`O39i7`u-qM+*#T_AJRJ1sHn!2Z)HRk+cj=DSC{T#D{qffvjXNhBS z;;NB%^qjHhn#T2Y@OpL_HT7(6Lw&3GS^=J^OK6?*C)r;5<0ERJS98WxXYzKc%sw}pCvtM64&eFN3)}h6 z;saD5FqxFNVB0n8apFNW2d2h@I1HO; z{(O~Rb!*q6J?orOwH=`V?_8SZCB}ni7_wbuKSA3|oqHJvfLJl7)|O6BZA5Qz(dRSU z8I>5m$F9env(#-F8HQ43@IB)Qk&m=;_7~`P3(nFwc;c2&=Uf_*Fb+(h+FMIGHqH#1 z=L7MbI0KL=U)#9-;!^>`HL^2o6V7ukyUo$*aF%+C5Lyge>jcEzk}hKES>@Abw=K5?_aR6w zw&p#@UskdcHTJXPPlh;+DNfYP8jOC83rF9HT`%3OiSeDnmTr3pGtu^-`BLY>_V4g- z6;9TKJ$ce)-Ll(`U!2s}S>g-g-O1h>Goc|~$%pBBs4b=Y=16z_C-wo$Y^GzDIte)Q zS8K(`A|a)Dn`Vd1S|`5eoXsnp(tfl*NJPg|$)tIzg{x+VOv|`;0Jn;9eq-B4ZLXMx zz4ZO?I#buKuaN`n?DWF=I{#LPIeyo}Cm^;kscL?2;d2~-ovYlKeB$^)z7xq%(0e^F zHt6hh$Fb%iV{apUzdV|=D$*VEC=C~}4x##cT!8W%VWXXg-1{{&SJU#4i4lX(ItRN` zVBvXKj)9Y$!}7f-oYHr*b0_m_$~=30S+^yzc)q>zA9Sv_BtORl#hvEphGAC+EZ zMe&$E3;mAYQ!b(0UiL6P;{J}yo({R!XYhZ;S%%u@pY|WJhu$N`e%GD_?Jq>%#+l7l zPx)1HPXvaSM@)?C{(`V#`bTBA?NioXXg@657iRYNvAEp0+GX;-zO^8KPsM6tTH8{mhaEednOgM?T{q`ZH}_h-=mhY5YK|c@5s3pEm!rBgVduY9k3YlK$KyGiv_4le zLHFoobqN{2aYA?|YL!!?E=UZ20O_2QKoncHMsCE(IhvD65I`qm#?z=!O(BuXRP{Od zQQ*Xx6z7)arMA~N7yv}%(eeqazj%@XU|IR%Bn04mb*2#4s?a*kSRFr9JszTvzPl}W>i>@s8JF&lW%W}x4uBWUpj>l4Yg1SFrfACqS} zP)N?z>BmtV56(!m?RC2vWO_u(xNX#LUCq&QnFP$9lYA1k#btsgl%$CVQuBDlUt%Xt zJQm5JJWcv7zaY0TOz&u}BY@(O2Ccw&-Qv=O?2z#m;?HpHfC5nJ-S!23A&fUDpLKt! z??&@s%$6d!_kq5#$@A#@2d%m7jX|O)ZV4>$xO2k;;tI1~F>+0Pr>&f+l+4upLR zWcRxt?dN z3 zDo+q+uSWH>p9r9NqH2rS<$728a$W1YUB1VcmU&|i=Y4>VQ?j3l5nK6lE^);O#qNnC zhwM4?wEse8*V*=tnK~Tg2AluNk6>}fG7sm9_r52sFWH-&iS3-#jte0j@%|AOe?#`x zXL@rGg!coQSjd!L$oCu12PfO_Xx_(RHh+o*w7tPw+d~1G8?4r!xsH_|JDzNEV3~{q zZEum2=d|zFw|ajB`Q6|EaU)G`?JtF_d9Xgr_YA8;U5LTSi@)hR;bGiyXZ~WF8OBh00DG zOId~NzCfD36w~$c{)%NRV2Mc0(~B-*?@830I*XT z&|2!U5Q?3%5vBLw_f>~-t%S)bl~A;;btbClI)a<2qNOeH{7?O7kkNaYaGit9UVr~?pc zBV@OdiL_5GZaZOUrmF0Dsmax=V|FLMQ)w5RIe|t>)HHI8Q^4@V^^$fzWNM_pqT-w< z*_CElBi*V)nX7zp!)Eh638W-g6-e|-g%*f&8XX^6kEviqDaPoF&reK5K5VyRiv^9D)c{TMjl?L! zwfSAWo_3z|P(|(aQG{-{1)^<6)pc+qbO>|Oj3ipNZhIs_%1S&hf`uOU z$C$zJY}2B!C~!ra)|d1i8}7|yjKm1gpD(8hE9V(=GL39D*77^Ycg>Ua$tRL0=Zw4j zM26PKrJYOf^_TC*rUq!mhNnYDZMKyYq+TU{T^9;wA7 zHk;0-=ADbk<&G8ymB!G_T zXkCLJh|y`aiw@V$n-(k0W`ce(NXu%YRs;;f5PJ>B((=;MP1TtL2PJXNL7OFqnx?&$ z?7On+`n`2vvcD{wktJH#Vh)puN_}=4X4ro);p{zJSVI+3KBdn}ZdFd(p2@AHu}?^S9^?REGYOc z(N)ZC9J};uXswJ3>L;~^tRFG>FOO(hwT(bHAYW!f^ z39E_XeU)0n*3%oiQg1F{a1x{*+9V9YiO7rzi6h= zR!_Gp#MX+qw(A)5Xckbv1?jHw0sSwRkPW+xR;?VLETBVAZuhEyeOp zJAZg0pyqsBgMEkAD+KQS9ZshZ4=1zlANDQEt>&Yw&h`Ax+dMN@5BE((b1!qZjo9B( z%^@#Koekc17z>1fou*j%cJ}*@@Q0qswa4*2*3dqQFzM&pbLp-7tn7`mh0=bSN8?U1 zm^j|UjqO>&Sgyz%@9XHJoP@X+ex|y*wwB>ESAX-+D{kaPM?!v=XW2vXF8u$}7HTPBpvj?!}%3S#;a*!Sm8cW|h5^)^pUo5HtD?}(v{iy(wc2(uXg~5?v2m#|zq4Y+h}q8~#z!t$O`I$_ z8Wk7t%;OQ~EY}bwWi3SS-c!l?LDs|CTU3bTs6Kl}Y$wBqX%iMbdzS&v6GjeO)JPm4 z58rgk-b%1%VYzyiolHN=a~t<%%vZ$!XU|JtiH-~DwdxoI^|`j%PPcy0b=zH~hbkJ& z5Ys2tt+K3{qprptN3Zp$o3jXW(W-ESCb460)5Ug)% zdN9aK!N{b_Z(c_hziZ=Y={(gspDjR>#*0y&+%>!?Uf@3=_2|7bwG;0oKJ|~RpbBUGRcO8C!3wSZAU^} zj^XY){~X&{rhazl#t#oWyLF|8k(=u)+tc&Y#_Aj+)PZat6*o+B(2O73l8;zwi*b6p z%M+gzOLw(YUW-R4KXheputtle~8TxiCe`qHe? z!_N-QK1Ut$WhBqbHJj`aXv{3_hOy+@Md&$wYu|TcY`+Fmi{o5#=E5%4CA1%eY#xIZ zY-8`iG4(X;Ei58u6`C1eO35&QEUp_jnzHhr;$%cGW&hRHIEQ zrmH`py)Am5f~9(f^9Gj&EPCrp$5@Xq7JtXyEG~mKu;y&%+Pefm&GtE#D)w!7-gp&g zu47g{1IDJEdujWy>~W;`O=!%FJ-#b0GcJrR8Rm4|dY=pAwY~D4iQRl=_>=LN{X0vPYLBMjturuw&@s^FTj}ck1 zV{)p3E9Ud@AZCU<)At0SY>~#TWv;&KZi{Q<*IPbZt7i6`p*iHC4lyxP*h0Q9v5{?T zKUE%^F?nx1rY;+vD8480!En|5A}#+^&sueO(EhbhkZqiPhstNp@Ceg;>VzRqn0DMr z&xf~owCyc5dqY$_wft?#=2QI+^~UCR*7#dIR*h!p{Acso=`*fi99h-xi_rPc2jth& zM;P22%vrQo=B~q6?>?s28q&O=NaAx;n@;poACK^r(9| zcz3Fs9WXZ|f@eDeAzoHQ&Y7rL4p5Cvq@4-IuwBC*p+y);Zga4AYaB)6Y7X}=^=`f1 z>*;~!$Q^aR`4WD9uQ(5p$kpfHmVq$toj9WCF^0Np=hSh9OLKG+*<7Hga!MiGn=Uv; zvT=irmtwri<_`cGO(js*s0py~=#1|)zfmJ1dKWx1P!7=@1djhhasi0>8<%*v6ZVYp zu6aKbk$rw+jUm-YugS0ySDg)u`aPR;l!@^9RAPVPhiA#Q+-#CY+Z}X?MJi6+*g)4` z)}wNmz+cbNl~I!C18_u*-laqW08VFm%hKa=t{}@9d#e#^2+YOdPxC3soWAgojR6}6 z%=k;jy~$2OQ1VGmECe~slx>&q`wKXiPc^I2R+F3Ld|>QcHq)!u4({b!gZSfLW>;~H z)u=6zC=PRAbjN_w`vT<7DGKAy@4PIuU7`5Nw3M;=&{?&KomcM+P1#Rob0cZP2NRfs zqp$4h92~?Oj(w`0kaW!-$>#ykyg2DJcxLA85x|r;g%yoa2%Y^X`=rf_V_CkuVeHX1 zJf~?p_X);rOZi%tLmTrmy_ef+bE{BwtNgcyaj2qzGu%%P9Km=xxH0=v znC@CH)%J?-%1Fj$8r!4ee%)vJl205=elVQ*6LuXZd#3TRoIp&BV~w8OQ8N7w=N2$d z>2Td;lVSP5sl6Q|CcbD8@3eQr)Dtroa6vbc0ThU-XeMSJ6msOhKFI4 z$7^U01prE$CQsPgm5A||180oQo)6?Edo|bHvD;!_3V-+!#Rz?OY<0&g#=AWR30tt) zVbwQr$WPPa_<`ye_7^6ecI-~c$6`%_gC3nT2ezC?xddauOmm4}UFm_zeB;I&x3(oK z{OQgk^xdgjZn>Z3FvBrE3_taZe8DjP`%oC)Gh-a!(Kb-A~3mkk# z@sMHPt;_cZ@qIB|zv=cvdzhRb%xSlrAL%;UG2deM^iB5iiA%i)hji4~-j*ld2cr4> zC>%(hBOO~mNP}d;7SF+`-@QMQQ_m}QRYzNWu9Ppx#h!=bz}Ri!b97rKXPEw)c41O{ zq^VZ@lXW<>pG64sq5N&ylB~1GzQm5tor`K;fQiLbxd*HdRefmdSIfhYZJxS$voje0 zZD5=B&> ziZS5y1&=a>Mxpc}W<4CeYS;!R8WS1@5x~`Vp?5;H&7&C<3*FVN!6oraHKtW^Royfg z#&!Ih9vkuT-2~f}8VsrtuVg#W%O|RhsWuKN6o|lfUSb0JN-I#YMM&S13Lz~gjg}rG zEg_^R5@f~U`Q~t>6(-?wEW?D_sV|{Kh`_0pq1Y!Wd z`8gqehRiQfJPPE}T&Q#zV;70&Oat+??!F-{tf) zs0MikWmjRg@itF*OVJEIn@vKxt|iv>d8H82WBunty%f|Ap!x6{*LTkU!=frmTa-4(t z+VJO@zbW!ISFm)P$(MPS-{SrnwJtSi?zAAYE3+THOymqpKy^e1AKvV6+pz-jk?7nn zCWwRU<@s)x6rpqMJ>LV*q1|^wK>N{B-06k^c7MwcJA0;_+kPOu(?(0SL18F<(Vnw0 zwzbf4q`s^4&hh~og5hcs&kNty;C{um!QqK7GRW~6#<=N-p7Fm2@yG9?aa;L7==a2h z-k?W%49Q;t33xrby`>kAYpO(ye+A@U9d|-?8xwNeUg{}Te_<=%^5>8rSuR~U>sC+M zMp<@=GeZ1w59H#*-o3vYbmKGG{>Kb2qgpq>Vzfn0J>#qq9lc3qSu6zWeu z&hqDFaRkD{)^DWwouEVg3*#YA{)rrXP<<}`6?wg{+4{1R>;zocGJd-C7ii}luPGtQ zjQAY11ln`gu~9&&vs75YE7PW&d(blaUtD)4i@CNrYU}yeFF)TH;%0>i;=e z+PR3ywGM~oDns4KK95c=-1R}TZj#@v()h3OotO$NJL8(|)dcuO!nB>1)tYC*&PxpA z6?2Br_>jyuf=TeSdWnaVF?z3b?FsJqH_wc$bl!5aE4k?JNHM;;C#^4@xqowCOd++G zyf{!7aftD9I&VLhw0NV^JX;aGpEBaeYl{r>#Y&*dZDcd_XjTE7QgGaQ_@|3po zWB$c%SCf>f)#2wZuFd<7=9I3nAIM*N@6eFtY;3)L3+A~lH=R3LC5KtX`0o-U?ihPx z7xd8KXpzmC3|TTq4^=m3Esnp?9wKVuqt10#JzEadu6k0n8n);84A|0RigWAsW-A>w zd-n54o#7U9cJcOBgtrm7c^~&#@cJ)I+lgbf_-o`gnZ-#yOP1MoSb@{LgLu+4?DL1& zuC(u-YjyMxLX|J(_GU}!=H_lictqPL@WBPb3CE z<6V!sT(RU`0Dos&lYpI`qOZyjJF(vbE zX?m0~)^tSe@M4@;moVeP;J_w5^YO_Cj-cE$>^O2>v%|uiJbWZpG@cL>9*jq4dzkM= znoTOf9~|ByjzzHuopo$-^YTL|wDExrRanD*-lgq!D4R*QkR36i#~_!XhcJ*Sz7XS( zXHUE{Zg69Ah^y~R*B(ST<#p$5s*zmwPGNz+!(TfI~6M;->7-JT%+C4lUdr z+v_-jvaU8)|W7*oa8-=py z$C3b6zN5B;e^+tvXgqX$mfjEf6#E6s_pvf0k@c#*q53$gb4X+2zT2~9 zl^q54NMW937FF>*Z|$Vx;1l_v$4#ExlJvgS#F4h5#>0SFJN@MV*Ms!^BckI%^-9{7 zrf0#dxV@?Ck5h*B9CzUr+ah2MB&&D*N&f+Wlc-N~+})oqfaiEpFmwQX{l14&eJOpT{SfTG#4lW!;7GpbjB$jQRj%#pv6ysI9fG&9EXC) zc6Ml)M(Dl_x5_WhkN8M6FjVSYfb%fLe@3wFJxP>yo@#TqD*Xh+S=xDDONGvvZ*p;& zo$19m=f(A1Yvj-QwUx-)L3g+=Fm84>XI^y%cuq3Z-pIfstIpZ71bofGPXNkvRoLZyzu)Pe7SJQKzsrDIH4dmK24~o9i z@~`TzXM!~qA2R!#PdMhpZYL?;@`bm*?X3{PsMeSKSAIHYlSZc)l4mwl(#BHfjT=5x zo$X9Z`WGi#>+IaJRq_Vc8vCJsLAz?3g!yJf^V6<2DNg=|nbk&+;L`RN`PhUc7!7`%F%u%heFG=FTVxrGNi;Y?9Y*SYcEAk1w1 zOgodD)7C2;6P)i_yjBG5nLXdZXT_Js_Qsqkr&7>|@42vonA03}6o!aHPMqic+E+pt zIJUI1V!_C#RyJ|Zf{KH|=>~|W8uGy-8|O>r9kY`E>zqdN=Y_3sy};|xGC#EbqVYc} z20<}87QoKFh8BvW*uJbSzlcAfxHkSJtgjeNAFO2^i;K6-u81KWm${EXW8)DWXM1k~ z1RnB*@~POcg0Z#pjrKL!MgePJFuZaJ^>MnrKrZ=FJ#%DWb_H9Y56;Hzr%PUNe=7X!xlqR>9dDHU!Wnj3p%S|zne#n`!wJiQJ zhfJP%-q>#VsilLO9rnCbexaC^>@d+erT3BveXV_!t0S5Vy7_oK)s;Tqx3+o7BnFEyM|$i@`P}I>35Y2RhhvUHojx|fY~rObfNxQ-B*5v$%Q)Z zU~yi|zbldEHDzGQp9LJPlN?)B~ef}QQ?M-#xTr{@zjDg$uD1~raS zqc>H`taon?WEcm#%FF@70}OU`7(CmEoeR-lh~eP`yB5voY!1)Hmry-noVo^ zC$h3zc7k((H=mCp2T)!boa@Z7nP=MOhcg-5nR~`-iY}A3 z#QsOhHkd3Q-9aXI1wctbPRd^#gKXbvIRN4`mOM8On9h4do$;;$j((RiNu>E>m4n_x zVdEq>-wDo5sBkjR-y&eZF_rJWti4cu-YhGqL15 z^cF0hufD~OKp4(!JU8QP&;ARe-^#FtKb-CRJH}!qjLSOOmaVou(B~=^h(lO@y~UR_ zp6B3|WN2|SlTQrCGI2P^&p3@HXX3MZEl>0PMEhe{Ig$C?^e7*(vy_W}X#9ME>Fj-Q z;x0~onopaFrD&h~-VK~rlI@%qE)@1s=EF6`F}k*x(m5n7pGlLOa8-4yym7;{>Q(gF#Sy`Mh?Mil zwk z*LF@|$;R!--19)K^J@L7y@P4Z(}v>CV4do=?GJ(j%>M&8vSZoWa{Gw|^pLG?B@@mr zW}jJY@uG8;&W(*vuKJAbh+^soZ9bmB!}b&~T?|HHa_Nq1*?8WuDaMv6U*$6!-loSO zLv+JfKkMG&LhJpK%Q2=Gep)|B`)x_iR%UcehX(5sj7OAPcwyxX-DGH z^vjx-k}UMR$p>58=N`vOLhX_Q=ersirEpk2M`@?xB^@>*N|mv)&#CL&l!+9Vj!4c5 z9aF^sdDq!(gywusvZ}^#bSE`pEA>HbF_UO{_L4y7V8j4sz|KCcI&*brH(U3!XUJfU zWle(_8vi77b=kJ1m0j@p)HrB_#^xkm%vrm%$y9JPJJjf+M#^PBffVm3#iwc+P*hdV zdfCaj_dgHaIoDCHEYx# z2l|}St^)=uy2+81R2h<(e8OtLd!>D|j}5gTMRVqD#*w9qXrDqvZ`}~)BW_tGQf7XY zY{_WLi#dkdx-eOpjta7^{1qmxwtvIYL_Rozui1kI%_t>rRuev$mGU;+UM1;u)!e5uC+trk#tXJ4RQOU4qQ-O3Eri;z54O@0DegCyF zWJfDv1)*Tc3KJo{2eMA7sJaI__v^gE>?RFoI!B!Zpd~r~p}H}Fru@;X92&SpP_}yh$<<4ixUSX{DMr#$YB;F*oJjmOp5}l0u$`o^Fkl^0-^}>Hf%} zAlAQ23~61v9a1cco6<$fYO?z~v@yva^c`>kJlJ>8Cz+q*MPEJVsyf5)>OO`V+Mx4k z$JmyJ;Jwk+?pB%%%)4Df12@UqII2Fy) z;P`YcF?$4_WUb`bX_?l1rH06i17M?itlOMcH?f-U)-ptpo#m%5o>;rjq}xaHuL5FU zj0Dy&mqNLTSO)>sA#^$@7mkJTt`}Qge`xN6OX=o4JSI7>_*jd`_3^8D`Hp%smU z4`bHVSY%5hny(^Vo2Iy%pL0PU{*@SQmM)yz4Bq!Tn>@*z>MxcBLag|)bI>NEd08jE zN^-~{#|yR-tyPYOJuLN!wombOXLQgzFs0?leAdx7)P+gRJh5zVz8+SBh8Sg~JO5{R zMd@ z`(5#fVxFmxX)LTD-+pvgR=viHhbbh>X;!wn(Bm(=WTNe`&IBHI*7&%zX);e}*kE{B z(vsK zXOq?38H^2UFSU%ZmT*7ft_PubVXbKSA0{P)F@fb%&C(}Y(xW5neCEbIp@hlPGLTbb zA6tsS-j@8n8wKMa=f!7M>1&d!&q8u z8KWVXYNANt*_|Y5ak(sQb`;#Tx#g4TarT_uL2UW?F2b1VZl8@~xyd2ie@}6I*D|*H zM;?P?(NS2^3n2`5a9Fok6yu>gE-6wgw|wR?R;~C5vl${o4C*@PS(a01uWU`Zu4`w{ z4=JCgVn^ZR)VX#sn0NEW2BIaO7PadXxZI?%X{vL6WfYSUrR#cn6Vvagny2+U#%mPa z&>8Zr-Bu=SSkx^2EjP9(HW^D;e(O1*XWHIU>1+HwkWUmLuVb#us`LET(ZPr_gOqKt zvMy3~ETb^=W2V}C{>VqyfA%Tx?@s<1Rx7LL5sBwy`;#Y^{FRjra*ke*3dM7hbWb^Z zH@SXnJnDMxv{-yzC@Y%tEy=1(^2fwIgK-OU&YC00icf_H`K6CQMiw85hIMdcQQQfR z9{8Eb%`HL9j0QN}R_EX`@mzdNrMNA%cK;Cq%Mib%vfoN{682kA5YcCN z4qrFPlZ*zDto!_485_^^7C#3y4uYN*47EMfb{JPAn&*tud9bx@DrAP_G}cJn+z*%M zP5I7$YhK@Qb+{Er!rsNHy~A5TP_``}@!<=kjPI1ic`N>KJzuur-03xTg=v@cTk;e? z8U3vWBMd(fF}%U;MaVvD9|4VgYP_!bNa=j4Y0JvQ z(k4&#UC7SOe>KW1o}1dp*&^+mFm{{NZiE2fOvVP~ik+ zsg2cBhm$RJyCC^gnC#4_o-5wqY8y_F=V|=&-fu$t9rXSJnJ90ceGpPu*VvNsofp6(G7Y4yX)v0h>HKHmQxS$2oU2#Fwr(7>DMKqWx%aTXqgkWzU(hp}I}m(f-oD`S5)) zqU*1H2bwF$@2V47Q@zYG3cD&+cD|ul3B{)7RP($2o2!6&jg_z~rp$%yd}$1)S{OnO z_R-}y4rke0`)S9=!Fgg@9geXae~Q-!#dO-#%5Gzw^-4?#=MQrc`!c(N#RAV0`gw~N zVez7>AQ@>W+~c_EPVorQc>>GwxXf6rPF2}qb9Bd#3QN}s-?IHh{#9p&2Qd4;lr1zL zQs0t-IXuO>Jv+xZ+bTM~b5D@QQtdUN;aP>$`0O z2<3hecE6Wg2C_Nup_to!4asxz#?A>#-g>S+rEYQMW6BRx`z%Bd$2uN)>>JE)Tzx=8 z8hg%+(dh|`CccN|e#_*uI`881YxU9{%RP2or0toK>T@k@=Sy3x@jYuS@1oDhXT8r- zhp|n6O=n*}te;}>YudPD^4iaKW}*+^ZrrA+upD?F6FsDX%;A zp~gO!`SRqGRsBcHK{;^6qwZVylrvDB<;UaUfBMA#!zQR#=4XDVJQ@-CJZeb?X07>A zl~9M#nM{3FFaV7e#5_}r3-&Wkp`?gsOIFJF*v^d{UZt=5UmF*~=8JYNS=Zms+zaEl zE;7cN%Y@-$BkDEreiPU^06GIO0iAc9)t+YwXgFN~q&P50kTT>mI`f(J)D)|8UtK;MC*mc4>sLm(eSIG@PoxcjT9do`Y?H|du z)25mqo}(9ZH>Q5CXWQy_rnHw?e70(>>D_ox7#SX8pVXIrcR93;4t%yJ!Y2RCNBBF- zud|oi+SZ3BF1_)tyFU5I-FL?3k@~L5yyQS}J#IMd1(?SHLW+_)`|V{WLa-~F$N21- z2Ppm89uRAIkL?!$9L{y$`LS`qrQE-3Cp;ELK@K!$Y^I&@n|Jo?@vd)Lo%SC z_0_!VOrJv@S*f0o+`JB5=jb{o?_)5Zcu4O@?NIHwR|(w6Ep%>ng-o6~Z2T)k+eS*)VSF|k^lDsETO5lTdrug} zp0wS!n48AktvGdq=f({dm$Gzs?0ZsZtVw>&chz>pF=xY0?B02pv-d}A@oPAfj%kA} zVZYn92fMsJgUQZOZ%%k@T)Pvmeq!I8OPsWgpqh?}--ME)j6?Pfs zvh(5F{vC%EbGa`ACYRXoUzp$WY3$w3LT}$OAH>89#&iV$+D{yL)PC2*%wuBWoF}~T zt6l3gc%xV>E1|Ddd!zk&bPB!e@m(lWQ7zM-2?S-UVG_4(LuAfk3)A)(N?nUPosO}b zw`Z9ttSi)KJ|N6wjVJxpg;quABkN z59t?-aq@-nS?F7BW2jt+dUr1CVR`A6dt-mT^{ZSrGW=chP2bzX{3|2z1V>LSUdO~T z;v2a3x%ah+=>1AAam}#8vB=_x?`?G1=g93Dkk3vmn4BLm=SxTLZ=$$!2xHr#=XXwA zPV@c7rGt%BE@wJ*Tg^?Uv}fU=$G(=h<<&XoHg`Pg{J-1VF%CWa$4k8Q0|)nQnON^Q zARwu8*BSR`uPfVgr@OqjvC{le*yVP6$IVtQt`2g~PIt5drUxCq*Y|micgWU~{sRsE zG~+65tv`UMwR>oRal9Y^@#Q!+(Asm3S-*xpm$+uPIP)5TLvw@ZP6TSyfx={uK>t!A zRVU-*)G&||t9lxN%lUXz64ybr(UGCVfzg~XLMn{w1>}dFxYtUAO3Dc%5n6agkm46> zgsgQ|AJ-Xc9Z{guP#FldN))jAMCja0DOIv9rETA!Oj9_&bCNfC%BnczuI6%39tfU8 zTdmZPakVRZSV$ylj9wVPT9YDu5`@T0srDkIQ^}QyP(XYuO%i0=>Sm)Q2M+#1BY4>D zs!tS$?1BHS#Wo;-WVB5J1p^d814P?@jV>3CEPWKM7fB#M91nhd>O;}id3{_WxFD-3 z7nKYlpoz#C@YQ|F8D`J&m$38U$Gyu3sjn6*+P@-YV;nmKB)4^`+t`%64CbfZAdS8> z7|O0PGh@}csnuUy{3!ib6D|C<^sceh@r6wBuk<{Xnt?v2Q9jZ$5VgU&Mv(z%t@MiV zy9N;118oxe^nBO&-p~>tCLHMDKtXWTGuor2>)r3*{>9WYgdQqGAW-uw?boi;ApX#; zVzgF4dKipC^uf0-zu>6PQ?(k_Crh1;G2H~==gtr8a^(NaBFRrG{|P!yMAWLTHGV-C zTl+cZhO6|Ks8u# zlM16d2hx2#+kz&J^Yi8JB^oM(`hx64a;6Og+-6jdF7i;U0Yh_THe5l844u24NbYa4 z$5YwdW{1J`l8v8^|4^K=umTPQ==|;IREKTM&O;*GN)guHrN1Q0F>_YUPPp9=tt6|1 zm*lFxQtG^Gr8Mq$^rreQWQWnM7#mnoD+=2vXF|QKiXp4>2X+`~lNvM}FoA4%YZvGm zvWL>H48HBQ6Py5-pVsV_)xTxVMAY)tpsgzZVSGW!Fh_<2$*lIe-Li)qiX%DkT`|t^ zyvMIHI&{=5an*;bVhnQ(6T0ad7o?zSJ+JDoFL(SMBayvn(U0OL?RExa9S^+@%<&Qt z@sOQ#ngU8y9gtW`_aQwl1wg>+DdRF6PE3Lc%~-Myop*7hQEe#)q*#;TgZWjNh~Xsr z7b*F7F4s7q7~OT7ILJJKeF?WJ`uwL0S2o{A3Q1X$}y3n_7M$1uLc8;N-fT3;}{KIb%s zbj`$;ct{Uaee9fY{c9z}acbjm!iRUH*6nqx)p%?dT0WE~lcm;Cw2t~)tWTda*$6Gk zOU@e;I}j|h#?@jtBndSChu&2BWspw)u4K~ZPN!;8{F#<;xWpjFDRVdT_Z%Lt{yNNR z4muvg!`aSNKBm3SSuKR~6VAoBo^(m`4_rFc&m65^EqBf-pFWk+h1r3e!!!Gvo!y7RowsYEv^fjU?8^{f3q!*P#n=B9Np|@-%?XcfR!uowc zHSD%*C$wu?PhUS`o^L7jNx~RhQoEF&r0s*?a?U5Trv`0fVnMWh%F9?2F7P}yO_km| zHj!r-rVGXw*t0NDBDsj&fiko*+eZU}>-mOm5*X3IY`;^N+_Q#^DZ-2a8#_zd?=*@+V3jO_DH z-D|3}=C@CV(BnV*-Yy+AXqjTDPJ9W=!4ww`P`^Zs;rW{!;)E)F&bFae=USF;#K>7& zvW-8|`wZWji{4%XY2V_=l;3*nIKtdg^=ylBZSI-aaCgP54n^C+sL}^xN{xG@B)O)X zLmkDez0Yk2obbG*bHY>P5~6Bf9^!oa_(UIRKZNb$amqKM$HP1ik(`B`A^FTc6o%*R zO|%@Hs2S~>6a6hem)>bh&GYA=bL4SEA$)W1C;#bqYI%a=?X2!;n=~Jp=T*<+=zMa^ z8(R+jT`!@tQ;&V@BRsgHN~)fx=oTBQR9p}$x_lzb_d^jO&8Iq!bXG9wfcRsx5z157=4oVmaY;0-}2Rv$z z+$LAFoZ0ge=3om^@y=|l$B!!>breSBS~^dAk0#OfhEVqym#c4f$9eYp_8DzphKQ@1 zois>f;L$vd<|zT>2o<0=_alc}#r5}3ITd*_#R*`X3SZeSL#sOO(7pMl8#fRbC ziVe8Q(aFP8M%U~3v7*jxv+_%PV0|)m<{@V)#g7HZddonFi-iRlp!fih;BYm^i(;jC zYvL8-0EXvA4hHJ1QJ_X+ns>pju=5RePF)T91mi3?&dj>S+BryBvzkf=hQlUVIp?Rs z=FZbFj&Y*7UL^;ee_N>~sIUi7BC`3z&DRRSW%H=fyeUW*Xh_v>7}p4ztq^yFZC9OH zeogt6-5CFhJYjbKQiC!aj$;|a;aS54!fEwg(#ai1n8@{G?bz5 zBhb9omP6Zyo(WE$N$;%l@Di7JQ{7oDd1NZBUc2p?jnS?`->UsHL-ybPSbn!cDbjR| zL+>_Mv%3zm=i--UaR@mgtMi$I^*q3l_~9d!J>?l^*cOoaLt84FLDwM`#4jx?vUWWS zeb&ZtTGX}pne^G1vy{7ySje)6G%la)f6l*EogqIGYHvKxv@@CIve-^C0 zr{B=PeRK0hzlw=LkJF&(!(y&d+m!#d?|1sIar)Hk*urCQ10kL*Q&d_#ng>`isq{(v zEHLWSFi(~9z~F|(RuWaTcZpWqh)24FT`lM07?%yhu*G&Pd@7``_Fq4@cI+9Voh~249_vV)Aqa6xzj6Uc5K(tT+Mm6bAa8( zR@?mKAvMmiofRLan9lZYc>)JO7SMLPfY}FuIS<1TR-b!3dL%ZEFR=W|J=Q@{8P|RC zAGX)xpzXO3F(WE=ZoKc0&@`Ed~WU$CZPn z?QJo8SSU}R_?z#ViN{*!_6k3hUv+&vm#Z>6R?^;Pj{~5_sUAgaq-+fXJ60|Ts|~}^ zI8*fu?dv4m82R{qJ)LJ72RM{Raj}l!6@0HE^RM#9HTmMmQ0=mPe>yMf`-8pO%RqK$ zF+w^2HFn6yJJ%iCCKjCTcfUY>`e6GMBdQ(iw2u$^nTK=rH`#VSQ#tv}n1|#}-*giVDEpXbI?Dnc|_N-gv zy8K8S#&f_bJ_As{*(r; z-=13-INK*mlV;nhe^7o)XXWK)KgN@Zh{HxAYkalZHNG}0N%XC;!|4DT582MD9gbyU z=bWeBjs7j0F6_}WyIn>9#@J8!%g%K?tS#ckWSzSxixUrdMiAxUG=M|rRVGuPe4?^P z!<>;%=J*{F=^TFJ;S8TVv(I5}T%r$RaH-_5x4l;U58`IbZW4AzV%faOTpff%E&;dg z1lAGc>jJDN?JC8eEZ!Pr-keqGPWCXk(a2l!F&`gIpgGCAFTnU(W&gBE`);4nTDH_2 zdq{4;V62y)yHBxhHL7gS@a$Yr{yCj2+y*!e>5A8Jx=vm#KJDKN!dWh#Kt#tY)a~pI?8R&2;Yxm^qaGH z1Ed$WanY|cGnaOKpkG*fkHIwZ;j4`%D`eovBf`%_^|niHW^azwg+C7v8+RY+aw0Py zH9vTk)t2XI4+8p>aOqk%v@grf!|T@ew%cShzcd?fEB5(5GRE*;$|v7%C<*t zZO`3CVc_gpkisjMXTJ;mhGbH?N{pX!8a5{11LNii18D<+Sq}vTl4IU=98>x7oyyJ! z^C$jhm!o|Aygv?YJ|EC|)SFIm$<0pkue?1vK6<`~i5H$P^`1MGgL%9#8`$x=(@N_wpFLzUroMI;Fz zBS?YOOa?TfT1u_Az}X0wFUN;!LCzz>%VI} zQJevREIFCXCTz!Ljq!*MqSPB&g(0X5VPyS?hIXJV2XL3B0jvD^k}VsrtHQE5a8 zsBt6IjLd?SjM09Y;mu$BS(jngtz}qkb*|l_B3kBLxDcj#>a+l8?0MQE`MZuNy2x22 zBKfq%nxYkC`@BTN3iY6-iH##Qe>IlR0Ik99HtT95g$bQ6eXf5rV6@TB?-s6qi~PL= z#F^~o=tr1jOpho4Bwv(kD8?@;V=Ad>2$uJm*df*m+Ii}WixYBOewLEz*hkRc)#9WK z8%C{(IAT8r-w` z)8_l$+BE|7v8}=tDvDU)eiVAqu(9k7(jy%!us>laJ?$0FwqCaSQ%ba}I?$NVFtH{s ze#cIHytpLmC$>rZ0@m8|GlCb?CY^ zvTIOcRu^schh(b^VX6nn6W8Dj?aCFZrQ_(-Cp0~;cFcb}^r1QCij`F#1}uxeY*(;p zS~=%3lzhtGw!Jypo`ZdL@*$-o>Tx27`wj)%^KqN~oa#ww=$Q!lT5jMfP(eN+LjR z_j6>TcpY{>g?`G-WJv9IEx?(eYSBbDzj5B`(}nf_MCY_Lv-VAL#iMhxDc0lC$T>Y6 zwy1OD$#TNJGvBrJz?-a9L94{wem8QXl(oB9{QFWXxT1IcZ1cYBa1=pQv3|ucOKf51dV&reJ>;mz1yuAOU}tT zIINqRvQ=CPLf>ZRi{G7`p;QzDyxoyW<%QmqO#6C{6>Zn>sQt>!<2Yyo^Vf<>Cnjn% zL!+zGY1dJU0>nM&HTw0|fjMU^(dS!c4nlK9`yp6d%@)vKWja}=c>vAdJ5@$IilyDGkOC8UC%to10OG4t*i3nzm;0wX<1^@)5aiIkMa zf4f$~A}ylOS1=MQ3qN=gXT=9p;u7n=BTYmeFNtKc(l2dMKug=yEV@L`sjPph;8Bd+Wc3v7!*GUi)Nzq&&!u=I-Qq7LHiN2Og3cRv3jwlE=Z@I@R3|fcj63hw zpqft|wir4{n1;8uf5Dt}pS^#(QWn{H+iLV&sK*hg?`r;X_U;}x$&+mdxrLkMxSb># z!Jr5}SaA$KcsAnc9os^tL0d0ocBs9tdBQRE9Q_{C-qES&PVW1Lv7HxzXWGMYenX)> zm-D>Kqkv=^;ap-$j9Jr$^QskP)tb@?$*R9)9Xmd#?H!#<7ddrv95&nT9Y7{qTNf0% zdTU{|cy99UkmZ!t6bEF-o`SEs%qENAu~Gf&AkL{7G72)E3LIVhG}N2+Hrt! zzw;>T-3%@T?L4TLLfAZYlbd$a|7Pa-^sN3pH`T|UViKrP2O5I$P6L6|xvU$v4d|)i z;-zrzCG44n24f}evi}V9nYtQNlCjmug-yGAb>B^J+9yt9n)La#+iS_(h|>#v&_naYw_gojYS>1 z6Klz*x(njA5svLoOYGp=aZ+~m@J=3GhXNy5=i+AGvPTVPuWORqZby7QbUJM`SIY`B1!d5Gup>K>av;$*k9Pj%m! z1so8E8J2I%o+HJPHeY7!k_>BIRX*5HnKqi<%U?n{4E-*YFY(9$MD>qS@y&C&j%96c zvJ?5v#KA2uz2=;$Gop3wcj;)eXUumy#~7@R&8|>$8D59Zd!?7j8A?8#!`Qj>WF*(S zkF6ZfD}n)1eY(ndX4ZQR);YJI{V(A>F;g?mzkM3-% zWl(i!IY4H1f7yG@oTKhrr_1}_w5mDhIoDB2L;@U}MFOxh{f4W98b1KvjaiF7oB;Vi z2ERa{xo61YZUH;5HM9A0OsF{C48YIIYhEjc^O;>veT-+=2BMsYr8J*Jot&=oF@w_D zLzs1Lu0_`;v2mL@3Rk)L@Oe^gY+13hDPCV0aLcMV8yybGX$S25z#vBmH)ZzNq;ngx zLi?_llwMf>=H3)+b^XJ5mBV!m^4M9}d<)Kj)c6n+<-^L)8iEbzyydb8B!}tGd`<;x zo?*`V97tpt%_cY2zuN0O4bTRpck0E?72kMG(kW1!tC4xq#{3Lz@rVlb+ulaz>_V7* z2E_-BQcjujso{|KN|ZTsvRdV5JT@mejq_ID6+g#$_$>$8&$HK?(B@r_7{3D&cuYAO z@r%&@3v7$?h&J91)nD&w$6foD>^7CyBdJ)PFIp}c&RgbLonB9d)y9p2Y;|N(o2{hj zYvU_&?|?*vpS5^7m(_f&>|uP6HcXkMxSHiReNJQBOnr8I1jA{RkM~wB(naD?dw(OV zz1i48>uj5(3^&es`%9g#&SiGZAIq-4X3WYLh~afkY$k^t=UwPoJ3G|)tJ_`%gJZ+x z6V7v1Fz3L-e74(LwmM$E&Sw#qoSoObowcjB!0@dx9BL!Pn{}*) z@klpJ7#kZq5oRiW#WDD!vrjYKPNMjts?T=L^YEPG;Ow#M0)r2XagBlFzoFRLIYY;z z?X2l^91z}e9>+0I*js0Ih+SE zDtGKU*-`+RiQ!d7>#=>OJDZNx@OtKEGpuLZMr?VJVRD@J7tpR6h36TYZFHWHjV+GJ zdmF0~#ZlK>&ftlCX^XA7@%iU0SqPUDyY=oGdyp+f|HfXo(YwCI?5x`b;^7t-s_h4k z$0pm}lLg{7Pi}cI59x1hxt8Z_j8msP$Lgc{(>9AE-M(-L{>?tI`Ahp?M8|r|<*IF) ztg=yqXZ$w)sC>7*K7Uv`Vq2IK9*l$R)XFwIKV%)!8ZeXYY{E+)>ZjR8RCa$8@iaMJeFzzrs}jt6u$=V9k4_VcrDUJH~I-KcD7J^LJE zAdUBxfX*H5<$J96g2s=H8=!jfXZ59n<0D)p5$Z zK7DtLxMW!l%yl2E?KlWVmcd_YFDsriYemDZ?^ii>lRm{cb%`jesccDdAcs5zfyB!Sjvve30(}p9JL+xSI8cR=uzp=z97MH5n}vu=12iaEU}|E)vmKGRlx+{7Z*mY4^BakLuwb;kCF@xYBCMCt_IG72gAXgA*+_lP@Y6Jj zh>jp#U46GPwyIkzw|H)IYUWn2^qO3P!!93TV6>eC8cQ_*FMA{2*5Wn8rFQOt4}j;I z0&Nc|{LF?aw7q5PNWAPNyFCm)X@yl!bf?{5HEOLXJ#H{+J2y3DRTUpAP;6XWw0{Xs z+v6(>(P|)i$m;X$%Q0jFvUBS(l{mxBD{i^TJ63yQyOPRp=SpEI71}-Gq}*CQtMiS* z|5`vWevOEV*D6vNYu{y=mNltoY)MXOXMjAW{t>OmN_R+?&DOOvCV!OJ-CvYfbeyF` zh1=0M5Mvt?qhv!J>S*?c^C4zcl@s>ewx4v9)_Jz_Q(2bIyRIOPjtGovVDwp<8ZlC;Z;X0rV?qECZGybONB2s*_IlKxm-x*%N~@ zXxCQ;Lg(H$PR7LLWJOMKB$Pj!-3D|%ytlXW3gzJlCEaa@(8#uY_SoXMQivG84mB3- zcNMofE{C{f)v<5;wE9Dt0DlGT2ZBo4q?2vi9?Wh_cN_{(YPjYd3D0xm_Un+ng|<%U zRMYd81TuKo9f`GbFy$J^hicV%FXQ-ziO25O49$^; zStgCM2Ct#81?6m=&&aqLnCj1raUI`z=jezNEoUK@*(N0F!|_m_gw;|ctkWZ{i!yuA zl)WK`Q=MvB<5HL3a=_$rBk01bHYcdx+SAc}GmRy^%~AUgf0;j+6c)EIGmKZJIqu+4 zM2}xmCkr@m%sGmJ7T^#z9Ki&rTF|pn!{Kc1R?i((W-abk4tJ>YBc0ghte6CxAxYj~ zqLN6h?t;y?u)Xs|rB-J~&73#eJU9KT#IOLR45h|l4}j-#*Ix-$&UelJuH@P66&s-z z_A-gf92uwDh{cn-ncGM*Vm~%-aARR{Syq*7b%?m0?K$lNPbMrq)|`NyC)v;Y>8442 zT^a1sh3*t9Pj#z#={g2Q>E?F6B@Q&Nd-!_*dPcV`#I@6shku=%8K~`T=h1p!F?wIj zX=e8UsPk4}^bGM=#s8mnu`Tqbqt06}m}psTcEz3$=eIjo3gZ`z?qY19t zc4p?rfgk1=y8J%Ja`1uvK9Xq*lzwYDoiqJ5evAEExY4INb9`d#A+!{lRyQ@@ZE4Qq zeQ-I_k;+;0WIYqd;L^d|zZbD?yC?A9nprut2TlzOug%NyR3AGFy7vM|!z%`uC$ThC zH_jz?(hzpuBj4h8n^B4OJ6T<0kr0peziCA8_Q}c68I{GI-Wh|klMM;Ss>coui)gpU zSh781C`yzVT-tb9%g$$B$|Z*BXWns3&U)cf!} zJ?>K)c1n55ANTWkLoyG~1e^)Xl4)=BQ^kvp<3ienc;?YQXc&c@oes_#w>%+a8;Wt` zmF>Bu{gkxP(OFTWTQ``gIO2?4&q-WjmKU*vqk7)j6Yn@enap@oCBYL(WrtWe$o!aQ-3s}L*`8~^*F%Z7sdYUw6(byg`Euzfyl%v(XQoh*sG@ypWJR3FnW$%I(|PIO zr#j?$xW}RM=;IQ3E6?24c_|;m8jU+{GZG0!8O1tw7}h~^iDaI%?R96*EO2ac8REs% zq?gs3cjs>BvX(+WRGwLE((EiQEH839?445}1km^q&#yj&w1;vz`b(cbZ2EQF2t~t* z0ydaCF=c1h&n_x6oi=R`)oSc&i)-4!r_Zkr%lG1p4+T2H;pQhJAJKSn?WffGg0j-V ziakp)zPe>!+UvohPvQ}0%-Q=O{cqKOcKYh*~8PoB&T~>zfG78FbDWL;Cq?T-RPzhn*iQwTR!x@|zFL z8HeTx&ra4Ue#XwzXx>pa$1fwrJ1b60fV^DP5Cr)H3ZDs(v!UlJ9A&2XkmAxbkFEyH zjknw!Le)9cUf4N@rMd;4VapLjafuhEd(>?~8+2-HhADsOem%2sW|C)5>;Gq&FS!ap z##$TaB$Zw)=eLNnl-Z+>ey+9j8~tv9U-RgghKc9%ILW-~t$K#)hUVD@vU%4iHb%7r zT_*o~b}e7|z+;^eQE?X?c|-#oijuF3wvYMCe2YED|&2K67q*}#Jd?*n1w zlUq{X)cpW5RxI{bIuvA|Ey=OEK69^D@XX z6?HE6@W)tAV_Nf*&u7JR3|h+((lNZ{iQ(QWl`*U?`)6Qb8ym+qyXBzuI>(E)=jN|6 zN#VQsNHM;uD^TyQ=BY~NJyc|VM0_J&u`YAJv6Q&v=XrMaJH83WhpOk3ou%R6SsP>g zqWAdF#LDp8Ob*l??U}lc@g3Rons_>VQP&Z=z5QMK_?q^L>xdAxyD!iOwQoYpld1b~ z{ui|qv9e~K#twtuouwLOS26l^&LpR_LNPRDV}1TJrJT*76>iwRDvk4xEjOSqB+z>q zw0t@Zwm2K*Bib*ZaA5KT`sRwobA3COwO-KA%csc4RtK!>oLn-c37Bgx;qiUh$U_h_ zl_S+2E5dwnIGJnJ>{hp(v$Wg?p?zV)XAFLlt?788_9|x!#zd1j_xK1UxjlJYU9_r0 z?}4)CFt*RmBb2v<@;746npoiZTVspbtG!BEFP$gQp1HR|=YIA7bG~%$zQ!CfZNCZP zQgmC0fuYq$ljo=o!+lkkym}2QTt|y}Y;~ry^&1BmULN4SGs*pc(9dK>?RR4`sm=k{ zIH-$BJABf*axg@CAr^&juQ|hvm9>^_i}mQdvHT*I{K(3w&9yWU>2lLP8qwd&#-GMI z%L(O!t|QMg+mAXIwLMdW$;vZX&I9Yn@~zRk+0Vq90D8rU>S;1eizC@NXZtCCqvK=A z7N{=qKA_I@<)WUczX zUNgd|PIYFg17E)?WOAe&2r+fCz@;78_(irN9y>4Vu(?6wVmW8Y?^hS7R9NGp><}5J zPGfZ%w*wHm&+ihNS!d^ZQFxWSk~7xdt%+afY{b+!SH`p0$J0g`h49MxB+W$x$T=w~ z>s(wUVo?rNJ}UVEKsgtP9Y_Qh{~vu;A-lvJ3OQ`d_~^E8d?ayBVtDL%1m$1-jAP1I zmz#2)^Y`XF$&r8Qw|Ryrt_X*_cAf?UWx}|ocA9&xUQA>~Xt-&OC7u z+a|5dD<=eIhe}X~qtfyWP$q%Ef#Z?U-16qqBp`0d|Btcvj@P^@&cL5J?`8Wgy9>L3 zOK(yl#ezr>5M#+NMX*G%Bqk9`5KIS;rqq!C{MTjdCqk)F*sS5PCcX8(VKt(U6O}Ojh|Fb&{}VqIH50u z9X0%{oIxNFI{?ZMKC4AJ>>AUH??hc5!pv8^@z8c~I)xN@d#rlkhma{X$ zMr;SXuRiw3sB=`vI-mG^+5f6dk} zu24f27b!!dFZoO3a$f!R&c& z6O8q|!&&lPWgY5d;4gkhapjPRanWBJ;7s&gJWxkQ|u2w=* zevxWZ&DvdI-Xf*_@N234HH@j+@lHm+k=_NTY2b%>xJ`?|fjqd2UIK@V=^A`h?dTx$ zTZ7f6gmjRbx!RW`{#Pf>k?}eX}#ps(5sA4pz@wO8NY_cLw8yNa{rln zTl^H2qb77!zdOhkmC=b~91La9L7SDsC&yDW{4}t^{5I>}Yi%}$=K?_C2R9AIR+dXd zyjI_n(xSG!iufYI815u)h1BpV+Jefyfz8AnTJAQQOG|&7>1E z1<{TR!8xf&c0)J9S|Q3G`_v#*q1q%5bj6C5PkiDLE4E#+WXX~T9(drcyYBkQPk(&R z>U&&|67LlNBT4yvqJ>Eh3+OnGcOWX$8P2eKUnswqABh7otONTf_0P#Br4{`DaUreh zO2lm>p^&0Ta7DzuH(=%SdDIVeWwws_a_G=rE4JO{iANl{V%wEVmMq?|;eosFzUwDH z{qgG6t0fnDUBv9Wb;nD2h$qBQz~|nS82HkczuH>sy}#n$UVhhIcX^wR0I!@L%$#?Vi!KV~U7!RN+sVzbjse!iB_1?pt~s+yEv9ZK@GQiu+N`aq z$m`ss_)GjgDVs5t)#1S0I=dfxsQ}cPG>56{s^X1P{DHTlp7f-bz3k-x9(dq^zkl)H z606>wq9Vze&!T_i!`>GkCL(8{X-Dt7#NSPKPBx*F+NS@F3x7cf2Ehmg@n={f(qf+u z`2Ugh=aQ1NDqFr$B;`^4=YM|r(NBIdfZzW1){|cQn!=wD(qrg3+|5nHGaAe?BeDV8 z2mL5{_0$iZx@y&q0(|S+-~9A{|2G30+XUBbL@b$$`%YzG7vEtQ?CtL@c2sU`vo)Ax z#^lv(liUbSTNjP9-j9DOd}RyT;0l1_pXXdKJeZKh-+d*)1kUyc*b~f%BjmS;BLs;7 zgO(zTYC1}CK4KyimEVBam7xQYL-W+sb*;p+^C5t8Pc`E*-JApx@>};?`n%7-2p2y> z|A=^z{APM{LwM-5$Nb*l;B9}An$&bFGh9ZH@=N%sAZ3oeS7z4yoVyRw9Pv|YGI@8a zg3c_;0iIM~hWP*)`e5{(@j5XanAAZ`iRU$AsN2_mH|ofWQ0mh^s5~r8FsLgslyi%7 zd&(B8AVAocG0UE41Zr?paH(fy1D*4%7E^nPp?Ma7eXCM8wAgYOOm*N#mUkr>+Q19) z>k)Gq?xV{UPN5q#2Fe-yFOh3hANM~Ae@S;p4w1>n*ny!Qz_l(;IG9}!c4;tqN{kMT z*I33C;<&)h7TfYr3$phx)_@q`=f#>q1&uwJp!Y^+qqIn z-h}HtZP#2QB6hO$uwV4MjPH#J2^cGd?J$lgb4bPv`cX|srT9yn{X{5`tHW^NEyMzTc-ASzze(gA`GzHBz=b?6P_;>Pxt$2|5iuRQV9bLY(iaR2>lkAKNO&~|VOW~D?* zOB;pWz`n5NNAbvg_c`gcZ`gY4qCi!Mm;z5Z<=r>jaD9Atp#QAC({Rg>DEsR(${3AC zP#uj%Tg{!LtXXxG3WOD{p~-r4sYu+IO34KU+d{OklF+ZH;JSy`^g@POHCu<(z&`Sm z^pWn>Um{t9hgLA}v2;-1B5rH()qBZ%$l0&ziH^qHo|>o=)XKxOqkE`r353-fI~vRS zL*vYN)T%Yr`3vS7%gmcQcdVT^6UxwwT{DqJgT7pkO|3Z#$n~2Z$XL*c3HS+p{Z!$!i9jU z>o9ya*LJFIg=-6}vX(aZD~JKwf*iYWp}%g?!iDAq)JeIy+HK04Dt+}s2X={*FKD$= zCl;75Re!wKG+Ba-6gM_2w{}guYXS+gqdL4#YJU;ya`p5F?nlt@(-JA9vUlh$ec$by zK3=_`{4RN8YUO-E>cpi@whUVo{)dlx>zNwd4W>hXmr}J$f1K1_K4TgqVz~je_nZ#q zw2fz)7*rT)VqkEVN8D2#ktqL)HW4X`HN&r^#%n=GttSutPv~S2=^A%vsRY-tMiG^- zAce78(RPV$Lyt%=^ImWRe(42yvh+nVk_M9pS4^Ik;@pCGGIJGl*oI84EM5I2c&sNA zN=I)ZWAst@czR0MrA8~1J7eQ415^xzfy=Boq335B)#O=HX#^{C&?rpFBl_gJ%84e($;Q;!V=6^!xlw`8WU$ZgJZz|%uzLQ z;|W8+>gVlNw!Z$O`o;+6!~yH$pywm$sRmNHE#droznTP;V1**r?FIROTkiR zSiX}*qYBu59{?EK%jbLgOI-m3^$xlgGbi?)sKM|W z71j#2&eTmz<#i=jOT-wjlrOV#__IG{mbDur`g7d8JMvf!M3t#x60}eb;M6S5}@-xr;JfJG| zZc^J&;dK|1H9RP_SXqxpJwVj%RZEf`*0;F+;dk-be4-Y6nJuD@LI8;3<^T4IBab|a zeZ<_k^Sqxt!Z>8`N1~?1+w@sUqp@73QTfZi{Hqtg`0p{qU;O9NrOV#&j(30VbDur` z8|M}LWZ&EHy~um{vR|xAk!ZQ00nP7K?wqwU@|dU_QH?slkz{>E)Pckb5%1B3a#OKQ zbVi+_N_)cN4}I3No(*8ln)}}M&Ub3u*H`M>#qa(FTFX08qYj){)mrNU2o%z61C{wp z+yN-0t``0X2;g;4VEwjZK;ygv`;3@RpF+`z)uga47ig`qp4R+Vyf4UYZGurIkpAQR zFs7HqeZtE6avwx!)-DQ4Esc)An*y?ivsG+6i`jC{$j=3c=S{}I*vvcFY13vDYnh(c z#kp*?J~QgCn&AP6yQaDN;daUIhX2~j4Y2R`e5-M9t?ux`Klf?(+H z9zcTZ5Wa&vi-CO)o0h3s=L+5pj)vxE0a!}LI>Y2x;&9Z9p6PdSZ|W#&v0SFO|CaHB zA_qT5d@&9;{m18^4qN9;zew~ebU3V0H{TKX{i1=ZxNjVzv}xf(V;v@v0tJV{m7`p5 ztV=BCfWXg~V12T9a=|)SpMh_}JG4vPn#Sj`E>`jE3k}0sZn32x*R%U_3@At0POYak zOgB+>m}j6=?u|*h@L8|@Q`Qr@U4)oPe=oe}n6zn9%BJKAn?5xTWSy`g&s#~Xs$3$VIMtSGv>yS#)wFjM}~&)415`Bi@>UJzMnx5 z^`&SSb!*>Z3VE2hMD*SGAu*uPCL`jIb%ueH0j{c_Qhtape}HwW^}L(JK#i^BE<2;d z6ZXK55a;9>puAV3R(}i?j~!uaYZGWShiPDqH&h_Ryw{GJ9*}t;1bzmA*`4*S5FwT< z&n)L|NCRt74To)l+nq~2M@?J>ANq*KWOExu?y8$u~j@} zd~ESuAfEB(P3Gbkuo`|qyyiUW{3mOwv)A3s1;3x6{)vG6#0dNaRbotX2FA&LbYzG-|~us7%CJ#-oZ8=j2i5 zU|G-aKE?a(nTt+xNEz2;z7+Xh=$7$Ri$8k)Ut&SVui)@}Ux}L-zE_gBlP7&IPqDiX zoz42b!p?Y+=VWEhCNp@?a2|PngW;KZAkV~!I1<0R41&zHtS#n9Wy}&|K=8bh0XB5T z_|bmG;az{6*=22^04SAP zimcOP9m320`DIUj@>4@UIDi2U8(y?CdccKqnaKH@s* z+C>k3^ka73d1t7$Hu~I|p98ekPS=_)_N%Af4DbrxqX>yQ2eG=8DyK%99j-*5y>lRC zEmp1D5ycq#i0yZH+uPp0eEBx61<$lm^z1Jl)KTR9fjUtOWc@PP{^^8&{U^G7 zS5;ffa+zUCU*Ngcp4EE1$+HH~jc11SW;*m)2DnlaUTSWmhES3AMc~AAWy1-J(QQyi zs-+fAhz%WnH`Wh%Z)EzNmWc@J>d+Ie+|$&4dW14%uLt2*SjKC-@)wbmKC-Cz@bK|jU7H}iZ1wBmyjzT>|W zGps>Pou^-P=O6VzMtfN#>c}$-;FJ9Wncb)8FYyfR&b7f&))oryl9k8-90uiFgMu*i zcvmqK@(=K@RfpaQ?oNV;_#M33^PX4$h_e!U`Y${$;=+_rPX6vj7T>D^gnu#adtZ{r ze4x|0ywmbr59V^V!V{d63oO=`kS%yA{lyWTXS>9m=Mht2#5~IT&!zHYyh{Pzfeb~@ zvjap~_ZU7%6eP~$CSpZ$J|eI4FGL-?FrRcj>9lY72;gT-*f|1@Ra?=P^cUB;`MV97 zH2se2TI0@v*uZy&x!J_|BNWJE8N!Y(r*VivWLW=Szgucqhp}UrlRMA#Y9qUA+VEWK z?LDuyt-|Fzg3PbHh8%uqLpdV=%zIT)?rn~-gMGK?p_~nbVU2Fa8s;839*O;2>@Uxc zu>N))`o;=-O!)X@E~KgR&|#eEK-pXnX%!naA0xIcp1PhTy_@?uu6kA}1PeJ`0mVsXwe@=`OJMla?Q((3qoAFWZs{qhi(>R$d{xGpd zUFtissl0DcImu+xz5E>f8@QbboMiD87qyw-tk-B@x@w5>Bj0>7p0n8suuj|YBfIau z$4Mu>;b%Yp*;l^w#XtPvwl-1QkYhy8T(#U&3UK%>Lea&*x?0Vr_dD^5K8iAPvppLEod&;9zjx8L?h5u3eZoE2$aN?|iw)gK@3 zzG7W+7HP=)oN0d9W}D?te)3a7lu)2~n4rDl6|X$}@WV~LM<4y;`;0Sy;1%lj9~EKh-%Gxzi|P%a4x6`yr$Pgjr$MPlTwf5b}wB4SZ>+LfC#& zG6_`#v4dBmAT9fzc8BNcR(IKpPtjq;`>SAGqN@nvV^W``bv&dzD1Kqs?*2gxrvb30 z&dfR@z(|5#Mku6cTTm!3n#4Y040m#jiGjLV>F8w|2QtlB|wFysQ z-x0he)GZAQ%G}|*4t-&R5BUAtni%sXGb6odU(&C=1@ExEPzJneu|Q!fyrnphaP<{t z$13#_{Z;d^06Y-(oj6;e+@EYA$o5VUx2_ZJ|B~2#W{L?tG)EZfG5gvnC^k zwZt_pH(EvQYFF|@L$qgl@XJRf%_TzFO5FEH!Nq{a=*B_41Zfo4%lp;2QCTMBp=7uRSPR;GpP&-|kSN6je6U8#H%}h?zG8zV<5bwX(VZKWLw*j7g{u8tbj#T$ z_@NPFB{_C81#c@~G2|sex54%%5Bw47zabu|Tk~JSg8nq}y`^QhLFtR|^CTg+?|`2{ zehWDr|3&`#Uh=sMF65rXv+u_B?E<6-cZkHNNR2NN0Z_zusxpC<^r<8~@-w8!?+9df znQtpf{2Jh)#v?HK`O4q!Oy^M$tvFoZ<9Q)+_e_@j5~%% zU_oReo>smM!l?MKd38K*IE*Bh{vLc%{a2AnX&zJv!f2m!Tk+;5^rMtVRbm4`%>9v{ zO&%jVg3V%??SPl?Blgh_c^Br%AU|6^L;eh)Iv!BtW9Ai3GLbLw+A}V~fT*@5a@sFL zCwEv6^>6b{?5}rL71DoukZjPNz~#js;|j;&49ws z%I?a&{>VFN)#hbYdxr{oN9WGJ=-+$^0|Mo?SuG;;! zM%Y`rYFANcSE%j&_jc?_DF5}(0X^oJX9gNS|M|~;##~%Bv0M+L{ z|CtYe^iifU&KW7FUk9o#1Dq!#2F6uQr)>FhA?RT>vF;-WM?5`$?LXuVi|9C_;asH-%kh;40qL z>DM~hFUN!FS@MQe*QfU)F`(?btzQL}(#y){@h^rr&pxt-R>MXfa(z4;h@$?%wKxe$ z%%;BXG4QY2U(v9;qfQyu$ODBRdO?D!09x=vG=?55#;LEJ=66L{!z`-kWLJ%7<<^11 z&w$nHiL?|1+HDV$kX=P1Hc9C<$IVgA=-wTzG46+7&^M#yjB&J!rk;ymq`iijfW<`j zFV~57x4vM|JI#1e`9~ts1)e?43QT(Zg$DkqfkcJPA}B=1>RuW6;diy<57q8HEFO79 z)w7LbY|s>%@9sygALiWgt;{7R^dIpeyuR?iwdr0N8Vj7rFshd5A+y{44pY^r*0_6hBgdW=sLna)J@uK{Z{clfhTmeoo!J7l4MiUp zJ359X{V}4j7FzS4r!ja3f@Hj5^qHhB?qwfwR{dK z_AQ9g$cIaYmU&mjt$76Fhz>Jhuh~{5&uB!YxUqR6o>D(ap5cQCuMhc==pzl>H&uE@O0>{263Voyu{P)2qo(}vb;C-^O`qa`M4 z^+#y;rFp6Ok6BiRqq$!HTI5k1J*E6gKk^Z1@a^Cyr-m$Zi$xAq#K~ka?5=-{(KVPF z+kbPfd9x`9n_O05Etx`FV=ae7y_`8lsU6CDN8_G7@u@AJpcw3}pHUC2iY6`l+1fGB zc;;bGIQ*Qio%P-CeHTqeJfOtuLVYPDYr698G7R_bi|n$?E}#l7IRAVgYt>8!G@N_R zInR35bLP#P2Vl3|_5j+}ix)rckjFu>c*$ZLRxeqy=;))LY~Q)`(#!5&yH?a|>TE&m zfCCRa_~1vcTD1z0JMOscvdeyb`Q?|3s+PMM(PYkO&J&+_IDqMm(-&QIF@UWXFFxYP zBlp^C@5PH3-+kv@mtXnoU;O+RvAA!?%tvif43xbFL$G4I?d-GhczoJvAN}!Me0nRz+YtMex-^`sm z7r^ej?;$G4`!HSJRXeRZ;_xF^t=e(^f(7^7bN3C`-|)Tff3Mb%SgnO<;@;}0i@i){ z-FelHPkiE$t5&U=zhJ@YyI0?M;|<^Y-gmtYL_|<(tDtfJE@gM_uJpu(zld)V?S#EYISaH z+ZEd$e9)u!*>~TiTW@{yEw@~D*`?QAe=YGWQL{8>t2u`s@uyI1oZfiRMHk6Pwi?Yj z;)#bp_OXwH;O3iezU zcZwah+iw3y{Rukmy6djrTzxe}wpqILs3#r0|Neh+|NZyhbmNVeT=MgK@4e4!p90Sw z-vPm*`3s)*^r!E%(@x8lEnlO9!}q@XJs~I9}fmgywigD3x4=V6B( zzG~GYde>WSzWHZAyXX(M{ZR!$@}^buS+5zh8TZ!wE>kF))H*lYyDGw{V=&A z&rm3S7d5v)6Lgh`7s11L7;t|N1zHyXxuQ7$I3al%3 z*65QmBkR4Rwkl=FyWe@oX7QJ(m*Yrq)ZovXY#R2eXO39WflvJT-L|%$%$`BHuUJ*A zrc@e$k&gwe#x>$p{N4&zCx<(>GhP?&&HLD^U(*&Ys5IZAB&9aq(eL$aDx=oA#}Miy zWRT<;!JzkWunp&EI%_gy#=3W_IplVce_cYwI^9lf5D zC^rZ=w|IVQ8>gE{k2U=n-i;~)Rhm!7colC4uN5diDf-GBP&AG_p|Uxc#@^x#K7=8gY;vYGJN z&pGxV|KTN1d)lAJ3bXxe*s$Sar+xSrzxag{0w6qPafbfo<^S^XCq3!Ociwr&o8J7! zwfEhpz`yTx%QeXuDHDDDr&;hM)t>dy!~CK zz%5(0JnwnW=H8f)$G^MN&O2|rVq1aSamO9E-*J0wXS?mTd&BGheW#svPWu87*}Qqv z*U$UPz3Jq)Y_rX_@kUCjKl;%R zKl0HJ*XJK?C{k76+0QxlUGIF)-h1s`u?OJVYp;FxyZ&>-gAdNc{Go>)`qJZ1*m~=w z(OLUt-THN>o&K>)F8M{pz+e8wUzsm#-n{vF$33U|;IgGl-~RS@ZomBw6Ecs-579s)V?@efi-LHd)2E?{LrZ%S-f~jZBSLe^PO*f>QkSnI5B&TMx)oi z?hOYY{1_SbT~&Ym>&xExuD2Uw4hM9)a=YyZfTR*OZ{Bp?dFOrcf6nxSISL<+Mx!_W z`-`^i?=ie05dE6O$;0Rk|6k8Y>HB27o`JV2!$co3Y;$1W+3+vQ^QG+z4N~unRp*SF zs|;-Vu=&R9{v{20CP?{xp!1?D*y+Iqt5t6(`kbZxih+Wehl}F_JQrWc&vTpTEPglO z&uFva>f!BP&ik0%-)EI)QnywA4`UZRoNvzHjfe9c%=mn!|NbAo3{2u#<4lS+iTVFa zZ)zupPxk%cY&xq9I^%blVN;#?-G}4G85}r}A^dCDcmI5b9V<6d&(+_PKWi*_I4+vW zS2N!=tA9;$%M81RJ~112{r}OYKjX1-&}NZAEx*OE@2Q^&Jj~$phkfsiem!hVe7JUI z$ehnu4yN3aUB9b<4Dvn9h`&|O56AQQ{4lSWkS(!M#+8`KUAyn`NI>6z%6~3hx^(g4 z#q;LPoi}gZoH=tu+Gx~TYjsce=&f&kYYeY}It178c)VrHmhpJJY15|Z>FMu$_lE%P zUvryg>fuZ=Rcq z;=e0bt~}~VN3Yms+na8@apUwxubF^P1Eom9Pt?BY@+)N9ZMWHf|3^W!wYGlUx?66# z+4~!>77@t0b@$(O$DMcHdFKNgHV98!pr8( zo1bEHd@^_5yu%JV{GsWGZoJ_}0Zi2GcX-4RPdvif*?zn2pYmr+Zk*&O7eB^UgarY}f#oS%9|xzWcrFU8gKtwmb(sRMBWO+Hc?ecH4cAi!Zte1`>sc z{LSAy&mQ~V@BHt&``3v;q&1QK_TBH@@BXi4%a-NfO#vuGMs2k3zWeRI`|cNAcwvG8 z(jd=y&U24HesW~XSuOdK{U5dW-uqnm)1QijYj+KyWfthR{i|vKX0zR)*yfW^#A7#Z+PQ^1qBBab@&8|R1hMWu-x zbIh?P{L{0yUYPfy=?!;QuUB5m)z_dfWbM;n8lb@o@oVGlg; zpm)9N-99WI%G_Ez_~1wHwddX!{q&~=CjxlYvXBY@IrQ<5-(}Zb0c_kj{q(2(c{Z2} z{MZ*PmbfGiw2mCT-EeMIZXmNB7u$j|odbRe&8H@ra|3e)9Lf`~C5F94;>? zD4KzX(P*^azWeUJ`yLlvbW!EQxm(Tq@P|IS`|f+@xSjtlT)6P4qmJINe*KCSD*<~N0|3dJ$U9DBkE|1xjxyqQ{>J7>>WTNLeU0>P0I8Z1Z#*=b>dv%wkV`mvF&0gbA~}sXkOUIz9@X{&SLHaoKSAVZfO2Z(qo}7 zTX_>gw6uU&bCb{y&sA~SWaG99MoSf!vG=x_W}+{&^5HO0MiwLj>up%gBWdEcxLzv| zs-9B(X!wg14O3l8r3K#7E-72J#Q@tgBnd1@b>ZS}164Rz&?wxC;IQXHZ0&d=7JP;{ z&zM-WL3f}4TE06lMC!qPM*@3%@2qXoK$H28Vbb(vYrv8G42Y%VleI6&b;VC7-%<%} zLbf4q&_f$PN&L6)#{s8Jd~wk7FfQ2d^p0$BrrjqcwBJko%2!wD&ahNI8II#`RIyd= zs_K-}pD~~pTa-b^OjJx*Txizd)rqeR+@G;k3a;3QV>R8pkdIl`UoFFyiwyjV3*#&N zv&8GLRK~>U^~4*)rv`tDz{kfbc)VW&C}KipNcxvE#tef_!Xt=19j#UCgB`5H3dR)h z93_vf$swFq%mATiG7xFt`w9_Rwrn{BPkYMI^XJc>GiT1!)YR0})Mzvkk=DGu7*vnm z`qsDBC2ZuN+7_$Fn>TOXym|BV^z?VW`vXAMu32q!15ueH!Yy=wa8`i3|eBtkY|GVG)_SPT$_(%7zy{|*}dE_HcJn>aA7+$|& z{nb}rb=O^YEnK*8?%a9S=YtMB_@aw1+^~Lqhc@W;JM3`86OT0G?Yir302Elg`tHjv zyR7%|;>C-7?*Z`WM?dC!Kltv04?WmoGSDprNvq+88?O7+rI-3&1qyxqA&=i>*WCbY z*|OzpU;Ang`vQOe_y4%Z9($OyJM6H-*=K!))eCN4v!iL%W~}dBz4|Zy@~`YGkAC!H zmM-1;>Z^aVdCL|@0%9Yamb?4x=0MEZYU=$TICajPIo5&c>FJwqzUhV=u3xZV!TkC2 zjbv7>TJ_*V58Qae4ITc*K*D$a_uK34Uu!*WQ=<=j;6rQ*8>ctkeDh5=+;H9e1qJg84@Sz8{oQXb{OM1B_xs-^&K>`b zVe9qZJmU-|K<+ry8wf!G&`_K66 zz4zX8?X_25cG;yHHf&hAay!Gr%9Sf0dg!4WZ@69s4cLB%?TBctFW9tc({&c3F%~=U zfCDeQ=%?$~uQQ+8Ywx{ncB%LASI_>cz&-B0@BP5MdGpLkZ@A(5?|kRmS6p!von>58 zZ5YN00TlrO0i}kbpdupDjZz{~N~eHyjF66rfOJcDcXuP*BS!b=91Yvp_MZ0xKlXt$ z&U504>;7NYgS6nS^Fp4@(5nFhJL_BI7S~L9TO@snjU=&(*yd^A|N00XFvv)NSG?5Q zcG9Oiu$OrPtB&Wu7twMV*eo?}6f<$5=4B2L9jo4qs0i0q>*-?k?FE2Gs9(go0qRRF zTPPi8y?x#H^{zJHv;ld&do4pX^Df>yQWjtJ5*M$Ne!?Q8(>nGxyNb3e7c8B2 z!!dTa;^q>7EE^1(FJUl^GCl?+LO0-Vxf<76cQ*hwU}J&ScL10dl((Y<#weV&=^-Gu zwGVW_tMcda00vH*239Aq08%>PNRIzyDnlIVtGa%zg@d&%7I?sR(6`G7pXrY6i zmWIhz#1B$q&|b2^au*`qgipS73xxWAlA!T<_Ex>XCo0CRf}!MZ9ah1X=lF5`)O~_5 zp7iXYHNJ3njuu*R)tQYVwUT?hZ%UplzYHF%F!G-DlTMj&y>73xsbxeMzlmr}g_>$y<_9a`D1mZ9|DfYQYFQe)u@5BbW+$IO#g#W>oA9zKy7+T+kXogGpBs^FzC7bHeymcnHDZ}aVJ z#{%(bO!$Dm={IP*H)zZ0S#07xv#}sUvCsjqJDr_nQdqPBEm)PT;?b^F_cP(Yv{_C= zuTIN)e)-RebZb4zJeoW(udK2zy?C3%$t~(z{^1MP6TuCoX&z34HY)Fv=MN7zk3N|$ z_k@l7hzW9~Hy}hrPlBu&vxo<9z9nI%(S#I9Pm|`AElCZjWoxxrDXk*Jz6&vw*?XtU zIguG#oc{grvt&hQ;y^2JXQ7RRPxvR3^!;|%HM!}Te~vtt4`&cO&$;J=GDJyy`5if+ z(jr3c?_Ge1J~we>lF4Lw-2CqY>8#=S3cSrChzksO-nYlnM7Xo-`K)x;Y|0cB$>osL z3Nxn_gQY&2={qx}5+90?zMq$%uUefRP|0a^X}+x{&kbHa5HuDs@Z&4yW4F3qtHSn$ zZ|*aNFrTCVf-Pw}F1s6d5mb?enGSv1{%OrQi8!;c$U10&3Nrh@n(H{s2`npH>TrJx z#4*tHv)V;4ZX>S)H61{Qy@=Pf`(XVS-@@S98Ep%>9hXz0iM#H=`2m_Dj~YVT8yYBa zYowX@ar_P{dA9ZKpQ#M=lKGej;vlP=P825t6uiEmp#X{BOs(uCV?zHG!knBgj=f2+ zS-Oa_#r@v*R6#L z>~CsAWHB&vP2R3(-XChf^y|KQ#C*vf>2aR2YW2JQ1j&WkM$+*fmHIkRdb3ew|JKa7 zNp9kQNTv17C{#{tUlr_guB*t&<*~kMVE>Qkew}cJX4_d^RxsG-;5U!>x#f`+wWdM> zr`VARXw|BujOEN<0y7oqb-{`!4rmclCvZAk_y1zThj%O0TiqaRlyyx~LgH9<`+)r} zWhQ}^`s&%XfWFfaUzg6m9Wg|sxfoiA_z-g2pMc#Blz5*8avI@wvL&Ow=@S@3ADT-L zo;GI^kV{x`b`;neYPgezT4Cz_O>O|ZvFvi{v$cev!9sRG#>#m^qS@Q}cFwhR4 zW1-{WklEI&%T)TF9e~F;Z^t^5lV1>VxlL5{i%AV@c*dD^#h#r{f5bat{Pr+#=us1P6zB9Y9h?7T7bl#9}u|3={6=dGB_E zZucS~@X{Bk-x~&QhdddkpFPKF(w+8;K)hc-r#-C0wY|;M*uA_Iep_BfE`!=#lY%sH z2$ld3a>gFH0M5Xaw_$Y-hD(&a6!Ff6I4W+T4IO;-+1NpRl2+tq!7sVP}5`?DHjwL_vFTOH@f>misJXBD#GLXmFIDjIlX}(=`g*`x%LyA zvU1lLx+M==8oUrBxlWRg zIjrfo59zKjtnsOxShn`n{yUywyB-T7jXxO(J7*2EcQ=32;TOb|ooSOdR-a1d+xTrc zkc(E1{&sBr@zCd5%ga>OsvbG-FZ#!{vfYI?$gSnFTm6p>$kypgnK%3cRd(SVH9o73 zHs1V%clvcop)cO8SJe%P^pUZva%o!a!?si}(K<(m6!^I-r1a)R{z_CCSDs6k%UTJK z9Y!6)G=3UaF%!j>QZT~y0*->JzOK&EOg`Vgem^!jNpNbLqqA~=`ccZbTj`ETpZ$&6 z%`}qrfkXYlI))E2(jRH2zi}gNb4OpWKCfrsj*Oo(@vhKuPk*%fXsBXqgs$acxR&LD zl<$kAS9sWEZQjZ>wN~8I?Yz0MgHG1K=nK;ssbV~u?mmTRiW97D3A^0-Tgjh6zM^t? z#eLynaYN|Bb-t7QH}KTv--yJg5T!L0MTWNpl{x~BuPJ-P7W;Tyn4|9UqC{TTwO`0> zsIRlUx?NV>htBOAD~vU)w3O*OI-e!Zh{P^d5~rBA2#)2DEkvLB-9)1EVyV@JlPK9b zD6TpK=pwcEg^I@t5tkFDgR0gbsf>vAW0R;XY!ispi+{gU-Drt9wc@42l$X|%!qz_V zONzO3?Ldjo?n?$jEBLwYHXPRyv*;41k;!ag-KQ=QUqvbMGLpxFlinMUCNY@OzMxnX zd~4O4*TXhih38)2SjR4y*OxxB0}Xey9JM}_BZ%A$20a;qrhaX!_Kk<+1O0gJ^+sx6)|{DrvWuBvKB_){Tj4crtt7lh)^b=) z3fr8haw&|Mm>#1!yn06V#K3d1hQr7!++{l#WUG{-73T-_TsfEh z_U$kS2VLB8eKf-q+vK`i-f~3iDF-?6L!`T|H04VjY$O@p+~y@sn{RDWfco3lmX{kxWfPlN7?C(`46hB0#XV=XLEx9u5hg zo;9$o6WZM{m$M6mfT$<3mPshXE!zQ1=DiS}s~GGx_8I_6y3EBr|BT*hqZyc& zfa?o^{_7YnA77cKpd{m5b{rlBAqR?{vU_yw@2~1zrf}GPwjYdnk;V_yU-jcTb`W15A_i+k;?#_bimEywjK-UMqL=H7hvf-_k3q8+;8 z+sb7d!W&qJ;Ep4GZl$`VcEa)J3a#ziXDySEmvhuVa=sfYx=Hd#RUj{M0 zs^{LzE`fB2HRVkfJ}YETdeASrF=s!|1=$PLH1y>2Zgsujx`ieI4~b%33o@Ai#?NvF zwCS2*$6LP!ff?cQI-XR3m>TNUSxu+9p9?n^GP}cKe>1LJ)eA`QVt$2$Tvc5~VDn>F zZvgS<*11@PU704uLppHu6UmsO(zTqbQ=wqdG*0dEVe^?f<(a#E(2Ia=Qn9AI5{Vq& z22p*DSLKBfQ?BFcd)rT;TB8MOO&a5aN1Fn5iSRU8)>U3=&y)Em=jrL40+Gu zsrtzp2z6%#?K~7fTrS*V4BMPs`+Ku(QzWnazG4UPzm7$$Oux%aDxlQNSFmRHik~}x z$x}d{SaS)7i53ScYd^SL`npu$vCW=kUZX$S-$na&ZqE64mx2xd>hPQ*IZzl&2enXr zUQ%ue8{S)*=}%4xFqBK7CD`A2f5N1w=gi(vDRXN2f|vlj&9zysq(VgD500rQE_;!2 zD#~-q{X>B{DjC8?@lq|u9Ok4jR8d*lixIwDGb$lL5CuMP{IllU`9)bjIP%pQG6Y%0 zR-sc9Q&7a=z~@Vb^GY>en>uD>ox92F)-RnKNY9Ea)FC%S3Z=`7*De|S3VQX&Hf!}V zJCI6lPN_$aTvyaQNNc-Qvr(a&cJt&WRWEle=^`P_`X6#oD1fkA&IV7bu{V8?dt3S~ zgKQk_!4V>T;+ZtmHt++bstE}SDNK}grwmPe-ue7(WJ60lwpdZ2v z?7fQcM4%0CU2*TGWxMu&QzmByhy3WUk3cPryZlV*nfbwivkd}ct>_BF4 zdF>JPw{@Bo$r;?8NKUwqr}h^*OF+PQKHKj<29OR@Hu-_WEM*^*a5sCuI4y>!GOm8c z)+_)>Zp&_b3V6&li?4Pxg&*e{Mj@BON-p8JY07Lw$|79ihp;LV=Fxo3Z%go@zr^4& zWCwJe3QX!7!QKbDk_;1f_OGnqxDCnAdH5CXqa|FeCtZQx)@sr*sW@bprh)y^Ia2@b zrbDFrp~kmwY=h=wH?^Ov*XSvwSynM)IJ?yJ`UKIv!W^kF=`zJ`j{m1{ii*g$VLalP zJ>rKv2HvL~tH`mwaE4K%2=RT3lyu}lha=&K%gtD2yN80gwwk|h*F0CzFm?%tV2rHAr6hv6aB6pnZ~HifUQiTR{sHCEs_Z;8ji6?0Jn16sZYQWpLJvc{o5E8Y z7OXfB?-#2284ubkP*suMwRy{mKFFJX<(<@0(W5r{KdZJ%>2%vypGfJ@bj^nr0)_y%2Q8*K!+qkqi<+lAC+Vo;p$~$qQCnLvdGShM2Pifn~SYLZ|Id$(i8-U~x=sWN$-f zF?(QA@g7L#lOV{fm#K>WQildA34eOaaT0kFt?@;BA*}gd5Zx$dEa^2|MjVvYk5PCd zEBPplmDv?W+Xc+_#G{`TKpIZNXM&KhAdEBQ)FeCwZ>F^QJB&SJ_O{1$uear+XT9|x zPy>VgP{Mu8(wKr&$@mytf>gC$MHY4@Nf?)eR1B$olNEurc6VNWJ5-0auPXw8{B2#w zVOm*kaAAN#L+FFm&{93VRq0&XM_+=vJI!;v0~|wkIJ#4R1Ubz{iV?;|`>U3ENWH9q zJg)i*6P)U9{yJbry{3^es$M;AyIZ*?eZO2%6gJ0nMHVXk1-x!(M_M)~dE>}yij?(H z!iYfr$ldI$8)hP4yim-5t%q6*Plw-a zQ#{s?;lTx8(=xL_J|=SUq3&ACsVAR?5jve+xY3sN<%UV=Qge#7t-? zDx}yMZx}&ed}`{u$67QOugVEmhmy#`%kSL7_=^WrO-_XVqzxAJ6-`B5xb2_@m;8i3 zJn8u4lYrnv#Kd?ujLWabvUR?6&tGte5|I58?6PZZLFHmOdM@C0mxGnE>=c%!bC^_F zVJ>%Kx)&`d7B9-)Z^$^DnD<^e6U_f1)CoTbzi+qLsiEi&Np;8Gn?rEl!7uH)9Bmi> zzBK8fYcmqt?0TS_5wS5td;89JkzX$-0%9`gV$A1Jd9X-K=v;8UX1Tfo6JgnJxDE^V zwE^yn()C>M@m}^(76@sFF64}kMy?5ih%TV5GXwx1s+_$!RZaU9w<2gJy%n5~+h?tsJeb52RJ6wsbyGDVY zq#A95_?30_UMaSRkGs?(=O)@O0PWj$g;()QR|8OG+Z0(vZa-c#LPxmRe|!EbLi}Ud z!`LyA2QOauYa&i|0Gy3gM=wJ|pxRvl0%)XVpIx?GL^@B4(ij5nG}}*PA8Fb(0AC)@ zsbBx&po~IzcS7dH@dxoIoCIrKp+3e_?C^uvD*q5Zt|b_Cyz>^~(glZtn;B|ykuR{a z&Sv^@uMoUB%YLRdJGm*5xa;JVpWS2|r*ri#6311MBIl%rx0j{~m=i$Y0Ddp%+~G** zM5Ug{y;^$q#~huMp1yLjMm#H}Av?J2x?BgeoN&&nV*2Y->hzNW>c)Lj zxYf$7`?K9$G@`>0b8;_`i7hj=_=+>bU2WNH(e_Y3l=f|P#gY#iq}~$pxcec+oajoc zQ8%hLG@`963+24Jv6&aBk%RE{#w~`253Z4YH3K+~b1aT-P2m zSMdshi4|?obPO&a&PHedV_x6g{;bRoEw;+JYFn#H(pfF89CM+CD`5+2#v=knaf#ET zy2A~nrk^>e&jSC%sT;LFsTm9tpvqf@igKY&4R%#BDw79~8Q|madNCME{Z(AlM~we6 zC6MAR-5p%$GN=W*qSAPyJADB>dELP;S!FoXuW6?ORZGn|n=Mz00~7%s{&xj^(&%kA z=^WcugEHG0^}UM7_!bApwOH!E!7t>8%|Ij;{&!J{3__e04+{@gQ8XB)p^C#IU?cW= z?O8FHr>0|;mx;LFh3R$6kkE;MPU(-<`sq*6ofI7m9;9j)F-^#oc-j$_vu3K4!|-FK z`=4$?kvaZx6BE&x$z()bPvSdG=^@rV*6HJ3zc+?t@dJ;IC_%M8$_KIdUju_dKEu{y z{l8XO5-4AL)z4a(x*&RVYshK`P*ApjByA%Fvzbz+xa1>MDhc; zHw!IOR1ECco)<}anS}I8S?A(x>%(2*%Vxj8ytT1vj2o}4Aqnw8{d)36vz>&;UYAvs z$@-naz?zfk&!E?tol^heGJl*=_ID$a7wJu=qx}(g#RP6k+&Iu$Ia+Ss4IGr_n^9sm z&p&Z^9*#f#LyBwZ^QcSCbtMsrbBNmQjEHeiB>74sI%~02)hDJo3Cf%IxVe*)FB&#r zXFY3sX&5USqFZ-p-;fUPuN5>5R_J3)u@%%zUSM9X zY2B_+I@V-L_5~&)Kbh2AHPPBPc>IrHDSCJz*l1Y+HuG91RG5}`W+aFqzACutS4_MX z53h+_E^i}Oc7AFt)o$Em^Wkizz|&EBa5-n7BR1{`P=mqfAiC{%QG#V zXxM7F#cjuz=j(CbzCgmS@jf^i#3-f+c%R>rw!34A@Mt*=ZhE>SMd3mJpH-x)^-RwH zQs-=W8=|ykOarL3Ey^kb#mni~s>O&JaHRp$u~FUwk^h{UN<3{o2vFT`(FQk z2Sm+0BBeuX?XGwts*?D5J4$GSl9hv#Ay|CzQeqYW*UFJ4&08^p`>4Gj#1~lo$tvAi z-)}AC6@U8w5tNtNGNcbmXwx%p{}zZISwjAYWw%F?(DrG=p7q|g_ZHCJ*X6#_ipi@l zT8z30v%KK63bbIdv5_{EdPUk6QL<8l4U!)obpa)MSlcfyW-32854)Y`E2iAq^Hth4iLe% zr~2RFOdC)s#;l`uU@AEAYmF^}ra!2fSr>*_*gUh{n6Om*DT%FUr-! zle5Y!ykYT?pNJ~u&cIENdJ(5T#l9QJ5v4?p$7xOeEigGY^S0HUCx^HMq|uS1J8u}_ z5f*D(rNl}s6H$;K%r+fSt2(WFHH=znF3gyX;&zZ-uD*Ftwye(l_?!9R$i24Fitf>qLYCOe&$jCIAD3`M{lpUSdq!>8IUR0_FjFWL5P?b>_T z{S;2Vp2+5q&Ui-Lh4|~9iZQ%MXdTtle`e=c+-qWmEH{mQ?N0ZzRp8A1RCJ}OtIssr zd_j1JCI1eV?*!_(AVl%1>`I2+Dl*4lS@6-nz<;q}e9R_(Eh7e21p+;8Jr{!8BYu&J zAxxo1?<&)Vg?^u!J7J%jXNxEW9>I86KjMCUI$(_9gUvmv$x-bXWps{FAUlr_eP(>m z8Wwn6MdEXN`)C3mn&4#c+%2W*l}X@F?vnX=+V<>4o1TT|O-jFUgc<22lA%5XJ6&4$ zGJa7pHH8(5e?{QYMTiYQ4iu6UGGuj3x3X4xHScqu-R%JcMskz-ir~97tey8Y6`%h< z3cuA}rgY!MtLhZ;W~h%O*~PNN&Ilo%#leI&L;5|uAR;-CoGkj+(QJeAgj)0HvSjad zPdCq+w(RFv%$<{E1O@?AKd`=J2SPm0jnSC0fEA}NW>UtiUPR$}yUjk`f6hCQ;pZLh zSa<;G>d!OXt0gBcbl*B)KA5g)Cup=RdW>#Ef1$xEOrzsFXV2X_xsM0*4%Ywt>4|=c zAlj#X*p=4YPXh$2ad=t%?}6V$p*E8ZMHLPlwN>#fwm(!JTWKN=O1K z5VcpUA~UCoZy7>&lK-3h|;KY?}EW%KSk`gkKrJhS_f(wk)9 zo9lkjZ3h{7!p{DOs-7b^#35Y}%PFM?C%VL&`H4KPW4JtFNJ7gxFw<^(7kuUTxUu8l z+UKN=qyXeGL5g$P8anFAd{*t)>(bA3{d-6Jx=|T|`nHO?5=hg%L#P)VAk@NobvQ&hKOtT&A$LWTcyh}VWWck(M3hCXk0*e_UJTM zi}m>YA9tgHHrAkzSG<1`mOYo~8TtP1TG9>wo%vWQxqkKK%+pER4qRIU1=DWs27m~k zQ97Rm^D3_98hRGiBx^k2xZAY;C+p|8_1M`UsRhp0^O3{aPr5IUi*7d#{yw zjy_$ym$DzG^~7QIr|CUDCSl`-jh?^{lN&7yYJGasUmkdhlyjh$H9arSuiU9qUz zLtp3xRgI`iqPNrg7R#l;((qLci=6Ak;~#{UWoxq_h6V;gzfU;XP@j{(+}) z{!R6x3`M0v)D!rS(1+sio|8TCyHmPn_h!4(OmYx@qI%1#)EQl=l^3(p5$&PHN9<%m zAJPhYiA1QD+7A#+nh$PJ%&XSicNIM&dwAg2owV;DwG!N}A?J9>dMQLN|E$c4mQsY2<>6t)64ch*QgOmvLXeHM?Zx|ejG@_tapPHr*!V@rY3n~1`XrIEJ^ z>up0kl!&M$BFPYaM-Hjde9S`jnXadC=B`M%la5OcFlw%8PiIPn}*hC3rnUFh#W| zlsCcB;^)o(mC_;2_MaH%*{0jn4uQBz%&u=BjZvTztNdUSz^(k7?ZDIQ8v8S#K2?G4!eBOpKQKq)CPU>)avvs=Y@hYb^oHFNHP0yE0 z5NGb4m0uqD0tSgP(pVp~$SPIv3Du$;EQKCy;C;Q!e;_I*W_#cdEPuTxo_akKVW+QM zo4@SZ{#FG7&N4C1lmm)mzkx$@TvQE7l3m?Jyt5& z2T~C=D-7DqM!gSa%Q_&-3rw0vKX0frKIPcs^gq3P7_RdWlCYsM`B$ZI065Zj4gi~U zd#qj5X#nyMvYQo%2b5n*S`lF$WcITv0x&2ScK-h#V8x6cF&DS)0K8rRWn3W3nqg{p z^n%OXGWKc|tk2Rz>U@lTE5&~0p*u|Ctnj?&9gLZZ5}>X;i@e)*yGUmxDp&G9Z}e{; z0CW_3{Ng7l5|q61@-;wSZ5VDXu3|M_K4h7a0yN18yp(zyfIn(kdeIaIj$FRFYi6G! zoc#kZZUmMPt$&LHwF5?kq!wCwjk9hkJm8)V5jS0@du~7@y*Art4P0#-3EioFy*X>C zE6pkAR@i=~b~jsdGK$tQ|;qeyqJ>h7)X7~1HVfUD=LHV?TI4sf^G=D z_t;r3^zt07os0)pq^d~dA$;wFU4Ajn{=jntb>EE!v>MlGO#h(FaX0$ah4$nf9sMr)N$0?DVjn(?(9bAhPL= zlvKCcR+9ni1l_Az&APEk+9VyTcxs(FDDbR6+A52Z|U9GwVLBC8!oM9 zcs4gD_-{nPwTFWuinq{DKa$mRfpT(?PA+2()Gxf ziPtc>7enw6yRSPF4Ow@%Z^wnjZIFI11>5RFpR*vMW<}v z*Ql2Pr30$;T7})fid!w|mBXQ^yQfB2xoYoS2lYC&N3~z|OiLcM4tHF0z@&I)C(Pm^ z%$(6WUko7BZI@b$km=Y`#&=|Tw>6=F)e1-72>`gMW%UbUBQr<*XOwN9QY07BP zRud1186^=v9aOIUP#1j3QPODA54ndDT~Qi*;ll5ES|Rr47}@;KMj!kynJz{nYN!f*Hg3T-^R3*6cQ<3nP&EL$P6s*F zeD*#$8IaCPPPY}Wmr}a@pgzYuDg1V7^l_-j*P(Z92%kS@`nlV7y+r-}27vW>+8n;k zM0|Ce%_{Jj^t}XnI;|?I&dEFl{OMNpNxAE%62;TTS>24i+v&@!UU9O-aS9Qe?>qAU zC$_ZsRKLejz16K>dQjto@vt^u^}cREEW56HSBUIQUzh1qC+>}R+(5AJWnsrP{FERa zs=MHt+=}U76UxHr`{lX~b}6>?d_6$wNyf|SrVLuf><=D#Pw_efd4;9#3je$mbIrg8 zPaU<8Fu9F8Wq2;FcuGvJU}vFjeGTo-A7Cj@Z$DC%JT3ka-mGRLXHN9447*Oz;c7tH zbcM3+xI6-DM3N%RIP=1BYcHvM;pZ75CLU94&)B`57g*ff18j3J*du9|1yj1`i_%=V zIpCHf{_b(EsmT4e<|N0XDL>T|Yl?0aiV;4RNqy4C}Cf(`Qe)fY#l8|SqeQw#&n z>dd-y<6Dh`E7VA;@d4YO}>_-jz!!fSDq0YF#wraZUuAoS#M;=d>Tg2asL{<&mh z(#yv&g36^4lZd%c{IMK*jr*kPb3pF z#|Byy)NfGtC9H*v%c@-_OucoZ-So(sxb z$c5Bce9mllHAaQzKT_kDcVLOFfpt?;%W-o_9=~W+WtO~@2=)bg>-r_wtD8Y-#j~Pq zKH<;4`@=*JGEbNI>RFA?QEv#kiyzJdHEeC3)m=Kp2@SiJXZ(b?tC`i}?_2d8rKR+p zauR1*b=C+03@K&{uzi^j;LT>$dVuPNSDvi@Hozq_khc>tElTB3@Vh zm|H7~lz$bG*ToQi!yTsYfTRK6UJERF9B}3b+Qx%(dXM`kP7tVjg&$RE7WAO`P};|& ztGtKH?z3qowDpX@7~xR-eBll>ca^Vpm`n!mP9)^k$Uv7EPZ1{gIrG`;e>`N4tKQ<= zwHpy7Rw)L4@X#4f-fNwdkEbCR~gSvyoLnN_o{YMU|SbP%Z zfhlR-T|E{#=F3f%7aPKtY3vTod`%0^&x|qI9i(WHn0&95Mjg1jKS+p6rbG6ENnU~~ zGyI{~v7Yo3`Tm;EL|Fe|hg+SO+C?ZL?t1kE<5l`VfC=0XG& z)Gt?;3>!HReJ#}Y{or#J7pjBGJ#?%!%Va=x#rqfTAp_=7Y!Fxm7R%RAH@tfIW)^al0l^_P9wj@r~30y#KE zp@pE4_n{;WBNqY5C2|IT-M{w`5FNg;kRN%xom9iOxS|gSJ1xa<)D8$uxl}Sv&t_oU zt5tfcD>Zj>Q7rEbHqWU{eAj59$WY~IYEj%~(Jb|Av`!o~TCw^Zvdln`CoK$3W_=AX6i6Q*>u>N8f+i>PO*NT=Z}Cz=C@3hloZ4X&L8FN-Rh~xhmbtS`Ja`G;=4f{<>ZuQ{xvG~_PO#T7{hspSPF_BNQui`pqhX%N4S3MImLFc2cX&#;5Ijhsuq(yeS{CR0Egx=Pd%OA zh{Uni=Cg`*s%Nnkc{3iGn<( z{@dXrX2E|d;rt|!F(GLiYrtjV$#ya|k-(+vf$Eny-2=$<|9|}1MgK8`B{&^x`)YP< z*8%qS(@0=er`f)*zM{B6HWA?iFo+I^uP;~7|I(U$Is|45@g?s!Br=ar4Eu06`df{V zi(XX)GTM*(=EqOciLKvIi#zr0j0tYk{Qob%+|x90-pUV;$lfqSDTg)~*fhTn;Th>b zixs4vCP95r9THBrr(AXUZ<{uEuHumAbgkGraOSc|Sc~*3vfQ=*FX5wqGGi3ao}C@L z;^>-PoQ!tVmpzb^Qxe!<00o*?&Nxky%CIj)_S!aJ{?U7GvR(_Jpy{d20WSah%}%oE z+V7qUZwPZQ$E3>SEfJL!?EonY%~2B6Ub}g)F&bBH=&;02}lchqKG!`gC_$$@vDai4gN<^G*~-KofGu6nD9 z(27?Zj&px)JwQnezdTORwF;on@;>(lPDb#)LqEcz?D`$YmP1;KO|oE*3V#jw+WIKC z!HW)YGs<7b1D#-zjR}P`T*$a{Sr0rwoC$K%A|~Y-v#C8D0_}Hn3Kw)}5hVFGSc!!$ zP2XqRv?KjI`=_vJ(iP4O!K(fdWpy>8UF6$4;J@f3)`&tU0`K_i5)!BicqBouq5RH5 z==(}87f4<9(o~A;;LPJ_Y*1@t!9`#BM3-W%DP1QsKgM&BusZUE5z0WR{ z(5;?&3gkrtjI1_Uo6642yGC55^at+RVKJY5(xeLbPhagf1o}Ci6IH2;rzlj;N3>F? z5D5WJb393FuN5;t`ii^MGEyV{^A{}Jm>Yvg=R(_~ZNJOWn+nfg};!y^-bymQ?IO?SV^U{2@Bv>*eLGRQHT z>{yYv#cen6&_f!w9YF9h&){12*i)5bR^LnzvFiZV$Ux@Sar1CFknk`=bWW?%RS#vo zMs}i=^xM5sdV#G!bZT#a0F&_12h(XJcuIonrh%fz4^!Nk>;1|Egxwn6(t>tI$O6BZB&OdvqY z5}K=NGr`zt+5*yg6#2C4|5OxRMMVeo9(11GE_Dy4d0Ry9i-tE41Jb_MNT(E@Kk`lBc=*7-npF7!?Umrmn54V$YaZ$LY{G4Y{n2%i}- zxc`W=_j3?B6AivUb!#Brv~jgaSOutW=s~c@!L2)~5GdH2xd{ryX6^GY+O)Wx#>j-y z8hTHw8;RzLj^~OkZ{f;tmYe-!5`>VxH~Yz0)!=`ieFWom{1690zj#~Rc#z{ zZSsY}$`uHq)o$ZXl`!|9oWFL60%+7?ijvPk7m_qpQyoAMStY(N7}UB=WcO;~wgvd9 zy{@zk$;iF-PT56|xg*J#S1hL^5MKQ)$OH}MPLoeAV&1;%+dU^32X1TBg=>U;*omj0V zcq)&BjF^QZTW@`t^;6|wxia+?lW(+!qT=z3?}MET+t%ChUiL&hJb@Z()3c9!C^1>`ZvEU{#C+fQnlHu-pi@`O1pkTjro_z%4CTClid<# zIFi$ z469uRzVa4ln-UINOw8EIA4PH3%&mH38j&afl`!1w|pFZM72`0A4d12eA*WhR4F#3JGL4Lh=E8N8JkYFuu==p_CcK#p;q6ff5eUi4mxixZtlQp zDmntVGB5JZ9_XBY$k8|tbxSzyzLQZ|Q{NoaS#zFsq|S}8aIXj{T$ldMQ3!b?a{rQA z@X6ZivqJt_&5IIl=2s$0Pv*FWxTMgnfpbO}RR7*g7CL4>|)_vXAOHw#SmF@0|jZ-VE`Lsa9tVn#Qf| z6ms#K@81?Wum>Ff_r8E`kKSaLzz!Q4O!~UE9~^;DYjTGbfX{Ai2YL%{c0OSCI`IX( zeQ&j^pL<-yX56}Uqb`>tXveE}3l?-dmk(AdfoUX=GNcQ<(yi|9gXaJsEpeMg;nFcZ zei;U1=UdY?YD2u{*WbF#UTepjngpV$+^Y_5g4mheQT^gyOJ34g%1s$)Vom}j+&Xi_ z`6M2>!Ao#Rf5`u4Xn-#^AB-sjpqxeDkre*)(>lv z#@k7Es?Toe%Is)D?cYpA%Q3q5P|B6-w`^yJz7^fz$#{D$CCgbTZL93?_U_3D;GUcV zN-m?xeBZw1yillj$#{r=f~B}kID53DYu9uc9qIM_7vRhHxvDW=f#4Q^HiOYe4gV(s zjN7i$NXxR>3{9kCExaZ}-|0Wq5IP@oZNtDQe0pHc;~z-U+_&i-Q~@}YPU~~18E#P7 zr_~N43}%-Lz02thd?TaBu93@GA5Vn)_Eb7{2N-wiJrOOgfk&XK4W(8!?M;SNL5f`m z_N>ajud%v#PxXc^$-`;YNPcs$pw5OBAkJGfnvC{qzId`Z6S}Kspl#{m=Fu}-Sw z?cuh~lfh>>_0^N`Jwt8Dr|BzS62^BT5<$1XbEpHpWpSKzB?k`!tc-qj`C>RdR;(<1etEF?V%_B6YfHy(azg z!bJ|L8`@nMzEwxwoqq@Odsa-%8ga)YH1|(V$B)Ogjy2W{8k2oH@RV!#wu`08xyQax zw8m>ZPEb^`^Fs!A_#XnrLj#NbnTKyFdp|0*M5ZyTTIGrzJPhqw-p;EwY(+FI?$E3M zt4-VJU;MDCI`W0ydH_>Fg;7M$?C66HFmrx`3|2=kx;9c#ZLcSHrdyjAC$^}*#+)2? z`jwIYz6_D!fp-XeqPxza<%{3@CT2qB^e%n)A??I(cd{0d8WE3{kiUy-(KpxW&CJRA zu-++mVmF4hhtm3I!BJ8}4OE(AACLWZx13(=M3#88{^Z9*x5-T22 z8{E*OwN29-kAKNO-g3(=T-CwcxpP;p+-|@9_FuJX$GLOo#`taH#*MFg{Ye|AH+rqC zh(Nybl`l_EPlwL7+G?xi%a-rF)6O>AbjKZcy!(`QceV^*$&w}8Z@KDd>9wz&-Z)L$iL`doYhS%?{rb?)ym|At-+qT>%a*y?RoARp^U4!n z0YrUQ0+ln?ZtK^b^qO_+*43tV*kOldOP9tM)~s3c%2)oI5VwG=y>IPX|KrV@H*XGS zSiE@2_S*e<4kXsEMC0*_B+(!v?G>2#l*(Q zOH8---gDoVzx+SSF3p=eZ;w6qI^>W;ciMU9*iLiKIcI<6%U`DNJ1j?%^;c#iE?@w8 zC#Um6eAnLt_-fLqHOSlF{r zYu2q_muxU^-uBz?uzdNlV8}IV*1YmnuZX#A6*=>BpZmonzu@t#xO?WNHo2!1HjZI@kk>4#4})%DY)p`HAuH{G-Po`B2L)YQtAE9cGi zd8^BQ{p&Sr?hC`()J01iN<%}|RW@Xe6X5q9x8QU35v_1?tgfiQXU7M1n+>hlG;5qB zYl*YY*5o1ot7IKD1X&-Rb%UV?#-LnXgv6?>J;T+5mMb}4rza(TIo`zI>jAh$yzshT z^}dwnx#G&&Q~_%JcCBmWyS(<5D?GJ^&~;mCutmuyu_6K1yyfqVWuYr%eKPF3hHaF( zVw8GC_C-u)>OqjQWqo6lJj;OjKw~UUc?=H|IH{kD0<4`L*_*{z5fSzLjI&CA54!|5 zDi4SPtu?9VxwM)~&=)caW<)7Ha$X|N_4 zD_5l^(DeZJx3(h~yf+fZ{O;hK4y)g$-fWe|^Ddqn67r}7510&%tKv$0a$2O+52q~< zxK*C(;kFRUP%tmGX1k)=xJw$jE9=PF^ktH)D?<(V9!xC|}xMqhyp zE<(Xu=A1xaCgZ!;U1#1qD|gur9pVs~uj;J)+?eAbY{dMw6?uHe1d2S74-Eaq?2E`x z!tQ|w$|+G3JK%rz#oAZ;UF>qocL~qeP>(O!PM*2rzDd5aK$~_iF`|hveAdhh&tPi7 zy{21l-*pl)w8GVq8wWNd;vH=vXw9ee)iICcd9Luc=I0|g_S|zT9~RsSB;|+S_>vr6 z^LfMepia2?{!`k;W0Q}A5{E(^rtKou1b%3*=C&@JKgplLfy7CSS(1^8y_^&L%!{;3 zIWxlF%Y4Im-r}j-O97GG_hEQbi76+uov_wgf`2^T4fs5A^5E*=Os^Yf0vG>2+;|x= zqMrD%742ERtP1U2Sl-sH7)fIveAJe7)@%rCQMf7s6)3zeOT7+(wGdI4BDFRw>TOhQ zUAp%%Ydn7a>q}qv`qzH)Qy+h5`XP7?52CIqYocmRNY>|gaRv9^_o#*F=+m2~U;Db( zeEqz0<20jz9)R(9{L5cn^5Pf&?H_OZL#;ni=$5|aHLrcuFMjc}&6_ua+fRFJ+3)?A zzr5tcSN`j@*IlD*EwbnP?z{JW?>psP?|eJ=_q*f9%g;IYocFxvo%gT1ALY9WTzB1d z|90ZP-gxs3zCt9N=`o#%)lqo43$h;1>rb}yEtJ#k7`1<2IqNI;-M7XV^4zbV1J;~- z&55wi#OtYS{z|7eZhZA?U;Xv3pEDkhF#$ml0KNB1F1h6I{{C-oyZsLs)_vW5&ppS# z^dElwlOJu`w9&iApN$)*&pP`n$G_z7r#DS2vR^Shy?MNuH6&f3cdfqr_?P~}Pk!>F z*d`qUOiw>_)>&V9$?<Yr=xU1;3*IfPbm!EL?<(J2qPcHL#eDA&Yy#4L}@#U|4 zshlIAP#vSc<*jeN;DYmWpv$cx9Z^FVHEhayl^&BNf4u$nSH9|BW6ybX`|j0uzvtcW zxZs-?lzKT`eb4ISU;2`pZ@SS3x&*^L_pE-)Ti$f_Z?3Y>tlq?owPo|B7&5b7NR_tk z&`n!7i2!K&vMThFU;g66SN-cX*Icbd8}?E|>^t81cB{{HpBj%{W12O(9sR3kedWXx z|MiYL?ije0>Ucc9_uhL>KKb9z{KDr4^*M-oEw44Q&&PcWI~es&wKhh#@F)b0vY&D9 z=wt2w{>In;&lkV2e*L=YKBlXSe|GUdyyV3<-h7kUGqWiB?1AYAUiR{T`pJ)fxMjrv^O{7>p!i_W$73mw|WX=|@lD{VSX#w zlwSj%W)v-0HCtGcFwx)4&BSUoLnm(NalxncJ8Cs0YZ^1&*>ExXQqMIYuC%lhc^d6f z&m*XH%f)}oGaXs`jqp>$cIw&fo{LbP&-8)~Kf4FLa3F1w{-V$^F_ZD#bUyGk_nojs zJs%AQX$!Yw__*icuIl9Ef{mi*(4hwQ z7?(A0TXc(vUu-AhPV$%z@+J2#mzi;7jE+)UTh3*$_~pKj;Ta;HnE87rZ4u)L@+u<6 zc@49lG2sEr+UC2uj)TKNe}qoPqr?*N3Cf9HF)ZM_65A$ZIhVxsKh78wb^ggeLmuwM zj)5`FK0?V?8a4`kh_eh#wz2my`WrSa{biR2pBqoc85tR;Xm{cHDKe}wON*k$KHei9$Z@LPP?W(I9FDHqV=yRiak_K@V!k9o|$ z|NEQFhJW*%XW6@!Y`x^b0}oobaN(VI-F59X*G^AAgrd)))uMdWm`*93{7k*WP;|mM|Nr zaDoRWAO~Q@wkr-g=%8^QU;UeF?z;QViqe9^;>)w?u)-jmj)tj{WKZKix7~KzJ@?vc z*|KF1Jn+CZ*Id1N^*vII7^Easa@C!8*=4Ui_nbR_-s-zoUwiE}8`f`_Nj~`^RS{XW zC3Yl{5Pwcmc*AFsdu`psLm%wnVB!lTh>&%O8B zZI|7~<1N=*bM5W7{}F>1xwQwqD<%#zQJ~@*5k-8(X#k|6afj0clLz@@K+EiEF>z(E z0nfPCOz4>ns80547;&--L-|vtV(W0O=u3V3Br?k!#>8V`smWM2BkolFrN{BRGtp8w zb0Ws&i*!cxoRDy)qA;6UFoR2LAfB}2EJ1wGtj>7#gidBgf(XZ^>BkfhJhJG%`Tx zppOx8LcfU$QqVwYm`%=j^)Mep$$@7?#+eUSMjgIIhyNs~_^p&-mWbmGx?53!qxG+o9zD=c z^gRWsnZwNJJVEk0TU?G0cim%e0PjELZA+IfUA%blym@oy&6_thHPzZ^YHB1RqtPgO z=h>$%U)bon_iiKV&6_t*PfwQ-^~q5D_LdubmPlkqbqAt`qz~`$Yr~sVd$}tzS}XNt zrtxSezgyqJil78~)J^rW%YUpGiT~S&(w2GyjDT_6DVOr2RuQxrH&>VUVwQdZrOG9K zul>@=7JycDYj05;{OCu&@r`db8$J6u$MRh=A!kE=GUM%N!<$HTQdbkb8%QfzgE8n` ztuf0Anf$I!)V&wI&8ml#q4Wqd?pDQ2>le$;?8QuN$P5(8u(lJkYN^UUXwAKU@{?kn zK_6>h&id-t%pu?R{`da;;)`Zr9%E|0^mIZ(oq>VbwOZfXpkv}~W`7?B?E}jWZB+bs z7EaLF@ELv4KEpf4&{1t!b;5I7*0N$I=BqXy4ktmSGwg!6fwSU)l1zLH6J9VxIBM?- zAL>jlDmq7bexU7{T-OSB%|PJ5UuM{gEImXoz4+mHEcI;6*=O-+%o*Zgv;3M^> z^mt~1k*JxOv7puo4|P7MC5uxw{(tdOJX2XNG*C2&8LeS}pP9NUTrpA2HQ_rmeb8fZ zTJYhRVFH4%P%1E*ML7 z2E1){naLhAd1LV81oO}I2(90$RvTtJlUe<2Ts;%FlbV@@8z0toGMjAraDAVdC-1(; zBLRK?DgU`_*|J587R{eOZ_b=KbLPwuX;V|9)>>;V<^iUB)DE8%pO|up4}DEVz=W>ox$_|j9TI&e8x_kvDz3kbM<8eT^MQHUjCl-YKv`|)#1GO?N!2mmod zr5;?~m`f3;G#Pa$>>VNVm8Pas@-rPihe}XetVbs*L;uA1U~u9!$0IjA16RYR|}wck#O*wyA&GI`o6kzk;8u zbci%Siw*?>>fCTUIddthXohoy-T)a<9{;>)OMSvlqoA*)%wolU#gFJ;fq$zqiM}W1 zoBBzK_4BGvjGA;c-}E|W2fDPNCsD({RNpE7Vm#7vhPO#qH9jyIRQ*mxb-fWM){c(c z??L|I0H8ZHhaM1imw4W)YZS?2jXH;@V$@pavcX7-9;{#H3;ug>f~&BJbk3>@LWba_ z2C*O+&xB1?s!nXcH?S|$UPSCr)&j!$%J4K{JFh?uuD0)1&T&0M z!bZWR9urm3T8SyvcagAN$(=HePvTP>8chEM!=7(6wA5|z%p@MjhXTpiTKzHlE`W?Y zcWT52~Oxy{AuX#7W)Dx zKKQ1M=;NN7IZQ@^am}^3Mw_uoWz@)fbzI||HQ|qmd2#)w9GcORQ5^U@+i zL+crX%#Om}?F_7k{*dM0BM*nx9i*H{Z>6KJN1Y0D1v_jW`do1zQl9IMJeX4kDf@Ak6i;oq(DTd{%L zi+anujD6xk(GfZq*KK#0n7sfLY*^M1Hl_X@DXN`xEPj7ucOB9e{9KC;0rAwq2WXm_ z7HUc)@SuP+Mdys0>A`qI3T7HDr`dO%z-=31bxhM$Ig32@xr3#AmzGskKvQp^T@*m; z?qBga2N&@!8QRD&890Pw-zkr(`sAXtuH8WgDYYY#xE0|w>kvrq3I~Y$j{8f|fBAi= zx9a-?jH&0{=GWYiQ~K4)^Gz{U_w0C=>xb zvvQPS&%dkcCy-kXLp%fY(*bTpfL^#1%_q&=7M(-K;7m&k3O=o!v~R&}FMi?MvVyxb zZ70+%#O511bwb;@-jYkDsdndtp?wPn)_(bWRYmx@z_~Ph-1*H?A1!tlzXUt&81ZG$ zKHsZ8z%&lYXEgYs=wGRGQS|gX#mHONu4u{I8T*`*;dCV08Bvs6SL0yy1qgyAH8`Yj zl&E&<%D*cvo2Y7w_tL(BZN`*{#ng#}Z0=uLaH1I(j1S!@6e?qo$DAK5=dl{Uk`K_2 zw6kCIi}XPqayt|{>NEQYz;tdH=)vH{?g9bEow3Q%Q)|Dw7Y%sZ^lZOsch z%+!=gvg0cKWf0dSbAyOe=@$}yow@?+Elb=)pTH+z*yuhkNBD&f<27+BfJUxD+4%o+ z%e&(g@{#wI~i8QY1}E<<^qF&dczfcjSe7^C2p zh;eLma_j`ZIaY0mSUEHDfs$YKK~Cs-nihUGT$NZHnCUviGd%8ebk8Sg(c~G}0K!)I z6DPFAEHO0rAKs?_R5VgSfotLEEW2WDaw zV;n`7G1QIhF@ikob?vi_iTJzw7u0o<{UZNVn+{_^#uw%lZl%zPk~hHkLYYg9E-`eF z^N1Qk(_V%DL+6Ft*%ywLyfY(6j4x*7f%KO#mfA33d8|uMAtRE3g@tEN|#O$)$+d zctFJO`w{mPUr?~oKZ9A$)+x8y@Xz8JYN9~n{y0;DPeh9fa@em7uWl^vhVwR?_XV6K zh*6+VRdD-0pMtW##HMwOOF^|A0HVE224y7xuQ`FTzdrZu-sn>_e1&g};RoDm;W{+s zAy!U(kPE*nLHHFB;r>d_YO@`?a)Wk?3GlEH0n1m2-xJ|8>=BQ^&n?QRzc==?_&~|5 zW+H-umv=~$?wbj01}kx*q&@rGXwZ!6Z8Q+8BGrzuGA9DKU5wx&F@R`qZm*bhlF+}< zQjyOz2MA|p(_X|y%4yFS=&UbJ$tt1Gc&7n{TQ8jV4MaY-DpK|1+NR&B*h!BJg|WC> zaN?@xj+2;d^_kR`52gd>{!?2;@ws(z{3v`Tm_2C-`6rrl9EQF4W9=vS0Tr~yoLSOC zt<8Mij-d?wliWp$9|_=#ps;n5z=`d;f~{=v;U@9-0VkL~#W{(t%s#e+b5`cWf{mY4 zY7Ep7>I!(eJ_Aur zgxIhlj@XR2Q(43*33hR7Ca;nQ2ph&hh`8Q@pDi>qy11=vK_|qHn9_rXh3v!$huk5A zi1uIxXS<_3?QhhNO6fI9oI)@+d9U!Z2F6_f9#a@&0iZXxBlB^ORrD`ci+`!v2&2yM zd(5iuipGim(h7B++(vyeKXKgp3XQ?Z;!X@UxY#D#@hyP?0Yj+*V&84yeRe;psw#cR zMWfM?*7zRCE^e4t`%{4M-9;)`#HAvYS=cjq*|e)znbOBm#9Jgsrxcz|Pv zAh+OZf1Yta^0DUemxinPWUz$iIm83f9U$n9i@WTvho#VS8|Ll9L?+%sy%nA}eFnUX zd3<)d&?e}JK1Y-ZKIH`WSlNKb^c}H`dI&$`JV0#)fVU$VW?cWFPYwQ$IO5$YzTbRD zf8Zp?7aZ^<|HC$aNa|T5nNV)380PK4hc-^3hM2#J#g3dRcg~ExuMs)YE?^oifh%Qt z6MC@y&KyogXvRpO)qw1GEHe)g;ZjZ2r(>vXPjG-8UvLHyq6J!@P!-&MX$0l$e?5R4B`UViY%~IHR{x0SIPZC$D%>eYSyY9T>&N~21 zPfsgQ?$CBd^E?7^|C`N93g2Qq24T}lsW=Ub@Oe)%h+b>0``bOK(Fw%PtY#sKLO)Wxsp5a)UtdTtsd&e! zl$%}22L49Qjsr5I!pbBUAA$71$t+w%#42snB=`ZG!^>XRnlTZSIer>GsP(Qj zeg*RsFR=awYb9@t%MH>)o-|Jn&!RrPkSRPd;!b5k@{coZ)GBMq8G7(!i5-Cundy}! zUm|XKlXf3GAGNG5=NNHkc)?p{Pzd`bS_DPTh%BA4+wYyO8Ij)%%oy6(PTo9U;<6WA zP38lEsEDvtp5SD!$c;GS{USqhCfNKgV|TSz<~9;+DZ@w+9#rM*C9Vl?9yTT^S&H={ zveTT~NQMEUMxdo;$VlJR$OiLU=yqqjhCc>R3JUU765FAlK%F3RMV=6W0rrR%;qpky zKS!BUJ3pX!M6teeg+wL!fXDoeY`J__5qFz=tnqw4_aL^Rgyml1^jVaw2FM++f!-2% zD}G8orhG3W7kMW4Xs|C`Cz!l&EXOIfhekQZiE&fer8tS_0avF!sWFad99uEcseFi; ztRiXUHuQyz`wC+Vaqr_TTejHAWE(bYxbMFE zUj4ea0Ql{#H|Us)FsyS>09h;Ruyq)i;5JsTLJQ3fqj2@LCJAK1w`$R9F9J38C%TArymoOnj4L*gp?Zn%Q_!8a1KHBH7PzdlxOH)ooiP^nFoF`p7ogsGFp5pXT~OM zI>Zm{i%Cu>*kjO!7Jqi%46cB(L*Ac)C4b(bK&<*_>5rj*6UY3q@J3)MbQL%h>L>ae zoKS3`VyXQA!&-gB_1tL~?=Pv`xJxAXN~y!5EB8U#LZOh6zqiV-sguxE@T3+U4*QVJ~6{+qzJnQ_FxhX`#!&}dS2$-z%w=9x;xdN#pWtfxEGqw0 zJQRMWjWmZ%6Ee#Xw`L3ep7G*gVx0PvTgn`HRPexLoE^$G$f*hkWH!dGBQ02|Q2ec4j_f@>G0A z9A~aF(Wc8b;EjR*>M$1~Hio~~_sVR!O88pHFf*?k`d6{FwePb8gM45j289m8zK~+C zz;oDoVAIHFs-6d9nd&2TOynFMctGYb@p;X+g9oH=<}endeP<#(`;gM3L{9}{_F$q&LT13-Mhw`eJOkQS*IahL&Exj)-}Q0ovga59kP~vaqSLt)p`MK zhjJ__tQ%CfS4m0%epl2dIHT^uAUjg-9FL)i7Dr=IV&&nT>X+vjr)dR>ir@;Ro@17g2}oexKDQ%t0-t3Sa= z;f!M&ah!eNenCEw;&+j_iKgDFthi|SEr9dRF#Lq7;a1A z-Jx8dC^)g&YzdqU>)GfFv+$U*oyt*}_-O#P)|&d@SQN^$HW)VrHhVodYoPmi1hxoA z-!%WV#m2;g`4rERh|jI>rPh(j8siSZ5oZuct+x!mA|B|ch+09|*#w2th#Bb;=PU#U z9OrI}+TWa@=&FN3I?stv=%~cmrcBagLQV-=GhtR_--91KM;e~Tk#&XxpY@vF?s1b# zCH3r&v{%;Fb_GUk-)kn_M&To>L+qtI!Z;p0Pey1@M7!Cb`XI^N; z7m&~0UufT=x8lpGL-&{Pzi?kb_u4|;>-3f#`^AY zSu}G$p?->e3x^;XG0v?J6r3ZuU3FB>7f3{wT68VX8*fB)YH$lYfA&~EQ_%`ych<%xBf%V?*cg1HlV@i=B^YDl}%*Td00S9q$9)}SB?supht56YNsbfxS zvDF_fwYw8Ita(EC1?9=W;`xKrx_9p_^~rdVb=rYpPl4z!HCG8dq&~?%kxNH>caN_* zFk^xHW1RaF`Jv|T6IhDxW{w2nA-K!yu7&RfLeE2d4)o^M%QLzB>=MZ_UBo+ye5vH# z!}Ao9hjox!+SsSy#NHZFoOvvmtLJVE-tgG_d~$BdAugIlvv1QInI3RRsn!-4vBM8SPu@7R38*PorXhTcQdQ%t?GkreHuJBShMc z*sjUOIbbegL~UCtLm;e>Q9!*&#^27;PZV6`d4Bxd6Cu}mA~Jrd29`h@vFAC{sMLdr zM@DOz(FEL&;~0>TWb$3AR@`cOhyoy?-BD3$jj%wg$Qgcz>PK0R#5GrU*1_|%tvzq@ z2wHr{^&D*uez@S*s1e_|XlnI3Al7Xz9Rp4cfu}}v4gIu6L0}N!fC`R30?xbM%4rc@?GBV z;UNVrrj<)gtmh)+4HIrw$gg5(cOK6{@$74bmq_H1|M)xXhm{5^ll=@v8Q;f2@J20TgqA;m=Mve`mvl*d6Y!npJ5lmDFIj=r&8*F7$#NY zlTvLJl`4D}gy-*>lDd62H@(`Bx9+4*IU96vx2=RE$l5lW4FaMDL;Myvt8kF9_B`6b zonGTz_DttItEJvDsLF6HDPWU1^+wY{bz;^j`8JS2Ek{&mi9|JvX5E_C%qV17Yn>}s zQESaMlfQd`RQYcGM7rPENH_wWrx}9*#_=Eni&tF@-yV9cCO1Bb;{b?jC!lqSXkO9dg$tQ!6j){m+Z zr9Sz2oGFlDbtoaS?#O><&8H9M;M2dw7HKaoU#m!|ONW#i=Fn241+|j4RMBXh7gYPD zM6wL(_OtrVC9#2QR@Z2&8k6ir^))7#LuSZ|EPJwd*14tjI7Hx_rV?Wlw^Qa@B>(E( zG{BXXTB%xljM}fTdl%xCcpi9AtGkg~6IY-XZB6OyAGZv_n-^qAc71nA`)8hhrqWP`# zh(tTj^`K=V9!1S60%;K?Rcb|O@y(12R$+^Zy5Q{+?*?oz;rqpQ>Gk!ENKWv4xz_0w zY{&D^0n%p1Xm#uR=kbgd{?S@@N}J|tSmE=WU}bb0oB=_e88BPLWaI-yZ?XM6PV^Ym z<<|bTM1`Xz>W~W~l^jFS{bW?I5;dYQ{9vuZ8v|d+Xi_~(QgW-09mdd>(K8|fS!L!K z2Y?LDFBs^#hcA>qMphI4f~>7Y@e8#UQgY|a$n!NOj0QYeyllen=#@2|4t#kg2NraZ zEm@76EbUdelaaB!y==0EK(+H)!^DZVFmV27*0` zzf%K}m~WA3512EpGlq^*&dS@a2V{O&P*JP3gPAoe@L5?}nIzbLfJXKLHUzbql*!0g za)ZK_NFU@|1R&$ZNiJa{+FGd9@V?4vk-cQ@ZITV&$f#7jL#Q9^iAiTsTZ`>kKIr*R z8SkXMV)R^M4SOUtvm#0*qkzQ=d>8DMx|M@>0r%UugoF$=2k%k!x4dg57iqD|Va_Dgl>HQ9nB+r+6lCHhdZ$+0k$ zLdCy6qOPOuS%2!Z2&5UXMFdSobQYCddqk6wFLf(?2q+!^Q~>`y?k-av<<>x`8Yq4I zZimaNsED`k_XeArS?bPvYk9CmOgnh{fUQ*UeqDQ4X~ze$O=5RGTLj}#0MbGy*$I0b3$73{j3HbVZGiADSt)j(yaUrPmiILJAQ(J^+fL7kyAxv$ zT{>qFd50Mr;el*{YzjBX}kQ~R}S-DXkjX4^K9kbOL5%_V0Q@uKEY7$$>jQp z*Dj`Ad@HjW4t;*j<&==$mm(AM@Y+hQ5w=`?M)<7xlo28ZZTh8R;`Vi04E%I7X|KSf zB+r-vbEd;iIlC}iE6>h*jVyjU!NK=XRCN4ZXsg#+p8oOg?{qB>$C;zE>jMC zhykCZGky)f%X@v9^tQ?gNWIxGoxYZS(J*3vm9~H?TCz;=17d4z#6*t;BEe~eCwb3v`c&9O_`9LP z{Lirw{8KnK4b!z=G3rymuL666^lHofV7;TW@JAg|k0@m5cm&h6TE;Qnn{w_m4 zB;F$b?9TCU{ugMT10w3H%mU)yV+8fiJFbUZ%5jMBdP5Pv>o#$&iNZ= zBA=Pe8yN=@=dJP&n1{HHtiRe?TvL=h$yll61l#l;d69;miHE`oT721`sq!H5go3fu zbBT$TQ5ipAB+|Jnq%qcDaArsFNr}r!u1L&qyg6NuEu9mY%<3GpEcB#H7&mW06>Q|pQR4LzUxVaL{&%b zrx%TTT-`}k!G;vd38BHgzMV%2L-@S6Ijk3=dIt3m6VC_+eKc~*zLc6njT$OIrH9Pm z^Ahctp*cyQ3a}jjV6CG7UZ>~%V*Nl@)Vn>~;P=ouq~7b>(erm5i-&EiE2eC*x;5xy zsezeUhl!#7rSx68cGe&v@Zb?X@6fCFzM8HiG3I?4)RULm8x<{wYPrT0GulaeP1N5? zv=7#?m>wK&^^V*beJs8Zdh78!B{$OyyALsAQAA2@o(&hkc0{;h)?6-d_D$Vo=nT3C|8FoHNjmXN%4` zE?dU9;eF}SK^tlK*WjFyye||8EU9A&aG$k1#+82L?O0W%^F}$3p!^>3R3U@2Q3igI zwvK!t^=U%+nJfZw9nAL!b}4)tHP4X)xM!yfUbC%L9y5%8-VyJ0exC4gI!DA8fyXHc zn;PCc*4qqd@n6I_DWR*O4owdczXsf!?I*@mvtGKBb0R6#!UMIo8AVqJT)A(Oe=K@q_(C^af18yJI=c_N_#vRfAe8gqir86!da31+X$=?{`?5SFt z8cdDJ_&X8%X6j$c9l4yO^xr4*F8foQHQ>{u%panDJ7cR>nH3n7GkWYipyH>gw~pGT z6IQJirw+pwp3+R7GZJ~i5Hq6U6WAqc;?_?h|=+(Z4_AnN-Gw%60X85ZA5L z_L;9rVo$-uWSF1C_^8DFjLR`S6gg_t)#n)jq7~Z+86>zg@iv3chv&1@b4K#Kq~bfG z%mKP4K10v&0l{SM>iEI9+dx}2&bBa_!HH!^?-|E4->zI&FdTV;(0AyMOgbz{8EoRl zjGw`XIu@(zLUx2~IO#Nrd+Jntm%pztDF|$v6sD-g;3PRWFbj{$=jM?0{x?Bv7!={I zLhFh_$+jZI0#5`W8wEy@24Cy5Zk$~68XLfz*lf*JVkT$IJfmL1H)MD_T(GhJs;W)m zkW^!c1MZ{DPfTGp7)TN0ACH@^B5GM;yC&kETMo=jSZg)Z>h~o=b5$nwZ<$)u8mXyX zJX@1i^xruDprtN4_3XA|D#7M?n`2XjvX+4rLBsn_xy~Uz4JT1grM~i0apLm$ z>WcbIfW+ts(p;Zjs|+6~s)X&J)S>T)?G{=wqF&#jG#``3>qT&jLEm&e;Uvspc zMbI#_(T}7>-^0;c8YGZ!YVEE`cF3^TV7d{~gm~SWAli>wM0Fl$WC!@dx+nQ9N)qDz z;`KcABAP%@cq8T?(1>RvJ5f3;nO4aULJ>MxhD15d?(uw7QcBnz?jykxzQc0nX|8KpXj$MFQ5E(syY0LZJd**$7TI{0Qez!o63#P@hrlNt%%69^Q^qCR9Yf!5#pN5_4x3a&>Rby3oUddUMk0R*`e00PJ(!>R z*$1r6<};}|_Df+ay538>-?&BmiZ~_3)X6_0k>~iX6K~X3v<-Ao!)!j>L;f1?pxpvo zcsi7;f`ro$4<0u)i{tFc9tj2WBFj~Rp9}Yj$Gcc*)8yogIF!(yXI?Rk??OBW3(!V+ z?>blOjWgZ8D&lA0IwnER59%<8ST>wzh)@@k`h@44U;`kSqy46o&;RUsLi$DR7kqTa zaY^wz`}#=2j+*{X{7@&o#IhR7I|_1y)Fk;%_am-)f;_pVChu;LaV!cV2KM6FlEMU)Av6lD7-F)NM%oyB{%0 z37&7{w1|V2W3-~Hj0OCzr?ZjIyKa44BO#}~DE-bNp4m%K`Cp+U_iJ!$rI}}Py8|Ow zyw^WTzvK800l6}Mp4jP)@{@Jc^%ok@xveM()W#JA!txwgRJW!_iD`U>kw*K{V;e3vTgyGY_*O_VDDwMvH`Z_=tLYWrL` zGM$*5Ru^Xz?LGV62RB9vJuhpGL{RRtmC&2DGpH*Q-s|Xn@zH<=iI;i<8^EH^Qf<{6 zWUSq)_?oXJmK&QTB$S!A^9ifXT^p%?>vdKmh-#^X=S|3fXq8#1Tgf_SdyAi?>03(M zpnWa1`ep^~q$Sg8gT1}lH|-)5m6j%t2y2ZdaAjVg5nSCCiWXJV{?|Zz*4vCE>_yz_ zus%ePb;T(|#e>eGXCI5O8c-+nED|VX`@_1d)I->d6+|M%PfJBH({WayRo~AQ zu&ihe6iwDw0|0d>rG9&Gf9XIc$tV7N=zPrizfp2U_(kxER(?Q1vXmM~_-HRYF}*CX zD!gx;_h%ySdrwr@{C&B9HLJ5KuEIJ($(0FQaDvzk70sC;s;B(2RR`bTZv?iSRT4EKMD`!$sMc*F1+N? z!S9o=jNzOX{##g-6Mdz|thN(Ki+I#{Zbi0Mm_z{IURF>?{$Wm3BBOIl@Fe+-Oj2st zD33=ao^4U(33QENCsSbJT_Jyio%;awN;zM-YMAus%6p-!^cPl&cGlSzCJgOG6}`m$ zNQEa&@)`||k&-7dthCo*ra|kNC;HrEcbr3l6C6>j376EykbjizBfW|EoN-b>u~C&L zyn_QU<|Ltw8P+NHerI+BlzY6vX~cn_7WTHxQ5o@B*_%;25vzV-YACJ^I&>PpTp_F z(A@u90h{G&XuQTjN^KY#WDI0&hEF(@8Yi!*Q?D`e8dR%s_0c+9g)T>_1%gD~FCadB z(Io0K{aJ}op|2=4rZ}AUwVFn+7Zr4%)bs)nwf*{7vF(Z{9&yBql`EGlTC!oohP&^+ z>nA_`(dxVJL0MiAZxdcOEASedL7i~aMnX8-6g7%oZ=hahTl;P`+ngnH9G!Jkll|X- z2@z=#5D)Cubs2) zEbi|ouS-U`c=SyM_nO=Aioe($ca7>$=3H4ZjqnK5sLbtNuE+AXLSWmn+^F>m*uYw$ z>cHKNZt}*9^iV6ejHkXnWavAP^sXDfHI5Pa3WbO;9oJ0pp^sX}#{kuy@4~r=?cA!@ z95cP~^;Es>EYJgpS+u7XfhsR`K`f`+3f?`r_aD9RdEW1DFHPf{VlGQlQM_c+2a_{z zw%urT8g*ktMlnRMI`|TD5h1s^R#aym2B8XL;Oi zY8rLaD*9kIJe=_dnv6@iZ>rtODUVs;$=Yk1pC9hj{O0^vpF_aDq-8T_Ej90P3e%g6 zU0;})!zeBmiY`eF6)3n;UfF!n)HS~=X&^I+TCfs;?{|D-w^<54Zf)0_HJ@5|Ac-a-?lA_r#H5 zr=9tHS2=ZDp3zS~Mx-k~)_%5C(f7OE&&trYbzg`2*kXg(z7W5kyDHaJ0d1t2VZSBt zsw3C9hYbY5ug-*L%X}k)n|~B4b@4vJ>_`qvE;SjG4Bi^|*i8Sry%D^~b?$qFf>iCi z@r-MracOmFQGH=g??>%j+8j@tiSq9L)%)#X(0E$7w@jXVTds-xUG@?XPnSaIQk+?0 z)Q09gl(uYyqa}4a6`dbPFc5#Z;`S9CuYW!uYTDUIEoY=k6k1)ZauDew{A|SW-&(Vv z*Nj+YjS4cYGZ{Vg()5vY+jLR`K5I(_TVu50gVAwUGu6pGP0`V(5Gv@X5P|rM7~eF{ zE6jw1S9qytba|aFvAp62rql3A`A*IXhH%Ei2K$)dB{p`Ef5#%7K+spxTAx)yyL>qy z(coVVpN!?ErXS?$!`WVZ90-q7Awbx*;n-CN72F-^0E1i|Cy7+PH0j)YYdgBV3Wgqq$w z{ShWpvaA{E%;M=6gBBUzO&xTMpg^juGLCuLsB%Q-uXd=_{6|^vFrxNH-EDoZ-iXsY zDb<_Ik?ZR9hFNqG$86TcZ0x0nQ=H2c+&M`{p+UUE20Dh{!jzi+R)O|my2eOkta-n5e@bbr zYlh`LR|Z#k4UK6=b}Q-;$w+FF*rKd=>>59(gB{EVkkg2`5^Zg?grh4A3isJ<;NOLe z`Pt}}>uXC*uZG2185T_K?-$}W`&bIFOjNYUd`>Md>KsZS&ps^8P|{tOnO6evB=-BcRMz2?Iml4;d>)(J3vXel{3!?6taF{7R{v2z=fb6jIpUqxdfv$42nW}%v{>QtMbeGug;)k}rp^#Veihq=ly^E9< zOI5mk0sG3kHM;fx>`b2aB$hb_MFsmj(A>!c?_LyVE)CT5c|;)+p7vx`gGV-AV}N0} zKR+b;lYOk67{rU6?H$Gtch#E|s!uEw$Jv)+ng*fO;v&fC&P{!mbMeS*2#ffz+aGQ$ zRNz7KI@^~{9#Ba0k<=~3z04_<~K%!*J?WH(t9KV$d z!>JM9#7p;6(60T4{Ve^hVfeB9C&t4U&=eu;*!-QU6W!gDdQCKwx9ZAo_=&XcLLwsU zSdpPq6vLOvh@YdfrD+Zm^(eFx|%Q00yg8cfUk%jI1V;-?&fXwPdm z(`WKMwDQ=N|Fccdaa^65KE?W>Pz3R>uW#p>BOoDmT+b2SNjJ!yc3czHQNy9bOR71j z2z@&4b`Dmd|ALn6iDZj<%x`Fd6|mHbT1B<{$E~20Rqnr=7tscI7#*JHLna<>93)y6 zoSlzi6f#w-GfH;}>3C-(Uq1Lm&i?kn8o&%W{`;pCPvYj#MCS0QR{0?_ZL?{>uSf!N zcH|#$#EbJ>)WWEF_(}fNy89BZ{~gn+T@CEm-m!Um$3W6_q?6w+ul;Jrmvhws8?aa0 z>aB74)bk~8taQ6jOkP>~-?Fj84%vB+aawVWP}(v%yR%SVt6m0e>2iLGfwI(n?TmMm z14vh|mPpM-Qil8}jLlSj+BHh^i!6qlvmQCcnglK=kC zgY$0k;i4_erCaXNwrZe;z?WTue>=(~|Aw!4L`Dy#b~#V6gh`NZI=-;FEitM zLmjr^WiJWx_XR|QI#YMFNm2a+#e5T81?m@~RWiEIl1V~|&duix9$-=a#g#MfNDD+dl%3M52mZ95H zl+2m~UaZf!flirTweQV&UlcvB9>DhtBq~?ojJG122Jkn)YI62)bT5{RNIpkrVgT4C ztCJ+1Rd9lJWa&H*KFMp`nWm%e*y4UcXdPugl?Z=6s~u*u%zk&`0Ye>f`5%kHup$VL zkSfqybOtKso(VXj{W1Z}9cYa4H^GD}Nlz9q-b<$J0WeSv4lB2G+zlojzOA#q=y7Bw zipuAx8co6~lfCNgeZB5qyKC%2ko;)}`h9Y@%;87-<9%*{WHdK-aq!|#XN8vOR52%4 zW;FLBlvzoNmf?7r=vjM7K^Q=Z^xa}-HLABEu08)Q37p0)Ob$(EmF-uHerP(YJ3@rt z1bWqfncMiLM#qM17%`oEE3-Onxj0xtOIu_4ZzC@K^dG=Iq-J0$m~sOoT+Rc>QYTHD z0E~AnE72NsxZojm+Ue1@S+3Fg2=RpDy>@&(C+`spG<-9A`Ycl0@YxuFY;h*tGvWUN z;|`HOgQzmZ{6PW0%dRb0LsR~|1`U5@iYo8!wQ(G&S+J@-pcH^89&0Yg@MyMjFH^JXmC8p=WPD~DN|KI|HqcJ{<=a)=2UE9~NRWq9$7q)J zh5DP#=ylKVC$P^dw62r;^c-@uBnEmY3P4$u+$LmR}>Beys*(1?8nz6Koxy?Eg2dc%lCh=FMy#Y&kB* z#$C$|X^}4RPG4%Qd-aW|##ZZS>DH;8e}z%IMsOC<2-S3qPEIuY{BB2KD|nD}jXZtt z348X=kITx{K!vRh+i0ocnM{dziYGsPU+(|oFeeqVBvCwGDCix~uzFNR=Qj3v{8>1{ zX1(s`Pt@IGqnVcr)+)>mQ-@JRJ}QE%&3>;NJq)X3ur{UbinkhH>?~RHt-nQJMakO) zI&N!}xwJ1Hbl5NX6q1hLMuz^fHgGZkr_@^U=NA&J{^03jXCu8XK>VHACzHVru+zuH zC$}6mvi^7B{Jfg_Ns+x`a16DMr^6^oxyjvs1QR-f! zyRVf|Sx6uT8n1KN21^cfq!*Zwfe zbtiF(Im=a581!~jvl4r#t>O47iR44%Vs?>82zo59TIaQmd~V#%K^r(mgdtv^OH|ft zJez{@Ngix~ACZb|5z%8NFg^{Wuh6d#@|rcly4(m<`i7J|dB1$@-~j<}QJ|Dhct?Q7 z!Qb^7jsX()7%89JL?-n*PQr8>8)gE3s3)&*EM%s%5$@olIs9Gn4)7AAZ}@#3<`0H$ z+lY|Z?LOR97O~7ci#X=g2e!q*FNM9{w3VSksD&<6e48pVS{9{b{}Qw4Q&42=xPGaR zmlI0*7fytyuWQYgx{5D6?Wp07$vk~ubNy-AL#pz5jwaosPy0oP zbJKqlBd0L%L(1C}}rs;i08p%ll*|jqVJtpFn1hCu=~nwpARNg%0fw<+I?l5e`a8O8m@C z^#hH61HFq@UG9V5{OqqjV~xk3$d(h*?#g|XNw5#)$16j*`>NJ2+jCRm?N0s-Ee1Rq-phzF@qnUrlbpEt1Wo-*B_|ik zhoi0(PcT2lesh0-fVQ>%yiePjm2)h#`8J3En`CD8-_m4zzK7Jx@a=-u@--~#~gkEA8Hf#|6J+)DDZ+wb=8T8M} zsaQ7k?8)@G)aJojqQ2(qZ}hxpfxG8lGn;#y)8&E1b3L?O;GW~Or!_iXN7{G7MU{57 z%G=55FRvnM^o~7fPE=Mo=H1Xptt_V0Bi~l$0ae28K(;;V~nohs+p-YJP zQ~_M^HtqRW3F9}bu9PE>0`-{w9B9@#MiaG}aCkhq;V-Eq!rDd)nIvCNv`LvnERQ|? zMBUIJkU+~4zFc5V?<4x+dvx-ECysGy~ z^@ce&&m}=~my2JfLZ0%JZ<#!cB$i%#TYzP9Y+K*1^kgg&3#n*6?QU#82E#838k5E2 zypA@{c;d zn{nt-2^coc-#;a0ixs#)`k#F?Y4baFd;1;aaql2R@~oaJt(F^QJ&Qhjfk-N#Q=zJ$ z!9Or6IBSzI3Nus4D4*=oq{)}YwpJT2b4Y!i-KFRGujs!0>m12#X-b4tK7ZBWwjY>w zp%bk&`t>y%VQANBr~BW#A6cvE^1m@&jd|yp){FnDj(ZqjaE8mw&hzHVE%Ez`9)p@Y z_?ku6!*YUZ-z78R)iJ9po=M%izl-Ibi{e%BD>8I&cVZJzXCK;8f+u%Z@O=|!pUtce zY;o`XdInV1@6UZ-9y9;uItI-YQC+;3N|3VB@RYTGshUCGN}u)^W81~s;-eG;4@RDx z-mAP}Zr+l6@Vl}sq2w!ZTD9V^E`=9Xihi_)tFB$ot$34%kNT}o^}v+#(C#p@)OgR&69Nn3SA6r`<)l3E%HN6Jkz%QE{jOS z?8whBZ^F{C(o+9uFGPQJIT#&#HUX2ChaX#HcG>-1+umx)_&=n;33_kVCG?rc@l6EM z;FF%$KsJdlhkRd&)s>XL_ny>rr5d`5*)3hsj^~Ppdmnw{PlM=&Z5>ckMpay2hqHe0 zeF3Vk5JF}m1^jcOlveo%-rqV}aZtmi-;ChvcjX03f7&RHw{-uz;F_B_9<^d`^vi=b z*Turcv7o!xzgPUgFhTq~^!R+fjkwi(W=VJVC3#y(DCjU*<9(}|+vyMY<|#i_Rx!pB zT)%|8NSJenx!*f1zJ*C!RQh8Hn;n-Nk)(&OJOsmFrXv=y9OI+ctsk7~?}6DZ8s&Y> z_^2UTChI)ug#8JDW}~-TqJy%CUajVz8m`i`c5ezk&Qqq7?>EI_M7JPEe6^B(ldZqU ziGIyxZ>48t=A%%)iVKzD#z(noY*yqkPm|MUmn5s+wobXn#w;r7i`;3vZrt*DRZHvJ zGRUCCftc9o3NgwQif3(sz3~u)quN3&*d_{HMieR@K)2P};jLRE+rIZe7V#o1ah(`3 zfAjClPr^22c@%d4gL8iWuk1dQvZhgNc#p-@r&Q(pyl~?vsF%|xP3j^mw(QsD?txI? z+p@I>OLIi)W=6Dzh(D6{&m1Ci%b-yO53k@hu~eUc=-R|G3hu0`TMZqE!j6NXD&Fj zZpVqAEBjnZ?55XZchabZMjzsZ0i1O}uMYTieehgHXLRqb8h6tH-+6`pk{3RHl@m6Q z7_^5^uux^zlVY8j{dI}g9v#6z_}wEOmIE`#yBH)RLCCl1P=n1V0;#Zzby|{wYGN$$#~a5j-CM^ z9Ioxng?qOWxXx-c^?pUmu5PGF2DY@7)iW+P*1K-#dMg)t9-)^0QeAub?gTY&-)Mwy zShW*qThVc!4b?sl2d({}((kalS+LHy3}W?#%W|_3tUypQte7=oU^_80Dv77V@A#75 z=wg=@dbR28$mP-O;zm$oxj!jKC2^6768D^2@o2qDwe|NnLHOa8;0~)bDYX^qrik_{ ziM4<`yfb^25`dx#XOETs{A2(7b>FzZV)tJkTGq2uSnIISNsV`5hUl{MfQYWiT`d%M zQBqp5Q&tr6z~l?j`|^lxE7Sa*;|eK+FP#0vV`2p%z+7NEYj}!=-(dmcG+yVOj`#&Y zUIw0k*~3tUY!j=rjHn=9ChCk4Tm63045RX46yY;!*+Q_~6am?(?e<@7z;lW|{G*Fq z3xfj;ZmFY6+2so9r_OLRuTcwa=YAoy!wYFe?KLRJ>Ww0#TK)#G*W1o+Kk~O<5W{iU zH{^YV>0g3>^B8qpbfB6MU13jK0AkcI0Bl78<*BYzve5l$hR+kx-W$dyJyd^Qtk){m zRCo5@=oEY7;lex{PWSLRPipC`S;n?XxHul4L0B?c0?&dR-JOw6J5Nre8c0*qY0mFi zr*(S4#j73N_y5}B(bdnm>6Xm;#AzR|&gHlsjMfT#or%NS_A`2|;w>|e`6g_&D=aYa zPqKS_vmMmDgCVi_rdi`+ktf5{5XxGfi86AfAZ~}O+rFr7;3YXLTNj2#AaH z*Btjco5%=OIPg+O?nyj5$>qGi#?%&-nU976K}Pfsl_tQPjM8Z ze0Jgxp>SEjlu*a_uCdD=OsXHP=P5!puy);=-{PxN}9{{DQ7M4h6P`b~e3IN2W-MrrTZO74Xk%O^kUr^Fw zS?VhFEOKbcunv~atEmB#TB}?wvN-JVK~e{{UQ_Vh*)HI)?3wGh-3Djk3OiKDS3GL{ zBK%cI;ODcA@VgV@ly{lf=)#281a)Pd{{S(u&%lfnLDRuOX(ez?8IaxqgrRb_+_Fy-^wClwCrvKfN~+gQ3dlLwi3q)k z_cs%zdqkkKGu)!t4CTY-ozzm?CLA||={Z7s#7UP#_~OFgmF`EpvDcQXmgn32{wrF} z0H73e2!l2GaBj;JS_Bamc5xuiP_gLJeI!9>9*h20|&|OgGUApcG%g*j>~-h4BAJbsyqCK*DZ4$>ny}8 zgzV3Xjh(mY2A-lL%?_u_u6D#=mn^8J!h0ArboZ{O7SVL)-VkjKMoIvm{pK#e9z*$p zZpH1P2^<^SXbih*$)3C7q1=QAoj8xrwcWZ!(etykpIt3E_|LVjUKNt@RWX6UsD*ey zwjx?+#{|%+$6T?X#dNWhwgc@-iK8kXrdq9D?1{&2+hK+yv}7qCU$alF!!Oe9@Q&3J z2ec1NPP^%2f&s$lut&#Td3?w9&ECglr&bp7e^m6m+sW=UmhjhyV~F-TKY)zIs=8c*pDDt{!IQ(KN zRW?$_8zuV@;yDmj=klkal<(vsQMBYS;@W=ff#Brv5tr*%&QoZyqIL0Gjg#}^oYRIX z-NV<`7vLy-Mui^}+Lat5EAYUIaN5hvEz{6RtFRvjwcVF93DUV&PbE|ORz>TcBzL`` zKW{XvuYS>PrQSrao<^v&C8S)s7~lO|M)ZT_5xS$?uB0vn6L3;_lV~raSuNAwlRlpu z^Iz>P!q;*{s1{_LpTQm&B<(8oBbB70 z0+cQ+NxR{QM`WxAA+MV;<8pPY3duINW1`L*K5U?-w#w}h-TYTp=n2T_;x5}ftOb`P zz{?U`BRdR2O@C6tBN$CqMRQ1XJ#GjAkazZN|SN4PuG)2aBGtjZCg|3aJ<*o zJ*;D`=oP9!bHNnp+oA!?8XBHdM0nOBLT9gQ=ml79jQ0ydO+GvpXQa4HVUy)_xuA&! z6g<$h@gyi96vHN47~lOb+mr&d3^j_we@J96IdItD#NaJ6i?j$HgNCC&mA*4vAZ#^j z#ua;oL!WT*G*&gQy!B?sTIP^(woG_Fy%F!PcQ$8@?~VKHl}TmWL~j6(wJL#LYn`C?9O61Z`Jz$C3|i%8G!@k(%^jl*CT#Qf*c+HyNJx?! zOqrjFMG}n>Q)x-G+gY<+Gg8dPI%npHK)pp^<}y`t3h38C^E1L1A^jdRt;X8Zk2BVG z`NePZXM?`PuqVWM)x~^6QZQf%m@2RyPx7o6f z(f)(Kwf?sqpmy9gDu{mMdznT~5Mj;JD>`d=OD#xq0GwubFp_q+0xNB8j)T#_QjWw= z`m5{F5rgVig6dprpFIf=RX;Aj?W*;XFW;p~7fTwKD49;sAClDvJz%Ll-HL(>^gwD+U7dlu*k}wa~B#YqF!yM)BafD;2z_OwkBE{ zyw#fxTrB0J2-+p;Uy|j%K5JPha`Z6Z(!J+lmZLtqrjktS@{nAX`i%RW;_HUQX7Mw` z;s{HOtIQBDLAFamJSKl#KWUwVR@VgHrl)Lh8#-6k zyXHb)O_BPMUiDuFNAEupEN$X1nvo9UFTGaW+mX;dbzT1ycQNRPzhlcFjLHA?VWsf) zc1ac5$0y476TidUPEc#5AIsWE+Y!-s(xEdS%J5 zwj5lf3j}rqt)*y;h@{Q?kcAP8z0>klXqja|Mw2XR^$>GGDBpX@7sLu|2D`Ax3wfLg z=?rq|B-z3SgYg}cV<8@Fd zGSJK3iTOBwgQhs!)t-#^J*?c*7Jg+dw4Kbi@#I)fAf4f7F)vNhHAjV9KlLTA?}7E> zPOpBV>Z|En$1{{IH>1_DgS2(O3~pk>EuOkVzkgw9v;{d?U%>WFwkMLp#De+h1F z9W?ekJ?Y#Ub@W5-HS5*0gqi`l3=k@;07q><1(V-B*M(q8gGL)K#RVq(Bczn5onC|I z(6)cGZ()XeD$EpLOU!QBX(t8Nf;k_q#0+nP?{3uQ%1wy7R!+PdlRCD(R4eSwE;-yy zL9w1IZgW8D^?f}sq#ql`;$1oAe>rU6(Au}P>^5h_g2@WQ`#F2HYHdP;xjmc%0uNY* zY8YVn5u*+dA2b7uoAFbA-v>ga%1oySS{9$O*uL|1dURe2m^zq3)&|*G{d%cULj2eN z;&8h;;7Wmf=I;}4KMc{1SP-=1 z5anU`Z_+fj3^08h*VC6Zn~sLiW49xRk5k@W{%>kw^2;zD(CM8#^#L+a%yuNq(B~L% z6rs>y>^>E8XB6E@45GEzj7bwUcG>6f$09?3ocg~u&+0B8)QSgeGj@r;<@DVl|Gi3| z(L=j^rjkauGnymG5OZh(ZFfI*1KOhASj-LHV_yC5Nv+G5TwocBiP1Ds$CaAxbC_WR zY85@7wYPX!A+wwAiak#n=7$|k3XNg@(3wl4{u_tP|DxiWS?_0Z#H=937Mh$lC-a8^ z<12BN3MZ-+ey4h~^Gc(sgfiQlp1SCyV>h$Xx37A=#Tp8krSiMJ1Bm(N>p2R54DZdk z%qd_=UYvuGc3G}&6)-s(!u(eFT90f_PFvx)t8sc`&uzLSD4;*`$4s&E?E5b*!JC&( zTIKM5?SBX6FR+(X{^Gi+z-c<-Ud#Vq&6a~l>!F(e70o51Cgc|Q6QSq=v`VxY`t#yY)9dY}2?2Uu3*HPm#2o#bN zsas+AO^U}I_&u5600B=qZ0OoDKoYcXLc|0bsWOW!fa8N&kJ6vrdoKQ8Zu%TKpG!L7 z7KgTWc+H0VE2_ayA5J0(MSc@cGYTB(HU07#ehAxrT)LI>*@M&}pHyZG5#*ZH9dFL6 z%)!qXSA4s>N`G(el@`OF(2byJl6A4Km12e8IZdnm-^v7?dI$su^G@HqIJVVa7m}k_ zGRI>p_Gdaiy;*yF8;MfLzPp)mp#6*IB62*_$G(kJN3>@3GW%p$wsTf@#M6y^_}A)OlXJ_t$n<> z>3E=Sb2Pl$Q+^-y#pyi%T4OMa(X|*DhuTZO&Tgl$2vX$z-pj9I_#^1BPK4`y!t$er zE1X?1YvMV5S*k@*yN*XuBv)fIfzQ*yPns`rDMm! zoaB@KGGl{~AfDS?PAVrt2t3W+Zx{ub{aloby> zR{)orcWklzfp*m@|Mk$kZ`;sMsanA3_o3Z(tB5fzz=nP1AgwP+``YJBv$paqZ7B&t zy&-A=MZVB0JZ?aq`FzZ18r$dBka_BzxTQ7(pD~EJwzXY6VDIm2D_9MrnZ7h>rv0)} z)G*E;=&W3Yo?sgqK0*m0OD=r?{ z(|S8kJ*=CiYWg07XC zyJ9ejy9*Oz?}hwnxslx00j1d6xlJ(UIUcL{$u)-$-;Y6xIr!;16=V=MQnRkxajq?p zj$PgbBg-BArV1Yi0P;%-HObreoFml(9k==X5R!W9#dD4hpl)zCMP^dvym?>zGhkBk zM&YAb@qP_io}VYNqJb-es21B%LSl@a@d-34N*h%i;i1&p%s`Li5)c%72`i>So;-fODj6($_xfMGl2~X zry4u9!Q)_@+K1QlbxE*`KN^hKFmO5wio3C@jgmd_I_(02*tGJ2amX051J#cBn?-Qc zhEzo#`v*X_&xiT_w*@NSY|kIf6UU<0GJTGTfVw71z!mD%&uE?D#Th^hT6-Jsg?x6N z=IVz`QG<|{sebzj47S`{bFtXls}@epb?nR}8G1*^XzQ*PAaU3S6+(2~6pAX1da#>}Z&wg{@ojAt@ zQAwU=kvg?msaUTkv(@*N-*iGohGL`M;FMr-tuo=m*9luFI>Z4 z>E%Eg?Oem9@;fr)!@bszIhR%R!Q9YK{XFN7%L`UJ-&zE*7Rd6Qi_g3OQ5}<=xA%q? zwD~?P>niXFJ$s2)cneWsv-y)hDEm|IFS{9kX7P`3kLjRL-ZH8Yz843<^|M?)@EKip zNl5BB$v4&6>q!Ggr4KpLh*dqkzvv1r)n0Y;B`AGLLPuElF}OXiJPN&E*e)F_<975J z%$7+_ZLyxY^)Oy@kDY^ZlGVPvaqGo1hiaDPMPE6 z`B2M=+7**(^8B2wK230bd#{O?XA<@<-+}C*kd;z7Mj^xYpiP|KhF{Kc@N4B$%j53lpdL$&=x#C_jpuE6#SI%bDYNC)qA;$ zb(=R&|0%G1@k@{($=eYUh%J?rKfV7f@G;G^uKXN=Z|Pe<8W#eT4ZGFeL$JrD%#@FZ z5w9fvs@<4tg zxb>l0FEPe{rQ0R^g_SvRt_aAL*Uhkr*HLvPV4!Tz4vHkbPxqJe3y0G5m>hG~z*8h} z?SPfNwnVLRovp19*DJ0U4u8 z0~C8P0GGVfniIU==QK$V@*i^?uQopEK(jg4TN6U zw)bIm`#Do;xIQ=AO2#(~EMHAtA{>P&_)R*N#Vvb6DSnXp^OxJfwd*tcxk?!BGY_U< zT}P@b#c>#LKhqDhiS<(-_|kX3Bn@@$+gY-c{r(by5*jw58rVwk4M>hcfc+;N-tO3L`;_P_2=Uy|{? zJuM?J93Yi}?-p>N;{ovPS)Bj(ArAWDO()qOk+w5ev!?2MG*HjF=aAvV(E%1@4RCC{ zzVt=fH@5B6S3W7gUUJFY43TOx*P&|o{r97GD{p9m_X7QZue$BDo9w7E>M^h6#f02( zJFp|f-`6?UaW#{zcNGaUzR3ha`2jHY-?zfM@o|5w&?a$*t@>_?e8z_n^;Ea}9T_~o ze9fV9L27TppDhG^667^5ezZ5U2K|}nK8{#Cs>;C2S8lB*g|>VI!brH4jD z`oEbf#?!6D?QPnD&DG7iC&+IW^ar!cUtMx2> zk@99nRO!|S0#?4x3c+Xlc|_5_j88gXmgQ}k@w_V1G*n)}bVj25t7jJc3*45h=s(S! zk3HeKg_18Srq9?X7$G+E8G96USr^^g-|dUsllMJ~kqMLR!E}LU2~RUqt$7-b2d88+ z;2ekWn$JrH`1MEIY-x#k6`StM4-4tDYn%nLMIfW^ z6L5>^WZ0S-BrHh%DyC)*^eI-01-)xA0?R2O&L`J_haGBt}MFJigZQ=RIrn}W=qm-kyPliM9>xD2rx%b*` zz-szQo`@}UoJ?OXe%6j#ag$ag=cC)-GTb<@{DeZL#3n z+GeM>KHJCPAo1vv;qU$4hlhoc@dHO>JXjri)XsV&iOKJmP5alST7mgrYV!L z-T=|C&juIBeItUkeJxPLEVpKj7^!l-sG2rt38>oy3&qi8wT_036*sN-*l6lXvEDQJ zNyc_Yz&v%(Jrz!(@lF-7m5Uh1^yPKZ95zSqDJBbolOiRV`>!dEF-RP37G&t7i9-Xx z%SA51A;5tFIojmHUT}e({i;%5)B67iSA$9VT*DkZvN0+OoL|j6kS0Hh#1kjQW~!~V zp&NeF%Ov3-J5@rjZYJp9c-U>VpwjzXO}?PHvE6p2`>SNTuJ*np zpBo{EhHl;yslHjk^(Ag%0zv9svr*6Ibs3|Rg%t^2rWUY=7&#LiI&<0N(mdWs7<%_= zWsobv0L4B<6%CiPlgC6}e{5}a@B#B0zKDOU=e8;o{3*SZc|36?s5$rpzuIl(*ITLT zgmfP{5C!x=r?8#w$G{e*F5&qHvg?#HZ(aXI}x z_!(n^VxR0bsZT#hj3ufq=~(GR=A?2`jjK4mu2>#qXs*+1V$Scy^L;Y8@K?NsM7-ZL z?KiR^aiVQ^(rRlP>6kNxoi{&RCtw7~Y2Gs(rGJ-&lzGQW2Sb**;3(y?%UxxId+y-m zY}s`mf!ajHA8oB_+0KP2YzGVSUQmXthpWf0)UW>uHq;y0`HgQ4!8buRtW%~;%(1au zll0VhaX!m5C(aWxYM5&!po42Jb=4DG^Vt)R^v~N(*_chR=Q7Yn9t4`r)4&)~0ML3F zCJyu6w-od`*UW4H!W=cs9M?R*lv7u5|C(mBpD*P-pQC!~ujp_z9BgaUrl?qihhH_o z;-jCD&BcNj0LGrhT~Q;n>UiyM(_FD)nG$P!#28Ex*wv^oQ(&I9Re8$n^q8ia37@oW z?}qgFft=lm^ce zM?O!6HpOWP^j?YLpul*G77`?hKS4_jbeY~gKK)<`{Gnr=rP$P5aBQitA%%bxV-J0BPscROZ!%(75y_7g*vLi20oJTct@C z*;?+)+AB^WJpKRzQQm|%%mpa$2G&{5tk&QW`!oR=J)hRgP}MbVpxbuKbO{z+s{V2a z3|)nCd`!dxB15B*ukGnh3~P~` zY&dsF*5EUZTHWe$y4@nw#tw7gUF%#j$IaraxUO z3(m5+KT)HU(LO|Yh$PBPR3AP`do#|;@WDbjceTeiS)Jc%&upZOm-zz++8|3LBBpDc zA}-+*CtV+(h>l9>($UcB4z+6Mp8|YqI*LDsp%boA`r<`J%x{Q^Ji)xQe$(-nNhr(7 zj(nIIyQlQ$2NF7_-Yj1QhR_v^YWe-Mp7a*!Rz||dQRn1e*^zY9C_z<5;sS`K_f+$) zXxZ)s!}AyUo&Gx{qJ+QwUc5ZtGo05^SbmPcieJj;d`3QG%96DDZE%DG!VR6Zz>GYxGvnNJ;){U(U2#iiadt0+r1*=bsjMq2lL?j>N> z<2G>p<6T)fBs4knAWTG2J*<~^)0e4J>PLppC~TP~?@ISJ`O8&3D@t?UJcU*w>^DC? z+qR!)LOSWT*f)pPJ;$MVc9}9?sRv$}*o{{^Ykt)8RXB2}d4}k-hsi5)jtw=h*zAi0 z58uS5>AUzv*@g^Y+8HooS2?bW4uW4}-ahuHTfASd@cCEtWn}kpsJ*A8k@;JvMe&n| zr6mFKSH-5h)eH@-^RzIZ=!gB@R8!qTf^Wtc4OQ@@3qG1k*{4<;6B1HK$?g90b9%KI z744N9M;7kYj@!m^ z-6abzY3&@SgiV@UX#{UR8S?FS4*#jb44bXEdWE?zlsc4B{CBp^kdgE*-0HxI_B!ms z%5x}w&TrlWfcxy6>+sBbCYnQ+$fk30R2-9~d?H`WcF-+a%KV@i${;TZf$Ov%UoEN0 zTyANqNhtWX&w@`>7X%ouffLfn(dxij@F#$2jgetq~`RFA6l0Mg;zkq_d8v z^MC)i&5U8Xa~L*;VY(+b-RzQ4cmaG$u} z_jO&b*Xwz4(dP&2(PI2vzMlWAoG(YqMBu}lc()yF=+Zj#8U)BG*|)=CY-&mIIR&TtHgPC&@q1;NUPJ5*{{9|XoG$sqBiS=bhh8zIA_83}?HisjP1dsnLa!2t<#Qwau&Wk;%Y-wV z{xAd*Kas-c`BVq@?@^Z*+b+zd<6RMMT@N2p722Yd=^Zoj_4;*xtg4)ZVg(N*FF8)C|Ks0Y2c&(6x`WVm@# z7v!vd{)Hy#Z|zu)bU88@S5M8_eu)~mqMWkJ4r=r#5mg3Hze}poX@w9h|SMW~> zMX4$|yWtqnQmwb9cuC4|?EGV^YIC^A^YBxfbDza+Hdd-6;c|SI_2&}lh|W5y_y{)8FJ$$yivxGt zldys`SPe~S*FhWgZ$ zk906xZcnB7_>&7pbuRf@YtcB>9zQ-a?5QR1tdW^ z-!Ug*c3%c=-l{o<224C@Q!GAj9_KYR{E9VQSThEhY|=dz;IyEGSvY1E#*uwsBOdOa zciJJ|x>e3RA9rICi8;liV0rhMIDzV>0c^nKb6hsT!Pk4*^LP>D0pzm?^1LQUk&cqF&xr(oQUvw?k z7d90-Wftd^*@cZ)qC9A;qj;Ir3fjlnp{U|<$Efg{ST`u&s->awqJECsM<1{}z#4!8 z{OZM^ETzRZl!HZ}sQ;DS~!nN7C?I6|I< z%e3E7zMY@Vbo#uar6niCWjB-Q<1;Px3HrO8V(y<-JZ9CMpKE%To5Nv}NB_xw#s!Hs z?ema1K`Xw0!U(Bckb*>FVL&dwmP~<(byij~U&g;@?eDFWGxjAPhEsFw%NbyW`f(0A z<+Yv$S??14*X_)8KBm%o5){Etqd&LRV90Y`PFkz{Pgm^Fhg34j&Z*&KZxBU zT`5d8Cqpq*=F5dZ=8OC9#!5Rs>t!6++(EY zbbD>?x2|?(Oc>TODYE|WXYWow@oHX+ah%@1mmvEQDV_2M*W>~g4+!aLr+kg9{}-*& z?r6{O(wA$}yVVwGe1?jr9Vehcrbs-KF5KQASpxTr}qFQ3sUvO(>4YqC4!UB(JFY-8tRj*KQjLz~rnSebt60ZnI@8m}6 zTL)AxG4bx5Y%GSKzpJz)u z&L0@u#wf ze;YbKX9We8SGMwo zzYE-%Q6F3oC^>uYJ>nNF__T=etOD@MEXMdBVmWP@H2m1+j&qO>doqePvnLi*$i*zR zSXvJw+I|2=^L-4prH{=%J7Zaxi5!OYMgb^;v=smDIC=4N{jq4SG7!}HXt7pc#cKoj z6VIVifpSCWaR`?eVdK;8_hY$#8UtC1l7FsA5Cn;)cV|@f(JW z{ZAvZrmp=$1|gn+88Jm6jo(S@eD6p8(J=3*=s{$)=dxWND?REL;Fyjv_FR}zaYhHM ziT?@I%8Q%6aAetn$T3VN_yp#=rNw)R5E~Y8v6$g=dUo~+)}bKI4Qwa-W#M)5!lcU* zI27HQztf%ho4P^5C9=S8RV~+#=6zyg-5a`JbOXC25$pRtO2BG~X3$C7)a*A_l!`U% zrNbG8=*)4mihsge5?e-t{gZESTz0peBCbzQKZ>#Mm{N1gsrMC7x2h@(Q4~IHvyL! z?Y>7w&zPFifW|a2KVqKniCd+fWZa_3&k+2qt)@cLoSYW_uq**PotnhP&!-EVEKQ@$ z57?*K6mHQzN7fh27aPSPrMGXpu5MRp*2UkPQ0)7t88!v)SeS#=z?HD`La!t&55+Wt zRKf>E8ZcNYVk!A9tYuV??N~SFzI0PJKWkNB$58wFJzOJRFzzJRHq^p~*+nbsjH2o# zXVsJ?!TsI}2gNL%MWQ0pb4o65#N-J^M0J};;4+1GDxVg@j;n=4_(G5X94W1K{6=Tb z)tP;X=(>#By3?k0<;xf^-0;icw}8JYqSm)6L5C5o^_9woo?ly(KZbgKtT{UPWQdl) z68xOML^OZSdpUR1?c?txTTNL01VI*gz^@Z2D0^mdiD=++_J2g$N(O7N!Ms$9@4toW zd?tR+M@M`~5_v6Dv_E+4FVGj;DT`_*SzXyXOiG0!$r?XJfvLP)TZF*3s4?QfL!Zos zhcw$wenM#M)l(YuH%4qg7ao_;L*8Q1Vtx15zrQOyHszMc`d;9S8JXUO4s{Ug3;evF z`a!Aje);urN14!zc!?mgWt_k8kg}gCklxCPa2KDep>25y5BhqPIQ|laeayp1R>yUQ z!-8Qsnu9s%X|vP$33nS?&S=Na_HAFZpSa=yrZNO_mvZ;=ReWIc9yk+P?S@#c$Wz+U(Or8}pgzkM z^!Rb!fTzyzeE{Gt*O`-7>0OZP7kk1F&~@jpQ!B(57DO*Q#r#P=&D?j~Z4rn)4N zc*<5M`fpnH6U&8H1Dgxi2iYJ0E7v^U?~+qYlHrZycfAx?M*Ftro`pQjA4ywtf5i1% zZTfq2(Ss(s`3Jum3iw3?+V(ui%k+tP1a`m4Dw^DUBX7iU{oPcYaIK4Xa$$@)!(qtJ zrB^}FUOQ)k3{&-oFmm_xNJSxn2IRt>N4SX2HLr4B-WA}CK2BlmpbOg_^@mEV@2UFs z0wX-MWF;1Pdeq+y@e}`C-B1GZbJF(rxY&e^z?Gt@md_bAY$M^1Wn>GT^l7C9DWdNO zuV}0vQCFI2-n90pA{EkNol+jZ|K94}pbIYCB7qWPK#EYQaojKorMbJX5j_AbeQB+C zFH|Ax;I?b01_bXoe%|)frL@GBvoK{&_3BsClSt$%he8={CHoQl(>)`W`(smWEujX< zbsA3De;nl=e@#HoW(*Ma_uI3k${8oOWqx`0x8A#dS{z=1)gKrj9QIM~J}{!@ZuPNU z-pJ7uG6%W6?NT*2Tscn2 z6pW0omD8q%(yxFvY$j4(zstq%6Ut%B5Ya3N5oK^blZMfZyo*^v!}x+uHa1gB_B<6u4~gR>r3;6f8PfywHWdRJS}cY3gV!`8Lcbb zp#=iMYu~aV@W?J4LQrF;>uzFyR_*_#@a9z58;3S{o{HG7kNeZgB-oLFN<7C5Y_4j! z^@iDhmG3;Y#mrmf(kceZES}nR@NCjzemHN9942qLsijn9V(?Qe!3Ha!rdr4`azOl> z=&L_koHTD71f{cN>V3M;D2}oeJ0SCAXMq;}s~`M9E-v>*4Lz7RDRUSxZ+{SB`n{n( zQ*|Hu(4V0GcvzSAP1*>?TOP)ZMg++jn2Fx&v|u(NaW1*6gylRFFBZQ|FbXf6nmueL zO2Du%R!I~LOAy0`vmK-`JunKsem~p&Y)hG1c|MGxPatoed-O;(v7MqAAsciqfuj)2Bsb z(LA7H9!$C%7X5TMNxSLJpZ7UuC2#64=P?!2Qi>xCt=8*T3iUum!!>pj!PEDDWV}T0#N!!o+IX0Oj&aCiq zhW2-nDu(<^Pi$csh;U}|-dR?+)4s%pX*6ePR#D}>W0HFAV@jw9>R)s3S~%J4n>*YP z4G)^5rAWC!bL1ZF^1XA0Z-_!kS3}2b+xFKkO4&k+B6VAo+O8&NluuL z7#q`FO9?;C$--W7>zf(#nRPG8*iuXa@*G(qF60EW93LcE8GRA0G5E$>^^Pz`QSMkF ziBwwI{!YmtBfy9U01COZk~oZo19$?2GtOGe3>`+8Ev@qNbzIARX|JLZRO?bYUIn1Z zi(mAs^?UC;m_Sy0Q?RwmbU%cU|NLkP+`PVB0D;UUO{KuaXM>s(ddPE{^7iIg;?g3< zIeg{YFDWx#r_aP#q|Ly&3fMxHymyRcECG+(LmFW8b{P}u>mZ@1)c<66EqJqvgkAg3 zZZ6h3U^snj{vPCR{cAgvi~N+vTEbDYaFOP0P(L&(f<6zVv)3O~xpkkhv@DGW z?h}XPMgPJE4_70CAWvj4(}7vn<7Quh-&zDHRU+Vt7JkdpO0F|7uTPe6$?Py?M60-3 zJosT&f!xIxyBVj4JR*ZyD=a#2cZay?xd7@FIdVwbMDmqLIm``ELGsI>MxKoX9^V`n zZN!4kN0D9LJFVM*M-SeHJjOJgDWX+Ucxg;3rpNS4Gnp`Go*fHUOflUkFgsJO?VEJH z)~^LemI7+(M9FmBHb$#F1v?OxdSRAai?ttK`V?DCO7J;YJBv1^R&AeQGiXUcaV52! zD=%F=W=ObP?HvY}yuyu$<`_ix#FG07=+9;2Iq`k&tPC0GD{AbWpj*z>zzW!8v zxTFBgZ+{=6qHzs_@(zuC5efvHbX7*C;Zo8yC z#x^m^lx4j&w(8p#& zs7RxK#38KY_j=XG0*k-m=WA}72%gV)mS(F9hND|lBSEv4RbER8Y%<1Qc?a5!i6Uu- z-LbRCb*mC1jkE`humb14u?4V#Wt|nKtWc2MSBY{ym6+(P*fknVRL-1eopY~Yq(*2l zB5udh-7<@WpA{Djo$xxZ<8dGuRajJrQXvy2GwFDGVdr-gxn<^6U5$$Rh>VQCPNhnk z6xula-%ZrdF!8rKBzRF<3z$^uT!Mf0mpzD*5AVzLMw$z0NYa1`NB%uy~ zszu?@E=0%2Qt5sEPTRxB9CvG?+xHr}v==pxSBACFg6_<;xx|#B4qx2@tA$o~`!@0O z{_X(}VR4%KYz^l~#x{4tg9UyjRb5g0|A}>;Y3!d}AnEuzX_gmBI^aUs%)X-&AfEzk z!3ewXZITb(x1V-;Xt2M}+t_E~ZSuN|@K~l1W*a2QBSNFd7mlsVDUwobed&;1wXR~J z3i+2b&Lg1SlL$iXUnJf4LH*YvvUU>k{7Mmnp9|(|%iDo?MKgeXoO%R=IIXk~0Q${Q z#eSfQ8FOVNCK=XX$K;^z(f+@xUpPYMtb*YE?pKtlY7RYRlyrN@qffW61}4=r#UHHTiopg;Od z3{AjY4?Q|UR4~kb75>SpN3-2!RK;4%0L?A1R=|(hDsy4x_NY;9o#}$$Ja1zi)?vXjuUYBEwsuHmt6G1Ek zX^Ew*$359cATm5eie*Piu-gnjhXLl0>MWpac>sRm2zOfcFHvt^=P1UayX}|nVNbNR zaf*37Z19o)Wq>ECDuGJcE&yT>5a8%8P)}g7U-W86r#tzl8nCUI^)MU|us;Qqq7uXI}7W+fE-nAhA>7zk~Ut0Q%v_J^ZHuO^k!TB(H~EqM1$KzzIyD} ztJZ>B&l3AGZ%$PqhutyI3oEXIM{C-R5c0AYTUD?z_NkBCg-_UL{PYKuwg;d(EECaA zcT{W-hW0Zp@+JCI=aFbswF38Z5Y4dkq8*JFLa*4b&kSWhIxrMTYkN?v_`k&nx)MET z&HYhSmp>h^K}{RL_AROrlfmInYsexw2bmP?kFe=GsIE2JL2mrOp1x(+V4i{RKE>(_ za_Iuh@?a|2tY6)5wB*n+;8&M_E%H$>qqxIY zJIll^l@u)F`>%P3O?iK+IC`xya^ZusOw3|GU4q?Kd-Ch}3^RMt!F``7z3drJDkxa{ zpQnagB8c?lcivsZT#wbSwS<|zVuPENMG*rjy|_12GplhH@5`~M?#nM~qq}Zl{gl5vA}w5A8dm4KNtQc(%6R?5*k4;BEq{@jKm(}}cW6Ts`K8DU z*!w5@F;m=vf^My)xBOe-s;Z&ISALx0f&S`c`%6Q0PzFq@<~2UKQ|@x4aW4AZ9jwzM z2-BYDwUSDq&8&i6W0h4OTK5m$qYsV-C;D+&qFmdwTdic!__$?_32R%WVt>&crR^}t z3-y<2k5vffgtv|6`=wQkNQ(Gi^>Vq;!p=)#xt!x9?S*JFU!qN#DwNtgaVzNRuNqCPHHu0IlXmWqnUjnJ<;S!hux=1u+O{82LpR)IVO*G} z$dPVDWn|+(gW{CKy_b!_GP>RMv+$2=*RPSrX7)ST0BYvPRr882%c|d3fBA*sz`OMb zE}uCdgd2oU0|t`wf}yY7TryW^S=oyEMHam1%TGAi&VbC)ER|7>?Zl2acoIc_@(NbD zjcP>@%0teGAH`Ax#!lRODWPZ7Gta(xPAMO}dJ32kO1uF7mp!=og^YGt<9@0`dGjn4 z91QmZJ^m2j(y#e&=f4^R1|ml>pjvw%Sym53>Ta_hPWpb7EQM#0qs}7`=k?bwjgKmq zGJynpv-!|9kia`=(B(M(L^h9Y29s*C@4-WOBaqu;*9nub)98BCp6X85aiJ12Jkj)* z$iXH${mltA{3grA3zZi0xEdMB(K&2g+5+@zVqh|UYL92lrW_qDD z3z1UT0Ofov=y+tQp+hxL{V)0E0#*Kp-k zompT*t$=_0@h=eSx@)5K3Vp4I&5Vsh2u78Mzm9c_gax*B?L~#|Ppx7fjA7QT#5|32 zOBcR;-U3|6b!ftMAv*|N{nhcJc7roY?^l9PLu$mU5PI9>-A5ftSE4MFYO;^P(ZK8fnVee zv+VO@sxJ%c(Q2HW+sy>mUks7!*ShXPuQvFe?y&tt>e@x9!$&-GDz5(gSn7Y0* z9zm3KQM+r=;oYbx%5CA5?Z@4QucNU&Y?e-6^7}XVwsY#Z3;+7)&WRMf#oXwZ zzZUnqi{`Ko8=?J*02ciE?uSdxJ!dzY8+$Cj8>fe1an2d~#y9tOm+(F=($f3cLzwjj zr<;oA+lFwjxVCq8^4B;VdK}<;B3`<3!>A#`A^S*{&<1?|587w0C;X?5!giENxllSB zK@-V-#PUbu1)Y?Wa-!U~rCIQaaOX5Pt$CaQb@S`8h)B0l8YXl7#gH5P(RWQp=46e! zx4lH*{pJ+i+q1&H|b`ifD6Oe6MhME$}H8;i+s=av8D@Fct+_GM* z{7Vd_TgD5~m@ja%x#yl*s7XhGdK=>f@za`A1h=Vn-p8@~AeGa7F&Lw6UysrLqzP>P zZeTIGTI^j3r$)WkA2eaF4O=eEt^@rrOLoq{69!O3RvW!h0Jfv)a@KIJ9Q1f*0Yi%$ z;?&Qrc#_#Wg!Z9WzlvL+-S1?>#w&|%aK{`ObA;}He1yMz(aFC-8E~>$o`sF^OaR{U zFs-TbFbi&T3UGPD7yDL~)y9zzz1?@`5UgKeJHaY(3Q{EFT3fQ5%2)pHw|`JO&-){f z09QvX!VM$4$?iOV2fF&`xZJ>fha9#6pa!bm2BH;K2eW`@V=E!+{$>ICP>baWcdFlr zk@#b<1&A1pKpYlG$2I|Q@t%7Bhls3z-L5`E(6PsjS-I~K^@?rHE)aO0D{Z#BJv#!l z5fWu5Sk0dI5DcR$!r{2&*7^sa~bV`hU}4_08e z(MGY55r^p8b6N66h6rPWe`ghAx+Qw2Yxo(ax@1dZ`O4Jg&CW+o^(#$2m-_%9cr;5w z;^8Zh?rpi7DR0@|cj)w_NA8A+9M$j!R*#9FuOR%uj!S62_xan05&Y2uC@sWR+xG=h5UbCU#}ix?z9LtSxq>UEXprshBnr z#@2S9SI(I%A<^6Z-)9KGxBR=PK@JEX)Bzk)?z_UixD1#I0mtyOU4VMt`3!hnDCpx^ zj)y=g@4|nKAM=l#{`ydVl;tF#FZ*hicwBk7cwMIQksE+?5DgoB;#ULXoBzF~EoXz& zE=_LN#-4D$F|o)LG{|K!=yp&S`h8SYnw7ty2Uh}Z4?v;r&h^_#Q*KyZ+%}9jnd(K- zizcY}rr@sdYWr^yB={%6wP(nB7$kcnFEc3VECOcgyW(An%e7J6yew(Iz#-|m{Kbyp zZUG{hG&DrU^fsC5S3{eX905#X7QdJ3dst^Ujc%W*A(H4UOe^d{guWVDZTM=|)A|o0 z3a@C*-W?-r2fjINc;-X5T9+XC4y>C9SG^6pqYa~`DF3KMrTh6L8>?jWr6PCpGnFGn zF?h=8k+Ft*U<&^Mxc(BEfoz_mb`L;0ie%s=3iMu}G6uATC1%X=KH|;0-OI;WP;Br!vXW-?s2W>q-eP>8HTOg!G?Hnebn3h&?nkIhfK9(`d|<~`wni;2Ue#TJ;k0OgIX6Hm$q!mwP= zG^gtj`8XQyP|m=rLJnNfikkT9w^Y2*Y;Smle^O%1|N8MU)m0q5bYV`&&;sg<moy(87k~4{q}ZDpL!f zrX*Td0X$otj9!E5nu^E~WL)Zc9zfiE5q#;m*mA4gM_28=k$=;K20{+%@;fgpFb&?{ zp6iw_ngMqDI!=(^B_G0ntl6AdQ@ei2xfu`u`9i1KT>`F`@B?mwuS8!-!lJ!_q?XOt zFt8orazA6=)dzURE?!*+1%{zNSO!ys+85OkC1avJ_V1;pWz4M`kSR(m=i6M4lG00F zeY8Ctm2O>f!1i4gv0R2EGK?=ncWIB8poiOD!H>AWMNgOjL;>KU^;&%jXjF<#yw+05 z+g5MqjQmOke>?7lu4;V%y}+e0u-TfoF!3JZsQ>PWL;h|Vxb1;F{J^bd<6eH6$zA+o zg*H|YWP_R&HiZ-?}?Zx2J`4S1F!-=gx{Q1lF4ktnNXbP{#$tA?-l>%qw6KGM9`QVbmPe7 z)EyC)li|5&S783_KLO^!qg+2=%BM`_ME;T;bQ`~>Bl90qA9ywx(!cD@x*HAvHEic> zua&O2c0~b43Awa7@C6eEq?hGuarwi_xlB2MBA>yxtO3ADW8c3pzWSt(P1kYwS~;`5 zLWtHTJ0sxxUzxJ;_D>AyENZ@icleaw1O)#K&1B~H`kQg>5DzXJ^p`URPGlf6zQ`&# z4eCPb3<+DvALzbN#qgaaxBha#IPrG&_!hPD=E?)KFg4h9p-Jjni-BJNf>$#U+t^Lv z7pm?IteR}xek!Ai)3xXr*fVCt~vRY&F%g+O|yts#<=C_weuR>-PF}3f`oPGZPQY zpbzke(I>IJSMx}_!H313*+(!%IcyV~El*ENzxzh0SXW{p?0CWFMWgjTw6a5Ylk^y& z&AQE%3ei4Ao9cQKgPnfvJ#b}5Yp$&vRl~J^erSO+{Fhdn%DDZA*@>}DGdlq~hTg?x zurOgETv?rb-~5%iOe6n@<-z2cxV#tp?cc4@Ta&Q+Si#8qKZ&(lI=F28#?N6G_2i72 z%-7*)#FW>@uN|Llw{G7)!v(XQg8z!{fpcQRILPG)YCOK&Meodf&ueNWfQXpkhTkyf z;l!myp)y2;!a;SZeKb5dnRdg28#u7uo5)`#Bm_}6%w~O#FJCggEai@#7Tir&TVMQM zoLUP?SSKeW|2!Jo-G3#Wc_Oke2vP|CWzSL%_$hSr*CBD?{Xe#JbrR8)biel{dfg_nvPll+H++H>7r44IK z=#ur*(M=ikZ8AJFj{>m(9cP++fLilsQeoV#ufi)$9!A2{-ns8vX5C$rjOeJ{!Q2J1_(}M5 zk3m!Z_Y#J6&Xr?^cBTCm1y62h5`WeY``t4BlDOkjDv-FJz$fQ0@&fQ9Gxbir1~jI{ zx6s>>$F}{MzA{jNCS>ThqgE&=yZN~3AejE109jt&aw+j2z(g8P$P(bec!-_@ zBf*>BkC1cHfYzt^W-t6w%a%E#JpQQq-tqoLXyHCR2WP=L-xfgpHnx?YmO!_D1Mt(; z(dNUatAHy9354dY!c=VA>+8Rd8ndE(-N+x2xak0sztgLjGx41x-Md+6vKrEbUM0pr zHg8J1bl%RojOWs!lC2bzq&B$%ZigssG8r_E^4J3RkEop=VPI&h&!q~mGGfV+M@sz= zsB8e!^e=GhxszeOAu+Y^{Y61RDd6q_GH{gEPXXq^53cl!TQ0vXMb&^s-b0h%{{p^q zp!(l>iI)d1cjvMJFsCGAuwJe7o1;xl6Fauy7#b4+Ok56zAgWPYg{8GbpQh1#qE3g_eMYZwrwz+QcltWp4wU$)a= zH+K$Y&72UOpaKaL!l{1rzeim;&2b5X~pDo9Vxck*RO@-sk7Ii z)%-k{c7j10AfK1Te@7jVo-C{-e1w8rPc}JU_8u7KlB8A?}#xH%b;t_bi(ZTSrS{+dQ|(MvZl}Y&z2~ zN3)clBNeQpF;~!F#b*;OT`W$n^3wD~;Sb{N=XO#b6T|P{c6x34 zu}+zjq;<|p!~NwbrOe+EVlAql5qEb8S%^gd*$-;;TmJPDhXJ>;mlf_B04!deNLED# zx%tMItCKU>8vasO(?hHtGPxmcw8T{I2EX>^nu=tJr+%*t$(d)qh2}l*oyG2!A1urn z-x}W~fr>Ol>*uwK=m3+m9@|7Ivr7Md3OT9jr`gYb{PMbYraqO^MmQJmXv3|fc}MX1 zBifolS|k`eOgKdIpB6h3`VCOsrA#)TuL>#7#ltUdUbMVuP1e`pF|p-xEqp&h;yA3( zS+5W`yBH_P08$henoZNW?YVTUlfLml3?+uLOKgIf*#2cP@iu@(mPj0Uh&gfLkx6IH zW>CDUwn~|?9kkgoLhZ8^|5v#lPOY;p1B+g#QrYH zh2#SD`Ra`cm&VtRih1IibYmsfB{Zjl{=f~Aa`wuxq<_@nn zeVM^i6WvG9)d8JT2o5>W-2J!FDq%oIhAP1PFGns19N?X*gi3{){dd0pxA1DdVgl?( zkCa180$tf~&LFW{Bu$^IWfJz4p*wTVnd)~6q>g-7S`&LONrCH#fHJSGhrM5&KGwvz zYH4)ZsM9su@3wi@vco&8w(yMrp@9Zt5pATrXp^UL1M*YlMvdk$%ZLAUwIDFe8!B-g z$=kfcS6BMR#6Vf?>A86^PYUhkt#Y0N})O+J>(^fnh13WB*nXr-Hr8baxO>xd( z`vt~nh5>gU3}}=OMwEclMpNnjNXHReE{$(kWjO$7J>Ulna>tepysIQXb*Mb|ogvaz zIOrowjwXi2V~?j+#Vg}nGvwCNlP~8S^;(7wHkzg_VxyNX|1RLmNEoX{>w zoPn~rm%98B4tl%;4q5i9CqG{sIC&0;C)N1gu5hE{vN8GsSb!&BG1IkgvH-FLg+ZPk zfTXQQ))8IaF<2S?SW0BqrSnI0u{yzk^RS?}tc~qtz@`Xy|CMv{+%|w@be=NvSvsmO z2i1?Zw(OcMoLONW2DFcgAb56NCuGS@JQqOY8{fTLDVjv3?Ag|E)DEHW2cTze-{wdQ zIEOy^B9H2I?}MMY_|-Ji0LYc5E<6$3@!C1#db_Fo>5P$t4~Gq1(U{9yWyLyW4ZuJA z4-z9_6d=7TasQMJgj^hWUb+$O3#YWX$BxCoA*X@F_#U?$Z~`vIfQM9^*_E#es@W_@ zjhX1w#b7-@pi_1bR{9T$R@&<9bSc8Yqx+6hCnTBBe6qmX`liDx8!~rE>EHc<;eG54 zcZwBb9;#DFjB6{fa9-GwsUXZUEkisQe;~zQj``lU6HZ2IAvy5=&FM{+xNLof10%ig(!~y@w=pU4-98 z?lFlaI|i90O=;wFT6d_ts~YpLE*1-a2(w`x12^o~+uB4HHkA4cOn&MfY;@0D#SWyA zb*BF1-9zIxl}Wj!umGmDcngySd5Vg-yosl;YWXuni9HspTGw%ut%{M=AVGw_pmN3l zkqPF6QHtksF$H9e&=-~F^{Ji&pjx)WnL}~Q6zOf~(wd5lLIoLGw-tJCdqDOkRE><@ zxvS&7GRnfZNmU8zkyEhfR@|DsWw$?~ybVQnG~y_+v)+B2T|d|FLE%yD6@LHjbWNLY zB4q4#-<2`a)AcM*08i2#y;7m`z?bri2WZw{u^L$c%9||OSZbp5W?xsr9$#c7^X$SxWPrv zE5b8{xv+}U*(GN~VC*s!ZHvJ&E8B5@pRw|tuMV;e%d=vi} zs$$M5w3%}E?qvDMB^V#Ec{_NEdS!qEj`FUZI*R17xH?Y>1C}dpI4O>Ds;6{CZvf-a zOYLmJN4+%RB(AY5D>8f_Um#?)idgyu7l@Vm$L`ogHvhaH>{S+=A+mF>PZzP{dpJVK zu6|?PAlqzWg9KDs8<^Wi3eNKC5`W%(JvT54HAgzF7IbG<(iR7iHOhw?>8V zS%!tB=h|$KccCfx*WYc^+*W(kn&iS#q$mzzrBogMC;YCHi6T5`fDhIlu)z@5ex zhF^hoEN-4@4}2R;)qd%T?s(!{{Mea6j0gfwqe_nB3{8CZ3pZ+?rxihrfmN=ix6h|7>zpTGScjD})_-A>y ze}de*zlA?>+_)tK(7}rCqVOfRQ9X&Xj0uVpl|zy6%cj!h+;srfhd)esS!ESbXDrXb zc#ft*bj}2~>=+|mHPJ-Qc@`r#6*qRUNx1?mV_vtt3LG;Oe7LvBeL;`$vFDhuR{t{R zXZ&@(vHN*2$B6>E5Q)_*Cl~cv>hu2D3^W$QY8xeLDx}EYKh5Ad;cz`Txm{|tLEYZR z)LH|WLwW2kg7x3FYWi(XIpt*|5K$2o_zQ9 z<>1&4lInjEZ8m-f%WF)bmhxOjMe2e;a`RJuZ(26c5rq`G@IQ+ z)1SPB7EM&_xX4%F_vvC(?8m0YhBmLFIh{~jCEnnho)$+zk#g^+f|rK=F>X5AJ^#5q z>)ei*pncoY`*ecy7%d&jo^Iip^nSlPQAt=U=5JKci}*?+SZ;e5<-l_V4v*be>O}vn zsGK&_CPqG_jX|+2^smYXY2X|PzI$|27D>yZTk^CV@zNMrJkPO0WkfbcXaD{xkEJ8B;ZXOBI|r9 zOzM4#DLeY>ps=a3h01&#!m9l~x0{Ni;b|kgxtkx0Ae3DGv-58u`!JqC(Z0sK9an)5 z-0-*}x%M4=KY3H|Uu3-fCUz}XrdRH$f6-<3paWE+6OVZ=>C@Yw!?G4oV?e zHtW4g{9i^G?^xX+xYLlqF0W30 z*=*^5Ct-nW)rZ7$MJnf!Mxm|-?;lAIl198_Z7DU*vmYkz^Jl%}f*(IicA{1E!ZK+- zcKu0t`_6Sp(GvWTaRiR1kvmaQdmFv#Jm>_mH#FM6Pn-ue9Uj-4W2-YeI}ZL-Jy_jKkzGNpkP zE`sL4vrt&UaU(YKOKiQ710S4CJ^IjpHx&Se&CC?_r&di=(GfusPZ^)|L#b`*Tf9d# zqcHAr>gOMy4nK9cmhOL8=I{St|4N>;NVrHi;ZFBX<*yY{zhe)X-kKve&A-8a{k;>HYOOT1o0-F)SjedV4k(mm*f9 zE8S&cl$cLYjrjx1f;CUrkL$RDU+}7**#kl$#DBYz)qX^0JVp0gexl)0XdBruUY#!c z-Snf(hvANwXj8%FXsL4D>N`(9p+fz4W1O1{<7r8VS+Xs0<*6=n2UPBj#mG(n;w*ez zlG(1AhViQWk;)gYvA>plD^dB|Ng)LmML6f-KV7Z!n!E5O3?9bl0X>OI$T%vxWH%q^ zoo>Xk;Eca!yCPZ45>ZoAx4()^X!c^D+hT4p2`AqjP8fa@k7+BPwNLkX*uzi{PKm)* zSFAE!ogF9Pb69+t?i?cLV!pXPz=H8&+Px~p%z}|lJEB!-N#hU()qO`ju_(eQ6(K)2 z`(>GiBCYp(E?%ThVrXy&Tf$#jYD=}3&Xl5xG+Ssr%{G){eSFdbpV$;-V*WnSgkNj9 zzj!;-8MJf(k7p$|7Ar_BRIlX-S{qzrzSe9%_>Fm^(whmNSJ_tRQtGZp$Yl}>Ic>83 zPHA4*potxp)>wLT7&ISNtd4oyrUohKULXIo50_`ALY|DVOl}E{VVn+=pnO3a8!TWg*|E>!8Lp=gpi<9F<&Exo2g=0&Le; zLY`|%2s^pSQ{D>}j!8MWqA*es8EMuK{oex9jTOKn}LFf^e}%d*{#BkKF6@YV4??hvC$CoD6eIJ^w1z zUGNT)H?*@;I7*aV0zTeG3=e{H-r8gzfdk|;B$lZ<5ltDlEepy*n$zi%ze0caoX^^% zeL6FEm33L`ul)CqREssPEu-emygOs*>fp{jjiP6H{@~w~^r!goKbbQ-3XaXaxZ|dS zEu`1jE!xn7cyNU*!yhKw2qam|`}DD%DKDBPa|;>n4%QQ(tsDL`dU#<2KlE-;m0I>> z;bk36UDGd;Akx)9rJ(p)xu0l<*-eZyaKmq->wk$5$UKkAqnRrmZz7n2E*Q&JZNF`g6bfUkADo)JbDe0Ok;lkP0SV=B&v;yf}N`pQwB%uDMb}PUK7UrOvJf0ntEZ zJd{{#c0uM_{~a{$zT6}x1cE{C5=5~!IkcG1gDWI-1s5t`hKvMt6)3*0WFwk;eRf`v zq}ur%k#HT(#oNNy|4Z|1^eAYJ3^D_8{XXvQ`twvf@#V;lB%?Lq($js2T-Ng5dqT?j z(P!SIfA`e**1vIa`hci*$v2;cao8sR>}ep<>~3^e75;Sh>lq!v*%EFjD`5u5>zwG* zaZTE92w>Q-qu;T`IEWUb$I3P zh%po}vxqgOVlBn(M%=m#5RWTF{f-cnqIOZ(eJ{j+_fwoD-ZxkL3klq*geslbf6b4? zoCmTH0QUY{8NJB8njSP6y+iSozNYctN+0nU*8Ox#NcyLYVm;A(j!yd9vR&QH7rl9e z!8P+(J##fvF>6LSP24wG33MZK81il91449G0}P_IdS|OVQ(=Gq57Iy_zupYD<6JIs zzp#-t$(Y{d0P#Ed*6izLwaoV%1Ca}vpH756;zMA!W1GVkoPGEB+a&uQc_wq_rZ&YG z@xphbL>wf~RCzoHn_x0Lk72LO z$85_FEnN6Kb5Z2)#83KulL;_zqTl>Z+}1Kx-)xv;8K~$4ZDcP=TTA0u!xtK8jX;@Yuv1ed1ZF9U_j$`-)u>!-LK-=4xe(mj30xYhq6vpABso^JMUFdOto^MihA^&b-aBnGu24%LloK#b z&FE_I9XuV=rWkxp4x-3}O?B{j0P(6dQ6qY*trd|r6dCI8t`GsxR6}MaYpM{F-(1b- zgRIa`5+H0=48oHAC97-AkvWnfwg&?;5Ws??8m-}N*xY!vTxTbpm2{=JJLIwW~&ybJaBRxvq@ zF;@Ih)rU;zb*q=&Z$#red7 z-QewTR?r-BkRfV;LWiQF6XIXhhZ&&X#l%Y+(hJR(!$!)3NjrZWM8)7uoQumGwgCIs zagIRLXW5Oo2ew1}t4%`;HdaOqCbY_?0R2Krf3@gMDJOX;ZD%rY=-@h31!Pe5{1alQ z9@`AZpp`4UHdx?&Ona#hf(8j}k8B$6YL0)83n5#*@PiEbd*xW+ zGseBgh9!&R?qA{Wg|EnVB26*XLDF9o zHdz5%Bx*&;ID!D%91B#Y)4}lV~j<84*uRwhAvj3{H}mNWeQG= zFfL2QPiH#?+CT(nYzou@lep`QV2xKk0LcXy0;j6n-Y>XN(@|L92D# zr_^BKH0g3zwXxM;HsZvNlvv#7?VhuV`q)JIdGr_E*r&@ww8k&vG*z8M-r{km=Iv0M z;qY;57|?%Wr!c_jasH?MKCeC(L=0d4k33r`w{T6s697yY-NnUfvCH4L zQ`ySDZ>s0yfv-|1SduM8ibj;@(wIBvz&h%z2ZPOU*u*Q_QEqZ`wqobO{T9MGs$e9A zG@Ify;{ow>bCmiNy@Vk-?PW$SDi8g{tiH*X5=beE=3Y(!xaO*>|Ks2P4J0)d?v~vK zl#{Y~$9=_*^3Yn$S6H3st8Ngex(cWwii+3>=e4qKgC>rSqB;K}*E7p2m3Eb=GVv^5UGp zTY-^?zt{B;rfKXnXC8%ZI_SDKRk?uVgdQ6XBylKBsy;Pv4ojt z4Hys5=>^U6C`p{tfB9aw7p&vXOOez#&(PmP>~M=A_{M{{P1H-^kfId*Tf+oN`keY2iHAldxc=FGs}fk5j#a1>`GaH4 z;*o!r;A8%)!j+ZKk5+yIjpE56UA~vQ&74DA&&k_X=|#?w z>eu845d^&ovC7ZA9p_SuvzDj&KZbMiCyFu^I?2H6`e`M;E3r*`1wUszGT9i99BRao z$rC;$@%Lu@;N3I>S1aMe^dn6M`l!cosEMexUqxo~M}M6}GAiER z^cQ1A=NYcFxZWTczw+!4xW7w2&)lwod!}ur3&C%R`3@(ZFZoImSs8_IgP+}AoX|}F zayvTz3*&gjA$;|+@PDs24irNI`y9ep5Ikm#*Jkt+5_;SW!D(jqM{c^pq}Lm5k#^7c zD8Z|ND~)U}Z`v%n(%cT+$OEnBpTzEm9Vg;>W7&180+~q0 z1?gNqcrti6^C-q;`XhWK;(NhTKf-*2)L^!b_@#8?hK|VBJwuc)3$oLLn)R5G(X3-&E(;^Sa_H(=-=@;&I$Z-wh zUig=f7gD#(+l6OIsH(KW4<;ewK090O;(Ex~7d!ywAz%{jLxac@D1XG56V&6HRj=XUUDI$@*CDFNxQ%h}iX&F&byZ{- zO4Y6-YXE9RVvEWRZwIW};(V!p%g(Nuu zijtE@UZK&+)1sclHbH<}U8BZQEd51Pz508-O_b`&QSDPyY1Rr)AoY{ACDe23#O7ss zJqN8I-iTTQoOQ)fJMBOpQlGJ&5S0m?JiW!ej!3eC%ilt0&Cjc)vQnYwKYCZHdhA=H zN{>NFX|2|o8*W)u;`$Uxc_j5Z{Rj??zZ-4oZ*7a=8`knELX6JeGt@UQ|XsHp`TXjoI{f? ziO^m?F*bxIspp6V+9AsGN1bZaSyjwe&R2CiN?}yDqe%aJVhn>~;&ohFy)yizVKyR^ zihZ7~Fo@W6dW$i%7sOb4;&=w%GS$)-`e})J(lD_8voc=MeE3DyxBKk9y|=RqYFyCD z0|moFFrjocrD+#L!WC&(%>K@;A0JAwVl6NuQLWwF>qAJ{lVeia0EJfC(Kk0Y_l=i4>??Zc2< zUH{eo7H*3v86O8nl<6nWIB;7?qE5rtg2x0+OMknQ1w0Bz<$S>#3d46XxA!3TBg>|J zZdEEv6aVCdsrzHbU)nJ;qKvIIpDCQc>9z1FVO?crr;KZPcfCgTSkH)|9cx`KV@IiT zcByi9B<&S?D|v_%4S==BC4(yOVs05xk6e+}yiqG2KAx7MKhAI_qNn8?0rr<=K zjvQ&WHH`Sy<`48=5fq&W{axHHaRyLSyvqogy*{OCk9pT<1SAzX!kAmf1?W#<$Wxg* zRuR})7|Mv*{G=Y&9&?qjU3yCA1@$BpsiU)u`@u-zkEt06iy$+K)OL(tiXAy7ijii` zDqH$dc<3;cC{RW~=@;>P@V4QZV|*VV&pAwv1?gO)uD`?@bzRZ+INYpWB5GeN@%i1cRthI2;)msce)<63!8T$o6t%>StgQLHEFVNMz zN$8L>T8`wXg;3Unlx+Yuha;ut$L$z3PQtn!p?m^Md80nxr^mIcn-aq(Yn)oKyJNWY z(F23mw77nv#=~py=p$AK?ls$`E-Nuy?d1ehYM9OKz)()gW@3OLtB|;en`0HYt1#Tat4`lQ&qq*w=8W<8IU}yf*ji_SNO1B$6P(KktY6y@*{9=7(+|n zvEhhFiAK`G2u>g*xK2GKOnBzS4M*K*#)j)LhUCLTh z;uhpjKNA7vnc#Mh5zXtp1OGnvPj0Mn)BVe1f!T{lZ61R%R{HZIaaVk_&$QPtn7CCW zZZ&J|eDGiEe)(O)h8S(zxeTSIE{3MHp1Ja5aASFwK-A9QFq=-udBqmhcH+1tPM9So z=AAeCTqRa&Y)T+voO(@fyi0?NLWka$QWH-9bv`zo1{W2(3lMdfT)k`^?@hcN2_GT1 zcs_uMME(}%(MX3eOZ;8^o*x7kmAK=zxEi;flsv(D*6bP20Sh*29E_UPK7W(0-Z*t= zgC5rZI<6F$M4Zw&`K`v9v@hd0>w&X|ws28b7g~HxYWtMGfj(~eQt%sjKJ3-ijusC0 zLMO_vv*$$cJP79;=0z>|KRJBx;UsMn@xmAI)#FQkUNGanMa=v6nw^^ z*+o4rcKvEO78tr5vgD1POQY!Ao|nWqFwQrmoEgNpR>oE#KVxy^QOSYK_oR`3yjI)> zs12em@{`Qf$v-VIEC|`ck37%sc!}++D9^kg_ZHhJF&XjQ|u>pPxC8GrZRRJ*#`BVSi*QEKo8Of4)yyZ!V- ztrO$t6dktWo)xKGy`|Bg`HOUQQwD4WEENkv^Q}sNMoong>on%QO0A%j8kOeHDC~Kv zuhu(>OX(Ac{9U@)XhmP=!?~4#t=l|J=qGB2YAu{-)G=yT(*+D=2CLSX4LXt@{4ciS zb$||9))WClrz`7Y)**P_NQVQ$ULf)DB~t2R`S~CyHR^6tx3GAsM{Z_`~() zILw+-@mgzzcpaB7*mgJ>qW*BU*30!!>(5#96Y^+a$()om9@f6qnYf(MM+GKhTgRZ- zXV)y8SUZD)cMGfA)ZeA%qV>BS4qZP{D<~4RbHqawGt#~Vhg_>t`p#e~?(iSm#6zE? zg2Za{OX)9xTUF1ytma1m)&86X;ufkpnWMJZWn(+Nztq$1cCcq$S;ojl3)A4A;IZI# z=i8@>VT5gn6Ou(>hiB|SEVvSNiaVoZ|J9^fhN$6R$_&9(e^(NVO?b_!W zG(5%eNoMb_^xySiBWa2`mU4F0Cf z9|k}Bz+#Qm{Dir*0E4e8I&O7v;;%KvS&y1=EpnkQUmBt>YGV)Uue~a3aRp$G>Yv+W z9k{ut_cfDk&K$}0>)pd0WEPs4*HSJdio9k{=K`1IHs0xGgfUzj?mK5S*O+Q^!`;ujDT2a<;6)ul3K6 z&X;A|Ifj7yJ^3!jfQm}SyXqIk*L*xu##yd^QRd{M5*E-jzeQA0$oUT7PqV9Hji^RHier_qht$vu4thxb0dCsi9-UY6j0w@)j zxpBXW#Wz;1dnL)zF^dvcB*cf4G$C>9l^ub}Y;>nK<71!M>2s_KGeL>>?(QMHCGUhi-Q$Mx`a zNU4uNQ13sC4}F|QMG5t02Q`IVJPP~TM#Wx_lj055ibH}85O4P0)_E9xgzeW4;l387 zfHWM~Um)(8^tt?cuV${wsM$hTlM`G4);Se9!O&dXiXUj=-+ePKA_$!zX{5MGa84Ht zl7Zv-i4a$+OafocJV1g<$2ST^*piim+TT`HFR+2euV>b$oc+cXK2xr;NA`+6jEIvxI zhbr=3bRY24ze?6ZlQ@baXkTj@nD=)S3_BmHtpJK9SlHj#C@{V+muU=h6%D6lSTv4x z(V^AfjRX{s0DEX!fZwz1XoMZRvmSPiaBPhov;;p*xXG-4(q_#ZvMIZRczY?s{Oh z5N{&?7ySp8*^xq$rvHrER1%;%8S?-KEjAEl?yCF+Ge6z!S=#@^s&(oYs;o3nKuWbn zV_k~PAI5#oE%v^gti zo}I@()ea*4O@qBo zvNDtR3DcS`n}5RlS4URk%0NVDQt7~3p z6Z7%LIrT3@qlQ)?yf0nHb&@F7uN8e`-InTW2scfX@MZ{SWtS8yi&8@R1$5%n30hf! zs8k86LezRq0w<2BQJq!6XIE*aM2q9WRsf=ACO9XNV;T??{n&T4L8hYR`P^qwI3%=J zYu<)h;S74cCcg>2NlTp@Kbfi25-xC6E((-NXo>cvf0a6=;4u;DJiTyT&RL@LrBu67 zW7P|iujs$RspVcazE@GahDb=Rj(@wB$()X{z@D{Z{j&O4vZ#)vO07!qcd741eQ!hx z`l%3&rRA)#%p0UtBr5TeRmQ#Od*?$yPXR3^j@WpTcV>EIVS1ev{^EA;5l*HmoIe!C zAooIox5HDEF(~Xv2~n!u@?YAeaJxjkZdPcw)IhCV4djzyW+Hoco3SLTM>Sv~O{!GE z6?OuP219n9n39k`yQmtclklF~-pUc3kv9*c#NUcB^9ASUQjZsJROTv-U%_A%UBUdL znoKgV%fp>PB?nN(l&D=Cc_^7d3X_Y>)E|!Q7&sBeYpWz@^!FUEcmyZ=YosIUDodd9 zQp^`d{$txVJzMaq(dt1ubQ-e(w|hsueY(g$^tov8IT>~6>`xre_U5%t7>G%R+rOE~ObgzK+un<% z^W{>fohTBC48ijpB%-2*xr^6z)YCIej$Hh6fk3Br31h~uE_Roda!1kB^QBQHTs%>N zJ)F(DXy^-aS`h1JH$*gPDW{A+NlPV*nzoUX9aUppw!o}UO1wypjcngWG!ai{BX43j zygRbf8VzS6MY0xW?|f=EHh9OVxel$n5w(<`*}=Dy7;7o5-lo>kUyYDp^wmO8Y z4XDo>CT%}Gz`7$hhSqws*lJ_7z9z5swKSp-_@TC57cG))D(epgfO4O`4@eARgpu%b zUmmqK%{8qrR+lmnbTtDK_dnPAE+{$HNn~(+djPSSGrJ33k9FxL6rvH@MMZvFt{yZV=N zhDPm{+r7CA&D)&NmjMWj9~i6~WKf@#B$ism`4|HzT%mFAYdj;4VpKfXdjrq5(nBuF zdSIc?Itt2tv&4+)r}}%mmwqa4QaBF>_Kf(zzSo+!urJ#f#AcO)1Ettk0G_{Kz9!c0S5!N13atk29dGVJ+=uD%gHCOLqn9!%#G$(nZeU+arVu{C|) zxk6aK8h2Dmv9IZq>qgc`tu>t9kEqEf4#R&P-NYD=9rmev!)M;lsU24&pXm4u2+3H< zd)=e{t;P#MUn6aI4v#U`Fv&Vn@{;MN#WTbe=u^`BVAe4P9~HR{YY@&wJO2Il;p zD+ccc&KZ|2-$=}txX^J$t;wYSLR!NRF{hlBz_>Y)tg#f4tYdUJgZCW6ah8hZ4?Ity zaJW>S3|=+=fU@>J?d!FgEn+c;1%Cf|y>GeHPS^7V;LDV%tQ!`nV&dmSpvLGf?nLcq z*5Y!LLHE1(z3Y(=WK0j8+h8JNQxwRQ7&lQ4le_w1jXS7`0Wn_|F9Oh#8_-_#O&dPc z+?DY{Jw|&w;{EhXk(85jeNDLatKiULB2@ca5m^S=V0Gy=R)%a{tl>EZGk0hs;~-_5 z<2)cJ+&3k4LM{orIKOzEt>m5C-B}e}r&ZP*+s>@6UR@)f9GycE_;G%)FSI7*Y?{WM z0CDaTGH;RSm*!bTD#0`TUCL$_^;l4Am8O^>4%Ij(U&^DOBo!W&clqk-C0PKzieAlWDR!21LI_#CpA|d z;&R5l;^ppf29)(P_B&L3YNT&7>W*x$Km2!J6;VJi3{^j&Lvu@%8EAF)8(6QX zIa|y&trR=!ay>QCu$Rq&0gxf?sEmFAi2LHaU#yqw>b_XVWzVCpw~^>0^)D#(FfH#d zjrtP-Y7Ke4+mLgf;0zpr+Wd}3li%uIR9rR*?9oOLRaP>NK{fot@$WiGnfYGtamzkxS97jKCq$6CZWXNSCVsLm9Rl_-Fyo>% z9e9U)>b$pOe0Siir(?U`4G70)*B3>--xApqpk+-aN*x+;B08ug9scz;)QKi<$9Q0j zAD`<-uUpZ?2DRv?CWL*{*Lcfpwb4-hy402VcPnP%^SJ-E=vHOG)CSHV+KdCaeop*Y zeCX7u~dcCoR9h2+CWg%`I z!-cC6HMB+kT65TaUSxxxBOn-5C(gr$|BOLV<1L69Fmfa47aBEqv-N@gx>C<#B%jxUUy=)3$jd8{-BG`FSlH184Qeqrs_9|qF z&r?^#UcGNQ&lKpN*Wx=OX=@~AB(M?wMNGz-FCu=ow(-x9zTC>4x)HOOKe)`i|GaWV z;E=I+Y$M}3L;7s>gKXN5@QEj4Gbzob95(3@!ThCu3@Gv-!*snxWhf46C^%T-3ij$><#t97k; z9z^5`A+y0*BZl&sl(RegBQRFuV)S^K1~E`YGs)mGEHLpI^}XRLETOUTFB^ zpgF-<&n(a(`J`lHIWCht>qL=fmyCShb5~K#{LR&lvc_zK=Ng~wKkf7JS>JV!c&X6I zpWK1P`lOi71G@W5m1Rh_W5U-6xy%NiJZ#o#xqsLdD4e{2&36K@`!I6{zjDJ#EQ&zj zwGImSeQ4$+po~ClGy+9|&$@;@g%uS|u;Y$9J?Oy?+G)p~mv6WH_S)uzb+TlL;xzCo(n}7Z5vv0liHecFyyFd^IXNqaYM(V9W0$b&C;cg3`M&5Dt z>IXgO!8@(qY5DT)ZoBQawQH~YQN`mFEus|zho z`=oYW&J0LX<_XlcvN^M(+H97!t?GMTif^71wQxr&wl4y-!l1M@rq;b zd&Cg{E?jfL>)-HtA3GT%!0z#O7&f}0ZJ!3jr-VJ{>GVlG_&je++GINp@9<4WE@KehhSj=tn0h_X%qe!rg)0vbCO_EPeLxTvwm(0tSNue?9d#r6PatD^(Z z%2lB*&qRhVe(5Xo=FJE2#y7lv&6*3$G?U_puIgwfaHY8qh#S3vUud4V-(DcVVfVV% zYhU*U0Gl>#dhTbSD+MP0EP z<&gsuZ#=k@_XewPhUxIblgNdWjqWd{4v_lyhFghljS6-gx`vwgEPU^1QkM13#VojDuXQ&6Om7FyxHq;reliau<{m zOXKqz2toqWb*+rL85lZ$_a#?4iLxIak4z7ofFORdZN}x;=M{r7PPT^S{%%n9?G)(gvLQqK;?&6SYqBN zL6wqxTG(Q^}KgsRk z2Jrpq{_0#KY^i5>9QPH(%z3g6VC)y(j<&IWY(*yHyFw|e*aVivP-df%a(DvJ^Q6>! z(dqJ@S7_$3{`b@a{Y%{%QuAIg>vnub4)1Y_E8&1}g*@Xvf=Ft}uuUe7V+4c(<34SU z7h>13jdK~^8D70IMnr9#6^>-%DTdG(9a)@}!b@f!-hov|>R9+jg~QIIl_`b^xiX}RJFBS~-$d5R{l-R%bQHfc z&FtUZtDJ)g>ycGVX}rt$igr^X5AqUi>frwt4fW>#x85BPSex z(Vs6GfEM-7r8R1)vtzyES4s_r>F#cKyUQ`hymrNk?TgO~fM-7I+3VM@d*6HCeZhqn zM*5|09pa&@O_c$#lhq5ZKnzfC0$>=tdK@9=P%5H{H~)O)ij|-IWe5ztxGRw9Mno1 z+cXz|4w&1>S;X$BygrR!Ko%7~X4U6o`s$u+n&{SvADd8AkHZ z7NSybR!<)c{IkEEWe0@zVA`uySkzUS`KG4~+S!-2UQ+QXQQJ0QzFaHS`3#~8G4KZZ zwR^f`RVw=~B09RWz1-Jb>`UaAzU%mNMi~L8Ey-ZzyOp;c3A`^f{erW|gUj!pg&4xd z4dFzcFlsnIR}b|VQL4Nm?$o#tGSCE7{W7!#IcdbU(`cN|g5U!EmA_|J9yFQ5e8+Lgt64 z4wAL~TvSm2CCYRjnrP|#G*MCV0g;g*-%u51*nK=)Wk)&wgdx=P42~=8DWp8Cl}J^+W?ACt0_gtuPFUim+Pd zgcU{osR7bz6?i3kw=Ax7XFM(GTECLGd=sn zZsxb*`CH`w+W*9dF{qvgAl9XG2;Fc0=6KtuORRp$U{q=zY_8a6QOq5=7r*)MeVuBn zv&?2vL_%RROHnhUtn=aUiFGw7^#gHtqC;G*J;IhVEm4!KteXN-NLDa`Jm)#jJ><|s0Xgs7-+lh1lPFIs zIuRH#vDVi^g3Z!{(}U{zw*5MN&7`FXoX)U$xl-?>tShneUB&I?lS!a0p85CBe9BXv zR;N_#_XP_U?!MdZ?|A!rK7QiIPCM<#QMV9v6abn;-FvM^f+$yuY=(}t4NrL7s>O?uV-+skg-}cVWeg3oG{`R*@y$YC<0OQ(^7MLkpfwLCwHLrc`%9T3+dh*x5 zcJ}|CUGGchoqMdmEO?$jZ@v`JcSi4j#3Y1VdBv6S;jOpcjMk)5HM`3D!|5w3lD=b_ zukzd6GCTup!ur7G-{+KpElXL=NUev7x-1Jp;&nCsc>$U_u`QlrQ*BBX5yU->;TIt@ znD7-}4%r}0>^@->Y}-4k-x)pArk-{neVofe-WSPj{U(de?|N+&TG8i(HKmEAsrw7M za|cQdnCU9}NCmkqTj-(q8u?LtJC~3{*cbCz5!KLh-akn@QlF4X)^G;bSs0#}5Xky) z8N?Ty1#EI!vppBySiGcpWb} zA=|gwLUBEWA6Z}W^GLm=^XtqFkbOs8DTvzC68jXTmfj;#>+U=U>oCoieM^N%a!V5# zw2zx5_Er2#%B*?EH~=X;S?io7>MheRroJL(?+tm1{+su=*E9J+YHmXw&|H%rxZ-AK zLwJp%opT|UKUgiI%RN;QnE-zBijBD@t;A^8)kLyi0`88p9uSjW&+NKY#uvk$-9z3| z4}b`l(!EAnO8s-ekLj7`Ak=eP`q(59zwDk^RG(5FWLI)L;;^fSm%e@VI^KGIN7k7m z?%Ae~NBUR%H)CS&7j9oq;vL&v&gT6R#tYBcnoot=tB7sXc7&KI@2xp7`yw@_w>Yqg zwdD|HXE z&gdPpGxl(s<7p zziU)I_$-YH7k3+qL~XFOGx%3S22tQW?|kpqPyX7ke|-B0-F2?_=G z-ye4Pz4zK{F94Ityw9EVIZqs+3TV9pP0-bZC~V(?vStYah26*N4@LbIAmt9gQa3)X zkpKrETI^-DwffSRyzD^_dPwwf^QO%=t-EnDnYVJqih1+roB99mi~nW$_RCNC#>r#b zK{f87g(tGC*JbU5xGe_gzr6Tg9{%u0#v;db7;eA)w)N}QuUNTa>C$DB$;7DqAD;UU zd+xEv2_OB4_t)o$RI?7e$^dwMwfa_)Qh##j!G})f&j)b#gYJIT*=L4NV|Iy3ebWz83P5#GQIx({ZXqU>cJ~kjWFP4xgMaS# zb(@V42PxXi%!R#fN+7egki>=eOYMA4_jlhHVgGA2vC{P&P&gl|cJoLh-y~o%OL$)_Pe`Dcmw-eNpZCxrYC9bRtOOKM-bX4~J4aj4 zM$R%SiGQ(p!CK;sJ3u*$f!oU*R|8c1d<|>U$uMxhqEScZegWT4 zz(FO*b*TPJ*<`Bf*|7$mQST#dc~^GUeuo{ycNE^2IQIemJB7=$PO|1O{DRoP;LA~g zNmY#fG(2*)&YYe~WV;UrcO^DbZ*F)0GM^d9y-L3m)c6=vm3nc!8t_PwD?!v<4q5j@W+~K4XImrt|B#O)5z0$ zzVaM0c*gn_-sSpaUX-?GeggWS)*4;=-0H(kZwgF;4H33;{jdhr?UH^3q-@@Pt#<{_ zWI^F@U=*i@co%nf6l`xJ*RsA#EB5Vk+7Umvo?90$%K9F0uBhiML|lMjLz7QxJu_t% z+u-7Vh+NChyg;=h@nC+D@rZAmW)1VGPJ0;V@QB>TX6B^#ks2Q#io$hH9==@yVo?jbOCU=D(MX_cOO=&Hf&PZNrRNjg!B&MrR(JuTq=su$+_2 zkQ(zR@eIG{xhcv3#*s?Ua+h(dN=yY17ng)aV<_qvmAw z4m%uqoG)0<7Tt(d;j}A&|5}dA5|6C zlGH{@sadeDPZpCv(AP<(- zt=CK=;XiaWcmHxDqK@4={tZ9nw*spkrTAX;O-hYM6+jwV^_>tqv=sak+V<&=N{*o1 z(#aq`h<1fhB%gdQPDjFZw&d!E#^8<~UGFG%WmQgdfs@Blw(u{H7|pfnGrUNSE%LCl zHs>x(n8bTw`Zr^SUzq=vJAum`xd?7ivA+4NYazN|EqiqoI~AnxB$ZF9loEQ96ks#kBw*ww0O2xZ#5i?;c{mJG3crqx0v%7r ztTF%XT`cq_C_3ayDk6Xf7^E~3UY!1GI;1c2yS^~#V?|O#<;G&u8dEy^);R7{W=Q|b zGaw8keQqGdC4K3?Ym+?eR*Bdrl)rmk=>_o$3BM!G17nO|o_`5zIFa$Ugbc~Dd@v}4 zHBtT10*vF6+Ey*T&m@&xO)>!`$s498g)tiWK?@(kf|TPzTS!&NmbH$x6W0=?%s~0R+9o7r*UGvRH35!3^a}U ziC4K1O;-dq<0&M+3{$Fd#i zc{1`bAr3o}LC}>|8iorAR2s>Csl%)#W@1e~be6T;4IOw!)GdKypG*@(t##8B&F?oR z3COrvM88U`>CetkE$4S6?Nhh;(~$U-8ij*1o$5JoEr=@lUd9x&Z~SLsn5Qa)Z-$(i zdq-TG<8#`yzu!A}qmRoX^-q!D6igz{6fk%(S4hy^PSwN(&&)$Yhy8HaewlN; z93!}(%I>EQzA4^dvm^>t3ZgV-l_RvVwR89>ANbI-pYt4Bf$+Wf0>NNyPIcgZdSykyz`nR__AZm~=qEin zI{vxOf98Y}KE$2^7*zE5R6M=sEGoL!^ ztTPQs3l}ZgZTDTNH?w|~lYLQjtqS~i8)YtpQNiyj5)UT%P%#!D2JwmfSN#vBXPctd!K=>_|AVh@(NaWUYMwf` zeX*vW!Q`Z?3VaSRdt?|uFBQ>Z9;8wbr5M>-fnm_->0pSO26BADSVJB|3!pY*Na0hT zMH2T=T>;=4q3!GFk!)EhLk>Om)br+S3uy9{Y5 zn^^9Xm4t2-_(dYhd0qrs{B-D1SGhD%0YoIqZ#gIH$ZF!1c*Ed4ujLund@@Y% zwmV(HQi&auF!F(F*~-=NU2lJ?mBU?Enmtt!^@tx9(HcXYAv^r<=}AcM}?Ha#AFtC?G*mQD+RG!kv*g1C#SM^Oo=q|E|e7Gop&XVBaRQ@iMMzjR>sv9ErA9k*&x9Q=&8buQ5wX zd#;uf`DbZIiLrHF(90~T#-Nyi4m4F30|#^DIKf?~%+90ky~n?~H9YwRUn1cdcjppF ztS)vqUnFb6CHE$IS++z$4rk#6+ENx*BbBwqhJ3=pu_-?yqI$#;FFf$TgMRS+@BZQ! zzfk93O9Q0&VV>ZbXyFyWKDTz^9H(u!-3}c5IX^xdg%9J)9)cf!{|7I6;frU^oC#q2 z?RNy)#`EUw_vHQ1F>n4n>(~7G^PYa#Gi;i8`5&%Ww(J3ukNDWJ=U#j5v(LUumMj5q z=bcNhxcu@fue{QOiajHMV8*nK4nFuGg|1n%=Aw%(hUmug<{$dhr|z`V&hzHYyZf%Y zuDa&R-(7r(uP_xp$pmL3xiL+i{`6nIr|*M;eoD@W_9y^@ckdW=!O3{W9AG9 zw%>k7&03vYMHAg-$yNs+eCU!TOJ>cUbKkx9+;GDU|NFnc4BN0VZ@2Y!JMFYXx`D{{ z+wXYT)1NLX>(;No;QaG7c#jHl%*;kxIX(y|fF=s%wyx`LoWBR(?+N=oY2$hG0KM$8 z-!EUWTr`%$X`oy;Ry&DB?#(lv{*0Y>*=4iMHe0=F_0pwxoOi*m@3?KL$q=j&+MMU< z%agl2c9;F0u-^_l?zn8(vg`hQ-5-Ac`(+O8IkygQ`n`ICUM$Hfwg!Q<{ zo!ar(y_hD1=gBe$sZyJqO_hU{|{HWi!`2=BExS zn~y^Y$4|D7m)vV@^EJ4I-u1luUaVqQb|Gd!Nd3xr;!CFwV+gm2j)TTVCoNZfwAmlT z;!NXl@L7GR;f%6e~0I^t4uB<`a(-62(tX!etofoCwD zU_+Gy_x;ebF(m&;Riya1oMbVU)l>8pGJ@?nK33mSO$CxOX zoVEWe#WLVzuwe%?mGK5oz^=}1^0za%RE*y);^h@dN+O+OM?nE7*VcB3e(3|_b)}+I zY1a5e35!XF$mb>L>&aYe=NS6sw*uO-)7G2H^4C?jlwI*SD|2VUl|z0^PXywAC^6T& zCuDXe3HoiFWQfb9-|^usDpHQ)G%K0t2`p~O!uJHHlOA&G@Zq}~Sp6{v^>aZ~XZTY` z_*4q)#ycjsdGUzb54=}#57lZ>!UKHV|Co^fUhV zKXT6JGx`|66rX+Z`+(`4p0~h(!h2;BRc{#Lx!-L$#fn^SVVqE;v%Ue{5}L12qr~6#wRC&)OI_x z0zeFr124vwK3t@VBrGeoPQQfH&oK+@lKxYBF}8a>4)#{?Q5d8E=NZ{!Q|QTy3RgZ* zo|8VX4(&{E<1*Z6Q$44;bKfif!5Up|gy-fh6A7(g#;Ly9$!rHm7{aG-@q&+-J@ z>!M+mLX zx5qb6*Png(%`E>%7?s7y?KAQv*x04hr&3W{_3f=Uk$yL)5R{*bV=~Tq#Cs!&8=(DF zw(jhg&Dzj)9;BXg;hx*R30_0pp55+_FErUfDSi5zGL< zvg`Ojdqkw7FgR8feRFH?k3kX^?D2`~Z=$h$?+g<7#;#%k>gt}_*dA7P$Cz3PzTa4r zjO&a>KY)H2&y)-(s5ZuuZ#$K(hX(dX0^tMXin|wKRd6Sx@o6YCz%NZtqR%J8cG=Ye z;mx)KV{TDWr#X>n+@$Sq45wk{zXPFHkox74jM*}sla^twaWo3v|1z`nY7LIdExZ|m ze|*0yFXazR%`F7c4txU?6|@N|W8S&ttZ(4|ZVV>yrh8aT{7fm$(6{7o{9FB+0Q~jc z0^{2|xPU#Sg zv&n8EQeyiT#bjPTt4CXUCjwB=`@!?-ic1E>zi0PeUW1 z_h|QGHINf2FtpqWfFANCNL&d3BW_Coob!V;InjK{;tfTYd~u2W$|_@YJZqx1Mk0xZ z3E5!+N-QYhpC!Oc{Drw>&(j3H|frmD0-i6UIR(l43)-NGHE zeY{=x{ONezdb*SrOm3N>hr*p^OI_rBS%OikWaBGi#eE)oThx6uY1gIctfm*g)52-9 z;GNPK62X(|Wycsx?-4s=u_j@#kJFt{jT38?wNg~BOeHOHjiBr<+Waax8_+$59wTME zTz}8TcEW?IBCqRj4Eo^TZFxu@cg=f9nj!IWXISR>?}(UsjAcdm5v&`P(~)Z=BmQf{@gg16^F5?AXn zT_S%qQR-W7F9#T_j)*Q-2D1~9rC|vupQ zzz54e;9vv!we#4FcovZn!9#4xH$IcR)nmC)U#L^eCB-P`>#35V|+d!WZ7y z^>}W#il42HSuITowQF?;haAO}LKvEJUHd=u);#^L{AAC5tnP}3C9S#7Rbh04Ugs_Q zy~NkTd2db}lk|~$dMO&}Zxd>W9H#Eg!Sz-t+5qzUqEh*)cMsb6l>YW_qKdwFUI!kz z!*KrCtpV3ftV2wooQ|&RbF#q-xtU;JpjAR>bSe1V+^_z z1Mr{V+Hnk7Bh7;zE}FHwKlfe(d1^|F>QCL_V-m*=UjEyK-1p~c?J_UFX>c7o{E`1G zfnCP!|%5OUEs|$IiO!kC{^9zUk?g`s8g3qg`Yx zAe5$@H*}u`$|eF+{{L1yE`ltUic4W>Fo?;8VgLY5`;lk=Cxeb~{@pDGCLY90p0n0;y!g zEzclw&b-|jC~}LlzU`wVPjl!h+g~=B`4%IW-5S;QRrpW4t5f*?9FsC=YYXg270*GutN_?Y-J7}Bp{>mAcjQ&N5VFC+4%R)VYHL1`fk7NiOTvi2b-N4bb-)P_t%Ot5= zk2B=o)^dSPGgh>dvi6@h&i2wTBt%!oGX=jQ3BN07@dCz{|V&j6^G+PA*KB|+aUmXgOOiI+dE zm~?`AWi@v~8uKgE<85E)3-4m%(iI||Pj?kreMuBL8+f&B87{d`-lA*5UWtG%(&V&8 z!#x;DY9tOU?7>yiTDbwDBwzyCB`w>O+6sCIvPA#Jp?A%##jIPQwI9^vjJctI{Za4o zxdpszG8;quty(Z_XR-?b$bg6uZ^==3^_~|$ zpUEc|DRa_(scNoWbz}C5?W(cSGA89wc(3b{=jPXf*J-^x-4ta{Q_x7AFtl_SO9cl9 z#dyp(g}6oa%F9#7sCt|jd#4vGaY(#yS1M81gj|lp(Ub{zh9^Fe;f8bNId7y;kn_`k zM_LhIM4BB)HoW9qF;Bb$$~9T`3@iW!>^%5Yr?8G;z_5q- zk*U2MSLfL((Z|4AInThGQd`>QByV1X%r8c0i%}>XM(ij#%0oTbSCCj$Jf9If@g8nm zM{}Cqo5bCqQ_w<#++OAFCW-e`3DxdpAoa6KZ5@xEy-$Jt#tQExW4-*|sIm0H?Bs9u z37p33J4xp+PtAGLFXr2CJiv%joz`1{DxafR zz1l<$$-3*RKEln$JAhBOABq?kyT5~$>(@;+fqgGa5#y*!A2|9p6cL1oWXG63^**%l zI@<%YX)_w1oo?&gZ49w<2VHM$n^6Jq6m|wgdPOW~eYnninpgxjQLM-1J}%*9;<9n` zADHg;@&HFPA>h)UnnOP~oOd!H*78kF-;(Zzq2xa@?L);kw=wr;pq%SMR=rw)a)NtV z867w?DW8zBwM?FK+QV~`DE&u$jJ8|Kw?&GU0Ff^&~ zgwDg+)1LH=r4VH6365kop6`4+`UpbEC42(-mFbr42$NKV77w#ed|8uZf-&Ik8~~<^ zFDqkGYkgTaZ|pu;l-AQgA_6NZ(c2~+^vapddp_w0X@gI^(nSFL(__7=l(#zR8X0RD3vVu4!LOlzE!93{!U`AL1-ZoR zK4vkV_RpY7Is?60A4v)M>=kYvwgPN#qHr^p8sK2rroB)vjtV3{L-z8R~iuiq<)-^ML^q7w9Tr&rc{+yt$cph`}3#dg?&W@?$Bl4^RT2h zmkK^}v6JV?=J3`{MaK`Tc$y}3$6&6bmqFHrTi)D49y0+dFL^wZrd0QZZn=lv#E!rv z`Ip#>l2=UIW-rYZ~sOb)HaUoUEv2GC*9bKf_{=@P){kT*-GVm2{8h>l9 z4D6@TuOI=A#U0m&<1I;%*S|d}k>=hxD+1`Ewt0B^{@df8xo>w2T00*kzM?*^W($yYx?c>F_zrbK0Txt{-=ypyvDVz%xFVV=);)AP^4QO*aXXdXbD`7te#C|W z6KliJ_HB(-E!ImkWa(is_DJqzd2gB;>Ux|+;^`piY3MTGDWbCn~`nfK^VkW zcD^qKq}~V1Yh$zIB3rT3LEq-|+T7o`jZAV&oDWbhZO$%3G4b_x%bB>RY^{=-@2jnk zGISVGr2+}%BpyK*1&mPFetKC;ep-4Yq`n=#%4)mKx^T&;hx|M+sG%{Surr#|JWig2 zwL3z?2cQrW=sj0l&o(*BBkNb(5CE~0=b;du8-R;(6HsCFu{=`90s-fOR2!vP7f%ojL+J366WuKJ}W4TcoATILXm68 zOgt0ck>NnMF%dT3Gg)f%@n#IR`1V_Tl}thUjuQaAJ>4EioACV^W1rWfq?VrbFlz23 zmM3!z-!eHbe;3I4rjtEnDzLspP6<1z)Yxe)dT-&%x2!)x4SS1AZWx`k+{|U(31{#3 zOJaTi46?_eBDL_A&6Iv%Z)IH`+BTE(#h)wJLody@`ff*mesH&$)*iOrdg22Gy4u9E z|M6y$Wiz?_*0HfetC-9XkbOfZjfXD4B|x_ewbuB3OO2!ExW0q8zq6lnzygZvtyp0}7`GiHh&tj7NbGuX5m9rE7;dZpt0U|V<&{$pW_LzLl2Qex{ zXKXtUyqz3q|B?p-E#9_GN??sMTCoVkT>W!K?k1pb1U-x2>fGYuvl$b;foWNfW>6A@ zJ{Y5(l_vFB0{A|*L3(ZeHwVVZC69#ix|(r-JP~6e>Uvc!^5hV*%+P#vdo6{&5#8dT zN0nN%zFkK_0SHVzK1#1x2 z_wrpCHIs|&*Rg@9M=7^b7ubza`bV~r6Jy!a!=g=b0e!ht_NE_CIR`1_du@W+Tz)i4 z!~CmxyrkuNO$K5RbA#kuAZcAHZg1b7xN;DU#{ljaJu!&hi|f8Xe0&S78Glcj zB|MAs;|Mg3i`J2$n#+fh>4kH5qjYQjueiwx(TR;N(vJrd9BXhzVD3zo+W|+xC$Zpl zPrUI8HwdmvV6$VuJn9pHTGcwkuR5$;+9n86lzP4m+C6W2r?@pYq&vD}k6y@6`=erj zw0ywnlOA$oJ?&boxUb)u>To(`r!yvXu^IszekuGr3Zo@YmHBc07=a_wL;tX|IoUQ+ zavSw-O{a>E8@65~bqi6ctti;F8A!H#vmL<761fhFr00z%@79184JHXPls~A8fMg3t z`N_37`2^?;jK=#axwQZ0D;%vou2HL<)z%dLOWx2gX3r6k+M*F-3|@dNr(B9P{Asa~ z-)~@&2;ag{nA37gzvBj?Za*tHbD*K+L}p*u zBk$_-sgB$n*Inv|{=|NoQWOf;_2-o- z3BD8Nv!k;2efT)D-9d8?xr<~G z%==vS{PNKca56u30Kw7%&IaZcC^VMUL(1uhwwM>E^UDQT-*JIBxs$Xi-f_tnf2VK? zej9uwR2j0&LjrwNjW1yuf+cuU3q1F&+ZFv1+qp{jsAZcqK#7V+H)sUtY$pplZeG{7 zA0>mXtB&fSFMA-CgTPU;7IwoeoS)F|#bM+-__`f62G9Tl(G4?q;H6+icg>$ zzne|w%U;c!p!cb5vM+I1M5e$&TbU+M>rBU-(=gVLmV-Yl1T#e3M>9TO<`O+Dy~QBg zZDun*6E|L6w;@|muw=D5x?;~YA8N|KN9%7N2@e*3mT8qt+v$vCI3Ln^F7~p%&VJs| z|4i28dK0cPZ*g6|US1pMa@wi33J5fFK%1ex{ZhpwNRweWgzev0?H~lFza3oxy6Y)6 z%n6R-(EB(0^Rqokwagf=pui~Nw?Yt;jek3k1i4@P{71UyP9tRVj> zdtSP9T0(60$Wb)w20sZR{8_dBU1E;Um5{x11VdQJBQ;NkL z3*Oi=Ip@EMv(9IeM-||sna)R0;2W{)l&epiP%z$};{Rt|8qW|Y!?vHR6s!?SsZpWF zvw%&#yhJ%W`yh1t=TsxP{7yso+Al|SS~qnw8Ms$0H*k>9s)@%1=nXxocO3#j_dplD z4G`(1HXfr&_5pbixEU6s83Mr!XLrnUJX7O=`+b?tV5->Ri!rZOG_12}a2%T^+_|^GA%__@k(atM^;+QP8ewSvU z4`gVt=PRm*1Zf=mPh*BzXVzEvdYb)NvfQ-x`eLcVAtZA@FVnXNKYKlSHWUJ_gFD_2 z2dL0&8S+2Z=}jCPZ(S?t6x&X%8R;8RtiOCIIZu{Fe&F_GD0)RTeMI_;cvbIJ#b5|0 zZZWL_SEX<3MaOc8g#5q#EO)Uu=wQ9fj7<1F$<7nwwDhK0$My^Ayt|`eBNi$7rP8A4 z^7-sW{8!ssSKYMdPGw|Kh-1n=8BX3wun=|>t1NY_)gT~9Xj3wW%;}eRg1n%l%-z)C*IE zbHN}cX-P^*F-&5Ku+;c^4J@R#uiI!mcmvjZ*qC%>6xUL7o}AQ#b(4JhJORVSqV~8o zENBrPKe$S2=)<`^!)-iW|lr%KS_7Bd(0W`R0}*I z(H<@~BcKvKs|m$8H8a5+u_ce;Ca@g?%Y#Q5xt$5tf*RQR(&XIl-w;=HehJC=8GCt;1Th;88)ez1n)hl zS@RA0H_j71_oAOMXeFH5a9v(*SdA_Y0%*}e*OAmg2boaGoxc|9OB&&fN_h-Ddb*fC z=A59g7~RWZlUrV?dYg>*s^WXYFHhj&s71jw(SaCl%+aV2)O=hBoCJ=594C30NNii4 z7~A7ZZJW}?IN#o$OdWa<5a>M|rTSM);K-lx-vfWrfL4Y45&UUwazgLycaWJNxetn$ zy#4!M+>H4Ou>ys#U)x(86#ee4wfwP!F00l~e`5{Gt?CG1QDW}2zhz1(Hi?2~FJExH9q41lY3 z0V;GVXMhX0$$5VNpICoJW#CY=ogbb_v3jObt>Q^$EvoLQfJ!)+K54(lK#lIi>S-W+ z3A73Hl@fK z5_NWHBe5*GavzLyB!&b4@F!eN4MmQ*d3jsZQumEN958or0DbcP1c}Hs;CEeAP!qXf zKVa0eImnCa{tr>k-FBVN=BNXT1#T^!dzlh>t0HPepcq&Vd_0A9P?88d&oz&+d#q{YX6EBDz!&p8hYM8+5 zw%sKodNflyB<$4%`q<1W)gbnzbt!%F7b zkSJcwTdgDcL}-dj7%^o0tVv5ACE!GWJQU%|)b7B*d|4|a5*BVh48{3!T+sxoh}bS@ z-r|aDQj5hds9frm*W{^83XB@q>ez0!y->;Eos2e&s+MkC#B(Vm?!K=Tl>d2UN8<#e zOB#;jMcRMn{#BcaeI{?q=VZ!qpA=_wC)=wEKsU{mcK&jKo;lRKM%t%5DW}k_hOzbS zn!kO<;KtCm_yzj9g!+enL6LHp_s?@X96AN9gpoL&2b}(&SeE!roRUc2=_6C3yHuRZ#m`ZIS~*s{t~|3i0AV>T|HFMq;%1EgSc1Pl-}DJ{vLg2~Xh8zWOUn8^2ZrIlJ? zV-J0|%qSIHXmq?x`1KbngPNi`ti!CAH+YSp90n&t(&JkQ)pV z9peG?964kQNu1xlEiWX%ea4hCY~dPC*XL~&hqtBaj4UCv&5Bv%0#@|cD;4WcDyHvn zga1qIFFPVv)kM#fgx37s4^#glp=-8^KN7b2KsQxDrk!v+aBc(tx%UL%g5paS)6X$W zkmL5Blp6WX2WKzNnrXPo(`;rY=X9>SoLdu`1=@EVInIIjYq=;a$l6zXN(BcUEUe1b zD}4*+rI+-dJ_iQfSe=akdx8H(IK1Cah2ToO-yVI)5|ZiMcGgGd`~=_y1AoN5j$3H> ztd)U`d|3qqvkM%vzcc!ujPSK5(S~@MqHjIseg@@;K5*5svzMapzn9(+KlCR1S@iIj+XbTp}3bU$&(@N zUh9unw@281JurymKPaYRNi~ap>A0&JdVB@qg?PAZk=ptjwd(9n0NFq9$lL2+91`_l zS!p+!v)&^J^mw1WYJcJYb65OY2@<*w-kS!hvV{LyBGks-n5rN|8S12&8$BkUx9S0N z|L$0XoX4Eee!>C2F4t@J6lYjoJ1^I(4PNWE#m2&CaC!eC`lz~BGL!CTZu!}A zf7L^3nuLDfHssP{?_Y82KnwT;r+~Ht&qGWkdmv+^hUi4DMebwZIwt^cevvYj*GdRk za$`54c{qnW!+?|X9E<|^tVgPEW~dA}AZlL#V0a*!dD}>aZQ!UL&3Oe60R0wanww0O zk^Y%CT4_5*;4<>OOuvM1>y=PRREF-?{?4$c>QI5#Q%n0*+N(FW-q-rQmd`|b|FY6v zI#AN}*fhk`zKi(xS1(@=VPT~&Q4_m#n-J=EnDRBbdgSTb9>1tqjtobF1#)>x%4MHN zut^4dvCaU}$6*{f$7e769`(Jgx17wAzgEDvwN82@8zI7E-%m;?msz8|rxwlsH_moM zDWQ~TL!(N+plUd>$3ZH8VCZ&bcmaQIVTv~7P^zHS54@}#cWz;;6c*VFl|vQxNr-}J z3rey>${&*R7K6JVq&R-kC$j+C^~lqvzkNEQ3t@3!^@LbmSKRe*4&4IW5i~oq-wx-E z@~u9?-6I6%`sAl1*KvUQYZhcg17q7lp53Px6Ff1m1prRCrqlZ+2(n{riO50NLcPXO z|Buv`e5((G(G1!5fHJZnFOJ@JS&3V_%-Bz%`2uwirZT%D;Vb62-8O~Z`4T@;HQCPcnSPkV zkj&w@(cUb{&OBfqqZvsxnJcczf1{5_Orpkb{AIDm-}HS=)3R0*wa{aKTGl|;q(Hp$ z3`e63WKDrMiH@)9BkRnyqE}nb)b{TS!y7fHV^_6No7y3JG^g>TTqdqZxjw&>ZkDrD zZfe7@?~AJhrjL$H^PgIm;8z$M!>>0&a|1LiwZ}V8mF&;Pk93LMA15%AKaCgp2xCZO zIMXrZi3y0;P1bX|=&|G_u`7&I%tmiFx74TdJ!2z*ePN=mNHc!-#Zk+xnuT{x^65j# zdKsg*yLOzr%JHv+O&LAR3ZJqGd-`evgc}b0_QzeQ@*o`M1}Nh9bTbI`D6K0T{hMaPXHdyQp5|ds7ubcnAg8pD^~l{N}L=*`anSZ?xveD@FY^|F0aZa z3K5MP`XO5av_eRs0)Vf*t`^~00aqeyqRwM2(j+1m>)%P&fZUb*in8BaEvWXe(+Y|{ z_QD->tOc>GeP74xKQkipSvE+>)V)u?)@!iU_-?DWj^)xzsiO<_kc=d58r)AQo3ApF za$Ms7>-2As>G~Od-O^X1FK}>F?%w4*)TOI=t>j&1P zkQ_v>GwgNwxgMKud>43v<iVlK+@7oCx{-=9dzyP3zLDK_d3&);KkaVSH((p3|J1uuY}7gT*QT4AGi9& zb3Rxn#!Vryf23C+^oEJYi~prUuzb&hSW&nyKQz|O$z+Ud+vr&$n@ zJFb{1-JMj!MC$yz3#E zr0?+rr?cFh+)~#+$A4{g3X@1bDnXHp)QhfnsKu_r^bptvvM|-QjZ(Igk~2R>f*qox z=d;##st?IRtT|qcHJ}UI{T$b-ljj_Llp^jH@|^#TuAgbL?8!5O8oXN%*1N@oj9(#m zmJ}CiUwH+5^vV}`P2$H=wUDaKf7s(a&xta8 zeLBq2mx8Xp!F3dqw8;wBU*nQBnf*d|#o`IfNg2Vr%xUcw`kDo-F>CJjb0shIykn@c!dEX&PN&%%@F*kqH{4 z$bGbJ$wx*@hGFlGt3AXgvqJ>D<6?>tT(ry5 zSn7dg;x!xJM1!)jG$kiYFelt&*L^}?Ds?L{@J^rGb=EfrGmRg!zhl48GzZ#4g19WSbve~FcGZHers&2h%%jtUzRQOeG58 z@sLrH`Rqa5NuT(N!-D72e_IeiYl^rm;#60acO2IpK%wP0Xfl5(1ZXV`K`YD1H9zRy zbaDSY5Kw45X;WMAg0impz^Aqn{D$}I>?NpVMq$-9!(0bTL?R!Jn&**P^y!6NT&fGU z1#y3_9C6yQu&hVY&6Ivf=69a=t9xzR%#|=n-%qBsn$I&_<#6)S*m2k4d3`UpJM-#0SnmQ@ve z3DmAIViY&S(m*o2KQ9YeHzQaUl6pF~4ECMrOpB+j5HvG$`^c626I7yX_+9Gp>9^qA zT1c(MW%XQ5rpK9mSi&`5_DOFr<3ewv0VL*g+j5Dleg7Hj4TvkKRvJl-Xw+2l>A=@o z3wjyO{wT`x#O6A*;(gj}>tHK|+33x#&8y_U9=v{iZBMDcR}Ex?%vrg5=7uHcZ$$o_ z9|#-2`TkI3Y9?DD@jXq9pN|}yS3s~cY^-;X`#|lWW@|2}F~|9I;!&+x+RZ>fu2wR5&eB(-JS!Q)IK3A|z*O4sq2 z4v~%>uRJl2projP-{Y2*q3iJelN`yUm}QUX*2(s0$EX|qE0McOm8FEHiuiyaqW5yP zKb8(9tei&s_HzahPyB2|EV@V84!4KOOwL)IL_VV!iYY3Hm?uTC^ySmf- z3MsZ-09LETS|Y+C9`m`8xIMJ^Rjw8f`^_2&xi&JVpJEC3T&RR=S8 zuFv|!e#U;t`Hk#0u9=fb4Wawn(C|ssU$GMeo_!%7K4Gh$8-vAOuhU+FUAWdsaIOPq z;9D7Rk9y&#A5onV`6HjM8IRpJ9F;qG_@8!8ag6Kbpb@tMZ4xiy;Uj&Yi1&F} zOVgRhK#T*CXtF1yoednL?&}lHUZr}Ou_$TDT9S)ROunqwCMbrA!(;XGtuIAejA(S@ z<6n(VYm+Z#krt}3)@tlj@|8xE0FTO*7L*)i(blZ~R2?JRDJ}MlgQ$`G_A8FWFu5;T z7pYf=vP+w|6}!)(>zR}s`5OKQ?(yk>NSv6LGZgpxWmUJJ`+_d`JANI32WlPT&G!n5!Hvkec;FXRr@?691*ohHxwzHGGcZZ+x(NqAx(RC1L zUDmf4A_s&3U$|Jp{m>5+Bk&*-7O<$UF*5NMb04C+6%d*q_w{7H6#o=Cx+jmZhy~}QfMS+K4i$N;f$!{n%My@Kb1~rx)$+cpKyqb@cqx7 z6nMiJW&C|?EJMKWvUC=UtNFr<*?S7 z#>DG@JM}Az0$s^^j^Auu|7BV5azVnj@iNMSj8gAt8qnW@qrCryGUtjH*PnZ6ZTc7wbppLY2a*@ zfwQZ$Hoxyp?n^cE`BuUrkMExNT+4P!*vr3)JiG*3%w$-Qa-5GD+PvSsj2RxN8A-j^fI&_7it&e(7EjJv0QOC_?cD_5)C zUxzpgQYRC28NcAy+J4&hgHBX*f`4Qlmwi(&ayaYuV+qJ^T%l9w{{7t-)e4&ffBcbl z1@xa&zP3lS=La3R^uZ|-=7zZLhNw@?bz!+0KiC)&9GtpqrMQycJ$Xr6$dIz!w!%1! zk;j<-dv<}Zkhy0jJSwKxzAnjgwvt15mnP@DU05(n{r99jtYIW}g+#=-jc#&T5DiFb&K)>{6)f0 z+?)M0I-@+H-(cw{eUBAzh1PFU!eRz2$@?*5-Wp_(aek?3B04Ab!R60N$`!)xqckJnN2`K5gxjKE3@-pDyWmaYz09Z6b*TykE+=*~u|}7+YzSo*T0& zJ05V1zy_4efZK~b`+13{Ry|tIZ6rr`W!uAP&i@Ags2er9Z4VY_Ssv)h=3F^jC6H5I z*Uqn@R{V!Y7snDd&x&Ssq4jn|iluLttG zy*zH%63oht3`NtVC0?1HNi4>@Ssu zH?vx8yz8yHD24;PrqiTS;1(DG;_y!ret{JDTjGWU@~uf*u<2xeB!l<+LCkB=C*+bJ zNFgrIm=yt8#!%&B5SR1lixp6m>P5fb!5w=z!GBYEfW|+zZi7pb=rZS;6?^ADV0Znc z;+?$|l=*7LkC6!G~!=~2z3IQ2&RYDElDQHa0x77|vdxWH*6_$kgZDAALU z<}QcID(Bh1&1B7I!SrvXv07ao#nCzEECc|?fx|+A&-%Du4HY2IBs97R`TyW!VmD$H z%o=>Yy{VD*IUH5Byikp>2~#@>dck?9I%x-^9uxJ)TY-AmM z@BOlyT?~6A&7P9*BW708VLh6DI-EmL%oW3@oWh7PLQY62n3!fg2d`K(|5-q(x9x@0ws>dy=yORX!v5DdgbBFZ za)@6xtVp0}EexvbZ2xp(`h|ICD|u~n?$BuGZ5JJR&qNOHDtN>;I-nE}@!ZEf^;hV!h0{Of}Z5i#jcANd0{N1+s72?IicywY<#dQ{@Ro zJ{9td5BITKFMj`Hc8EMXTUYy-hfG_<-J{U*&{ZwYJM)+@U;jM+rxZnFZ@cD^c)&{s zZdivf*LLfhsdohBz6>K53<((K&Vn3aY6b(f?mh5>O)am=CsYgqjqg8^D4u`yAC&!` z%+is|lE?k|CXpg|b(^yjHzoB_KS?}Gw}A%p_i8Q3dyaHm9Fd7-IinxRuKiBaYc>6& z9%B|=Nz>j=CSw3NZREF*^D#|v5IsiO?PV;Y8Ze^#PS?H!p8pY}gHC-iSIL_J;-fhO zV1_4({sk{^5VCXBM|Qnql6A^|$52k(H}HvPs`Y9Kj)LB|Wj?as&fBOiX247M^JbD>)RrPMX#j{ooX6i zxY!AoWZ1*BJq#+%v2mM9eHAdpX`=@p!W-gg-P3lH6T-283R_NF4XF_lLdfS_? zw;1mWFK;?l4Nx*lLJI92>N(joYa?vD|t+%CR`C*sSIk({dBJm_W^g~Tm zen)j`Mi~MUs{!Myu6avZMVAY`cA1I)5JvN4v-RXMC|={utR(!bF}KZP)wWsvS8t0b8yZl*W^kyru}rE9`V0k?R5A>%B2>Tz#> zSBzQP@HWTjK_VSXElc$;(KRztoJx6NubU z3&)uLR79Xpp~XX)FQ6uZt+A8y2zxA`D6RC=J*?s%dL%qzE4qdb^Dt5iSHSwmZ1wD8 zl!lx9YK|3?4p=cp74~%G^Vc?c^uGEIx$yJn-dw(&HB(DMvH#Ma-4dXB-U)^$kdr2> z9gKU>UxZvOxE;Q>jyrD)9yoZ&n}j2DyBPu9Hb@KFIdx+{?5h ztIW=N!lP&q*D?&=;+u=jw7&l_?r3`7cERcxyn%~!(0{Ze_y92t^HW;?kv28Bz)Ic} zFT#96zHz3V(B6Xo@>cI_FJFCm!!Iv2BKuXPzB-L-k1=-UNNl+9>zt(#dLL-?wqWVA zu_B-H<)DOb+Ox;MHmAQk8e@ngwP)8TmnJEV{7$OxYw6S1$dJ0F5-g?ueU0S=0$g(P zCrfele|J|wCj_6r)!FgfNlkw4&EU<6m8i|z<3C-F;qpgh-d|?ge%!Ahn5w~OZECi~SUkGUJ0Ch^94^;CHqHD)sDts^^4~f3W5L`QltG9fVpYEJp)M zX4@giq|zy}P~fZ7dIyf0*pYp4&Q)Dij@!QNl0x2pLlu6QNbdC{x1ASp2ly0cdp!)8 zxc(vpb(;oqG!>(OKAWLzZpijOlFl+J%B~B;AktDIozfxQEsb<{cXu zPkYt`FhhzJ|71Uxt@!|t|69*%?71Aqd!Jz4qM+KZlgmUqF{zgmn9m9Z=5xY>ILh; zMK{Y1F}sjC72!TM)y4cGkvIdCPej+ea!?eVOSeFT;Bp)|I1vSZUFSc;javR#O#)^T z=hL<5_Je!Gmt*^VR$q#9{gNp{yZhP!*4!%<{ls8VG68L5jk<3s1ko4__Ip{HZ4nkL*h zn|JM63}5OP6`R5w$j2H=kYx=GR!OPrcBa4jHs}~ajKE%qR)?|17g7>;`&h%%cRh|6 z#iT>ADHKjsnn`TEk;(4T)wrk=$ayQNaJ;BHwtw?0IEmrLO78ZF2s^8;~@2DdWI!&ruz~EMTBP1jex%Nv@|uvV)Uj zbXJ7A%9hYq1TQt~O#==MU`_OkoqW+VT8UP0KvjwUioa6E1M{I7UXSOI*D(W^F;Drb z$J8sx26HYpiJwu<2)O?#z7LM&iVKftbQg?(|Dj(MGgCV`ckC0o&vz$`45~Bv-h%t( z4hN)2l*=L!H_F=!##uKD*=rwv(z$HhyIy}%GwXOvTmEL84WD^|wNm3nbB%Z)Nia*T zw$nN!$Y#_yrT3b3Mf)57%w_ctmra81BBPxT0UY{Ubt+Oh7lwm|5=^-t4a3CL@+zFE zA4d^-7G9=ZKtXPr7aR|l#VF_rkVw27N(#Z8_oRW5Fx1!#48z7)VNm;4DFKyQ5ma}G4l6^3dCE|3}PUO_A(ym~Wpi!>5f(I}f&H*EhiaM3u zcq<5@fuCMUd2NC~`0j)D(A55)gnEbPsHwpM(IvSG^hU0LyZEUqWY&xCc*K`Gcpdoc zSChFUZxvQu`eBqDx&a3&vG3&EbY&Z0`v)5d|3}g zTQp)RnmWyLLdi5N>(Z{2x!3m)Lf70Sr?inf*Y;gBaI9Z-XnF-a6~Q_j;AWNrp}X4n z=Nnp)wh@}F$t(e)9V5!8Vn8 zlgJTtym>f*2074kc%0taeXhxT4?p+)T77$JdOmm4?dc6gh3;-b-GJA@vTt_f@UXzB z75auqt{4EzUW#{oMY~3Qmg*bUYeh_Ygr^ff(_i{tUgeV?hmht=z13PxrqDSK9_=kN zdq2MiQhrsX$c)v<9f<)lp7@6nNbnnDC*o9ZysAU|6c4A2Ofh||!nFOVA$S(IeMW*~ zLE;Pk&1_od-$|>uvD%f*a+DFmVbJ()MD)yMjz=mye#_d2P%7OzM>^LUg7Xx}2WK;7 zD-A(S_Ft)1J6^LYGakn3cflwq^2y4?NSeVmw;dY7;sW+)3Vq&Df^dTn59)c;8cdRjo;jAA zrgKHAO`93&#dji=SD3|%^7TeJu3JwrCcgC{BHlScWJX7O8GpErVSRq72l2QHCR^Ew zFH5aeYp?uO^|wng9A4Yo{OhzlRa#5T5~T)nX?P#nf1Pqcm*b@I8%MSGs8?w=fS0)q z9D0Q}@}i*IeSbVv2Xy(x5;q-!F^aa(G`U(3B(Fr-(dI{gJl** zzN9dDjkRfwp_uskCGap0u!FUU2!n?vc&=3*1=oGgZeQzRH4SQR`gL&cUckcl8ET4; z$3WXKkKb%?ys7<>sXB0-=qF3yVdwMNs`uLejZ*?QxZtEGgj^a#Nzc+ z!p}=an>WQgU2nHeAi$(-^f(%sX5eWP9sqC(UQVsLtV@FKR@|yNIxi=HieR;Viz(29 zG%S|Ep#Zq28+{loJV%cz7|CVF)||dW0vlY0U2nk_7~@$yfyEwD@1vv_gsvW^{H5w> zNOjP*@~{@81Mb{%-o{Hrtl)J1nwS5#?yGRJPN2nEtdP|Sn7sfm1LKDGtOC#P+di@c zKXMkI5fvhb`b3YbX>s(|e`#HZ?MMrt6X!VP_LKj(j3a)(OnLaG(%G(=oP1V^HZH0$ zgl@K8?>Bh@H~zcs<(OFRcMu0iCRfStCk-=Gq?>4?r{3h>H-*4B3i1DZ3`WA2j6km@ z;GzeSXT^FD*fRQL&s*+)8|B8>>XN+{jAifvjm(m99Dn7HVrQ-i73p#YhMqqoV>Y1cD+_f$~d?)FB@j30D8o; zQ_KDV&|Y$^n`i{ij0Pv*VLu^S`IAi}-z8G{C5I1M%givEE%Qy4@OOHy20|~wZR)#$ zWZglk4OlC%sY^I8!GLq1!1z3tCi>Ab4aTm!2DNx0ZYkdzU^S&^F`sx}?MghsBR9YV zfLWy_Cy_P-5TH;Nxn7>CHfXbayxNb(bubNYZSd+c7Q;Dw$Cc82ijijEKd<3;)_@nZ zumY4`f^Sb2S@iCL${hbXC(pQBHCGsQz4cdv2o48LpQ@GoclyZQ(qC;B4afplY>bRL zU-E8GhEVao)HHoKhaLvw3ul+c2*dmQwytLh&3uU+(s(r;wkq!YK2_1TQUZs1)3Z7= z_}zf+w7F*f?A(>cAx4Y~H~Z1o&iq(H=L_Wd!AZ91!IDXJw#$Y)_}-}SMkL&5 z8J-}H1AV`XQ=^vsP)@N?e^nOr%rB+tik&4{z;D`||4*eGUL(uAjKS6s*E-NHFfSDl3b=@1G4&&3V&4nj*j^{qYEV=iv8qKy zEYn`Xn&F@O=Z4mp=LDwK6Z|4nve(RN)O!_IXz)?h-@zuTh~iutZE}7s=Hh(Ls{Yi7 zTfUW`-w+y6`NRnpdH9$uTakiP7~8K^c13XOL2pDrxP08)0S^;!SC`Yd9a}8`E&)eW z2XOr^aY93zz~hiw@WNT*m)Jc{i*l*7Z-Dzps?&D2q}6e?kmVFdYzzp00a@|GW&EbY zh^F5B(G6w1;MJWMahK;Up&p5Z-Mhz}bC4fk#JU`>pRwNl9=dAZ5qleWl4gl|LjORk7(S7HA zr{B8w`22F1rYE;<)p6d4|NYwY$|5ll(E(i;0*ae%WOIMt6>0Fk6E{#?$mAhuZ7cN6Hj#1tr|`~ z?`0uNi9_`GZy`V62*_gdZ_QknMYWR{EkhHcz1Ii={l2qlL%EZG%v^l=neY)bGNO6D zx0dsE1K9nvU)_MsG~Q?2%o4Ya|Mg~evg_hqmGx)|!1-=F??hGP?xD%DZ`}+~0y;J8 z2jjoRkp(XrcQ@XxG(HJ!nEEA<}K zs-}EShCg}QUZO-mXQ(-NnJ3p-`0VB5~p9=BUKLdpk6C>93=I;JM!h$?C&@ z(wmlL%dDYFKO+H%dMq}qnBUKZ>9=bU=q})LaRa%m)Z1h^v@RcHu~f|-dF5PGA)Xsa zZ94I+Iq%w(_;X!@jNjTHqj8!39=V^t>TNzr$$qJ+dQhpz9UIo_A@a|A$R6W%{~YvF zNN*?0B%=SC279%o;aqmb&{$Qo;ptS%U8HXWig3%?I;!-XT+SHyz!n^Oaz`q(z=f-3`X>azB9v)_*cS2K#8 zwg_A=;@POR3I(F-qZQ4Qz73R4?Pgv(zYbmco|-PpxisPd5F<4|1eYTkB2 zJq^sX)MFKQiV|f&*uHq-A)|YL^1I9yX|+p|x_TbYzS6;2+wC#5ohPoBlB!jSFBgP! zHQ=H{T`{8!mKMZ;<`8z`C!1l}7oWZhtbJTp+^JA~LI&&3V1f&V$+-;8HkDYIT$5m#Pvi}hAAj_a&MKx zp0Xn-lS;~``{P8>9q7UO1T36;l)-%L{X!-&)`IgV!qk5@Yhdpu@Y_`J#u=lG3SWo7 ziD{Zf5wo7Uip)w6#yxi*vpzyqYEtfs`7r){x9QKo4X|aStD$&>=L?JrH1h;-Ii&tu zaAXnCVHWoWdsjiyYP}{$pjHTkQIE?kfpA-Sh-W9xnV}D`H?5>FB6=*fVR`F|7^Yow zi(aXC(aW+iPq-eZPS3g#y>W#7ErCowx+eu7FB!mq0KBf30ib;6uyGz4T=w(_rT(;} zdS^8$45H<(^bJIQ`S^7C0PcEu948=xv|pR)F=8`WUi+`HJiiv5dxKZWbQ|U2x3Y6k z+~rX)X>;U z^oR#MZ&psVk30WSw+dpp%Y?9u2S!sj1+R&$K-VYrA2j@Ca;gPRYpj+ko)I^pXJpkK zgYuK^d)VLbRV4R{Qp(MB(zgBSvV^LDw>*^N?^#7pm&=S`!#IIqsvJj67QyG465 z;5Wf9dqaBmfDH}U>8v>`t8Oa{>J9)M`36u)%sCl4`ON3><4}BzwD~RU1i)8}Nk(%= zf&(x5&H)!RRuSI-KXdLN-iq}>3|QnG{_dg$*d5`p7P*nb}$z&2vQW4Nx9T!=840s4% za>$5%BNACa6&avtB&Zb^H zga86C?ve%6N13P^63?3Z;;s+&H5=*g53-z|rUT!GsM8EgO_6Pi7l`>t!ezvlA2l2&}et5OIgZkDb zPW+RrY@hef5WDPNIG|_bitq;~5}=tKyp4_stRpp;pesHJkBX=@Mz>Wu-;vkxGB4pi z=$Fg#8gyBKDld$u)4&AVopZ5_~s;!PTdIzw~$NN+9Eo9?tq zr)&cUKEo8^?iwD4f^xF4GU0!&PW|V0BnNN{#Uq;TK{kYZVLv^){pDnN9$Oor1ka~! zb1a9bDdPS5-oX1k_hwADYAUB|o~4}^qj1nQmmTP3A90ed$<`m1(OGTdRD*_jfR8d? z@pKvh-bEwHz(9Y^?{=QFP(G&7odej6TH>DQ=Uh-MH`dY64{WV@Ml9_fE?Cmmt4 z3^mPB9U^iydl7qBoOXQ0Aucc>an+APhfaO3{*W*ao2A7nM$dWI`_L{_(7ssJ1d5P)AhF&=&%79&-V z?X_XE3TZs=VCgUeY$s5k^{3lY`}oQuf57pwejZRA`#QiP{I3<@#1fr1+;7xbO?86L z{D6EoXQ9df-taFSJ^w!8##f{i=0!UgSkf+_b1xLo1f=k_LwV zFA~KNuD1tZVafu_u=EV2z8U{Q0FF4^{kl~SfSXJQAh;eU3rv2_%YZ`D<5IG#h}2B+ z0BfU86brU-*>V-=VYv*BXWXy(-RD$4UytH2(&j8WrqTGGF|cQH`;MFav?dd2H{AzZ zFA>^?SHf08-DO^W)qgiX6^CRm%@)!3@yQc3DlX9~G)30~Xq(geSw&zIwO9<8jpbQ$ zJuzyBdZ1Or$$0<)U>l_KSyQgD6=1PdHSa{Z7_nSDSQpp#u{KIM9Z* zd|qRIy?j%;aidep@zcdCezJL#EqSH=t@T2NP>>Sn{%^>%WFuiGJqn`_Gx<$5h2nE~ zf}r#%1OqWzb;^@2pCY_R>qVbP7NZWDD-{(%v!COl9QscZ*(ANYcH}_-nItkf<@fEf zFw5m9_(1m{JhdUzpcSo1hsWU2*0K)?YwUD=9jER882$zBZd(V6@zVJ&Ug1RsM1DeR zHKaKEBvkhGHN`DhIs1Db7d_`Mo_TdY%fK=jCWsv!*+;jz7t`K-p1t^mTKYGfNBPL} z6e9?RAeHG>Nz~KFZ-HM#MN5`MlDi)k%;TfGFmjP2p$u?6=zD{ob4Q1S3vHH>mraJ5 z1Ju<}dC_GGtKq+Yq>V1!rd6WlR)z6+&SMR~td}iZ=?cu4$=ecdcI#oBXs?f9zWNy< z_O=`%WG=vMNC;<9#osM1O9Tg%)V-xjm}X_)G?OwAX5kI81=H}@wJ)_4kB7aXs;h*! zhhy>W4u^E%`B?rU+!KNOn-1=93@^&zuDVELp!jITYa*{9PCzV$)~%D@4hL)iYH(-^XI_be+ZnzcWr6+|4ebzAf7u+ z$yYI(ewyw%7m3?+QLpkhEqFJL45KPjb=rUAEb&7<#D$1+M?V>S*wMX=hy?T4^Tp$a zmc%s?Xeqym3<}KXnuIG#Zhdo_IRE#XmTFnG4(jzuyoW+wR8GDp;g5eh;W-`b!*!A2 zWe8X}GbDT_@1eI~=?(!B_)Y}Tnp=`aOsU#uy)fR1E-Ll;6M~BI)iv6|heWU-O2BBy zPo9(k1>==M(vpKBDAb&Ng@^naO``Ts0B4a17sLE1r+@p}@0y-=uXk`{@Y@`t>O{W@ zUwP=}N9>`{Nl)$sf3%%b1QF4r`LDhon~XmsKF$H<`N38IV1{G4SF8&bqzY8BmWn5R=Pu>!brz@Gjs_-2qrd7X zEg61cSl32FS;)n%sk?CRnS9S%ExPTv)Ne=L7gppPm%PaC@Us49_><-RAmi2kmm0;) zCJbir)Xe14hW9hDdehOm-*c_AOM*oeMD#>7$_uRhaVMUlYF1)sq+{&$JNY5EXPkB% zgKhGmm~Edi-_;CeMxjW(<77ZW%ikzol=}qpqxEm&9Hr;`s)4Zd5m7GNr^u5yvrp9F zLn|sr$~H7)ZCAy4d6L;e$HOb;4yrJ7sM=Pl@|M|-y4== zo5t9u@rgCo>jfGT_1iMw`b5<*(^=r$;#s2udyvhEin6dF$t6&B*cXk7-Y zY&t^(ZqjO2k0~3CN$x7@mF}h6q|D1OqQs`ZZqAs7H~y_et6Z}BGX+3dN@4$*t6%i{ zE8rB+WRI;na$q)BR5+P%1RK-~?LL;u94f-+k9fgDrcXH9NO4r$G)~>no-c)oh(^v( zQH?ZfDjj#P?}|)Qw%ukEUClx|e@)>x%h)Mw|dWWJ*!CYv4{AZ z*oq(nek3R6=1oiZcTtO6`+oBd^0L|E^|jO4%isPmlKMMmXDW;!wfmt~@O^pLyx4OM zi6ksBM$6wIJfl=}T^359v#vO|Z^rOF41;C?*^Zi=V@aw;qZmJFdEC@)#)UK7K~wt2FwTo4<~i*c`dU?pwiR|YWu>rxYBvEvsC>wS z(f$@bV=etYUzl0*m_#l`J$CfYC^6-UjoqBiysDgj^R13uS9xYYk$7rj$uiH=-+x`+ ztFWtH`V3}&{FR5~>CKw>@9N2#gt89Biypp%%~bTX2@t7o@E;GO`j=W52}Br*q?&Xnb}5A&cI( zEU0~raC=luRa>hOW*b9ef8*azt8N)`rZyuOLO3XGMNoc4(}X5+d)3SVe}xYf56Qb+ z%ThVm9I!DVz9uAQ1b#1Hd@^?<3%tj`C+!9Os6FJK@`JDGcrsq&8N(t)Ki+m4PS(j@ z33SoHy!k(AWlZ5QAM~$O2M^E6C>`1 zYCbnNoQO%~HgY??sv3q=LJ6dg+xvt|!_iGMiJ?bfn=72pmA}Qe5co$gk)ag1$_l*WvXkB+k4ei1S5@X_|xMT3w=~a-0)u?>67j(lA;lO$gX=2dl%6}f%8-BKQJ&90} zC2$gkduA@$XuF_?=U>zr@9;l;Yo|?^vAuR_iQ@-Z+RTcbxcgMA{?1cNQ<8i9TFMg2 z>A@ba8wmPXvflw@Et!qyE5Cn~jbU3ekX+O`FL(Bphkf_~Cz2xa1B;pwe;AX-Ei2`g zg2!ZYoO_PRl(mYOg&ZHzYjO|S%iJ}}8sj37uRxJcD!i&VJNf2yQ z#vHP3BsYi=uc|OV5ke8A1#J2#=C~jtr}|$=<`~@iA`i|#!r(LR|Kd&HwtUEJ#jX{g zjjA*a;s{F~9Wkgj1AB`LI}gzCH?Nf`*ggnL3e>OSw}n)PR(;Md!f+N6`yA$BW+nzZ ze=q&#q}~mu-ncDu+@fqe+}Eq?WI$R>^R1VmZ^451=dtvK{K9VZGB-Y|cQrqN&Xz1E z<_?WwvBwj<0ppNR?085(s9=1OVpzmaLm8yt!zFDLQrwQ>F|6kJ@-S~74#RSPf*5w= zMD||`iS?!9z>dk2EnFQB(Vy@=^e(;`F?R`sanKB&$J_=xM*5K=;&hggaaXS`a>*;o zJGW#oBd{aeyLVv9upiJgE@@j!VIFm~ts(f@*E9C@QS^=QN_HXXSJpO@qf10!kl@?w zA>4tgJ%=TjodrNB{bVZ`o4MF65|{ggLx1e1{>V<&eI}NQF_6n@EG*hy{5Nl2s)2X5 z>xl7VjoxAE)QCwS#U*CuG`WK=!1lq+PV?}SZs+2TyVerqg~qK($i5rBVb7b}6LOL9 z;re}6{)ekyablu&!MI@|DmU&A_Ut!jeDM;K z1!V_gT$;AE^V5Fvh7uZPr-@K+Qi=g|zu~UgY9XG2z5(w@4(g^5Ch8Cpl-ik{2=}SB z-hfuiUzM)YrcKkf9Morw*U+81?5Tq26k)kxR{KbwZ0p)^=V6D)Q($R`^ z2Ftu)1g%x1}q?iZiKGX(;F<-ewWF4zz3I)Wyv=r2x@&{}x(lL*Kq zCu-9_kR)-0=o11rJ$XUud^9!$ z&PO^23;s`h1H5J`kx~%u(*tnQmD1OevFcURmTC&_C%Ne;&}%D>d^8&hp4PxUmMCaK zq$r+f;SyqE7RRN=b#_ICF4vIUPll<-nfs4I6Nxo*KTsnuZKpqkbS1DopH1ruJep@LT22%@SD$@%jT^^VbIO>IUnd5r@7t$vNeGs;%FT1&zW+NV0!jUqtZ=D;ESmzX;*r@e&JH+sq@qY*DEB;3PpZtL)VmTsQ$IiA&K6?3JM>QE(|K$jM_ z714n1e%+OAuPUfme}TcqPYF^Wws(aqN_D zlrV$u7H!Q$*1g2uen`Xy;Wj!jn0}F2GI{%8S`CdmCfv{qY+L58{oc!=L_1lU&03?C z(ju;aum0~|<(h3#vK%Hoy$@f8(rbAz&=oeAouFTVEKVW}a12s?$YAjS)iQicf!n1) zQ9J+-WFH+AyE|?6u+~qbbPiCw1B)70gLZ_FY(YNPHcrN!=aRFf9KsZ@bWfOXXD4o4 z*o{iMlkd$=;mAx3Nu)F=*?Xn`{eA=;8@xjh%ky!Q6*U|B7108+w0XxDQTWsg$WE8c;-VbcV`7gNeub<4kR zCPG6j`a~xw;*_-g=tY1@!@z5!MI9$z@b7}ATLqW~5$tf)7IXz6b}Ed?e@7zFS9r0u zq#KRmci{Q>81fVA=hsI)fgUSkrBNAr2cG+Of72wNqL~BhZi%P{=gZrZdhuD~^l9=rLM&GX%_JI&p zPNwjavLQdT=V2*{Yd+d|>o=GyD8?a8w_V$Wuk0DHy$B{DR3DzKm^(#7WwjT*6VOfb zzgy3Ud5gLlsjV=7yOUu1xWDmd`Kv^Gutk^w@)K`7v+q||mY>aR{}@N~UcqP=+$7c{ zuSAEGL0a-mGXJ6mX!?c{)OK?TPdcN2X5_Vv5RHjHXpvol=#|VkYtt;2OObbOQ z4N19Kd*3J3c78+r5~W$at-t8fI^I+|al$z($+Z_VI_A}+Z3k9{Sk2n&*>6;^ji-ormq z8a~7#-0TZa+s~kKXp?B`4l1L?YJDQKmfigp89E6l-gIFKzF7pL*D%*bP~=2xjZe~p zzw4%Il*jO5iMl6zwzkoctxku|y@gxI_WNd=j*wQC>NH~0(cbFCe}~}`hH@<6=s2#XBL;0h8I(i8*;~N(op+%}sI^ z&$c43MEZ;;B`+`JTfarYlb< zls9e`!cNcNAlY3?dm6Xl_?^+60Yi8lksaL_4&}E7GGgix7P3j^ude9PveJA3l zind+H(p|p;IvjwV8GgLkcH1GZ(P$CfLhr}G-l36VVUyXpdD~$7-iDq)M+@3t+@g>()e>w_!7Tt*B57$iQ zI4xIeNs8HvU3y^DntuL6_^T8FA1rE~Yd0!}2}<4K7{dL5H0;Lu=DoeGu9!II!q+vq z6;Dh=1!jT_LGs)bR1mlmuE?%3+o5!0KkzS9&F5G(6D|KXsF~FZ)#RkcXWo5#OczWh zi`zSz*$l$+Abjy$q|eQ#46E-Y$`it9K50B&9p5dn|KaK`&xr;1~uO$`Da+wq2g zkHARAdt_>Ns@U^+1ks+r70(vNV1B~dcn197OHSUYAipDWTt*AJU`TIzbURrgj{ZAp z2Y+WG=MNX&Ajb?X>fFc75mwUA0oCco zEu#qM*q6jUt4AAM_qFLq5aydnuFln4URZ1VcYO?SDwKe zQ>Z1aR0`%{${RKlF4xTKGeDJ<*1b@6F^gJ%Rh$U%br~NGH zL>0gje9Ps=ZKUkfU)AlrBR?oCafU|kseQ_{Tl{`dN**I4V(^s`jeC>ex!C=3Vmh%a zt=8L>`SgL7{W22ZFL7l2+=X45ZYM00K{weqMQdqpoJ1yMY@4TELd_M z3Ai{mfM)Z>2rHQU*f|VD{QlE=*fFRQJ-6KT?ATU%l>poVg{Gd2ymfi`)%=4*DV9?N(Rm zXFkw4jC4vH);kYO<|Oq_Ag$t#DnA(BZjD)`L|gy3{5Mz{T}C;B=3G>f({T||h;yc} ze}senk!qFTBH3mY^Yf6#D7eZfY5CveQ5Jo&@LU@a^P^1JS0cM5P$C@b*%@V$e$T`D z5c}5X-DGD%yzSHy1yRT!kuIXwZHDruA=w5~9GM7>^1-vMm=`w=#j zJyBTa_RKjChaol&EV1uDsAMOziWNud^3m)rPij{2@euH>1NOS$;*bensd6fv8~smz zFW^mjHu&I#vMWZObgb0DjJC1nL;Ky%;Ub)DNn|_imQr2hQAl0CM2W5uT)YsB?|Na! zP-&_4`;<6_2SfKsQD%yJ=(B4wC~|%Wh!Uyo`>*#?UrW#IxrgSIq0;!+>F${A$J4Kd zmo@IyS(Iwt_(EmKd#5)w)CH_&`k7~q?!Ps;MXqOn90ILr#q}rBOQ(;=g27zHDS~-% zJhyfyy3_~gr@uNWkGX$xo7FamAN^p}^JvN2Sez!1ro$e>{S-L!9V634nug6eiIHx` z%2|J<1zEl;?3o@?x3);Gkh*3ThuR$kr*EeAwlVLW8l$%Rv96U`M0t1f9jU;}voH<&i9UU$NFwJdJD z)vV!cW6|6Pvq&9kulebQBQJYDUsbcz0Go?3nU7x8W*|WW0X<-ZuY$@Q6ifjS&3w z{8_rUx*x|T*>KHJWSBGDlhojZEl1pxaLY~NG&=02*{43X153;DepQW&NhFvH0qYQU z+Bmf5sq|hp^b0VwZ?W4)VSu7}qI=i=Aohn}v>-;U&wCNAgU|FzrfJrDHgNJXT|ui^ zd*C=HaS;k!zJ+CP9F&dJ>5@rA2mM4d_nGwP+=pr;uuk4=QhB;mk53K*t0{9x5*hoQ z!jk}Ing3i)I@j|bCjnGL@R|#t+SBbs$-S&$E=|-g(lE-{se9`pF?UJnig2DXatQtE zPf{41fi=|wS0he%u?gDlqdFd&**dO(mQs8E5|p5`j!UnI8uHTAOD__P`2KP2&!3OTTs5`E*N(o%+v3?)r2 z=|dnCxtVR)S)_HXX*4Z6;}?t(fAtmdw;BJ50^XNvn++Z@T0+VHflqI6J|m)R(UA`ZUv*Y z0L(U`Ck4&mA?!aner_isj-EZau?Xf+Cf>cN8( zisy)nXjv>KC9$E3%jkJ&3_$RM3Z&@f@fKf4VgV81d$C1 zc0*T#F`ps4JFGI1zVb!H`i@6-8t?GWoi(Kv(Rk$wV ztVj?XCj-Zw7EEF|gCN;}>iueqdkH~BEG-+XuTLaClg!^qd$&quL5LIsc^Fss5q1Od zA9dIE`lr4iPAVPXaK&*_3Db>cV67qO>_FBKBGZi}{}`Mndt@?!6lAl2p} zr*lK^dHO@RVCq)F-497H=|PNtK6MjQDRhbX@q05&E!rGZ=r46fa)-UP*iUT%lIG+Z zZX35aozphf9TdePhe(*76TdSL(7O(quJ#w$V%YI`BH?Auk%HS-q;5i#(M6IKq<(8N z9DYlzw>aSDJIC)=xG?7wL&r7Cz$j(-_CNuzWG&(zt76aD2Fo8}DZJ~CP|HS}gy25@ z2>Zu1y5a-uh zHgVP7wV9+{7Y^4t_TC_my@tmuwprCl^GhK&di_2)QX4e;?a9WvEMtI+K}I1S3!4%* zQ^8x1-bDjZqKgWn;|cV;;~EmhmOC>!Vb|84Kp8yLuj`n z&=p(4Dcb%;pg<&tn=HTmO_Q&rST+ao%h_24pD-DuzcrM@Ev7uoc(JKoO03OI?E7sQ z-5q9(o$z^A{NEgWR(ac^QCD$T+Q-Z{J7W89=swyiw8xL$Bcwch?j+hIEmGJqF2`E+ z<#7_jT<`d7daOr(dgK}@qo1WN_*xgT+FEzONx2BJnDWrbyrc@JziCskevP@1g^W1j zJpFM~P|F(FL|t`$NA|^=9dSFe8d?>mJHo=m`vcjIzFprYe^*-;dm8Vbl3E%3>?nTZ z2B83$yVgo9)Ad?1^sD5kNW#!V|GK4M6{U!FIPasC03EXuv}$2k%#KVV1o?5b6?3Tc zRA~pKM0VLJiKds#@m#>*Q5fNAt(E?;=3Bmh|6Q(@l`lcWuZlksFc|+yWAkPF9R7J+{pktN)V%39`;Uv(VcHDaxigWK8asv44OOv)S4G2mKwJrCw=zg*=nfhlS7J~D&jio?Lub&h{K5nAC z<9J8Ywa8ym&|47(4v8yIoRJhT!!Kw%pdy%f4L}?b5Dl9l&P&W!Q+QwH8E2?{iA^B6 z?`Fx_B)M?GeqH_XT+Hi7d&Ka8raA@9aaWkw_H7tq{c6NI^}XkFyq~u12Jg7ii?gp% z*F{F@0AUu8R^XhM;oOqY(Sq4>L+PI;o_~%*`FI*W}+>D7|m$5~0gqbG~x0 zk8=c)qWyg`{1VtLQqA|Rhpn*MMIgJjS}Ng>j?pB#*gG_K+&gK6CYuXIl#CQxONq-i zbk382@Qcx;qn3Tl&@zu(iK~CtHFpV~wdKJg+-c(H^BdmXg4Y=m#*<-%x+>$mrs(?w zu}!g@tD3Tpt73Y>Gc9CYeqzHIy$}1vp)2V)&V*p}DS@A*3frQxq;vPP z-q%D9G&#W1C7TGi`|@8$Ww)LIMUM!W1;PTM*+Ehz0lFh}QU?iT0^{!`9Y>(~XwP5 z;d?2_pY8QSc4XboAs$XYTJmFR31*o>a;TVL0g7*ZLZ&~~1gDU>?1tM!aEXaxNZ{R? zy?72esC=FS*k@KmM|Fl>CY)0q2G3X8Di$oRUdI=hq9<4CGRm}=6R!V9(piT!_5KZ* zP-zg5E=4Jk?v@hi2Bo{ZJ4CvqQ&5oZ?(Q7jjPBT|5d-#~@B91rTruAglf#5&s!R<2l(tSKHZd3#{{fAMUHrxFs&3Y#@6V4#Zi-PX%TMT9O-cTYom|Oc zJ3q$M|DY*>Dl4J9poW%H$>^>h0)bCX1|@%TGaL>Xxu6t?;_*{ zn>!;2RXSzgmPeLyjx?CsQ4Lp%s<$}Zi2lH!cE7g#rOp4KJoibnOrM6dp#P^h4gF5? zNhP?#$V1aFsVxIDm|JDVqOaYzV9CR%_RU&)_W^C$c!J9HUTuYEGh<6W{`+*20(&W% zyUJi}mRYAR`o)>^#p-}nXI*3z(@@7s!HNsj-i@Qh<6D31>ft>J!{}yfZ~1|y&8>WB zc$si?xz~6|O&>(`4;!PL-*sph{aQj4NVf*`XxV#M?dnAgDVASa4Ce)@ z)JA+8bsj>)<3XtKp{*HDX&0}PP3QbQ^iI=+*^iA6%6`K$HT|}6M#nCY^<3rkPrOS^ zW=EMX(-zkZa0sbM`}Zv{=an~@CZW@`M)Y#k_!LWF;Rl!X)v4rQXK7j_h>$C52i1Rh z#X{c}A1>n3-i?#cJ#*SMN1AZo?nq@ls8!;v1ATnoG(!27UC&Hog>taG+87{VfmBz^Yf=9p)fOb8bNE4iEUbP46TD1pCl=w4WOeWzuiSe+38s~^VRqwn?s~e*2{}JgM{Q=O zcl+PWz4+UC{^7zs2D#7A??SX)eq!dz z5wO2e9h>vw+}%b0!B;#<1O2<&8b=jQnxelKES#_PQ6q7+B*oTjyz$pNc-SUu=Gq%p z@Vh2Vs!lbM_CIl(prs}5l}|TZn#C+a2HWwqk?!+I&@t^_Ys>h~@*|10k(X&KGS4W2#g&XRYQUO39YnN~1m zL#e9nmYC-6?{oyN0B?wg9(_^+u|A3PVv4DC9>$VH`HQsHQB?%{*+iJ*EmP1=?SOGy z%@W39P{^ue7KWkenK?2&zi>`Go=urtOsFw+-h9Ak;pHIvxSn*SdMM2$F#LnXgA39P^{tfE3Ptt-Way8;mkIK9l%Sg>MNh(|b1$AL z-+}r#*-wer{(A?b6~o<_$ipJD@8VElw_Uu=%m z5`X)M*DgS^cxprY<@OS6Vj3)FjYzWNH4WD6s|v$B5H^ z-$l!&!xfGn{g?F4bhv%!10DFK@8VJscM2Z`CvvZ-zsn+8x<4j@R=8`Tra!29( znHxQl#YR9%v@3h4>Sqv6?vZufz3y>T0>p;cqu2O{tQ~C^i}Tk>WLIw}holdeL}Ve!#SoH2t<07KORLdRHx7 z)g-*xi7njPDIgX;@wi{E$=gTfT+k_2PfHU@{&~1egZQ1yS*Z}3Ft4~U_dBtV%;%@q z&wmX;{*AcN^0Qo>{A%H(zStR`32VB)fD>0xu8gtosT+eLHY@u{2^pX85As$~=YErm zL<;kTuKybyPu1u44{rNT05b~2`CC7i6Tc4AP}{E$j2hNei6TAPtQ@5;AYpAX`&Z1+ zO`zOg!WhSA*Oy`QyOb-u!<+Hieq#^Og&E7xsLvC%ViSa9bTf*I=J32fbNeZ>c?uB=96 z(Vb;fyHBSfVT40dNW(7zTA?iopB0jR9AK!&N>DwhE@96(6nLzDdbT~|fQ1@1zi$%& z@be`+n3qbDr{x{8xdkGx%X=%=&{E!g8MTNsjWbmZDN&a|c(ATfFRP{(5{NpfZ0WZI9HS<|oPnDp z{`xpSqNo$NzDD8)XFuOG+q4_KmP~4)V@8j#?S2EyVB$=jXr{b@R|m zQR*svm3X(_R%3#VtyF$7J%NRJ`>MduUhRG@QeFRY^ ze_vO(Ye_nm3dy6Rg@24Q&|goKw1I0ifn19>U};L9hZN1y>(4kKmknCl@{iL$>n@wq zd7Oz-BS0%s%sr*h@Xpq9%Mgs-zL|rFZeuub*A6NY6x|BIC2w zJ`}LP0I&a*=#R)h`-pde;jqCE6N6OR1QEyt=D5mP9K((&x-SB%enNEdT+-)U#>r7X z%dtm^y&0*8W=D0v8WXdoanxnZrIM~}kSZE*avv&nDh)$y*h^@O`*UJ14}T^H>eiYF z=E@xCB=5F(h?#tDntsaR}Ja_dU!-nGt~r+SRsdFDj{x|ev8VYt7aTfS~p-?u&LqO$=-8O}x{8?78ln19|$tIaX^A zUW?y|#&Tz;e)riUPy@zsZvUG}(-MAk67GB77Wd&di$X5%%59`_JAlmAXkh<^_Dp2_ z2Xz->yy2hg1k9fZUqdl{!e0&>R7{hmBLwCRibaG$*^ubhy0 zmCs*u1da>y@F_{Kl@TMlrpa?-(~>EFrS|-&)k#7mqLY`+_BQpnC)m+idR|g`J9ePx zmB^Ms>INfzBS&}B=gFwb0k|H0q`dL{xvgM7vJ6+J^e7i>aWcfZo$ak~FI|c107>!) z5(XM)vPn2O`PSJhQ8lI}{ki6yp-*Fqm~^kCm6E)yrUiG|_o}wAP)vp39Tfhjrk?lm zcjRX;>iKx^F0tR1me?lnhRqM0>4THVi%J*BU;A(R6Z32X%0ZT)oD)7mjwac?A-M|T za~RvTZLQz^hhO;b>e75{F+@!MsEfhUzspe?eTo=bRi-8RNTe5j%UN8C{YC%DL^4sC z8@+A&D;3|PF8Q=r1^2a@|FSN-nfj&R3v`7zjdnBjmlUQ1(!5OXCD?@{J2G-(ys4-v zBuah{+Y^}9823YK(z48f=1@*DHIY}?&~A~eLG~gw>4uC<7PA*@jQS?FTR#ZWS|u_! z&J&7W+A3sRpG1B9k-5%O9ZqNvR(|2IL3_pP5;T6yz-cV&SW5lIXD*m$lpQqEjxSAK z4$^Z8OC)RkIaa}^=2!8}cZBg(N9=ggA^B6r)Uc7>wsWIVxuqc;jEEAozf`$sA{?8m z>-YFz!QH?gM*?khxV@0t=?8m$m!QOXg~lZOQt`nRe|#}V)`%rO{xfsJF47&SN94Hi zCuM3dzWRxnC49VCb2f~Fwd^RT08XW>&dCk_{XQlt0uWLM6ffT4ZgUi1%pnwb zL{!Gz^T@e;=M!Ildi)qVyKL^bUAC=LBmrgfm@cE@ft?S|x}N8&sK3J_+A>@OSsEzmiNplb!fIc^fcV6!i@~yjZ6$cy$Z9GrjcJ{%{mb>9s*H3i(%6TBz(ydw$t zJD(nI0NbZ-Dr?94N2)C>12zSdc3Ky5L+3#eb2?4bQ(}g zhGn2SbwzYF^^b4%>tta*xZLIcy4Agdb<+0S<-KDbjNk;PzmmNZa&8tM?E7Zn%aaif zRgkVBgo{9Ypu5xA0{3|-Y4S7<_#vN`Ed$K&*hppbpZ+uq`eC3}TJ#hY_Dk-in6p$z zr|0+J$F{Di?69Nl{~9VDxx)4jrB>9M*q|f#bW+(x53uX`c11|G(t;+vQBr@q^7Jwz zq=1dTk(sk=lv05cV9RT%n3v_1`zn*oQCf_OaIzx0DeG!*`q3}D?N8}Ccdr)Ej76D5 zjn(W2aMAdMyUj|xfsl-!Bll9lUpj|S09C>;!4z#WJpLD({PKdH>N;DWa>1QN%pzZl zd?0OKKKQjL%zKpQ; zg%H!55sL63L!l9#<|cGC?*Xf%JN9AO(kHV=qTKh%*LECHdmNo^Z^KGVv%qAo&am@HoP&xQ+nXlivuZ4A!D5#bXS|e3dyv_ z)ZCB&UiQB zFPa$aBHkeI>1KP)MYZhqaDA~iW&4=+&DTk!7UN@OA_rq9cN2G;AMrRYO?o^Xx@b~~ z@V`)7jnloJ36)xqA6E> zpfe@Nx!w2B$sCc@eWSXAN%4baOzD!pI`_Y5SK2nc0V}~;i>u-iC=iSlaJ@sLlb#{u zSjprG%WhG6ck*iv-NUo&k^axt~Fd_Z^zao8*9^se`AdtAoi5Q|o)zTzEUp z(;=FI*AHbz$tSs42R*qo7I%kW0f@{d@vTNBlU>ovVd<|2Yai`F#Lnx~3NfmZ0lfh( zdczNu79i7Z?PTVzuRLrf@^Q|ia)f1Dqi$SM%%HmcQm8jgm2<)V_-}i`Od-#6Qhfp% zsWIOPv}MpQ$^Ms!4(MaSp6~aOH%_R8|IxRFV4T@Zb9`#Ow>;)Nk@^yomXU0EL5m01 z7qt%Fjn+z9V+T*r_$0YAOM+uh96 zl^ya6>EKO29Y4MgSD=?Yy39Nhgs9AX?vj4)PM=g>(d0%*uWOt9;Ih$gOtg>UEc`j{ z>+{JbAdymoY9G6i@#|U$CVWkPT$4m+#5l?>T1;o#$dlvS=4cyU_tghV5@*MdhQe7T zl%x*Fu=$+Rn{Am;v~TBWs{0au4Rx>!S4w$~hv{D4N*!exgK{9wtp!K%dI5}{ou9*Q zR`2!k&k~pmJGt$!`w4%Z`(5}=(Ukb-hpUsYqQ!jkCC;PUn8jedPVd}lh?rGcs{v@L zBvR23#v-!-W$_V?)?1kFC!(R;FCAR-L&Fh5L!K_Iy(TtzDQclZZA&2h!X zb2IupueUnnXS~gfekElgbaFPG{}P6`d6ulDsJI~g=JeRh9?sc1C>HBONSt$*rAl5m z%GiJOs>eBQ&Bxj3hfG)sdN`mse?WqobLB2R*k}+i>X;!my>YfmQN`Os5B{Whyar*t zVn)M%Eg+}ctTpz5WyOhSCv2B4M9L8TcB>NRq2+esd;#t;Q^-3RKlNW5ULp77_Z z_mfY`d9wZyBeJ zv_Pcc;w6!z^+ma$_$@A8evJT0=%Vxo?a@aoV3Zee$yRl3HTpCCQkz;7{b|M}!Tsv< z5G-a;3)Md$ZYNGC0P%!}9l01NZPs?yh!~YMd;;M;!`%Zrm0nX;h_5RtLG>t$=+f?_&`UoyZFuO`H*ar+_hkJ3R{Qe2 z<4T1X$vvlir*kaokFntNuI_>^!D-QIUd6AIuN;>8T1@nqVq^y%Rtbq7SRu(@Bun|N zb&aTxqo4ZtLC4jzc4O97;q{iig?j?qgs&-*alJw!TFZM}^HZmmI(MieuEy`aNJA2H zBJAi+qad+eMar_BC?n6vAD}&h>0X*U11h))jDO~Wiz0oq6pUzN@RdoYRG?%AVg)Y} zyx4@zT}4Vu?FH2hHS+vrt?~LLS+ix{qU(F99hm+4&RH&FSOH8FOoa}`%B;GPmz=E z0NM@odnmUEC2gOr|4@7lJ;C?CQ*v3IUv)(nF#;)vhgf*y%84I8d16{ERnzjvZb1e_ zMOf22{pwf@ltT!^#RE>AmoMpXL^!9_3I=zeX8RQNuP68a5qatnBNS5J!qG3z5vUxxd8OPUur# zfjV-rV*P_)Xx+i|g+tl%mmxoyC}Qv5mtf37>V`^}{y0 zD__|AlZUcrkcJ^o)REtZnCKvZXUiQ6_!L(hdlWxpCb1APuBuiM(3c)Yf$taN{T~UH zeP)v0m73T;T)oa3sKc|_I4%`=z-Z)JaQLfNCl}v&ep3~A-_=h0kB2%w4Zx2&2EtDy z$7qgCA^8!HS7Kd{?p1;Q^^Q9L5`@8_>j`(&zHPlz*(Vd5 zZK|EM96%gGj3(Z(%zmnnRGWO%zHb+JmwV7Pt<)eXO~c&IU@>wCKZXAUAV&Yup_hQg z-(8gs$f$se=L(lGWImAdn%JthOUo+n)*-Auy9vM!=L^zS5}n3HlI9Pm zfw{5Wtt@tVoK!UZ$MpXXY_t# zv#(Rwq=Nu&%MF1jkx0=~+wbD2#5M}BF{kX9hO&fU=~HoqNH|sDHA>Y#E4dF3v*B9P z{$ugYg29f<%#nc&MiOa$RX_K#c6XFi=6}@RvyB(^WAF*+M^Vq{2u=;jB@<6L-q*fN z5U3bf{0n3U3x2=*^-R6MNE_)TDOO7U$)9>NvNZoE?xU(*%>r{FaT&U;vq1W7q~$Bs zjAflaUC|!fyvd0q$2H&njOclb_L?FevWe2kNTp77R>`gSjuqR3Ccr7YeoH}IJ2d0-t}jUKEMP89X#3>_!nFIz&Z0Fxy#(cCb#SFyyJ zQ$3zksn*=zW5!))bu^!Ao}3umYx9R_vG4Zpb0GHyU7mkrM2((#5}NpP&}V2X)8jBj11wgQ{}-MdHC+ZXEK{1@G#Gb~SrY{x zE!xkgh7Op(pf*_H>q;LkxhTMyQkt*QL_tf|Q&<8X9 zi$#?ErW7np1VxstiXe=k0yo?;GcMcx$DhjM+o4 z&-%A}7@MPa@$4F{l8VHhfE3Wi)X;NAD4SF z?7^CQA7go5-4_Sg>AmbMt)7C!$H;dCH${AYD;K*aVH$pYqnfLd^OSvH*D$X&eOFQx zaAVnZNA@NNWyz~&5E8i2O?Ei8^ROxg zJY%<^G`@-FT#MN@H7=~P(A@FOvht1&yg9}ZauPCGcI%3#?q4kn9r|dgcF!t?jDJI* z$QDO5N@Vr*@=f?|2EO-$W`9byb z9qtb*gbi)(<26HrD{o?MQ#FTGiMd<`8qh<_&@8!2idUT=UsCcuKna&Ss2=SX+wo@u zd&!ZMA3N+OTi*mR#p*)wzQF&o-FYc42IEEe)Ca=W#8#SEUM+(AK28&A-znHgo;uHmR#DLO9Xrj%D8*W?<4te{SOhWHoMm7q~#V`wX zGq0u_$4KsZXZkS`Zn(?g{@pPH!-Ep$p;B|u>t?1{Kj8z1`|}M(@ASqom1~oH0(+aa z#R%J%;eDc5pfg0&m@qQeDEU#rgY@8D1Y5mqwL|I6Tje&5II9%R=#7^3&CVhR83#Jj zrIy!MEuMoMGq2{jMNkAkoMgK$cGQQERw;mM)cig|G1WcuP!Iy%0_B;_~=&Iasv7Ta`{9H}ck* zoj=vSThn2t^(Wiv)x-_;9}15jiAkTOB}HF~5zY#K@eF#{n(OVja+@dflD#SLsK;O_|M5L-=qFYRV3P~8nq)&Wg(C{ zI9pAYhV5SWs^G&A-G+JUWXEW`ZJ}mHx;+{zM^|QY8+pdvyez};c&TxByK7Bzb{Z#v7(KB7%4kuEu0o}WTomQwC-UCx#{DGoPn#%t zAL!GTbk1wH)?bwV@Bzhr*BmzU%9Xxd4=|CRe0kXQcOycvpZOph%b&|B{VH>m1*CI+ zy^5hf+eLYsXW)}D#;!#7EM-7)zg0Z!nryEV@S~W82E@)+7hoKuueco$YwV!6tuI-( zlzhchpJ%(Z#tt>^Z{wAFCi96`fAxY>DG3MQuF4gP#Rj_mrC6ndmHETThXtY@R!ET+ z{;0og=2MvyEJMW&)A#?2l;~+6S?fX|6%Zj|)=iit43Ar3pmgd+hC{j#-!1(SKxBj* zQCb_2X?2+_>~EGelCNHE@q6N@U>xB5`dg6$XbHuHPtd@`8}JN}-|>IvooShlxqk26 z1et)XXv2DlM-vCqVQ0jTUR5%u$#B1rLtv=?O^`_AEW;z4bc|}kTJ^8LWCjP#-5e;D zZN0^6jO?xpkzC8 zhd79b2LKzksECFFU^i*}#&kCxxA6RTYvR|5x=+8?d90pY1h&Igen}pFT|N*5*Gz zj@gs$w60jPp==)BaK)7J{@^5dlXQJ6(U-nw=!$oqguZV7U*714mf4Hvn#J~5{Who{ zkoG(u&icWENa5{63&}@+3;pPqIu!e=b)jGKC35>+K%Dma239VY8_R%0ek1$aP}fil zDjYcEopDIJO4HdpdJ^oT`kHTL=ne-`fp?ak{N``z*;b%h_?*e&6Pl~Ko(`n$?~=15 zxR3wr6R>|YSg!9vgZ0`IjQUic27Yp|S~)`+Qh_g*g6OkWPsG|DBL(hbPIP9qhJpn` zlLmD*j1i{FHLb=RI!T+7j)YC${Ak_`)}429o+)d}%a-eQ}Eil%$XuLrljs+j~= z>9NZ!Rrg@+5knflS1Ea%)~J!e|4kwn`DleC*DBJ~Cu>aKuR}Kl4M^;?xs9+5qdCdQ zi}7v-j)%WK|I^Zw*f!XXmkNB%J07tAME>@9DW>!?mKoyQt^G+DJX3hv<66|)k^KvG zFXVVE#23v)qlc`~jgqRJEgy^HC+H^|oGf@#`A6dmkT-#Do><7zzbM|g7)`WV#f;&% zN*OEk{$}Y1&>X6j>X05Yzas4D3C3J}h~+4I*GT}wOTt$$I|vchXQk~ZC;{MvQ@Q?Ha;oR&C#;xp(!S5!{2rNpsi{w6BMwMFq~ zw%rb0g)I{cw%VI-G%cPhjXOl?+JJIL)R@Ara96C|^GicOjyI2+6JBrF`46V&P}#uS zr6SA(afN>V>y$dC+wX&!hw=1{Lc~NJ#XDVJ2m3R3F5-~5oNb z2&%qYVzKhRK8Je0C+xz?qc_`Yi41Z>(Y*nwLtt#$dpyr5LbcBQ_-ulkK_P*6A&}?G zw66M;>aV+Wyy4%nCKsPvXBj6CQEC4(4=#nfPKvHp#k;zCZUrFVVqRNVhQhA<3K4c) zPjM(2VvgVdxCln~5!07r+yyw9iSR_56`t0?4IQv$%iNAzz^B0c8Pe){ zMDq*{XRd0E8p-ZZ)o>sD!i6h(_ZF#4yQ=eUI~o~qGeCYx=Coe1wvGQ5f`9?f^5rOV zfaeGu$J)0iEGkX^mg%6>7wFJR&raWmdTZDSn%EtLq5Y(zlB#Wt%U$Mv$RL+bB4!7i z!WK1+O~R^Y2I+u213TueDE@hnY6XhlJpj`kw-j^SSn`GVBLH~goK{vdg!Wel4D9>A zg<=E=0VLP^J#9Vr`IN?OEAPxVN&CNa+keC(1Anz*3-Bd@+p+x&(eoMFOEV0Z*VMiz z6{xLlf`&@s30wo(={4eLk}AE1%S?bnyPGIa9dKvt4p;pQ2&ixWF^FJfTCfK`3v;1{ z8a#(HQ~Nn(tR_~usn>=EVo{s$Ur$MTF7MUoelloxnJ=}i>>M>13U+##AiDGxAWnj9 zt2#VZ?c;|&d5;6r^zMM)OV4{C<%IgXJRZndc^4qD2=F*>0d$ft=$RBq9FrP>BIS7a6Y_lAgvMb|*sYznis3nIw_+j~0zK9S3Z_n)%} z<^<>{gN<%u|4{+|nir5{E*LuX++!|#WZ8SJSj!+8ppyaqF{<4AYfDBq;d6i$nL~C) z2*{Flyswb-e3lECsSSdI#9?M-bh zL*ScXz@hSilck5|l*PDt!0rIE-nB;jzs~-;LB%TH8S#@}U3v~cpIV%*4MD%X6 zcJ{kSt=-$MNj=&D?azgyNyO)q zU)m=Q3Abc~XRm}iEHEsf;LNXt55Fw}Lo?L(y7|ISxRH@PZR?6yEeBDdPZ-pR!g7Wr*ML9K{-P1Hc z;dV68H#rSdHZ#M%J(-!Pg`ebaJ31gH@XUpN^da9J~ zG1GDef%b|~!*z>~$3cP0ZwJ;K_fD||C(NEZX#rGCYwcNmWXdq ze5Sr7|0jZXq~%wcWM}_xOZopXV}8_sO6k8i^Yf^WWE#C_Ec|C{HglW4DPM?zJyw zsE=nEHIbr89G_PfJGPk6s2zw790;^5w}0%AZ!rs`xzULJ-1z^WKtx{ zh!N$030s4vi$Sbja1E#vbl-NsYWO@A$>4u9BhOlMXeJ-lcJ_P+psr&VCZi4fc5A8x zVbH!@E}K}DDv;Oy7C_v*0}MM(BXnJ5JD64{_ib+2A9XRSA%r>2aEG?#&HsYx+cp0t z+Ea|b?^WF{ws~|}4Ian)a-YTkc=?gOyuRUri&lC}FpicOAhirhwzTmpZ{CSp-GGA$ zEhaPRx?}nDav?7T-4G0rTmn?2Q(#*RyuAha{^uTgz9eC5yPkRQ3zd47QWJcE6Ed=f(-{1I5DU7&0zebunmnhylEnuiT*H zI4Sq>E=614JT=gX2URoT(-Qy0Cg5z_5!!%PYVRghKYB$&Doci^WvHHRLH;?0QI(hp zsCa&I?dPS;RrT$CH;kO7`9}=xa1o$xAtT&1MC~hjl>z!WyzvZc0+JLJCkydeXQ`5c z536y$ZFH< zpj?YJK5tnxkfFY()qI+83;?jl0hM^AVGA_tu2mxc8JXC=RaeKI(8*BwUr3WYFBXZJ zH~Ddy_vmi;tO4Xybli5b`Av((4DHM+i=8nXWK-#Q z&={MDE{M{~LkAFd%Hh-x+(>xBP6+3rj=j3vr(VF#)>980JaQkRv^$Rv#1KbJ47qDu ziyEc`jnjv}A^bpR8jOWG3JIE+AJ@4ZH753$fJauEPB(>eBdZKXxL0{UJ;w6ku7WLd z{SoJoTncK{nz?#*@(~P%c1w`RE$#*wAQl6quY(O&&^n+5VVHeJ{zXMT95}AZ23YQM znx?;4uOh|yZAG6qKfw@>Q)s|#IK(kt7+(!UZ`|hGI@au^PG1t{-u(-FEK1Y!J)=RK zB+-~2(+>7t{$ipIv%WF{Q=O_CzqAX?xv@S&r-qO32rwZ}d^}V$(fh#MK>VQMfNB=D z>Z+VAwLHPxtTXd=$f<8U!S>-eSH#LhF+H+w^)ZyHLtqRF^bpJ4HDcpKhMkY-~B;YPCgCXSFS`bq<8yApF#Bcq6WgJmRDd$)bUT+KTFAnzm zDb1*!UcaQYqVFU5*Y10;Fbw<5b@Eau`h$9rnscQTdd)=C=)2gdh+C-`1R=$Rp-#v9 z{+*x6VR4qj5j9K&5mlV5ayb{SWz=P8KGuqF(P&aFf6Ny^vE9XYwFOX5xg1xSif3P4 z*I>%2F%epKzt;cbEX6qhHq|2N;2gIa$MRXhlTX9%$4sz39EA{sbF_Xt`hYsirm{E^ zbuJRw2SxdclLsMD(_--jFUy2=k5*3p>SRBw&=fm)Ab820SCvY%-}fpS;>2P*|8=@^ z`3Fc)63!D*sypfaT~zdnzaj71Dw?_+SA&@W*(m zIQ6#TFH`>tFt57pEp7#)C-OBUjEKViC)+sthjy6BJS@I6@QM#4dSsgG1!~*i@`YuG z70zVd7zESDo*mwacGo`a@^!V$lT%Poz*iTaDxg1P&m(!rxW)h5HXOgZj3w%(3SUC| zYR;wz$=iN%XN4``E+K+|o)TV$aA^)M%W>g{;vF#b*3r&tv#q)IJ!U%)5WrWv{QHd9 z88--!W{Z@?9*Rv3;m3=44Pm7D>B1D`QYP(>?K~0KD}j$g@QQ{4Wnt%@`)IDP`UU@q zvYwAOJl+#!23ILnIW54E(eIwQs0%h<_0oNjktT&09zLTJA`Im-pEQ6pvu zR6OD1VpGe>%upX%NuuuYjJi0%hi1O#r)Mh|_zUIsdzvSZB(7lpL6duitovwk2}2Ha z`o9Zjd3<|G_)jP^{dPm1wk?$lq!y8XeqT=`gbz0*=@qj{uZj;3l1J2)__y+bq)fyP znc`HVZu7dp0W0jt&EMcfH*i7*37$~YSx%~ru1Wt38a@XtKXo83o&|q5rYWVfZ*_;@ zK6fY3xMkT-JlsDlc04DuC;y8elfKpNoYzT7N3X2~YKqMaCt)tFmuEhso0y8PB*68YX>8iYM8ANLn*wwK6>u*Mb`Zf$ z%3|m8bqmT{kssg=4-?n#S@@-FgusCZ_18SXWUD+jl#u47KQP1L@Bq6$0X^yQEI1jK z4_%tTMj1itADVj4f`RYf!oI|am&R9ng*^V+kv=Rt(47$TfmcRH7;~?TFTL9H{#V5v zX!-32Hm4{P7ILiVi=p|_^J32=)jah6EaT3bYHf46$<;9X_ynEk8u`1D9ECTN408=m z?Gw4v$;vhOX+*1z`89ckahbN1rGs-}HPxPuVyD_Zt+vMT!I~4#OXPuAy3}8fztVP2 zq%WA|oZ#X-EC`bdNCvBbG*{eu@Bo+#>Qhk|;JWfK#-iyY~3dK)}6 zLmD|$+JP;x=-}Cd8tfXete+4mGJ9)#w5^EYsDDA)VY z|Mx4D;G(ePq~D%7`*Q}?0e|6%mYWQPf|At{oRKEUdtN@K$*6W{i^!L8hX?5M4voN| z^N)%flD$m)x?-`Jy~D%mLi2(ryD3|!_$Q6jIDSkxYH*4!KPYc}-k-JKuPH58vP(wC+PU=JQ>Ud%b`948n5T#Mfh37;eWL?fjkwLP2SB>j?1y0nX*}36S4I(r?2# zj8|0zF6zaAyc`grcmD!W+={74mk5#MH=hfh1csld>N?gOpjG(qbL9q3*cwu}yjRl8 zf%%0ySdEgLwqH$#(>yC9PXft{Pv2c;E1JOD1gKKG6OPYm6-~=uG&;B*k3OA93ITC| z&{_K|et4Gvv50nsj`!6B-@4C9VoI6TLgBt+N9^T{QgP=Vi=#i_*CYIkh$3QkXx@6r zMLmj&Vg!p(3!g{17luAlEhkvNYPyE)$vaupu5>Eko};HsHBMF;}(s8U;-T z7tP6sR}!9B-m*D*M>|$VeKy;RN&zfuPawoCV9`79JtM>yxSr~}^#bR-D+~0!^#%4q zt192)5>3yw=Ww8x@Y1%j#plK*e7ih@OU!GIW6EK;?9Dq-kl#(2p{b!>&Gra|L-RSH zCq8SvIgtor^O=@6fJLQ!r@{FePUHOIR@?1}P#)-1FZ{1BQ9gA|m=ae}3IxalH=wtH zj>t6+JfFcUSGfojxciNInPbOIDjP4PEMs7k1lA>1sbNWv*=BCMnYrGyh1Oa`+iKZdC4n z*T=8|#2~xnIxS~x%N%J@ibTLJhvkm02`rR)(~!ZAJA}Kr42|({BNJ!`6*Ylc~|Yg&O-r= zcUl^rU~|hR^v{~wl{zhEBZ^8g78l)F8;@+Oc6ALiyhQ70qF!@ACj`F8_y0Ze=l_4? z?k7kwv9V{ca?5G%&(G7iK8MEP5a0)=m{Gs=`ocEQ9cX^@Iso38v%VS(Lg0t_y^XiA z)1p)F1w)Gw@=I#}>jWT|cntQ1EH^v9mjc#PC*bNA`$alZ(~}PR*f)6_F)ZL9bWCaf z_$M^*4xnRfX!3vv^;XCZmX_%PrnQ%!I4*UsgV$yf7+%I9%i?Mrs3{5^*K^&XfyHQ{ zmH<1LmCuR<@)AN2?@WdW*SGEYH!?9qE9bCyx&F)b?hV@C8+%et%2XksGD^t?PkQn+ zoV}k{-`;LmGA%wI~cMR2fltW^Jv0Nd&_L>+AGL(!p!P^3gfDsn_w#P78d zYq5Yb7kT~UJFZ7`_u zTtcg_{{7%CRSOonosgxRlh?{8!KVD`lkWRpdt5)#Ftt}9VCC3O@2sACbO&q-w`WfQ zx6GOXV*S@wpO-eL_VWE5{!YZ1%$OVSb9t4!NZ{d}R~*^Kpbd}o5N%~G@eTPcNt?Vk zF^Vo5GX2K6k7g1#wZjaNj6IW_JfhJ|I*><{DJNG8xv_$*ipGzQAsobS0?w}_GYH*R zBEu9I%Z3{c3b6x^lLdMi#BQh-jblEj-qO$ao^hY0>u*xb#5lFprs3RVbANkMUeyPM z@HI{Y;35ajZ@Cp*IKq}y!g;-D|6tV~-=1*aBAkxrn8K+%`lDh0h5i1J){{!pN^3Ok zK%O@NGh-`F!Z_a7(?jPSw>i?$ImUT@XSTP#6J>^1o0527zgfjaz;f4d3r793&_nq7 zEgo=22F^yW4w;IwTaC6P7=iEkMU~$@HwE=4N5fsECR?ytN?NW|h~W)Lgq&N-=B4x?|usft|o>f&skv1jIut50{Afk^hdxB~=Pu9j#9vpYZ2p#+1v;XBa#M|47#bB998Ckl> z{?JG)s>m@=e-w2*X_Rc(C(!U9WeH&dbpd#<*>92C6jM01^@?^x5V*$yIP3_|h#kC3 z0acOrCb}QW2CULxEXGjc;9IEgNdg1a8@-3CC%ueVfX~^lCNIKN zG1uemc%=_}VfNs$6{0uskd^8e=hHsRIU(?-4XOZ##?2(r{f0b0PhbP4_d8cvx}d=Q zD!e&`PfY#6Y^@{chk*YAZc5fX4il#D1PlNZl|3J^Cu4zRUhx==J@z)56XX?CwCax` zOA+%5C&2=f{@T6ZB7(0>fZ;ioU`)C|6&zT&_3k>EXumT&zF{>)Eu>7o>Kb3WOA zlGp8d2ac$NtEM9mauKK#-Z$6DiE>~ZrV_iLSCn46l(yNa4Wp!=#+$Xw)VY#{tRUkzsF4C+@fr1H3^&}v-QKl1Gj zCfQTGHP1(zdsOAzL8eu7;&$65?uV$SMpXIl^K9rYpZB)s_m z^knI=J1E~Zc)!mr#i|Go$qQ=a6S2KWb&jB=3b9U?mW(v z-3;R~R@>ZQC}Vrhk>@6FtWTTpyvx1t;~kL#ul=1R)+EC&3jJ9URJvoy=B(FZC8Z~i zj~ip#f%!)0@z-PbN9)Qvr@=Gc`%cQQ@W)SEc60erLHBvI-+b$QYJJ?SfFnI#yxSK4 z7vt!9-g=;pU^W-+;|+gIM-pipzDq)OZ1tDzzEJr$CTt-N^I7dgOs};v;SUo(qnSo! zH!s-|r@88NZF$Ke50sqgZ_`naDNQ#dUWH&*-b;CteF|XN@v)e|qlyQk2!p^e!DODd{CM zJ8r3h>~ru4ex;JVq4(2b$0)wOkK~ake`=3ZvyE zYlJyk*+2S2Hw|JkO|PnsTUtr*F2p;w^3XgxGHeT!ixyOW%=I5BX{pUrDo;HHT6y6l;96{IlMLZ+ z1Z-Yl;diFR-!+;n#lHK+`t6@ymCW~e8@Tx0p`R8xMWD9PC9Eq1 zgIU!gZuKbl^KqsIKyJ#wT+H$gd{^)2i@3|iEFoc-%%jZHZZ%*aCm9``?S9P<1u2G< zVEgj%y{((Dl!JOWcfA_uBqH0;eTU6PNeWjS`{N8KYi0M)X!|XtEHQ12Omxpf^@~3- zSq&BkYIm{+-_E-zqQSdGh5K;~9t-`^WNCJyZ;?wH%?*F-T$ zR2WHF$zaCKCk7eVNmPwysppfna7rZ*BHi$+?xU{aAD^1via7;El$;vPSAADK^<4f^ zw$T0RJz(W<+Df%F{JsWJ0$>-QaE-rsTU)wd58I}3L5{eEVNQ|B`tF39iOE+xc4O#D zz<6HpyCj0Ab$dqFp&m&B5nS=?jJgzwJAmlEx4kSSZ2}>Jv6yb46G2L%03HXOgNRlE z8z{0G-V7v{*6jcgTDHXWhQNE7N-+Gcf*5=iA~{F&H%J!XBk(;|yr3Ar(}dT+N(F64 zt-zMffF@#}S`s@SL~ZbW1=4C=Uz*FJRp&j8y+d0v6G8MK)m@Wyvj%6A*qfq1(|Z@Q z`X~UTpF-g^-yN;|ZWUer#53)Y1N~NJSX@EG=6K9DA|32bT6f4864l+0tjf~z%X&lKhGE?(0PpVK=)N8ef-M< z4LsXTAP=YiojoD1Unf0x1oY3|qcR;0uThI&N6eKYX7&aGck)r%)k}wC+wSf6CAu#s zf5mj@dtk%vq;r;?m_#gYPR%WNc)U*{d^evh4;r3?x3%?3xUVb~tU49^K!U?=i|IKA2yJSEVRNAG{m{Hs(&{c#%M-k>og} z)VymUmn}_9w0O=d-`aB3*u&9!RzEC}anmhH7&Ao97Ls>uVp(h@Df`FRu=S|W{ArI} zPe5jgz@0aZHlt~j|+|^PQ{isg9tAgi4dvxJRsI1ak1~zy*bXnGFi_>3XlPq74 z=B~4FJU7o9BmE06H|l`{AM{;v64T&0^>dCYZzzuHDZ11yiZU?KiF$ip4y7%(OewKL zB*EYq%D${B#4Y6|yLT4gOD^ZwRTaQ(Y03twHO1cok_I#op4@#W5UcTs>t||(zv?2O zRxW+4kC;cxw_BJ7-SFvNA8;t;a)M$+*18_CK&V(*-+eCr-JBV@c1_q%eLeyHeE67y zM)qE+de%~Qp;xs<@@5|4>nfoR;Ol#K(~#|lwQxp>M9`mJ zO~wkFA)aT{IU7&dvo%Y?GFCe5W-J4CV}TTx-bsjMCZn(D9(w|Gd@mRxoetX3F=` zMa_=;*UZ8LK93F;#&0atubc_Lo!toaGBt|m1?+|lvq}~#FYn>=pgWMTYaXC_suIu` z9qV-Q|MYxlJ~*=m0N2TY!e1Sfq<(6(ZS)oxv)IlY(!7HvZgsiN31M}vWDQ~8g1xk< zC+x#TF_{77)=puz!D+Rx^~q4p$oWxyJ$&zyPq^#)+eOn}MGHU}vL1CT7{Z)71zSP& z;=Iou88ja$DBP)UFq=vI+Dt_s?7=IilXSJ2{*6lJ%O1GE$7|awk`{ygx6pERcTgMi&=G!7g#t=;M33F`D5s zvW^tT-Xy7US-rC&Xg=|OhN3YPZ`t^()oMr_CS?YjZTb3!;G;a2!SnzqhihZLT|`bQ zQEw5+u8gNzW|D7J{W}WlIm`i$hFIe|tkorFO~b!$`L+Wo=`sEZ4&7Lf;BMK-olL| z;XBI-J7j6ihz`V|EDQwbrlhv0$D5)^ZbMY>ziQ-dJWXi?XSt+=KkLu5txvHfd-dkZ zVpKd^P+-gL@rXDwysCk7KGqXDwMA?mw2En-z9yquS!PC}&gc|&yQL1X-3EM3Je3cITim+C z&Cnl$*IGZTh+IbUvdKFi`{a2guIClBj-~yF%}N-e;XXA3<^4R0wK7Zr|Hnkal$mx! z)#EsfcI;a^CAQhjW_yN9o~#1=Lr)~!=d#KezMkmV$s$aPe8E&V*=asqV|qK|FsdV4HsyM+D>Y43W_ z2)>I+hEI{)A$4AT*qhaZ6`-ll!%w&*@6Wn*GR1`NOSWXyEg9l_ww>PJ!PxqrZ>;)TPoZ za7*9*9)cDa?0dz$_o3J^_^+QyOMLgq)$_}0!8*eOVgr@E>iKZo=Y0$QI9=e7AA&Q4 zBGWVTpk|!XR`y&Yex)-DqH>}S?~8*@&MCh!mm$1mzg{Y&lwCaS+%|+C2V=4?N-eXU zwst(=eh|+xfmc(zvtEVGGpW+wcavMM6DvR$Zh%4S2*^`x_@0yPu^I6ouw9A(X1!3m zV~D!drdrWeht6H^`mPCVnj#&!mX-i%L)sKkyZM8cct(r%)b3*ip|H@tBk+~zg+w0W z&`@oucBAKdJzDhO`!v7iD;I@Txz;-3dDj#n>j_EBq~s#(r~z@g=h(n#pgH5s=&Tl` z9(tClIQ38;<`l?ac#Zj(fsGTaJa` zkkK(ptIUy7pJrzSsf7FG zk{Bl;deR5?{vOuN5>sV^+qoc1r-J~7v&SXqvBXi~%)Xq$wfOqMVv&5#zd6U#yXwJC zqlrN{x7&F!`}K9?$;9X8b74qvybo#s(WBL9ldu2x<$9n4M~&x=_AJTOyoVvR z)u?C~Osx{*z6ftZ*V|K1SbREcIJ+EaY%(!$(5ZgGKZI62dmSF_DKP)i(i5%#}aHzImqf3}#wKOjh#BfWyX#RjBu+a(Iqr7}d;vkZG8%t{7vn|MIhv z^K|uK8q@2{X8&T+0SpA>SRMF!@eRMuBvNPS_Y+eO{36uts)6L$gmqs#xYrUa4=Z1~Ukm+GmU(#6(GimQ zf$MT2Xvmh!AxfFB(kT`14OzU|XW@HB`g)zR$r=vA8LeGGMjkT_?r2x4jy9VERS5u7 z5!o(giiC!CejRpSMOlvx5Uzj`0jhZ`4le{j<#kJW?tZuA3p$ugG5>DO79@6o zzPi^nQ{7w_At(V|+Z?$Ay@x$(y$77x{qEJ+we(=IPCJp^H?ZGo{EF;JtM=iGdEE!{ zlHC~bN8fglwUb$xB$3WTVi8fzrN+r`STTf)dFhjSF%!8@JQGj%3uldIY;1FVv-C2Z zs?UUbBUsKj2wcgj&67gUviPUvO4>g1w1wILY4y`(0zX9K!{ns_~0sLb|a~ z&{>8`mD(Dpj>jZIT}~S<)S~A2SB(bi6%G`XTYjKF zj=G|cFXMPs_%WwE_7XiwFkpgUt{lMDPV52)~KphUuvnj;7pIC%2;W zdHi-RBeH-(b-&~v)@eSN40Mx6bP7DIYo77PyVy#%k}We*@|#tH=&Fe1;LbIq1j<_X zSD5cbLa_AMx4JOoL;stf$6^_Op|9dXOmCfCBGVvWSan-n=WilLCBY{*#Z8+Ux~;eB z6@WnB53*##*~5GqzzTq$Yk2@O#rR=8*OWZWZt$YuBKDGicd}wuPE=ZD5 z?1c55$Dv-p!!AlL=PP|M(a+SUsbujNP5K=5DLr7pa<`x_L-YxiF#*JH1q3WKyn*Da z&DW78_;m~k^u_w_^B0w!q;Ln+C-+f3QVxUPyHMG**Qz*&t$WRTYFIro!3?cLxsSPmTl$fPkzDrzZNcb3q*B&IoE78B2L&RW?0B|*s>COnz6ZK86+C)gqcqi+5EI{E3jy_F{ z&6A!fk0?Rhw<6JMu;&(Q+0W+z&np;8h*WP&jy(vJqO;O&C11VAB<3Ce=6+LDqYE;v zwzsEezY2QPG`PgGdLbN?=7+B8?QpiIlT$ZEf(N-EyYtRF=~oZtEYffOp*Az_p$~Ar z5B_3f4%yECODbrm1#w{58|rqD{bK(7#Va>EA2Gzl(`>yP8-~P*E74WziL4(!)`h#G zkm;WJ$*ncN7*6l{@hhj{PJaap`OFN&lo(X179SL9*`(*t+BI+k)A0&U(j|Uu;vZ z2FX-pNWSyj|1Gc_*EFa2yg2TPF5sP9R?2uoX*(i3wC#Raf2Bhhj0o{qS#PM1|L|S; z<^F$@nvt9#Z$7^Z?J>>bw13?2kO1&Mx}` zv98te=KfL*>;0845?Oaq4R1c2mEY&`wp`L{;8YV*lqm1DG0b^yZT^OThDj#GzO}uA z56=H8R%q%)S?ISuN=6len1HI#$0gH-PvdNfDV>6uR+ff-h)j?l@dQjwFvYT$op~ko zcCW=;2t_$gOTbiq)PMW*al}%{0J-rp2#!b{OD_0u2HO=|YvA9b3*+*u*Eea{EtBn0 zU6PAV_GP*8cgaSKS(kP>53}2hr(JQr4O>^sB^yz>0}CgKz#_Us{gb=EPyJRD>W%a` z+t0hJ>Ei?E!VjF{h9BzTw-aWJ*01Y%gB;CH_Z{EiAqWkOcVK35*aPz z&kGH^iswqjSKAJ&yyhzK+LSfaIsAdr4vBSp+0AEc)t;BhNb>bMfC?U1;rR%t(gt*}k1iy|F=Dq?>oaboB3Z-AgRd4*hezD`D3~ZCl;cE=G~V}YAx7yf|T~4 zTB*O%Nj$psM(xrnnL*0hr->~f zf%(rSJ|f!feX#guBjp46s`TY)cDgq2N91^8M&lHQltnN@nVy%C z?Qfr-o&lovi-l>dYnP;BRd>?7ovp52Yj;iv(+T$OWXxscrY8m;;EEP7-i>@MbDIRGt3B7&2yQVM; zv2{91rF=JzwLNaUu!*Iy5bSQDNMdVyM?`UfJ=TtX=d0Ex%Ti zY8AaXEj53Kv)7=c5J88E>jW4;PN%*a1=jlO(neOO*rH+Ey zz9{Gee}-nSO-@6vIpYu)As~FVT8_!jb$)_fqg1caq&t2viN|MgafRH_N)OkK92fWm zgu15w_$;yAg+~Mzq*ej|@MLv97WUHX7EJzIOScg*lJ$1;)rp)M5{)J|Kk$hS&U2Hm znexMS`+hpC)e}#dZ*!sr{GJ9aN01r`Em=7W5YWTb=R3>t zEjulA%TA~R3xzaaJp2O1%ryD;VcIx&Zm1uj#gEL4#3~#LNr^g@Z{Ku=2E!hQHoysi znQI0QelRCzWnSq>us*{vMrFY_*Kj--!#;y6Y$8>r(7#RJR~k#Wet4AEOBNfA!fTx> zBN?`9_fY^*#35;Sh&3}v@m+oIA0@3u$1auV^ z8LM|Mv&nhIu1O0~&hdfva4n|&G``wUCb2uIy*G4kVVv$yfW)ax2}1_j&_|5{Lt$w? zk|bI5C$O22txHZ}cgMvnh?<3aWcy|Y@2_shDso1xpv8g>gJQ)2U+L#~i8BkzilAq2 zEmjleJf2TFHZguIEQ>JzWFI^^0p?|J#rZRzlzaM~2&L>fhm`pQdrb1x2}M-e;ox{V zn&?D+f8rZ&>5p4(qxwF8rMo1&JoZOdhgQ{$Ox~vp=roL z{;BM_Aw$S3v3s4!|LlecYu^`L=2~&tso@81OmzKnQaHYNPA{bZdo&*KZscj*4lUvf zk^*6Hq#c3G!{*4Hn;mMk{SNUmF@0Wk+}5`w6Thb?P#IcdBzpT=W2N_mXTCswT+`V{ zElb(zU6#vz4#lzY6G4SHyDoV4*$(`hdX)<%uV>8@dIy*@A7JN@(^S`u9jKk=G=Ya# zwu+g?kH|7Urt-`bMBf}s`6fRdqKFsQZsd_o05j~cBWw~y1W)w9{>XwcWs|pv?+JH* z#Dm`m$CVQ_?ZxO^lqzD%t`y^hp5^}Xl4{AQ`c;!4%-9OL_e$my0me5g*VPdJzDc~n zw98wx{?Mda+fF}>@N33E<$5-mEZD5#-~O`-pj&}{#j=sD>b0ftBU&#+EN~-_qytuA zH6?Mk%h}OzO6}P3wfLWNiAfgr$Cg*fLx(HLu-(|Z;@1|#nFq-DfczMqgOnE&?bHyR z{)+VXyc8XPjhH4eX9T z`lT}6URr1+Jucm-@nuG5BB!mIW!#tlexcL045D7Sb_SDBuz&rz3s|vvQWex(s@{dr z=;_Ojr!L4BA|b~NzdYU5adWj`#(@X)4v=M*O%`o}{$j zY%vXtZP1UFP9M^)d0Y2SU-TnlB)qp~ zM=E(Gu7si3PD#f4vk~ZA_NC;iKNIHKc{lp<&?}fo_cQ<2W2qH^`O$uv%9dHxR%|OQ zSjz!+b_sa%dOP;C*{Hye);D=LuK)mXb&^ z2)6yL5!&u3lh?E-MV(Y|X=0|i3e;-rNwz|hvpdbO-1>+v6JmInL^c?Lth>!<+0xWp zIm`H>GQ0E8lIT+J;CYRg_j;%Ra^a#z92ajR~D zf!kQP+wfbXHmUs_tMrpk5+?jkjJh_$uZ$VAQ&`QOHG6GP1^I_>CAOrZjEv?w6)E+O*fb*^h9Z z$jKI}lAwNHoGnDdWS?lV2s|QY@UTJGKKH*C+kWi+reg?EnjEP)xx{(Y| z7Y+rVg72@J4P&)6OVQa+OV1JzL}-s0cj85A>*9~!v3Y~~{Ck#`C4_8WfeQzf<)yjb z*EslA+r&Q>+$F%~s(c{kP;s-eP=onZLFdt~g=%)eUB6ij5Le5aRT6-{5?*B6s`Zju z$h$C{2XkROo_WGwEF4`8SB;YhhgfmYv;I7+MLT%Uj?BLGhPEas^(ju9D6o7o_Mow9 z9Yi_au?f#KP(RKomoh|%4?vlJ?D;mY@r0L0)K4Yy-1|v&l#Pm2#<5qE z_VlOlG6!r;ZFmc5J}}T~EBp4)Qi$HbeZCveu`rvQ6M5P?)TDX693Oqq*X)(fW*qTt(H`O#YSmyISVr}^fNy>}ql4QWuMwFAg}_1N{??NPQFT@2 zd*~@utC0?yhkJaSw;tHTR#X;{Iu_PwF>0@@9;exgPRyx^H%cP5?H*P86&gYR3l#(LHi)Am=awMMxJaW?niT-CR|*8+GULbQb^n)Ydw7y3wGsnuq0xuDSV74IHs3l}sD8384y{adM!k0+mt z?!UC}O}zO}aZDW8xwz`*o)iPFb83@@)48p5djYQrv#!Bu>fK~+KNBE|@j>OXJ2Aow zt|-s3J*^Hpz9VQdo_#^5^lq@^bR!M)&0PH`hzW87rTKp9H_FDB11))OBwK zXZe@$*B7L!=gwiocM)(ii~)o=D~C6OLNm|#ZD8dUWqR(!U(>G~c7Z8(uWBB5(g>{o zJS{XxVO@BrIIAkTGI%2Y`|*>D{I$x}a;}4*93y~`FCG& z;N}ctPj=>!k@0Z`UDU_KhT{fyn!E=KIF4fbOZ}c?<E*V(&hX2w;K>6W2ERFcS^=g@+n*QsO4P(S- zj%Ie%KUmsEOLod%C&kZq8L4AF+QqN!A966H5;T&UxH8;A2;0uE&@soY#TrTZ`a*A& z_1F`!turBJA!Y!%tzucSedKCAyYdZ2>KjY<3UdD6WnsYBtA4V+XG1Zh$6h{~k(%4; zp8{S=WUDsl$J^BQ&~3QHjwX5%`-eaM@Odk#amIN>{O*tEQMQR(JX8<%ljFUOP|aP6 z=B=v6mFmOQi|jmFMlHu!uF4-)Mab7bR2|1w=#+E@_Z46j|0MVSvIhYLBz~oPDFiQQ z7D{E<^Q`EG@I%Og_-S7!oq%0sj{y|E_lM+p>Q(pE4q*DqZrtNLhyw1~HDo5<#|!N- zAYTB#xHPPAo4aNImom0c@=W+sVXW$~s^w^=-;6deR&S&cnc=dsf;udV&Zgg~$+{@j zY&lJQ$)p>pG7h-CcA4(hlx@9$B?@x4r7^(e6I7Zo=ZAt)>$%Uf0Se3$bIFGDY9_sP zn4$Y;GRVvSFiokh}4?<1DdmU&IyY?Ys{_D8*EHepJ$YloF31e8 znb{Fx2 zS53VW1&XPzFbc`bDy)nS#TOHHzkNx=>kc5A0F8thRZuU)t+e}7vpg>y8uj~oZZY+e zV4(o}FUx*AFIr`)3SSo3Lh@EED=9@fO<@EdwS9Q(gsC5yD;1|5Y9pM7s zon@C{kVkd1hdyGnDRN`vKDW^x&1V@dFgM^#WTA^jwcxmzKVI#j*B_`+?m@IqRd{M1jd9(O0pF8D)pH+Nst|S#sgbORQF~cYIem&|Q)+ zGZLj_dX{HJkfKCLx9i%z4YEFrBEJ6C2jgO1p67mew8W!O)IxKh+pRAz>z6e=@HbjX zrPJm5ytPX&OLe6@tAei1CJeHj=SMbCWvRP?7_8jV4p2d#ozSIiOZ6e2H123lg!c>mEUPADEa=QCW7Ou>+ zDTdi}o>X7f{gEq(l#f6~HD;qnYX0?Dt z%@bJv+gjFZ=HKCMv8r9npNiLS^X)Ph`M4)yABET6yHQ6`hLA(u+v#SI&yF4wm0-U- zB}r_MPITd!C{G+xr2V*Hu~rgl8OhXewAo_Zy+nxgpQUS`UC3l@X^yQ%=LGclXrYQ- z{EmEpLuhPuOWZ8cGlHV_Sk=?`EN}}~JT&z9hm^%ovT$#G-LKQ7Yq+_Y1gT7vV#P^5 zi?+wtwx;htf^~??r$Dt)Y$g2c$2t+~7sGabwXco5U>bvQ7xP^!bo_*$Y-e#+%b|DY zMe&k1K*q~SjvOPok7({?=0mN(@#@cwL%;Y3nuCpXt2ZnHw>SFZsk1%qA`H%-jOJMQ zV}G<<0VJtomrAE?1tzhKRR^BL?bjiZE$%a-V0d}@4EkIAyzL{IB>FMVLn`J%oW3t?-lW-H?ui6@fHudi(P_} z;uoD`bIz0vMS1zWYGheJ-ChOk4&5C=%_D*R-=9&CVYBDS4fUJ)Z1!wD2W8LWb^_{b z$Tgan3cF4Xdpv`)rF05w0H!s~KdO9MkKAL;0CpQ0q}_7B<#7=5qFDO%s?)NZq~XTA3tsBJ@z zK=)5S+1lJj?o3*u0avcthv$;F{(hC6fyHP$mV_X3T5209I*;|8RKN5zK7qIC>)dZnWAv+ z$?V+RPY7mDl#0tc*ehPwp~d{*_JZU9lXb?lrr8QjM_W!<-o_=0MwDXteEk3NB`&!l6mk;(x@}| zLK2mYtva%?yKR6~>i_ZneNRtpvw3W$IUip$bRdntHk4MNg)y(SAoeU>9qt>Q^T?PC z&k3{Ld@1)8^JE^-U2UUFd~|8>Mt-th$H2=uKqoDP9_w6~OX>H$9MT3hUkVqbUGPeb zlN}Tdm?j#W^89LnOc8qDnUKj-M#l*MmY1Qk$Zc;54)hTwLn9E3-1)#B#%a;71 zZMN^omXvT+;?>%9dReR<&n(m_dQ*CG!DYX?!%XSkF7bJ+kQ(ktj5|99fv6O<6@+hl zEPZ>^pVbKX985+pe5e+vs5`RfX!CA#kW0{=3gdThTy6L@*%5>Cq2YU5A!u9a!?mPi z*>D{vV&JLAtew8#RccrL|z+u%6;}NXWVI+e=?8SnK@?eJG|&GbTnh-Ry2_ z5_Xi|>dD<7x60q7p!WxJBAZPT(nmYK(weE716vh;Js$G%9*?%tGF#6Vj~_{Mi0G7A zt%9W|?99kES+RQ+VD6J;tD0l2>$)B;T5P5t)og+Mygf19$&tuPslmDb3G<%?mAD+C z5Veu^GnHBKb7J`Q)1K`0#bn>C`gr=i3?rxK2%^uTl+okvq5~ zpkQ1U8$|x0o`n7V(dRw1=IbCX8_`~9F1H}!@h$B_MDQcsX@1mEy}xQj%905*RFU4a zthXvZTJV6@pm4cr%JpZ(_T=DP=2dQi$9A7*q;HBJapY$>)lhj2qw}f%Y~EpvN{4Ku zOC(=ZuQc@`@kDEvYxu?oCWY^$!hCiDLR~PrhVT|!ng)<=%qWAVs-IL9E0>;eb)pEF z%|sWX_OG$QIt8MqcDO@Q-J?a|9-U$&J4rlj+t|5_Y)g+20ou*by1Dl^G%`wz+GS_uzUZB1*KXW`<>ruI8F4R~ zJ_4!`9lu%ix3R$4V!72;VJ9vy=Z92CpZv!)d@0UGKbk3V4J~MoQ=JaVz2c zbF(=#9#D~2`6epL+g8>#%uuzl8C_ex&8T?vezGP{~5kU zTqeHdcr0TIk${E4-D*=37);?o{mhJ;{tX#HYghhUrBmllA^4_`HRhcW3=n~NO>-Jz zx+d}`7BYlg>|mp{7Z;8hB-5nc0IjxQeF*^hz(4xOk78B>$p8f3acf9hPfIzzxk83W z_A&k{fHVmo{|-#%(iIR8ND+3S8W^Q+J*F{_hKpYY41u~-FjPBnYOyXK} z9xOw@_q0>NQOOf({3(3obJQ{l;88W`e)dmqU3$KR$vo|Dgo}8XLaG|^lRsLCiCgc5 z`qB$zY|(rQxEFcPAg$hK3Kob2fB^_fzF$?+ks=; z#P?}2>N%&Wf9~9~W2g&tAFehZWLHWP^C3+n^*XPT0|Qwcb~fODRy6hBxck_idxj7= z97uq;5b})KM4Q8XD{4d37 zy&DObhn=Sy{*!Z$w7-cT1Rr+}0wGp7f!lx{d#CLlnZeyge4tdiuxWu`N^G8pjN7J~ zlHZ;#viZUg{($^1Bj6;)dTtv71_ndm==SGb3cjpuk`}{nXM}SX!d^8Q>R*)v-ud=j zF4~jD30N_S9A2+|Zvd_tK(U-5<|S{Wh1OqaKaIB+FPM2**4nQ`bbIoxMoN-@248St zTE3pSbD?>wunj&8N?aH?BGpo({ZYVRt6#7J?SoT6Fe5Qvtp>%koRdAlKLBvjYTQp-y!HrfMmXfTYmtxLPkc9MygAR+ zK0jN!=XCf`{PwLhY^#1>=ec0)FN)}Ol(*OF3c=P}PK@yey$$Trnn#ewwnUb}F8N?A zuY8LC{?_33N47&EhjKaf(Q$ryZ{Lm+9fZKn(XKdcDf7?(49_`e9{-)A+PEEs{5Mv{ z8Yizi@Pa~|?l`MC-RZu+6u|)Vsp&jZb@f>EfCroTo>Q{>cdZ#Qt z63=NpTwbxjp=!SquhNFvi>Z_iieukm;{*!VAWXNqL|m?S-00d-t&eTuMgU zm+jEIZj9+=?`h9u%v{5ptGP`>=N-&S{)Eyq@q8xo^Ygv>c!@O6l4m%GP7_#PBQt81 ziH{^Pg}hf`r9a5|p3L`z@3*5&Tj#IG(lv>B7;H}*ji0?gl}Xises6S`-B)idFe!l% zl@m(6*VNPTvWP9os;_N3V$qP$`B=Vw>=I`shj3wmf&xh@|9q40opSph7VpheNFL6a z&Q$0x&W*l2@PT7S7Wi!uP@s6;8cKzJZDCy9_Q4HOK3=f8q4}r8{K{>zUK6NE=^R}mPfG^)c6r65( z*t7`jZDcRMJR|_xdol)(CEk07V()817(KW7vdf-K0uBO)y6GAIbweQ6jwjol_F>8| zy|t3!-~iwy*EKT^w2a_jIoqXa!{cX-AQvu4eJLSats5DW6-h;>q~??Adb` zZNJE-)2jO4|NWytqY?lEVY-p(|Ni3VYblf2vuDqmIV-2rz)%0@CqMnkPh!WWxsB8P zn5;Z}^N8BlXu-oYs<0JklP8)0XPtRQT_T)1b?Ur%n@^fBf#1zP1%4XZF-IS@a^A z%$dRI^pj6MdDD%*M%tiom0f=P;~!u4gG+VkTWr2XOs8+TWy$j8%P5Y-NlX4GeMu!les2De92nd+;4=enCosvARz8MC z1)+Xdfr8<(S6sA-q-A9LzGDzDjy_vIqw`L-andR{Ti4ZML;yhD2@0O#Xv$Pt-*Jvy>BYg>mL1-7CmzFIpYW0+gIBMG1(&QMSG%a z@!r}8?!m_HToVuQ5OSb>UG}brn!?QDbIXwqshZJtZdep z&p@TQ=$vW2O{F>{+vLtIaj24Vpsr)LSu}Q}Tf`x`7nD*>46_{%y&zI#o45+c8akpM zbi)amOWA`JV?~L$!rhE$>_i1Oni2Ua03lpG2GGEyze2&YB-wuvo(c&}W*l23BRL|| zOO3T?cYLM@YJ~q8m$n8`Z$D2T6g+$TDO(%6cw8NE1$~N#+~vKAf9fU5-#}+nZ6{)E8+-UQ`|hCV zf?QO2ppG~ERGfftIYY9aId(sRg~V;D)rC;~sh`4tm`KaKBjzJ1rO;{X{Zq*KXnb|P zR6)P&G~N=5CB7==fE=SBpX|BU`ZIpl+2+pidyBtqGKqTJp>IS+fkw`Z=O9JaN{7ry zQIuSQJS87_0?^1WVlG)Pw=nXiU>~aI2t@|SEw|i!+;K;L{p_>WtXtE|L6XRzW`8of z#@`zm2*YxkKQczvuU~ugu}5Ea*(Dik76Abm4u?10bmKq&%bOo~;QrczqU*Zh2ai7T zh8wPrBaYC>1XF?Dc+(9>9{JweZ~uMS%Jr6?cw*@nzVO+TPyPgRy?mW9lzZuAmwx6m zC)ZhxwSVWGcf9|7@BP!=cSZh^QX}G-Fv|QBmmW$cL&-Pj6kRv;>D+L*(PbjGrlP9d zx6V6v{rdF))~#E2-g)PWWyIxswe*1+(eBTG{qx)3_LkrO{&y8>30jf0Yu9||yWjrz z_q=<<#*OT!XH(pGPV55MQ-At|;emM;CmDWCn+$sZ5hDY^|CHyEV5#19N< zH~#vDBR}vT6n+X2B1@M({)I1m_LC=n9HJpZ%L}^n(n~)2u@nCCmp_ldVB^M(fBDOw z|Lr~Rxb?OrQt$)l#^LbjqmI1chU+(O*Z}dpugW_b$@x+d*1n*TW_%(lA(58H$48t5B=}Yf3{)6`U;A5>(-uo?l-^r&9B8L8#b&b z9%3C34?ghVkstVvd+)u6fxUnJ=%bH(>QkTi(SQF)Ba;o?<4YfZ=R4nV*Ps5_bu5W2 z0$}OV$3J?~iNF8-Z^;T8(&(U_8NJ9;t5&}2U2nVf)>~rf&i;4hiWO&_b^6!NJ_|)M zif*Vwn?G*Yu)*~xYUQ;647*`ujr!O{jH8IaPNDbQd)FsE@v%SNc}MT)jq`)XjC!M^ z&Jf!@{`jMBf5*RGb>%PD^S1vK?D}=zzvz2!d;43~tzTPN?t9<={*mv0@52v2G(sA~ z;qdXtA3O2H4_|n};>dK0yq(MrB6khDp=n1|wa=W!2|+BXnUUC`)2=)Igya6}!V6Ze zTshL`;c$5EwZD4n+y3S5yYK4ft?5lS{<_c+^`h!@bjoKxdGaU1vOIH1@VU=^>iqK; zKV@rV@TDJBz4lkvyz^b}SZ~<@s$JKGE!%(3Tl}q0fA&)kKKNj-f2yi_*IjoV`GNQS z@Q0Um;ZvX;x^?T;y!+qYdDWFyY}~jp)}2jd7hZV5$)EgBTM_~=j4avA#&pYai?+oL z+NnJmf310U!yab>HP4D3#IP3@4Wz!@SC%Z54sf)C%zUmnekNHsW-{9?QK!rh z7UmEJca?so7dEyTYUG}E#?O5p?Gm7;&b+&jQdhhxd+Qcja|MyvfSEhZ%)o9$JN(>y zP1R!`=cb)a<#~=+mN2(4eRS%jL>*Eh2iha!4Wv$Oq*YcWvlo3?erA_`Dx31RjF_mD!#p7u^`CK4O zUzs6XQDJPKS*%((Ej$9bJ@IDG3&!iT*ipzwOaCR`8=n`y6YVp?7cHX;jl_S09~k*d zkIlU2{W~u#5*~W~u$Is3?-}tDz5HvjP%>M!ZW~2#PVdGCDSRH8;TrNRELt+3m9_~o zQX;bp-oWVR1@paVt;PldkP|fY82sP!4i+XD2`W_A>H{XS^XPDj=qW%Bf}$@$4( z^pZuVDMM9ihqIWpf@C3y*=UUcGB}JN1)Ly{Y(m@bQq!zewd*=n-MDe6+O1!|e*OCO zYu2n?xpL+5<;y>C^obDp^SyucU|cM>jc zc<5L~MY$x<1b#$7`8+(;C>nM*_O=tem{SjTI>LsbT%c?<4;wiSmfOKIZRDF_|g6e6DPg;Rj+!+4m-@5GZ)acYt}4%V(HaaU-hRy{>j&Q;`l{_ z`(NsJY;0_&opxHd-F98qJ@CK-f4uX~jorqqWgw6^#v~+65fnTyPYGjVV>|A=({>BD z>$>j22OhZNk9Q0=4CB4g2kql|%A~0~@3QmOTW!5zxc;VJ-?(DM$`QHAz|5UFQym1@ zdj2+JgR%AN);{vcqoz~Cyucl!m_f2^7x?+)$y0XOW#_H8-g?9O^*7yg@gS{`@`>lfB*gWSNuCxX*=Kj-bJRMQ@-%IYp=gf6cZ*)eD<@Sz2#P0 zE?>6njyvyM_QVq*t11T&pWAJ>-7}xL+f!>+|Ms@uEPrwtr7YD3)85mr0oB1^u;8aCf-^XESIxn0-& z_V>Sg?2$*gf}o@PW}4(6vj53f!7WP86s~%RpvQal_j#Ldw&RXF&zU=C)vBj%zy0@* zJ^FZXRM>GI2ZTao!XS<7!3Q3=r^0QX@Ev};rndAsA=Becv?Bj@0(f#C%QV)wDb7DP`Bg1Ju6j zjTTM_{6HZC;axeJzk`ua%8Cugk;hSNkG$8%KK{L%k_oEc$@4iGCn%qb@v1<^+oNky z&Bjfdso#*#NPjA>iVY&-rFcGY753tI&Uf|u-(j3BFdpmKruwIh8`+LBB9s~{+Sp|v zBk}D>95vGCNL>(!w%CtA!~-Lo@PD*3Y9sL2%oxq^M$9A^8J??e8hKaPb&1I(WL0^u z+Hb#aJ)Y#slE=fnn6Pi}(a(Z`;^T^c?ET(RVkKTJ96o}pUd&nX359cQpL0g=P-TMD zm-exz8S~gv!k9Vz<0zlItQ1AgJzLB1+NNmu2;wmMneq6D-(l)w$hpo<_?h^Kk}_W|aUKDIgXJ4T#oe{xsqaF(&~^ZecZQDovEH*IZdj2M+?zyEve`Ml#l ze4+v3kT)Gv$mjp~?*AWoqHmZq96)+^7w5^f1ZJ#3#sx|@ApyL*%as0MXFJrsXE#ePmannzuWN~H2JXC|I+3t9?I`B&eq1` zD*KaxS&kQgsFwm7d9U^{_J5Cy#8i2s@YU1wGx&K_{^Kw(g0T@E-Xyn=VztL_#V?d` zJsnr0=xdWcqKAjT-nc&Z7G$2r*NpZdCeZ>7%#7>jczllM;Z1VR_{q3&)OZ|L9~81h zABX=JKWqxO{(QmzCOKq0enx!CCiFFq!$;*j4$qY{Q7{jFUSj}MUlWs78;fb^>FjY+ zG0AA3E9Z}2B=J~l)OP%#LB=HG{b~JuJSS|D&qw^=h`-LsPRK_QHFyI*9Pg&>ZhUNm zP2!DlV~=w-wctD&1C;n@+@xk4cf}&o2%i{F_WdS8zfX_h@wQO$-=B1ki>t@$w`HH7 zj^Cb+CwqO~lwHJl1<(;5i02u@gv@nZ4A#R#m2K%~^naw!^oI)pCT(-meS4a@PnE-nAFqA*zj*uU^)=FFmF?5T02u%LI2##hXB^KL&Uu=6djy9V z_l%${7Hw)=BmEiSpDLfYw@bx%7%r5G)v^Iv7a_HBV8OXOV~1U!ddlZMK701;>C>lA znKF6Oq)8JePOLNP)|xq{F#xfV-8%$J*Hu4&BI_}_G3N?J1B_+tYvPM?f_{B75JOq- z4j9A+I%`%Vez)}=OR#{~wG+VCk^y+#LYpA@i|lj2zUcB&Ra?;WwG%}9fQmpxyiTcQ z3%F(2;-|mP!$}1iI`+|?_s<2eZrEq`MYaC>Ks@t`!nHb+reMj>S^rS$vw*k|>Roae5MjMj?bliDPfCI8LjgMF1|aG{=6n5J zc346n5@*3}r3jv@rlLaK<>vr(laplTS*a8mi%rA z_4fuLnw){irYH_cQl5qrBM`3`+(PF-d9TSzyUyhiSfF? z5>cu^8xRlCHwudO?vts=1j$1tJ=|tJMwc_+(pecmRb@Ruu$?CSyvTtHfrDIVckuBN zdv2(Vwvx6ao+oBtuTVh?y$CS~5z5WP9`aNm>nJ9(#dt-DK!U_@6?JP5q%DhK}s=Gzn^SvuSKK`HYdtD{Lr(vbl%sD;l34sg2S!dJmo zg=gH4Q_Wt7S$(@C4u52QS6h=}`^1S5dqTojg&k3K9Kr(#E%qoV_z4qf-V>p(;r2^H zPLem`m7L@d&&8quDgK&LbEjDSh@YV-cB*`1*pX2t(GWD{^`eDzX4uK`7Tz;i(T~@D zrjs@dFa|I_sr+v$Yc2e&BhAIw7~z0=uQ=pJnuPs&n-U;Yeo^U9QT;v-7D_)36vlO4 zZ=6Obv^)3v5!DE^a7dgf3!aZS!677WHKIUVmqN-TKe`e{q2kPz7DPW1GL)7uL6Lv? zTET;L(t;HF7a>;@SfUOLyDTiegCWZ z3aX#E=TEjNhXVrmsef1rd=?N<68mO-AuX+mARORbN)m zSp)Z^P{yTz#V1Tk@(IM-k^`<$e>#34J|CWiB5nc447ElyZ~e2TdlO zX8cqAc&;bpy(<2>R8JIg2!1GCqQA?&3VE*!y+l*0>hmCkCdwBN=~E zZf@^}$vU61W=ZS5b6)`EgDv`UPnr%c^ed|aCT?aID9etV^bQ9^I&1u8WaCc6%05hXHpE&t? z11DYT;1gdbXh7%r5;lXk_U(BOHDgj@%FF)5iW;P$iyQVB5Op0eU>1tW*mEru1OKb{ zK|MbNl36R(GDOjd^{ul$(~P~J(G!zKvv?eSQ(wmwyXMX~-r}n=g3Q(N;F|G&k*64O zcPT?eKO3TN5S}`U5%KNlprST+r|#UX_4?Bw_Dtt%Io@&uhS27^Fqvx?VFBax4jnaR z-!eT?lJIpS>jONrjZsMGSNqZ<8l@8*K!)0J%~**{@soTcyU>)sJ>^hpI1{TDWU~(* zVut*i$Et}pLC604DxmlT0F;|MMX9*;s9%Ullc68{894sY$5l#0J-9)%U*zLF#8JEL zG$8Jzgzrdn^}W9G#OF&^MzofAi{P=ywks|zth@4njU|xZr6uzDj^nbCM*CfFyvo1Y zJR@}1v&WXWMZs`>&arg#Bb`Ofos@A&@=WjT5TFa3TSQsy4zz{N^<^9wx`w7S5;?|! zlwMetTc6KIO%5WFE0uT{!C~;N^m#_e$)bRE+@Z4mL_hoAlKfqDAjQ@sdZ_*WL_S;S z$j8;^tKiIHry5r8E!?W>Q`L+bQ{U15@l2YUROnu<6C;l+Z_HNQ)~ za&IW2U3ftF2}Q;aZV@3da+IJl70<|Yf!NYdAD#66i+=nQ9wa?)^>^W?hT07zdCx~D z$y&ubYyVy75TRekZ&e=V=j9V3c9i!T#O#7>AjKD;Nnxtuh3Qi?`{{9A$5=?i3xxlz z8f2fl;36brxQ{O0wlh0I-%h*a6IGu^RR5L8thf!FyW}w}?~2ULsE8c-g*$7wgAG z!4K7!xrfRHqdxyoG7>UOzYuHy+GCM$MSl9G&~io~9_Q_tNI zDuSWHe0}M;^MGXZ*oyvyc3y-~KjrOvm{(g$P=c&K*pg+_z+p#4P7l*YY3Nga46%jvAFFx_MrBo;c&7QZvb#VMQ zX)11zq6S;Bce#jj%ez6)FtBmiyE@p)rE-heKDQ!04Pw)7>!&s}ZE!V5KWzy*`hbzo zLHcVY4?#>vP)M`oz9vomhEdm?t>%ab8k(0~;`89jSZC_Yz9IUcqhrLtT$2DkVKQ1~ zSR|r(G})=SGlMr7`a(Cy;w$s^U0a1Sw}yT@LU%fV2Mdta*pA85#==cOrQAdXQu4H$ zHicUKIdPr((uiYMoVr5q3W%yie-vnmB^8K!XAmc1{jow~i9@I;WMFn-`jzN|HW5Dp zX!@f2CYHQSh3&vc-i|%t{ZYk0S{E|$BUWy2ox22YpZGE!OB=N3#f#OoJbwVcL$$L3 zH@n*%RYxWh%Bqzz;izNN0@a_G`-`)_+@FE_P(k2z9NZ zzUW9B^#3*c8nOM_f0L)Lx%xM>`ES8*7Ce%`)lG5}wgw24I2UpyN}F5=6??|hg{gPP zBxP>cgP@nINopMs1<)jR+zj)++v2tsb^&)& zLY<=WVb2x{&--Zwe_s1K3jbo#k9%lS?}n>^$w5^cYe%~rwDw2RUzB&bwrtPBeOBRH z|2-Mmv_ji=*(4YB_$u|HDuafhugs75qrNQzkOA!-?n5yk#(X~oGAQ>%43Znss*M;| zrtL`OH|ZE~iw=}KOT=F2&iTAmzgF!!>_r04juYbnRScSVAwS0(>~u!(v&)~~6=~(j zyZL2fR_Ou{YQ=Sm48{A`Df-wm88oGji#oloQ?ntrUvjk&1F0|i@wm6e>{^PA&==4~ z+(#!S0W`;U$LF(sE(zOdzQm!&3~W<4MxhP%+HtNAo0Z%_BM#d*-ARc_Bu<#9^KdJ% zNAi62`{bO4^cUK)eNCA&ezWI2mJ9nzf0y=dI&%ATUtjTK`ihv-&bXP)X6z~hU}z*L zg)=ihKloEC&ZYLDA6GyUGleIGKE+~TFph0~JqDi>&-Ob)@790ry8^9|(=z4^3}*~X zJMHmUk-sGN{JkEh4SXBEU{wSvt%31?_Bq_*vEUh>^0$l+X{QnxaQ8^gw^(Q-4zxZ> zgJIQiTyPuw6Y)91|Ay}%_o78CVSVr|Q1V91M*?r|yLw?ptjhocTfKLCvBF~(w-&B&G&KR^6OWS_7ug=4Mtl)*vdJWQpv;4s`#P7K z#|!l70!3@#v#3W@f5iAI@Zrsm+I;-Jk+5NR9XUi&L5_Rp2s<^{eR{_;1FMf~7fFw1+dX&RHFerF01rO&pxqH+<1V!U1w-5IR8_QL(NSNvxww?|MZFTD zg=~gN$}=%9iXlM|@>Hm0q0ttgOyFgWR#il8Lm+Kji4!GedNR?pFYsQ2@wj!p2Zwap z_4eDN5-9Oz{~3oL@h_QP0uTN!hygjcT$w682_lP@DjJ2Y&d*6Z(l&3SJ=vW z=g+VYW?#~5t)5)rBX@afaM94;R5?~yLs%4EW7gagz!1QNE{!y9Ea4rB084+8R-HyQOpRc(RP38Lc10$W38;aFjPW9yp+ZbK&C ze%Ofj2c`eSq2oXGOFk#p1#gQl1qQ$QnR^Ml4(<({qhnkVzO2}e@sHJg4SkWjI_q;+ z`lcoJa2D5)KO}rQtpYDX{wXY9U$im9-9S)@V&$g%&)-Gn!+m-&NM) z*6}_|9mBpe*o)Juha76gJRyfZM;XSbmoA>qdgFzM>sY93(M{+y<0YF)1+MyWQS_nq zzt|CDJn|>;(*>VssoN}NEQ*M801P!2KhYJtV;yo0U1#44J~`UL)KW3ful23;FK7sS zMr=dbihtg^o?S4~5z($& z8uK7z7&s}llugP)U#25^_g;53J{QJ;#cz7dY40?iNB?s;=R0q>4|1+1_JSX5Fs;^V zE^%71Q?*#vrNTrSa(J~b>qGI~jD>t>*y0n>%Hg3qv-jq{%zb59Y$-a`5#Ed6yMlr6 zO?Qsr$9akr*Bx{{-QKL5>Jm{GE`IZ4CN$>-<(BQ@!0s!Ue-4m+aThv?x z5!hOkKd;DqQ743G)mOQUyck9K@8yCDlz#?q=U$;PlKn+7$V1b3=z$0S5FACmc2)XdzbgX_e-r$aK`hL~eega&6U;t&G=B8t5SY@)a2bMH}PWZ6iW zkHoQXP%*A}ZyX8Z0;@CaG9fXVFCKh^j-Kqh(E=+xf5^@6n%4gtyxAZyg zYsfx0!Kc2`{OJZlh7GQ-$fTtm(Nr4(`k99rj==1t&%OLpKLxki8pl`xZt`b-K6DVz zGe@guzeRUSAL0EW+jAMpojdW`f|u+?YP$qRQ=VgHiVZ&-K8tJa$a7KU^CENFCR8=^ z)({L(%>;=tgvO(VkaH!9;$On=xNHY>e$^kPka^OMjymw{xm(ss_5I}7 zR2JvqATE+ZgdqZPR(Hz+nK0s_Y714!)=qBSxbit@cdv1%k~VKTHL6jKUc-qbZI-xV zyu)qsumw<_i4&wGBB>H_Uk}I|=^W{JE!8zd$#?uD;AWMik ze5;Q)vC-o5WQW9?NQgz90fN)at!G@}ek$%hFjQrDt$qJOnY55Uz;G^g$`dN#yG?IW z1X$y+9De-4a9%Qr+)pry)GnUiTmvaIsr}&q^zp#DfXS7GqpHlB>Q!U=B z0d?AXF<$x$Anc{^vm+!z*(SAb*#hma%QN7jb`eZL>OjJ zX(c$9(p2Tlk=VQFL(5$ot~=AR6ac3lsPvfMRlkFfFUM8=NQpjL%jrhGfH%FIzkC zsWOs1rP50vmGaiBFcoQR?9RimZIpykwf_lHP{tIk+pp3 z1;sAXR}xp$+Q>}`DOK@|(9AsCgblWy^rUK`SZ<)Gek=W5;Si;TRvQ727P|B(?MOL5 z-#b%Be7kw}V!6l``Z}V8q7}cu05rLd?We>{@~xnbo>Z7c+=bWB&`5e)M?0sg&Zz8j ziEt8`8q@K($AS3IsK!4LO*W>VZ9w>%jOFqs3yt8rjq6FxHHFiPMCygdX>WQeZZF%csT{P+BI z>tPICiDXJ|ZTX-ZXA9}Gc%OoXM~)k?8GBnsJ@I4Q%XvAqG?0D62s;H53LYZD>_;pTG90}*i&kS1Y(_PPdHy~!1M)bT5j8m8P4vG+ zCiHHSky7#9>Az|WR>#$guFD%cdb*f1*RAPI{;29$%%$se`spU(0MOdNLl1?WQ#Ycw zd|LSLwvx~QG#SJedxLZez&3A~0|v_%RY15(=A_1)DDiK28(^M;z;j@HWsDA1G;*+Q z1xlN3oq0dKKgzs?T(>XzHgFU2J;`j}m)As8d^J)05Rt*5v;*eQ0%G|I)(6XNXn;mu zmdT1au`P0Ft*?HCv}T^9Jue-AXtU(YDX;w`4G1FdC30!pwoH$k>T}2kQPb7hF=y3^ z4B4gtu>x;q-^(*+PK!V_rV;jj%Xt_GdU+J~jOV;*$Q;5m3o(`qG=25X6_frBXXgn9H5U7GenTO%GCcmn!lLnxd zkDa-Wl!N80Cbr8M!TS-Em}!MKJOHa$Re|T&Q}5-w+&Rg-aaHj^EdJ(tv}F}rT+7^^ z7>m~2AxZg+$~^dIka#f8G`*YLgC9KqQ>uJW^E1s(ZTi69I|R>+Vz20qyebmj-|$Ba zNXi+($qa8TciL^dXZ!iyde?^3vG;96;W9_+H0|B7LEj-^FSHLW`GL|>{((1%?}`Eg zsrMk*RL1!^`9#x38ud$VC%>WCY}kTL*A$~R2>3l66$8{!h7!%Dfx*4xN#kV$1YBQ$ zcv&RRIj=e1!F5R8HMCJodcfRZcndj8@-w%o{k^>JJvkYX!x_uWp%*FkOTBB@6nVI3 z565wi zg?h=jqUVo@&z{d}WsJtvHQ!$HP725TfX}6ogG{@Xi#Y~=zOW1xyqDRC($1}cSBi4Y^eiIrd+2Mvb(<)pUf~v z*C#ISLtEsT2S20mv-ITecjZ(Z77U=+n)v~sWh@$YVehT6s4z~p?<)Bua88b5pLxGb zy`PB8+LN2vLX9hYn!@Fh;9Tsnilj{3?*tzf+>Y|Ur0;_$ zcf~zt*y3soVwbp=@9Laj{$da^YZClZ;(64#IZr_{5d7cI zd*}Sc_iJms6k~C&_U}s3Z`{%2b2poxDPt01iF3U{6Q;J-IfCmkIoY7^{1&lL_?Nye zs_*a{B@82=AsKCMHYXz9>8&hWhQ} zgc#PubIp_QV2%I+=4sd>Lgwz4{HtD`4|8!<1BZsa4n=ojdE_MQnWNk6A3i6gWNm0tT@EIznK0fps$`x!Z58ks^{ z`ZBk1>g>K|-1%9r@M!<=?^IKq^_Y2r}N9@9*fnv+XOVY

              3RTaiB`4HAYsj{|OQH`#9=1L!`3jQq343$} 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

              $dDP8yqNA0A9b?|aIA@NO?waX`l{KIUsXC^ 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�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 literal 0 HcmV?d00001