From 3e6e7ec6c9bcaa0500c45c12a0a21c95f1ba0eb7 Mon Sep 17 00:00:00 2001 From: Danielku15 Date: Sat, 31 Oct 2026 17:35:44 +0100 Subject: [PATCH 1/5] feat: rework the samples for alphaTab 1.9 and its bundler plugins Samples for every supported framework major and bundler, named -- and bundler--, each with a README describing the alphaTab-specific setup and its limits. The plugin-based samples use @coderline/alphatab-webpack and @coderline/alphatab-vite; esbuild, Rollup and Parcel use the core, worker and worklet entries. Superseded samples and the per-sample lockfiles are removed. --- .gitignore | 1 - readme.md | 84 +- .../.gitignore | 3 +- src/angular-20-esbuild/README.md | 57 + src/angular-20-esbuild/angular.json | 87 + src/angular-20-esbuild/package.json | 26 + .../public}/favicon.ico | Bin src/angular-20-esbuild/public/iron-waltz.gp | Bin 0 -> 72703 bytes src/angular-20-esbuild/src/app/app.config.ts | 5 + src/angular-20-esbuild/src/app/app.ts | 43 + src/angular-20-esbuild/src/index.html | 15 + .../src/main.ts | 4 +- src/angular-20-esbuild/tsconfig.app.json | 15 + src/angular-20-esbuild/tsconfig.json | 31 + src/angular-21-esbuild/.gitignore | 44 + src/angular-21-esbuild/README.md | 53 + src/angular-21-esbuild/angular.json | 84 + src/angular-21-esbuild/package.json | 25 + src/angular-21-esbuild/public/favicon.ico | Bin 0 -> 15086 bytes src/angular-21-esbuild/public/iron-waltz.gp | Bin 0 -> 72703 bytes src/angular-21-esbuild/src/app/app.config.ts | 5 + src/angular-21-esbuild/src/app/app.ts | 41 + src/angular-21-esbuild/src/index.html | 15 + src/angular-21-esbuild/src/main.ts | 6 + src/angular-21-esbuild/tsconfig.app.json | 15 + .../tsconfig.json | 25 +- src/angular-22-esbuild/.gitignore | 44 + src/angular-22-esbuild/README.md | 77 + src/angular-22-esbuild/angular.json | 94 + src/angular-22-esbuild/package.json | 32 + src/angular-22-esbuild/public/favicon.ico | Bin 0 -> 15086 bytes src/angular-22-esbuild/public/iron-waltz.gp | Bin 0 -> 72703 bytes .../src/app/app.config.server.ts | 12 + src/angular-22-esbuild/src/app/app.config.ts | 6 + .../src/app/app.routes.server.ts | 8 + src/angular-22-esbuild/src/app/app.ts | 41 + src/angular-22-esbuild/src/index.html | 15 + src/angular-22-esbuild/src/main.server.ts | 8 + src/angular-22-esbuild/src/main.ts | 6 + src/angular-22-esbuild/src/server.ts | 68 + src/angular-22-esbuild/tsconfig.app.json | 16 + src/angular-22-esbuild/tsconfig.json | 28 + src/angular-22-webpack/.gitignore | 44 + src/angular-22-webpack/README.md | 40 + src/angular-22-webpack/angular.json | 70 + src/angular-22-webpack/package.json | 27 + src/angular-22-webpack/public/favicon.ico | Bin 0 -> 15086 bytes src/angular-22-webpack/public/iron-waltz.gp | Bin 0 -> 72703 bytes src/angular-22-webpack/src/app/app.config.ts | 5 + src/angular-22-webpack/src/app/app.ts | 41 + .../src/index.html | 2 +- src/angular-22-webpack/src/main.ts | 6 + src/angular-22-webpack/tsconfig.app.json | 14 + src/angular-22-webpack/tsconfig.json | 28 + src/angular-22-webpack/webpack.config.js | 13 + src/browser-advanced-esm/control.mjs | 8 +- src/browser-advanced-esm/iron-waltz.gp | Bin 0 -> 72703 bytes src/browser-advanced-esm/readme.md | 18 +- src/browser-advanced-umd/control.js | 8 +- src/browser-advanced-umd/iron-waltz.gp | Bin 0 -> 72703 bytes src/browser-advanced-umd/readme.md | 17 +- src/browser-simple-esm/index.html | 49 +- src/browser-simple-esm/iron-waltz.gp | Bin 0 -> 72703 bytes src/browser-simple-esm/readme.md | 22 +- src/browser-simple-umd/index.html | 50 +- src/browser-simple-umd/iron-waltz.gp | Bin 0 -> 72703 bytes src/browser-simple-umd/readme.md | 22 +- src/bundler-esbuild/README.md | 103 + src/bundler-esbuild/build.mjs | 37 + src/bundler-esbuild/package.json | 19 + src/bundler-esbuild/public/index.html | 13 + src/bundler-esbuild/public/iron-waltz.gp | Bin 0 -> 72703 bytes src/bundler-esbuild/src/alphaTab.worker.ts | 2 + src/bundler-esbuild/src/alphaTab.worklet.ts | 2 + src/bundler-esbuild/src/main.ts | 31 + src/bundler-esbuild/tsconfig.json | 16 + src/bundler-parcel-2/.gitignore | 3 + src/bundler-parcel-2/README.md | 71 + src/bundler-parcel-2/copy-assets.mjs | 10 + src/bundler-parcel-2/package.json | 23 + src/bundler-parcel-2/src/alphaTab.worker.ts | 2 + src/bundler-parcel-2/src/alphaTab.worklet.ts | 2 + src/bundler-parcel-2/src/index.html | 13 + src/bundler-parcel-2/src/iron-waltz.gp | Bin 0 -> 72703 bytes src/bundler-parcel-2/src/main.ts | 32 + src/bundler-parcel-2/src/worklet.d.ts | 5 + src/bundler-parcel-2/tsconfig.json | 16 + src/bundler-rollup-4/README.md | 75 + src/bundler-rollup-4/package.json | 21 + src/bundler-rollup-4/public/index.html | 13 + src/bundler-rollup-4/public/iron-waltz.gp | Bin 0 -> 72703 bytes src/bundler-rollup-4/rollup.config.js | 45 + src/bundler-rollup-4/src/alphaTab.worker.js | 2 + src/bundler-rollup-4/src/alphaTab.worklet.js | 2 + src/bundler-rollup-4/src/main.js | 31 + src/bundler-rsbuild-2/README.md | 69 + src/bundler-rsbuild-2/index.html | 12 + src/bundler-rsbuild-2/package.json | 20 + src/bundler-rsbuild-2/rsbuild.config.ts | 16 + src/bundler-rsbuild-2/src/index.ts | 26 + src/bundler-rsbuild-2/src/iron-waltz.gp | Bin 0 -> 72703 bytes src/bundler-rsbuild-2/tsconfig.json | 22 + src/bundler-rspack-1/README.md | 58 + src/bundler-rspack-1/index.html | 12 + src/bundler-rspack-1/package.json | 20 + src/bundler-rspack-1/rspack.config.ts | 63 + src/bundler-rspack-1/src/index.ts | 24 + src/bundler-rspack-1/src/iron-waltz.gp | Bin 0 -> 72703 bytes src/bundler-rspack-1/tsconfig.json | 21 + src/bundler-rspack-2/README.md | 62 + src/bundler-rspack-2/index.html | 12 + src/bundler-rspack-2/package.json | 21 + src/bundler-rspack-2/rspack.config.ts | 50 + src/bundler-rspack-2/src/index.ts | 24 + src/bundler-rspack-2/src/iron-waltz.gp | Bin 0 -> 72703 bytes src/bundler-rspack-2/tsconfig.json | 21 + src/bundler-vite-6/.gitignore | 5 + src/bundler-vite-6/README.md | 67 + src/bundler-vite-6/index.html | 13 + src/bundler-vite-6/package.json | 19 + src/bundler-vite-6/src/iron-waltz.gp | Bin 0 -> 72703 bytes src/bundler-vite-6/src/main.ts | 26 + .../tsconfig.json | 17 +- src/bundler-vite-6/vite.config.ts | 12 + src/bundler-vite-7/.gitignore | 5 + src/bundler-vite-7/README.md | 67 + src/bundler-vite-7/index.html | 13 + src/bundler-vite-7/package.json | 19 + src/bundler-vite-7/src/iron-waltz.gp | Bin 0 -> 72703 bytes src/bundler-vite-7/src/main.ts | 26 + src/bundler-vite-7/tsconfig.json | 24 + src/bundler-vite-7/vite.config.ts | 12 + src/bundler-vite-8/.gitignore | 5 + src/bundler-vite-8/README.md | 67 + src/bundler-vite-8/index.html | 13 + src/bundler-vite-8/package.json | 19 + src/bundler-vite-8/src/iron-waltz.gp | Bin 0 -> 72703 bytes src/bundler-vite-8/src/main.ts | 26 + src/bundler-vite-8/tsconfig.json | 24 + src/bundler-vite-8/vite.config.ts | 12 + src/bundler-webpack-5/README.md | 75 + src/bundler-webpack-5/package.json | 22 + src/bundler-webpack-5/src/index.html | 12 + src/bundler-webpack-5/src/index.js | 24 + src/bundler-webpack-5/src/iron-waltz.gp | Bin 0 -> 72703 bytes src/bundler-webpack-5/webpack.config.js | 32 + src/nextjs-15-webpack/.gitignore | 8 + src/nextjs-15-webpack/README.md | 54 + .../next.config.ts | 5 +- src/nextjs-15-webpack/package.json | 23 + src/nextjs-15-webpack/public/iron-waltz.gp | Bin 0 -> 72703 bytes src/nextjs-15-webpack/src/app/ScoreViewer.tsx | 45 + src/nextjs-15-webpack/src/app/layout.tsx | 13 + src/nextjs-15-webpack/src/app/page.tsx | 9 + src/nextjs-15-webpack/tsconfig.json | 27 + src/nextjs-16-turbopack/.gitignore | 8 + src/nextjs-16-turbopack/README.md | 68 + src/nextjs-16-turbopack/next.config.ts | 5 + src/nextjs-16-turbopack/package.json | 24 + src/nextjs-16-turbopack/public/iron-waltz.gp | Bin 0 -> 72703 bytes .../scripts/copy-alphatab-assets.mjs | 14 + .../src/app/ScoreViewer.tsx | 55 + .../src/app/alphaTab.worker.ts | 1 + src/nextjs-16-turbopack/src/app/layout.tsx | 13 + src/nextjs-16-turbopack/src/app/page.tsx | 9 + .../tsconfig.json | 0 src/nextjs-16-webpack/.gitignore | 8 + src/nextjs-16-webpack/README.md | 67 + src/nextjs-16-webpack/next.config.ts | 16 + src/nextjs-16-webpack/package.json | 23 + src/nextjs-16-webpack/public/iron-waltz.gp | Bin 0 -> 72703 bytes src/nextjs-16-webpack/src/app/ScoreViewer.tsx | 45 + src/nextjs-16-webpack/src/app/layout.tsx | 13 + src/nextjs-16-webpack/src/app/page.tsx | 9 + .../tsconfig.json | 24 +- src/node-render-esm/.gitignore | 2 + src/node-render-esm/index.mjs | 30 +- src/node-render-esm/iron-waltz.gp | Bin 0 -> 72703 bytes src/node-render-esm/package-lock.json | 65 - src/node-render-esm/package.json | 16 +- src/node-render-esm/readme.md | 20 +- src/node-simple-cjs/index.js | 58 +- src/node-simple-cjs/iron-waltz.gp | Bin 0 -> 72703 bytes src/node-simple-cjs/package-lock.json | 31 - src/node-simple-cjs/package.json | 11 +- src/node-simple-cjs/readme.md | 13 +- src/node-simple-esm/index.mjs | 33 +- src/node-simple-esm/iron-waltz.gp | Bin 0 -> 72703 bytes src/node-simple-esm/package-lock.json | 31 - src/node-simple-esm/package.json | 11 +- src/node-simple-esm/readme.md | 13 +- src/nuxt-3/.gitignore | 12 + src/nuxt-3/README.md | 56 + src/nuxt-3/app.vue | 3 + src/nuxt-3/components/ScoreViewer.client.vue | 47 + src/nuxt-3/nuxt.config.ts | 19 + src/nuxt-3/package.json | 20 + src/nuxt-3/public/iron-waltz.gp | Bin 0 -> 72703 bytes src/nuxt-3/tsconfig.json | 3 + src/nuxt-4/.gitignore | 12 + src/nuxt-4/README.md | 54 + src/nuxt-4/app/app.vue | 3 + .../app/components/ScoreViewer.client.vue | 47 + src/nuxt-4/nuxt.config.ts | 19 + src/nuxt-4/package.json | 20 + src/nuxt-4/public/iron-waltz.gp | Bin 0 -> 72703 bytes src/nuxt-4/tsconfig.json | 9 + src/react-19-vite/.gitignore | 6 + src/react-19-vite/README.md | 53 + src/{vite-react => react-19-vite}/index.html | 3 +- src/react-19-vite/package.json | 25 + src/react-19-vite/public/iron-waltz.gp | Bin 0 -> 72703 bytes src/react-19-vite/src/App.tsx | 43 + src/react-19-vite/src/main.tsx | 9 + src/react-19-vite/tsconfig.app.json | 19 + src/react-19-vite/tsconfig.json | 4 + src/react-19-vite/tsconfig.node.json | 15 + src/react-19-vite/vite.config.ts | 7 + src/{vite-react => solid-1-vite}/.gitignore | 4 + src/solid-1-vite/README.md | 58 + src/solid-1-vite/index.html | 12 + src/solid-1-vite/package.json | 22 + src/solid-1-vite/public/iron-waltz.gp | Bin 0 -> 72703 bytes src/solid-1-vite/src/App.tsx | 40 + src/solid-1-vite/src/index.tsx | 5 + src/solid-1-vite/tsconfig.app.json | 27 + src/solid-1-vite/tsconfig.json | 7 + src/solid-1-vite/tsconfig.node.json | 23 + src/solid-1-vite/vite.config.ts | 7 + src/{vite-vue => svelte-5-vite}/.gitignore | 4 + src/svelte-5-vite/README.md | 61 + src/{vite-vue => svelte-5-vite}/index.html | 3 +- src/svelte-5-vite/package.json | 25 + src/svelte-5-vite/public/iron-waltz.gp | Bin 0 -> 72703 bytes src/svelte-5-vite/src/App.svelte | 36 + src/svelte-5-vite/src/main.ts | 8 + src/svelte-5-vite/svelte.config.js | 2 + src/svelte-5-vite/tsconfig.app.json | 21 + src/svelte-5-vite/tsconfig.json | 7 + src/svelte-5-vite/tsconfig.node.json | 23 + src/svelte-5-vite/vite.config.ts | 7 + src/sveltekit-3/.gitignore | 27 + src/sveltekit-3/.npmrc | 1 + src/sveltekit-3/README.md | 66 + src/sveltekit-3/package.json | 27 + src/sveltekit-3/src/app.d.ts | 13 + src/sveltekit-3/src/app.html | 12 + src/sveltekit-3/src/routes/+page.svelte | 40 + src/sveltekit-3/static/iron-waltz.gp | Bin 0 -> 72703 bytes src/sveltekit-3/tsconfig.json | 7 + src/sveltekit-3/vite.config.ts | 18 + src/vite-react/.eslintrc.cjs | 18 - src/vite-react/README.md | 30 - src/vite-react/alphaTab.vite.ts | 37 - src/vite-react/package-lock.json | 4040 ----- src/vite-react/package.json | 30 - src/vite-react/public/vite.svg | 1 - src/vite-react/src/App.css | 22 - src/vite-react/src/App.tsx | 45 - src/vite-react/src/index.css | 0 src/vite-react/src/main.tsx | 10 - src/vite-react/src/vite-env.d.ts | 1 - src/vite-react/tsconfig.node.json | 16 - src/vite-react/vite.config.ts | 8 - src/vite-vue/.vscode/extensions.json | 3 - src/vite-vue/README.md | 9 - src/vite-vue/package-lock.json | 1339 -- src/vite-vue/package.json | 21 - src/vite-vue/public/vite.svg | 1 - src/vite-vue/src/App.vue | 40 - src/vite-vue/src/main.ts | 5 - src/vite-vue/src/style.css | 22 - src/vite-vue/src/vite-env.d.ts | 1 - src/vite-vue/tsconfig.json | 25 - src/vite-vue/tsconfig.node.json | 11 - src/vite-vue/vite.config.ts | 8 - src/vue-3-vite/.gitignore | 6 + src/vue-3-vite/README.md | 51 + src/vue-3-vite/index.html | 12 + src/vue-3-vite/package.json | 24 + src/vue-3-vite/public/iron-waltz.gp | Bin 0 -> 72703 bytes src/vue-3-vite/src/App.vue | 40 + src/vue-3-vite/src/main.ts | 4 + src/vue-3-vite/tsconfig.app.json | 10 + src/vue-3-vite/tsconfig.json | 4 + src/vue-3-vite/tsconfig.node.json | 15 + src/vue-3-vite/vite.config.ts | 7 + src/webpack-angular-17/.editorconfig | 16 - .../.vscode/extensions.json | 4 - src/webpack-angular-17/.vscode/launch.json | 20 - src/webpack-angular-17/.vscode/tasks.json | 42 - src/webpack-angular-17/README.md | 42 - src/webpack-angular-17/angular.json | 107 - .../custom-webpack.config.js | 7 - src/webpack-angular-17/package-lock.json | 12500 ---------------- src/webpack-angular-17/package.json | 40 - .../src/app/app.component.css | 22 - .../src/app/app.component.html | 6 - .../src/app/app.component.spec.ts | 29 - .../src/app/app.component.ts | 41 - src/webpack-angular-17/src/app/app.config.ts | 8 - src/webpack-angular-17/src/app/app.routes.ts | 3 - src/webpack-angular-17/src/assets/.gitkeep | 0 src/webpack-angular-17/src/styles.css | 1 - src/webpack-angular-17/tsconfig.app.json | 14 - src/webpack-angular-17/tsconfig.spec.json | 14 - src/webpack-nextjs-15/.gitignore | 38 - src/webpack-nextjs-15/README.md | 19 - src/webpack-nextjs-15/next.config.mjs | 15 - src/webpack-nextjs-15/package-lock.json | 1839 --- src/webpack-nextjs-15/package.json | 29 - src/webpack-nextjs-15/src/app/favicon.ico | Bin 25931 -> 0 bytes src/webpack-nextjs-15/src/app/globals.css | 21 - src/webpack-nextjs-15/src/app/layout.tsx | 22 - src/webpack-nextjs-15/src/app/page.tsx | 44 - src/webpack-nextjs-16/.gitignore | 42 - src/webpack-nextjs-16/README.md | 19 - src/webpack-nextjs-16/eslint.config.mjs | 18 - src/webpack-nextjs-16/package-lock.json | 6205 -------- src/webpack-nextjs-16/package.json | 26 - src/webpack-nextjs-16/src/app/favicon.ico | Bin 25931 -> 0 bytes src/webpack-nextjs-16/src/app/globals.css | 21 - src/webpack-nextjs-16/src/app/layout.tsx | 33 - src/webpack-nextjs-16/src/app/page.tsx | 58 - src/webpack-plain/package-lock.json | 1382 -- src/webpack-plain/package.json | 19 - src/webpack-plain/src/app.js | 41 - src/webpack-plain/webpack.config.js | 16 - 328 files changed, 5279 insertions(+), 28922 deletions(-) rename src/{webpack-angular-17 => angular-20-esbuild}/.gitignore (78%) create mode 100644 src/angular-20-esbuild/README.md create mode 100644 src/angular-20-esbuild/angular.json create mode 100644 src/angular-20-esbuild/package.json rename src/{webpack-angular-17/src => angular-20-esbuild/public}/favicon.ico (100%) create mode 100644 src/angular-20-esbuild/public/iron-waltz.gp create mode 100644 src/angular-20-esbuild/src/app/app.config.ts create mode 100644 src/angular-20-esbuild/src/app/app.ts create mode 100644 src/angular-20-esbuild/src/index.html rename src/{webpack-angular-17 => angular-20-esbuild}/src/main.ts (60%) create mode 100644 src/angular-20-esbuild/tsconfig.app.json create mode 100644 src/angular-20-esbuild/tsconfig.json create mode 100644 src/angular-21-esbuild/.gitignore create mode 100644 src/angular-21-esbuild/README.md create mode 100644 src/angular-21-esbuild/angular.json create mode 100644 src/angular-21-esbuild/package.json create mode 100644 src/angular-21-esbuild/public/favicon.ico create mode 100644 src/angular-21-esbuild/public/iron-waltz.gp create mode 100644 src/angular-21-esbuild/src/app/app.config.ts create mode 100644 src/angular-21-esbuild/src/app/app.ts create mode 100644 src/angular-21-esbuild/src/index.html create mode 100644 src/angular-21-esbuild/src/main.ts create mode 100644 src/angular-21-esbuild/tsconfig.app.json rename src/{webpack-angular-17 => angular-21-esbuild}/tsconfig.json (57%) create mode 100644 src/angular-22-esbuild/.gitignore create mode 100644 src/angular-22-esbuild/README.md create mode 100644 src/angular-22-esbuild/angular.json create mode 100644 src/angular-22-esbuild/package.json create mode 100644 src/angular-22-esbuild/public/favicon.ico create mode 100644 src/angular-22-esbuild/public/iron-waltz.gp create mode 100644 src/angular-22-esbuild/src/app/app.config.server.ts create mode 100644 src/angular-22-esbuild/src/app/app.config.ts create mode 100644 src/angular-22-esbuild/src/app/app.routes.server.ts create mode 100644 src/angular-22-esbuild/src/app/app.ts create mode 100644 src/angular-22-esbuild/src/index.html create mode 100644 src/angular-22-esbuild/src/main.server.ts create mode 100644 src/angular-22-esbuild/src/main.ts create mode 100644 src/angular-22-esbuild/src/server.ts create mode 100644 src/angular-22-esbuild/tsconfig.app.json create mode 100644 src/angular-22-esbuild/tsconfig.json create mode 100644 src/angular-22-webpack/.gitignore create mode 100644 src/angular-22-webpack/README.md create mode 100644 src/angular-22-webpack/angular.json create mode 100644 src/angular-22-webpack/package.json create mode 100644 src/angular-22-webpack/public/favicon.ico create mode 100644 src/angular-22-webpack/public/iron-waltz.gp create mode 100644 src/angular-22-webpack/src/app/app.config.ts create mode 100644 src/angular-22-webpack/src/app/app.ts rename src/{webpack-angular-17 => angular-22-webpack}/src/index.html (85%) create mode 100644 src/angular-22-webpack/src/main.ts create mode 100644 src/angular-22-webpack/tsconfig.app.json create mode 100644 src/angular-22-webpack/tsconfig.json create mode 100644 src/angular-22-webpack/webpack.config.js create mode 100644 src/browser-advanced-esm/iron-waltz.gp create mode 100644 src/browser-advanced-umd/iron-waltz.gp create mode 100644 src/browser-simple-esm/iron-waltz.gp create mode 100644 src/browser-simple-umd/iron-waltz.gp create mode 100644 src/bundler-esbuild/README.md create mode 100644 src/bundler-esbuild/build.mjs create mode 100644 src/bundler-esbuild/package.json create mode 100644 src/bundler-esbuild/public/index.html create mode 100644 src/bundler-esbuild/public/iron-waltz.gp create mode 100644 src/bundler-esbuild/src/alphaTab.worker.ts create mode 100644 src/bundler-esbuild/src/alphaTab.worklet.ts create mode 100644 src/bundler-esbuild/src/main.ts create mode 100644 src/bundler-esbuild/tsconfig.json create mode 100644 src/bundler-parcel-2/.gitignore create mode 100644 src/bundler-parcel-2/README.md create mode 100644 src/bundler-parcel-2/copy-assets.mjs create mode 100644 src/bundler-parcel-2/package.json create mode 100644 src/bundler-parcel-2/src/alphaTab.worker.ts create mode 100644 src/bundler-parcel-2/src/alphaTab.worklet.ts create mode 100644 src/bundler-parcel-2/src/index.html create mode 100644 src/bundler-parcel-2/src/iron-waltz.gp create mode 100644 src/bundler-parcel-2/src/main.ts create mode 100644 src/bundler-parcel-2/src/worklet.d.ts create mode 100644 src/bundler-parcel-2/tsconfig.json create mode 100644 src/bundler-rollup-4/README.md create mode 100644 src/bundler-rollup-4/package.json create mode 100644 src/bundler-rollup-4/public/index.html create mode 100644 src/bundler-rollup-4/public/iron-waltz.gp create mode 100644 src/bundler-rollup-4/rollup.config.js create mode 100644 src/bundler-rollup-4/src/alphaTab.worker.js create mode 100644 src/bundler-rollup-4/src/alphaTab.worklet.js create mode 100644 src/bundler-rollup-4/src/main.js create mode 100644 src/bundler-rsbuild-2/README.md create mode 100644 src/bundler-rsbuild-2/index.html create mode 100644 src/bundler-rsbuild-2/package.json create mode 100644 src/bundler-rsbuild-2/rsbuild.config.ts create mode 100644 src/bundler-rsbuild-2/src/index.ts create mode 100644 src/bundler-rsbuild-2/src/iron-waltz.gp create mode 100644 src/bundler-rsbuild-2/tsconfig.json create mode 100644 src/bundler-rspack-1/README.md create mode 100644 src/bundler-rspack-1/index.html create mode 100644 src/bundler-rspack-1/package.json create mode 100644 src/bundler-rspack-1/rspack.config.ts create mode 100644 src/bundler-rspack-1/src/index.ts create mode 100644 src/bundler-rspack-1/src/iron-waltz.gp create mode 100644 src/bundler-rspack-1/tsconfig.json create mode 100644 src/bundler-rspack-2/README.md create mode 100644 src/bundler-rspack-2/index.html create mode 100644 src/bundler-rspack-2/package.json create mode 100644 src/bundler-rspack-2/rspack.config.ts create mode 100644 src/bundler-rspack-2/src/index.ts create mode 100644 src/bundler-rspack-2/src/iron-waltz.gp create mode 100644 src/bundler-rspack-2/tsconfig.json create mode 100644 src/bundler-vite-6/.gitignore create mode 100644 src/bundler-vite-6/README.md create mode 100644 src/bundler-vite-6/index.html create mode 100644 src/bundler-vite-6/package.json create mode 100644 src/bundler-vite-6/src/iron-waltz.gp create mode 100644 src/bundler-vite-6/src/main.ts rename src/{vite-react => bundler-vite-6}/tsconfig.json (52%) create mode 100644 src/bundler-vite-6/vite.config.ts create mode 100644 src/bundler-vite-7/.gitignore create mode 100644 src/bundler-vite-7/README.md create mode 100644 src/bundler-vite-7/index.html create mode 100644 src/bundler-vite-7/package.json create mode 100644 src/bundler-vite-7/src/iron-waltz.gp create mode 100644 src/bundler-vite-7/src/main.ts create mode 100644 src/bundler-vite-7/tsconfig.json create mode 100644 src/bundler-vite-7/vite.config.ts create mode 100644 src/bundler-vite-8/.gitignore create mode 100644 src/bundler-vite-8/README.md create mode 100644 src/bundler-vite-8/index.html create mode 100644 src/bundler-vite-8/package.json create mode 100644 src/bundler-vite-8/src/iron-waltz.gp create mode 100644 src/bundler-vite-8/src/main.ts create mode 100644 src/bundler-vite-8/tsconfig.json create mode 100644 src/bundler-vite-8/vite.config.ts create mode 100644 src/bundler-webpack-5/README.md create mode 100644 src/bundler-webpack-5/package.json create mode 100644 src/bundler-webpack-5/src/index.html create mode 100644 src/bundler-webpack-5/src/index.js create mode 100644 src/bundler-webpack-5/src/iron-waltz.gp create mode 100644 src/bundler-webpack-5/webpack.config.js create mode 100644 src/nextjs-15-webpack/.gitignore create mode 100644 src/nextjs-15-webpack/README.md rename src/{webpack-nextjs-16 => nextjs-15-webpack}/next.config.ts (71%) create mode 100644 src/nextjs-15-webpack/package.json create mode 100644 src/nextjs-15-webpack/public/iron-waltz.gp create mode 100644 src/nextjs-15-webpack/src/app/ScoreViewer.tsx create mode 100644 src/nextjs-15-webpack/src/app/layout.tsx create mode 100644 src/nextjs-15-webpack/src/app/page.tsx create mode 100644 src/nextjs-15-webpack/tsconfig.json create mode 100644 src/nextjs-16-turbopack/.gitignore create mode 100644 src/nextjs-16-turbopack/README.md create mode 100644 src/nextjs-16-turbopack/next.config.ts create mode 100644 src/nextjs-16-turbopack/package.json create mode 100644 src/nextjs-16-turbopack/public/iron-waltz.gp create mode 100644 src/nextjs-16-turbopack/scripts/copy-alphatab-assets.mjs create mode 100644 src/nextjs-16-turbopack/src/app/ScoreViewer.tsx create mode 100644 src/nextjs-16-turbopack/src/app/alphaTab.worker.ts create mode 100644 src/nextjs-16-turbopack/src/app/layout.tsx create mode 100644 src/nextjs-16-turbopack/src/app/page.tsx rename src/{webpack-nextjs-16 => nextjs-16-turbopack}/tsconfig.json (100%) create mode 100644 src/nextjs-16-webpack/.gitignore create mode 100644 src/nextjs-16-webpack/README.md create mode 100644 src/nextjs-16-webpack/next.config.ts create mode 100644 src/nextjs-16-webpack/package.json create mode 100644 src/nextjs-16-webpack/public/iron-waltz.gp create mode 100644 src/nextjs-16-webpack/src/app/ScoreViewer.tsx create mode 100644 src/nextjs-16-webpack/src/app/layout.tsx create mode 100644 src/nextjs-16-webpack/src/app/page.tsx rename src/{webpack-nextjs-15 => nextjs-16-webpack}/tsconfig.json (65%) create mode 100644 src/node-render-esm/.gitignore create mode 100644 src/node-render-esm/iron-waltz.gp delete mode 100644 src/node-render-esm/package-lock.json create mode 100644 src/node-simple-cjs/iron-waltz.gp delete mode 100644 src/node-simple-cjs/package-lock.json create mode 100644 src/node-simple-esm/iron-waltz.gp delete mode 100644 src/node-simple-esm/package-lock.json create mode 100644 src/nuxt-3/.gitignore create mode 100644 src/nuxt-3/README.md create mode 100644 src/nuxt-3/app.vue create mode 100644 src/nuxt-3/components/ScoreViewer.client.vue create mode 100644 src/nuxt-3/nuxt.config.ts create mode 100644 src/nuxt-3/package.json create mode 100644 src/nuxt-3/public/iron-waltz.gp create mode 100644 src/nuxt-3/tsconfig.json create mode 100644 src/nuxt-4/.gitignore create mode 100644 src/nuxt-4/README.md create mode 100644 src/nuxt-4/app/app.vue create mode 100644 src/nuxt-4/app/components/ScoreViewer.client.vue create mode 100644 src/nuxt-4/nuxt.config.ts create mode 100644 src/nuxt-4/package.json create mode 100644 src/nuxt-4/public/iron-waltz.gp create mode 100644 src/nuxt-4/tsconfig.json create mode 100644 src/react-19-vite/.gitignore create mode 100644 src/react-19-vite/README.md rename src/{vite-react => react-19-vite}/index.html (72%) create mode 100644 src/react-19-vite/package.json create mode 100644 src/react-19-vite/public/iron-waltz.gp create mode 100644 src/react-19-vite/src/App.tsx create mode 100644 src/react-19-vite/src/main.tsx create mode 100644 src/react-19-vite/tsconfig.app.json create mode 100644 src/react-19-vite/tsconfig.json create mode 100644 src/react-19-vite/tsconfig.node.json create mode 100644 src/react-19-vite/vite.config.ts rename src/{vite-react => solid-1-vite}/.gitignore (73%) create mode 100644 src/solid-1-vite/README.md create mode 100644 src/solid-1-vite/index.html create mode 100644 src/solid-1-vite/package.json create mode 100644 src/solid-1-vite/public/iron-waltz.gp create mode 100644 src/solid-1-vite/src/App.tsx create mode 100644 src/solid-1-vite/src/index.tsx create mode 100644 src/solid-1-vite/tsconfig.app.json create mode 100644 src/solid-1-vite/tsconfig.json create mode 100644 src/solid-1-vite/tsconfig.node.json create mode 100644 src/solid-1-vite/vite.config.ts rename src/{vite-vue => svelte-5-vite}/.gitignore (73%) create mode 100644 src/svelte-5-vite/README.md rename src/{vite-vue => svelte-5-vite}/index.html (73%) create mode 100644 src/svelte-5-vite/package.json create mode 100644 src/svelte-5-vite/public/iron-waltz.gp create mode 100644 src/svelte-5-vite/src/App.svelte create mode 100644 src/svelte-5-vite/src/main.ts create mode 100644 src/svelte-5-vite/svelte.config.js create mode 100644 src/svelte-5-vite/tsconfig.app.json create mode 100644 src/svelte-5-vite/tsconfig.json create mode 100644 src/svelte-5-vite/tsconfig.node.json create mode 100644 src/svelte-5-vite/vite.config.ts create mode 100644 src/sveltekit-3/.gitignore create mode 100644 src/sveltekit-3/.npmrc create mode 100644 src/sveltekit-3/README.md create mode 100644 src/sveltekit-3/package.json create mode 100644 src/sveltekit-3/src/app.d.ts create mode 100644 src/sveltekit-3/src/app.html create mode 100644 src/sveltekit-3/src/routes/+page.svelte create mode 100644 src/sveltekit-3/static/iron-waltz.gp create mode 100644 src/sveltekit-3/tsconfig.json create mode 100644 src/sveltekit-3/vite.config.ts delete mode 100644 src/vite-react/.eslintrc.cjs delete mode 100644 src/vite-react/README.md delete mode 100644 src/vite-react/alphaTab.vite.ts delete mode 100644 src/vite-react/package-lock.json delete mode 100644 src/vite-react/package.json delete mode 100644 src/vite-react/public/vite.svg delete mode 100644 src/vite-react/src/App.css delete mode 100644 src/vite-react/src/App.tsx delete mode 100644 src/vite-react/src/index.css delete mode 100644 src/vite-react/src/main.tsx delete mode 100644 src/vite-react/src/vite-env.d.ts delete mode 100644 src/vite-react/tsconfig.node.json delete mode 100644 src/vite-react/vite.config.ts delete mode 100644 src/vite-vue/.vscode/extensions.json delete mode 100644 src/vite-vue/README.md delete mode 100644 src/vite-vue/package-lock.json delete mode 100644 src/vite-vue/package.json delete mode 100644 src/vite-vue/public/vite.svg delete mode 100644 src/vite-vue/src/App.vue delete mode 100644 src/vite-vue/src/main.ts delete mode 100644 src/vite-vue/src/style.css delete mode 100644 src/vite-vue/src/vite-env.d.ts delete mode 100644 src/vite-vue/tsconfig.json delete mode 100644 src/vite-vue/tsconfig.node.json delete mode 100644 src/vite-vue/vite.config.ts create mode 100644 src/vue-3-vite/.gitignore create mode 100644 src/vue-3-vite/README.md create mode 100644 src/vue-3-vite/index.html create mode 100644 src/vue-3-vite/package.json create mode 100644 src/vue-3-vite/public/iron-waltz.gp create mode 100644 src/vue-3-vite/src/App.vue create mode 100644 src/vue-3-vite/src/main.ts create mode 100644 src/vue-3-vite/tsconfig.app.json create mode 100644 src/vue-3-vite/tsconfig.json create mode 100644 src/vue-3-vite/tsconfig.node.json create mode 100644 src/vue-3-vite/vite.config.ts delete mode 100644 src/webpack-angular-17/.editorconfig delete mode 100644 src/webpack-angular-17/.vscode/extensions.json delete mode 100644 src/webpack-angular-17/.vscode/launch.json delete mode 100644 src/webpack-angular-17/.vscode/tasks.json delete mode 100644 src/webpack-angular-17/README.md delete mode 100644 src/webpack-angular-17/angular.json delete mode 100644 src/webpack-angular-17/custom-webpack.config.js delete mode 100644 src/webpack-angular-17/package-lock.json delete mode 100644 src/webpack-angular-17/package.json delete mode 100644 src/webpack-angular-17/src/app/app.component.css delete mode 100644 src/webpack-angular-17/src/app/app.component.html delete mode 100644 src/webpack-angular-17/src/app/app.component.spec.ts delete mode 100644 src/webpack-angular-17/src/app/app.component.ts delete mode 100644 src/webpack-angular-17/src/app/app.config.ts delete mode 100644 src/webpack-angular-17/src/app/app.routes.ts delete mode 100644 src/webpack-angular-17/src/assets/.gitkeep delete mode 100644 src/webpack-angular-17/src/styles.css delete mode 100644 src/webpack-angular-17/tsconfig.app.json delete mode 100644 src/webpack-angular-17/tsconfig.spec.json delete mode 100644 src/webpack-nextjs-15/.gitignore delete mode 100644 src/webpack-nextjs-15/README.md delete mode 100644 src/webpack-nextjs-15/next.config.mjs delete mode 100644 src/webpack-nextjs-15/package-lock.json delete mode 100644 src/webpack-nextjs-15/package.json delete mode 100644 src/webpack-nextjs-15/src/app/favicon.ico delete mode 100644 src/webpack-nextjs-15/src/app/globals.css delete mode 100644 src/webpack-nextjs-15/src/app/layout.tsx delete mode 100644 src/webpack-nextjs-15/src/app/page.tsx delete mode 100644 src/webpack-nextjs-16/.gitignore delete mode 100644 src/webpack-nextjs-16/README.md delete mode 100644 src/webpack-nextjs-16/eslint.config.mjs delete mode 100644 src/webpack-nextjs-16/package-lock.json delete mode 100644 src/webpack-nextjs-16/package.json delete mode 100644 src/webpack-nextjs-16/src/app/favicon.ico delete mode 100644 src/webpack-nextjs-16/src/app/globals.css delete mode 100644 src/webpack-nextjs-16/src/app/layout.tsx delete mode 100644 src/webpack-nextjs-16/src/app/page.tsx delete mode 100644 src/webpack-plain/package-lock.json delete mode 100644 src/webpack-plain/package.json delete mode 100644 src/webpack-plain/src/app.js delete mode 100644 src/webpack-plain/webpack.config.js diff --git a/.gitignore b/.gitignore index 06822bc..644ca21 100644 --- a/.gitignore +++ b/.gitignore @@ -1,6 +1,5 @@ node_modules/ dist/ -canon.png **/public/font/ **/public/soundfont/ \ No newline at end of file diff --git a/readme.md b/readme.md index 9a46448..45de483 100644 --- a/readme.md +++ b/readme.md @@ -1,7 +1,83 @@ -# AlphaTab Web Samples +# alphaTab Web Samples -This repository contains various samples and demos for using alphaTab from Web based technologies. +Samples for using [alphaTab](https://www.alphatab.net) in web projects: without a bundler, with the common bundlers, and with the common frameworks. Every sample renders the alphaTab demo song "Iron Waltz" and plays it, so each one exercises alphaTab's rendering worker, its synthesizer worker and its audio worklet. Each sample folder has a README with the setup details and the reasons behind them. -For feature demo and testing purposes all samples might use the `@alpha` (unreleased) version of alphaTab. For your projects always use the `@latest` (stable) version. +> **Version:** the samples target alphaTab **1.9** (`@coderline/alphatab`, `@coderline/alphatab-webpack`, `@coderline/alphatab-vite`), currently released as `@alpha`. For your own projects, use the `@latest` (stable) version unless you need an unreleased feature. -> :information_source: **Some samples might require to be run within a Web Server to work. You can use tools like https://github.com/http-party/http-server to quickly start one.** \ No newline at end of file +## Running a sample + +```sh +cd src/ +npm install +npm run dev # development server +npm run build # production build; see the sample's README for how to serve it +``` + +The `browser-*` samples need no installation, but they must be served by a web server (e.g. `npx http-server`), not opened from the file system. + +## How alphaTab is integrated + +alphaTab runs its rendering and synthesizer in a Web Worker and its audio output in an AudioWorklet. With a bundler, all three must load alphaTab's code, ideally as **one shared chunk** ("core copies" below; fewer is better): + +- **webpack, Rspack, Rsbuild:** [`@coderline/alphatab-webpack`](https://www.npmjs.com/package/@coderline/alphatab-webpack) (one plugin for webpack 5 and Rspack 1/2). +- **Vite** (and frameworks built on it): [`@coderline/alphatab-vite`](https://www.npmjs.com/package/@coderline/alphatab-vite). +- **Other bundlers** (esbuild, Rollup, Parcel, Turbopack, Angular's application builder): the app owns small worker and worklet entry files that import `@coderline/alphatab/worker` and `@coderline/alphatab/worklet`, and initializes alphaTab from `@coderline/alphatab/core`, or alphaTab is loaded unbundled. The samples show the setup per tool. + +## Samples + +### Without a bundler + +| Sample | Shows | Core copies | +|---|---|---| +| [`browser-simple-esm`](src/browser-simple-esm) | ES module from a CDN, render + play | 1 | +| [`browser-simple-umd`](src/browser-simple-umd) | ` + + + + + diff --git a/src/webpack-angular-17/src/main.ts b/src/angular-20-esbuild/src/main.ts similarity index 60% rename from src/webpack-angular-17/src/main.ts rename to src/angular-20-esbuild/src/main.ts index 35b00f3..5df75f9 100644 --- a/src/webpack-angular-17/src/main.ts +++ b/src/angular-20-esbuild/src/main.ts @@ -1,6 +1,6 @@ import { bootstrapApplication } from '@angular/platform-browser'; import { appConfig } from './app/app.config'; -import { AppComponent } from './app/app.component'; +import { App } from './app/app'; -bootstrapApplication(AppComponent, appConfig) +bootstrapApplication(App, appConfig) .catch((err) => console.error(err)); diff --git a/src/angular-20-esbuild/tsconfig.app.json b/src/angular-20-esbuild/tsconfig.app.json new file mode 100644 index 0000000..264f459 --- /dev/null +++ b/src/angular-20-esbuild/tsconfig.app.json @@ -0,0 +1,15 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "src/**/*.spec.ts" + ] +} diff --git a/src/angular-20-esbuild/tsconfig.json b/src/angular-20-esbuild/tsconfig.json new file mode 100644 index 0000000..5921438 --- /dev/null +++ b/src/angular-20-esbuild/tsconfig.json @@ -0,0 +1,31 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "compileOnSave": false, + "compilerOptions": { + "strict": true, + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "isolatedModules": true, + "experimentalDecorators": true, + "importHelpers": true, + "target": "ES2022", + "module": "preserve" + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true, + "typeCheckHostBindings": true, + "strictTemplates": true + }, + "files": [], + "references": [ + { + "path": "./tsconfig.app.json" + } + ] +} diff --git a/src/angular-21-esbuild/.gitignore b/src/angular-21-esbuild/.gitignore new file mode 100644 index 0000000..854acd5 --- /dev/null +++ b/src/angular-21-esbuild/.gitignore @@ -0,0 +1,44 @@ +# See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/mcp.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings +__screenshots__/ + +# System files +.DS_Store +Thumbs.db diff --git a/src/angular-21-esbuild/README.md b/src/angular-21-esbuild/README.md new file mode 100644 index 0000000..160f14a --- /dev/null +++ b/src/angular-21-esbuild/README.md @@ -0,0 +1,53 @@ +# alphaTab with Angular 21 (application builder) + +Renders the Guitar Pro file "Iron Waltz" (`public/iron-waltz.gp`) with alphaTab and plays it back, in an Angular +21 app built with the default application builder (`@angular/build:application`, esbuild). + +- Angular 21, `@angular/build:application` and `@angular/build:dev-server` +- `@coderline/alphatab` 1.9 +- Standalone, zoneless component; `afterNextRender` for client-only creation + +The alphaTab setup is the same as in `angular-22-esbuild` (which also shows server-side rendering). + +## Run + +```sh +npm install +npm start # dev server on http://localhost:4200 +npm run build # production build to dist/angular-21-esbuild/browser +``` + +## How alphaTab is integrated + +alphaTab renders in a Web Worker and synthesizes audio in an Audio Worklet, started from alphaTab's ES module +with `new Worker(new URL('./alphaTab.worker.mjs', import.meta.url))` and +`audioWorklet.addModule(new URL('./alphaTab.worklet.mjs', import.meta.url))`. Angular's application builder has +no plugin API and bundles `new Worker(new URL(...))` only in your own TypeScript files, not inside dependencies. +A plain import of alphaTab therefore works with `ng serve` (Vite pre-bundling resolves the URLs) but not in the +production build: the worker file is missing and the score never renders. + +The sample loads alphaTab's own ES modules instead of bundling them; page, workers and worklet share one copy of +alphaTab's core: + +1. **`angular.json` → `externalDependencies: ["@coderline/alphatab"]`** keeps the import of + `@coderline/alphatab` as a bare import in the output. +2. **`angular.json` → `assets`** copies from `node_modules/@coderline/alphatab/dist`: + `alphaTab.mjs`, `alphaTab.core.mjs`, `alphaTab.worker.mjs` and `alphaTab.worklet.mjs` to `/alphatab/`, + `font/*` to `/font/` (`core.fontDirectory`) and `soundfont/sonivox.sf3` to `/soundfont/` (`player.soundFont`). +3. **`src/index.html`** maps `@coderline/alphatab` to `/alphatab/alphaTab.mjs` with an import map. +4. **`angular.json` → `index.preloadInitial: false`** prevents a `` + in the production `index.html`; browsers do not resolve it through the import map and report an error. + +The initial bundle stays at about 110 kB, so the default budgets apply. + +The component creates alphaTab in `afterNextRender` (browser only, also when server-side rendering is added +later) and destroys it via `DestroyRef`. + +## Trade-offs + +- The files under `/alphatab/` are not content-hashed; make sure browsers fetch the new files after an alphaTab + update. +- The core is served unminified (2.5 MB, about 520 kB gzip): alphaTab's `*.min.mjs` entries import the + unminified `alphaTab.core.mjs`. +- Bundling alphaTab and copying `alphaTab.{core,worker,worklet}.mjs` to the output root also works (verified with + Angular 22) but loads 2 copies of the core; see `angular-22-esbuild` for the comparison. diff --git a/src/angular-21-esbuild/angular.json b/src/angular-21-esbuild/angular.json new file mode 100644 index 0000000..df8f1b2 --- /dev/null +++ b/src/angular-21-esbuild/angular.json @@ -0,0 +1,84 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "cli": { + "packageManager": "npm" + }, + "newProjectRoot": "projects", + "projects": { + "angular-21-esbuild": { + "projectType": "application", + "schematics": {}, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular/build:application", + "options": { + "browser": "src/main.ts", + "tsConfig": "tsconfig.app.json", + "index": { + "input": "src/index.html", + "preloadInitial": false + }, + "externalDependencies": [ + "@coderline/alphatab" + ], + "assets": [ + { + "glob": "**/*", + "input": "public" + }, + { + "glob": "**/*", + "input": "node_modules/@coderline/alphatab/dist/font", + "output": "font" + }, + { + "glob": "sonivox.sf3", + "input": "node_modules/@coderline/alphatab/dist/soundfont", + "output": "soundfont" + }, + { + "glob": "alphaTab.{mjs,core.mjs,worker.mjs,worklet.mjs}", + "input": "node_modules/@coderline/alphatab/dist", + "output": "alphatab" + } + ] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kB", + "maximumError": "1MB" + } + ], + "outputHashing": "all" + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular/build:dev-server", + "configurations": { + "production": { + "buildTarget": "angular-21-esbuild:build:production" + }, + "development": { + "buildTarget": "angular-21-esbuild:build:development" + } + }, + "defaultConfiguration": "development" + } + } + } + } +} diff --git a/src/angular-21-esbuild/package.json b/src/angular-21-esbuild/package.json new file mode 100644 index 0000000..41d9d01 --- /dev/null +++ b/src/angular-21-esbuild/package.json @@ -0,0 +1,25 @@ +{ + "name": "angular-21-esbuild", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build" + }, + "private": true, + "dependencies": { + "@angular/common": "^21.2.0", + "@angular/compiler": "^21.2.0", + "@angular/core": "^21.2.0", + "@angular/platform-browser": "^21.2.0", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "@coderline/alphatab": "^1.9.0-alpha.1965" + }, + "devDependencies": { + "@angular/build": "^21.2.29", + "@angular/cli": "^21.2.29", + "@angular/compiler-cli": "^21.2.0", + "typescript": "~5.9.2" + } +} diff --git a/src/angular-21-esbuild/public/favicon.ico b/src/angular-21-esbuild/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..57614f9c967596fad0a3989bec2b1deff33034f6 GIT binary patch literal 15086 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 Nr__JTFzvMr^FKp4S3v*( literal 0 HcmV?d00001 diff --git a/src/angular-21-esbuild/public/iron-waltz.gp b/src/angular-21-esbuild/public/iron-waltz.gp new file mode 100644 index 0000000000000000000000000000000000000000..15c11388b581afcd7c57e38a14645d8686e547c7 GIT binary patch literal 72703 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 v@?wkh7yuLcfPe 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 B6lDMa literal 0 HcmV?d00001 diff --git a/src/angular-21-esbuild/src/app/app.config.ts b/src/angular-21-esbuild/src/app/app.config.ts new file mode 100644 index 0000000..45c753e --- /dev/null +++ b/src/angular-21-esbuild/src/app/app.config.ts @@ -0,0 +1,5 @@ +import { ApplicationConfig, provideBrowserGlobalErrorListeners } from '@angular/core'; + +export const appConfig: ApplicationConfig = { + providers: [provideBrowserGlobalErrorListeners()], +}; diff --git a/src/angular-21-esbuild/src/app/app.ts b/src/angular-21-esbuild/src/app/app.ts new file mode 100644 index 0000000..360b6b0 --- /dev/null +++ b/src/angular-21-esbuild/src/app/app.ts @@ -0,0 +1,41 @@ +import { afterNextRender, Component, DestroyRef, ElementRef, inject, signal, viewChild } from '@angular/core'; +import * as alphaTab from '@coderline/alphatab'; + +@Component({ + selector: 'app-root', + template: ` + +
+ `, +}) +export class App { + private readonly element = viewChild.required>('alphaTab'); + private api?: alphaTab.AlphaTabApi; + protected readonly playerReady = signal(false); + protected readonly playing = signal(false); + + constructor() { + // afterNextRender never runs during server-side rendering: alphaTab needs the DOM, workers and Web Audio. + afterNextRender(() => { + const api = new alphaTab.AlphaTabApi(this.element().nativeElement, { + core: { + file: '/iron-waltz.gp', + fontDirectory: '/font/', + }, + player: { + playerMode: alphaTab.PlayerMode.EnabledAutomatic, + enableCursor: true, + soundFont: '/soundfont/sonivox.sf3', + }, + }); + api.playerReady.on(() => this.playerReady.set(true)); + api.playerStateChanged.on((e) => this.playing.set(e.state === alphaTab.synth.PlayerState.Playing)); + this.api = api; + }); + inject(DestroyRef).onDestroy(() => this.api?.destroy()); + } + + protected playPause() { + this.api?.playPause(); + } +} diff --git a/src/angular-21-esbuild/src/index.html b/src/angular-21-esbuild/src/index.html new file mode 100644 index 0000000..03424b1 --- /dev/null +++ b/src/angular-21-esbuild/src/index.html @@ -0,0 +1,15 @@ + + + + + alphaTab Angular 21 + + + + + + + + + + diff --git a/src/angular-21-esbuild/src/main.ts b/src/angular-21-esbuild/src/main.ts new file mode 100644 index 0000000..5df75f9 --- /dev/null +++ b/src/angular-21-esbuild/src/main.ts @@ -0,0 +1,6 @@ +import { bootstrapApplication } from '@angular/platform-browser'; +import { appConfig } from './app/app.config'; +import { App } from './app/app'; + +bootstrapApplication(App, appConfig) + .catch((err) => console.error(err)); diff --git a/src/angular-21-esbuild/tsconfig.app.json b/src/angular-21-esbuild/tsconfig.app.json new file mode 100644 index 0000000..264f459 --- /dev/null +++ b/src/angular-21-esbuild/tsconfig.app.json @@ -0,0 +1,15 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "outDir": "./out-tsc/app", + "types": [] + }, + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "src/**/*.spec.ts" + ] +} diff --git a/src/webpack-angular-17/tsconfig.json b/src/angular-21-esbuild/tsconfig.json similarity index 57% rename from src/webpack-angular-17/tsconfig.json rename to src/angular-21-esbuild/tsconfig.json index f37b67f..ad457fa 100644 --- a/src/webpack-angular-17/tsconfig.json +++ b/src/angular-21-esbuild/tsconfig.json @@ -1,33 +1,30 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ { "compileOnSave": false, "compilerOptions": { - "outDir": "./dist/out-tsc", - "forceConsistentCasingInFileNames": true, "strict": true, "noImplicitOverride": true, "noPropertyAccessFromIndexSignature": true, "noImplicitReturns": true, "noFallthroughCasesInSwitch": true, "skipLibCheck": true, - "esModuleInterop": true, - "sourceMap": true, - "declaration": false, + "isolatedModules": true, "experimentalDecorators": true, - "moduleResolution": "node", "importHelpers": true, "target": "ES2022", - "module": "ES2022", - "useDefineForClassFields": false, - "lib": [ - "ES2022", - "dom" - ] + "module": "preserve" }, "angularCompilerOptions": { "enableI18nLegacyMessageIdFormat": false, "strictInjectionParameters": true, "strictInputAccessModifiers": true, "strictTemplates": true - } + }, + "files": [], + "references": [ + { + "path": "./tsconfig.app.json" + } + ] } diff --git a/src/angular-22-esbuild/.gitignore b/src/angular-22-esbuild/.gitignore new file mode 100644 index 0000000..854acd5 --- /dev/null +++ b/src/angular-22-esbuild/.gitignore @@ -0,0 +1,44 @@ +# See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/mcp.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings +__screenshots__/ + +# System files +.DS_Store +Thumbs.db diff --git a/src/angular-22-esbuild/README.md b/src/angular-22-esbuild/README.md new file mode 100644 index 0000000..2dc3a2f --- /dev/null +++ b/src/angular-22-esbuild/README.md @@ -0,0 +1,77 @@ +# alphaTab with Angular 22 (application builder, SSR) + +Renders the Guitar Pro file "Iron Waltz" (`public/iron-waltz.gp`) with alphaTab and plays it back, in an Angular +22 app built with the default application builder (`@angular/build:application`, esbuild) and server-side +rendering enabled. + +- Angular 22, `@angular/build:application` and `@angular/build:dev-server`, `@angular/ssr` with Express +- `@coderline/alphatab` 1.9 +- Standalone, zoneless component; `afterNextRender` for client-only creation + +## Run + +```sh +npm install +npm start # dev server with SSR on http://localhost:4200 +npm run build # production build to dist/angular-22-esbuild +npm run serve:ssr # serves the production build on http://localhost:4000 +``` + +## How alphaTab is integrated + +alphaTab renders in a Web Worker and synthesizes audio in an Audio Worklet. Both are started from alphaTab's +ES module with `new Worker(new URL('./alphaTab.worker.mjs', import.meta.url))` and +`audioWorklet.addModule(new URL('./alphaTab.worklet.mjs', import.meta.url))`. + +Angular's application builder has no plugin API, and it bundles `new Worker(new URL(...))` only in your own +TypeScript files, not inside dependencies. When alphaTab is simply imported and bundled, the production build +still points to `./alphaTab.worker.mjs` next to `main-*.js`, the file does not exist, and the score never +renders (no error is reported). `ng serve` hides the problem: its Vite pre-bundling resolves the worker URL. + +This sample therefore does not bundle alphaTab. The browser loads alphaTab's own ES modules, and the page, +the workers and the worklet share one copy of alphaTab's core (`alphaTab.core.mjs`): + +1. **`angular.json` → `externalDependencies: ["@coderline/alphatab"]`** keeps `import ... from '@coderline/alphatab'` + as a bare import in the output, for the browser and the server bundle. +2. **`angular.json` → `assets`** copies from `node_modules/@coderline/alphatab/dist`: + - `alphaTab.mjs`, `alphaTab.core.mjs`, `alphaTab.worker.mjs`, `alphaTab.worklet.mjs` to `/alphatab/`, + - the Bravura music font (`font/*`) to `/font/` (setting `core.fontDirectory`), + - the SoundFont `soundfont/sonivox.sf3` to `/soundfont/` (setting `player.soundFont`). +3. **`src/index.html`** has an import map that resolves `@coderline/alphatab` to `/alphatab/alphaTab.mjs`. + alphaTab then finds its worker and worklet next to that file. +4. **`angular.json` → `index.preloadInitial: false`**: otherwise the production build adds + ``, which browsers do not resolve through the import map; + it fails with a MIME type error in the console. + +TypeScript still type-checks against the installed package, and the initial bundle stays at about 160 kB, so +the default budgets apply. + +### Server-side rendering + +alphaTab needs the DOM, Web Workers and Web Audio, so the component creates it in `afterNextRender`, which runs +only in the browser, after hydration. `DestroyRef` destroys it again. The server renders the button and an +empty container. + +- The server bundle imports `@coderline/alphatab` from `node_modules` at runtime (it is external), so deploy + the server together with its installed dependencies. +- `security.allowedHosts` in `angular.json` lists `localhost` so that `npm run serve:ssr` answers local + requests; add the host names of your deployment. + +## Trade-offs and alternatives + +- The files under `/alphatab/` keep their names across alphaTab versions and are not content-hashed. The + generated `server.ts` serves static files with `maxAge: '1y'`; make sure browsers fetch the new files after + an alphaTab update (shorter cache lifetime for `/alphatab/`, or a versioned output folder). +- The core is served unminified (2.5 MB, about 520 kB gzip). alphaTab's `*.min.mjs` entry files import the + unminified `alphaTab.core.mjs`, so there is no minified set of files to copy instead. + +Other setups that work with the application builder (verified with Angular 22), each with more copies of +alphaTab's core: + +| Setup | Core copies | +| --- | --- | +| This sample: alphaTab external, import map | 1 | +| Bundle `@coderline/alphatab` normally, copy `alphaTab.core.mjs`, `alphaTab.worker.mjs` and `alphaTab.worklet.mjs` to the output root (`"output": "/"`), raise the `initial` budget to ~1.5 MB | 2 | +| Own worker entry (`src/app/alphatab.worker.ts` with `import '@coderline/alphatab/worker'`, created with `new Worker(new URL('./alphatab.worker', import.meta.url))`), app imports `@coderline/alphatab/core` and calls `alphaTab.Environment.initializeMain(...)`; the worklet is loaded from copied `alphaTab.worklet.mjs` + `alphaTab.core.mjs` because Angular cannot bundle worklet entries | 3 | + +For webpack-based Angular builds with the alphaTab webpack plugin, see `angular-22-webpack`. diff --git a/src/angular-22-esbuild/angular.json b/src/angular-22-esbuild/angular.json new file mode 100644 index 0000000..57a2d70 --- /dev/null +++ b/src/angular-22-esbuild/angular.json @@ -0,0 +1,94 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "cli": { + "packageManager": "npm" + }, + "newProjectRoot": "projects", + "projects": { + "angular-22-esbuild": { + "projectType": "application", + "schematics": {}, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular/build:application", + "options": { + "browser": "src/main.ts", + "server": "src/main.server.ts", + "outputMode": "server", + "ssr": { + "entry": "src/server.ts" + }, + "security": { + "allowedHosts": [ + "localhost" + ] + }, + "tsConfig": "tsconfig.app.json", + "index": { + "input": "src/index.html", + "preloadInitial": false + }, + "externalDependencies": [ + "@coderline/alphatab" + ], + "assets": [ + { + "glob": "**/*", + "input": "public" + }, + { + "glob": "**/*", + "input": "node_modules/@coderline/alphatab/dist/font", + "output": "font" + }, + { + "glob": "sonivox.sf3", + "input": "node_modules/@coderline/alphatab/dist/soundfont", + "output": "soundfont" + }, + { + "glob": "alphaTab.{mjs,core.mjs,worker.mjs,worklet.mjs}", + "input": "node_modules/@coderline/alphatab/dist", + "output": "alphatab" + } + ] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "500kB", + "maximumError": "1MB" + } + ], + "outputHashing": "all" + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular/build:dev-server", + "configurations": { + "production": { + "buildTarget": "angular-22-esbuild:build:production" + }, + "development": { + "buildTarget": "angular-22-esbuild:build:development" + } + }, + "defaultConfiguration": "development" + } + } + } + } +} diff --git a/src/angular-22-esbuild/package.json b/src/angular-22-esbuild/package.json new file mode 100644 index 0000000..d0ab944 --- /dev/null +++ b/src/angular-22-esbuild/package.json @@ -0,0 +1,32 @@ +{ + "name": "angular-22-esbuild", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build", + "serve:ssr": "node dist/angular-22-esbuild/server/server.mjs" + }, + "private": true, + "dependencies": { + "@angular/common": "^22.2.0", + "@angular/compiler": "^22.2.0", + "@angular/core": "^22.2.0", + "@angular/platform-browser": "^22.2.0", + "@angular/platform-server": "^22.2.0", + "@angular/router": "^22.2.0", + "@angular/ssr": "^22.2.5", + "@coderline/alphatab": "^1.9.0-alpha.1965", + "express": "^5.1.0", + "rxjs": "~7.8.0", + "tslib": "^2.3.0" + }, + "devDependencies": { + "@angular/build": "^22.2.5", + "@angular/cli": "^22.2.5", + "@angular/compiler-cli": "^22.2.0", + "@types/express": "^5.0.1", + "@types/node": "^22.12.0", + "typescript": "~6.0.2" + } +} diff --git a/src/angular-22-esbuild/public/favicon.ico b/src/angular-22-esbuild/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..57614f9c967596fad0a3989bec2b1deff33034f6 GIT binary patch literal 15086 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 Nr__JTFzvMr^FKp4S3v*( literal 0 HcmV?d00001 diff --git a/src/angular-22-esbuild/public/iron-waltz.gp b/src/angular-22-esbuild/public/iron-waltz.gp new file mode 100644 index 0000000000000000000000000000000000000000..15c11388b581afcd7c57e38a14645d8686e547c7 GIT binary patch literal 72703 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 v@?wkh7yuLcfPe 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 B6lDMa literal 0 HcmV?d00001 diff --git a/src/angular-22-esbuild/src/app/app.config.server.ts b/src/angular-22-esbuild/src/app/app.config.server.ts new file mode 100644 index 0000000..41031f1 --- /dev/null +++ b/src/angular-22-esbuild/src/app/app.config.server.ts @@ -0,0 +1,12 @@ +import { mergeApplicationConfig, ApplicationConfig } from '@angular/core'; +import { provideServerRendering, withRoutes } from '@angular/ssr'; +import { appConfig } from './app.config'; +import { serverRoutes } from './app.routes.server'; + +const serverConfig: ApplicationConfig = { + providers: [ + provideServerRendering(withRoutes(serverRoutes)) + ] +}; + +export const config = mergeApplicationConfig(appConfig, serverConfig); diff --git a/src/angular-22-esbuild/src/app/app.config.ts b/src/angular-22-esbuild/src/app/app.config.ts new file mode 100644 index 0000000..39f02fc --- /dev/null +++ b/src/angular-22-esbuild/src/app/app.config.ts @@ -0,0 +1,6 @@ +import { ApplicationConfig, provideBrowserGlobalErrorListeners } from '@angular/core'; +import { provideClientHydration } from '@angular/platform-browser'; + +export const appConfig: ApplicationConfig = { + providers: [provideBrowserGlobalErrorListeners(), provideClientHydration()], +}; diff --git a/src/angular-22-esbuild/src/app/app.routes.server.ts b/src/angular-22-esbuild/src/app/app.routes.server.ts new file mode 100644 index 0000000..2c5a11d --- /dev/null +++ b/src/angular-22-esbuild/src/app/app.routes.server.ts @@ -0,0 +1,8 @@ +import { RenderMode, ServerRoute } from '@angular/ssr'; + +export const serverRoutes: ServerRoute[] = [ + { + path: '**', + renderMode: RenderMode.Server + } +]; diff --git a/src/angular-22-esbuild/src/app/app.ts b/src/angular-22-esbuild/src/app/app.ts new file mode 100644 index 0000000..360b6b0 --- /dev/null +++ b/src/angular-22-esbuild/src/app/app.ts @@ -0,0 +1,41 @@ +import { afterNextRender, Component, DestroyRef, ElementRef, inject, signal, viewChild } from '@angular/core'; +import * as alphaTab from '@coderline/alphatab'; + +@Component({ + selector: 'app-root', + template: ` + +
+ `, +}) +export class App { + private readonly element = viewChild.required>('alphaTab'); + private api?: alphaTab.AlphaTabApi; + protected readonly playerReady = signal(false); + protected readonly playing = signal(false); + + constructor() { + // afterNextRender never runs during server-side rendering: alphaTab needs the DOM, workers and Web Audio. + afterNextRender(() => { + const api = new alphaTab.AlphaTabApi(this.element().nativeElement, { + core: { + file: '/iron-waltz.gp', + fontDirectory: '/font/', + }, + player: { + playerMode: alphaTab.PlayerMode.EnabledAutomatic, + enableCursor: true, + soundFont: '/soundfont/sonivox.sf3', + }, + }); + api.playerReady.on(() => this.playerReady.set(true)); + api.playerStateChanged.on((e) => this.playing.set(e.state === alphaTab.synth.PlayerState.Playing)); + this.api = api; + }); + inject(DestroyRef).onDestroy(() => this.api?.destroy()); + } + + protected playPause() { + this.api?.playPause(); + } +} diff --git a/src/angular-22-esbuild/src/index.html b/src/angular-22-esbuild/src/index.html new file mode 100644 index 0000000..f3704b1 --- /dev/null +++ b/src/angular-22-esbuild/src/index.html @@ -0,0 +1,15 @@ + + + + + alphaTab Angular 22 + + + + + + + + + + diff --git a/src/angular-22-esbuild/src/main.server.ts b/src/angular-22-esbuild/src/main.server.ts new file mode 100644 index 0000000..723e001 --- /dev/null +++ b/src/angular-22-esbuild/src/main.server.ts @@ -0,0 +1,8 @@ +import { BootstrapContext, bootstrapApplication } from '@angular/platform-browser'; +import { App } from './app/app'; +import { config } from './app/app.config.server'; + +const bootstrap = (context: BootstrapContext) => + bootstrapApplication(App, config, context); + +export default bootstrap; diff --git a/src/angular-22-esbuild/src/main.ts b/src/angular-22-esbuild/src/main.ts new file mode 100644 index 0000000..5df75f9 --- /dev/null +++ b/src/angular-22-esbuild/src/main.ts @@ -0,0 +1,6 @@ +import { bootstrapApplication } from '@angular/platform-browser'; +import { appConfig } from './app/app.config'; +import { App } from './app/app'; + +bootstrapApplication(App, appConfig) + .catch((err) => console.error(err)); diff --git a/src/angular-22-esbuild/src/server.ts b/src/angular-22-esbuild/src/server.ts new file mode 100644 index 0000000..4bf0631 --- /dev/null +++ b/src/angular-22-esbuild/src/server.ts @@ -0,0 +1,68 @@ +import { + AngularNodeAppEngine, + createNodeRequestHandler, + isMainModule, + writeResponseToNodeResponse, +} from '@angular/ssr/node'; +import express from 'express'; +import { join } from 'node:path'; + +const browserDistFolder = join(import.meta.dirname, '../browser'); + +const app = express(); +const angularApp = new AngularNodeAppEngine(); + +/** + * Example Express Rest API endpoints can be defined here. + * Uncomment and define endpoints as necessary. + * + * Example: + * ```ts + * app.get('/api/{*splat}', (req, res) => { + * // Handle API request + * }); + * ``` + */ + +/** + * Serve static files from /browser + */ +app.use( + express.static(browserDistFolder, { + maxAge: '1y', + index: false, + redirect: false, + }), +); + +/** + * Handle all other requests by rendering the Angular application. + */ +app.use((req, res, next) => { + angularApp + .handle(req) + .then((response) => + response ? writeResponseToNodeResponse(response, res) : next(), + ) + .catch(next); +}); + +/** + * Start the server if this module is the main entry point, or it is ran via PM2. + * The server listens on the port defined by the `PORT` environment variable, or defaults to 4000. + */ +if (isMainModule(import.meta.url) || process.env['pm_id']) { + const port = process.env['PORT'] || 4000; + app.listen(port, (error) => { + if (error) { + throw error; + } + + console.log(`Node Express server listening on http://localhost:${port}`); + }); +} + +/** + * Request handler used by the Angular CLI (for dev-server and during build) or Firebase Cloud Functions. + */ +export const reqHandler = createNodeRequestHandler(app); diff --git a/src/angular-22-esbuild/tsconfig.app.json b/src/angular-22-esbuild/tsconfig.app.json new file mode 100644 index 0000000..11c10da --- /dev/null +++ b/src/angular-22-esbuild/tsconfig.app.json @@ -0,0 +1,16 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "types": [ + "node" + ] + }, + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "src/**/*.spec.ts" + ] +} diff --git a/src/angular-22-esbuild/tsconfig.json b/src/angular-22-esbuild/tsconfig.json new file mode 100644 index 0000000..30d64ce --- /dev/null +++ b/src/angular-22-esbuild/tsconfig.json @@ -0,0 +1,28 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "compileOnSave": false, + "compilerOptions": { + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "isolatedModules": true, + "experimentalDecorators": true, + "importHelpers": true, + "target": "ES2022", + "module": "preserve" + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true + }, + "files": [], + "references": [ + { + "path": "./tsconfig.app.json" + } + ] +} diff --git a/src/angular-22-webpack/.gitignore b/src/angular-22-webpack/.gitignore new file mode 100644 index 0000000..854acd5 --- /dev/null +++ b/src/angular-22-webpack/.gitignore @@ -0,0 +1,44 @@ +# See https://docs.github.com/get-started/getting-started-with-git/ignoring-files for more about ignoring files. + +# Compiled output +/dist +/tmp +/out-tsc +/bazel-out + +# Node +/node_modules +npm-debug.log +yarn-error.log + +# IDEs and editors +.idea/ +.project +.classpath +.c9/ +*.launch +.settings/ +*.sublime-workspace + +# Visual Studio Code +.vscode/* +!.vscode/settings.json +!.vscode/tasks.json +!.vscode/launch.json +!.vscode/extensions.json +!.vscode/mcp.json +.history/* + +# Miscellaneous +/.angular/cache +.sass-cache/ +/connect.lock +/coverage +/libpeerconnection.log +testem.log +/typings +__screenshots__/ + +# System files +.DS_Store +Thumbs.db diff --git a/src/angular-22-webpack/README.md b/src/angular-22-webpack/README.md new file mode 100644 index 0000000..925b7f1 --- /dev/null +++ b/src/angular-22-webpack/README.md @@ -0,0 +1,40 @@ +# alphaTab with Angular 22 (webpack, `@angular-builders/custom-webpack`) + +Renders the Guitar Pro file "Iron Waltz" (`public/iron-waltz.gp`) with alphaTab and plays it back, in an Angular +22 app built with Angular's webpack-based browser builder and the alphaTab webpack plugin. + +- Angular 22, `@angular-builders/custom-webpack:browser` and `:dev-server` 22 (on `@angular-devkit/build-angular`) +- `@coderline/alphatab` and `@coderline/alphatab-webpack` 1.9 +- Standalone, zoneless component; `afterNextRender` for client-only creation + +Angular deprecated its webpack support in v22: `@angular-devkit/build-angular` and its `browser` builder print +deprecation warnings during install and build. New projects should use the default application builder; see +`angular-22-esbuild`. This sample is for existing projects that stay on webpack. + +## Run + +```sh +npm install +npm start # dev server on http://localhost:4200 +npm run build # production build to dist/angular-22-webpack +``` + +## How alphaTab is integrated + +- **`angular.json`**: the `build` and `serve` targets use `@angular-builders/custom-webpack:browser` and + `@angular-builders/custom-webpack:dev-server`; the build target takes `main` (not `browser`) and + `customWebpackConfig.path: ./webpack.config.js`. +- **`webpack.config.js`** registers `AlphaTabWebPackPlugin` from `@coderline/alphatab-webpack`. It bundles + alphaTab's Web Worker and Audio Worklet as worker entries (Angular disables webpack's worker parsing; the + plugin re-enables it for alphaTab's modules only) and copies the Bravura font to `/font/` and the SoundFont + to `/soundfont/`. +- **`optimization.splitChunks.cacheGroups.alphaTabCore = false`** is required. By default the plugin moves + alphaTab's core into a split chunk that the page loads as an initial chunk. Angular's browser builder writes + only its own named chunks (`runtime`, `polyfills`, `vendor`, `main`, ...) into `index.html`, so that chunk is + never loaded and the app does not start (blank page, no error). With the cache group disabled, the core is + bundled into `main` and once more into a chunk shared by the workers and the worklet: 2 copies of the core + instead of 1. +- **Budgets**: `main` contains alphaTab (about 1.4 MB raw, 280 kB transfer), so the `initial` budget is raised + to 1.5 MB (warning) / 2 MB (error). + +The component creates alphaTab in `afterNextRender` (browser only) and destroys it via `DestroyRef`. diff --git a/src/angular-22-webpack/angular.json b/src/angular-22-webpack/angular.json new file mode 100644 index 0000000..c2b6909 --- /dev/null +++ b/src/angular-22-webpack/angular.json @@ -0,0 +1,70 @@ +{ + "$schema": "./node_modules/@angular/cli/lib/config/schema.json", + "version": 1, + "cli": { + "packageManager": "npm" + }, + "newProjectRoot": "projects", + "projects": { + "angular-22-webpack": { + "projectType": "application", + "schematics": {}, + "root": "", + "sourceRoot": "src", + "prefix": "app", + "architect": { + "build": { + "builder": "@angular-builders/custom-webpack:browser", + "options": { + "customWebpackConfig": { + "path": "./webpack.config.js" + }, + "outputPath": "dist/angular-22-webpack", + "index": "src/index.html", + "main": "src/main.ts", + "tsConfig": "tsconfig.app.json", + "assets": [ + { + "glob": "**/*", + "input": "public" + } + ] + }, + "configurations": { + "production": { + "budgets": [ + { + "type": "initial", + "maximumWarning": "1.5MB", + "maximumError": "2MB" + } + ], + "outputHashing": "all" + }, + "development": { + "optimization": false, + "extractLicenses": false, + "sourceMap": true, + "namedChunks": true, + "vendorChunk": true, + "buildOptimizer": false + } + }, + "defaultConfiguration": "production" + }, + "serve": { + "builder": "@angular-builders/custom-webpack:dev-server", + "configurations": { + "production": { + "buildTarget": "angular-22-webpack:build:production" + }, + "development": { + "buildTarget": "angular-22-webpack:build:development" + } + }, + "defaultConfiguration": "development" + } + } + } + } +} diff --git a/src/angular-22-webpack/package.json b/src/angular-22-webpack/package.json new file mode 100644 index 0000000..71a4598 --- /dev/null +++ b/src/angular-22-webpack/package.json @@ -0,0 +1,27 @@ +{ + "name": "angular-22-webpack", + "version": "0.0.0", + "scripts": { + "ng": "ng", + "start": "ng serve", + "build": "ng build" + }, + "private": true, + "dependencies": { + "@angular/common": "^22.2.0", + "@angular/compiler": "^22.2.0", + "@angular/core": "^22.2.0", + "@angular/platform-browser": "^22.2.0", + "rxjs": "~7.8.0", + "tslib": "^2.3.0", + "@coderline/alphatab": "^1.9.0-alpha.1965" + }, + "devDependencies": { + "@angular/cli": "^22.2.5", + "@angular/compiler-cli": "^22.2.0", + "typescript": "~6.0.2", + "@coderline/alphatab-webpack": "^1.9.0-alpha.1965", + "@angular-builders/custom-webpack": "^22.0.1", + "@angular-devkit/build-angular": "^22.2.5" + } +} diff --git a/src/angular-22-webpack/public/favicon.ico b/src/angular-22-webpack/public/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..57614f9c967596fad0a3989bec2b1deff33034f6 GIT binary patch literal 15086 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 Nr__JTFzvMr^FKp4S3v*( literal 0 HcmV?d00001 diff --git a/src/angular-22-webpack/public/iron-waltz.gp b/src/angular-22-webpack/public/iron-waltz.gp new file mode 100644 index 0000000000000000000000000000000000000000..15c11388b581afcd7c57e38a14645d8686e547c7 GIT binary patch literal 72703 zcmZU51yEfFy2v@vtGG&6I_)*ZJel=7;<)26GTUrnM?#k|88C=DYqrnLKG z7@y2777-gT&zu!+_JVGs;65oYA+Vl!j30k1<1dT}BZ5942)jgh4dsUMQX59-Gtw(! zO3G#6gz!gT5B-!3NE;C3<@W1gak5S+Wnul7f$yDf_r=3oxg^5EhpAoSW?XHt`Fv(n z1_sdp1?CODXsMeYg{&91_V#XoJ6??1m=&h`QTRN1`P&rin@5j>FoD$i7uBQh z80{d3KYf7-raw4@Pv*Oz*kQu^s*Ege7%fd9D$xKD>(G~*U@{j)g8B4Y?mdhvTd%Vj zXH2Ge+z0YM(`Tr|j^SF5+*_Ks&DimR1|?Sk%=l<-SY}QKb+7ljVLN{Qw5A>g^r91y zPr>oOg7+I$CP_(Iz-H`5NhA?9eQamUN#MqQ2M#Dt;P8!R9qR-u1wo=@!n9%_!j5C!?`eEt=w>IQE`$&pc0hP?3x?@yAE zu;%C>8hV8#Amz3TVLa+zY0~}G2$Meb#P3GKPo_Tp`rVz1O9;-VxG(*=8}#@DG_!iE z?9?ZSC*s^h{}8gBI`TP@@^9Kbgn5INhU856No^%%D&gYQb6hBF;D`)t?3!~<>GhS{ zS&GP5Qrv0d-(@grCvo=)!M6ldHZaH zcZl%kFk-Zea+&KDwZ;aq@4^g7P4(q@3L)(qIL4%VWLlET;gzhU(K8;XM@9488qj?` zSaH(%mVJ-Gw?!6gEa2*AzZcVB%e)o%}8!Ja+JLM7cKREbHIlI$K$L1>NcGpVV_TjD#t zsL|xS|H;Y~NO@bZJp2AF zU-wFxvdQoAFd&he(g>OD2qRc=k7Dcn%k!i;Hpl(IM^Usu0_J^IaP$Md4hs!^%1cOL z=v&?lS#NOs^kc;+w?Zpg5nPtUP`TdYex`j__Ai0~vjEKz!RESkJC5emHdA&*kTmJF zOhLSl*M@0)I6blnd2uf`A{2fE;a^kLipENz$K6DwgEc3zp~FkDkUw{;gNGzr&=^ax zs6*t*2}|?Y$zLWG%rnVJZ9D&w+`*!LZ+B;xP1B6KVDLbnJ$3GDs*^;0;E7i2^9b{k z=k*ZZJ^pnxagl%VN+-;T9B}5qsx5bK63qCV)|SZ(WZvT?)A)FWaUt9iYZ$*HhjEZydGnKf48!bKeBm5*GVp(d%J&qgLgEr)GI+?D z%$ti`uR6aklt|Z{>^xU5X)iTg6I;9>x-q{|!_YG}aXW(i8%#S~eJG_A=E2TuV+3b7 z(F=t=Sx#EGvO4IC{2iHm)^wB-mCJG7erRjXh+Lo3qb{;=1{jQGk)h#d)UrT~hc)5v z&Whjea9zQ5w-a|u9TfPzUQQUPbgT*I0ZU~@0+Z4Pt3d^G4q{=yBjE;Ht$M5W9c+In zmHog4N=%!|8yC_yh6=?sl8Y)D4Th!Ei;!UG$`mBY;+zf>bH^J79u~~vQNMI^^+sVe zNvUqgFFNpwTW%zzZY~RZNs}osQ-bv&OLe$OF<}OqWa8NAg;UzXZ!=#pP(w2~ohG=; zCy(T@mgu(C7ASwRJ^pytFCI>G{BiQM*EeCDO)gmMig&PGAS;!ImCR&yKft|wHCW+~ z2m?Rd*||kV65~ceh#rr1LBmcu&dO$oeR@bkPnwBXNJ0Zessj_tzH?nZ_Mi~G9o#22 zw8i%r5JO$~Jf?)v2G`XZgeIs@?brC=rdH!)aN z(=z-O>~}v5hSF6ImTkj{gh<6pf0FcagPR=tkey!loL$z|({*_H*80(9ABl{UPMNPz zY_3ryCtkKphxey z%Q8(xl$_un|C%LD2pw*47ZhnT)1xM$X!Tv(%hTWu$X$ktA~r1)*}GZV<4hLxPC@A; zwG9sT&Lj)_4D%|S|LQU+{Jna|^BK*dx9heH7>FfaC=1JlJf5!UOkN~0qxEb`-`=&D z=$h!~R1cM5rV!9nCr?k%n%Q2L-KZdCv^R!l#96+nEs2xt$@^`))g^By@&7tK>9rUi zuko%L`Qjz_PL_lSvTf3iy@x1`>tax&Ve~}QI#gCyNB0^>$K`j)tVXjV_+cq0g*U&H z(4p{{Q`@^m`C*l_^_A-mizl6J z1R;MT^=Xywr`2{hF_DLW^lI9bN$&4#$7D3MNQ-Hn;(#@q z-PV2y1g-V8r`FzIbxgpZ^dStwpAI9V(xT4s{~i!h?8|4rM+{s2V)54IQ^BVFA{I{m z_h&M@l|a0LY!e=>MKHV=Rss{NOuw2L6}fEi54SPRN43I)G9BBmJMlHt-Om(q5wJ2N z--9a%KQu6)#ACbNaChQQuN5Rm#ec|7(R=`cyXKaPFUH5mHH6V8l1IK&{=$AT)T_M3 zd}7D=C$4TP5SNZp5`@^BPk=l8arRS0B|hKkbs_4fwHWbW{zVN|ch})x4$piIY#>jw z$|Xmmr_FYFaJgF zkD7(S<|DRx7Ww%x)nEuc8_be=d(wQ$HCq+fN29mi`|+ADhLw0tSp^yKb^)ER++Rz` zB>)I_wWK{2BCO}%`_$i5Sm)?#bX}LCn%=G}j$Xn^WT2@|q$Cq`U1?(KydGfp;-)1^0wHYdUGfRuE;Ys~;XQneSjc`-bbbP3o<*=>S%+9%9~Bf!D#trlCb`3mhtqz+yP9C%qGpza4bU0Tgo2V zdVL|2)#&*Bl|M$Ox&$2&w`l~`wWyF9s<qyiR9xm=t&c%xaEyvCK9d0A>@rfG&`L$xgJ_@$tk4>?69cr=2TPBHV6Mvy;@o zvPwH#n|Zeq6eA4yr??uZACateFySqU`J!=G-pz31?@Apzvjkw-=ifo;@1EMlu_^xc z-NK4<8DjSg(fGssm8|Ao;$Dw+I^_^-7UH;d35)RMC2OXQ_x5fs?>~iC=6huf_>nnZvw+vo>?%yC`tU0qloMJYlybgE{4w^DU$&r zA#8sgFJQN0M0G)x>ZDZly8_;uPglVGs?6)VBtu+(u32{KR{pUr=Bw5pZSNE@6Hx*C z{fZ*ewydFjLn`Cr8ShzYSNb?qAoMtI~>4UI>DL-k|ZX zAg`h=zHyWHl}mzix(lqK!Bh32S_)5fP5t~~=F)}~KHdyxp_QyJQG80i*GF0p@eVjP z4f;yJKnvuZjMz?uYoJ$SSu!#0de9Az^&S8gke2*0(uM=(d8p45K(3S#a5;Az4Z~Zg zvu;c9Kc^qdaDZmt^4oAWr*}>&*I|c5_wEuu%1OwcXt{fnVDd8KOMw0R-t?2$QOH*1 zEGYTo>;YUB(^n4jdq#xrujttn$?c0Bdz<#^p6JN0kmNt6M40wSEz$(Bqkbk#cw0;G zK^QUQOu?NFb=6;+Kg_4;+TGpHzY^yEah^d2A}X=#)aZ7Luu|99c&gcN&xF^yRldDS zs2e7kjcO{L!q%#s80schEadi{&`%a1htL<`^*yFEv%gHxKh%o5VDH`N-c8ItW;h#B zp_VFVOxm?RZcL!Kwz3P!&CaoIvvd8Nyou|uYl`-!{BxXiL`jJm7+8Y3Ug_Vdmo&)H zPqXy!8b)*|<5nZhb__ctf(&Koe z_^?j=C&Y_Iy-|c0B85RA|57g$;{`p!cLJ-UR!ginM&-^dRQ0UM#zN0PL(*UQR}~mr zDDe?EcJ$dx2ho_J6{5<`*Ss*_oN^W={~&Ad_%1sLTCh~$j_>FYM?qoFOd&QfGwrfAsU@)G z@I~%QPI^`NfMhcY5}<_<6%5(Mm>ft932e4BF544Ug@3ULe>0ucfm`2bR;6kN>xWds z?N`T6@H&>oUNI)av7J6-6`FEn#cZ#t8a%gYh;T+8bfecf)t0%eWfu4H2%IRZ1?^1@ zhR((`&9^+s4_(_s5g(z9vj>O+Fm^6L5hP@K+%T|{K5Q( z6NcUsz;)Ttst)}n`A&qP0+f)4n25&m^5RAi=2B>Jly`FQGOh4so&+tDVF4aW5PWO8 zH_wf%YtT98+#t4UsE1LS#pJ)RcGL?QyZbrCqlt5wKwWJ0Qqx(58N;MQ9d^NB+Povd zFPs|l%pTC?Nh_?E5a>)aw7KxJ5W1Z@ltwdJ_u+Fgt)Ag3zo6ENXCdjF2~Vd5oN?%& z3!5S&K$b*iMwXr1AcNE$epvcKaIg^({1de-pFAc|~D`70JTKs6$y>fdV}z)(GI zilret%V1ktP z6%Ip$x%L)L@^f$fo-hi;X;d_iCDO@d7|443_Nr#xO?nwOb2OWU{4Mo!LtR%C!ZKve zV|Q))3Cwd1Ic4(GNQJ|KI{F+64boB7d0}lp0?Ed?O}-gMoiV;x+cQb~^J~bb3Y`)2 zbv2W1<@*IQ)3EqI9x^5s!VaFXTZA;!J@Tmy{Z?(Gkh;d7&J8*+gmXk9(n6;|9Df@E;o+EVWtOrB*^Z`k_i3C44{?ho4kDn%gK| zDz1NiNqg?zx8mr0ycd;!xW?bPNqpa@W4=^^`-#pKCX|YQ&ZOq%Y{+*Obb=i+g)!ZG zuXEQ>?BC+u$lxjaUsAK&=klQlO;v`3- zhLb@yR=Apo`f<#%}b2M}(W(e+)=!MvrETiJD@?Z2X|V zZz)0BxHtV)?jRNE8=#&xsJn2$$khGIP9LYXqCn+Nk})`0O2C9oX1kp|qPP`;gQkhC zP1OaQ6o3@TpFB(*VzO|AIzUGIYy8j4b}H4r*#Y<{d}z6QF8-~rQ+?yHPuX(Qxt z?xqL48bfkF?6W~aS~pe1c9|1%o)xgszg&57ad`Ah?@R&lQ>5x!K-}mU$i0K{%(%wC zlH6shQ1Rgh+Wz$jWTe8NQ{3Ow5S=NUhsZV{RXS4%w|Q+m+)+u-Rg&t9Tr%bYc3;eQ zTBxu5{77E_!O6a5A~B{{trt{@ZY#*c_UAISC>zQ+T6;*)yc@k%HGbz(9qD__!SNQ%V+t2 zDC;^B4KuvY>CB(?Klp#CZDk{;|KG@e3>li4o12@$)ZwPHNK0~$BK$x0{Enq8+CS|u zLjF$*T-nLY+|0?$&cw`_@wcOY*Je}VNo!DLot>a@udgRv8 zjZO%?ANsT0>>(SWT=prQ!crJG7ybr8>VyFIvV~QPxz=7dcGYFtcP=$KI;&lDNy4 zxNpD9ZROzK2(MY1=WlSTECW?pW9rXhy&uWcY_unpa?;J#+-JTqqc1<6fixNnr^(>)9LM{O*udcH4xW5lUR z{4X1lNQQAiZS}vt^mPUIEWeXihE*#j1XHy3?(5ddYh!UhC@&uU5zE7AzpO~;s(!p^ zn*CZG{#`L72+{=H*MZ6#VqMiceJh*sPfdarEJ+Bes9%;$IaY_wD+UFdG^_6G7JfIx z+N!tv+BEZ?nuNK|32roQ-?P}ct_&+yj0?JHt>4$J9@oVRfEZpp#*YE9o$9&1rwz|% zCf%;9f*Vb6r#k^0mL%|1WG~#ND67Lp)&qhunuYg{^Y{(1CLp30k74}g*d0)?Z&vO3 z%5XbK;KgGqqcJuSl;oRL|L<(4k;8<3%pkE$)w3}kbK@q;Xb?Rq33zYB6-xzbc6Ypw65?d8^f0gfQOrlgNb$=CqwSeLUhTmnk>m3zgHgpJ7$eZ4BpZx*-hN~NmQo+L zgo{2hyU#i;1g17_axCn#1pF={?T z^0~hKbL-zMNWujp#F6ZMHwD=Cq;enY3_i8)XPS#l+M16``|X?D$Ia%6B!Al-wQmPI zb!glNxfhRaB~gA|+|SvgteILs0})EX(Z8j=8XIBg{Q?!n z262aI8n4DykFj%sRT-J8i9fH)6K#uXB*WiI@hw$9O0EPV#9OI`uM1Yc`m|+vYz;{> zaHh0RWlM`IBR>rMSQ?9rA-h-d-rll>2O_YS>ne;Pg$mraH8%Lv-UWnibNyH_Y56}w z?VW%^e6NrPuQUdJhW}n)UxT`XfgjC>&3p%2{vX*uProbp#I{VScxr<4a1;%_o@mV# z*Y94@xH3Leah6)YBj$?{02NUddblpt2{6qJ0CD`&sjzB6sl{)U{y#RwMZqCGe}l&> zHjO*glHat-zjScQg(#PyYyBWd9#c%=Md1rvs4wah*QNSNj+}%P0{!zfU-d^N|ANF2 z>vxX!qCSx=#*WekGL^cYDM;YJQY3g2o~G3ryUb8398{K-{76i&-A5-L#0SUQZ_lFd zm=WfKPHJ!dK(BK@;P`cMrTEo?9v?dLs!7jceQG_YKUrK9zW0}rhW`4I);5H(p1bq% z?$(Ez5~ktcVSx|xwpXm&4+fui0)uCU5_!cde+OW9(%b6X-p94Q4`l9?|CE2mkO|a> zd))6$2_-^D{Im{P&RPx@+}3QM-oy4$`Z@;*b&z_^7rlxJy2asqU3SKh8CT-An7k7o z7d_G#>u2t-GedPF6~x1sCo8xdK4t>0IW88%s_Zv2J}J4c^pF=5Q}DjH z5${%{3$Zj|+59CW-5vK^DNlPsuaigPkQS#{A3&au>50_r8?KFyy`ymvNui71Z?V9q zY5y0ZgI8odgLKA^Q_oQ$31}4<6!Ca#RPognZuYE777kQBeJYvLwo{0g#9V_}1R({C zviL_e9+&QmSAnQTT}~Rp@Q@cVqpCoo%=}0t))-?=|AA7WkBqz6$Kca~J;=g6NCO>W zW^KRhXEuA!zN64YhVJ8?#Ir6`lG<~Ga=s63SBo`cZ(`-t@9n2|r&{8qU*Xg)sJ+gi zp9i?aZs(;Q=ZFg88j@py>Lbg?8Ng82gTglC>R-)%*1Ge_S%{lTtR%c|DA+jTuz{Ed z)J@_&@?sw9eqC#7W!IZK?rxyc!$U;mlcFQ0_GEbq&M>MiO&tP!S6k$dHvrelqs zmY;U#_ah9y*=`6w?;~vD^p#_x(cLzuw3FAFUr>xrY2qfAA#29?C&H zV+u`w$XoSkWoo@`Z%t4czr8XM<#3y6zh54AG``Pk#m-DoKr2N7@Sc=%gT5B%?R}YQfNi*43t7MMsfdcmP zxLC5jddcDV0^Ua)-fl}mQYs(1$E*Enr0V96|JF3XNqAkf4+~soBV2nIhfB$qwuh`Q z$44&kWKiG({lfeavBb_VN*@K^Ir!HdHd@#6Hd+TxX%_rRG`A;D-fmFl4Th&(soJVV z7Z(oOsMp^&65B7+YEQtc`pOq2Ybm~t-w4>+;$;om<9`&sA1|6}ld$o&$Qpd}tB888 zFi0E@#Xa_-^VNN<5_Q$+jzsR(XbwrG+PFaV!pGXYw*0~n`+Oi9qFYvdB&+GpQQp1} z$QxY+20nB>=VNR=D+g?tUm``R=W`q?)4R38`L=EoC`1Zf;YS$(Y=oAvAr0IC4Cno`071fEQ>^XA|0MqTYNC3{7_#w!oATCBiZ%wv%~ zF|p>ux8|F^Q*a@YTFf@I*--G)7~Uub8-c}AHMnYUg1kDpL^>V8$I(Gvd^NwAC~K)y zntx*b)$_^h*|=E1m~sO0?Pv`FYs{?F6D(Vw-E@DesYqR~B9_s$OI9_-(k;4wJ$m;Q zh?Q(u)2P$E5bI3ouGW>J?&u49x?pFErhFx!mS6a*ke3ia7ultFl!d_wLB6P zQ{ZYl7g=ncc4cZiAKzuUCh`Wn3WB|@#tKBC6+(T_o}X^{Am7x_q?*rdT?7KE;b-oYd7IlDBboFrzQViOzBubp z+z-#TJEDjSuKj~4VDEr)5qi>Ib1M}&sJVt?vn%oU^W;O}Yo4oh<9iFbwWE1c$CYdz zLTDqFSTs3&j(N}-ZHYH$>x{n)KbablJ~daezGYK>VqJM^8-7=-8LTp8Kc1;*O^;eV zq+v{z9Li2V=H^h#ZnP*DI=QQ!y$Ex3@t4m#X+L}>Zp#s0RMS6a+5xs@zGuVU3Q=5O zJ-n9)9l#hTmPvfZ<)X~pYMFrXUI{<)P3>ak9pY{I3@V+~p%b+Nuy{h~zu0}jxMlVs z(`b6d2%A>Z`I%te(i)-|EnEZCWQG64{D zV)=0>aLayNXEA+8-E%uy1pQOnlV^(UL< zIQI_lu2uNXV{nqocAWbFc=s%P4_P$r-fU#a0Y0|n+7FfbgBG7HqMr|Zs{Dba{u_(W z2hq>p^b_A=<}6qHqhh@=EtJ*uUWxrz4?roq z_6Xuu>%^BmQcrXdZTgP2O+SB8AWG|U5sFcc=n(mp?z4Vgirq}7o(kTl-hf@s?|_ST zS(2O1Tt1hsteV^hpX()_+#LVitdI57*l?yx|L86RFeRa&n9 zI4V{$hryGBH)$x$vCEex9&Z!iBd2{Tf6)5Qgx>8PntU8{Fl(2OHBd$dc~r`T-DA7ObgfBK<8fv`{#6hADl^y#pyfV zwhiIM%%Ln*C9O2U_;X!JDW-os zLi?X)`M;xmxU}i|?r~i{eY`fm`^O4N7fgM1>$NdjoLcT<%wRZu=FwRaE&SkY+Yni7 zKlF-S_AHD&Z(lj=dO?zMe+{DeY<9}MZ;pJu3Zn4d4Sz38|G38?{Oul{f4|~WknaYM z0_a+^f;D*TJgU$Ic3)&My(bE_@qPpeIr$Ze3w_M`KVcob!vB6>;~`moa=vz#cbhS6 z@t*9RekDrOW1c=^?KY{Gc#j#)VR?P4^EW^ZLe^*>n%y`Dq~6OTL-zOGr3`Ii&M|5m zuiUwwZS#7!e9&~?YxE9g=rwBY*axv?H+Gn}7ZP_xltr*eJiWEeW1E4~3r^MSGh-4A zt~t!<;SGnJHl>7~ry9B^(*s`(+`Grqiw_Tk?(GFnlb%waNL+#LAJ@bG#)Ym1{iCP+ zea?1r{6!UV8z_6SsJ0HWr~>!t5rq!uUo26b0;;hNpV9S5{?ZX5+BPM4a5N+jaA%ZJ zHm1w|(Y4^Fw4n0OS)S7A!ISAri`UI$V5i^_X2Uc%FA~ar&SSgL{O&c!qhUhg2!!8w zz_4h_&;1yC=?3%UzFP=wW^uh9p~bN!z+}WzR`XD_T2Dx08cHS@5_h6Sw+`3fbQRR_ z>rY@+o5Q}8c}htWjH3B?MB^>|meU>q(Np>WYI8G|H#v15Bq(ge0xX04Yh=+>HWJ5` zUPry1v~-j+yNUE(1X7Aw(Cgm}iaaN}SJ0+Y4(4q$9nVVQQKMJ;$J4p4wDvc`uAH?D zl&u$LI4&R?a3BkCAaivvNVOfa+aa2^!#B4NS9DF^QK{BQ-@Ibm2#Dz2Yh@a%zHZR%3^=^BnE$Y2wIe)MJai;&?%S+x88iW_EH zV-QiF;>Z$j6u3BFD|(`3ktc&}UR7cj;9?WN%E zvuE2^Qqy4(gz!N)sO4(3AYLRIcsSzL7 za%jpupOnodxwJxa9n#)0RI-SrC94tWK7z>k`gb z)a%vit{qX-Vq$2AFWq8x&Pd<6ahR*sof+{;V9ByybcqzI1F2K@1yc{+b*hh1Ph7*I z+xlJP`n}{>9*kmM4#Bg!StSHOHoIYd3iNBjOtM#&FTs~qASIZ3Ki-~JL9{iSMr=1C z3?i+89(rw#6Jgbi#jJV*Mbi6Nz5+Q5#EGIBy@NZGid|pp-&VYKxVE^yC)4D^e zh=1$Wo>RvAb>k7!w<9K+wiqNLt&qUVKl|N%fRobAPrdGcL&Hf+zF4=>rFT$FHbIVg zB}?ad+ExngSxOqaN%Sb2`dLope6$As5S`Uda&^{ERxI`T`ycB*$wplfoCZ{Y&N1iJ z3fG;5(5v4o9sujricUbMB$t6nT221sqO@(z)!M!Gx<{2!M+&F@$;!R9y=~3hgox9bEiI+zCCVDN%UfSQ|E@xDuK%lO6U{Ziciq|J=~P7{d_bR{t$uHPIR@c z{VnL8dfg|{sOv8$m=e%A>b#oix-%JiWxnFkV7;38=~{vdY@BAFKiMp8Yyat5echwN zs3Vzk<9Ov>-QL!IZn7C~f7SBFR&{mt)3qMgh8?bbNp$n4YduTvx#TC*b)PT+cjmFR z`SG=)@qs&5$2R#A{eNn7H;A^xpyF@GtgkZ?FNJdCg>n?o?PZZU>DDl=Cjo6J!t3mL zcJ^p+>(%?-E;j<9PsA%ev0OI-)l*c>E;r3lt$Pe!cAk;BI>)*X$H@=)wkO4_AUel& zI*0X><5NK*^2<^28 zEx8JJ*n}dji-w?!*23$p49{)}fnNlP;^lmwSMfx){u*cG7tSfPJNX(%x7gqIWE6B_ zlyPEYuN!-q9E)p9kiW`F?kGU+Ah3OWszNkf3Tc@H$9_DyTv)w7>~dog`oyyGn#Ofw z^67eJ63o)lCFblqOt84)wYMX=I&{<&EvFlctQ*_T>n#e;ZUm8$2dUuUd>>r#)ZX^g z9{SYY_|(2J0e0Pc&ar#X>Ae%kIPvCRe9~}LI{v2iJlN>RQfM%7{LT4!u*0t|&w&2; z+rwQX)!TMp*HCL^v-h&)18e6{D}9wCqqp{s?hHx|u5}ijBuwS>Cs@@uR)>G$z$)Mu z(Qq1YPY`30{t8aVLSd~|`ll`K)9=N*dNOSQ^#Ny$!{!OEJSM_42-F&BF*i;*~ z;7LxOg&0?dk#hZ~h=ff^u52}sg-*d?2xjuuD?p$83v^9H%~e>uT;A=oNJRdx)@+>} z9=83=R>K~xPt#pnb97tt(dBYVpT(-$$A|1YO*$5 z=cqlO-D)_&7i`ykJazi7mNzd*AZS~F*XN!;WU5R5p-bgKkVx=F_3_jjDHnSEGEijn zQy_^1;jO}^0&xZ5#UCkMOc9~2`+73+`f0ZC1rZs2Fm)d(b^8yLhrKM7eWb&t$VddC zHC#!KTuF*S3l73d25hq$J29?RCSHT*`TG0$>XMnE*@xd^ZzG4F2h04f#JfGp4YH2D z9Xt=Ry=}MpU6H?6JW%}j8s63NDu47so?OSII`au#OxGrmcdU_bG|$o6XLUW}rRu}Q ztpur8@vo<2d1RO7pO4r7{ozzwrJtNaNA;~JCX-(O${ItNrbdKZpSi-0Siab-fdA)b zc%&ez2mx7vEg5h)f5LJyl)3>iaXD+$W{Mg-t*|eg$P-L+#}FS%Dp4i1;gk>1?bBu) z)?u6?uvEcaLBQhd(~a!Y*SCE^38X`A%ws?ZE!6NXeOuT|>I1InKeJOv>5FTtFOyT}wQTe%mXY ze2N+}eQ?^8W$Vy5X2LkuRC_v9VyTv!wd!`1K5$mn6BP<&;A|y?{KyQ;pT%a=7X#^rc~@&GHI2&^6KX1^+*|&n{D}g*)-Fx z9y&wb&VgcVJ$TQ~X>Yq$H;Zl&aoqLyUVvPiVJl-Fm0p%y8>>k^LB=Vyyqhz1I~&_F zw8A|)wKsR7K)S+^ok(JH_~;UY9jn{;j%nq$l|!nGg>jAwE;glmkwo9%Q9+=ofjRX{ z{-|G{sgOmz5Zkq#SYk8cwVm_s`n~i9L?eqZyLEsyNZ34wFqj%1F)=7>w0A-tRU}a? zc$5sdt8BiDB9_<>*-t!55XdPRZXWG0i9b4#SUA1=-N-44jVB|0l*Q61ikW99 zop3y=gKv75=uZb9p{F~40vD=n6xJmEK?X-oIt@+UC}Q6(jD-_9TcUgZXnXKzd)8=s zdb~SYMu$|Kdo0BTv66nioe8GCV(++>2M;up#nv8SM^;!W@}(1o{zh1;+~qZ-E~HMV zpBD9N{X|s&LrFJO6VzlCI-Mb%ID4hTC*%}DcKy)|;nYARtbmF6b&fM|%%Lw*Dbj8Y z18c2oS$&m{XsI8@2|^?|A)Gupn(Kg^v_(H(CtYjro#}`to6MZvrw%kp?5P`_>F`9! zXwF+_`16M$W}hLJ-Cm4fH8|QfX8-KgY9nyp4dLPZbLN)i#%SEWo~3hYPo3Q6(w^l; zC)}j>^f|FeFR|23j#S1&ezb4jkf79!-!nUjurqwHHyXkNu>(7askAfHiaa_uCQJ;B zl=C(|JBes}7z}I};ba*9q+$Lp!V35H*Pk&)ttQoLVw&gq>ZtME75gePbc`a))!5{B2d+}&8 zeLLP`^=iGUJZ!4|7V5Q?q<>)r8U)io7sp2`1gFlL&KlX87+udr`g-Sq_%*F_G_8rX ztaG%iVLp|r8paQ=awnEd-q+s+(Q$&8%c2ZSV5yO%;atdGoq)o{qay&4quPb$RmHU+)jE)BJxH}(y+;JE67aVN3P&fb-2LPo3Kz-WQgWA@k+SZfWCx%t7##OGSRj%e$ceNm|I*?aA z$g2Sar)eFeX$`Gq9i(MVQ3+6~1jJVYW=`cY4677W4Q9WLbISS3Ak(js-%~MAu6!+E zvXZ%@>QSd_T==o_o5~h|*`!_OSAnwfJMnb^b-byt9$cP!7GTDAnHcwmcgLK8$!#zv zv+!Ip6 z^RS=}DIr{(Ab5!&mX{Ks;d90PS@SY4{_M9SY`1f7x4Uc~#pFePdHC6d{{@E|vF|jL zxg9ZWop8d=J#C$G!VZnuAF<~&kl7m{O@MHMn237a^EQszI~-U@v+RlB=zxO`&THQM zY7Grm~Pc(e_JAFFE&TilT6*rT*Z|&b- z2Z;U4tuqln_`F`ozDSSY1DCzlV1wEA#h%?!94@wNH)LPW@ge2Bf)MVspK~|b4jp42t1H87z z*?|CHH~<(20Hy(eecBd-+7_eQ7L(cshE>kSRnDeW&gNA&wII*B|C}<<1`w>~$sf%V zD6Nw}dKK^GsHdh#2B)S_@!c@Cj52h%Xok!1rKhRA>z!Ya2{QBgo~gelhX(lcX;OnD z#UK|5k~$IJEC}+1P(_8Rd&Ylxw8Ew9g#k6crR&k81LpYhW%l7J-GVN!;10&3E2@*B z>qVfJ9WqV(Xosl>T4W5@c0-F49zK=7j){k)Tx{7+Hoc#l8P&H&UFZPu&-t1+!d@(B zD5j9PdFMM}08fskcC$>Xt;J(r19a~>x}iJw#c9j%CMu%aFaz8NQcnvq%Q+^ldkx`O z$O0LZ{7w_AwtMsx-|(?Nz(bf6 z0kRdxKETd^4j*P)r_}TYMc+mtop)dGBqJ=Bl0c}dkU6K4z))tjV*Ungp?kz#j&LVU z)CN}N1NO0i*=>$-CtIoe&|$Vwr*o-0@G#q?(?a=of~6?ZymS}{&!fN8+UQ`4eQA^ zTIy8)-p%echOQua>eTSw&E7R^i%+0#7kVmF()hQnYYC?(W8E%IM*FSn6x}YERHpcG zDaWT$-7f4@rsVO|t!p!t8KC$+}(m zsWmC%i<{RRPEXppUFwVmVdIOVdnb-hUadaRj9}7K`++@zy=#RQpG4g*yj1&?@#f8I z2B#-=-L7AZ;L!2r(Y;m2C%2#P?a<2k&~!zda=-Kiy>$J&?o8#vv+OU5CVc48jnTe= zcOlX3j1kK8)J9^u>?6>5z#Cf(6oe!a+}pTPSpygcjsvcQ#JY}ucf}B7Xe4K4$d7j8 zExpTXW#GRFwtDD8Gq*8EeP$Bd9+wUijDuX_APWeB4yi?4Zb;ka;IDiU#L?hp#Qq#^ ziQLAKt|=9Oq2ky2r0wFRZ}k*{N1n>R*+1Cs{?WH-No8LfCjdQgVHC{&ND!W(VxLeX z2?a@sp6o0ijVBR(DJBs+qRGF#QGWJCN?OGowZ$B@&8b=4fP!r|gdiX$MM1k{#2uN3 z1;fUFF{TWnOb{U+CB;kShhWD?GlCGiJ`{)=M=QKuTBOi43bxro0QX^Zllx1;N@&@u-%h4?yNv-WZJ+U&EBgQz*s-W)DrporeL)r;$jOWg-5`+kno;An#2{W zx+b-KsacnrBL+(%yKf=_Q-N{!_GE>IRtBEp=dS?tdr2y{(Ll8ti*<>hc#RodBj{8x zX?9z$x8f>Bf{IY)shaNDy=(Wb>RsK{J=J%m=gFj!rK|7plzDxS zxP<%((wAVxysbEex|>+?S@__ayTlP;+{26r6If9^U{E}QLUVd7Z)U29#Fn+c9U&E3=;gM-tp!rddpsFAe%=D`a-`v(<&r20`fb0v4|Kh1@*A|f z4oOqX#fgv>%bbA}@OuQVjAm#Gc>YCEKh@2j6lh{5(3=`f^iT zN04U+RlaO^#4Wxmt=Tk*v_W0641#8*oktqsvfl0Z$TAN((tyTnx7iQE-VWiC`HAh# z3DEx%oT8(}QlFv!C9u^t3unow#jQ#gmT|s2xeb0~b!WKGsHIucPLt)&MeqBy^BH>q znwU<4C?>t{_#8jux7Z2k(l!TOd~lu!uF=GKf(*@B)OBykq3dwc(OQMX5B$+aM8k0y-Dx%xwZg@qu z0cypftiob=u;c#j`HmbqQCqcrv}sJzUMPT|wLt3Vb)H%glO@mbZKy5EdbXikw8Xs? zFN7oInpTbCGtQZ8bJuT5t9T^>Kaa-JTI*EZQ)aWdT=(aTbJv80dX7v18 z5i8CDO55OEakN&YH133F+Q*O9cw}O!O4=|j%->KATVS!%BNoJ_XDd0T=avv6>eWqh}sf36z&QP?i$kB;Vf}Yx6`Jb^;P(MGIl}Lw5PUH)7`>`#%PkA zUiALbt2kHCY|4Z{ZOul|G_Gvn3oFX&hc=4I7$MtT&p}=gd6G!O8R3iMPlC}E%eOJ`+>TWI88tsTbO{sDkk5a2l#nrE zq`SZn1v|{_Q`05f66;kJZJK*ivkG|98RL{YzgS0(iZX$4Rh`G-oL`u#T~eKT7-dbk)qqu!6zsx%VU3 z!5O&B8op0S>CRG{;G%!E6pa42Nj76xW?*4nuw~9wAj-*9RRJ99eS96v#M}fO3Kpr+ zbEf|MO4df#^!#Aj%+Qg&OEZdQn;@3V*pWSJvzsVLgm0#5%JSHI8at_wYi7_ndYWOj zSXK_`$x_WW=;7sI10Q?0#Tz4PDvhT!+3d^Hnr>_-Qi5%Z++gz&ZeGNK2A5R|$fv0m zT;MHRgLw23N)KtdiKvuhJf_vgi$#LBIxv@+scch!H!2)fL+D0iRYQQbvI$t5)Onj&5sv zV#Ve#h~B!IrOm4Drxx6IBlPAhyB z)st?~jNJjNP1LLTi;*K@oW0N?1+Rzn2tD+BH(AFWVZT{uL+zk9MRP^EqV(mEDW)>@ zHXEZ%%|{OVsI9Ah+AN;_!dW((Sw-~1drUTjZ()~TIaa{tyRb&6z!p02C zMM2^jBIzuJ;IQ0v1GvBJd8m<&M;bZw^pOJVTOyG&7IiUme@SiHFmDwilm8~>_KvkV z7V4Pv!n|3l;I#Zz)Yl&bIL^$dIX=k#;>W(}WyajkJxv`Yg$qTP2h_WN30ZLG6ThUOk} zY=owBY@jl^uhwXV&!Ztd>{sSQc)NDzApaHHrjCgyQ!rZC`@acZoAiW%h8%rQTj z@mGHgG~*4Ja>P8C6ME)giu5)TTVYTK9RpIiFcxWruT{Fd+er7uk2u?gHnUz(D0cR2}BZs9wtFY*!_Htxu3B0(wQ zW4wbQB{Jm+YqCCHk){YzKVMzgV)z5mrC9=Q ze&_287p9VoNBBVV*1n_97zz)NbSfZC%^H*vl{WHs`G(c|ur97VE9XlnxhhX)qd_)V zERF&sgVn=~bJxtDSr9MNp~F1GZ)-fj2>?n&8cLkDYl{8mcvlf7!HAIHEoO%wu+jwC zVh`J63D;u}-D3~?dm3%06Kl{{K(z}Yi#X!RO|xv)M#YWn7dEG})Gt9X4w1(~!#LWI z(Z#k!@g0l2nm!chO-=wvLJH#W(0Fxv%3Uki_q+WGe_e-tPqi3XHPQEU2(si-5ON?|QoI;ob6_E4 zr&|1aNtgYH9Ul4%0;;nO^+7YbZu>vT6w;DfVnS2?tDxr;U~8ZPbcljf$iLHYfo7yy zEooL=F#YKNRvr%C?xz{?*#^7+I(z*3ztb%g=1|=fjORZ%|I79%S_D~qDTpEamTv;h zx`xfVrvH;JNE5wSZ@?Eq)@q3f8ht=h!Npn$45B5?W<-!Z{}eXvbSpwE(nnlt9rJ3k zkxwu|z!OH5K+x;dgKWpQ3DaaniZIx=2h&7MgOC->&+T9j=kF=;xvb7Q)(5}hM{i!a zanRErvYw0|)rp)jdJlqI(^^zN!N-4KN3=-(+Fglo^pOqt5quxPK7hCZpI#F~$ck&S zP}7+VtT{#lGmhvREvdbpn&{f}Y=0Sqd9^m&uoW3?d2mNP|6*z_dlgN?B)PdYX(Sh* z?hl0i1%8yOm~jAbt%<6Mvg>RQ+eCN$1#-6ylW9$gVdEbt{w@0+>?Lz+z4S_~w7;NA zs|;kELm&Nvzv4fi)_quk=y1n}m6-~-$6e`LWsZrV7RyeRGe zHvx;(gT@%$Hh+-$m)?IlX_UK#eVLN=FC=)!GUe~4~H(Ae=^U6{u_96 z9nwf9K;0ky>HOubVVlUVzd-D^VKA*pHf;REKb^0mmu`!d_7_xXwt-p|*D{lV@ zn)|8J;I>l0awedOhYtZ<1^Kk3bYNEn7x?Ym79Z<*Y8c)YcbzEtFJ?m4@j#o~zaQ-< zi*yWFSB>^Vn{PwbIr=X)ciHF~{xORE>-svp)(K_WDVQB_HSB1@tHpsR zSdhimbo_rbL813UXG0SG0iWnO1Yz0d+Q47u8zO&Qw&TA2-G)4h!%Ts%($d5 zNGFM4TG_LDxNl^nax;Jv*##+kj{|uhsgRxi5avNAfEMp#qTjULpaD;J=>tQG7}H1& zJG9(U?KB$5tr0{v=)n+Ya<794I-}O?VxM7J`Lfy*J;!wIxhmdiVIt0XBPtJs%NR9y zM6$AkPo^VXM1!Uz05?YoaP++SnpZ0GZ-)9YU!+(8s{u(XMq093jTrSt;%Z@7yO#{JZ`xj{SJVu=p~!(wMVNrBqh3t5~1x%Itb zGFhR7+KzT66qF{e^QAYqU8h1{D8TKz>#=v6Y*(=Pf!aVFGlao=ENIi`2uOAxDG0m; zD4=0oW;blm1TmVprzqSh1X;c9he?rl`9g4Vc$8u6zB~dYW&q7%za6kQy^#3rP{Ea$ zdj%sTxQ~org9K)4z_sk1PZ>b~Gcoy!uw=7$nDZ0bJ~(8yf_vg7e_GP>STa zKRCD}!MhKjT{g2K(cw{l!3VPkCI>+h;-Q&!R0t~!vS}dL$Wam(n*`_NvCx-<*8#w9 z9d!SG2JVuo1l=xM88hy*{7}m4GfP6~Z8Rab6-E@{VPG6paA#rl;GY%QcW}g9DUtr2JHwvUBoxs|FH94>4tj%F7cT-^ZEOqKlO~iHjhL@ z7Wlc;(2{!l-X$ZWy8ZfM?uiQACT0^{p$G}}T)A+FC4iQM@EBj&mWEK<5Efj)*l)ZG z>S~wqdIG-Zw@z@_pxo?|8}m;j?(i0p>x{_a?DQ6bj#p$`FUaXx@5l)OPDibA&Sm-o zIil8(<}!nUbx~`KbD4oa=cqMZL59c9z~S(XC2kzkY2%!a7R3snw5x^ zWS>9SWAo+a$HnUscWC1Yqv$tgw4aBNY+1|>LVmQQGD>QqF&PDZCoNJCi$yHWc8gkQ zAyd%#GTLa^eAq$$E@HT{IAOm&N5=I@1uXvIpP^LG#mr63@Gs&GZ-q@Sg}YC@0~VkD z*%NrKCoeuh*4;sypCgX0;iR>*uzKbiy1~~rOR~0s>HTNNr%*M@4F4BPUkdFZ%t=JC zNzg`xNz=Ulv#&Im3xjOlP4M0GAf31o%{%rNO|>Q2Mb{5GGoa4lObw^`Wp?JTjv05! zj4()GwAhS3^#=RYU&Zmb-NnN&fyxkMuL-wa;lK=TjELaIn2B}w?E>jXo%mM^ETD1n z#Tfl&_Qx@JaGeLxlD5}9%KtE#$A8h<$mRmi9am7UL($sGRVAadJ%<85h=^UHJ>Tn0 z=k}(_+;bU)X<Wxle9&bsOF{6(SV0=K*g$n|fe;+Z0R%nF zcgV&fz0}vQ)ZK%B7#O5(Iu!#S_iePKO+w(vFVb5a`hu1zK3+q2O_cSVGFp+gxdZ)rJ3^wm7V88fv5R0W5jRUgEHG5@8zJUM!q{+ zXZ`okpeIQPyisto`)!M=*1;tC(1^CXES_YKsMeu$GQ8@abb`it3dRA9O&DYXvYKcu z8G>wvo8Uw}#lJB%iFhT$hyYPwiee>U7vxU_}Lw1GHQ<^KEEN#mR>sv@yXo#Uu@&-`C zNCim)F8mOCpzIo15C-GkL+{uaV8+Elz~+DjR=}U20Y9iswhh0pNV1~mG;q@I0Tl2t z@c^E#2uLSCEa;tg3Pnq}KqKxDIf1e3W1K!R&xp_|rv( zu9$S?hYt8jT(WJbdLi+GNT5){2mB}w$|!ogWrCh!c<+cD|8h75s+td_5#u8epR z3A~z*q#z8TgnSHq#vk~=a7+GA52iFg{DmL;-_)|@?~aAWC4~0s9+0u&00)&kBq8{A z(V=&A5AvTdg?_gCxcxeSjaSLzQ4SLoCWCwkLfpZyQ)WUK9J+<)8ApeTUcQ!rM2rPs6T@f!q{w&v zN~!opg8oEFEP+jeF)B=*<~{n)<33g|-J6m1>9gT&P1lKu|Kb2-T`au03R&bgK;0ky zS713BJ}K?`3%c$TjKM98fJGWWoeJ+i&X8}z8R}F3=DBdA!suz<M>7hzNwE6tmp_34A*Ew}_c)5|Es+dusCd~RGfT?ixXFDTN4 zLK$-~M*raak1L3i7KXZg$iLuTI#79Mo-2l(i#{q$k>=h1A5QwzCFP&Ba+NN+!QtO! z0qH*ufV7po5Ksj_t2&;3E-Eyzo(+V!(Pss+Y-wHkekD}fRITSpz!_5VAqHCN&0@)y zYTLsgbbo8@Rz<4d3NnV6%6s9P(NI-k10ozl=j+E!A{w`&%^w@ z^ic{^18vS3N+0t$S-f3c zx*D8|wX;iCBOND8v^z;x6CQsQZAXxduz$szlLLL}5FJVDe% zu`}X?4S*PJ6q!oc*csrhERm$T3~A|h+{_Shslouo4VsLQe__r~wexO@n;fC3ck!HP zviQ7|$h9)~QS4p6ijGxi2k5pi79eV5EW5uy*ObdAVw2KrW`i59$Ykm^GbQgdlRk%-6MVnjbgM9+(-VhKsZVv!UW=KS>PASZ~SpOXkiae5M*a} zP~wl{07C*+dSHIMenCUKuC?cG$-!(v&$VbZ4)Y^vt1zSK$NFDKl5U^F9?Uyoh+dZkkCe$(54^1a)X9-M~cQl zWD=$@fIC&kJgmkBAFcSlGJ8i`fKH~5@=ev0-*n1NmK$iA8E{Yx=b}N_N{6?a^gIaD z&WY@(h{0RTM>x$MV|mB-P|rpadSFi4iU+xh6ly0e&9fb2*AKnQD9NLcm$^IfYxux? zb@EqhUS{CI9-NCaVJjcrYL-ANACAiv+Nz+xU5*3~OJSzF49|Ih9Ylc+=>(I*0k)|N z;@JVVZq5fBvQ{a`Rq{}~No$dg12f4M)c6&exRw35mAi!I6#vVg5iR6{SO`+SM4~#u6PnS{qNU?#?&Y6K6vd7ht{4+OzDrGn)!UJCmwXfc zGKL@2A^jB?ovBedX)rwnO%`Z_vARSBRK^sCXhmVG#z>oQIry9k<&up&(FsXvBMN8k z1VT$Cqyz1X8hh7n_Iy<*mh>K^mTZs%&$K@uY6Co#;64-vgv??~8t-+%JMuY*>y{Dd zZBSJ--hW>r|7k^F%#AS~RNu=Xra>As+c@xj34Bi(L{G+CDla>d-4i++qwx6@)N|wu zQQ}5crbk}k*7AMn=EBGP?mZTbI&&GBeiAYX*`1-rXc9gdbCI;{corFI-qXaOu#ssl zBFLLB?p6q93IcrR+7`}Hi$EOc1T%LI%k1wWdaD8-MlS|X4?qM3&A-xZ8c}VcL9%sb zl5BNkl1z03*avl|*=>U#0hVt+XXg`Y-QZj*J|>n}-A+0SMpiu|W4w!FaEBbp{<8aS zPv-jy1@;vM0mp?`BN8e++Fz`OeZsQZ9rx(jg`yRENeHgMlRz6tz2z1MewE0Qem zyk1{p{+=K0Kj!LU|F5~ac6H=zOolx6DCi=9OY$>QNi&gi`n2H*v{nY%Z8Hh2It6YK zt4rDpC)bAT+sJY@obQ*}qVj|~IHOu{9ivD^V;~@VS-s?=NC&%{be)F!S^#1wVs`MK zL4%K}^y-urGpC|xKDBF|UT^AeR$^s$GgRON$$Hj@=)C3-``Tm-+|aW9jcJ$xs~M~%g@{YzZE7^nOat(^i;XC?kR zrkUYT&rxN{vp{Z&dXmwy?n`{VRK5HX{Su`u#%V%hk&Ke(r|+jE!q`rTiG-J<={1ofiIkJ0=}Q7>7;8^ivQZpHr6s#)j>_@V z>``UoASN(}Ny*{#VaVl%QOTwD)`CWirKYehKTLhwN(YViI?Lroew6#vmjSXSC%2TW zP-q2DF1m`AnP3;eB-hm22wFClnIfuTIIIej$H($aI15h$v0aK!;cOLwSo%6ZPg|l> zP>!^R`Me3&vV;miMt!+Q`7Bu=xiXaymPJBNxU<}NUoZ$~i+$(I!%A)N=`CM-%IQr@ zd&>InHaFeWS%sJ{9`!Dzz09?Gjad3FBz(*i3d+@3rQdCrtp%Pux5Oj!!@iH$JRP;= z#_-}upbyL%%n-Rs63MKUI1iz}bzZZ`6(WRg4-$3$W*Q(Enf#q@_GA+~vn>y$8!d6o z*yll%O7I@5{*at@#S}#QNtdb9wOG^xQ#FTZ-t07iLK~0CfW9H}lzbWCsh!R4eRDVS__qdw5eUJb#{*ix((c^r25)IAY=vVuvWHKeNSp_q21R^v6efkMbQmb@4Tj z&z?EHC6!z{DaFSSN`!>ovOAC-e8MX@%ZB^F`_ThS*~o5d5owQ6-9@-a>$y0r zl%1rs)QVmGDtM*J8zfx5p7?kj|5)Lpax@)!RQDKibXAPgxcDpFSN0s+Dw$8Md^G(0 zif2Nb9rkE&uoCiD1VO}Z1NnnRU#aY4vg~7vPKLqS)Iz&|E}$kSiWAq)(r1eO2(gv9 zl;)9OEiq+>hN-k8kKq|u(77pO>ESc;`v|eQr&^|!KsasrWxYs8r;weDAbIYV=xnDj zeza-XbZ0CS_*;zpbD?xx?3x}G(49l-oH=|}h<)l>fTZ15;oLqW`GAXI(u9Ze7o{eX zDd+~OqqHYxN&Jke61x3ULtMMIXQOWDMIe-JVLy(nRLmk_UN_dv-ET{n`rHB&vUd_(sK z??A`0*k&|pikErUh-T;Zhi^&Cep|!u=y>3q{oavKQb^2?tE}x7H*-`pb7XaA8$tR6 zMMbUo3A`n^StvSMD6UR9oH|71k?86Y?}xtz z-|biq6J{7(L1(pH$=>y(dKs5w9kI}JIIvBZzLKZgs|*fKoj;ep?jOqh7?HnDX_2~( z&^3Ldm>)}#JJ1{))Tqy;ovGKSMz)|D4{za z*ZnxeD>T{yk1Hqn2R`abPeqWd)b4JborPECG9JV9Rp{Z%3x^p{SR+FxC_QF;aK}?w zT621u?bt3q%es=zVU8V~p>LzJ*S=EaTEBQcqIZRC4TBN*bVP_{yh?h&Gc=gePr}>T zC~Lns+}5Ouh+Px6juhf-hWIPFvS&0Ia_@0GQoUtO)2Y33=P|dXu+TPPmWaL9x@7q) z^_1hfocUa3uhm_DN_0OZ zE{{3$U2?w|9tBU87&t@&4Y-dCTGM9x5T_Ch65_q5Kq3`^VW5vHXO5*vUuCPl2S>}kwZCuVJjsLxWpZa^l3SUqE$<&+sGx)b#_ z$_J{AuNGSNjFLa`D(Hdhg&$Em>Ks& zoa~~r2u85PTF9ey(NnHO`C_HV0(T?wb!()ncsDL=OPus+_mzfk2>G^rbG2sOlJ(MC zGd^SanD-3~PZuhaOldEfYE|i{&5)qIuT_avF&7a>NRgE?zKK}UNS|Lh3}RC0 z!M@fM)i=7<{N42i~RkdzVv*rRTFUKjRG0$=H_E817eY@XUN<+1eqqUE< zDsMhmL(ME1&Mb9V+2&~z)qcFOU?k$x$w}rYQi!~ za(}5>*Qr@^lsBZ0rDB&f^l=(!li8PBcGQclac_HBnoKsbT~R$ez5h~9v}DDzWMyI7 zz|pwW(&9m~)M_6w4>kDo?$SqM*Bj1*M1E~VhrT});@dpXTI-wzW8Jc@MVu&R`np{9@Q#zja1_>M531~e zk+2i;0+!wn1uicTVj>@EA|6sTh^c5}1GOVptL#DfOGl!d*Ei4~8fPm3Qb zbRWq(kpg&0JPG?iah`rzkaI1 z9tPYKHcuey9hmDLD7S2YaNY+WZ6SqJXO%T<8&(HZjd{c)u7+zUuCGIW6++WTg{qc; ztp-2cuP+<4R#_fL%zZ876|5_DTm9}@AFe&sf32J$W^I&fWrX}hiFC98$&f0PbO8;D z8w5o#tUE-8Z4*|yqdJzn0;_jmqI)o%EN{S^yz;Gdr^A%$rxTpSS0fnx&p4Y7drok5 z=qMI?C?e2?Ph<-|FgBeiHokj{v*Q7$^hjnWuY=S~-nYG~Da07_UyHJk1P%K~s zMgxe(YF1-Jzf&MBpc5^`k2VPO1P~cnxl`^h5d||xu`@>v-+C?A@-VM<; z8r5Os30K_1hQBo<=tp8dRJ0toapHBFDS}mYkGB6aCI>{K$Y!ASxBNLviaAT{W6nN) zsD?4zhOzJ37A139C9ZQNt|_zp3JqgomCn+Y&J}ZfWv;|l**sR+77b$>m58dx0cyvP z<*xq3@XS5cDu%l(VwnoXf%#^GZBbv}utv|Y27mO_7hvh>@aP-58#5d>6x>42BU`O? z-OE8ee@E=Uq8}(6$eYxFwjsaOnLZ~D=OMdVLmrOglURs;rZC6I?&f5ak}CG5&$K#< zW_IzzidpEdIS5t+0ZZnhw#Sf7w#?!_Of68zXRI*pE@lmhEfsDH7boD!pL6*>es4oN zv4dpffpIuHB5y3$`FeI_$Jus>Mc1x+Jx8CQ@KG4M&4$sfE?SD8wi6mJs^^^~2BHmr zNWlBq2jY(;1Q$7yS}FzbD);6%?ZD8~vIvb;h)11`BVrfpSVwD>)MKISPEReROqc8R zcd~47bp1)DQT}+--BD&d;oT9Z(Dipc^{t-p9tPz46H&Kh=fc|q9b>UCC(mJJwZE;CDQ4JgX~yi}U(rf!Lo;$~T-_hBizXjR*iCz-it zN=o~Xoc^?Xiny{qR369V(74j&`PVRM(yg(jz50^#Vc46|>-$jyqXrgxoxu-Kxq1J5_+uP~$QhI{tC&(UEdjfQWwf)22#D}7LR-+xit z)D1<|;9c=#KIpLeMy7XST{UGqEVKG%rgsuuHDx}Wo4h`mzrv=yL2SLnKtmH7`|ntr z+2Dp}{7MboFkyb+ zkkk4ZO%I5sHxK>;7l1rW44{Q3CKN`BNPY#oK2Mrp7X`|cD(G12)0IDaP;^_*N4qxs zDO9mZ+-`I;%e1Hdn{ptofZ+?TKs&BB3u5J`-0U^oy1@J()+97UDp2Tqde!`EBT8?^ z1Yz%v$65wV!T?roLUZKM8#1_k`~Z9K$SSU!NF>N07L;2#a$>^fhmQ0e4(1vT2H^ur zAnp)pq^T-+Ua*$rpJ?2Iz4*jap@t=@iO#qZc;@*?$N5M&2*Yq8>^AB>wySaDS1pb=!o6IMt8tT84~{p; zJpqc3M5tk*X!){Ilxd<=Z7FK^9@mHw4&*}5yT;G&hL7>G zoOn{#Y%747AKNSMYz3OG&kTPGRBRG?1KpjJ&fiFB+i>N77s2~r<}b|3n1AYYS(t57 zxk*L<*JV)zAr7I4Sd~mo;?O)*v)UH$!@0o+AuNs!NDDFC72=SZfu4nF3qzGy2bS_$ zC7H8OI9;T`$QmgO6S9HpIFm&s8kbN{|I-fEY7Twl*VHhQhH&rE&hf{F>N{%@fzFt` zRVbS~zlQQ3Fh;tTl=?xU^7(GsV1vl5S{w{Qw1mPN58*K8@mbMhn_ho3$_CTl)o zB@1^?(P$rH(0fM|sWeP|`|yaQkZV~qUUJQsB0Mjjt8s|P=$)V30mu9Lk2fa>Nm)+R zfZx&!3jY5c(&PBAA-z>yL;|n~rOHfG zjZ7t{l3!#&+Tu>7zo>|RWK|lk>4sC->c&@expY$mkyWA;dI(VQJP=Xw1Y4vRgse!{Z zWl8Hjh+B5AB%9)DW-Jlf3P(0<2~7*+7SE{GCYe&IN6p{Bua)l>T%q13KUbnhF;FU` ztgPx8kOjJ>9k7#ars9m;qV0pJd%^$d! zQCuV=n5%a|gpnHh0+aOA$daHr3R`SA*JlP;32t(R^%%0lNr7h5VdIT)_I)9qySt}NbYr;r>Sj~$+oI3t zru+Sgxp>5@)@)gWjdlnte9Rat8Q@-doLRompys&Y)v8i3gCVkcb6Wga;i4mJRiz);0c`N_xp>_mJb8%ti$_otu3k?Z&<91ur@_ zrm>*ev?J6{%Z=XU>-}_$QmR=R7kV%VoKse&mfRTxoe0YX5_Eud?~7mDlI)wA^GZchpB%@O6%- zW3+$V=N!)snNZ|ydY*h9t|*AI7y(oa?*sHoxG@%5KMzkTtYZ;`#c~W6z4CO!5EL<= zhdZ5y7?ymGuzdGAk#-lu^5d3C$@#7R&Yb(Ty3yLkCiD3x+xgxeO)hpn1CQXZev$iZ zp2ho{a(k)Qsfu}EnlRN3HIdYL@41uK#P@JoobUr#4@SdiJdB($e)*9Sb zJq(FL9$Ub@@x6f`cS2WCj$WgV!Fn3^cb^s)UY=Cg#JU}UONb@SAH+w{g1~{DnuhZ$ z>~t5AqQV)Gq6pneHK#-8)WlPA|7vyp0q_@(DD~32*l%ea7D8sRYgOd7aou*G*hIh& z6GdMZmJ%%7-&N@vZC7V|#)T8dkUZRpSZq(AzQso?bozLYKJETm`4;q4NxfpD{sT@%}5FZCE^#{I(r6L}<;Bledqd){7ZH)o|2Wf%jJAMHZK*24rW ztNg^)y1cK$H*E`C)nD$uUvAs$5yx^d6BvJ?*)IGdH(Kzjn`?f zfIu1K_P+2XVsKBMl@kC9y?dOiZZ_$bjPHQmE43vTC1B18x{|7BqZ;WIYWjo0^xfjU z`YnOY^UnU7A%DR3EUa%&|2{D=HyWzp4ShD_2hR}t9rbMqjF4g=@%M_=6CQm;K}ZFU zfL!|sE=Q>^+!Cl?K>Nnlb*WUF&~negGkp40&Oe6M481RC6l^r02T(iT(AvzO1m+j+ z{Z(F&mp^o0nuvJvjlm$!Eiue=h+ZIK=%%i-wJ{@lZ(%)B((MN8B=@akE;Jwa{b#~W@O{dk@9*V$nEfnrpO)mcka1FI{o7XEvn${U02u-3F=_auH z!;s|*1$3q=uwp)F$@}7-=O5dRE-Q>HRlF*mt-qk!v}>~5rCN1dpjx-$EKh$i*=~>K zw*2I#`VrXfwh#N&g`ke+H-*sA^!KlTxK1Jg2j2d?SR?r~ko>*L;j>YMfNz?7KdR}S`&&wO zZ_(Nnq(Eih_SibWWRPK zwC7F}dH3V2U@^+#P z^COM3?9Pn`K;^=~bWL}OCgj4P1b*}P7Wh2r2zvL7e#Hsw^{QT^@wQ&ksP(%@vYAiH znXuYD1gW@*9hZgQSBmTsK&U*Bi?BjYe)D2udH>_RVS%vOK_16rECWMS8ly{O}F?hix$o0H*emc3TSbaU%aGgtVcy^}{IA>X4>FDmyeSIANtkC0l@i?yZf}o9w?;v-P z%Jf5~C9U@kCnZ=~R=%5L`JNc#`7-fswBI7I`aH@2m>o_Sqw=!6Y_oE|$+B?&Sag>R zE(qZ+$i83l8^`3~0?XycM}_AyuZ3~v62z=ZxYsf#Ur?agN0qf&`qOBa@1UcDgfeG^ zvY4}IO;x>itn)jbPS(So9uSSUNWL>-V%6s~7bBx7tfz1+F@fC3?EOl%(+Z;{KCuRj zixDR+j2%ba3zd^WDgKke&<1Jc2Ibm3W&A9wY)mv2_}A9ptNLlAhkA(LmJo+g8}^?? z*Gva9VFoiHr?k37Qs4bn$Mj%`u*qH2uI1PPLU@ckk4C$XTXK&pp(8hV+AJ?>hone{ zMmI9J4Y=i`l$uF;$+T|Qt~&Oe?TEPOHwsiQXs|2_9XCFm+TDI^K4o4cIzH$W%x&Nx z&GpXw-nm;R)|b+k;rHF-T^+V;_{ek~HiMkHQui9R0uGqrSAz@NwygTh)ETNuG=-6k z<%8LZugJhG z4`CtFUMZ5$U?R$}I-J;ICQ4_WQw-ly)D=!I-bsYsA4}L9>)A~-qs(R00N)KXY?2Ju zDd>$J8OZ+bwG#5%QD*l_3C)^2icu$mk-%WHcDu@9k-o-spx5|fKC6sHS5<(I^_nnz zolsYRuee@fV?{C}b7P52dWo#KJ`vI1nd)>$9%*-LX-Mg_KugHdQ1sl}ZMLcqD{Cxf z8f>WsN{k>}E{$4J=ya|{#H$ytdk3exu(EFl`pZM{!JW8awPfd~vRa&P z>zS-C`Vx=rgHvknC>Y|%8M+==!u~(<-ZCtXCR!I|upq%LxVyW%4(g1ftfV8I;%1W3Y}eEaNk?zf+3-#_=?-92wjz0*^*s%v%6s_HdW)m0IX zgQdk1EgraIO7fI%d(`*ZFjrLzD@m&{W-gK^_68^SxHlS}W4&t%=wm28Cc>M5LkWft zN)#GC;JLAfUk_vZbE2C%rua3Sd{v_O7zJ+<5}H0V-7{o#S&G@K9l}1ms}$$P&YSB; z2+y9}H|cWS*xr$zIoU%p09|bGK)}C4P|%x*>4`houHy+ac#wnuv;Q`UaH{p)494!!J|9>kDUg&kgjk1AikI!qmy zpzb=*{xl%zU14}MSnODpycR<4Mt@TulkJz=@%4<-zX#qlVQ`iBz{FYT5fSMdMKJ%) z4w|dGGsjqu@0&mj@V4|L`U0=tF0bE>1JN#T+)rMW>nu8#=>RkGmACBnX{YnCtHtY) zvDOmd@5`+HZP1bIg8?lHfR-IVOUBEGIc$Pnyn!~w>skT-YQdi??O&8ODEzaV+Z+cU z(?F*^wBI{PRll(vti&I!I1PDr0ahs-uUt&ppsUE%3| z?~#K})B$gxk@v2VcjkU4vFbP0gO#|W70{4p8(?({ni&r6G!gc+AMTV>?>w*lx(BmY zFXU=?7rI*gBQ!I{z$4J;ao6Y(nwebn8~edZ!qJNJkmnb`>TlN=Q5ZNP2rN+_91*nS z;P&fK%s}-J@}b=~)BPAD2fj!H7(gS8T_cRlecyMgVk`%Iu}6H4L-(HntAnmFJs611 zYACkkWOHKf!`}!90^tV|6t1ZSenkrYOl&twkou_+b*7PXrop?KDeQg~G4sx2q|hBk z=uM$Jl2AmUJG>CioFEFRxJP_H_Y5%Ou_Wb@CU8X1&I1}wW8G0;)qplRT1l{F*W5Fe z;8}t4x6lA7cL2Q8mx$)27$)k=uS3`qGe)gY6@{xRcL;7*TP^!gvxq&s*xp>OLYg?+ z*I`rAVdL^N^={l|B*ovF^14Q5910e;{B`gFw*y1IzKodUJAL(NUWQ?!p#z*)=KKOh zG09Z_5Z43lHx{|c40(eG+%}40cP^Jcc9%XzVs~=4nf$c*2uR%&8jVl{P1;a?cw%`s zVFO51Lz2T!GDib8gu6U}_a^8|lGGGv^VN->SO(q`&_)xuKCxsa&0^>H0kiy&(`SNFVWd z%t+Y431!a-qUO5Kt=s!QR2*KfiyAh}l3e#FMEo!*f&0Y10N9S{UcFpvWqdv8K%Tm6 za`x*Z;cOqs5Ho)*zkFBlBTR72?*enN-$Kr`DMcJ-FR0!?(Nt!0KpQO;{%EK-6R>`_T!Tt?{}1gR9UWYPrwR4n-+n_`gM zU3z0{hh&fy-NwV~Y$SIgA}17*SU172r7Y*|21@K7w4wkd245qY`lR%JUdSU#sHAkY zRUpZ#5^XVVwt@D3qtqdlMS_bo)A}NE_#ugt6y!2g`p3Yz^|l;sgcCLgA5~CHlQ@F z5m_Q*=!Zz8RZu9^NT%IFN|7upQ5u(sED166!zI!xDJG%2?;rB+C|*#tkA%Gz|SviIoZphZ@P1 zTSyC%Wi3kM3Xvr#hJJ*^N+rb^boU+P9?7x?rSTh)B^<_jkOW@^1+lX9iu9PMh~;+# z{_mYVzdZePR(Wq%d8_Ii_UavAS6ylC4(lD{6c=ikfK9yk1|P@p;TvTU*3HoxQzIN@ zDGYTWwJUrUAQ4OAMnVTI(8z|e)5wNTtQSqKmyW^33e$SOv=;@0lxYmz0g@|XNe{bT z8FJn%XF`Cn9tK%0rK+E#@!1lQ<4@9UW2$v>NIl=B^urt@!?R4_9WxJB6;CI?oVrs{raQAEFnz#)APLUHRO`c8o%7%72XMe(LKk$*@U zo$@?jiSSv0qx@rpwb?F{1R|L#T{}@XPZvm9O)7;}>zjK*X@JUa+WvjL|X;o;Nu{c#A5yFnBE7IRam}VBa zM3L%`jy}ZWo&G90&XmwlC8VyuUvH>o?49%FQlLG4lPYItE4kY*+I!XKk>@IJcMI*? z*7vQZZohc%w*Ttq{>X05v5y4gZ-45s(@$OqnE1<7tycS$q z4Q$!U=Bt<9n39SBf{{8e?^*l7cev+D7U*GegB774;6er0;NbR~IIrh9x?vvHu6=L3 zK7Szh=ke!CF~6~qk@FAGaD3!J*#aCSq+iKeTK}5*{^&=qCiYY^!5kY|&9rKR)Yj~@ zo47*Vz2GYw-z-R_w_$XnykRpyU#s>Vm`$&2r;^AH>SchmO5iFQGDMfKVh=Ciqf*vl z(k`SSeQ6HVU;gRbmDFO+mIkoFE+ER3Hm4RrhoNe)f?6sPTjjbT4`CIl zt-4DQ$2;`)= z2zr;|rT!KuOcP#8ich@|AE{v{Kb+BQVQ#eH%1Lb1%$9>f6~2 z=QO*Un{48)5sV<@f zQXjN)fPQo{rJ@7`3nr0DcI?Bc&3bzV8xF427jf-z?L?mzIl@lvy8@gRj~<`D0;qSQ ze4LaBjH3o*{+Q=wTKFnc3tfqNZaJ}a23$^4E%F4Eb+w(L^N_FOS_j(&{uDN|W%U-T z!+6F124>zBx~KgbQ`hzC1Q(N}edChrdzI%ud%xns8|ah~$gTIV-vD2?4V*IWzJp3s z(t#`%S6OK3bzy68-=27jcOseg__*K4#Uv*Ck+)WS*ygSKW zbT$cZ>%Eyy@OEbF1%<&#)vBbhK2K9M^?Aq_Kb}*r`uhn1cm)6q$gdx0Db;{dd0brL zUN{;@cAQxTO1(lnYLOxzRscfph6CdSXPt(7~qe z_M2V14z+m--=0;LVpVPYp^%VAR;UXhv8&45mi03BMJ+4N*LmV2zL=ee@v}H6_Oy~W zc;wWyHd?19R)flpP+fl-qB=sF)?hkzheCFRvo_C&Af2Q&BWYDL!3 zY7xV-!30-KOjO;horgiJc(XZ+-d~8&NwKWLR?QjYxl`KTk~0l{vQ6C$qT-TJX$#76 zdR2*2l1P4E*`f`Y|J;hG4yygNv9u!IX7A9F)Msy%@@a>XOSkr*T+YEKv1J3L$vCdj z_^!lpu+t#9YE$=$y?3I4My^TG6no<1pP_8BSpzE(ht!*2?DirKE%Vij2B%GYdESC; zTt>{JS`42iImZ?vSL~f9I_cvWa$-Df*;YQaG|`4)SDjlDrw}e)&#AUbW|PMmOir>} z(Qih&{kerUX|F3)t&+5>P?)M$b5~fk0v+sT2K13HKZI_O@ntNFI;tCHs+iuNj*rNd z$P%vO+fy%0ILjC`e*i5Tn3N(48BSK>v6kzt3n_@$+x<#Q?SmxsVW#$ZW%h{|VZU2g zST1X6-aP*<#XtyJ7t_JAv-|#dtQhiVY9qm$0r^zje)KUC>|whb(ULYZN-o$;v5`x{ zlj0I+9ky5shC({`Z5PkYmVpwD68+%krlw@-TVpRW2luMtew76uag29scHDweDLif*-E z{*D4{xt4eH98(@xl}7RAE2#DD)FI4gc2_+)40C^xD@y|?R*e=qv@nxkcfKf^4T`^gr6#(~gi&Hx|eCX}#e@^ga( z=F_MU3>zb%VNvu>BTL996_p8ER^v&7$%%B2msW7nmtWsE`Ipk&q>KXhR4`4=98Mn7 zxwJo-^@Ql978>Z#J+fmXB&yEiE-py&on&LSTUAAPG)(&LWprF^qiMhO_ zLQz`jFOoX(qO9bcwX`$VV-pI>)6?Rr#RAAH0GvQy3Q$R>8oa&BSizBf7R>6VWgb6 zOQ_^i3kC$r=(NFs8cFO~<@No}gn?nn$xo*G{p8I3|i#? z^^E^2@6%82u-h-Z(Hg=-9h5WEJ3L|-Lq6|v-t2c{9$C4V#7+jclOU#tx^`fuPwu!$ zv%OYE`ysl{(p)}t_(UkSbp(tE4}NrRzkhS-9sbg@>*LU_X1wzHE0ie$!|kW$29v6B zJ~6F*L~qw4*3hA(BU#M!Vgub!7R$;~!xLuqtoebB@1NPXct$Y&2#>(h4GA&Sb{T?- zs1;h=ufUxoQzReMb&2nfc7Mo&B%&$WBQcGKqSzV$9@!6^DzSvu$LkpX!F_9TE~0y9Ba-;-MKnj*eo zrA0MGYxJ=0$(ns+t#!lg3*RT@;S~u-G>t6#ngtn8gJhGp>dUBWcc{9lztCqs6_`6v zwx+4;Wb4Z6o)~oLDUqJ{#;59*(|3`XpXodH#Djv?5b-w))OO?|LE3a2*M7*qO_&0= zHGYT8u`84ajP)dkY=kUthfCgrkQ(RUGqcxNcuw?f!`H0YP+8~d!|oiy0&8=&nU5c% z?@%SbK=$}+pIaoq@KL>hP8*eG_pd^|m4wgBa*xZl4CtTXW`zguzKsQ7>*qOA>Lw5h)zQTU8{)@k|1%572*%3CU2l8FC6O^ zbiqwZz>a9txFiuc{Yip^=dhBLoA5fHGlm})9v}nW7c3!Fk2cyoF^Ln4vIRw~lBcq6+GZ}#K z5z2Ar?}I&Ppo;tiH?c;sx4pBs{W;+i+%U#Re#$Gl{;u&Gr;R%&DwAvM^^k5u_$&O; zu7e*rEoi`2zti07Wjh5iOu-YVP_brB1%|w^vK4+6Yg{xZN7f2cunDe;O5S`$%k2wP%h;Mj{wA9% z^_4MHc(|QAQrN=9=AAdX>(Sdwl6^Lc%aDF!v#+#6#$4@6v0WkU%!uA$uB({d(>ryX zmxy~#@4l*x;XOy#X$5*%dhUd6qxdXtqXZxdDYU#qNJ{s$v%YY2XreLJ2wg0wacsoR zJK=Vi*}1K40ma$Ryqk5o+PEB#=*dX_$U5{t3zLi6fo8H064Fu-B)%J}N-v8$bEWA#?9Ge}Ox|OEo}Trmd(O z_nMK}C8tqpN~dB>R$3n%5Tjr$+g(RxLa@g)Vl+&n$2qGrEUOdInowvW1j%>O0^f7P*%v;u zZNzVFSTB6Hz3dHFN`Hp2hk7Ns^d)=O-jK4#(oHQ7jn2geWczI6pKlJlw3=`0etX1w z2pE0||Lh!T`VO?#7B}TX+`%Ch7SOWayD{FolmLp9uk@qowWeA@pW2XY^t!GgCHx%D z>5yTGc31O(zQ#7p!+b?GsU_KzGWQqC)7zfhE)IPH;L31vCHWF&f+jzc>cUoBi$}6S z=aYxG4aXSP6cMF9wTJ^vsN`jTjVO%+M*bsNAVdSKF@;ClQRENSpvUSBuIb5WNw>T> z(Dx(H5UZei_%I;W>)SihTaRa&(i?cbsfM^P`(`1(znP@329D+oW>yFSIHRy8rO|)m zv(o<-e-P7}luAG1=P<_*J0cHj1m`NpIPa7@BYC%g{u}BH7cdRUF0wosg^YZ*hO&TS z9=qIA@pQ$0F&fbrr?RNrh|tKW(BVgS{`iiOrvtIz0Q!&Hz;og87u65jjNiP8UR3XT zx!0i0Z0>MxQ}-3gL+*aSQNxwURaZ~|!N+ac^RBTMwh!C1!;jnZy4Hlk?8(W_nfd-0 zBIaI#r}DJFs6F}gx?2K^wK|W;K3=n4pu~HG^^_XVUwzc$^i7qmKlSc*c-JFm?GvYV zkhMSA={eP+s@v$;*YlsyMqM9 zjT|i+K}n9;^qYt2TMuwu(zrj-R~n`5*LPdauY-$G3yr5*l-w?E38WN$kzKkZoVz3t zd^!5rj5%n;nZ!Ke46smb4SEG1Dv~UYjOWYmm1GEzf6QS=ckOiNhXYPv9)5~tz>vd{t11CvrRzSGh@-QM(3 zTbt12mJqRigCiLM5RL%IM}qfNZYU3hzB`*Ie7?e}Jd0fQ96A#M8;xe1Wqj9!J~O6G z@i9NDKy(`U@)f+bm~$*#q!lY>HD50D{I+=Z{g2FevC(69{D8V*c8=!|S<~ZVrPyA} z`E;RYl;ZmLKT_j+M~)rv18R$%IiAC1x4}lQZ~i^0*>g>OC=w3_=3DuH>lxzx$1^mX zyY6f>sXOA=cHz|}n%Xuxbm!Q1v>t!4mU-?ad?V6&@v${oK>=w9b&nC2tY3;^>L3z$ z^li188GesSLZJ_}8%9bB37~dOaQ%iNJ$cL6c>CGwk#c4}vHSb8kzajFV0D$(1?A|p z-;?{7Yi{vZ0X@ON;L*a*#UUGrI`OT7OnRF}spX(N6gy(gr;Wqv&#fPH3P8cpw!|7? z8~9aJpcw6j*5N9dO>CViP$jfKs#6BabZha{>1aKulG;SksRWf)Ewn1?I2hL2H`i(; zGzXNBIlR1Iwl}OkZLZb2-&m^FPc3I52*%oUXrZ#T@~gVBTGrGN=$ViBUXp58WV>XgP!?^ID>gF z*;@Oqs+DGAt+S1~YBUi4Qdw)Zz0xLYOYKGL#=MvOg?(4`L-Ur_%f@9jxE0y6;38OP z=|P>;&adQ~{fjQCgI|qmv#3V-MqU*+Xm+Wi_2^V;6V@|uq&Te&`*$jVm}z_oZ&FR9FO@flQaMRQh#SqQRLmsIzyBU z)vkhzpPdl!7MfUiK6agm7frl|1bl$9YnSr)a{m!7d8NiOYZ~48x6=d6BSz2&z>~S^iW$?d`@f9p6d-z8C`ik zy7K%So;UN^vTflBFm>hebLDv%o_F-wGH+=PG<9wEaczDYp11bda%%DLUl!0z3sPl| zSLIRd(oBb0JWyqhWUDTHsSdw?9RFNo@?Ha1w;uiM4MR-@o=n2>!VAX-!v0@0gv$8@ z%BG67TNGC>ET%8DX~FC#JspK^W#4BZ9LKux_tnAJ$8#AX9INd^MN1E$&@5Mlq7|i@t#Q6RVQO^ zKWmrWeii7cFrxNH5sXA_OSzc)_}I7P1em@YyR*l;e-W5rt!J-Eo2(}q#YlEF@^LjP z9lDuhh-aQWbErPpdgVtSoXt2od{JA`_xp16(a8(IzWwQe;$C4sdmCLYWS7L7Llbj6 zLEu?Uyh7na$<8ACd|&OpzsHh%`I@cgs8(RDt5|!Y@bA0&eBTc8+=XVZCeyid0^DbW z#g~JO-)`W*wEPb1FGhu?PQG76noRTN*x89(UPpl!@3@4+Jw`E>6T6&D3^~rf3e42v zG>7fP;dFbtHDbCs<>VOB>)|@qOV9Vom+uv8S^M12Bj+I-#J?Q%FG<`@OWa+-$%4Wy zo;0tYG-I`c`nQog_*E}!lheZ>-uvITgbEW>FZE$)Df4L*x}= v@?wkh7yuLcfPe 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 B6lDMa literal 0 HcmV?d00001 diff --git a/src/angular-22-webpack/src/app/app.config.ts b/src/angular-22-webpack/src/app/app.config.ts new file mode 100644 index 0000000..45c753e --- /dev/null +++ b/src/angular-22-webpack/src/app/app.config.ts @@ -0,0 +1,5 @@ +import { ApplicationConfig, provideBrowserGlobalErrorListeners } from '@angular/core'; + +export const appConfig: ApplicationConfig = { + providers: [provideBrowserGlobalErrorListeners()], +}; diff --git a/src/angular-22-webpack/src/app/app.ts b/src/angular-22-webpack/src/app/app.ts new file mode 100644 index 0000000..360b6b0 --- /dev/null +++ b/src/angular-22-webpack/src/app/app.ts @@ -0,0 +1,41 @@ +import { afterNextRender, Component, DestroyRef, ElementRef, inject, signal, viewChild } from '@angular/core'; +import * as alphaTab from '@coderline/alphatab'; + +@Component({ + selector: 'app-root', + template: ` + +
+ `, +}) +export class App { + private readonly element = viewChild.required>('alphaTab'); + private api?: alphaTab.AlphaTabApi; + protected readonly playerReady = signal(false); + protected readonly playing = signal(false); + + constructor() { + // afterNextRender never runs during server-side rendering: alphaTab needs the DOM, workers and Web Audio. + afterNextRender(() => { + const api = new alphaTab.AlphaTabApi(this.element().nativeElement, { + core: { + file: '/iron-waltz.gp', + fontDirectory: '/font/', + }, + player: { + playerMode: alphaTab.PlayerMode.EnabledAutomatic, + enableCursor: true, + soundFont: '/soundfont/sonivox.sf3', + }, + }); + api.playerReady.on(() => this.playerReady.set(true)); + api.playerStateChanged.on((e) => this.playing.set(e.state === alphaTab.synth.PlayerState.Playing)); + this.api = api; + }); + inject(DestroyRef).onDestroy(() => this.api?.destroy()); + } + + protected playPause() { + this.api?.playPause(); + } +} diff --git a/src/webpack-angular-17/src/index.html b/src/angular-22-webpack/src/index.html similarity index 85% rename from src/webpack-angular-17/src/index.html rename to src/angular-22-webpack/src/index.html index 96ddb98..f91ceb0 100644 --- a/src/webpack-angular-17/src/index.html +++ b/src/angular-22-webpack/src/index.html @@ -2,7 +2,7 @@ - AlphatabApp + alphaTab Angular 22 (webpack) diff --git a/src/angular-22-webpack/src/main.ts b/src/angular-22-webpack/src/main.ts new file mode 100644 index 0000000..5df75f9 --- /dev/null +++ b/src/angular-22-webpack/src/main.ts @@ -0,0 +1,6 @@ +import { bootstrapApplication } from '@angular/platform-browser'; +import { appConfig } from './app/app.config'; +import { App } from './app/app'; + +bootstrapApplication(App, appConfig) + .catch((err) => console.error(err)); diff --git a/src/angular-22-webpack/tsconfig.app.json b/src/angular-22-webpack/tsconfig.app.json new file mode 100644 index 0000000..cb151e1 --- /dev/null +++ b/src/angular-22-webpack/tsconfig.app.json @@ -0,0 +1,14 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "extends": "./tsconfig.json", + "compilerOptions": { + "types": [] + }, + "include": [ + "src/**/*.ts" + ], + "exclude": [ + "src/**/*.spec.ts" + ] +} diff --git a/src/angular-22-webpack/tsconfig.json b/src/angular-22-webpack/tsconfig.json new file mode 100644 index 0000000..30d64ce --- /dev/null +++ b/src/angular-22-webpack/tsconfig.json @@ -0,0 +1,28 @@ +/* To learn more about Typescript configuration file: https://www.typescriptlang.org/docs/handbook/tsconfig-json.html. */ +/* To learn more about Angular compiler options: https://angular.dev/reference/configs/angular-compiler-options. */ +{ + "compileOnSave": false, + "compilerOptions": { + "noImplicitOverride": true, + "noPropertyAccessFromIndexSignature": true, + "noImplicitReturns": true, + "noFallthroughCasesInSwitch": true, + "skipLibCheck": true, + "isolatedModules": true, + "experimentalDecorators": true, + "importHelpers": true, + "target": "ES2022", + "module": "preserve" + }, + "angularCompilerOptions": { + "enableI18nLegacyMessageIdFormat": false, + "strictInjectionParameters": true, + "strictInputAccessModifiers": true + }, + "files": [], + "references": [ + { + "path": "./tsconfig.app.json" + } + ] +} diff --git a/src/angular-22-webpack/webpack.config.js b/src/angular-22-webpack/webpack.config.js new file mode 100644 index 0000000..942ac48 --- /dev/null +++ b/src/angular-22-webpack/webpack.config.js @@ -0,0 +1,13 @@ +const { AlphaTabWebPackPlugin } = require('@coderline/alphatab-webpack'); + +/** @type {import('webpack').Configuration} */ +module.exports = { + plugins: [new AlphaTabWebPackPlugin()], + optimization: { + splitChunks: { + cacheGroups: { + alphaTabCore: false, + }, + }, + }, +}; diff --git a/src/browser-advanced-esm/control.mjs b/src/browser-advanced-esm/control.mjs index 67d6ac2..72ef61f 100644 --- a/src/browser-advanced-esm/control.mjs +++ b/src/browser-advanced-esm/control.mjs @@ -65,11 +65,13 @@ function setupControl(selector) { const viewPort = control.querySelector(".at-viewport"); const at = new alphaTab.AlphaTabApi(el, { - file: "https://www.alphatab.net/files/canon.gp", + core: { + file: "iron-waltz.gp", + }, player: { - enablePlayer: true, + playerMode: alphaTab.PlayerMode.EnabledAutomatic, soundFont: - "https://cdn.jsdelivr.net/npm/@coderline/alphatab@alpha/dist/soundfont/sonivox.sf2", + "https://cdn.jsdelivr.net/npm/@coderline/alphatab@alpha/dist/soundfont/sonivox.sf3", scrollElement: viewPort, scrollOffsetX: -10, }, diff --git a/src/browser-advanced-esm/iron-waltz.gp b/src/browser-advanced-esm/iron-waltz.gp new file mode 100644 index 0000000000000000000000000000000000000000..15c11388b581afcd7c57e38a14645d8686e547c7 GIT binary patch literal 72703 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 v@?wkh7yuLcfPe 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 B6lDMa literal 0 HcmV?d00001 diff --git a/src/browser-advanced-esm/readme.md b/src/browser-advanced-esm/readme.md index faa50fe..0f18fee 100644 --- a/src/browser-advanced-esm/readme.md +++ b/src/browser-advanced-esm/readme.md @@ -1,3 +1,17 @@ -# AlphaTab Browser Advanced (ESM) +# alphaTab in the browser, advanced player UI (ESM from a CDN) -This sample shows an advanced example of using various features of alphaTab using the ESM module of alphaTab. +A complete player UI on top of alphaTab, without any build step: track list with mute, solo and volume, play/pause, +stop, speed, count-in, metronome, looping, zoom, layout switch, print, Guitar Pro 7 export, a time slider and +drag & drop of score files. alphaTab is imported as an ES module from jsDelivr in [control.mjs](./control.mjs); +Bootstrap 4, Font Awesome and Handlebars come from CDNs as well. + +## Run + +Serve this folder with any static web server (ES modules and the score file do not load from `file://`), e.g. +`npx serve .`, and open the page. + +## Notes + +- The sample uses the `@alpha` tag to show unreleased features. In your projects, pin an exact version + (e.g. `@coderline/alphatab@1.9.0`). +- See [browser-simple-esm](../browser-simple-esm/) for how the worker and worklet load from the CDN. diff --git a/src/browser-advanced-umd/control.js b/src/browser-advanced-umd/control.js index df74e67..b160782 100644 --- a/src/browser-advanced-umd/control.js +++ b/src/browser-advanced-umd/control.js @@ -63,11 +63,13 @@ function setupControl(selector) { const viewPort = control.querySelector(".at-viewport"); const at = new alphaTab.AlphaTabApi(el, { - file: "https://www.alphatab.net/files/canon.gp", + core: { + file: "iron-waltz.gp", + }, player: { - enablePlayer: true, + playerMode: alphaTab.PlayerMode.EnabledAutomatic, soundFont: - "https://cdn.jsdelivr.net/npm/@coderline/alphatab@alpha/dist/soundfont/sonivox.sf2", + "https://cdn.jsdelivr.net/npm/@coderline/alphatab@alpha/dist/soundfont/sonivox.sf3", scrollElement: viewPort, scrollOffsetX: -10, }, diff --git a/src/browser-advanced-umd/iron-waltz.gp b/src/browser-advanced-umd/iron-waltz.gp new file mode 100644 index 0000000000000000000000000000000000000000..15c11388b581afcd7c57e38a14645d8686e547c7 GIT binary patch literal 72703 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 v@?wkh7yuLcfPe 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 B6lDMa literal 0 HcmV?d00001 diff --git a/src/browser-advanced-umd/readme.md b/src/browser-advanced-umd/readme.md index 7eb512b..219a713 100644 --- a/src/browser-advanced-umd/readme.md +++ b/src/browser-advanced-umd/readme.md @@ -1,3 +1,16 @@ -# AlphaTab Browser Advanced (UMD) +# alphaTab in the browser, advanced player UI (UMD script from a CDN) -This sample shows an advanced example of using various features of alphaTab using the UMD version where alphaTab registers itself as global `alphaTab` variable. \ No newline at end of file +A complete player UI on top of alphaTab, without any build step: track list with mute, solo and volume, play/pause, +stop, speed, count-in, metronome, looping, zoom, layout switch, print, Guitar Pro 7 export, a time slider and +drag & drop of score files. alphaTab is loaded with a classic ` - + import * as alphaTab from 'https://cdn.jsdelivr.net/npm/@coderline/alphatab@alpha/dist/alphaTab.min.mjs'; - \ No newline at end of file + const playPause = document.querySelector('#play-pause'); + const api = new alphaTab.AlphaTabApi(document.querySelector('#alphaTab'), { + core: { + file: 'iron-waltz.gp' + }, + player: { + playerMode: alphaTab.PlayerMode.EnabledAutomatic, + soundFont: 'https://cdn.jsdelivr.net/npm/@coderline/alphatab@alpha/dist/soundfont/sonivox.sf3' + } + }); + + api.playerReady.on(() => { + playPause.disabled = false; + }); + api.playerStateChanged.on(e => { + playPause.textContent = e.state === alphaTab.synth.PlayerState.Playing ? 'Pause' : 'Play'; + }); + playPause.addEventListener('click', () => api.playPause()); + + + diff --git a/src/browser-simple-esm/iron-waltz.gp b/src/browser-simple-esm/iron-waltz.gp new file mode 100644 index 0000000000000000000000000000000000000000..15c11388b581afcd7c57e38a14645d8686e547c7 GIT binary patch literal 72703 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 v@?wkh7yuLcfPe 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 B6lDMa literal 0 HcmV?d00001 diff --git a/src/browser-simple-esm/readme.md b/src/browser-simple-esm/readme.md index b2f3471..0e3966e 100644 --- a/src/browser-simple-esm/readme.md +++ b/src/browser-simple-esm/readme.md @@ -1,3 +1,21 @@ -# AlphaTab Browser ESM +# alphaTab in the browser (ESM from a CDN) -This sample shows how to use alphaTab from the Browser using a ESM style `import`. \ No newline at end of file +Loads alphaTab as an ES module from jsDelivr without any build step, renders a Guitar Pro file and plays it back. + +```js +import * as alphaTab from 'https://cdn.jsdelivr.net/npm/@coderline/alphatab@alpha/dist/alphaTab.min.mjs'; +``` + +## Run + +Serve this folder with any static web server (ES modules and the score file do not load from `file://`), e.g. +`npx serve .`, and open the page. + +## Notes + +- The sample uses the `@alpha` tag to show unreleased features. In your projects, pin an exact version + (e.g. `@coderline/alphatab@1.9.0`) so a new release cannot change your page. +- alphaTab finds its font (`dist/font/`) next to the module on the CDN. The SoundFont URL is set explicitly. +- The browser does not allow a web worker from another origin, so alphaTab starts its worker through a small + same-origin `blob:` module that imports the worker script from the CDN. The audio worklet loads from the CDN + directly. Both need the CDN to send CORS headers, which jsDelivr does. diff --git a/src/browser-simple-umd/index.html b/src/browser-simple-umd/index.html index adc2ed3..97af322 100644 --- a/src/browser-simple-umd/index.html +++ b/src/browser-simple-umd/index.html @@ -1,24 +1,34 @@ - + - + - AlphaTab Simple Demo - - - - - - - + + alphaTab UMD from a CDN + + + +
- - - - \ No newline at end of file + + + diff --git a/src/browser-simple-umd/iron-waltz.gp b/src/browser-simple-umd/iron-waltz.gp new file mode 100644 index 0000000000000000000000000000000000000000..15c11388b581afcd7c57e38a14645d8686e547c7 GIT binary patch literal 72703 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 v@?wkh7yuLcfPe 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 B6lDMa literal 0 HcmV?d00001 diff --git a/src/browser-simple-umd/readme.md b/src/browser-simple-umd/readme.md index c293763..9b2aff1 100644 --- a/src/browser-simple-umd/readme.md +++ b/src/browser-simple-umd/readme.md @@ -1,3 +1,21 @@ -# AlphaTab Browser UMD +# alphaTab in the browser (UMD script from a CDN) -This sample shows how to use alphaTab from the Browser using a simple script include. \ No newline at end of file +Loads alphaTab with a classic ` +``` + +## Run + +Serve this folder with any static web server (the score file does not load from `file://`), e.g. `npx serve .`, +and open the page. + +## Notes + +- The sample uses the `@alpha` tag to show unreleased features. In your projects, pin an exact version + (e.g. `@coderline/alphatab@1.9.0`) so a new release cannot change your page. +- alphaTab finds its font (`dist/font/`) next to the script on the CDN. The SoundFont URL is set explicitly. +- The same `alphaTab.min.js` file runs in the page, in the web worker (started through a same-origin `blob:` script + calling `importScripts`) and in the audio worklet. diff --git a/src/bundler-esbuild/README.md b/src/bundler-esbuild/README.md new file mode 100644 index 0000000..6f263c8 --- /dev/null +++ b/src/bundler-esbuild/README.md @@ -0,0 +1,103 @@ +# alphaTab with esbuild + +A plain esbuild browser app (TypeScript, no framework) that renders a Guitar Pro file and plays it back. +esbuild has no alphaTab plugin. This sample shows the recipe for any bundler without plugin support: the app owns +the entry files of alphaTab's web worker and audio worklet, and tells alphaTab how to start them. + +Versions: esbuild 0.28, TypeScript 7, alphaTab 1.9. + +## Run + +```sh +npm install +npm run dev # esbuild watch + serve on http://localhost:4170 +npm run build # type check and production build into dist/ +npm run preview # serves dist/ on http://localhost:4170 +``` + +## The recipe + +alphaTab runs code in three places: the page, a web worker (rendering, synthesizer) and an audio worklet (audio +output). With a plugin (webpack, Rspack, Vite) the bundler discovers the worker and worklet inside alphaTab. Without +one, you provide them yourself: + +1. **Worker entry** ([src/alphaTab.worker.ts](./src/alphaTab.worker.ts)): + + ```ts + import '@coderline/alphatab/worker'; + ``` + +2. **Worklet entry** ([src/alphaTab.worklet.ts](./src/alphaTab.worklet.ts)): + + ```ts + import '@coderline/alphatab/worklet'; + ``` + +3. **Page** ([src/main.ts](./src/main.ts)): import `@coderline/alphatab/core` (not `@coderline/alphatab`) and call + `Environment.initializeMain` with factories for the emitted worker and worklet files, before creating the API: + + ```ts + import * as alphaTab from '@coderline/alphatab/core'; + + alphaTab.Environment.initializeMain( + (_settings, nameHint) => + new Worker(new URL('./alphaTab.worker.js', import.meta.url), { type: 'module', name: nameHint }), + (context) => context.audioWorklet.addModule(new URL('./alphaTab.worklet.js', import.meta.url)), + ); + ``` + + `@coderline/alphatab/core` exports the same API as `@coderline/alphatab` but does not initialize anything on its + own. The default `@coderline/alphatab` entry registers worker and worklet URLs inside the alphaTab package, which + only a plugin resolves; import `@coderline/alphatab/core` everywhere in the app instead. + +4. **Bundle all three entries in one build** with code splitting and ESM output ([build.mjs](./build.mjs)): + + ```js + await esbuild.build({ + entryPoints: ['src/main.ts', 'src/alphaTab.worker.ts', 'src/alphaTab.worklet.ts'], + bundle: true, + splitting: true, + format: 'esm', + outdir: 'dist', + entryNames: '[name]', + chunkNames: '[name]-[hash]', + }); + ``` + + `splitting` + `format: 'esm'` puts alphaTab's core into one chunk that the page, the worker and the worklet import, + so the browser loads and compiles it once. Without splitting, each of the three outputs contains its own copy + (about 1.2 MiB minified each). The worker is therefore a module worker (`type: 'module'`), and the worklet + imports the chunk as an ES module, which audio worklets support. + + `entryNames: '[name]'` keeps the worker and worklet file names stable, because `main.ts` references them by + name. esbuild does not rewrite `new URL('./file', import.meta.url)`; the URL resolves at runtime relative to + `main.js`, so the worker and worklet must be emitted next to it. Chunks keep their content hash. + The same command line: `esbuild src/main.ts src/alphaTab.worker.ts src/alphaTab.worklet.ts --bundle --splitting + --format=esm --outdir=dist --entry-names=[name] --chunk-names=[name]-[hash]`. + +5. **Copy the static assets**: `node_modules/@coderline/alphatab/dist/font/` to `dist/font/` and + `node_modules/@coderline/alphatab/dist/soundfont/` to `dist/soundfont/` (`build.mjs` does this together with + `public/`), and point alphaTab to them: + + ```ts + const api = new alphaTab.AlphaTabApi(element, { + core: { + file: new URL('./iron-waltz.gp', import.meta.url).href, + fontDirectory: new URL('./font/', import.meta.url).href, + }, + player: { + playerMode: alphaTab.PlayerMode.EnabledAutomatic, + soundFont: new URL('./soundfont/sonivox.sf3', import.meta.url).href, + }, + }); + ``` + + Without `fontDirectory`, alphaTab looks for the font in a `font/` folder next to the chunk that contains its core. + +## Notes + +- `dev` uses esbuild's watch mode and built-in server; there is no hot reload. +- The worker and worklet entries have no content hash in their file names. Serve them with revalidation + (e.g. `Cache-Control: no-cache`) or add your own versioning (e.g. a query string from the build). +- The same recipe applies to other bundlers without an alphaTab plugin, as long as they emit the three entries in + one build with a shared ESM chunk. diff --git a/src/bundler-esbuild/build.mjs b/src/bundler-esbuild/build.mjs new file mode 100644 index 0000000..d47483c --- /dev/null +++ b/src/bundler-esbuild/build.mjs @@ -0,0 +1,37 @@ +import fs from 'node:fs'; +import path from 'node:path'; +import * as esbuild from 'esbuild'; + +const outdir = path.resolve(import.meta.dirname, 'dist'); +const alphaTabDist = path.resolve(import.meta.dirname, 'node_modules/@coderline/alphatab/dist'); +const serve = process.argv.includes('--serve'); + +fs.rmSync(outdir, { recursive: true, force: true }); +fs.cpSync(path.resolve(import.meta.dirname, 'public'), outdir, { recursive: true }); +fs.cpSync(path.join(alphaTabDist, 'font'), path.join(outdir, 'font'), { recursive: true }); +fs.cpSync(path.join(alphaTabDist, 'soundfont'), path.join(outdir, 'soundfont'), { recursive: true }); + +/** @type {esbuild.BuildOptions} */ +const options = { + entryPoints: ['src/main.ts', 'src/alphaTab.worker.ts', 'src/alphaTab.worklet.ts'], + bundle: true, + // One shared chunk with alphaTab's core, imported by the page, the worker and the worklet. + splitting: true, + format: 'esm', + outdir, + // main.ts references the worker and worklet by these names. + entryNames: '[name]', + chunkNames: '[name]-[hash]', + minify: !serve, + sourcemap: serve, + target: 'es2022', + logLevel: 'info', +}; + +if (serve) { + const ctx = await esbuild.context(options); + await ctx.watch(); + await ctx.serve({ servedir: outdir, port: 4170 }); +} else { + await esbuild.build(options); +} diff --git a/src/bundler-esbuild/package.json b/src/bundler-esbuild/package.json new file mode 100644 index 0000000..c39fc99 --- /dev/null +++ b/src/bundler-esbuild/package.json @@ -0,0 +1,19 @@ +{ + "name": "alphatab-bundler-esbuild", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "node build.mjs --serve", + "build": "tsc && node build.mjs", + "preview": "serve dist --listen 4170" + }, + "dependencies": { + "@coderline/alphatab": "^1.9.0-alpha.1965" + }, + "devDependencies": { + "esbuild": "^0.28.2", + "serve": "^14.2.6", + "typescript": "~7.0.2" + } +} diff --git a/src/bundler-esbuild/public/index.html b/src/bundler-esbuild/public/index.html new file mode 100644 index 0000000..5838ec7 --- /dev/null +++ b/src/bundler-esbuild/public/index.html @@ -0,0 +1,13 @@ + + + + + + alphaTab with esbuild + + + +
+ + + diff --git a/src/bundler-esbuild/public/iron-waltz.gp b/src/bundler-esbuild/public/iron-waltz.gp new file mode 100644 index 0000000000000000000000000000000000000000..15c11388b581afcd7c57e38a14645d8686e547c7 GIT binary patch literal 72703 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 v@?wkh7yuLcfPe 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 B6lDMa literal 0 HcmV?d00001 diff --git a/src/bundler-esbuild/src/alphaTab.worker.ts b/src/bundler-esbuild/src/alphaTab.worker.ts new file mode 100644 index 0000000..80a052e --- /dev/null +++ b/src/bundler-esbuild/src/alphaTab.worker.ts @@ -0,0 +1,2 @@ +// Entry of alphaTab's render and synthesizer web worker. +import '@coderline/alphatab/worker'; diff --git a/src/bundler-esbuild/src/alphaTab.worklet.ts b/src/bundler-esbuild/src/alphaTab.worklet.ts new file mode 100644 index 0000000..2318372 --- /dev/null +++ b/src/bundler-esbuild/src/alphaTab.worklet.ts @@ -0,0 +1,2 @@ +// Entry of alphaTab's audio worklet. +import '@coderline/alphatab/worklet'; diff --git a/src/bundler-esbuild/src/main.ts b/src/bundler-esbuild/src/main.ts new file mode 100644 index 0000000..5ae56de --- /dev/null +++ b/src/bundler-esbuild/src/main.ts @@ -0,0 +1,31 @@ +// `@coderline/alphatab/core` does not start workers on its own: the app tells alphaTab how to create them. +import * as alphaTab from '@coderline/alphatab/core'; + +alphaTab.Environment.initializeMain( + (_settings, nameHint) => + new Worker(new URL('./alphaTab.worker.js', import.meta.url), { type: 'module', name: nameHint }), + (context) => context.audioWorklet.addModule(new URL('./alphaTab.worklet.js', import.meta.url)), +); + +const element = document.querySelector('#alphaTab')!; +const playPause = document.querySelector('#play-pause')!; + +const api = new alphaTab.AlphaTabApi(element, { + core: { + file: new URL('./iron-waltz.gp', import.meta.url).href, + // Copied to /font/ and /soundfont/ by build.mjs. + fontDirectory: new URL('./font/', import.meta.url).href, + }, + player: { + playerMode: alphaTab.PlayerMode.EnabledAutomatic, + soundFont: new URL('./soundfont/sonivox.sf3', import.meta.url).href, + }, +}); + +api.playerReady.on(() => { + playPause.disabled = false; +}); +api.playerStateChanged.on((e) => { + playPause.textContent = e.state === alphaTab.synth.PlayerState.Playing ? 'Pause' : 'Play'; +}); +playPause.addEventListener('click', () => api.playPause()); diff --git a/src/bundler-esbuild/tsconfig.json b/src/bundler-esbuild/tsconfig.json new file mode 100644 index 0000000..c168b65 --- /dev/null +++ b/src/bundler-esbuild/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "target": "es2022", + "module": "esnext", + "lib": ["ES2022", "DOM"], + "skipLibCheck": true, + "moduleResolution": "bundler", + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true + }, + "include": ["src"] +} diff --git a/src/bundler-parcel-2/.gitignore b/src/bundler-parcel-2/.gitignore new file mode 100644 index 0000000..0e1fa41 --- /dev/null +++ b/src/bundler-parcel-2/.gitignore @@ -0,0 +1,3 @@ +node_modules +dist +.parcel-cache diff --git a/src/bundler-parcel-2/README.md b/src/bundler-parcel-2/README.md new file mode 100644 index 0000000..3c9cef8 --- /dev/null +++ b/src/bundler-parcel-2/README.md @@ -0,0 +1,71 @@ +# alphaTab with Parcel 2 + +A plain Parcel 2 browser app (TypeScript, no framework) that renders a Guitar Pro file and plays it back. +Parcel has no alphaTab plugin. The sample uses the same recipe as the [esbuild sample](../bundler-esbuild/): the app +owns the entry files of alphaTab's web worker and audio worklet and tells alphaTab how to start them. + +Versions: Parcel 2.16, TypeScript 7, alphaTab 1.9. + +## Run + +```sh +npm install +npm run dev # dev server on http://localhost:4180 +npm run build # type check and production build into dist/ +npm run preview # serves dist/ on http://localhost:4180 +``` + +## alphaTab setup + +1. Enable package `exports` in Parcel's resolver ([package.json](./package.json)); without it, Parcel cannot + resolve `@coderline/alphatab/core`, `/worker` and `/worklet`: + + ```json + "@parcel/resolver-default": { + "packageExports": true + } + ``` + +2. Worker and worklet entries ([src/alphaTab.worker.ts](./src/alphaTab.worker.ts), + [src/alphaTab.worklet.ts](./src/alphaTab.worklet.ts)): + + ```ts + import '@coderline/alphatab/worker'; + ``` + ```ts + import '@coderline/alphatab/worklet'; + ``` + +3. The page ([src/main.ts](./src/main.ts)) imports `@coderline/alphatab/core` and registers the factories. Parcel + bundles the worker from `new Worker(new URL(...))` and the worklet from a `worklet:` import: + + ```ts + import * as alphaTab from '@coderline/alphatab/core'; + import workletUrl from 'worklet:./alphaTab.worklet.ts'; + + alphaTab.Environment.initializeMain( + (_settings, nameHint) => + new Worker(new URL('./alphaTab.worker.ts', import.meta.url), { type: 'module', name: nameHint }), + (context) => context.audioWorklet.addModule(workletUrl), + ); + ``` + + [src/worklet.d.ts](./src/worklet.d.ts) declares the `worklet:` imports for TypeScript. + +4. Parcel has no step for copying static files. [copy-assets.mjs](./copy-assets.mjs) copies alphaTab's `font/` and + `soundfont/` folders into `dist/` before `parcel serve` and `parcel build` (the dev server serves `dist/` too). + The app points alphaTab to them with `core.fontDirectory: '/font/'` and + `player.soundFont: '/soundfont/sonivox.sf3'`. + +## Limitations + +- **Three copies of alphaTab's core.** Page, worker and worklet each contain the core (about 1.2 MiB minified each). + Parcel emits the worker as a self-contained classic script (it drops `type: 'module'`, also with modern + browserslist targets) and a `worklet:` import as a self-contained module, so neither shares a bundle with the page. +- Loading the worklet with `addModule(new URL('./alphaTab.worklet.ts', import.meta.url))` instead of `worklet:` lets + the page and the worklet share one bundle in production builds (two copies in total), but breaks the dev server: + Parcel's development worklet bundle expects the shared bundle to be loaded already, which an audio worklet cannot + do, and playback fails with "The node name 'alphatab' is not defined in AudioWorkletGlobalScope". +- The default `@coderline/alphatab` import does not work with Parcel: Parcel replaces `import.meta.url` with a + `file://` URL of the source file at build time, so alphaTab cannot locate its scripts and starts neither worker nor + player ("Could not detect alphaTab script file"). Use the recipe above. diff --git a/src/bundler-parcel-2/copy-assets.mjs b/src/bundler-parcel-2/copy-assets.mjs new file mode 100644 index 0000000..19eb922 --- /dev/null +++ b/src/bundler-parcel-2/copy-assets.mjs @@ -0,0 +1,10 @@ +// Parcel has no step for copying static files: put alphaTab's font and SoundFonts into the output folder. +import fs from 'node:fs'; +import path from 'node:path'; + +const alphaTabDist = path.resolve(import.meta.dirname, 'node_modules/@coderline/alphatab/dist'); +const outdir = path.resolve(import.meta.dirname, 'dist'); + +for (const dir of ['font', 'soundfont']) { + fs.cpSync(path.join(alphaTabDist, dir), path.join(outdir, dir), { recursive: true }); +} diff --git a/src/bundler-parcel-2/package.json b/src/bundler-parcel-2/package.json new file mode 100644 index 0000000..2e4856b --- /dev/null +++ b/src/bundler-parcel-2/package.json @@ -0,0 +1,23 @@ +{ + "name": "alphatab-bundler-parcel-2", + "private": true, + "version": "0.0.0", + "type": "module", + "source": "src/index.html", + "scripts": { + "dev": "node copy-assets.mjs && parcel serve --port 4180", + "build": "tsc && node copy-assets.mjs && parcel build", + "preview": "serve dist --listen 4180" + }, + "@parcel/resolver-default": { + "packageExports": true + }, + "dependencies": { + "@coderline/alphatab": "^1.9.0-alpha.1965" + }, + "devDependencies": { + "parcel": "^2.16.4", + "serve": "^14.2.6", + "typescript": "~7.0.2" + } +} diff --git a/src/bundler-parcel-2/src/alphaTab.worker.ts b/src/bundler-parcel-2/src/alphaTab.worker.ts new file mode 100644 index 0000000..80a052e --- /dev/null +++ b/src/bundler-parcel-2/src/alphaTab.worker.ts @@ -0,0 +1,2 @@ +// Entry of alphaTab's render and synthesizer web worker. +import '@coderline/alphatab/worker'; diff --git a/src/bundler-parcel-2/src/alphaTab.worklet.ts b/src/bundler-parcel-2/src/alphaTab.worklet.ts new file mode 100644 index 0000000..2318372 --- /dev/null +++ b/src/bundler-parcel-2/src/alphaTab.worklet.ts @@ -0,0 +1,2 @@ +// Entry of alphaTab's audio worklet. +import '@coderline/alphatab/worklet'; diff --git a/src/bundler-parcel-2/src/index.html b/src/bundler-parcel-2/src/index.html new file mode 100644 index 0000000..f8be601 --- /dev/null +++ b/src/bundler-parcel-2/src/index.html @@ -0,0 +1,13 @@ + + + + + + alphaTab with Parcel 2 + + + +
+ + + diff --git a/src/bundler-parcel-2/src/iron-waltz.gp b/src/bundler-parcel-2/src/iron-waltz.gp new file mode 100644 index 0000000000000000000000000000000000000000..15c11388b581afcd7c57e38a14645d8686e547c7 GIT binary patch literal 72703 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 v@?wkh7yuLcfPe z-VSKq4vdoocu0Bwp;jAs#40!}(Eo!_#*QHML{Nf}9l6d<^&_U_k(uWO59K#XG2rn_ zoD6;@X^aHbUzEsb0(3uM5!=anQ>%P0Oo+;MUnom8=PonH)N1(d+wffoZ)c3jx*xyT zt~4W-D1hgY+)WdXl@pG&1C{4ZD`9-90-4rsAluli)Yuo-TjyLCe5s!!$lF3;`bc5? zs=KvXG$`NR;{6CLv1$DtD28p_D9oGiW2#&fRbf`@(K}YQXo*J8SDuZam9Rez`j@{x z5=WtSP$rwow8z|(dztuxdvU_ap9qbUiK$T7)H;b$=E{Of7}PA3&(LU586o2n0+Xm{ ze)JSm^hz&POTFy{v*yc&&EuE1y;gLSTzzeCuUV5hGy&!%utN$6k%=e}XMHA9R}c#| zc#>h4OR7B9UcL@ODjHXTM2 z01MTi0s;~Q1>)GlzV0j4ng^++w>(4sOUWQ04n{thMzkQuPW(REC>kRl9=}Y6b}_nvw5u4ng{{WSP~ zZY|ZC3HeI_>-fp$s1%#9W33ARQTzX>n?mbwx+5y(rqoy~W+N;3FNG$_!Zie}>q@lh z!2VPF|6RAn+FnaTH_H_8%(II$g4cI0jvf8uV|~g6?QH<;GgE8bM%3V#>c1 z(0D;N>?P4k3IY8W)poJ3dr7tCLO}GEo5+7DDdd8K(F>-LG{`aH->Mb%ANRs+Bn3OZ zq1==l`%8ly%Yh9zkPCQA;s2uA6Q$N<$OVn1F!H*p6qGK1>wL9_TyQaZ0UC{i9Mk_T zxvS{U>|7VpCfh)3%;yU#$G?=rzDp&3D+t7Iw#iCa0xJXk2|`aaB_745)3(N@%9s~U z;}+PFpYkt-Yt%?K$A!efHfsF)T*w8C%OS5bP!iKx7K0sA{y7Xgk*h0C#s`>2(ICeJ z=y6=@ATxd4XBd-WXm>?%%8i7CkcAXS>>LC8DZi)}&R+dV=JfELwtNWThxP3z2J|fa z4SqPTa4Wij;zOnyyBU;U=%g2Z{{+ENyUZ8@Wr1<-vF>ubi~ zxJb@;@HxJ1#1!jUPYT2Abd}QWt-QA5i3(AuNO;>U#x?gm*1al!D0-nqR2GN>6z^NY z;J8=Hc%~)N4&teRu~P?_pU%Q)iT5w5aopo5|AtR~82`;|flS1a_!dSP4rVb3Y$uV0 zR0%^r0I=&V4%u!ignIC7Yj7V#mE{bf=4ESA_ZH3A(b1?Oi&Au290tttksV~ zOJ?2xb1{;H$Z0&qkjjcFamF$Gc;GqEfEnR5|MvihCSVpZ`*~zI(6E%H;TNGv9H|Hq zGr|F7ACMP6%Y>pp5b-F`m?V@33C)P;GQyF|K7`n1m@SBPi1X>jVd0D;_3^-R#3^LR zi4YaCfM32I+EDs$Bt>_S7RC%JD08OT;|gNWb?MrhP6urZh<$Sh1Y2KA9# z^7+&H#hhd3-cj?6EVP{+V=Q=k?psHXN^bl`X>)?odMT{3Fy0PF0W1mmKB4ljeekHj zE~l#8r~o19zF8N?2dYe%3_6%HWaLF~Gjjp#S2ksZE?B0YAOgDMXb#CX)aRdsvoppN(Ho5N1C&}dh=yZ+&ezmes`Rhn#CPk zhax3~h^cQ$9dPK##B1{{tj^E;a36VW9tToPugO#aqa}%uQA}S@*Q*?! z7nE>THtnb!TIoQfY`nOz#LGIZt{tSc+RP)Z(f_*NY1e43oQx+;zV+MNA~=szix)0W zXDY}Bk6Uv}I|w7Y0*0JV1F*t`XNEOv$sss{iOvlkoccYX63hTP0XA`yzlSHI;5N0I|r6yn@H*E2vubd6?w*G*3+HEea|6lr9M1)sg3}JFm3(8V; z0Ze_kT7bhpC!wqu&trCat?t%*hkdskZ_*+J?R+wl|0dw%rmuz7zBVO0JZ`xlVf-q1 zeShDbS>prg`wPb4J3{{e(FAhYnN3quac)r`I)B;UEWgjrj;y~NNqspw`E8Q%+XU&i zNy($1-Gd+F55LTBSE=h)sdHC4JUf4yG#*i{M-hT-C8cB#-tTL-v;R@YhwYwEr&>dP zAE}r;0P7RjBavr%wpiNJ*knuRiN#VLVvVhzL8r<080vRne2(@_ai{zG~4{>aS=3ng!@f|HOwWS5vF%}Ys)yOFYO~ICl zn+~&1E8zwFw^3K>wM<7^r#RZ?GIth^)Ly*7rr9T-(7dwh z`&I8+nhQ%{YrL8Ig0DA-kk(%nX5+-lUb^I*zGe7)gmb$?{C*gh0t-EZ&@1vV?v?GA zu;mfj*i3Y06dok^FBp-vgMbCFQ!^8xmh$AwzqzS}tF7sD`?cFp$~txIn@21JCS3t(DgM z%Fe54_5jPr)i_U&t*H^AcJC&1r?)jqFRz}?+4lsym7Zpzn67*oFjSbuVJ>d;3@zOktWN$Yqt zx0WW!I9^JgD!vXMlY1XNN7+~hY&0`% zb7{38EVMyETk5PdfsJSOTmci4iSl`(jjQ68RrA2GWTH(W73!1ThIKx0%2sFvl!1cm z3^!(7SA5x+GGU+$Oj>cdrt>G?Yi+ z?5tE!wh2?85*<^YLnY~}L*X@sT+vDb;dL~j%W~{IiLyB1@=si1uPC>UU%`(@iIXd!-mP}fvOL23G`|9t zMT@P;(-xs6L#6@I&uDA>+^rbVF66koz1rZHg=H~3GoS{*hbebzmRAHyzwA*34%t@Pqt;Jm?c+Gs4H$4rqD9= z{m=m5Lz}2na%=U2h>{5mU@CbMlQ@k|AW|zpo-T!7iNk2l z)F)r99h41Z>QgL*W!c5qE$a0%u>CSP%`^M)#cH@FZ{1WUDl_mlii zl^#+cqO_K3$m?2Ce<_0Hta7wX&^aN6AKkwV0JmwQ4fvdp(ob$I59=RF;pe0&^2Tx& zu4>^#(6tIq(yoW&H2N*N?cNg?wApIPH(ob^C1hbI< z{Fg$LWZ|*{)|Dh4H2-a_(t9o0k=K=^9+DtEH2+YEhl!Gp2xBIIM!kP`L3?g#{ba{X zup0Hi=XjJ*YVW)y&NXI|jav^`caV56_&<_&NL`q&KYhK+g6XD%sYmW}fK~Ui41~L% z`F^AN6Y1mqR@BagZy;V&T+9V;0CFpGuVL>I;ML)-vF~X;3cV!x?fKy~ zLgzv^;3$_ce-u4Pz2kiwP!WJB87CobFaEXwy^rFQ;%y;%KgTIYY(ab}<2j5Z7`e0X>6G_AF`zl^b@^I5oMZB+n^<>dvb9dG zctL{Z9Bfi>rk4LZOWjp&&@jIIldJbvEN`Rs{h5q?6L+33^SgG-^jiwG`8Y}!hwYnv zv?m0eU|N~C7;Uz939)$YP@o%mA8^WdLp`vQtL~l&b+W%q&h-%?)GX=D+TAP?od+Ut z6tiUqBD*i1g-P|F&4U}vgQuer1|A7eQmMiy35c2TC&S;KLt?@XBq~xEn$Njm{P|d4 zz*p>eOjan&X~fKFn>Fv*{6B@MS6b@*YO-cI;ZOT9S$00k_-c?$@iPpe8m#C^H{kv% zN~JeCX)e~Iz&@9oI5s!|kZ(pMeq!2Eh?`eX89DETB(5Umv`Ce*p?-Jbw&>}9?>zdR z9g`O+b;LQeVcg8I(ZUfsGAm4RvaNs3o}+bxvlT@KBvmTv5c}#u6ibR|5ph0rI)roP zP!8WA4Remm#18-6qDTMD79pYU&v=*9-t+mGSVfz)6L%Tun@F<2m-TF!>%;rA>;&v1 z=cH{^liok7v(wo-2WJU5{a5rj`H0*8zn(A7V$|wFH^~ETZ%nvu7z4Xby0~=DhL)Q# z{&>Cg{}Bneh8r=1YwY*hHJf#*Ltk8i9Uw79No5mz3qIzzD{>005T=gLS3(E1eKu0B z_~HMasKcGsvM+4NeORObBC*JH>Gp{q6+}$ijMoFNjn>dBv1Lcj^lw{v1Y( zsg4*nq0YA(j@JGm`xp(Cf?CRor)!>=duQaln4fMg7Bw}BMfR%vWb#KzzW`%bmh$fM zcT>0TK!A&4g|Z>VBGh`jjOYE4OFy?EuOqa;deJsa$k>I>h2e)9}!^3 zWJO9HKIf7{8>!e@1Ztb30>i01xcn{IdHV4F1m64LM*4F0IUV~E96O|GbH`zgE3 znA>)hi|$z(`CArD6Pq?)<0rUH9vFTQ+h8{AOq%-oj1(F7j@R3EQsQ<}fR$dwxfS42 z&#pZH&Pg2ZvKHRSR6-DwDPlH^`n_pc!yclpkyjwe{?kq3k2*|(ig@ru0}*}Ui+9%L zP=Rpbd@j`%xfMYU4&WeFU69trwTE**?FUN!uf=?|FHfw|JWowOa-XJbZ&|1bUz0sO z>3+DdX|s`a75&c1d=`9_`~B8x-&*DHCgF$V7oJ1cOwNSua_4~NZKV&edQ!BMQ6F@D z&0e0AI`bWh^Uq=fd(*`2jZx3}r4Al8FT*`<^F8Rt<(K)A-ek>>n_2-?#JB6jAZzwaQ-pUaPU7Kxp;csPJAoU=d4`Qlc| zo_=$X6<~6D$0b(3o-QBY6U#n(zF4VdJFjGh)N5Hs^Pdq`C`Mc!xTeDPm8vhWvcs!w@VBs8sD*OLpdimjhI zXD;t`8_|PKgj6?0*stbzVXCZ8y3s)-=_Pl_loRKD){;9iF3oEs@&Ga? zIZbS#M0-U|R?5mlg{oS5&EGjuOX~4N$nt2T8pRxmLj1UXmt*O)k5GZsb8P2vw=;GVrokd4s;PlbVJBrxoiYI+edjxUaMVLF>(93xv z%|O}2Yd)ftpm~*GN_rFZZqOv?88(*P?4hTmH$C>ss&Drti6n*1{yb@@I3`9u-BY=1 ziW6^eF>KehVfUiUV+*^}DZb7Si5+e}4pa4PkwF0%f}KPmkF8CMJOO0mlJsRzNchfj zx~rO&_ha1LB(#i5h5#AZiRQW$UZaIIp%5kz44G&+F7@ca?lg(7)4PBFqY46M1iqKT zK2#W}qWKV}{X+vH24s3}*ZxsiMkPfMrO+AYvLy%2-JmQhbMXF$R%alxvAFzdy)VnN zjshaXco5h!h?-EHmQY<`m;!+?rNkVfG+bcM6n;!4o#YhJ?i5j@#c7!tO_^%JseBSn z>oG{O_4%~noh~I|Aq_Ql5>~vWOsb^}C0;SErFK%Z1{+>+Rpq3%0^lj?AW z71M}z{IEbNar#`GyT^XjsJT&?Wk`~;f&!gD60%Mba+tQVCIkp%qU+FBt|~K+X5*qg z@rpk4nh?U%`lXa802vhz;p%Br(dx8A-r|wx2dVIbeox4i^GFL?(~xkJjK=bg#{TAh zioI4=J+WrossTHt6=%1UWw(@Pw-ja#4V!(m;xs!ez-$xqvO4wq z8mYn)*tGgd5EfS&r79XFCK^sf>}1H0KvD)1P&v#pGl@k>Ax$vJN+-!maGU^a8J1L| z;MBxC0$QPU`uKA^RX%MG?~-iaPYqL-ai9wRL#p)qX&JM_&rE-0Ae-YCFT#?B#kLNN zJn1FYLS7DbOs=6vxraXW2aPli@adbEjq86n(6`AIgwJpTjJZxcFEj18#)>00cXU54 z=zl6Y;_FZWY!yrqV;`cikrJ-}w#?w3l|nuPvG{0_vcInJg`GskId72ML|m{f@><4d zf`D%A!^YCB+Vzx%w+={g%Y3x!X;U`Y*|U5E)fYCy_Sp%`tvtHIDL(Q8-GjsSqe8mE z(G44=NL|=qV<*Qhl!lF#sO3wGnm=+C4-CtBG`fC9H4nIf;!Te-!yvbf_glZ{FapB9 zme-yuA$HHAea!z9Rw5}>5JRGXFSrxpVMba4H%vjQ36@44pj33L z8-$)eMqfTgZ(gNbdS^9|e-JBv$!(bWxw^OHr`mH=^JsMb7~;#`F2;5em`?aI&)>k@ zxt~g7r)RWKSF=4-cMc7X-*9kJ*eDB?Ts)8+I>DmG1L2oh3&u*vb%LD^4xJ8uoeshA zIUW4CmvU~0-&|}iYd9K`a0D zegg)&!Tx=NZn)4O?d;@X<>bMx<>BLKAf_2lMZHl)&($hp+H3FwST&Fl7Ht z9(N08H>c!?u*Vk04yjl)>;&gG8RlM~| zq%gXy=TmqSw``ZS#wx*NikNoNjM%;qie@mG<1rudfgJR*WN5NLF3Nwm%H`x3MJ^1T?^G0-MH@ZUk^sbkCSS zBFseKZwRhAP-QW*&h|2-x>cOyKy0(;?O#2SlUyt)g-_Www}#ya+><@zjidD5$GX1! z8b000lzOV&Ell)3xgD$9(%_FoceN}s7VxB>y2M_Q3~uAzMSbrg;OYZvycK=gmuG=P z9eC8-sf2;lN=!}UPKk^R3o~AedhS#lSl)?tbjxJU7TK;c2#s>nztAuwmi0X%27zHu z%EOuAbTqoDYP9GZBiz#{DnoI9{_*`BaG8$1>CLse2qL6Vc;-NGS`Fswo)R8jEV4w` zm|FCd*?p2~cuxem?oJ*j8CMiBMMUu@NBD+?`91Ff0oibi{&{=)fkgB$Rm7yAZ@U`q zXQvih%=yl`JGD+CtBz8tQYm1b&Np06F|}}DZ0B0Nkfk$%-Ker%j7m?)y+M-*VjQ3w z3h6X!TD~F?HE)?r$murf&W61z${?=@HIKortC{Ppk-*f_L3$-;PH|y4bk^K){xyk$ zoYaYm`&y3IoDX~D|K}Mg>5wI-5|_=m2G__&P>M@ef`s&~xp_2Bg|}ZH`vS!}D{eb~ zDH@f+K=wg7HSV4I_kQ8@1G^hgnMMsxg^@g(Wyv)5P2p zj{LcMs^K(8bog#ep<#`V*7k#!;TL6}#HS!9spbUQp8Axx!7~X1wz$ZNojH9*66Fv0eB(%{92mkS_cwftrWAI~NM#;f z9mA_=f=Ux7X64V;lupma6Tc0cP=p!M;&E7eGY`*sBNc`6 z35oA0j<9&tu}69M!bL62Nc?2m!{F{zcjRQR2}GiLP)s5!H%^Q}2DyR6S^aNH?sbYY z-<~HH`j*_&za+K%sSsFQ>u&sG7BlfI*j-Z7QD$XT%Uf%v7Hld5i!1PSlIw|Z_*J`l z7CEWWSW8gcF|ed&{g87{{|j$Ia_GYI4MI~78z`J9>~wu&m|nY}{vNm&b&@;{Fwdeo zYk76QYtGhRw>Bhg68<6S*PyOHE24$!nJ|m3hOyo9^R&OGuiNc~;q=UF7XR~c=lIwc z`GBh;VI^MJHpBF&y7Maww>fIRFq%DZU2B#aac;5d9&%JYlQlP|srBW1eQK%F4)VLG zmkPN*fh=ZHv36(Qok66lt%xGiI2&TX3(3$Yds3B!=VU=OQrpI~{Wn6Tg?6>Udji-T z#UJ9Wd8Y%s4_nd$c+0!8266FurNo_076w?F#h(lsllN!htw4s|QDL{CM@q}b^?GfB z)}ZvB9{X3cf7`_t&;Wfu)E<%oU|^{K-|V87os~D|KgLmZlF~6022*a=`*n*h!w!;~ zil?%o!=j^d@co~S1{*rkDpBEoM@x-0z^#`dC581yi`knb$D}R+ciMnokGhOqhF7U> z-S?^d-=223|IFNN`QJ=qWF``aX%MAq5Xa3E<<1j_auOwT62~+UWsb>GDr!U-@D$3WstFC36eMGzsZL-pHyW>Zrd_nL{+5dm}AE zi%}nOG|0GoV)Zr<@c%&r|2$j8{eQ9s{#lChf3ybvnWX$bS_A(K#{D0yfq(qj|9{hf zo1aYvSPllJ8x;Wt`~T4v{Aa(|&ibNf%WHG2k?v!CdE~>_^CsO*85zs}#ob#*#T7Jb zqrnpbA-Dz)?jAhA;O;JiOK^9Wfx+F~-CaWP;O_43!M{n~bJjZFz5mX-zwTNy-MhQ$ zsjli>-M#lr%a$pJREIXh{P@zY&RMKn2LE)K8oj1JeP*t>O>8OmS($gJTbP@FXKLCt z)irq?T0Xg8EX?xLbHO_@BSMd7Z6wbH5GTdS>W( z-Xc+xUL(ytJRBX-=;>k%aDj47i_X-x80@A`Zj2t?-&PBf)_2mbZ=a{q^9l703 z0^-_wizuh-u4lOg_)s%Vs4(aiE77#@3yBM|lHjaJKbUga7d*xu4(q=+A?NWDtetoO+BqqC_ zWzX_r(6U%rHNLugE?}{n7k9X>w*26x%YC?e+vf>KbZy+3`Q!TIAH&X$z_du$H{3OC z#>VTi**+^M#(6E*Hr*F3U2Wu7`&-Yu=V^hL{kXnoUOnrpkFK|fov-uzK0a`J0NA(n zx5utc`?i<*2LZ~sk>e<${gEglll_PA>)CuWu0@}rp&tWQ^K}K&W%ry-mwS)p@^!O# zuZo>_0xzcO`$T&q&p%f;cdgtmw|36UcCUpd=l8D{p({Bb!nYo52>%#8o_cmHc4qwD zpV<_9H?aln~*+#AGG--U@2jUG|1+;1}TX3}VG{KXL`=cCPOP+B)$vTXU0%QDD zl}$yw8J-Wl7QHV$76C^oZ}S#Tx6Td8Sw8$P#*NKm_xp*Tl4Nj9+qT=2XU?MKv->?ZXjo`?){K*=bZI?Z8#T2$e5VeN zeNC^|_^i&6D*lSXxUJivn}G+GtO_}S-&kp$+>2d2Dc*cqS)$WJ^L=SeWuxuQLTni; zo%|`UEbG758Ly^Km-y~R+v3b8QHqlL1gD42Mu!{~TVg_7obKG*UY*(Xtg~LnK$g$d z?SpS#J~^w$TNiTs`}4<6oxJ1sSqY!grPs?D_K5Z#0FyyyAN0r-FqRMVAA5#wiXeXD z`AusjlPg0RB}2MPXT0(%i{Eo$N9$f?w~112<_FFq!k3Uy?z26`)7G)VincNNSn`-g z7|Pk6%j?DC<(OTQQxu}BYx>`eo$hxOAfK1LYkOyQ0iTw1dR3x(o6Hu|muKh3#qRuS zz?oLl!xD1e`&?}E%PzkI0Mg{gWAAi>R=$zZ+rFliH}2P4t7D4Ttn2mb+ovqGva;2u zB=+@#*P~97m%kM}z5D!p>(h5|ym*y+rcr(;cKsqC^5>YbtnXIk)!yyWxzW@49AA&T z#H}(9MZ`!>^J~sI$mZId`5mD&FIL@x@aOP6W9^(}!8lHqAYJ)B3YDh}Z3o{IIjV z-};qO4+5>qHur@K4dt1lupJF}Izz4Nj5pOefkjWpRx0&)CrUCZfkyA*-iMxMJSJu& z*9Ke)krWOEXU zuEU$Iuh*S>ckduQh=9#iR^o&1Ekxnfp}vND;Wpkum$gTg&Xr6|^zV~FRoD*?&U^yv zAGcHy`{Gm11==6V*`hi%br_q9oH@b&)MvaZ>ySLrTk{-Uez<#P=_=NJogVFZaT-^h z9|^y&+qL02lq)@Vxm(H-5dw+ov znQ@Z4tT-=o=5o3t>m3)XOnL8EjI%j1S~P27+CCqIV5hqfyv#{Coi)}}w|+gn&y{ha zmx-bK@MC1PU8OO{Wuwm$UmzLvcwd*UL#hDxA#-z0E@!=RZvUaLQf>7|()u~3lf(6v zp8;+8TGgLpl#vH#eyw=$a#Y>@gAl)i3&>;RbocZkYX!e3ZHV)F)VYBHxSY1BQO}j~ z+OD}%v_3Z0RCc?6nD6Ss;&t82DbRc_@U-+{;DtM-bFsrssokwj*Gqf6Qg#tH@5ORo z@?`1Meb-sAGvmiNqnsYSN!sZ1^TX)<`qQ5=!t~wcQ_qK*a`j!qu|^#q8jRwG9db`~4X14Rm7|3Yu3hB(=8c*^Xv#?p?%H-TOu;&pMg zMb)inYMZd=pr5h!X4mpri~6Z_51u6(L;0ph&nOwPLg)Ra&TK@KhHRr<&FFRF_}s&% z+CIgHbTy$tue~)t5(OC$d2X&3EwRN`c_0JJ<+Zzar(gKP-gJ5LRj2#j&q33tmilC} zS1%8gI_ggu(&rGn-&?OAjL$jO9uKVUyn1xDr0lxP9V>ONjfDq1ab_8OYa8xzzq7bA zzdhw%=cj#M!Oe{=wfG$FrC-JDu9_1ZP*vD)m8 z2#*lz~C6z9+MR4uV{(ogeqEbd1=_e^@=*PCq?H+WpG>|fqaI6!pI5B6!LO$yG8 z6bW`rEx2FemM;}Ue6gIL4(T~}M+@HJI6cGw1agrnb4snuO|FBHK7IMKC1|TyG zbUPwR{|oRD3Kfd{sQHkjGfL-wIH&%-UeC{h6%nh( zvmK#}fM9@Y^6GO^HUq;iJ-xT>W3jED3lwIqS%m7(`DdYR?Kv~8jNz*`be$vensJ!- zB7WJEu>Q_Sun73S!G8Lbe)`i)(Ma;}R=#zS(1I?a)X#a$kH=(>9`(HlM9BQMtgr6l zfJ5>>+aW#coX5vytq134=>tCnpnrb`&3-Tl@_|gAWI|)9`1k^1s1P;AhOl&vHvP!$ z=o%gOfpIxJO7Ka`dTZo)H0y2}Ir4dJA|3vL_JpbTlr-{imqi!`9Y+}jy+2YJAQ;JR zuu=33Y;?8zw%$r4BYnWI%tF;pc~Q4(m7x~YvG^sHyu)TzWCk$JIGh?nb*xNwJnHQI zy8OLXwk`3t?AFTR!}_>@t}2}OS>y;bW2)$k^iJD(N4ih@bM8u(QpN`4nXJp_)rPo} z&;LT^j{K)fk{9A;*AV00J-AKtc|r79t&h`31IjiVQ9q7S;hoE(HRi_Z(NRoIm(Hy8 z(YdNxj5&qt{f~{#J1L>6FE@mm9@lJhYmU~ZJ`9BIbjP=qw6F%}OKdR>mLGgtQuVay zt_DPOKJLCXm6j8Ec|>f2L&BacymRo@7FxWz(krkZ_Dg>;?yrwG)(&=M>9s1Qg3te^ zE|O-8JQsf#cBNL0V?ShIzWsbML~=-g@u75?M<}&hYe6_iIx(DX9jBz?Ik`i}A8(Lp$dGh)uVQz71iSES_{a-L8Yo1CG$66Hy7br+nEPnu0u)(_Lj zp^lL;bI6ht)b25o_NOl-+7l84h)|9mtGCaH97$yqF3Uho?^HLH>jh4=j&yo{M=zO* zs;ZVfEd-z5(^dXTSq)QYcel<~=Os84iO4wuz|x`)f6wUGjMbIXcx9;A8TE;#@L3Cb zSvq#j8Td1I#9yV$)u$gwt3G9nQeI%UIY(v=cO4=IO~aT!^ob!y6xP%tkUBg{b&g|) z!(;OXra#wH6^99X#^r{knp&{0k0;dyoK=`z?rI%RV7iIl@S)1hvy%43# zzvxRjOk3AH=7l_*?JcJ|9(0<^Bsp_d+H_vnBCm4BJJkbnI?fEtnWky1>(=9pH z=gzIA16D1qm4fkYEi8(Bzvw-Nu`dC5=%H!oK|#mV?42p#*K5?r}529JB6?E zw{;E6lN_cAo>Q`UCxOXpy)#3PGhf;>{o6BSTuO?#^Okl-Gbk*MWa=83SF78-PI{^$ zGE095T9qt?T9DaEXzpSd3t!d4jw?8`8NrtO%w%tb<}s7Z{KfJ2!HqW(-az)`arUH$ zKHb9ma=5hbR;?8mPH}}WZ8n5zu2DHVNy0;#Z#z}@+UZydJFD=4ZNGY|Ap5!9Wn~J4 z%s!Ip^?Jfwm&ujgIybKTH0~VRe7L?^guM55?aIDm93S7uez51!I)P3y<8JXOUXU9r zpn6@l(6J&(%1ZQHO-fUu+?E*%_tIE7K6^ahQ+uG6TgeQ&)}gcKVSP!qae0zT_;r4= zHM-e>+_4(()S^@6Ty!FkvZ7OV;5!8me)^OWPqYva!e~7rg!Cal`oSv=2a1#!iY0qr z2ZY50Fa1tQaQrEOlvu6nOQ;|3xmv9tvpjS>wA)%00TdY%6l?YV%Pwn@K#SP!|rBGW76-;zENeN;L>e>M+_# zOTP1YE`J;niqMw#9POQIAMKFrpzRQA_Fqy(qKV02KL~HRbx~l&;>5znVxajvHPoDX zv!*d_w%uCXdN3@VvH4?=d=59crDPWVC zvd=duD6p99Hk_f8^L+^i(%bN5$!rfplF{^sA0`l|e9+&c!t?QHuE~1Ye(qIutfdAyYu$?~pQMR&B4lG|WK+R|Rx*37 z>nMHt8ruvUSMZ=oph#dI2z}8si6i`0D#wzcgYbR5>7$SbKv?xuP~U(v_wV8f*pHeO z#3H$!|0cMgfv~^5cOlJw1^`&3S0s?>kgF-DaS7Q}@z zM%wXsCz%2_49up38rEh=+voeO082n(E7FY$^F&B%Z{(MU!zJmPhp}+49y7W7k(3Fo z8Hjh{Q9fwq#|+;Oi=(t*YuJ}mJtk1GkN*uSh#HzA=}MyeS9j+?gfvz%P+!uQ8t#tI z#3)JWIMyP(Toe9ZLj9PFIOg6yq!Ve#bzQOgkoE>s#+0R@g z8-af@-)g$Uv^JyPQBqeAFdJ%V<1?&cnba1=igr^&7r~~pKz5g)F2dph`zbYve1)J% zcj=(VK68<6L_pBu-|D(GkkY?)r)a_LxS^y`L8Fr-hjxn~_1}lih+s)$1cae6DIoq$ zWosb^=|^`H2VC-zvYYkjBf+CHCHr4;k*=;X0rUsyxyYD)>3c@uAZsvT1mwUX75qzx z>ErZNYfTUQOK33>1Z=`075z(Q6tX>k2qRL-q2q{?1G~wQ`nUD#YZ_l1b=0hWsbI5)X?@Q0l~80N3~Bz`nwY5l zB|bwBUI$yoH{Gbhhfw8%jO1g6qK$B`sQbQ?jcf_TOVOByR+2#qO))^fuQWtj>Z zpJXAlTNG&yLKCgz)j;Bq>=va~Uk{KEuXKd<2SA7aBjv({GpkE?0}=o7DZ(adJAHzd z`bUX{lVVnv>{dj)llp$Jnl>u4yrrhl$!f2%p-X>-QnWtlsMu~BB)z{6IKAI*e%c>S z!3vSJ2Gy?Ci{>qADS=xcU4QAOfby%?A}v0^;LQ*_T3NxpPH{ z6coj0%*Z8a!tgT4B`78G;>ZulOHOjlaM-yeVr64RDJ7;PrVhv@xF!AvgSlfYc?LOH zHa0&le^MgRF_xWsC|0&slu~0#LUnX*%dz7BnLBqtF2y~BmtiD9sgV~)cSvsOI3><) z&cZ*9xtOlR#p=%t0_TQAxc@1AE%1B7@7nA&t+bm>Xby;qy+6@{_H`1g5#8h zBTJ$q%iMtx-JwzWm^re%3>kY< zj+q>A+0=6OV&12T;dT5HhaDrsv?mOkaLfNWMuy58rF`H<{&PPDQ6Ng>9iJk}LCpIc zF&ZR3wC^|KLAhe25ric-$`mf~Cy~+Ea&P&*=WOwpY|zv9 znCI`9PXVMa0W_}&0Ok$_zHB{6EM`Qz|sEV&H^)ex!U~PL4QX4hSF|!!Lvx z6-??ENJD`PK>VPhjRzt}D_vm2Feg{OG^aw7C3 zgYqE&P7HHOrF>~eg{Dvp+>y`EmG2vh`3)#h{}$Uqg~=$!f?WXI6W_~KULgq6#wcn2hSox* zXy-s~uaLjBC%%&_-ZvUE2#5itk;R0QVseU+VgqQbBSjcM{~N$icoYOSODCXsSknGZ z0wTH{R-y?@N;fcH3;dN)Sg~>d?N+&oR7w|=uNC)|QFN+eI5vswaLyQ_+o7t--*E0< zsA~GZ)pqEgd9nY@BhUM5p15cXNS!Puf)ukxloTI80|bk3fRumXg;`;gs57H2QYqE| z$!itzfqmln5CAAfTr37OMH&-Hidg_4{Q{to3>V=BDaT`ld193Op+bA0QoK|kzk-yI zC%yv#h{X&-08ykdQKXne08%0V4L?YPAEfLF*<$Daj{x<5M%Vl^8u-uXzW*2v;0LLA zVuX8Ql>MQ?dZ1FhRG_<3DBsG10Mz@$Ab=WB6a)aoB!U3?AhqTB^jL>fstTHPQwrs|_3HU~@j5gXB_K@07%&i%wx1Ngk47~DzyaC787JH-zEW!U z(G_z0EopX2;M29qM;-b`T%5#ddzHw5!hZdB>eOHdN=)3lAt&d@(*agRm zF(9B0D#VR|#<-#_v3VBtp~@J?lFSgN_}g2}&N^VEP|c}0{tajUhN{egbSw(3447e5 zsxc9CXbR<|xEkcS>HwBnagiF3kx@*jqH{@c0ZnEsfDoj@`!$>wqs&zj%MDU#@pM=6 z5TrTP?pLF)DqxM6ARwmJFzLrWn#OnlmgM4>iutpe!S6MoI^&oCAg1XEDMBC3SR&w) zxIUVtBmg2vrJgYy1Eb7L4~v>gb+VIAQGS>KlfDG>%_PPTi0SZ~6sC`6FBt$2 zQu)msj)YN`Y>0&m(RzT6MZO#usbQ3@-bYY3C|L7900l};F}^^|hu@@7eKc1o0BDfP z4r@3pM%kb#)(0w`B+xT@*&j=+2TIk;dAcjP@~tY3oh4J(sRR7*W4wWwaMmLK2r-A0kZYqy2}pj5w<3h6FiRPu`Tvvb z|0;ARD*^<~N&034k&F63nU~uQ9u&a+tHJ9~F_kSDn!M;=rF>av5LZHB;}sw}kZ1pc zKpFpq;8OjA2>ye>5C4U*{0HLq4}$Rzk`IAEc6fy|R(@_krKZZ;ssgv0#zC^KDrIP{ z7H3YD^QV;D_9-wQtadumly~Z4Tx=AX2SnGpB>D*O-4G}-9jtcv(v^SL#JJcgPIiit z=R|<+*hxPcE7w<{YCv@G0uKt|VwzftU=0^@X_3{+i}o$z#RRj^jLn6z#VepzisnNg zw(O+H#>#*Q$~XNKwGLG%qQ9}9p|Kb}7G7yVutiOdrnNd60ZTSiy**6B zf;>H^^2blJv3c+?;2Sa-dN#$6;2EJj_&o58Jz2wwI6bH02w2L#7l#Q-8j3Yr+`16! z%W;K~gkzu}>@Pv~A2UKbv7d*a`vk*Q1nIvsNJJ}Ay$&Hu`sX8YLH94e?Iv3Eq{ix} z_~I_S)7nTi`PySom!%m?H{xY3nY)WoeD@6u+4-DYZLC{FHUt^#ZNwp%`lEWIav`s% z<(U|tI9M~WkzC5K=a+tL2bT;Y-8gY0uQKbyOsq%+9dTJ>o$C1v0k_Bx34g3zB`LJ} zT3z)9*a}U5J0~_xXO70|di%QA6RT0qcw^I^e*N9C@R7Z_Zfo_}74{m79vvd$-Hhd^JssqJ|FU%+N_WL zNUY+oFeN`O`qyznFM2(x3Jh}z>ez$N4$()Zhiv96)L+>ps*Q_^XUWSn!5JO4Z*BAT zQZMP5Uf-3_{6)?l%FC&vTmoB_SQ-kAP=1S%O7TsPV{1r!2kmz~m=eci6qlD1+l_Q` zz58TtBF;o}C`PKK7a@rln=k*OHeD~Q>^klkx}5}t1ZE)=s4c?bboN%TFLcJzgPGaA$RSqn`JO@E<>vUm*Bev zaYJ;!lQqYY9VZ=(%@~)FJMDLO9~cRu6S7s-j}4Rji8ak^Q1^@wYl+J&Eoe)};aO(B ze-U?|hn66+$R;f6Wsy%pHHvxdX=&NeIOo^L?HaM*4!aHg#+k$g`5b$}8Sw#qwUJr1 zx#(Z?9BTHs4N{LqaQ}=T8L`)kz&%?&{W5mF5HzNO2|}O|#{E`~Zi`E6_0}xm097;! zr>$CsQwv+0df17?)98J`g5;JRF;czb$HLGX@5I6YlWRIU7?o%SFi9SH6ty50s9@HXtL4<^3bCJwYbxZl(wgqZ#kE;Sdk-c3 zKBJZ|JA=_~HNGV_klK&-_WkJiu0$_Mldr3HrGyfexIqRjQp+!)o9Y+}Agjfd?e9W5r z{?^?elg~~L8%7bjV4fYj_&^p>9G6(EZJk^Tjb^)Nu$Y3fBm#aQEFfA3!J(nrCfN%PYiw>?JfAjHh=+$=}HTc9BC4`?zZ70#MWkzQv zoE`9g#Z%E{h27!0HC0*QC1H*;>qKs~Je8PhN8Yds_U>k-Hma;zuK8d#FD19Vwt46{ z_|?MWeKZ3KD&;vD-{8q0nx!|+E)+_VmQrNJ{mDt~TReSZ|1knGCKC+zW%ot0(~|0s z(qOr7yK^SetXZu}HPKLmsqwd4PiDlnTj{855!6yLIZI=?XL5m5a#||ObtrXR;Y>gQ zC%c;a?|4kUWNMFUFg0!7`rn_F|K13xCG56O;==-vQfSPU9kacDC$@ZQ|En2A<8O`{ z<2!vV6Qb$5o3XFUU&>lU(bG(pm)Jbk3%{^1{7^bC_XjskmNr)ygfHVY{$cLj)!qZzDPHb_&S40%e=g-JLheCx*X^8G}UM0jf!qb@p zyJIQf%OgtXjaKAwl?RforIW6EV>Qzf*lIK+w9*plA(2vAf^x^B*76$pxA3V(XWAc@ zO;a47G?r#aXkjiSRv3E0Q;igKKMa3PaX_NYxB?Y`)qIGCR#_r@jfDn!S>l(IL}Qg7 z%f{%Xb4ZGFziN$t&}+^0*Bal`EuVImo8Kkt(6#^%3BQG_SW4w327~{7v4X*5)>9$c zepiOpt6}uW_+s=(_-fs+3oYU(-WCk;*0sDkBQfY!eWnVA5gqiyRo1TJ=8 zA9zY08d(DM=A|C}KWg{vp|^XyAK~n>gp_nv#nU8xH?x}T4dnx;%lJ{~1?doKTpk|D z!Vxs9O{8{lNii;8G9&L&$uAsfl!j&V-dY#+$`fHbW~=TH84nTBjGCK8~4I`&i=I`jGhLk zVMNgJfuYGQ={CrLYm%oYVdZ=*v$NbC7s|ww>~i%y7uzD=$M)MN2E!!|7&VLhGtrTL zTGmgv-M`N!OGtG}3cZX~l#r6Y`ld(`IUgrk(n)@mczzckA6!vF;gvD+`PQJ|YqMf$ z9xP0Jj|}~=p#Z@Rup~ctrWi-(f*jW_{p#_QFzopXrDVLdHQ4lLN z%Ec-i76Hp7gyE&qpntJ0m4?&X!-{VY!_%ZiZ>U#=r$sk_4@8xh`PoGsFtj6i(`wPk zZZf=qUHEgAinp8>RAQ9QgTyPdIcHR$%tM1rXi-8sXzGRqWal2fh&{hScKu746!S97i}1?WlYPMD)M)F{rZNGAAM*<1SFy@*-U zM>|34@>K?R)tRBc@?#jNoR+v0w`(RW%DA{>wp5v_F$BMYh3V`uN*f?{A5htB2woYM zZ)p&W9H%Rmamh%f+^gIZvp%%Iv`T0T~bq*koueFyl>|BxUr+B+N$J&e|?~1 zIq$hJ!dpou=m&b)rkE17x}rnr;cE%aXG5K;QVlmH>T_)ei=`K(gxP{%P4=+VB2HuV z*0Y&04R)oH4?6qnN8$WwA{~hH?xD%&SnmPX)uZJNd%%7_d6EXsdcP|kDd;-t@i;ygm3?uKq~O!%-!PV#`5xTb$xe*IQM|yf+a00S9m^G zx4SoO5vSLlVKdG+-uN&pckI@=GS+xKdv%i~@WQO6Cr!y-lp(EGk+}ch{`3csi2V@q zz|xg0n?EgE=%e@JdeodP<3txSC$>^8>+057*ZUebv99d7%+zN7x@__BdimkOWRArsMQO?JzMJ*!4fUrshY+VmJkp70i zOy4qLI4RB_6sOBZS&V@cIwqVGn6`-KDDnt>e`^Bo8E{YFYH@g52bL(4AE%Rq8Ic4| zkH}hncsn@hCywhp%C`wZ*ZJcui!XOB@$X4-n!_CJ8nT#9y4yNOxE{sP?U>|=kOg83 z^}G3}08_dj$#9yZ9AoOcY>D7t?iG@rZ|$Bbvh^?c=isL1q-fbMD(8bnz1=H3$}o^- zhFb-f_7}Mc9HT`M8^W-n)J=Ahg}btY0=?=3C_berT&(?|yJXgO2>K6g)wfcu7%CX)lU4WpQC7tcd!qe}A0cKOG9J3D z&r8E|gR_EHjb+6|m2k>}M)W;KHFu(Kv$a8A3>Sa1xv`Z>J89{g?0SVrPIwPrCi4^! zd)D@MJj18^l*{mdFjk-r(%Jb|1Q(7lrb|kkcYJ)Kem3M3Sg$84ke|!*#JBTg66dsN zI99Y)x-{qfA?{@D64!$oX9A=XR2PlnXR6%y6myYIHI3tk2!K`xrmOcPFT6MgNCKAx zt0sjxgJihgXKn=2LZ&RwDjR_Bu;Tt!MKh82*y2hgeLE0C6=(YMgXIS4hCG`@hpK0*?^wk(>doe z8Snw#`NAlT)3$|2o9DQR@O4&<_^+7;n>ZzOzN@VPex`MsN!n5YP&u_ZVoT;sJvxQq z^)Epty&7ui$X;D%Y{_iVRu@w30bz^~hE*us;vTWp9;VX83Fe{xJ+!cdm2dkf|3R z2aE6?I}LH*c9h|&uXqrHRezctB+N09c85ac`D&NtAnf1-ZEI~#kl9B7yQ!ce{J)of z4k1i6#EA3>>MiPJPCwEM)j``DKojF4#B$aESLi9-zF2j>vgu`ZYVN09d%D%6%36Pd z)8s~}8A0yth*#yx#q;LpN%0*fCpi-GAfjI#tw)zGgaIaDu11nY*t*irz}?g&6wFrZkj{h&VHTDUV(;zMP8{H~Z}_f*p_%0zuG zu9K)KkjV8j?6>(J{0K65qjJZZmI1*J0N+60P35rfNA{-=s6l8Eg3Tkh``c89;#92{ zt9sLzV}vw=P#0$yp9V*I*BuCY7e9S&8A<4ZQDe>Ndw4Ta zLG);!*{@;zhy`RhNFDtiTxr?4U-+XU&E(=V8kf)cZK?>th| ze1n4-#P2l-jC^6xLK&p*HHed;nPKB+KBIIzd-yJRtQh0|F*G=TZ-(=8u^D~4C&`}^ zenMRk{Zk75F{yJ_5L)!x@@}Wqz?DyLkJt9Qt2G&}3kjAR;6*xA(dW-{2}nMMj`f?> z%|jR4PW782BtsLNVq#LhiBLbdzKiF6ocF?#Sv^yMrs=!Yex8ox8tLXecj1 zHx0hKNF>y0V+L{-847~hIDFTw8$mSF-w5rKeKK+eHcF^nuGxiFX%H(5)l|?Hp($ao z8pw}SN01O=of1`R^@?6jAUcd9hM-O}IZkYPE`#tD#Pf)yFuNNqB$(cj0w65gVPx4k z%+H#(M#LZBDRRWIQ}AsN5Gdf8YJ4S_0*N;-$ZlYnB%omMsJU)1oYRE3^m%d^MDG`D zgW_-{xo(hWnGnTsS~pe<@o0!WvD;QIpSesBp_HJdd&Az_U3^{cE$J8Iy20F~fWiOH zbqjotAeVt4?z6E$eKP}H$gGd|2}MX}uOTX3nMcD>qwa+ZhCI1lgjC1z?A!z%P91ua z&Wd6x=pa*yoWSnD-_fTJ^)oe~cm0~To#s>o>clJ4#8(40IS8FVF=_MB?iVmaZ7u zMAIpKo%}O96X8TC0IEDjrg@5AAg(TzW^naG5RbB1g?Yi>_bm^XC3Z%+*UWBb6@A5k(F+x_y zKpy#urjw>6Efieg%V`#m7Wac6YUD$!AsS%bB0YggXX@L z%X*(pP00Fh#=XkE^{T41{o`p;KC^p8E9XX?@gyRh-c?$cv?n!So5$l)yH@!E{r#`= zU)qTrkyHHQOE#wAWt{WN&p#WyI?_AzcE-fv%1LJGg4^A9YVddy@`+~zzk@KV2Urn~ zbidC5m?_^RP$2&JYzFaIK_cG=sw zv^FZ3)1>+JOk+vL^xcuj(vhw?I1#@%*N-@mFR<)%MPt@{#RoAQj5&ccc8x=ogCcXb9X#RSrH+;&U8a{YAD%eBi=%`BpvHKC$bb=6@Kx7$6q-5Hi!V#_)nZU!UcQ1q|y?9C-MD-C255@^nOY}the(wsk4 z?2kX1PP4RHQ(-8w(3%>d^rd8Bw&=~owD6z8eD?lppxTgf7?3gIYmem3|w#frtNt3J*p z_d+1cY6%C*N)O6vjtO6EG90ywpVYe|hn=?xi_CMiLpK?rU9@U);Jw}xqF!3(M=@7) zUPlF;BRN#N67~9D}Is9zu$D(T;(9nSzW$;%|foQIx)Xgd6!Vzj{UAay{OD zK7Ndk{M3I*fb>NCvW(w=!xv%bj?;$h8FK0t`3Z8sZSX1n>`Bg!5_(mR-B6Krcd54| z|Kj#uXw+JM(^@`!AAwrR>tVYDa_C`O2TsQjr92XH63wdJGPA)a3yt#}C~=2m~&?B2VxJlm}U44)PVYh&8+Z59^5eCL*J>O@lvZILke zGV3zo@Q!t%?PcbbvMaBJ@*MYb%@TeKh3qhonH^egmNiWqde=RxztmUF92OnR;k`dn6CYjx=l&Av~FNbS0kQSarIL!n;UGn z8#WtqG*uo|S7f=h)cCRO=!+wn)6_gDaCTNDG~lCN2%VNW9+%;3ZJoKkynxDUG=->u=Q(u zGJM&Ygx0hb&FT|}`b0%PZ}tPI^jLfjB00q{R6h*WnU6heaFky!0B9OaE(Qet+AP41 zAQZhP4DKqR8UTKkJ93?+4sPN(ig346?!ZyK+ro*x!HWHp*2NV}E`}`eysB)9BoT=l ztG{zz$(IX9>a`#Rh!XmxR5l$!g6PWOxO^i0NL=_?)ZokwI8)&Vu$1PszFewOh} z#I{ASIXmaW>E0tZJF-VC?&U1=tD7_m96z-7FzN)xoaK02I+fIegPmR2|^vYvpfi8=KB$fN0s|Ed*VrP3;O zeihkiNlBMealL@nL%%aM`MUqN+Bl&%Pr2`7rS@V1o(scSA*}2ATzf%#$7)4;P}3aw zt~b@B`p8h*`Bg%Ph@nhr!Y2wmOX`bGTJ^ilOwQ%Z+7b`Q3&C94_oO@ebEyqoq>F8a z5(O8jwu>}R-+68cjxML_6lb; zhxPPwshXzjD*uK>#`YfA%1z15h1KOgD6KBA94s&8+ECnl{;Q$J_Asu$*y)OcU(nK! zZ))voPI`S|N!{e8SU)_byTLUZz1e&#hm&xlH?mPfulD#VMeu7WHIVd2N+k+i8Zr zVe8H%YcJ+A*BODq%W9*MGMKC^7?!?JI4Bj*U}!)GFpE87^s?Gy^!vj%pls-^%X%!c z$4=-X*_>W^ZC=b|i|#^Ra1x|*EWv&yP1wF$k>hHcI|^!AW{NuNV_yA;EPXiIpThr} z)aTRrR!`;E&f>lUZG!2R1D>23GQ27W3>yB*W)C3ecIP!N&+zr@%|YYz1?UAC=#ox+uB#oaK%>t<+dZ&pg0(jG{Ro(26+_GiisEW>%s)bka`BzT!42 zL}O8ID;RchbQ;8MR55?%t=1Qmlp^>_2xOb!Or1xSTzqIJB5Im4l-u~R)qAv4*|!?F z7@k%s>eGtxv*>dZN_bqOH>>{a!n=h4JC^$@3v z)gDypRG9l0Y?~8WGilFm{3w%v)ROtE>CX>oqYGlAU{PJm?Oc2>>{;`}fj?;z3j=7& zqJ-Al?2TUY>*ghRua%u=dD7N(8%5NOlP)Eh&cD>Ih^r>k3Y@kB?RP%xez(r!EM=CZ z63dh)ET6p-W$*v6+l(&xs9$mS&I`Qv(K2;{Y6e5~+=Jh|sg?p@^M7WVyhiHVlFK=3 z(|+t;R=q~*+N$tdJ0(}{&)#)>Rib;TLvVfJg^gJ^Ci`vNI!lm=$Er%w|6%Hn?xw!D zV}^Ts1hfKxjNpv6w9@VGXBk2yqt_J8@$R#jp7L+e{KwNc-|ku}t26H>cip!@>qQfj zOwRs&t@bzKuCA`=W5#bUd8e91^(>C+VSljPyvq>8r(RqeGiLc9LB z+8%#(Vr|vZP#33(`xiWqklPu$e#;f^`p>q<_lnOeC|i3K#J27_al~P3;L)ecve|b< ze!J(tz$=hpLVEG>%@^|uj>j&(At(^DTAa~g-dWimH^!5N;u>WvEZ1MTGIXTxuevxx zN%E2#uSjphbB-L_W#a$zO66tGFSeTZPibE58nsNOM4mKLPwUBzif=savVcM4#;_v2 z_~?tReI@60JiYgRFuz=Ur91gm>;4tbEhfv9t6e-WZ*lj>^uV4++pRx*e)|0F)2nw^ zJ4JKVUzz*ybWY*i`TOPp+tYFHZoTQ7qx85oI z<>t?h2je-@moz`}_Z^M?Jl(U3m9r zR^VAR%s|Wz#9^*M!Jhtp#@CG*&`yASv#&P90I0$Uh&h2cH?<^DFRM5|Z}qdF03bN! zp;M;gd-6>9rXUaRGn#%^8#$&g6%$Q=_FOYkQv-Mc`U^>o!mCA$Kw}x1M3_MbPjUb; z1i+4?M2HA5{C5P&!49WH*Olk_VS||%1H+wA1_lYJDIn^9qXv>Lr_8*>qDsWUmguGw zJGa*H0o8+CBMrnb@V{{i&}^99K8cn2r6oXKT4s7_QDRAEejd6(8|A}OC4ss@Aq1jf z;D6(7B!dDHi|`v$_sTteH&Cx0@HjbCUulaY+!IignwDCWnwOkf42}VG$ABz{g{Uyh zB@Cbtl>r(G^HnhDxXv)(v2?}y=my-K$}^|bn}I=8lL^f?{@4uwpKMo#Zp;Sh&+>DC z4yfou50u}@Slt0W9uC78Ti47B8-by?q!rzmbLCi#0iUskVN8X7lEGs^28J7j=*DaV zx(`dJfDbCeFb4gyU0C@3Z@jPot1*zPchSQJ{n7`7G5y=H8Uwik0^JypHds`H5-|jT zqWb?KBx8_Hc11S<{bW~|8UGuN4`Vk0cAiynF}hjkry(ND@;-sbEX3J}#2e^)l7NAb zqXvmL(Ek(x10g5(5pQ7NX#xg94#Feez~D0k41}C3N4$ZdX9*YxIi?NWK=gCY5V0J7 z4q+fHm1L%&>qoD15c;`A8DTXLx+e7M2cgLns0m&f1$eWvfuzKNFc!$_0ZKA3008?o B6lDMa literal 0 HcmV?d00001 diff --git a/src/bundler-parcel-2/src/main.ts b/src/bundler-parcel-2/src/main.ts new file mode 100644 index 0000000..00198e4 --- /dev/null +++ b/src/bundler-parcel-2/src/main.ts @@ -0,0 +1,32 @@ +// `@coderline/alphatab/core` does not start workers on its own: the app tells alphaTab how to create them. +import * as alphaTab from '@coderline/alphatab/core'; +import workletUrl from 'worklet:./alphaTab.worklet.ts'; + +alphaTab.Environment.initializeMain( + (_settings, nameHint) => + new Worker(new URL('./alphaTab.worker.ts', import.meta.url), { type: 'module', name: nameHint }), + (context) => context.audioWorklet.addModule(workletUrl), +); + +const element = document.querySelector('#alphaTab')!; +const playPause = document.querySelector('#play-pause')!; + +const api = new alphaTab.AlphaTabApi(element, { + core: { + file: new URL('./iron-waltz.gp', import.meta.url).href, + // Copied to /font/ and /soundfont/ by copy-assets.mjs. + fontDirectory: '/font/', + }, + player: { + playerMode: alphaTab.PlayerMode.EnabledAutomatic, + soundFont: '/soundfont/sonivox.sf3', + }, +}); + +api.playerReady.on(() => { + playPause.disabled = false; +}); +api.playerStateChanged.on((e) => { + playPause.textContent = e.state === alphaTab.synth.PlayerState.Playing ? 'Pause' : 'Play'; +}); +playPause.addEventListener('click', () => api.playPause()); diff --git a/src/bundler-parcel-2/src/worklet.d.ts b/src/bundler-parcel-2/src/worklet.d.ts new file mode 100644 index 0000000..51ee480 --- /dev/null +++ b/src/bundler-parcel-2/src/worklet.d.ts @@ -0,0 +1,5 @@ +// Parcel's `worklet:` imports resolve to the URL of the bundled worklet. +declare module 'worklet:*' { + const url: string; + export default url; +} diff --git a/src/bundler-parcel-2/tsconfig.json b/src/bundler-parcel-2/tsconfig.json new file mode 100644 index 0000000..c168b65 --- /dev/null +++ b/src/bundler-parcel-2/tsconfig.json @@ -0,0 +1,16 @@ +{ + "compilerOptions": { + "target": "es2022", + "module": "esnext", + "lib": ["ES2022", "DOM"], + "skipLibCheck": true, + "moduleResolution": "bundler", + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true + }, + "include": ["src"] +} diff --git a/src/bundler-rollup-4/README.md b/src/bundler-rollup-4/README.md new file mode 100644 index 0000000..0c04e7b --- /dev/null +++ b/src/bundler-rollup-4/README.md @@ -0,0 +1,75 @@ +# alphaTab with Rollup 4 + +A plain Rollup 4 browser app (JavaScript, no framework) that renders a Guitar Pro file and plays it back. +Rollup has no alphaTab plugin. The sample uses the same recipe as the [esbuild sample](../bundler-esbuild/): the app +owns the entry files of alphaTab's web worker and audio worklet and tells alphaTab how to start them. + +Versions: Rollup 4.67, `@rollup/plugin-node-resolve` 16, `@rollup/plugin-terser` 1, alphaTab 1.9. + +## Run + +```sh +npm install +npm run dev # rollup --watch, served on http://localhost:4185 +npm run build # production build into dist/ +npm run preview # serves dist/ on http://localhost:4185 +``` + +## alphaTab setup + +1. Worker and worklet entries ([src/alphaTab.worker.js](./src/alphaTab.worker.js), + [src/alphaTab.worklet.js](./src/alphaTab.worklet.js)): + + ```js + import '@coderline/alphatab/worker'; + ``` + ```js + import '@coderline/alphatab/worklet'; + ``` + +2. The page ([src/main.js](./src/main.js)) imports `@coderline/alphatab/core` and registers the factories: + + ```js + import * as alphaTab from '@coderline/alphatab/core'; + + alphaTab.Environment.initializeMain( + (_settings, nameHint) => + new Worker(new URL('./alphaTab.worker.js', import.meta.url), { type: 'module', name: nameHint }), + (context) => context.audioWorklet.addModule(new URL('./alphaTab.worklet.js', import.meta.url)), + ); + ``` + +3. All three files are inputs of one build with ESM output ([rollup.config.js](./rollup.config.js)). Rollup moves + the shared alphaTab core into one chunk that the page, the worker (a module worker) and the worklet import: + + ```js + export default { + input: { + main: 'src/main.js', + 'alphaTab.worker': 'src/alphaTab.worker.js', + 'alphaTab.worklet': 'src/alphaTab.worklet.js', + }, + output: { + dir: 'dist', + format: 'esm', + entryFileNames: '[name].js', + chunkFileNames: '[name]-[hash].js', + }, + plugins: [nodeResolve(), terser()], + }; + ``` + + Rollup does not rewrite `new URL('./file', import.meta.url)`; the URLs resolve at runtime relative to `main.js`, + so the worker and worklet entries keep fixed names next to it. + +4. The `copy-assets` plugin in the config copies `public/` and alphaTab's `font/` and `soundfont/` folders into + `dist/`. The app sets `core.fontDirectory` and `player.soundFont` to those copies. + +## Notes + +- The default `@coderline/alphatab` import does not work with plain Rollup: alphaTab starts its worker from + `new URL('./alphaTab.worker.mjs', import.meta.url)`, which Rollup leaves unchanged and does not emit. The request + fails with 404 and the page stays empty; the console shows no error, only the network panel shows the failed + worker request. +- The worker and worklet entries have no content hash in their file names. Serve them with revalidation + (e.g. `Cache-Control: no-cache`) or add your own versioning. diff --git a/src/bundler-rollup-4/package.json b/src/bundler-rollup-4/package.json new file mode 100644 index 0000000..551547a --- /dev/null +++ b/src/bundler-rollup-4/package.json @@ -0,0 +1,21 @@ +{ + "name": "alphatab-bundler-rollup-4", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "rollup -c --watch", + "build": "rollup -c", + "preview": "serve dist --listen 4185" + }, + "dependencies": { + "@coderline/alphatab": "^1.9.0-alpha.1965" + }, + "devDependencies": { + "@rollup/plugin-node-resolve": "^16.0.3", + "@rollup/plugin-terser": "^1.0.2", + "rollup": "^4.67.2", + "rollup-plugin-serve": "^3.0.0", + "serve": "^14.2.6" + } +} diff --git a/src/bundler-rollup-4/public/index.html b/src/bundler-rollup-4/public/index.html new file mode 100644 index 0000000..091aa77 --- /dev/null +++ b/src/bundler-rollup-4/public/index.html @@ -0,0 +1,13 @@ + + + + + + alphaTab with Rollup 4 + + + +
+ + + diff --git a/src/bundler-rollup-4/public/iron-waltz.gp b/src/bundler-rollup-4/public/iron-waltz.gp new file mode 100644 index 0000000000000000000000000000000000000000..15c11388b581afcd7c57e38a14645d8686e547c7 GIT binary patch literal 72703 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 v@?wkh7yuLcfPe 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 B6lDMa literal 0 HcmV?d00001 diff --git a/src/bundler-rollup-4/rollup.config.js b/src/bundler-rollup-4/rollup.config.js new file mode 100644 index 0000000..437eef5 --- /dev/null +++ b/src/bundler-rollup-4/rollup.config.js @@ -0,0 +1,45 @@ +import fs from 'node:fs'; +import path from 'node:path'; +import { nodeResolve } from '@rollup/plugin-node-resolve'; +import terser from '@rollup/plugin-terser'; +import serve from 'rollup-plugin-serve'; + +const outdir = path.resolve(import.meta.dirname, 'dist'); +const alphaTabDist = path.resolve(import.meta.dirname, 'node_modules/@coderline/alphatab/dist'); +const watch = !!process.env.ROLLUP_WATCH; + +/** Copies public/ and alphaTab's font and SoundFonts into the output folder. */ +function copyAssets() { + return { + name: 'copy-assets', + writeBundle() { + fs.cpSync(path.resolve(import.meta.dirname, 'public'), outdir, { recursive: true }); + fs.cpSync(path.join(alphaTabDist, 'font'), path.join(outdir, 'font'), { recursive: true }); + fs.cpSync(path.join(alphaTabDist, 'soundfont'), path.join(outdir, 'soundfont'), { recursive: true }); + }, + }; +} + +/** @type {import('rollup').RollupOptions} */ +export default { + input: { + main: 'src/main.js', + 'alphaTab.worker': 'src/alphaTab.worker.js', + 'alphaTab.worklet': 'src/alphaTab.worklet.js', + }, + output: { + dir: outdir, + // ESM output: the shared alphaTab core chunk is imported by the page, the worker and the worklet. + format: 'esm', + // main.js references the worker and worklet by these names. + entryFileNames: '[name].js', + chunkFileNames: '[name]-[hash].js', + sourcemap: watch, + }, + plugins: [ + nodeResolve(), + !watch && terser(), + copyAssets(), + watch && serve({ contentBase: outdir, host: 'localhost', port: 4185 }), + ], +}; diff --git a/src/bundler-rollup-4/src/alphaTab.worker.js b/src/bundler-rollup-4/src/alphaTab.worker.js new file mode 100644 index 0000000..80a052e --- /dev/null +++ b/src/bundler-rollup-4/src/alphaTab.worker.js @@ -0,0 +1,2 @@ +// Entry of alphaTab's render and synthesizer web worker. +import '@coderline/alphatab/worker'; diff --git a/src/bundler-rollup-4/src/alphaTab.worklet.js b/src/bundler-rollup-4/src/alphaTab.worklet.js new file mode 100644 index 0000000..2318372 --- /dev/null +++ b/src/bundler-rollup-4/src/alphaTab.worklet.js @@ -0,0 +1,2 @@ +// Entry of alphaTab's audio worklet. +import '@coderline/alphatab/worklet'; diff --git a/src/bundler-rollup-4/src/main.js b/src/bundler-rollup-4/src/main.js new file mode 100644 index 0000000..e5622a9 --- /dev/null +++ b/src/bundler-rollup-4/src/main.js @@ -0,0 +1,31 @@ +// `@coderline/alphatab/core` does not start workers on its own: the app tells alphaTab how to create them. +import * as alphaTab from '@coderline/alphatab/core'; + +alphaTab.Environment.initializeMain( + (_settings, nameHint) => + new Worker(new URL('./alphaTab.worker.js', import.meta.url), { type: 'module', name: nameHint }), + (context) => context.audioWorklet.addModule(new URL('./alphaTab.worklet.js', import.meta.url)), +); + +const element = document.querySelector('#alphaTab'); +const playPause = document.querySelector('#play-pause'); + +const api = new alphaTab.AlphaTabApi(element, { + core: { + file: new URL('./iron-waltz.gp', import.meta.url).href, + // Copied to /font/ and /soundfont/ by the copy-assets plugin in rollup.config.js. + fontDirectory: new URL('./font/', import.meta.url).href, + }, + player: { + playerMode: alphaTab.PlayerMode.EnabledAutomatic, + soundFont: new URL('./soundfont/sonivox.sf3', import.meta.url).href, + }, +}); + +api.playerReady.on(() => { + playPause.disabled = false; +}); +api.playerStateChanged.on((e) => { + playPause.textContent = e.state === alphaTab.synth.PlayerState.Playing ? 'Pause' : 'Play'; +}); +playPause.addEventListener('click', () => api.playPause()); diff --git a/src/bundler-rsbuild-2/README.md b/src/bundler-rsbuild-2/README.md new file mode 100644 index 0000000..753acea --- /dev/null +++ b/src/bundler-rsbuild-2/README.md @@ -0,0 +1,69 @@ +# alphaTab with Rsbuild 2 + +A plain Rsbuild 2 browser app (TypeScript, no framework) that renders a Guitar Pro file and plays it back. +Rsbuild runs on Rspack, so alphaTab's webpack plugin +[`@coderline/alphatab-webpack`](https://www.npmjs.com/package/@coderline/alphatab-webpack) is added to the Rspack +configuration through `tools.rspack`. The project follows the `create-rsbuild` vanilla TypeScript template. + +Versions: Rsbuild 2.3 (Rspack 2.3), TypeScript 7, alphaTab 1.9. +The same configuration was also verified with Rsbuild 1.7 (Rspack 1.7); no separate sample is needed for it. + +## Run + +```sh +npm install +npm run dev # dev server on http://localhost:4130 +npm run build # production build into dist/ +npm run preview # serves dist/ on http://localhost:4130 +``` + +## alphaTab setup + +[rsbuild.config.ts](./rsbuild.config.ts): + +```ts +import { defineConfig } from '@rsbuild/core'; +import { AlphaTabWebPackPlugin } from '@coderline/alphatab-webpack'; + +export default defineConfig({ + html: { template: './index.html' }, + tools: { + rspack: (_config, { appendPlugins }) => { + appendPlugins(new AlphaTabWebPackPlugin()); + }, + }, +}); +``` + +What the plugin does: + +- Bundles alphaTab's web worker and audio worklet as separate entries. +- Moves alphaTab's core into one `alphaTabCore` split chunk that the page, the workers and the worklet load, instead of + one copy per runtime. Rsbuild's own chunk splitting stays as configured; the plugin only adds its cache group. +- Copies the Bravura font to `dist/font/` and the SoundFonts to `dist/soundfont/`, and serves them in the dev server. + +Rsbuild's HTML generation loads every file of the entrypoint, which the shared core chunk needs. + +The app code ([src/index.ts](./src/index.ts)) sets the font and SoundFont locations explicitly: + +```ts +const api = new alphaTab.AlphaTabApi(element, { + core: { + file: new URL('./iron-waltz.gp', import.meta.url).href, + fontDirectory: '/font/', + }, + player: { + playerMode: alphaTab.PlayerMode.EnabledAutomatic, + soundFont: '/soundfont/sonivox.sf3', + }, +}); +``` + +`fontDirectory` is required here: alphaTab looks for the font next to its script by default, and Rsbuild emits +scripts into `dist/static/js/`, while the plugin copies the font to `dist/font/`. Without the setting, the font +requests go to `/static/js/font/` and fail with 404, and nothing is rendered. + +## Notes + +- If `npm install` reports an `ERESOLVE` peer conflict for `@rspack/core`, or installs a second `@rspack/core`, the + installed `@coderline/alphatab-webpack` predates Rspack 2 support; update it. diff --git a/src/bundler-rsbuild-2/index.html b/src/bundler-rsbuild-2/index.html new file mode 100644 index 0000000..b211740 --- /dev/null +++ b/src/bundler-rsbuild-2/index.html @@ -0,0 +1,12 @@ + + + + + + alphaTab with Rsbuild 2 + + + +
+ + diff --git a/src/bundler-rsbuild-2/package.json b/src/bundler-rsbuild-2/package.json new file mode 100644 index 0000000..3005dcc --- /dev/null +++ b/src/bundler-rsbuild-2/package.json @@ -0,0 +1,20 @@ +{ + "name": "alphatab-bundler-rsbuild-2", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "rsbuild dev", + "build": "rsbuild build", + "preview": "rsbuild preview" + }, + "dependencies": { + "@coderline/alphatab": "^1.9.0-alpha.1965" + }, + "devDependencies": { + "@coderline/alphatab-webpack": "^1.9.0-alpha.1965", + "@rsbuild/core": "^2.3.0", + "@types/node": "^24.19.2", + "typescript": "^7.0.2" + } +} diff --git a/src/bundler-rsbuild-2/rsbuild.config.ts b/src/bundler-rsbuild-2/rsbuild.config.ts new file mode 100644 index 0000000..fb14b02 --- /dev/null +++ b/src/bundler-rsbuild-2/rsbuild.config.ts @@ -0,0 +1,16 @@ +import { defineConfig } from '@rsbuild/core'; +import { AlphaTabWebPackPlugin } from '@coderline/alphatab-webpack'; + +export default defineConfig({ + html: { + template: './index.html', + }, + server: { + port: 4130, + }, + tools: { + rspack: (_config, { appendPlugins }) => { + appendPlugins(new AlphaTabWebPackPlugin()); + }, + }, +}); diff --git a/src/bundler-rsbuild-2/src/index.ts b/src/bundler-rsbuild-2/src/index.ts new file mode 100644 index 0000000..7093620 --- /dev/null +++ b/src/bundler-rsbuild-2/src/index.ts @@ -0,0 +1,26 @@ +import * as alphaTab from '@coderline/alphatab'; + +const element = document.querySelector('#alphaTab')!; +const playPause = document.querySelector('#play-pause')!; + +const api = new alphaTab.AlphaTabApi(element, { + core: { + // The bundler emits the score as an asset and rewrites this URL. + file: new URL('./iron-waltz.gp', import.meta.url).href, + // Rsbuild emits scripts to static/js/; the plugin copies the font to /font/. + fontDirectory: '/font/', + }, + player: { + playerMode: alphaTab.PlayerMode.EnabledAutomatic, + // Copied to /soundfont/ by the alphaTab plugin. + soundFont: '/soundfont/sonivox.sf3', + }, +}); + +api.playerReady.on(() => { + playPause.disabled = false; +}); +api.playerStateChanged.on((e) => { + playPause.textContent = e.state === alphaTab.synth.PlayerState.Playing ? 'Pause' : 'Play'; +}); +playPause.addEventListener('click', () => api.playPause()); diff --git a/src/bundler-rsbuild-2/src/iron-waltz.gp b/src/bundler-rsbuild-2/src/iron-waltz.gp new file mode 100644 index 0000000000000000000000000000000000000000..15c11388b581afcd7c57e38a14645d8686e547c7 GIT binary patch literal 72703 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 v@?wkh7yuLcfPe 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 B6lDMa literal 0 HcmV?d00001 diff --git a/src/bundler-rsbuild-2/tsconfig.json b/src/bundler-rsbuild-2/tsconfig.json new file mode 100644 index 0000000..2326544 --- /dev/null +++ b/src/bundler-rsbuild-2/tsconfig.json @@ -0,0 +1,22 @@ +{ + "compilerOptions": { + "lib": ["DOM", "ES2020"], + "target": "ES2020", + "noEmit": true, + "skipLibCheck": true, + "types": ["@rsbuild/core/types", "node"], + "useDefineForClassFields": true, + + /* modules */ + "moduleDetection": "force", + "moduleResolution": "bundler", + "verbatimModuleSyntax": true, + "resolveJsonModule": true, + "allowImportingTsExtensions": true, + + /* type checking */ + "noUnusedLocals": true, + "noUnusedParameters": true + }, + "include": ["src"] +} diff --git a/src/bundler-rspack-1/README.md b/src/bundler-rspack-1/README.md new file mode 100644 index 0000000..1f8532e --- /dev/null +++ b/src/bundler-rspack-1/README.md @@ -0,0 +1,58 @@ +# alphaTab with Rspack 1 + +A plain Rspack 1.7 browser app (TypeScript, no framework) that renders a Guitar Pro file and plays it back. +Rspack is webpack-compatible, so it uses the same plugin as webpack: +[`@coderline/alphatab-webpack`](https://www.npmjs.com/package/@coderline/alphatab-webpack). +The project follows the `create-rspack@1` vanilla TypeScript template. For new projects prefer +[Rspack 2](../bundler-rspack-2/); the alphaTab setup is the same. + +Versions: Rspack 1.7.12 (`@rspack/cli`, `@rspack/core`), TypeScript 7, alphaTab 1.9. +Also verified with Rspack 1.7.0. + +## Run + +```sh +npm install +npm run dev # dev server on http://localhost:4110 +npm run build # production build into dist/ +npm run preview # serves dist/ on http://localhost:4110 +``` + +## alphaTab setup + +[rspack.config.ts](./rspack.config.ts): + +```ts +import { rspack } from '@rspack/core'; +import { AlphaTabWebPackPlugin } from '@coderline/alphatab-webpack'; + +export default defineConfig({ + // ... + plugins: [ + new rspack.HtmlRspackPlugin({ template: './index.html' }), + new AlphaTabWebPackPlugin(), + ], +}); +``` + +What the plugin does: + +- Bundles alphaTab's web worker and audio worklet as separate entries. +- Moves alphaTab's core into one `alphaTabCore` split chunk that the page, the workers and the worklet load, instead of + one copy per runtime. For that it sets `optimization.usedExports = 'global'` in production builds when you did not + configure it (it warns if you set it to `true`, which would duplicate the core). +- Copies the Bravura font to `dist/font/` and the SoundFonts to `dist/soundfont/`, and serves them in the dev server. + +Because the core is a split chunk of the entrypoint, the HTML must load every file of the entrypoint. +`HtmlRspackPlugin` does this. If you write the ` + + diff --git a/src/bundler-vite-6/package.json b/src/bundler-vite-6/package.json new file mode 100644 index 0000000..87781de --- /dev/null +++ b/src/bundler-vite-6/package.json @@ -0,0 +1,19 @@ +{ + "name": "alphatab-bundler-vite-6", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview" + }, + "dependencies": { + "@coderline/alphatab": "^1.9.0-alpha.1965" + }, + "devDependencies": { + "@coderline/alphatab-vite": "^1.9.0-alpha.1965", + "typescript": "~7.0.2", + "vite": "^6.4.5" + } +} diff --git a/src/bundler-vite-6/src/iron-waltz.gp b/src/bundler-vite-6/src/iron-waltz.gp new file mode 100644 index 0000000000000000000000000000000000000000..15c11388b581afcd7c57e38a14645d8686e547c7 GIT binary patch literal 72703 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 v@?wkh7yuLcfPe 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 B6lDMa literal 0 HcmV?d00001 diff --git a/src/bundler-vite-6/src/main.ts b/src/bundler-vite-6/src/main.ts new file mode 100644 index 0000000..9dbb221 --- /dev/null +++ b/src/bundler-vite-6/src/main.ts @@ -0,0 +1,26 @@ +import * as alphaTab from '@coderline/alphatab'; + +const element = document.querySelector('#alphaTab')!; +const playPause = document.querySelector('#play-pause')!; + +const api = new alphaTab.AlphaTabApi(element, { + core: { + // Vite emits the score as an asset and rewrites this URL. + file: new URL('./iron-waltz.gp', import.meta.url).href, + // Vite emits scripts to assets/; the plugin copies the font to /font/. + fontDirectory: `${import.meta.env.BASE_URL}font/`, + }, + player: { + playerMode: alphaTab.PlayerMode.EnabledAutomatic, + // Copied to /soundfont/ by the alphaTab plugin (via public/). + soundFont: `${import.meta.env.BASE_URL}soundfont/sonivox.sf3`, + }, +}); + +api.playerReady.on(() => { + playPause.disabled = false; +}); +api.playerStateChanged.on((e) => { + playPause.textContent = e.state === alphaTab.synth.PlayerState.Playing ? 'Pause' : 'Play'; +}); +playPause.addEventListener('click', () => api.playPause()); diff --git a/src/vite-react/tsconfig.json b/src/bundler-vite-6/tsconfig.json similarity index 52% rename from src/vite-react/tsconfig.json rename to src/bundler-vite-6/tsconfig.json index a7fc6fb..4ebf308 100644 --- a/src/vite-react/tsconfig.json +++ b/src/bundler-vite-6/tsconfig.json @@ -1,25 +1,24 @@ { "compilerOptions": { - "target": "ES2020", - "useDefineForClassFields": true, - "lib": ["ES2020", "DOM", "DOM.Iterable"], - "module": "ESNext", + "target": "es2023", + "module": "esnext", + "lib": ["ES2023", "DOM"], + "types": ["vite/client"], "skipLibCheck": true, /* Bundler mode */ "moduleResolution": "bundler", "allowImportingTsExtensions": true, - "resolveJsonModule": true, - "isolatedModules": true, + "verbatimModuleSyntax": true, + "moduleDetection": "force", "noEmit": true, - "jsx": "react-jsx", /* Linting */ "strict": true, "noUnusedLocals": true, "noUnusedParameters": true, + "erasableSyntaxOnly": true, "noFallthroughCasesInSwitch": true }, - "include": ["src"], - "references": [{ "path": "./tsconfig.node.json" }] + "include": ["src", "vite.config.ts"] } diff --git a/src/bundler-vite-6/vite.config.ts b/src/bundler-vite-6/vite.config.ts new file mode 100644 index 0000000..97f2293 --- /dev/null +++ b/src/bundler-vite-6/vite.config.ts @@ -0,0 +1,12 @@ +import { defineConfig } from 'vite'; +import { alphaTab } from '@coderline/alphatab-vite'; + +export default defineConfig({ + plugins: [alphaTab()], + build: { + // alphaTab's core chunk is about 1.2 MiB minified. + chunkSizeWarningLimit: 1500, + }, + server: { port: 4140 }, + preview: { port: 4140 }, +}); diff --git a/src/bundler-vite-7/.gitignore b/src/bundler-vite-7/.gitignore new file mode 100644 index 0000000..a5a08f6 --- /dev/null +++ b/src/bundler-vite-7/.gitignore @@ -0,0 +1,5 @@ +node_modules +dist +# copied from @coderline/alphatab by the alphaTab Vite plugin +public/font +public/soundfont diff --git a/src/bundler-vite-7/README.md b/src/bundler-vite-7/README.md new file mode 100644 index 0000000..d572290 --- /dev/null +++ b/src/bundler-vite-7/README.md @@ -0,0 +1,67 @@ +# alphaTab with Vite 7 + +A plain Vite 7 browser app (vanilla TypeScript, no framework) that renders a Guitar Pro file and plays it back. +It uses [`@coderline/alphatab-vite`](https://www.npmjs.com/package/@coderline/alphatab-vite) so that alphaTab's +render worker and audio worklet are bundled correctly and share one alphaTab core chunk with the page. +The project follows the `create-vite` vanilla TypeScript template. Vite 7 builds with Rollup. + +Versions: Vite 7.3, TypeScript 7, alphaTab 1.9. Also verified with Vite 7.0.0. + +## Run + +```sh +npm install +npm run dev # dev server on http://localhost:4150 +npm run build # type check and production build into dist/ +npm run preview # serves dist/ on http://localhost:4150 +``` + +## alphaTab setup + +[vite.config.ts](./vite.config.ts): + +```ts +import { defineConfig } from 'vite'; +import { alphaTab } from '@coderline/alphatab-vite'; + +export default defineConfig({ + plugins: [alphaTab()], + build: { + // alphaTab's core chunk is about 1.2 MiB minified. + chunkSizeWarningLimit: 1500, + }, +}); +``` + +What the plugin does: + +- Emits alphaTab's web worker and audio worklet as chunks of the main build. Page, worker and worklet import the same + `alphaTab.core-[hash].js` chunk. +- In the dev server, excludes alphaTab from dependency pre-bundling so that the worker and worklet load the same + `alphaTab.core.mjs` module as the page. +- Copies the Bravura font and the SoundFonts from `@coderline/alphatab` into the public directory + (`public/font/`, `public/soundfont/`), so they are served in dev and end up in `dist/font/` and + `dist/soundfont/`. The copies are generated; [.gitignore](./.gitignore) excludes them. + +`build.chunkSizeWarningLimit` only silences Vite's 500 kB warning for alphaTab's core chunk. + +The app code ([src/main.ts](./src/main.ts)) sets the font and SoundFont locations: + +```ts +const api = new alphaTab.AlphaTabApi(element, { + core: { + file: new URL('./iron-waltz.gp', import.meta.url).href, + fontDirectory: `${import.meta.env.BASE_URL}font/`, + }, + player: { + playerMode: alphaTab.PlayerMode.EnabledAutomatic, + soundFont: `${import.meta.env.BASE_URL}soundfont/sonivox.sf3`, + }, +}); +``` + +`fontDirectory` is required for production builds: alphaTab looks for the font next to its script by default. +In the dev server that is `node_modules/@coderline/alphatab/dist/font/`, which happens to exist, but a build emits +the scripts into `dist/assets/`, so without the setting the font requests go to `/assets/font/` and fail with 404, +and nothing is rendered. Prefixing the paths with `import.meta.env.BASE_URL` keeps them correct for any Vite `base` +(verified with the default `/` and with `base: './'` served from a sub-path). diff --git a/src/bundler-vite-7/index.html b/src/bundler-vite-7/index.html new file mode 100644 index 0000000..3db1f1c --- /dev/null +++ b/src/bundler-vite-7/index.html @@ -0,0 +1,13 @@ + + + + + + alphaTab with Vite 7 + + + +
+ + + diff --git a/src/bundler-vite-7/package.json b/src/bundler-vite-7/package.json new file mode 100644 index 0000000..3157012 --- /dev/null +++ b/src/bundler-vite-7/package.json @@ -0,0 +1,19 @@ +{ + "name": "alphatab-bundler-vite-7", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview" + }, + "dependencies": { + "@coderline/alphatab": "^1.9.0-alpha.1965" + }, + "devDependencies": { + "@coderline/alphatab-vite": "^1.9.0-alpha.1965", + "typescript": "~7.0.2", + "vite": "^7.3.7" + } +} diff --git a/src/bundler-vite-7/src/iron-waltz.gp b/src/bundler-vite-7/src/iron-waltz.gp new file mode 100644 index 0000000000000000000000000000000000000000..15c11388b581afcd7c57e38a14645d8686e547c7 GIT binary patch literal 72703 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 v@?wkh7yuLcfPe z-VSKq4vdoocu0Bwp;jAs#40!}(Eo!_#*QHML{Nf}9l6d<^&_U_k(uWO59K#XG2rn_ zoD6;@X^aHbUzEsb0(3uM5!=anQ>%P0Oo+;MUnom8=PonH)N1(d+wffoZ)c3jx*xyT zt~4W-D1hgY+)WdXl@pG&1C{4ZD`9-90-4rsAluli)Yuo-TjyLCe5s!!$lF3;`bc5? zs=KvXG$`NR;{6CLv1$DtD28p_D9oGiW2#&fRbf`@(K}YQXo*J8SDuZam9Rez`j@{x z5=WtSP$rwow8z|(dztuxdvU_ap9qbUiK$T7)H;b$=E{Of7}PA3&(LU586o2n0+Xm{ ze)JSm^hz&POTFy{v*yc&&EuE1y;gLSTzzeCuUV5hGy&!%utN$6k%=e}XMHA9R}c#| zc#>h4OR7B9UcL@ODjHXTM2 z01MTi0s;~Q1>)GlzV0j4ng^++w>(4sOUWQ04n{thMzkQuPW(REC>kRl9=}Y6b}_nvw5u4ng{{WSP~ zZY|ZC3HeI_>-fp$s1%#9W33ARQTzX>n?mbwx+5y(rqoy~W+N;3FNG$_!Zie}>q@lh z!2VPF|6RAn+FnaTH_H_8%(II$g4cI0jvf8uV|~g6?QH<;GgE8bM%3V#>c1 z(0D;N>?P4k3IY8W)poJ3dr7tCLO}GEo5+7DDdd8K(F>-LG{`aH->Mb%ANRs+Bn3OZ zq1==l`%8ly%Yh9zkPCQA;s2uA6Q$N<$OVn1F!H*p6qGK1>wL9_TyQaZ0UC{i9Mk_T zxvS{U>|7VpCfh)3%;yU#$G?=rzDp&3D+t7Iw#iCa0xJXk2|`aaB_745)3(N@%9s~U z;}+PFpYkt-Yt%?K$A!efHfsF)T*w8C%OS5bP!iKx7K0sA{y7Xgk*h0C#s`>2(ICeJ z=y6=@ATxd4XBd-WXm>?%%8i7CkcAXS>>LC8DZi)}&R+dV=JfELwtNWThxP3z2J|fa z4SqPTa4Wij;zOnyyBU;U=%g2Z{{+ENyUZ8@Wr1<-vF>ubi~ zxJb@;@HxJ1#1!jUPYT2Abd}QWt-QA5i3(AuNO;>U#x?gm*1al!D0-nqR2GN>6z^NY z;J8=Hc%~)N4&teRu~P?_pU%Q)iT5w5aopo5|AtR~82`;|flS1a_!dSP4rVb3Y$uV0 zR0%^r0I=&V4%u!ignIC7Yj7V#mE{bf=4ESA_ZH3A(b1?Oi&Au290tttksV~ zOJ?2xb1{;H$Z0&qkjjcFamF$Gc;GqEfEnR5|MvihCSVpZ`*~zI(6E%H;TNGv9H|Hq zGr|F7ACMP6%Y>pp5b-F`m?V@33C)P;GQyF|K7`n1m@SBPi1X>jVd0D;_3^-R#3^LR zi4YaCfM32I+EDs$Bt>_S7RC%JD08OT;|gNWb?MrhP6urZh<$Sh1Y2KA9# z^7+&H#hhd3-cj?6EVP{+V=Q=k?psHXN^bl`X>)?odMT{3Fy0PF0W1mmKB4ljeekHj zE~l#8r~o19zF8N?2dYe%3_6%HWaLF~Gjjp#S2ksZE?B0YAOgDMXb#CX)aRdsvoppN(Ho5N1C&}dh=yZ+&ezmes`Rhn#CPk zhax3~h^cQ$9dPK##B1{{tj^E;a36VW9tToPugO#aqa}%uQA}S@*Q*?! z7nE>THtnb!TIoQfY`nOz#LGIZt{tSc+RP)Z(f_*NY1e43oQx+;zV+MNA~=szix)0W zXDY}Bk6Uv}I|w7Y0*0JV1F*t`XNEOv$sss{iOvlkoccYX63hTP0XA`yzlSHI;5N0I|r6yn@H*E2vubd6?w*G*3+HEea|6lr9M1)sg3}JFm3(8V; z0Ze_kT7bhpC!wqu&trCat?t%*hkdskZ_*+J?R+wl|0dw%rmuz7zBVO0JZ`xlVf-q1 zeShDbS>prg`wPb4J3{{e(FAhYnN3quac)r`I)B;UEWgjrj;y~NNqspw`E8Q%+XU&i zNy($1-Gd+F55LTBSE=h)sdHC4JUf4yG#*i{M-hT-C8cB#-tTL-v;R@YhwYwEr&>dP zAE}r;0P7RjBavr%wpiNJ*knuRiN#VLVvVhzL8r<080vRne2(@_ai{zG~4{>aS=3ng!@f|HOwWS5vF%}Ys)yOFYO~ICl zn+~&1E8zwFw^3K>wM<7^r#RZ?GIth^)Ly*7rr9T-(7dwh z`&I8+nhQ%{YrL8Ig0DA-kk(%nX5+-lUb^I*zGe7)gmb$?{C*gh0t-EZ&@1vV?v?GA zu;mfj*i3Y06dok^FBp-vgMbCFQ!^8xmh$AwzqzS}tF7sD`?cFp$~txIn@21JCS3t(DgM z%Fe54_5jPr)i_U&t*H^AcJC&1r?)jqFRz}?+4lsym7Zpzn67*oFjSbuVJ>d;3@zOktWN$Yqt zx0WW!I9^JgD!vXMlY1XNN7+~hY&0`% zb7{38EVMyETk5PdfsJSOTmci4iSl`(jjQ68RrA2GWTH(W73!1ThIKx0%2sFvl!1cm z3^!(7SA5x+GGU+$Oj>cdrt>G?Yi+ z?5tE!wh2?85*<^YLnY~}L*X@sT+vDb;dL~j%W~{IiLyB1@=si1uPC>UU%`(@iIXd!-mP}fvOL23G`|9t zMT@P;(-xs6L#6@I&uDA>+^rbVF66koz1rZHg=H~3GoS{*hbebzmRAHyzwA*34%t@Pqt;Jm?c+Gs4H$4rqD9= z{m=m5Lz}2na%=U2h>{5mU@CbMlQ@k|AW|zpo-T!7iNk2l z)F)r99h41Z>QgL*W!c5qE$a0%u>CSP%`^M)#cH@FZ{1WUDl_mlii zl^#+cqO_K3$m?2Ce<_0Hta7wX&^aN6AKkwV0JmwQ4fvdp(ob$I59=RF;pe0&^2Tx& zu4>^#(6tIq(yoW&H2N*N?cNg?wApIPH(ob^C1hbI< z{Fg$LWZ|*{)|Dh4H2-a_(t9o0k=K=^9+DtEH2+YEhl!Gp2xBIIM!kP`L3?g#{ba{X zup0Hi=XjJ*YVW)y&NXI|jav^`caV56_&<_&NL`q&KYhK+g6XD%sYmW}fK~Ui41~L% z`F^AN6Y1mqR@BagZy;V&T+9V;0CFpGuVL>I;ML)-vF~X;3cV!x?fKy~ zLgzv^;3$_ce-u4Pz2kiwP!WJB87CobFaEXwy^rFQ;%y;%KgTIYY(ab}<2j5Z7`e0X>6G_AF`zl^b@^I5oMZB+n^<>dvb9dG zctL{Z9Bfi>rk4LZOWjp&&@jIIldJbvEN`Rs{h5q?6L+33^SgG-^jiwG`8Y}!hwYnv zv?m0eU|N~C7;Uz939)$YP@o%mA8^WdLp`vQtL~l&b+W%q&h-%?)GX=D+TAP?od+Ut z6tiUqBD*i1g-P|F&4U}vgQuer1|A7eQmMiy35c2TC&S;KLt?@XBq~xEn$Njm{P|d4 zz*p>eOjan&X~fKFn>Fv*{6B@MS6b@*YO-cI;ZOT9S$00k_-c?$@iPpe8m#C^H{kv% zN~JeCX)e~Iz&@9oI5s!|kZ(pMeq!2Eh?`eX89DETB(5Umv`Ce*p?-Jbw&>}9?>zdR z9g`O+b;LQeVcg8I(ZUfsGAm4RvaNs3o}+bxvlT@KBvmTv5c}#u6ibR|5ph0rI)roP zP!8WA4Remm#18-6qDTMD79pYU&v=*9-t+mGSVfz)6L%Tun@F<2m-TF!>%;rA>;&v1 z=cH{^liok7v(wo-2WJU5{a5rj`H0*8zn(A7V$|wFH^~ETZ%nvu7z4Xby0~=DhL)Q# z{&>Cg{}Bneh8r=1YwY*hHJf#*Ltk8i9Uw79No5mz3qIzzD{>005T=gLS3(E1eKu0B z_~HMasKcGsvM+4NeORObBC*JH>Gp{q6+}$ijMoFNjn>dBv1Lcj^lw{v1Y( zsg4*nq0YA(j@JGm`xp(Cf?CRor)!>=duQaln4fMg7Bw}BMfR%vWb#KzzW`%bmh$fM zcT>0TK!A&4g|Z>VBGh`jjOYE4OFy?EuOqa;deJsa$k>I>h2e)9}!^3 zWJO9HKIf7{8>!e@1Ztb30>i01xcn{IdHV4F1m64LM*4F0IUV~E96O|GbH`zgE3 znA>)hi|$z(`CArD6Pq?)<0rUH9vFTQ+h8{AOq%-oj1(F7j@R3EQsQ<}fR$dwxfS42 z&#pZH&Pg2ZvKHRSR6-DwDPlH^`n_pc!yclpkyjwe{?kq3k2*|(ig@ru0}*}Ui+9%L zP=Rpbd@j`%xfMYU4&WeFU69trwTE**?FUN!uf=?|FHfw|JWowOa-XJbZ&|1bUz0sO z>3+DdX|s`a75&c1d=`9_`~B8x-&*DHCgF$V7oJ1cOwNSua_4~NZKV&edQ!BMQ6F@D z&0e0AI`bWh^Uq=fd(*`2jZx3}r4Al8FT*`<^F8Rt<(K)A-ek>>n_2-?#JB6jAZzwaQ-pUaPU7Kxp;csPJAoU=d4`Qlc| zo_=$X6<~6D$0b(3o-QBY6U#n(zF4VdJFjGh)N5Hs^Pdq`C`Mc!xTeDPm8vhWvcs!w@VBs8sD*OLpdimjhI zXD;t`8_|PKgj6?0*stbzVXCZ8y3s)-=_Pl_loRKD){;9iF3oEs@&Ga? zIZbS#M0-U|R?5mlg{oS5&EGjuOX~4N$nt2T8pRxmLj1UXmt*O)k5GZsb8P2vw=;GVrokd4s;PlbVJBrxoiYI+edjxUaMVLF>(93xv z%|O}2Yd)ftpm~*GN_rFZZqOv?88(*P?4hTmH$C>ss&Drti6n*1{yb@@I3`9u-BY=1 ziW6^eF>KehVfUiUV+*^}DZb7Si5+e}4pa4PkwF0%f}KPmkF8CMJOO0mlJsRzNchfj zx~rO&_ha1LB(#i5h5#AZiRQW$UZaIIp%5kz44G&+F7@ca?lg(7)4PBFqY46M1iqKT zK2#W}qWKV}{X+vH24s3}*ZxsiMkPfMrO+AYvLy%2-JmQhbMXF$R%alxvAFzdy)VnN zjshaXco5h!h?-EHmQY<`m;!+?rNkVfG+bcM6n;!4o#YhJ?i5j@#c7!tO_^%JseBSn z>oG{O_4%~noh~I|Aq_Ql5>~vWOsb^}C0;SErFK%Z1{+>+Rpq3%0^lj?AW z71M}z{IEbNar#`GyT^XjsJT&?Wk`~;f&!gD60%Mba+tQVCIkp%qU+FBt|~K+X5*qg z@rpk4nh?U%`lXa802vhz;p%Br(dx8A-r|wx2dVIbeox4i^GFL?(~xkJjK=bg#{TAh zioI4=J+WrossTHt6=%1UWw(@Pw-ja#4V!(m;xs!ez-$xqvO4wq z8mYn)*tGgd5EfS&r79XFCK^sf>}1H0KvD)1P&v#pGl@k>Ax$vJN+-!maGU^a8J1L| z;MBxC0$QPU`uKA^RX%MG?~-iaPYqL-ai9wRL#p)qX&JM_&rE-0Ae-YCFT#?B#kLNN zJn1FYLS7DbOs=6vxraXW2aPli@adbEjq86n(6`AIgwJpTjJZxcFEj18#)>00cXU54 z=zl6Y;_FZWY!yrqV;`cikrJ-}w#?w3l|nuPvG{0_vcInJg`GskId72ML|m{f@><4d zf`D%A!^YCB+Vzx%w+={g%Y3x!X;U`Y*|U5E)fYCy_Sp%`tvtHIDL(Q8-GjsSqe8mE z(G44=NL|=qV<*Qhl!lF#sO3wGnm=+C4-CtBG`fC9H4nIf;!Te-!yvbf_glZ{FapB9 zme-yuA$HHAea!z9Rw5}>5JRGXFSrxpVMba4H%vjQ36@44pj33L z8-$)eMqfTgZ(gNbdS^9|e-JBv$!(bWxw^OHr`mH=^JsMb7~;#`F2;5em`?aI&)>k@ zxt~g7r)RWKSF=4-cMc7X-*9kJ*eDB?Ts)8+I>DmG1L2oh3&u*vb%LD^4xJ8uoeshA zIUW4CmvU~0-&|}iYd9K`a0D zegg)&!Tx=NZn)4O?d;@X<>bMx<>BLKAf_2lMZHl)&($hp+H3FwST&Fl7Ht z9(N08H>c!?u*Vk04yjl)>;&gG8RlM~| zq%gXy=TmqSw``ZS#wx*NikNoNjM%;qie@mG<1rudfgJR*WN5NLF3Nwm%H`x3MJ^1T?^G0-MH@ZUk^sbkCSS zBFseKZwRhAP-QW*&h|2-x>cOyKy0(;?O#2SlUyt)g-_Www}#ya+><@zjidD5$GX1! z8b000lzOV&Ell)3xgD$9(%_FoceN}s7VxB>y2M_Q3~uAzMSbrg;OYZvycK=gmuG=P z9eC8-sf2;lN=!}UPKk^R3o~AedhS#lSl)?tbjxJU7TK;c2#s>nztAuwmi0X%27zHu z%EOuAbTqoDYP9GZBiz#{DnoI9{_*`BaG8$1>CLse2qL6Vc;-NGS`Fswo)R8jEV4w` zm|FCd*?p2~cuxem?oJ*j8CMiBMMUu@NBD+?`91Ff0oibi{&{=)fkgB$Rm7yAZ@U`q zXQvih%=yl`JGD+CtBz8tQYm1b&Np06F|}}DZ0B0Nkfk$%-Ker%j7m?)y+M-*VjQ3w z3h6X!TD~F?HE)?r$murf&W61z${?=@HIKortC{Ppk-*f_L3$-;PH|y4bk^K){xyk$ zoYaYm`&y3IoDX~D|K}Mg>5wI-5|_=m2G__&P>M@ef`s&~xp_2Bg|}ZH`vS!}D{eb~ zDH@f+K=wg7HSV4I_kQ8@1G^hgnMMsxg^@g(Wyv)5P2p zj{LcMs^K(8bog#ep<#`V*7k#!;TL6}#HS!9spbUQp8Axx!7~X1wz$ZNojH9*66Fv0eB(%{92mkS_cwftrWAI~NM#;f z9mA_=f=Ux7X64V;lupma6Tc0cP=p!M;&E7eGY`*sBNc`6 z35oA0j<9&tu}69M!bL62Nc?2m!{F{zcjRQR2}GiLP)s5!H%^Q}2DyR6S^aNH?sbYY z-<~HH`j*_&za+K%sSsFQ>u&sG7BlfI*j-Z7QD$XT%Uf%v7Hld5i!1PSlIw|Z_*J`l z7CEWWSW8gcF|ed&{g87{{|j$Ia_GYI4MI~78z`J9>~wu&m|nY}{vNm&b&@;{Fwdeo zYk76QYtGhRw>Bhg68<6S*PyOHE24$!nJ|m3hOyo9^R&OGuiNc~;q=UF7XR~c=lIwc z`GBh;VI^MJHpBF&y7Maww>fIRFq%DZU2B#aac;5d9&%JYlQlP|srBW1eQK%F4)VLG zmkPN*fh=ZHv36(Qok66lt%xGiI2&TX3(3$Yds3B!=VU=OQrpI~{Wn6Tg?6>Udji-T z#UJ9Wd8Y%s4_nd$c+0!8266FurNo_076w?F#h(lsllN!htw4s|QDL{CM@q}b^?GfB z)}ZvB9{X3cf7`_t&;Wfu)E<%oU|^{K-|V87os~D|KgLmZlF~6022*a=`*n*h!w!;~ zil?%o!=j^d@co~S1{*rkDpBEoM@x-0z^#`dC581yi`knb$D}R+ciMnokGhOqhF7U> z-S?^d-=223|IFNN`QJ=qWF``aX%MAq5Xa3E<<1j_auOwT62~+UWsb>GDr!U-@D$3WstFC36eMGzsZL-pHyW>Zrd_nL{+5dm}AE zi%}nOG|0GoV)Zr<@c%&r|2$j8{eQ9s{#lChf3ybvnWX$bS_A(K#{D0yfq(qj|9{hf zo1aYvSPllJ8x;Wt`~T4v{Aa(|&ibNf%WHG2k?v!CdE~>_^CsO*85zs}#ob#*#T7Jb zqrnpbA-Dz)?jAhA;O;JiOK^9Wfx+F~-CaWP;O_43!M{n~bJjZFz5mX-zwTNy-MhQ$ zsjli>-M#lr%a$pJREIXh{P@zY&RMKn2LE)K8oj1JeP*t>O>8OmS($gJTbP@FXKLCt z)irq?T0Xg8EX?xLbHO_@BSMd7Z6wbH5GTdS>W( z-Xc+xUL(ytJRBX-=;>k%aDj47i_X-x80@A`Zj2t?-&PBf)_2mbZ=a{q^9l703 z0^-_wizuh-u4lOg_)s%Vs4(aiE77#@3yBM|lHjaJKbUga7d*xu4(q=+A?NWDtetoO+BqqC_ zWzX_r(6U%rHNLugE?}{n7k9X>w*26x%YC?e+vf>KbZy+3`Q!TIAH&X$z_du$H{3OC z#>VTi**+^M#(6E*Hr*F3U2Wu7`&-Yu=V^hL{kXnoUOnrpkFK|fov-uzK0a`J0NA(n zx5utc`?i<*2LZ~sk>e<${gEglll_PA>)CuWu0@}rp&tWQ^K}K&W%ry-mwS)p@^!O# zuZo>_0xzcO`$T&q&p%f;cdgtmw|36UcCUpd=l8D{p({Bb!nYo52>%#8o_cmHc4qwD zpV<_9H?aln~*+#AGG--U@2jUG|1+;1}TX3}VG{KXL`=cCPOP+B)$vTXU0%QDD zl}$yw8J-Wl7QHV$76C^oZ}S#Tx6Td8Sw8$P#*NKm_xp*Tl4Nj9+qT=2XU?MKv->?ZXjo`?){K*=bZI?Z8#T2$e5VeN zeNC^|_^i&6D*lSXxUJivn}G+GtO_}S-&kp$+>2d2Dc*cqS)$WJ^L=SeWuxuQLTni; zo%|`UEbG758Ly^Km-y~R+v3b8QHqlL1gD42Mu!{~TVg_7obKG*UY*(Xtg~LnK$g$d z?SpS#J~^w$TNiTs`}4<6oxJ1sSqY!grPs?D_K5Z#0FyyyAN0r-FqRMVAA5#wiXeXD z`AusjlPg0RB}2MPXT0(%i{Eo$N9$f?w~112<_FFq!k3Uy?z26`)7G)VincNNSn`-g z7|Pk6%j?DC<(OTQQxu}BYx>`eo$hxOAfK1LYkOyQ0iTw1dR3x(o6Hu|muKh3#qRuS zz?oLl!xD1e`&?}E%PzkI0Mg{gWAAi>R=$zZ+rFliH}2P4t7D4Ttn2mb+ovqGva;2u zB=+@#*P~97m%kM}z5D!p>(h5|ym*y+rcr(;cKsqC^5>YbtnXIk)!yyWxzW@49AA&T z#H}(9MZ`!>^J~sI$mZId`5mD&FIL@x@aOP6W9^(}!8lHqAYJ)B3YDh}Z3o{IIjV z-};qO4+5>qHur@K4dt1lupJF}Izz4Nj5pOefkjWpRx0&)CrUCZfkyA*-iMxMJSJu& z*9Ke)krWOEXU zuEU$Iuh*S>ckduQh=9#iR^o&1Ekxnfp}vND;Wpkum$gTg&Xr6|^zV~FRoD*?&U^yv zAGcHy`{Gm11==6V*`hi%br_q9oH@b&)MvaZ>ySLrTk{-Uez<#P=_=NJogVFZaT-^h z9|^y&+qL02lq)@Vxm(H-5dw+ov znQ@Z4tT-=o=5o3t>m3)XOnL8EjI%j1S~P27+CCqIV5hqfyv#{Coi)}}w|+gn&y{ha zmx-bK@MC1PU8OO{Wuwm$UmzLvcwd*UL#hDxA#-z0E@!=RZvUaLQf>7|()u~3lf(6v zp8;+8TGgLpl#vH#eyw=$a#Y>@gAl)i3&>;RbocZkYX!e3ZHV)F)VYBHxSY1BQO}j~ z+OD}%v_3Z0RCc?6nD6Ss;&t82DbRc_@U-+{;DtM-bFsrssokwj*Gqf6Qg#tH@5ORo z@?`1Meb-sAGvmiNqnsYSN!sZ1^TX)<`qQ5=!t~wcQ_qK*a`j!qu|^#q8jRwG9db`~4X14Rm7|3Yu3hB(=8c*^Xv#?p?%H-TOu;&pMg zMb)inYMZd=pr5h!X4mpri~6Z_51u6(L;0ph&nOwPLg)Ra&TK@KhHRr<&FFRF_}s&% z+CIgHbTy$tue~)t5(OC$d2X&3EwRN`c_0JJ<+Zzar(gKP-gJ5LRj2#j&q33tmilC} zS1%8gI_ggu(&rGn-&?OAjL$jO9uKVUyn1xDr0lxP9V>ONjfDq1ab_8OYa8xzzq7bA zzdhw%=cj#M!Oe{=wfG$FrC-JDu9_1ZP*vD)m8 z2#*lz~C6z9+MR4uV{(ogeqEbd1=_e^@=*PCq?H+WpG>|fqaI6!pI5B6!LO$yG8 z6bW`rEx2FemM;}Ue6gIL4(T~}M+@HJI6cGw1agrnb4snuO|FBHK7IMKC1|TyG zbUPwR{|oRD3Kfd{sQHkjGfL-wIH&%-UeC{h6%nh( zvmK#}fM9@Y^6GO^HUq;iJ-xT>W3jED3lwIqS%m7(`DdYR?Kv~8jNz*`be$vensJ!- zB7WJEu>Q_Sun73S!G8Lbe)`i)(Ma;}R=#zS(1I?a)X#a$kH=(>9`(HlM9BQMtgr6l zfJ5>>+aW#coX5vytq134=>tCnpnrb`&3-Tl@_|gAWI|)9`1k^1s1P;AhOl&vHvP!$ z=o%gOfpIxJO7Ka`dTZo)H0y2}Ir4dJA|3vL_JpbTlr-{imqi!`9Y+}jy+2YJAQ;JR zuu=33Y;?8zw%$r4BYnWI%tF;pc~Q4(m7x~YvG^sHyu)TzWCk$JIGh?nb*xNwJnHQI zy8OLXwk`3t?AFTR!}_>@t}2}OS>y;bW2)$k^iJD(N4ih@bM8u(QpN`4nXJp_)rPo} z&;LT^j{K)fk{9A;*AV00J-AKtc|r79t&h`31IjiVQ9q7S;hoE(HRi_Z(NRoIm(Hy8 z(YdNxj5&qt{f~{#J1L>6FE@mm9@lJhYmU~ZJ`9BIbjP=qw6F%}OKdR>mLGgtQuVay zt_DPOKJLCXm6j8Ec|>f2L&BacymRo@7FxWz(krkZ_Dg>;?yrwG)(&=M>9s1Qg3te^ zE|O-8JQsf#cBNL0V?ShIzWsbML~=-g@u75?M<}&hYe6_iIx(DX9jBz?Ik`i}A8(Lp$dGh)uVQz71iSES_{a-L8Yo1CG$66Hy7br+nEPnu0u)(_Lj zp^lL;bI6ht)b25o_NOl-+7l84h)|9mtGCaH97$yqF3Uho?^HLH>jh4=j&yo{M=zO* zs;ZVfEd-z5(^dXTSq)QYcel<~=Os84iO4wuz|x`)f6wUGjMbIXcx9;A8TE;#@L3Cb zSvq#j8Td1I#9yV$)u$gwt3G9nQeI%UIY(v=cO4=IO~aT!^ob!y6xP%tkUBg{b&g|) z!(;OXra#wH6^99X#^r{knp&{0k0;dyoK=`z?rI%RV7iIl@S)1hvy%43# zzvxRjOk3AH=7l_*?JcJ|9(0<^Bsp_d+H_vnBCm4BJJkbnI?fEtnWky1>(=9pH z=gzIA16D1qm4fkYEi8(Bzvw-Nu`dC5=%H!oK|#mV?42p#*K5?r}529JB6?E zw{;E6lN_cAo>Q`UCxOXpy)#3PGhf;>{o6BSTuO?#^Okl-Gbk*MWa=83SF78-PI{^$ zGE095T9qt?T9DaEXzpSd3t!d4jw?8`8NrtO%w%tb<}s7Z{KfJ2!HqW(-az)`arUH$ zKHb9ma=5hbR;?8mPH}}WZ8n5zu2DHVNy0;#Z#z}@+UZydJFD=4ZNGY|Ap5!9Wn~J4 z%s!Ip^?Jfwm&ujgIybKTH0~VRe7L?^guM55?aIDm93S7uez51!I)P3y<8JXOUXU9r zpn6@l(6J&(%1ZQHO-fUu+?E*%_tIE7K6^ahQ+uG6TgeQ&)}gcKVSP!qae0zT_;r4= zHM-e>+_4(()S^@6Ty!FkvZ7OV;5!8me)^OWPqYva!e~7rg!Cal`oSv=2a1#!iY0qr z2ZY50Fa1tQaQrEOlvu6nOQ;|3xmv9tvpjS>wA)%00TdY%6l?YV%Pwn@K#SP!|rBGW76-;zENeN;L>e>M+_# zOTP1YE`J;niqMw#9POQIAMKFrpzRQA_Fqy(qKV02KL~HRbx~l&;>5znVxajvHPoDX zv!*d_w%uCXdN3@VvH4?=d=59crDPWVC zvd=duD6p99Hk_f8^L+^i(%bN5$!rfplF{^sA0`l|e9+&c!t?QHuE~1Ye(qIutfdAyYu$?~pQMR&B4lG|WK+R|Rx*37 z>nMHt8ruvUSMZ=oph#dI2z}8si6i`0D#wzcgYbR5>7$SbKv?xuP~U(v_wV8f*pHeO z#3H$!|0cMgfv~^5cOlJw1^`&3S0s?>kgF-DaS7Q}@z zM%wXsCz%2_49up38rEh=+voeO082n(E7FY$^F&B%Z{(MU!zJmPhp}+49y7W7k(3Fo z8Hjh{Q9fwq#|+;Oi=(t*YuJ}mJtk1GkN*uSh#HzA=}MyeS9j+?gfvz%P+!uQ8t#tI z#3)JWIMyP(Toe9ZLj9PFIOg6yq!Ve#bzQOgkoE>s#+0R@g z8-af@-)g$Uv^JyPQBqeAFdJ%V<1?&cnba1=igr^&7r~~pKz5g)F2dph`zbYve1)J% zcj=(VK68<6L_pBu-|D(GkkY?)r)a_LxS^y`L8Fr-hjxn~_1}lih+s)$1cae6DIoq$ zWosb^=|^`H2VC-zvYYkjBf+CHCHr4;k*=;X0rUsyxyYD)>3c@uAZsvT1mwUX75qzx z>ErZNYfTUQOK33>1Z=`075z(Q6tX>k2qRL-q2q{?1G~wQ`nUD#YZ_l1b=0hWsbI5)X?@Q0l~80N3~Bz`nwY5l zB|bwBUI$yoH{Gbhhfw8%jO1g6qK$B`sQbQ?jcf_TOVOByR+2#qO))^fuQWtj>Z zpJXAlTNG&yLKCgz)j;Bq>=va~Uk{KEuXKd<2SA7aBjv({GpkE?0}=o7DZ(adJAHzd z`bUX{lVVnv>{dj)llp$Jnl>u4yrrhl$!f2%p-X>-QnWtlsMu~BB)z{6IKAI*e%c>S z!3vSJ2Gy?Ci{>qADS=xcU4QAOfby%?A}v0^;LQ*_T3NxpPH{ z6coj0%*Z8a!tgT4B`78G;>ZulOHOjlaM-yeVr64RDJ7;PrVhv@xF!AvgSlfYc?LOH zHa0&le^MgRF_xWsC|0&slu~0#LUnX*%dz7BnLBqtF2y~BmtiD9sgV~)cSvsOI3><) z&cZ*9xtOlR#p=%t0_TQAxc@1AE%1B7@7nA&t+bm>Xby;qy+6@{_H`1g5#8h zBTJ$q%iMtx-JwzWm^re%3>kY< zj+q>A+0=6OV&12T;dT5HhaDrsv?mOkaLfNWMuy58rF`H<{&PPDQ6Ng>9iJk}LCpIc zF&ZR3wC^|KLAhe25ric-$`mf~Cy~+Ea&P&*=WOwpY|zv9 znCI`9PXVMa0W_}&0Ok$_zHB{6EM`Qz|sEV&H^)ex!U~PL4QX4hSF|!!Lvx z6-??ENJD`PK>VPhjRzt}D_vm2Feg{OG^aw7C3 zgYqE&P7HHOrF>~eg{Dvp+>y`EmG2vh`3)#h{}$Uqg~=$!f?WXI6W_~KULgq6#wcn2hSox* zXy-s~uaLjBC%%&_-ZvUE2#5itk;R0QVseU+VgqQbBSjcM{~N$icoYOSODCXsSknGZ z0wTH{R-y?@N;fcH3;dN)Sg~>d?N+&oR7w|=uNC)|QFN+eI5vswaLyQ_+o7t--*E0< zsA~GZ)pqEgd9nY@BhUM5p15cXNS!Puf)ukxloTI80|bk3fRumXg;`;gs57H2QYqE| z$!itzfqmln5CAAfTr37OMH&-Hidg_4{Q{to3>V=BDaT`ld193Op+bA0QoK|kzk-yI zC%yv#h{X&-08ykdQKXne08%0V4L?YPAEfLF*<$Daj{x<5M%Vl^8u-uXzW*2v;0LLA zVuX8Ql>MQ?dZ1FhRG_<3DBsG10Mz@$Ab=WB6a)aoB!U3?AhqTB^jL>fstTHPQwrs|_3HU~@j5gXB_K@07%&i%wx1Ngk47~DzyaC787JH-zEW!U z(G_z0EopX2;M29qM;-b`T%5#ddzHw5!hZdB>eOHdN=)3lAt&d@(*agRm zF(9B0D#VR|#<-#_v3VBtp~@J?lFSgN_}g2}&N^VEP|c}0{tajUhN{egbSw(3447e5 zsxc9CXbR<|xEkcS>HwBnagiF3kx@*jqH{@c0ZnEsfDoj@`!$>wqs&zj%MDU#@pM=6 z5TrTP?pLF)DqxM6ARwmJFzLrWn#OnlmgM4>iutpe!S6MoI^&oCAg1XEDMBC3SR&w) zxIUVtBmg2vrJgYy1Eb7L4~v>gb+VIAQGS>KlfDG>%_PPTi0SZ~6sC`6FBt$2 zQu)msj)YN`Y>0&m(RzT6MZO#usbQ3@-bYY3C|L7900l};F}^^|hu@@7eKc1o0BDfP z4r@3pM%kb#)(0w`B+xT@*&j=+2TIk;dAcjP@~tY3oh4J(sRR7*W4wWwaMmLK2r-A0kZYqy2}pj5w<3h6FiRPu`Tvvb z|0;ARD*^<~N&034k&F63nU~uQ9u&a+tHJ9~F_kSDn!M;=rF>av5LZHB;}sw}kZ1pc zKpFpq;8OjA2>ye>5C4U*{0HLq4}$Rzk`IAEc6fy|R(@_krKZZ;ssgv0#zC^KDrIP{ z7H3YD^QV;D_9-wQtadumly~Z4Tx=AX2SnGpB>D*O-4G}-9jtcv(v^SL#JJcgPIiit z=R|<+*hxPcE7w<{YCv@G0uKt|VwzftU=0^@X_3{+i}o$z#RRj^jLn6z#VepzisnNg zw(O+H#>#*Q$~XNKwGLG%qQ9}9p|Kb}7G7yVutiOdrnNd60ZTSiy**6B zf;>H^^2blJv3c+?;2Sa-dN#$6;2EJj_&o58Jz2wwI6bH02w2L#7l#Q-8j3Yr+`16! z%W;K~gkzu}>@Pv~A2UKbv7d*a`vk*Q1nIvsNJJ}Ay$&Hu`sX8YLH94e?Iv3Eq{ix} z_~I_S)7nTi`PySom!%m?H{xY3nY)WoeD@6u+4-DYZLC{FHUt^#ZNwp%`lEWIav`s% z<(U|tI9M~WkzC5K=a+tL2bT;Y-8gY0uQKbyOsq%+9dTJ>o$C1v0k_Bx34g3zB`LJ} zT3z)9*a}U5J0~_xXO70|di%QA6RT0qcw^I^e*N9C@R7Z_Zfo_}74{m79vvd$-Hhd^JssqJ|FU%+N_WL zNUY+oFeN`O`qyznFM2(x3Jh}z>ez$N4$()Zhiv96)L+>ps*Q_^XUWSn!5JO4Z*BAT zQZMP5Uf-3_{6)?l%FC&vTmoB_SQ-kAP=1S%O7TsPV{1r!2kmz~m=eci6qlD1+l_Q` zz58TtBF;o}C`PKK7a@rln=k*OHeD~Q>^klkx}5}t1ZE)=s4c?bboN%TFLcJzgPGaA$RSqn`JO@E<>vUm*Bev zaYJ;!lQqYY9VZ=(%@~)FJMDLO9~cRu6S7s-j}4Rji8ak^Q1^@wYl+J&Eoe)};aO(B ze-U?|hn66+$R;f6Wsy%pHHvxdX=&NeIOo^L?HaM*4!aHg#+k$g`5b$}8Sw#qwUJr1 zx#(Z?9BTHs4N{LqaQ}=T8L`)kz&%?&{W5mF5HzNO2|}O|#{E`~Zi`E6_0}xm097;! zr>$CsQwv+0df17?)98J`g5;JRF;czb$HLGX@5I6YlWRIU7?o%SFi9SH6ty50s9@HXtL4<^3bCJwYbxZl(wgqZ#kE;Sdk-c3 zKBJZ|JA=_~HNGV_klK&-_WkJiu0$_Mldr3HrGyfexIqRjQp+!)o9Y+}Agjfd?e9W5r z{?^?elg~~L8%7bjV4fYj_&^p>9G6(EZJk^Tjb^)Nu$Y3fBm#aQEFfA3!J(nrCfN%PYiw>?JfAjHh=+$=}HTc9BC4`?zZ70#MWkzQv zoE`9g#Z%E{h27!0HC0*QC1H*;>qKs~Je8PhN8Yds_U>k-Hma;zuK8d#FD19Vwt46{ z_|?MWeKZ3KD&;vD-{8q0nx!|+E)+_VmQrNJ{mDt~TReSZ|1knGCKC+zW%ot0(~|0s z(qOr7yK^SetXZu}HPKLmsqwd4PiDlnTj{855!6yLIZI=?XL5m5a#||ObtrXR;Y>gQ zC%c;a?|4kUWNMFUFg0!7`rn_F|K13xCG56O;==-vQfSPU9kacDC$@ZQ|En2A<8O`{ z<2!vV6Qb$5o3XFUU&>lU(bG(pm)Jbk3%{^1{7^bC_XjskmNr)ygfHVY{$cLj)!qZzDPHb_&S40%e=g-JLheCx*X^8G}UM0jf!qb@p zyJIQf%OgtXjaKAwl?RforIW6EV>Qzf*lIK+w9*plA(2vAf^x^B*76$pxA3V(XWAc@ zO;a47G?r#aXkjiSRv3E0Q;igKKMa3PaX_NYxB?Y`)qIGCR#_r@jfDn!S>l(IL}Qg7 z%f{%Xb4ZGFziN$t&}+^0*Bal`EuVImo8Kkt(6#^%3BQG_SW4w327~{7v4X*5)>9$c zepiOpt6}uW_+s=(_-fs+3oYU(-WCk;*0sDkBQfY!eWnVA5gqiyRo1TJ=8 zA9zY08d(DM=A|C}KWg{vp|^XyAK~n>gp_nv#nU8xH?x}T4dnx;%lJ{~1?doKTpk|D z!Vxs9O{8{lNii;8G9&L&$uAsfl!j&V-dY#+$`fHbW~=TH84nTBjGCK8~4I`&i=I`jGhLk zVMNgJfuYGQ={CrLYm%oYVdZ=*v$NbC7s|ww>~i%y7uzD=$M)MN2E!!|7&VLhGtrTL zTGmgv-M`N!OGtG}3cZX~l#r6Y`ld(`IUgrk(n)@mczzckA6!vF;gvD+`PQJ|YqMf$ z9xP0Jj|}~=p#Z@Rup~ctrWi-(f*jW_{p#_QFzopXrDVLdHQ4lLN z%Ec-i76Hp7gyE&qpntJ0m4?&X!-{VY!_%ZiZ>U#=r$sk_4@8xh`PoGsFtj6i(`wPk zZZf=qUHEgAinp8>RAQ9QgTyPdIcHR$%tM1rXi-8sXzGRqWal2fh&{hScKu746!S97i}1?WlYPMD)M)F{rZNGAAM*<1SFy@*-U zM>|34@>K?R)tRBc@?#jNoR+v0w`(RW%DA{>wp5v_F$BMYh3V`uN*f?{A5htB2woYM zZ)p&W9H%Rmamh%f+^gIZvp%%Iv`T0T~bq*koueFyl>|BxUr+B+N$J&e|?~1 zIq$hJ!dpou=m&b)rkE17x}rnr;cE%aXG5K;QVlmH>T_)ei=`K(gxP{%P4=+VB2HuV z*0Y&04R)oH4?6qnN8$WwA{~hH?xD%&SnmPX)uZJNd%%7_d6EXsdcP|kDd;-t@i;ygm3?uKq~O!%-!PV#`5xTb$xe*IQM|yf+a00S9m^G zx4SoO5vSLlVKdG+-uN&pckI@=GS+xKdv%i~@WQO6Cr!y-lp(EGk+}ch{`3csi2V@q zz|xg0n?EgE=%e@JdeodP<3txSC$>^8>+057*ZUebv99d7%+zN7x@__BdimkOWRArsMQO?JzMJ*!4fUrshY+VmJkp70i zOy4qLI4RB_6sOBZS&V@cIwqVGn6`-KDDnt>e`^Bo8E{YFYH@g52bL(4AE%Rq8Ic4| zkH}hncsn@hCywhp%C`wZ*ZJcui!XOB@$X4-n!_CJ8nT#9y4yNOxE{sP?U>|=kOg83 z^}G3}08_dj$#9yZ9AoOcY>D7t?iG@rZ|$Bbvh^?c=isL1q-fbMD(8bnz1=H3$}o^- zhFb-f_7}Mc9HT`M8^W-n)J=Ahg}btY0=?=3C_berT&(?|yJXgO2>K6g)wfcu7%CX)lU4WpQC7tcd!qe}A0cKOG9J3D z&r8E|gR_EHjb+6|m2k>}M)W;KHFu(Kv$a8A3>Sa1xv`Z>J89{g?0SVrPIwPrCi4^! zd)D@MJj18^l*{mdFjk-r(%Jb|1Q(7lrb|kkcYJ)Kem3M3Sg$84ke|!*#JBTg66dsN zI99Y)x-{qfA?{@D64!$oX9A=XR2PlnXR6%y6myYIHI3tk2!K`xrmOcPFT6MgNCKAx zt0sjxgJihgXKn=2LZ&RwDjR_Bu;Tt!MKh82*y2hgeLE0C6=(YMgXIS4hCG`@hpK0*?^wk(>doe z8Snw#`NAlT)3$|2o9DQR@O4&<_^+7;n>ZzOzN@VPex`MsN!n5YP&u_ZVoT;sJvxQq z^)Epty&7ui$X;D%Y{_iVRu@w30bz^~hE*us;vTWp9;VX83Fe{xJ+!cdm2dkf|3R z2aE6?I}LH*c9h|&uXqrHRezctB+N09c85ac`D&NtAnf1-ZEI~#kl9B7yQ!ce{J)of z4k1i6#EA3>>MiPJPCwEM)j``DKojF4#B$aESLi9-zF2j>vgu`ZYVN09d%D%6%36Pd z)8s~}8A0yth*#yx#q;LpN%0*fCpi-GAfjI#tw)zGgaIaDu11nY*t*irz}?g&6wFrZkj{h&VHTDUV(;zMP8{H~Z}_f*p_%0zuG zu9K)KkjV8j?6>(J{0K65qjJZZmI1*J0N+60P35rfNA{-=s6l8Eg3Tkh``c89;#92{ zt9sLzV}vw=P#0$yp9V*I*BuCY7e9S&8A<4ZQDe>Ndw4Ta zLG);!*{@;zhy`RhNFDtiTxr?4U-+XU&E(=V8kf)cZK?>th| ze1n4-#P2l-jC^6xLK&p*HHed;nPKB+KBIIzd-yJRtQh0|F*G=TZ-(=8u^D~4C&`}^ zenMRk{Zk75F{yJ_5L)!x@@}Wqz?DyLkJt9Qt2G&}3kjAR;6*xA(dW-{2}nMMj`f?> z%|jR4PW782BtsLNVq#LhiBLbdzKiF6ocF?#Sv^yMrs=!Yex8ox8tLXecj1 zHx0hKNF>y0V+L{-847~hIDFTw8$mSF-w5rKeKK+eHcF^nuGxiFX%H(5)l|?Hp($ao z8pw}SN01O=of1`R^@?6jAUcd9hM-O}IZkYPE`#tD#Pf)yFuNNqB$(cj0w65gVPx4k z%+H#(M#LZBDRRWIQ}AsN5Gdf8YJ4S_0*N;-$ZlYnB%omMsJU)1oYRE3^m%d^MDG`D zgW_-{xo(hWnGnTsS~pe<@o0!WvD;QIpSesBp_HJdd&Az_U3^{cE$J8Iy20F~fWiOH zbqjotAeVt4?z6E$eKP}H$gGd|2}MX}uOTX3nMcD>qwa+ZhCI1lgjC1z?A!z%P91ua z&Wd6x=pa*yoWSnD-_fTJ^)oe~cm0~To#s>o>clJ4#8(40IS8FVF=_MB?iVmaZ7u zMAIpKo%}O96X8TC0IEDjrg@5AAg(TzW^naG5RbB1g?Yi>_bm^XC3Z%+*UWBb6@A5k(F+x_y zKpy#urjw>6Efieg%V`#m7Wac6YUD$!AsS%bB0YggXX@L z%X*(pP00Fh#=XkE^{T41{o`p;KC^p8E9XX?@gyRh-c?$cv?n!So5$l)yH@!E{r#`= zU)qTrkyHHQOE#wAWt{WN&p#WyI?_AzcE-fv%1LJGg4^A9YVddy@`+~zzk@KV2Urn~ zbidC5m?_^RP$2&JYzFaIK_cG=sw zv^FZ3)1>+JOk+vL^xcuj(vhw?I1#@%*N-@mFR<)%MPt@{#RoAQj5&ccc8x=ogCcXb9X#RSrH+;&U8a{YAD%eBi=%`BpvHKC$bb=6@Kx7$6q-5Hi!V#_)nZU!UcQ1q|y?9C-MD-C255@^nOY}the(wsk4 z?2kX1PP4RHQ(-8w(3%>d^rd8Bw&=~owD6z8eD?lppxTgf7?3gIYmem3|w#frtNt3J*p z_d+1cY6%C*N)O6vjtO6EG90ywpVYe|hn=?xi_CMiLpK?rU9@U);Jw}xqF!3(M=@7) zUPlF;BRN#N67~9D}Is9zu$D(T;(9nSzW$;%|foQIx)Xgd6!Vzj{UAay{OD zK7Ndk{M3I*fb>NCvW(w=!xv%bj?;$h8FK0t`3Z8sZSX1n>`Bg!5_(mR-B6Krcd54| z|Kj#uXw+JM(^@`!AAwrR>tVYDa_C`O2TsQjr92XH63wdJGPA)a3yt#}C~=2m~&?B2VxJlm}U44)PVYh&8+Z59^5eCL*J>O@lvZILke zGV3zo@Q!t%?PcbbvMaBJ@*MYb%@TeKh3qhonH^egmNiWqde=RxztmUF92OnR;k`dn6CYjx=l&Av~FNbS0kQSarIL!n;UGn z8#WtqG*uo|S7f=h)cCRO=!+wn)6_gDaCTNDG~lCN2%VNW9+%;3ZJoKkynxDUG=->u=Q(u zGJM&Ygx0hb&FT|}`b0%PZ}tPI^jLfjB00q{R6h*WnU6heaFky!0B9OaE(Qet+AP41 zAQZhP4DKqR8UTKkJ93?+4sPN(ig346?!ZyK+ro*x!HWHp*2NV}E`}`eysB)9BoT=l ztG{zz$(IX9>a`#Rh!XmxR5l$!g6PWOxO^i0NL=_?)ZokwI8)&Vu$1PszFewOh} z#I{ASIXmaW>E0tZJF-VC?&U1=tD7_m96z-7FzN)xoaK02I+fIegPmR2|^vYvpfi8=KB$fN0s|Ed*VrP3;O zeihkiNlBMealL@nL%%aM`MUqN+Bl&%Pr2`7rS@V1o(scSA*}2ATzf%#$7)4;P}3aw zt~b@B`p8h*`Bg%Ph@nhr!Y2wmOX`bGTJ^ilOwQ%Z+7b`Q3&C94_oO@ebEyqoq>F8a z5(O8jwu>}R-+68cjxML_6lb; zhxPPwshXzjD*uK>#`YfA%1z15h1KOgD6KBA94s&8+ECnl{;Q$J_Asu$*y)OcU(nK! zZ))voPI`S|N!{e8SU)_byTLUZz1e&#hm&xlH?mPfulD#VMeu7WHIVd2N+k+i8Zr zVe8H%YcJ+A*BODq%W9*MGMKC^7?!?JI4Bj*U}!)GFpE87^s?Gy^!vj%pls-^%X%!c z$4=-X*_>W^ZC=b|i|#^Ra1x|*EWv&yP1wF$k>hHcI|^!AW{NuNV_yA;EPXiIpThr} z)aTRrR!`;E&f>lUZG!2R1D>23GQ27W3>yB*W)C3ecIP!N&+zr@%|YYz1?UAC=#ox+uB#oaK%>t<+dZ&pg0(jG{Ro(26+_GiisEW>%s)bka`BzT!42 zL}O8ID;RchbQ;8MR55?%t=1Qmlp^>_2xOb!Or1xSTzqIJB5Im4l-u~R)qAv4*|!?F z7@k%s>eGtxv*>dZN_bqOH>>{a!n=h4JC^$@3v z)gDypRG9l0Y?~8WGilFm{3w%v)ROtE>CX>oqYGlAU{PJm?Oc2>>{;`}fj?;z3j=7& zqJ-Al?2TUY>*ghRua%u=dD7N(8%5NOlP)Eh&cD>Ih^r>k3Y@kB?RP%xez(r!EM=CZ z63dh)ET6p-W$*v6+l(&xs9$mS&I`Qv(K2;{Y6e5~+=Jh|sg?p@^M7WVyhiHVlFK=3 z(|+t;R=q~*+N$tdJ0(}{&)#)>Rib;TLvVfJg^gJ^Ci`vNI!lm=$Er%w|6%Hn?xw!D zV}^Ts1hfKxjNpv6w9@VGXBk2yqt_J8@$R#jp7L+e{KwNc-|ku}t26H>cip!@>qQfj zOwRs&t@bzKuCA`=W5#bUd8e91^(>C+VSljPyvq>8r(RqeGiLc9LB z+8%#(Vr|vZP#33(`xiWqklPu$e#;f^`p>q<_lnOeC|i3K#J27_al~P3;L)ecve|b< ze!J(tz$=hpLVEG>%@^|uj>j&(At(^DTAa~g-dWimH^!5N;u>WvEZ1MTGIXTxuevxx zN%E2#uSjphbB-L_W#a$zO66tGFSeTZPibE58nsNOM4mKLPwUBzif=savVcM4#;_v2 z_~?tReI@60JiYgRFuz=Ur91gm>;4tbEhfv9t6e-WZ*lj>^uV4++pRx*e)|0F)2nw^ zJ4JKVUzz*ybWY*i`TOPp+tYFHZoTQ7qx85oI z<>t?h2je-@moz`}_Z^M?Jl(U3m9r zR^VAR%s|Wz#9^*M!Jhtp#@CG*&`yASv#&P90I0$Uh&h2cH?<^DFRM5|Z}qdF03bN! zp;M;gd-6>9rXUaRGn#%^8#$&g6%$Q=_FOYkQv-Mc`U^>o!mCA$Kw}x1M3_MbPjUb; z1i+4?M2HA5{C5P&!49WH*Olk_VS||%1H+wA1_lYJDIn^9qXv>Lr_8*>qDsWUmguGw zJGa*H0o8+CBMrnb@V{{i&}^99K8cn2r6oXKT4s7_QDRAEejd6(8|A}OC4ss@Aq1jf z;D6(7B!dDHi|`v$_sTteH&Cx0@HjbCUulaY+!IignwDCWnwOkf42}VG$ABz{g{Uyh zB@Cbtl>r(G^HnhDxXv)(v2?}y=my-K$}^|bn}I=8lL^f?{@4uwpKMo#Zp;Sh&+>DC z4yfou50u}@Slt0W9uC78Ti47B8-by?q!rzmbLCi#0iUskVN8X7lEGs^28J7j=*DaV zx(`dJfDbCeFb4gyU0C@3Z@jPot1*zPchSQJ{n7`7G5y=H8Uwik0^JypHds`H5-|jT zqWb?KBx8_Hc11S<{bW~|8UGuN4`Vk0cAiynF}hjkry(ND@;-sbEX3J}#2e^)l7NAb zqXvmL(Ek(x10g5(5pQ7NX#xg94#Feez~D0k41}C3N4$ZdX9*YxIi?NWK=gCY5V0J7 z4q+fHm1L%&>qoD15c;`A8DTXLx+e7M2cgLns0m&f1$eWvfuzKNFc!$_0ZKA3008?o B6lDMa literal 0 HcmV?d00001 diff --git a/src/bundler-vite-7/src/main.ts b/src/bundler-vite-7/src/main.ts new file mode 100644 index 0000000..9dbb221 --- /dev/null +++ b/src/bundler-vite-7/src/main.ts @@ -0,0 +1,26 @@ +import * as alphaTab from '@coderline/alphatab'; + +const element = document.querySelector('#alphaTab')!; +const playPause = document.querySelector('#play-pause')!; + +const api = new alphaTab.AlphaTabApi(element, { + core: { + // Vite emits the score as an asset and rewrites this URL. + file: new URL('./iron-waltz.gp', import.meta.url).href, + // Vite emits scripts to assets/; the plugin copies the font to /font/. + fontDirectory: `${import.meta.env.BASE_URL}font/`, + }, + player: { + playerMode: alphaTab.PlayerMode.EnabledAutomatic, + // Copied to /soundfont/ by the alphaTab plugin (via public/). + soundFont: `${import.meta.env.BASE_URL}soundfont/sonivox.sf3`, + }, +}); + +api.playerReady.on(() => { + playPause.disabled = false; +}); +api.playerStateChanged.on((e) => { + playPause.textContent = e.state === alphaTab.synth.PlayerState.Playing ? 'Pause' : 'Play'; +}); +playPause.addEventListener('click', () => api.playPause()); diff --git a/src/bundler-vite-7/tsconfig.json b/src/bundler-vite-7/tsconfig.json new file mode 100644 index 0000000..4ebf308 --- /dev/null +++ b/src/bundler-vite-7/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "es2023", + "module": "esnext", + "lib": ["ES2023", "DOM"], + "types": ["vite/client"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src", "vite.config.ts"] +} diff --git a/src/bundler-vite-7/vite.config.ts b/src/bundler-vite-7/vite.config.ts new file mode 100644 index 0000000..beb1b1e --- /dev/null +++ b/src/bundler-vite-7/vite.config.ts @@ -0,0 +1,12 @@ +import { defineConfig } from 'vite'; +import { alphaTab } from '@coderline/alphatab-vite'; + +export default defineConfig({ + plugins: [alphaTab()], + build: { + // alphaTab's core chunk is about 1.2 MiB minified. + chunkSizeWarningLimit: 1500, + }, + server: { port: 4150 }, + preview: { port: 4150 }, +}); diff --git a/src/bundler-vite-8/.gitignore b/src/bundler-vite-8/.gitignore new file mode 100644 index 0000000..a5a08f6 --- /dev/null +++ b/src/bundler-vite-8/.gitignore @@ -0,0 +1,5 @@ +node_modules +dist +# copied from @coderline/alphatab by the alphaTab Vite plugin +public/font +public/soundfont diff --git a/src/bundler-vite-8/README.md b/src/bundler-vite-8/README.md new file mode 100644 index 0000000..b2c169f --- /dev/null +++ b/src/bundler-vite-8/README.md @@ -0,0 +1,67 @@ +# alphaTab with Vite 8 + +A plain Vite 8 browser app (vanilla TypeScript, no framework) that renders a Guitar Pro file and plays it back. +It uses [`@coderline/alphatab-vite`](https://www.npmjs.com/package/@coderline/alphatab-vite) so that alphaTab's +render worker and audio worklet are bundled correctly and share one alphaTab core chunk with the page. +The project follows the `create-vite` vanilla TypeScript template. Vite 8 builds with Rolldown. + +Versions: Vite 8.3, TypeScript 7, alphaTab 1.9. Also verified with Vite 8.0.0. + +## Run + +```sh +npm install +npm run dev # dev server on http://localhost:4160 +npm run build # type check and production build into dist/ +npm run preview # serves dist/ on http://localhost:4160 +``` + +## alphaTab setup + +[vite.config.ts](./vite.config.ts): + +```ts +import { defineConfig } from 'vite'; +import { alphaTab } from '@coderline/alphatab-vite'; + +export default defineConfig({ + plugins: [alphaTab()], + build: { + // alphaTab's core chunk is about 1.2 MiB minified. + chunkSizeWarningLimit: 1500, + }, +}); +``` + +What the plugin does: + +- Emits alphaTab's web worker and audio worklet as chunks of the main build. Page, worker and worklet import the same + `alphaTab.core-[hash].js` chunk. +- In the dev server, excludes alphaTab from dependency pre-bundling so that the worker and worklet load the same + `alphaTab.core.mjs` module as the page. +- Copies the Bravura font and the SoundFonts from `@coderline/alphatab` into the public directory + (`public/font/`, `public/soundfont/`), so they are served in dev and end up in `dist/font/` and + `dist/soundfont/`. The copies are generated; [.gitignore](./.gitignore) excludes them. + +`build.chunkSizeWarningLimit` only silences Vite's 500 kB warning for alphaTab's core chunk. + +The app code ([src/main.ts](./src/main.ts)) sets the font and SoundFont locations: + +```ts +const api = new alphaTab.AlphaTabApi(element, { + core: { + file: new URL('./iron-waltz.gp', import.meta.url).href, + fontDirectory: `${import.meta.env.BASE_URL}font/`, + }, + player: { + playerMode: alphaTab.PlayerMode.EnabledAutomatic, + soundFont: `${import.meta.env.BASE_URL}soundfont/sonivox.sf3`, + }, +}); +``` + +`fontDirectory` is required for production builds: alphaTab looks for the font next to its script by default. +In the dev server that is `node_modules/@coderline/alphatab/dist/font/`, which happens to exist, but a build emits +the scripts into `dist/assets/`, so without the setting the font requests go to `/assets/font/` and fail with 404, +and nothing is rendered. Prefixing the paths with `import.meta.env.BASE_URL` keeps them correct for any Vite `base` +(verified with the default `/` and with `base: './'` served from a sub-path). diff --git a/src/bundler-vite-8/index.html b/src/bundler-vite-8/index.html new file mode 100644 index 0000000..d1b147c --- /dev/null +++ b/src/bundler-vite-8/index.html @@ -0,0 +1,13 @@ + + + + + + alphaTab with Vite 8 + + + +
+ + + diff --git a/src/bundler-vite-8/package.json b/src/bundler-vite-8/package.json new file mode 100644 index 0000000..77a38f1 --- /dev/null +++ b/src/bundler-vite-8/package.json @@ -0,0 +1,19 @@ +{ + "name": "alphatab-bundler-vite-8", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc && vite build", + "preview": "vite preview" + }, + "dependencies": { + "@coderline/alphatab": "^1.9.0-alpha.1965" + }, + "devDependencies": { + "@coderline/alphatab-vite": "^1.9.0-alpha.1965", + "typescript": "~7.0.2", + "vite": "^8.3.5" + } +} diff --git a/src/bundler-vite-8/src/iron-waltz.gp b/src/bundler-vite-8/src/iron-waltz.gp new file mode 100644 index 0000000000000000000000000000000000000000..15c11388b581afcd7c57e38a14645d8686e547c7 GIT binary patch literal 72703 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 v@?wkh7yuLcfPe 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 B6lDMa literal 0 HcmV?d00001 diff --git a/src/bundler-vite-8/src/main.ts b/src/bundler-vite-8/src/main.ts new file mode 100644 index 0000000..9dbb221 --- /dev/null +++ b/src/bundler-vite-8/src/main.ts @@ -0,0 +1,26 @@ +import * as alphaTab from '@coderline/alphatab'; + +const element = document.querySelector('#alphaTab')!; +const playPause = document.querySelector('#play-pause')!; + +const api = new alphaTab.AlphaTabApi(element, { + core: { + // Vite emits the score as an asset and rewrites this URL. + file: new URL('./iron-waltz.gp', import.meta.url).href, + // Vite emits scripts to assets/; the plugin copies the font to /font/. + fontDirectory: `${import.meta.env.BASE_URL}font/`, + }, + player: { + playerMode: alphaTab.PlayerMode.EnabledAutomatic, + // Copied to /soundfont/ by the alphaTab plugin (via public/). + soundFont: `${import.meta.env.BASE_URL}soundfont/sonivox.sf3`, + }, +}); + +api.playerReady.on(() => { + playPause.disabled = false; +}); +api.playerStateChanged.on((e) => { + playPause.textContent = e.state === alphaTab.synth.PlayerState.Playing ? 'Pause' : 'Play'; +}); +playPause.addEventListener('click', () => api.playPause()); diff --git a/src/bundler-vite-8/tsconfig.json b/src/bundler-vite-8/tsconfig.json new file mode 100644 index 0000000..4ebf308 --- /dev/null +++ b/src/bundler-vite-8/tsconfig.json @@ -0,0 +1,24 @@ +{ + "compilerOptions": { + "target": "es2023", + "module": "esnext", + "lib": ["ES2023", "DOM"], + "types": ["vite/client"], + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src", "vite.config.ts"] +} diff --git a/src/bundler-vite-8/vite.config.ts b/src/bundler-vite-8/vite.config.ts new file mode 100644 index 0000000..3f1410d --- /dev/null +++ b/src/bundler-vite-8/vite.config.ts @@ -0,0 +1,12 @@ +import { defineConfig } from 'vite'; +import { alphaTab } from '@coderline/alphatab-vite'; + +export default defineConfig({ + plugins: [alphaTab()], + build: { + // alphaTab's core chunk is about 1.2 MiB minified. + chunkSizeWarningLimit: 1500, + }, + server: { port: 4160 }, + preview: { port: 4160 }, +}); diff --git a/src/bundler-webpack-5/README.md b/src/bundler-webpack-5/README.md new file mode 100644 index 0000000..219a8c1 --- /dev/null +++ b/src/bundler-webpack-5/README.md @@ -0,0 +1,75 @@ +# alphaTab with webpack 5 + +A plain webpack 5 browser app (no framework) that renders a Guitar Pro file and plays it back. +It uses [`@coderline/alphatab-webpack`](https://www.npmjs.com/package/@coderline/alphatab-webpack) so that +alphaTab's render worker and audio worklet are bundled correctly and share one alphaTab core chunk with the page. + +Versions: webpack 5.112, webpack-cli 7, webpack-dev-server 6, html-webpack-plugin 5, alphaTab 1.9. +Also verified with webpack 5.90. + +## Run + +```sh +npm install +npm run dev # webpack-dev-server on http://localhost:4100 +npm run build # production build into dist/ +npm run preview # serves dist/ on http://localhost:4100 +``` + +## alphaTab setup + +[webpack.config.js](./webpack.config.js): + +```js +import HtmlWebpackPlugin from 'html-webpack-plugin'; +import { AlphaTabWebPackPlugin } from '@coderline/alphatab-webpack'; + +export default { + // ... + plugins: [ + new HtmlWebpackPlugin({ template: './src/index.html' }), + new AlphaTabWebPackPlugin() + ] +}; +``` + +What the plugin does: + +- Bundles alphaTab's web worker (`new Worker(new URL(...))`) and audio worklet (`alphaTabWorklet.addModule(new URL(...))`) + as separate entries. webpack has no built-in audio worklet support that works with `[contenthash]` file names. +- Moves alphaTab's core into one `alphaTabCore` split chunk that the page, the workers and the worklet load, instead of + one copy per runtime. For that it sets `optimization.usedExports = 'global'` in production builds when you did not + configure it (it warns if you set it to `true`, which would duplicate the core). +- Copies the Bravura font to `dist/font/` and the SoundFonts to `dist/soundfont/`, and serves them in the dev server. + +Because the core is a split chunk of the entrypoint, the HTML must load every file of the entrypoint. +`HtmlWebpackPlugin` does this. If you write the ` + + diff --git a/src/nuxt-3/nuxt.config.ts b/src/nuxt-3/nuxt.config.ts new file mode 100644 index 0000000..211c330 --- /dev/null +++ b/src/nuxt-3/nuxt.config.ts @@ -0,0 +1,19 @@ +import { createRequire } from 'node:module'; +import path from 'node:path'; +import { alphaTab } from '@coderline/alphatab-vite'; + +const alphaTabDist = path.dirname(createRequire(import.meta.url).resolve('@coderline/alphatab')); + +export default defineNuxtConfig({ + compatibilityDate: '2025-07-15', + vite: { + // Nitro serves the font and SoundFont (see nitro.publicAssets); the plugin only bundles worker and worklet. + plugins: [alphaTab({ assetOutputDir: false })] + }, + nitro: { + publicAssets: [ + { baseURL: 'font', dir: path.join(alphaTabDist, 'font'), maxAge: 60 * 60 * 24 * 7 }, + { baseURL: 'soundfont', dir: path.join(alphaTabDist, 'soundfont'), maxAge: 60 * 60 * 24 * 7 } + ] + } +}); diff --git a/src/nuxt-3/package.json b/src/nuxt-3/package.json new file mode 100644 index 0000000..63e594a --- /dev/null +++ b/src/nuxt-3/package.json @@ -0,0 +1,20 @@ +{ + "name": "nuxt-3", + "private": true, + "type": "module", + "scripts": { + "dev": "nuxt dev", + "build": "nuxt build", + "preview": "nuxt preview", + "postinstall": "nuxt prepare" + }, + "dependencies": { + "@coderline/alphatab": "^1.9.0-alpha.1965", + "nuxt": "^3.21.11", + "vue": "^3.5.44", + "vue-router": "^4.6.4" + }, + "devDependencies": { + "@coderline/alphatab-vite": "^1.9.0-alpha.1965" + } +} diff --git a/src/nuxt-3/public/iron-waltz.gp b/src/nuxt-3/public/iron-waltz.gp new file mode 100644 index 0000000000000000000000000000000000000000..15c11388b581afcd7c57e38a14645d8686e547c7 GIT binary patch literal 72703 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 v@?wkh7yuLcfPe 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 B6lDMa literal 0 HcmV?d00001 diff --git a/src/nuxt-3/tsconfig.json b/src/nuxt-3/tsconfig.json new file mode 100644 index 0000000..4b34df1 --- /dev/null +++ b/src/nuxt-3/tsconfig.json @@ -0,0 +1,3 @@ +{ + "extends": "./.nuxt/tsconfig.json" +} diff --git a/src/nuxt-4/.gitignore b/src/nuxt-4/.gitignore new file mode 100644 index 0000000..c45183a --- /dev/null +++ b/src/nuxt-4/.gitignore @@ -0,0 +1,12 @@ +# Nuxt dev/build outputs +.output +.data +.nuxt +.nitro +.cache +dist +node_modules +*.log +.env +.env.* +!.env.example diff --git a/src/nuxt-4/README.md b/src/nuxt-4/README.md new file mode 100644 index 0000000..a54108b --- /dev/null +++ b/src/nuxt-4/README.md @@ -0,0 +1,54 @@ +# alphaTab with Nuxt 4 + +Loads and renders "Iron Waltz" (`public/iron-waltz.gp`, a Guitar Pro file of alphaTab's own demo song) and plays it back in a Nuxt 4 app with server-side rendering, bundled with Vite and the alphaTab Vite plugin. + +| Package | Version | +| --- | --- | +| Nuxt | 4.6 (Vite 8) | +| Vue | 3.5 | +| `@coderline/alphatab`, `@coderline/alphatab-vite` | 1.9 | + + +## Run + +```bash +npm install +npm run dev # nuxt dev +npm run build # nuxt build (server and client into .output/) +npm run preview # run the built server (node .output/server/index.mjs) +``` + +## alphaTab setup + +### `nuxt.config.ts` + +```ts +import { createRequire } from 'node:module'; +import path from 'node:path'; +import { alphaTab } from '@coderline/alphatab-vite'; + +const alphaTabDist = path.dirname(createRequire(import.meta.url).resolve('@coderline/alphatab')); + +export default defineNuxtConfig({ + vite: { + plugins: [alphaTab({ assetOutputDir: false })] + }, + nitro: { + publicAssets: [ + { baseURL: 'font', dir: path.join(alphaTabDist, 'font'), maxAge: 60 * 60 * 24 * 7 }, + { baseURL: 'soundfont', dir: path.join(alphaTabDist, 'soundfont'), maxAge: 60 * 60 * 24 * 7 } + ] + } +}); +``` + +- **`vite.plugins: [alphaTab(...)]`** registers the alphaTab Vite plugin. It bundles alphaTab's render/synth web worker and its audio worklet as chunks of the client build, so page, workers and worklet share one alphaTab core chunk. In dev it excludes alphaTab from dependency pre-bundling. +- **Fonts and SoundFont come from `nitro.publicAssets`**, served straight from `node_modules/@coderline/alphatab/dist` under the app base URL (`/font/`, `/soundfont/`) in dev, and copied into `.output/public` by `nuxt build`. The plugin's own copy step is disabled (`assetOutputDir: false`): Nuxt turns off Vite's `publicDir`, so the plugin has no default target, and this way no generated folder is needed. (If you let the plugin copy into `public/` instead, note that Nitro picks up `public/` only if it exists when the build starts: files copied into a folder that the build creates are missing from `.output`.) + +### Component (`app/components/ScoreViewer.client.vue`) + +- alphaTab is browser-only. The `.client.vue` suffix makes Nuxt render the component only in the browser and leave it out of the server bundle, so alphaTab is neither imported nor executed during server-side rendering. +- A `.client` component renders its template only after it is mounted: `onMounted` waits for `nextTick()` before the template ref (`useTemplateRef`) points to the element. +- The API is held in a `shallowRef`, not a `ref()`, so Vue does not wrap alphaTab's objects in reactive proxies. It is destroyed in `onUnmounted`. +- `core.file`, `core.fontDirectory` and `player.soundFont` are prefixed with `useRuntimeConfig().app.baseURL`, so the paths follow a custom base URL. + diff --git a/src/nuxt-4/app/app.vue b/src/nuxt-4/app/app.vue new file mode 100644 index 0000000..3689856 --- /dev/null +++ b/src/nuxt-4/app/app.vue @@ -0,0 +1,3 @@ + diff --git a/src/nuxt-4/app/components/ScoreViewer.client.vue b/src/nuxt-4/app/components/ScoreViewer.client.vue new file mode 100644 index 0000000..39d8f01 --- /dev/null +++ b/src/nuxt-4/app/components/ScoreViewer.client.vue @@ -0,0 +1,47 @@ + + + diff --git a/src/nuxt-4/nuxt.config.ts b/src/nuxt-4/nuxt.config.ts new file mode 100644 index 0000000..211c330 --- /dev/null +++ b/src/nuxt-4/nuxt.config.ts @@ -0,0 +1,19 @@ +import { createRequire } from 'node:module'; +import path from 'node:path'; +import { alphaTab } from '@coderline/alphatab-vite'; + +const alphaTabDist = path.dirname(createRequire(import.meta.url).resolve('@coderline/alphatab')); + +export default defineNuxtConfig({ + compatibilityDate: '2025-07-15', + vite: { + // Nitro serves the font and SoundFont (see nitro.publicAssets); the plugin only bundles worker and worklet. + plugins: [alphaTab({ assetOutputDir: false })] + }, + nitro: { + publicAssets: [ + { baseURL: 'font', dir: path.join(alphaTabDist, 'font'), maxAge: 60 * 60 * 24 * 7 }, + { baseURL: 'soundfont', dir: path.join(alphaTabDist, 'soundfont'), maxAge: 60 * 60 * 24 * 7 } + ] + } +}); diff --git a/src/nuxt-4/package.json b/src/nuxt-4/package.json new file mode 100644 index 0000000..17c8d3d --- /dev/null +++ b/src/nuxt-4/package.json @@ -0,0 +1,20 @@ +{ + "name": "nuxt-4", + "private": true, + "type": "module", + "scripts": { + "dev": "nuxt dev", + "build": "nuxt build", + "preview": "nuxt preview", + "postinstall": "nuxt prepare" + }, + "dependencies": { + "@coderline/alphatab": "^1.9.0-alpha.1965", + "nuxt": "^4.6.3", + "vue": "^3.5.44", + "vue-router": "^5.4.0" + }, + "devDependencies": { + "@coderline/alphatab-vite": "^1.9.0-alpha.1965" + } +} diff --git a/src/nuxt-4/public/iron-waltz.gp b/src/nuxt-4/public/iron-waltz.gp new file mode 100644 index 0000000000000000000000000000000000000000..15c11388b581afcd7c57e38a14645d8686e547c7 GIT binary patch literal 72703 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 v@?wkh7yuLcfPe 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 B6lDMa literal 0 HcmV?d00001 diff --git a/src/nuxt-4/tsconfig.json b/src/nuxt-4/tsconfig.json new file mode 100644 index 0000000..cae87c0 --- /dev/null +++ b/src/nuxt-4/tsconfig.json @@ -0,0 +1,9 @@ +{ + "files": [], + "references": [ + { "path": "./.nuxt/tsconfig.app.json" }, + { "path": "./.nuxt/tsconfig.server.json" }, + { "path": "./.nuxt/tsconfig.shared.json" }, + { "path": "./.nuxt/tsconfig.node.json" } + ] +} diff --git a/src/react-19-vite/.gitignore b/src/react-19-vite/.gitignore new file mode 100644 index 0000000..e3a864b --- /dev/null +++ b/src/react-19-vite/.gitignore @@ -0,0 +1,6 @@ +node_modules +dist +*.tsbuildinfo +# copied by @coderline/alphatab-vite on every build/dev start +public/font +public/soundfont diff --git a/src/react-19-vite/README.md b/src/react-19-vite/README.md new file mode 100644 index 0000000..8464475 --- /dev/null +++ b/src/react-19-vite/README.md @@ -0,0 +1,53 @@ +# alphaTab with React 19 and Vite + +Loads and renders "Iron Waltz" (`public/iron-waltz.gp`, a Guitar Pro file of alphaTab's own demo song) and plays it back from a React component, bundled with Vite and the alphaTab Vite plugin. + +| Package | Version | +| --- | --- | +| React | 19 | +| Vite | 8 (`@vitejs/plugin-react` 6) | +| `@coderline/alphatab`, `@coderline/alphatab-vite` | 1.9 | + +## Run + +```bash +npm install +npm run dev # dev server +npm run build # type-check and production build into dist/ +npm run preview # serve dist/ +``` + +## alphaTab setup + +### `vite.config.ts` + +```ts +import { alphaTab } from '@coderline/alphatab-vite'; +import react from '@vitejs/plugin-react'; +import { defineConfig } from 'vite'; + +export default defineConfig({ + plugins: [react(), alphaTab()] +}); +``` + +The plugin + +- bundles alphaTab's render/synth web worker and its audio worklet as chunks of the main build. Page, workers and worklet share one `alphaTab.core-*.js` chunk, so alphaTab's code is downloaded once; +- excludes alphaTab from Vite's dependency pre-bundling in dev, so the dev server serves the worker and worklet entries as they are; +- copies the Bravura font and the SoundFont into Vite's `publicDir` (`public/font`, `public/soundfont`) when the dev server or a build starts. These folders are generated and listed in `.gitignore`. + +### Component (`src/App.tsx`) + +- alphaTab needs a DOM element. It is created in `useEffect` with the element from `useRef`, and destroyed in the effect cleanup with `api.destroy()`. In dev, `StrictMode` mounts the effect twice; the cleanup makes the second instance the only one (you will see the extra workers of the first instance being started and terminated in the network tab). +- The `AlphaTabApi` is kept in a ref, not in state: it is a mutable object and its changes must not re-render the component. Only the UI state (player ready, playing) lives in React state, updated from `playerReady` and `playerStateChanged`. +- `core.file` points to the score in `public/`, `core.fontDirectory` and `player.soundFont` to the copied assets, all prefixed with `import.meta.env.BASE_URL` so they still resolve when the app is deployed with a [`base`](https://vite.dev/config/shared-options.html#base). alphaTab cannot derive these paths itself, because the bundled script lives in `assets/`, not next to the fonts. + +## React 18 + +The same code works unchanged with React 18.3 (`react@^18.3.1`, `react-dom@^18.3.1`, `@types/react@^18.3`, `@types/react-dom@^18.3`); this was verified with this sample. React 18 is no longer developed further, so this sample targets React 19. + +## Notes + +- `vite build` warns that `alphaTab.core-*.js` is larger than 500 kB. That is expected: it is the whole alphaTab library (about 300 kB gzipped). Raise `build.chunkSizeWarningLimit` if the warning bothers you. +- alphaTab is browser-only. For server-side rendering see the Next.js samples. diff --git a/src/vite-react/index.html b/src/react-19-vite/index.html similarity index 72% rename from src/vite-react/index.html rename to src/react-19-vite/index.html index e4b78ea..71f3634 100644 --- a/src/vite-react/index.html +++ b/src/react-19-vite/index.html @@ -2,9 +2,8 @@ - - Vite + React + TS + alphaTab + React 19 + Vite
diff --git a/src/react-19-vite/package.json b/src/react-19-vite/package.json new file mode 100644 index 0000000..432f7f8 --- /dev/null +++ b/src/react-19-vite/package.json @@ -0,0 +1,25 @@ +{ + "name": "react-19-vite", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc -b && vite build", + "preview": "vite preview" + }, + "dependencies": { + "@coderline/alphatab": "^1.9.0-alpha.1965", + "react": "^19.3.1", + "react-dom": "^19.3.1" + }, + "devDependencies": { + "@coderline/alphatab-vite": "^1.9.0-alpha.1965", + "@types/node": "^24.19.2", + "@types/react": "^19.3.0", + "@types/react-dom": "^19.3.0", + "@vitejs/plugin-react": "^6.1.2", + "typescript": "~7.0.2", + "vite": "^8.3.5" + } +} diff --git a/src/react-19-vite/public/iron-waltz.gp b/src/react-19-vite/public/iron-waltz.gp new file mode 100644 index 0000000000000000000000000000000000000000..15c11388b581afcd7c57e38a14645d8686e547c7 GIT binary patch literal 72703 zcmZU51yEfFy2v@vtGG&6I_)*ZJel=7;<)26GTUrnM?#k|88C=DYqrnLKG z7@y2777-gT&zu!+_JVGs;65oYA+Vl!j30k1<1dT}BZ5942)jgh4dsUMQX59-Gtw(! zO3G#6gz!gT5B-!3NE;C3<@W1gak5S+Wnul7f$yDf_r=3oxg^5EhpAoSW?XHt`Fv(n z1_sdp1?CODXsMeYg{&91_V#XoJ6??1m=&h`QTRN1`P&rin@5j>FoD$i7uBQh z80{d3KYf7-raw4@Pv*Oz*kQu^s*Ege7%fd9D$xKD>(G~*U@{j)g8B4Y?mdhvTd%Vj zXH2Ge+z0YM(`Tr|j^SF5+*_Ks&DimR1|?Sk%=l<-SY}QKb+7ljVLN{Qw5A>g^r91y zPr>oOg7+I$CP_(Iz-H`5NhA?9eQamUN#MqQ2M#Dt;P8!R9qR-u1wo=@!n9%_!j5C!?`eEt=w>IQE`$&pc0hP?3x?@yAE zu;%C>8hV8#Amz3TVLa+zY0~}G2$Meb#P3GKPo_Tp`rVz1O9;-VxG(*=8}#@DG_!iE z?9?ZSC*s^h{}8gBI`TP@@^9Kbgn5INhU856No^%%D&gYQb6hBF;D`)t?3!~<>GhS{ zS&GP5Qrv0d-(@grCvo=)!M6ldHZaH zcZl%kFk-Zea+&KDwZ;aq@4^g7P4(q@3L)(qIL4%VWLlET;gzhU(K8;XM@9488qj?` zSaH(%mVJ-Gw?!6gEa2*AzZcVB%e)o%}8!Ja+JLM7cKREbHIlI$K$L1>NcGpVV_TjD#t zsL|xS|H;Y~NO@bZJp2AF zU-wFxvdQoAFd&he(g>OD2qRc=k7Dcn%k!i;Hpl(IM^Usu0_J^IaP$Md4hs!^%1cOL z=v&?lS#NOs^kc;+w?Zpg5nPtUP`TdYex`j__Ai0~vjEKz!RESkJC5emHdA&*kTmJF zOhLSl*M@0)I6blnd2uf`A{2fE;a^kLipENz$K6DwgEc3zp~FkDkUw{;gNGzr&=^ax zs6*t*2}|?Y$zLWG%rnVJZ9D&w+`*!LZ+B;xP1B6KVDLbnJ$3GDs*^;0;E7i2^9b{k z=k*ZZJ^pnxagl%VN+-;T9B}5qsx5bK63qCV)|SZ(WZvT?)A)FWaUt9iYZ$*HhjEZydGnKf48!bKeBm5*GVp(d%J&qgLgEr)GI+?D z%$ti`uR6aklt|Z{>^xU5X)iTg6I;9>x-q{|!_YG}aXW(i8%#S~eJG_A=E2TuV+3b7 z(F=t=Sx#EGvO4IC{2iHm)^wB-mCJG7erRjXh+Lo3qb{;=1{jQGk)h#d)UrT~hc)5v z&Whjea9zQ5w-a|u9TfPzUQQUPbgT*I0ZU~@0+Z4Pt3d^G4q{=yBjE;Ht$M5W9c+In zmHog4N=%!|8yC_yh6=?sl8Y)D4Th!Ei;!UG$`mBY;+zf>bH^J79u~~vQNMI^^+sVe zNvUqgFFNpwTW%zzZY~RZNs}osQ-bv&OLe$OF<}OqWa8NAg;UzXZ!=#pP(w2~ohG=; zCy(T@mgu(C7ASwRJ^pytFCI>G{BiQM*EeCDO)gmMig&PGAS;!ImCR&yKft|wHCW+~ z2m?Rd*||kV65~ceh#rr1LBmcu&dO$oeR@bkPnwBXNJ0Zessj_tzH?nZ_Mi~G9o#22 zw8i%r5JO$~Jf?)v2G`XZgeIs@?brC=rdH!)aN z(=z-O>~}v5hSF6ImTkj{gh<6pf0FcagPR=tkey!loL$z|({*_H*80(9ABl{UPMNPz zY_3ryCtkKphxey z%Q8(xl$_un|C%LD2pw*47ZhnT)1xM$X!Tv(%hTWu$X$ktA~r1)*}GZV<4hLxPC@A; zwG9sT&Lj)_4D%|S|LQU+{Jna|^BK*dx9heH7>FfaC=1JlJf5!UOkN~0qxEb`-`=&D z=$h!~R1cM5rV!9nCr?k%n%Q2L-KZdCv^R!l#96+nEs2xt$@^`))g^By@&7tK>9rUi zuko%L`Qjz_PL_lSvTf3iy@x1`>tax&Ve~}QI#gCyNB0^>$K`j)tVXjV_+cq0g*U&H z(4p{{Q`@^m`C*l_^_A-mizl6J z1R;MT^=Xywr`2{hF_DLW^lI9bN$&4#$7D3MNQ-Hn;(#@q z-PV2y1g-V8r`FzIbxgpZ^dStwpAI9V(xT4s{~i!h?8|4rM+{s2V)54IQ^BVFA{I{m z_h&M@l|a0LY!e=>MKHV=Rss{NOuw2L6}fEi54SPRN43I)G9BBmJMlHt-Om(q5wJ2N z--9a%KQu6)#ACbNaChQQuN5Rm#ec|7(R=`cyXKaPFUH5mHH6V8l1IK&{=$AT)T_M3 zd}7D=C$4TP5SNZp5`@^BPk=l8arRS0B|hKkbs_4fwHWbW{zVN|ch})x4$piIY#>jw z$|Xmmr_FYFaJgF zkD7(S<|DRx7Ww%x)nEuc8_be=d(wQ$HCq+fN29mi`|+ADhLw0tSp^yKb^)ER++Rz` zB>)I_wWK{2BCO}%`_$i5Sm)?#bX}LCn%=G}j$Xn^WT2@|q$Cq`U1?(KydGfp;-)1^0wHYdUGfRuE;Ys~;XQneSjc`-bbbP3o<*=>S%+9%9~Bf!D#trlCb`3mhtqz+yP9C%qGpza4bU0Tgo2V zdVL|2)#&*Bl|M$Ox&$2&w`l~`wWyF9s<qyiR9xm=t&c%xaEyvCK9d0A>@rfG&`L$xgJ_@$tk4>?69cr=2TPBHV6Mvy;@o zvPwH#n|Zeq6eA4yr??uZACateFySqU`J!=G-pz31?@Apzvjkw-=ifo;@1EMlu_^xc z-NK4<8DjSg(fGssm8|Ao;$Dw+I^_^-7UH;d35)RMC2OXQ_x5fs?>~iC=6huf_>nnZvw+vo>?%yC`tU0qloMJYlybgE{4w^DU$&r zA#8sgFJQN0M0G)x>ZDZly8_;uPglVGs?6)VBtu+(u32{KR{pUr=Bw5pZSNE@6Hx*C z{fZ*ewydFjLn`Cr8ShzYSNb?qAoMtI~>4UI>DL-k|ZX zAg`h=zHyWHl}mzix(lqK!Bh32S_)5fP5t~~=F)}~KHdyxp_QyJQG80i*GF0p@eVjP z4f;yJKnvuZjMz?uYoJ$SSu!#0de9Az^&S8gke2*0(uM=(d8p45K(3S#a5;Az4Z~Zg zvu;c9Kc^qdaDZmt^4oAWr*}>&*I|c5_wEuu%1OwcXt{fnVDd8KOMw0R-t?2$QOH*1 zEGYTo>;YUB(^n4jdq#xrujttn$?c0Bdz<#^p6JN0kmNt6M40wSEz$(Bqkbk#cw0;G zK^QUQOu?NFb=6;+Kg_4;+TGpHzY^yEah^d2A}X=#)aZ7Luu|99c&gcN&xF^yRldDS zs2e7kjcO{L!q%#s80schEadi{&`%a1htL<`^*yFEv%gHxKh%o5VDH`N-c8ItW;h#B zp_VFVOxm?RZcL!Kwz3P!&CaoIvvd8Nyou|uYl`-!{BxXiL`jJm7+8Y3Ug_Vdmo&)H zPqXy!8b)*|<5nZhb__ctf(&Koe z_^?j=C&Y_Iy-|c0B85RA|57g$;{`p!cLJ-UR!ginM&-^dRQ0UM#zN0PL(*UQR}~mr zDDe?EcJ$dx2ho_J6{5<`*Ss*_oN^W={~&Ad_%1sLTCh~$j_>FYM?qoFOd&QfGwrfAsU@)G z@I~%QPI^`NfMhcY5}<_<6%5(Mm>ft932e4BF544Ug@3ULe>0ucfm`2bR;6kN>xWds z?N`T6@H&>oUNI)av7J6-6`FEn#cZ#t8a%gYh;T+8bfecf)t0%eWfu4H2%IRZ1?^1@ zhR((`&9^+s4_(_s5g(z9vj>O+Fm^6L5hP@K+%T|{K5Q( z6NcUsz;)Ttst)}n`A&qP0+f)4n25&m^5RAi=2B>Jly`FQGOh4so&+tDVF4aW5PWO8 zH_wf%YtT98+#t4UsE1LS#pJ)RcGL?QyZbrCqlt5wKwWJ0Qqx(58N;MQ9d^NB+Povd zFPs|l%pTC?Nh_?E5a>)aw7KxJ5W1Z@ltwdJ_u+Fgt)Ag3zo6ENXCdjF2~Vd5oN?%& z3!5S&K$b*iMwXr1AcNE$epvcKaIg^({1de-pFAc|~D`70JTKs6$y>fdV}z)(GI zilret%V1ktP z6%Ip$x%L)L@^f$fo-hi;X;d_iCDO@d7|443_Nr#xO?nwOb2OWU{4Mo!LtR%C!ZKve zV|Q))3Cwd1Ic4(GNQJ|KI{F+64boB7d0}lp0?Ed?O}-gMoiV;x+cQb~^J~bb3Y`)2 zbv2W1<@*IQ)3EqI9x^5s!VaFXTZA;!J@Tmy{Z?(Gkh;d7&J8*+gmXk9(n6;|9Df@E;o+EVWtOrB*^Z`k_i3C44{?ho4kDn%gK| zDz1NiNqg?zx8mr0ycd;!xW?bPNqpa@W4=^^`-#pKCX|YQ&ZOq%Y{+*Obb=i+g)!ZG zuXEQ>?BC+u$lxjaUsAK&=klQlO;v`3- zhLb@yR=Apo`f<#%}b2M}(W(e+)=!MvrETiJD@?Z2X|V zZz)0BxHtV)?jRNE8=#&xsJn2$$khGIP9LYXqCn+Nk})`0O2C9oX1kp|qPP`;gQkhC zP1OaQ6o3@TpFB(*VzO|AIzUGIYy8j4b}H4r*#Y<{d}z6QF8-~rQ+?yHPuX(Qxt z?xqL48bfkF?6W~aS~pe1c9|1%o)xgszg&57ad`Ah?@R&lQ>5x!K-}mU$i0K{%(%wC zlH6shQ1Rgh+Wz$jWTe8NQ{3Ow5S=NUhsZV{RXS4%w|Q+m+)+u-Rg&t9Tr%bYc3;eQ zTBxu5{77E_!O6a5A~B{{trt{@ZY#*c_UAISC>zQ+T6;*)yc@k%HGbz(9qD__!SNQ%V+t2 zDC;^B4KuvY>CB(?Klp#CZDk{;|KG@e3>li4o12@$)ZwPHNK0~$BK$x0{Enq8+CS|u zLjF$*T-nLY+|0?$&cw`_@wcOY*Je}VNo!DLot>a@udgRv8 zjZO%?ANsT0>>(SWT=prQ!crJG7ybr8>VyFIvV~QPxz=7dcGYFtcP=$KI;&lDNy4 zxNpD9ZROzK2(MY1=WlSTECW?pW9rXhy&uWcY_unpa?;J#+-JTqqc1<6fixNnr^(>)9LM{O*udcH4xW5lUR z{4X1lNQQAiZS}vt^mPUIEWeXihE*#j1XHy3?(5ddYh!UhC@&uU5zE7AzpO~;s(!p^ zn*CZG{#`L72+{=H*MZ6#VqMiceJh*sPfdarEJ+Bes9%;$IaY_wD+UFdG^_6G7JfIx z+N!tv+BEZ?nuNK|32roQ-?P}ct_&+yj0?JHt>4$J9@oVRfEZpp#*YE9o$9&1rwz|% zCf%;9f*Vb6r#k^0mL%|1WG~#ND67Lp)&qhunuYg{^Y{(1CLp30k74}g*d0)?Z&vO3 z%5XbK;KgGqqcJuSl;oRL|L<(4k;8<3%pkE$)w3}kbK@q;Xb?Rq33zYB6-xzbc6Ypw65?d8^f0gfQOrlgNb$=CqwSeLUhTmnk>m3zgHgpJ7$eZ4BpZx*-hN~NmQo+L zgo{2hyU#i;1g17_axCn#1pF={?T z^0~hKbL-zMNWujp#F6ZMHwD=Cq;enY3_i8)XPS#l+M16``|X?D$Ia%6B!Al-wQmPI zb!glNxfhRaB~gA|+|SvgteILs0})EX(Z8j=8XIBg{Q?!n z262aI8n4DykFj%sRT-J8i9fH)6K#uXB*WiI@hw$9O0EPV#9OI`uM1Yc`m|+vYz;{> zaHh0RWlM`IBR>rMSQ?9rA-h-d-rll>2O_YS>ne;Pg$mraH8%Lv-UWnibNyH_Y56}w z?VW%^e6NrPuQUdJhW}n)UxT`XfgjC>&3p%2{vX*uProbp#I{VScxr<4a1;%_o@mV# z*Y94@xH3Leah6)YBj$?{02NUddblpt2{6qJ0CD`&sjzB6sl{)U{y#RwMZqCGe}l&> zHjO*glHat-zjScQg(#PyYyBWd9#c%=Md1rvs4wah*QNSNj+}%P0{!zfU-d^N|ANF2 z>vxX!qCSx=#*WekGL^cYDM;YJQY3g2o~G3ryUb8398{K-{76i&-A5-L#0SUQZ_lFd zm=WfKPHJ!dK(BK@;P`cMrTEo?9v?dLs!7jceQG_YKUrK9zW0}rhW`4I);5H(p1bq% z?$(Ez5~ktcVSx|xwpXm&4+fui0)uCU5_!cde+OW9(%b6X-p94Q4`l9?|CE2mkO|a> zd))6$2_-^D{Im{P&RPx@+}3QM-oy4$`Z@;*b&z_^7rlxJy2asqU3SKh8CT-An7k7o z7d_G#>u2t-GedPF6~x1sCo8xdK4t>0IW88%s_Zv2J}J4c^pF=5Q}DjH z5${%{3$Zj|+59CW-5vK^DNlPsuaigPkQS#{A3&au>50_r8?KFyy`ymvNui71Z?V9q zY5y0ZgI8odgLKA^Q_oQ$31}4<6!Ca#RPognZuYE777kQBeJYvLwo{0g#9V_}1R({C zviL_e9+&QmSAnQTT}~Rp@Q@cVqpCoo%=}0t))-?=|AA7WkBqz6$Kca~J;=g6NCO>W zW^KRhXEuA!zN64YhVJ8?#Ir6`lG<~Ga=s63SBo`cZ(`-t@9n2|r&{8qU*Xg)sJ+gi zp9i?aZs(;Q=ZFg88j@py>Lbg?8Ng82gTglC>R-)%*1Ge_S%{lTtR%c|DA+jTuz{Ed z)J@_&@?sw9eqC#7W!IZK?rxyc!$U;mlcFQ0_GEbq&M>MiO&tP!S6k$dHvrelqs zmY;U#_ah9y*=`6w?;~vD^p#_x(cLzuw3FAFUr>xrY2qfAA#29?C&H zV+u`w$XoSkWoo@`Z%t4czr8XM<#3y6zh54AG``Pk#m-DoKr2N7@Sc=%gT5B%?R}YQfNi*43t7MMsfdcmP zxLC5jddcDV0^Ua)-fl}mQYs(1$E*Enr0V96|JF3XNqAkf4+~soBV2nIhfB$qwuh`Q z$44&kWKiG({lfeavBb_VN*@K^Ir!HdHd@#6Hd+TxX%_rRG`A;D-fmFl4Th&(soJVV z7Z(oOsMp^&65B7+YEQtc`pOq2Ybm~t-w4>+;$;om<9`&sA1|6}ld$o&$Qpd}tB888 zFi0E@#Xa_-^VNN<5_Q$+jzsR(XbwrG+PFaV!pGXYw*0~n`+Oi9qFYvdB&+GpQQp1} z$QxY+20nB>=VNR=D+g?tUm``R=W`q?)4R38`L=EoC`1Zf;YS$(Y=oAvAr0IC4Cno`071fEQ>^XA|0MqTYNC3{7_#w!oATCBiZ%wv%~ zF|p>ux8|F^Q*a@YTFf@I*--G)7~Uub8-c}AHMnYUg1kDpL^>V8$I(Gvd^NwAC~K)y zntx*b)$_^h*|=E1m~sO0?Pv`FYs{?F6D(Vw-E@DesYqR~B9_s$OI9_-(k;4wJ$m;Q zh?Q(u)2P$E5bI3ouGW>J?&u49x?pFErhFx!mS6a*ke3ia7ultFl!d_wLB6P zQ{ZYl7g=ncc4cZiAKzuUCh`Wn3WB|@#tKBC6+(T_o}X^{Am7x_q?*rdT?7KE;b-oYd7IlDBboFrzQViOzBubp z+z-#TJEDjSuKj~4VDEr)5qi>Ib1M}&sJVt?vn%oU^W;O}Yo4oh<9iFbwWE1c$CYdz zLTDqFSTs3&j(N}-ZHYH$>x{n)KbablJ~daezGYK>VqJM^8-7=-8LTp8Kc1;*O^;eV zq+v{z9Li2V=H^h#ZnP*DI=QQ!y$Ex3@t4m#X+L}>Zp#s0RMS6a+5xs@zGuVU3Q=5O zJ-n9)9l#hTmPvfZ<)X~pYMFrXUI{<)P3>ak9pY{I3@V+~p%b+Nuy{h~zu0}jxMlVs z(`b6d2%A>Z`I%te(i)-|EnEZCWQG64{D zV)=0>aLayNXEA+8-E%uy1pQOnlV^(UL< zIQI_lu2uNXV{nqocAWbFc=s%P4_P$r-fU#a0Y0|n+7FfbgBG7HqMr|Zs{Dba{u_(W z2hq>p^b_A=<}6qHqhh@=EtJ*uUWxrz4?roq z_6Xuu>%^BmQcrXdZTgP2O+SB8AWG|U5sFcc=n(mp?z4Vgirq}7o(kTl-hf@s?|_ST zS(2O1Tt1hsteV^hpX()_+#LVitdI57*l?yx|L86RFeRa&n9 zI4V{$hryGBH)$x$vCEex9&Z!iBd2{Tf6)5Qgx>8PntU8{Fl(2OHBd$dc~r`T-DA7ObgfBK<8fv`{#6hADl^y#pyfV zwhiIM%%Ln*C9O2U_;X!JDW-os zLi?X)`M;xmxU}i|?r~i{eY`fm`^O4N7fgM1>$NdjoLcT<%wRZu=FwRaE&SkY+Yni7 zKlF-S_AHD&Z(lj=dO?zMe+{DeY<9}MZ;pJu3Zn4d4Sz38|G38?{Oul{f4|~WknaYM z0_a+^f;D*TJgU$Ic3)&My(bE_@qPpeIr$Ze3w_M`KVcob!vB6>;~`moa=vz#cbhS6 z@t*9RekDrOW1c=^?KY{Gc#j#)VR?P4^EW^ZLe^*>n%y`Dq~6OTL-zOGr3`Ii&M|5m zuiUwwZS#7!e9&~?YxE9g=rwBY*axv?H+Gn}7ZP_xltr*eJiWEeW1E4~3r^MSGh-4A zt~t!<;SGnJHl>7~ry9B^(*s`(+`Grqiw_Tk?(GFnlb%waNL+#LAJ@bG#)Ym1{iCP+ zea?1r{6!UV8z_6SsJ0HWr~>!t5rq!uUo26b0;;hNpV9S5{?ZX5+BPM4a5N+jaA%ZJ zHm1w|(Y4^Fw4n0OS)S7A!ISAri`UI$V5i^_X2Uc%FA~ar&SSgL{O&c!qhUhg2!!8w zz_4h_&;1yC=?3%UzFP=wW^uh9p~bN!z+}WzR`XD_T2Dx08cHS@5_h6Sw+`3fbQRR_ z>rY@+o5Q}8c}htWjH3B?MB^>|meU>q(Np>WYI8G|H#v15Bq(ge0xX04Yh=+>HWJ5` zUPry1v~-j+yNUE(1X7Aw(Cgm}iaaN}SJ0+Y4(4q$9nVVQQKMJ;$J4p4wDvc`uAH?D zl&u$LI4&R?a3BkCAaivvNVOfa+aa2^!#B4NS9DF^QK{BQ-@Ibm2#Dz2Yh@a%zHZR%3^=^BnE$Y2wIe)MJai;&?%S+x88iW_EH zV-QiF;>Z$j6u3BFD|(`3ktc&}UR7cj;9?WN%E zvuE2^Qqy4(gz!N)sO4(3AYLRIcsSzL7 za%jpupOnodxwJxa9n#)0RI-SrC94tWK7z>k`gb z)a%vit{qX-Vq$2AFWq8x&Pd<6ahR*sof+{;V9ByybcqzI1F2K@1yc{+b*hh1Ph7*I z+xlJP`n}{>9*kmM4#Bg!StSHOHoIYd3iNBjOtM#&FTs~qASIZ3Ki-~JL9{iSMr=1C z3?i+89(rw#6Jgbi#jJV*Mbi6Nz5+Q5#EGIBy@NZGid|pp-&VYKxVE^yC)4D^e zh=1$Wo>RvAb>k7!w<9K+wiqNLt&qUVKl|N%fRobAPrdGcL&Hf+zF4=>rFT$FHbIVg zB}?ad+ExngSxOqaN%Sb2`dLope6$As5S`Uda&^{ERxI`T`ycB*$wplfoCZ{Y&N1iJ z3fG;5(5v4o9sujricUbMB$t6nT221sqO@(z)!M!Gx<{2!M+&F@$;!R9y=~3hgox9bEiI+zCCVDN%UfSQ|E@xDuK%lO6U{Ziciq|J=~P7{d_bR{t$uHPIR@c z{VnL8dfg|{sOv8$m=e%A>b#oix-%JiWxnFkV7;38=~{vdY@BAFKiMp8Yyat5echwN zs3Vzk<9Ov>-QL!IZn7C~f7SBFR&{mt)3qMgh8?bbNp$n4YduTvx#TC*b)PT+cjmFR z`SG=)@qs&5$2R#A{eNn7H;A^xpyF@GtgkZ?FNJdCg>n?o?PZZU>DDl=Cjo6J!t3mL zcJ^p+>(%?-E;j<9PsA%ev0OI-)l*c>E;r3lt$Pe!cAk;BI>)*X$H@=)wkO4_AUel& zI*0X><5NK*^2<^28 zEx8JJ*n}dji-w?!*23$p49{)}fnNlP;^lmwSMfx){u*cG7tSfPJNX(%x7gqIWE6B_ zlyPEYuN!-q9E)p9kiW`F?kGU+Ah3OWszNkf3Tc@H$9_DyTv)w7>~dog`oyyGn#Ofw z^67eJ63o)lCFblqOt84)wYMX=I&{<&EvFlctQ*_T>n#e;ZUm8$2dUuUd>>r#)ZX^g z9{SYY_|(2J0e0Pc&ar#X>Ae%kIPvCRe9~}LI{v2iJlN>RQfM%7{LT4!u*0t|&w&2; z+rwQX)!TMp*HCL^v-h&)18e6{D}9wCqqp{s?hHx|u5}ijBuwS>Cs@@uR)>G$z$)Mu z(Qq1YPY`30{t8aVLSd~|`ll`K)9=N*dNOSQ^#Ny$!{!OEJSM_42-F&BF*i;*~ z;7LxOg&0?dk#hZ~h=ff^u52}sg-*d?2xjuuD?p$83v^9H%~e>uT;A=oNJRdx)@+>} z9=83=R>K~xPt#pnb97tt(dBYVpT(-$$A|1YO*$5 z=cqlO-D)_&7i`ykJazi7mNzd*AZS~F*XN!;WU5R5p-bgKkVx=F_3_jjDHnSEGEijn zQy_^1;jO}^0&xZ5#UCkMOc9~2`+73+`f0ZC1rZs2Fm)d(b^8yLhrKM7eWb&t$VddC zHC#!KTuF*S3l73d25hq$J29?RCSHT*`TG0$>XMnE*@xd^ZzG4F2h04f#JfGp4YH2D z9Xt=Ry=}MpU6H?6JW%}j8s63NDu47so?OSII`au#OxGrmcdU_bG|$o6XLUW}rRu}Q ztpur8@vo<2d1RO7pO4r7{ozzwrJtNaNA;~JCX-(O${ItNrbdKZpSi-0Siab-fdA)b zc%&ez2mx7vEg5h)f5LJyl)3>iaXD+$W{Mg-t*|eg$P-L+#}FS%Dp4i1;gk>1?bBu) z)?u6?uvEcaLBQhd(~a!Y*SCE^38X`A%ws?ZE!6NXeOuT|>I1InKeJOv>5FTtFOyT}wQTe%mXY ze2N+}eQ?^8W$Vy5X2LkuRC_v9VyTv!wd!`1K5$mn6BP<&;A|y?{KyQ;pT%a=7X#^rc~@&GHI2&^6KX1^+*|&n{D}g*)-Fx z9y&wb&VgcVJ$TQ~X>Yq$H;Zl&aoqLyUVvPiVJl-Fm0p%y8>>k^LB=Vyyqhz1I~&_F zw8A|)wKsR7K)S+^ok(JH_~;UY9jn{;j%nq$l|!nGg>jAwE;glmkwo9%Q9+=ofjRX{ z{-|G{sgOmz5Zkq#SYk8cwVm_s`n~i9L?eqZyLEsyNZ34wFqj%1F)=7>w0A-tRU}a? zc$5sdt8BiDB9_<>*-t!55XdPRZXWG0i9b4#SUA1=-N-44jVB|0l*Q61ikW99 zop3y=gKv75=uZb9p{F~40vD=n6xJmEK?X-oIt@+UC}Q6(jD-_9TcUgZXnXKzd)8=s zdb~SYMu$|Kdo0BTv66nioe8GCV(++>2M;up#nv8SM^;!W@}(1o{zh1;+~qZ-E~HMV zpBD9N{X|s&LrFJO6VzlCI-Mb%ID4hTC*%}DcKy)|;nYARtbmF6b&fM|%%Lw*Dbj8Y z18c2oS$&m{XsI8@2|^?|A)Gupn(Kg^v_(H(CtYjro#}`to6MZvrw%kp?5P`_>F`9! zXwF+_`16M$W}hLJ-Cm4fH8|QfX8-KgY9nyp4dLPZbLN)i#%SEWo~3hYPo3Q6(w^l; zC)}j>^f|FeFR|23j#S1&ezb4jkf79!-!nUjurqwHHyXkNu>(7askAfHiaa_uCQJ;B zl=C(|JBes}7z}I};ba*9q+$Lp!V35H*Pk&)ttQoLVw&gq>ZtME75gePbc`a))!5{B2d+}&8 zeLLP`^=iGUJZ!4|7V5Q?q<>)r8U)io7sp2`1gFlL&KlX87+udr`g-Sq_%*F_G_8rX ztaG%iVLp|r8paQ=awnEd-q+s+(Q$&8%c2ZSV5yO%;atdGoq)o{qay&4quPb$RmHU+)jE)BJxH}(y+;JE67aVN3P&fb-2LPo3Kz-WQgWA@k+SZfWCx%t7##OGSRj%e$ceNm|I*?aA z$g2Sar)eFeX$`Gq9i(MVQ3+6~1jJVYW=`cY4677W4Q9WLbISS3Ak(js-%~MAu6!+E zvXZ%@>QSd_T==o_o5~h|*`!_OSAnwfJMnb^b-byt9$cP!7GTDAnHcwmcgLK8$!#zv zv+!Ip6 z^RS=}DIr{(Ab5!&mX{Ks;d90PS@SY4{_M9SY`1f7x4Uc~#pFePdHC6d{{@E|vF|jL zxg9ZWop8d=J#C$G!VZnuAF<~&kl7m{O@MHMn237a^EQszI~-U@v+RlB=zxO`&THQM zY7Grm~Pc(e_JAFFE&TilT6*rT*Z|&b- z2Z;U4tuqln_`F`ozDSSY1DCzlV1wEA#h%?!94@wNH)LPW@ge2Bf)MVspK~|b4jp42t1H87z z*?|CHH~<(20Hy(eecBd-+7_eQ7L(cshE>kSRnDeW&gNA&wII*B|C}<<1`w>~$sf%V zD6Nw}dKK^GsHdh#2B)S_@!c@Cj52h%Xok!1rKhRA>z!Ya2{QBgo~gelhX(lcX;OnD z#UK|5k~$IJEC}+1P(_8Rd&Ylxw8Ew9g#k6crR&k81LpYhW%l7J-GVN!;10&3E2@*B z>qVfJ9WqV(Xosl>T4W5@c0-F49zK=7j){k)Tx{7+Hoc#l8P&H&UFZPu&-t1+!d@(B zD5j9PdFMM}08fskcC$>Xt;J(r19a~>x}iJw#c9j%CMu%aFaz8NQcnvq%Q+^ldkx`O z$O0LZ{7w_AwtMsx-|(?Nz(bf6 z0kRdxKETd^4j*P)r_}TYMc+mtop)dGBqJ=Bl0c}dkU6K4z))tjV*Ungp?kz#j&LVU z)CN}N1NO0i*=>$-CtIoe&|$Vwr*o-0@G#q?(?a=of~6?ZymS}{&!fN8+UQ`4eQA^ zTIy8)-p%echOQua>eTSw&E7R^i%+0#7kVmF()hQnYYC?(W8E%IM*FSn6x}YERHpcG zDaWT$-7f4@rsVO|t!p!t8KC$+}(m zsWmC%i<{RRPEXppUFwVmVdIOVdnb-hUadaRj9}7K`++@zy=#RQpG4g*yj1&?@#f8I z2B#-=-L7AZ;L!2r(Y;m2C%2#P?a<2k&~!zda=-Kiy>$J&?o8#vv+OU5CVc48jnTe= zcOlX3j1kK8)J9^u>?6>5z#Cf(6oe!a+}pTPSpygcjsvcQ#JY}ucf}B7Xe4K4$d7j8 zExpTXW#GRFwtDD8Gq*8EeP$Bd9+wUijDuX_APWeB4yi?4Zb;ka;IDiU#L?hp#Qq#^ ziQLAKt|=9Oq2ky2r0wFRZ}k*{N1n>R*+1Cs{?WH-No8LfCjdQgVHC{&ND!W(VxLeX z2?a@sp6o0ijVBR(DJBs+qRGF#QGWJCN?OGowZ$B@&8b=4fP!r|gdiX$MM1k{#2uN3 z1;fUFF{TWnOb{U+CB;kShhWD?GlCGiJ`{)=M=QKuTBOi43bxro0QX^Zllx1;N@&@u-%h4?yNv-WZJ+U&EBgQz*s-W)DrporeL)r;$jOWg-5`+kno;An#2{W zx+b-KsacnrBL+(%yKf=_Q-N{!_GE>IRtBEp=dS?tdr2y{(Ll8ti*<>hc#RodBj{8x zX?9z$x8f>Bf{IY)shaNDy=(Wb>RsK{J=J%m=gFj!rK|7plzDxS zxP<%((wAVxysbEex|>+?S@__ayTlP;+{26r6If9^U{E}QLUVd7Z)U29#Fn+c9U&E3=;gM-tp!rddpsFAe%=D`a-`v(<&r20`fb0v4|Kh1@*A|f z4oOqX#fgv>%bbA}@OuQVjAm#Gc>YCEKh@2j6lh{5(3=`f^iT zN04U+RlaO^#4Wxmt=Tk*v_W0641#8*oktqsvfl0Z$TAN((tyTnx7iQE-VWiC`HAh# z3DEx%oT8(}QlFv!C9u^t3unow#jQ#gmT|s2xeb0~b!WKGsHIucPLt)&MeqBy^BH>q znwU<4C?>t{_#8jux7Z2k(l!TOd~lu!uF=GKf(*@B)OBykq3dwc(OQMX5B$+aM8k0y-Dx%xwZg@qu z0cypftiob=u;c#j`HmbqQCqcrv}sJzUMPT|wLt3Vb)H%glO@mbZKy5EdbXikw8Xs? zFN7oInpTbCGtQZ8bJuT5t9T^>Kaa-JTI*EZQ)aWdT=(aTbJv80dX7v18 z5i8CDO55OEakN&YH133F+Q*O9cw}O!O4=|j%->KATVS!%BNoJ_XDd0T=avv6>eWqh}sf36z&QP?i$kB;Vf}Yx6`Jb^;P(MGIl}Lw5PUH)7`>`#%PkA zUiALbt2kHCY|4Z{ZOul|G_Gvn3oFX&hc=4I7$MtT&p}=gd6G!O8R3iMPlC}E%eOJ`+>TWI88tsTbO{sDkk5a2l#nrE zq`SZn1v|{_Q`05f66;kJZJK*ivkG|98RL{YzgS0(iZX$4Rh`G-oL`u#T~eKT7-dbk)qqu!6zsx%VU3 z!5O&B8op0S>CRG{;G%!E6pa42Nj76xW?*4nuw~9wAj-*9RRJ99eS96v#M}fO3Kpr+ zbEf|MO4df#^!#Aj%+Qg&OEZdQn;@3V*pWSJvzsVLgm0#5%JSHI8at_wYi7_ndYWOj zSXK_`$x_WW=;7sI10Q?0#Tz4PDvhT!+3d^Hnr>_-Qi5%Z++gz&ZeGNK2A5R|$fv0m zT;MHRgLw23N)KtdiKvuhJf_vgi$#LBIxv@+scch!H!2)fL+D0iRYQQbvI$t5)Onj&5sv zV#Ve#h~B!IrOm4Drxx6IBlPAhyB z)st?~jNJjNP1LLTi;*K@oW0N?1+Rzn2tD+BH(AFWVZT{uL+zk9MRP^EqV(mEDW)>@ zHXEZ%%|{OVsI9Ah+AN;_!dW((Sw-~1drUTjZ()~TIaa{tyRb&6z!p02C zMM2^jBIzuJ;IQ0v1GvBJd8m<&M;bZw^pOJVTOyG&7IiUme@SiHFmDwilm8~>_KvkV z7V4Pv!n|3l;I#Zz)Yl&bIL^$dIX=k#;>W(}WyajkJxv`Yg$qTP2h_WN30ZLG6ThUOk} zY=owBY@jl^uhwXV&!Ztd>{sSQc)NDzApaHHrjCgyQ!rZC`@acZoAiW%h8%rQTj z@mGHgG~*4Ja>P8C6ME)giu5)TTVYTK9RpIiFcxWruT{Fd+er7uk2u?gHnUz(D0cR2}BZs9wtFY*!_Htxu3B0(wQ zW4wbQB{Jm+YqCCHk){YzKVMzgV)z5mrC9=Q ze&_287p9VoNBBVV*1n_97zz)NbSfZC%^H*vl{WHs`G(c|ur97VE9XlnxhhX)qd_)V zERF&sgVn=~bJxtDSr9MNp~F1GZ)-fj2>?n&8cLkDYl{8mcvlf7!HAIHEoO%wu+jwC zVh`J63D;u}-D3~?dm3%06Kl{{K(z}Yi#X!RO|xv)M#YWn7dEG})Gt9X4w1(~!#LWI z(Z#k!@g0l2nm!chO-=wvLJH#W(0Fxv%3Uki_q+WGe_e-tPqi3XHPQEU2(si-5ON?|QoI;ob6_E4 zr&|1aNtgYH9Ul4%0;;nO^+7YbZu>vT6w;DfVnS2?tDxr;U~8ZPbcljf$iLHYfo7yy zEooL=F#YKNRvr%C?xz{?*#^7+I(z*3ztb%g=1|=fjORZ%|I79%S_D~qDTpEamTv;h zx`xfVrvH;JNE5wSZ@?Eq)@q3f8ht=h!Npn$45B5?W<-!Z{}eXvbSpwE(nnlt9rJ3k zkxwu|z!OH5K+x;dgKWpQ3DaaniZIx=2h&7MgOC->&+T9j=kF=;xvb7Q)(5}hM{i!a zanRErvYw0|)rp)jdJlqI(^^zN!N-4KN3=-(+Fglo^pOqt5quxPK7hCZpI#F~$ck&S zP}7+VtT{#lGmhvREvdbpn&{f}Y=0Sqd9^m&uoW3?d2mNP|6*z_dlgN?B)PdYX(Sh* z?hl0i1%8yOm~jAbt%<6Mvg>RQ+eCN$1#-6ylW9$gVdEbt{w@0+>?Lz+z4S_~w7;NA zs|;kELm&Nvzv4fi)_quk=y1n}m6-~-$6e`LWsZrV7RyeRGe zHvx;(gT@%$Hh+-$m)?IlX_UK#eVLN=FC=)!GUe~4~H(Ae=^U6{u_96 z9nwf9K;0ky>HOubVVlUVzd-D^VKA*pHf;REKb^0mmu`!d_7_xXwt-p|*D{lV@ zn)|8J;I>l0awedOhYtZ<1^Kk3bYNEn7x?Ym79Z<*Y8c)YcbzEtFJ?m4@j#o~zaQ-< zi*yWFSB>^Vn{PwbIr=X)ciHF~{xORE>-svp)(K_WDVQB_HSB1@tHpsR zSdhimbo_rbL813UXG0SG0iWnO1Yz0d+Q47u8zO&Qw&TA2-G)4h!%Ts%($d5 zNGFM4TG_LDxNl^nax;Jv*##+kj{|uhsgRxi5avNAfEMp#qTjULpaD;J=>tQG7}H1& zJG9(U?KB$5tr0{v=)n+Ya<794I-}O?VxM7J`Lfy*J;!wIxhmdiVIt0XBPtJs%NR9y zM6$AkPo^VXM1!Uz05?YoaP++SnpZ0GZ-)9YU!+(8s{u(XMq093jTrSt;%Z@7yO#{JZ`xj{SJVu=p~!(wMVNrBqh3t5~1x%Itb zGFhR7+KzT66qF{e^QAYqU8h1{D8TKz>#=v6Y*(=Pf!aVFGlao=ENIi`2uOAxDG0m; zD4=0oW;blm1TmVprzqSh1X;c9he?rl`9g4Vc$8u6zB~dYW&q7%za6kQy^#3rP{Ea$ zdj%sTxQ~org9K)4z_sk1PZ>b~Gcoy!uw=7$nDZ0bJ~(8yf_vg7e_GP>STa zKRCD}!MhKjT{g2K(cw{l!3VPkCI>+h;-Q&!R0t~!vS}dL$Wam(n*`_NvCx-<*8#w9 z9d!SG2JVuo1l=xM88hy*{7}m4GfP6~Z8Rab6-E@{VPG6paA#rl;GY%QcW}g9DUtr2JHwvUBoxs|FH94>4tj%F7cT-^ZEOqKlO~iHjhL@ z7Wlc;(2{!l-X$ZWy8ZfM?uiQACT0^{p$G}}T)A+FC4iQM@EBj&mWEK<5Efj)*l)ZG z>S~wqdIG-Zw@z@_pxo?|8}m;j?(i0p>x{_a?DQ6bj#p$`FUaXx@5l)OPDibA&Sm-o zIil8(<}!nUbx~`KbD4oa=cqMZL59c9z~S(XC2kzkY2%!a7R3snw5x^ zWS>9SWAo+a$HnUscWC1Yqv$tgw4aBNY+1|>LVmQQGD>QqF&PDZCoNJCi$yHWc8gkQ zAyd%#GTLa^eAq$$E@HT{IAOm&N5=I@1uXvIpP^LG#mr63@Gs&GZ-q@Sg}YC@0~VkD z*%NrKCoeuh*4;sypCgX0;iR>*uzKbiy1~~rOR~0s>HTNNr%*M@4F4BPUkdFZ%t=JC zNzg`xNz=Ulv#&Im3xjOlP4M0GAf31o%{%rNO|>Q2Mb{5GGoa4lObw^`Wp?JTjv05! zj4()GwAhS3^#=RYU&Zmb-NnN&fyxkMuL-wa;lK=TjELaIn2B}w?E>jXo%mM^ETD1n z#Tfl&_Qx@JaGeLxlD5}9%KtE#$A8h<$mRmi9am7UL($sGRVAadJ%<85h=^UHJ>Tn0 z=k}(_+;bU)X<Wxle9&bsOF{6(SV0=K*g$n|fe;+Z0R%nF zcgV&fz0}vQ)ZK%B7#O5(Iu!#S_iePKO+w(vFVb5a`hu1zK3+q2O_cSVGFp+gxdZ)rJ3^wm7V88fv5R0W5jRUgEHG5@8zJUM!q{+ zXZ`okpeIQPyisto`)!M=*1;tC(1^CXES_YKsMeu$GQ8@abb`it3dRA9O&DYXvYKcu z8G>wvo8Uw}#lJB%iFhT$hyYPwiee>U7vxU_}Lw1GHQ<^KEEN#mR>sv@yXo#Uu@&-`C zNCim)F8mOCpzIo15C-GkL+{uaV8+Elz~+DjR=}U20Y9iswhh0pNV1~mG;q@I0Tl2t z@c^E#2uLSCEa;tg3Pnq}KqKxDIf1e3W1K!R&xp_|rv( zu9$S?hYt8jT(WJbdLi+GNT5){2mB}w$|!ogWrCh!c<+cD|8h75s+td_5#u8epR z3A~z*q#z8TgnSHq#vk~=a7+GA52iFg{DmL;-_)|@?~aAWC4~0s9+0u&00)&kBq8{A z(V=&A5AvTdg?_gCxcxeSjaSLzQ4SLoCWCwkLfpZyQ)WUK9J+<)8ApeTUcQ!rM2rPs6T@f!q{w&v zN~!opg8oEFEP+jeF)B=*<~{n)<33g|-J6m1>9gT&P1lKu|Kb2-T`au03R&bgK;0ky zS713BJ}K?`3%c$TjKM98fJGWWoeJ+i&X8}z8R}F3=DBdA!suz<M>7hzNwE6tmp_34A*Ew}_c)5|Es+dusCd~RGfT?ixXFDTN4 zLK$-~M*raak1L3i7KXZg$iLuTI#79Mo-2l(i#{q$k>=h1A5QwzCFP&Ba+NN+!QtO! z0qH*ufV7po5Ksj_t2&;3E-Eyzo(+V!(Pss+Y-wHkekD}fRITSpz!_5VAqHCN&0@)y zYTLsgbbo8@Rz<4d3NnV6%6s9P(NI-k10ozl=j+E!A{w`&%^w@ z^ic{^18vS3N+0t$S-f3c zx*D8|wX;iCBOND8v^z;x6CQsQZAXxduz$szlLLL}5FJVDe% zu`}X?4S*PJ6q!oc*csrhERm$T3~A|h+{_Shslouo4VsLQe__r~wexO@n;fC3ck!HP zviQ7|$h9)~QS4p6ijGxi2k5pi79eV5EW5uy*ObdAVw2KrW`i59$Ykm^GbQgdlRk%-6MVnjbgM9+(-VhKsZVv!UW=KS>PASZ~SpOXkiae5M*a} zP~wl{07C*+dSHIMenCUKuC?cG$-!(v&$VbZ4)Y^vt1zSK$NFDKl5U^F9?Uyoh+dZkkCe$(54^1a)X9-M~cQl zWD=$@fIC&kJgmkBAFcSlGJ8i`fKH~5@=ev0-*n1NmK$iA8E{Yx=b}N_N{6?a^gIaD z&WY@(h{0RTM>x$MV|mB-P|rpadSFi4iU+xh6ly0e&9fb2*AKnQD9NLcm$^IfYxux? zb@EqhUS{CI9-NCaVJjcrYL-ANACAiv+Nz+xU5*3~OJSzF49|Ih9Ylc+=>(I*0k)|N z;@JVVZq5fBvQ{a`Rq{}~No$dg12f4M)c6&exRw35mAi!I6#vVg5iR6{SO`+SM4~#u6PnS{qNU?#?&Y6K6vd7ht{4+OzDrGn)!UJCmwXfc zGKL@2A^jB?ovBedX)rwnO%`Z_vARSBRK^sCXhmVG#z>oQIry9k<&up&(FsXvBMN8k z1VT$Cqyz1X8hh7n_Iy<*mh>K^mTZs%&$K@uY6Co#;64-vgv??~8t-+%JMuY*>y{Dd zZBSJ--hW>r|7k^F%#AS~RNu=Xra>As+c@xj34Bi(L{G+CDla>d-4i++qwx6@)N|wu zQQ}5crbk}k*7AMn=EBGP?mZTbI&&GBeiAYX*`1-rXc9gdbCI;{corFI-qXaOu#ssl zBFLLB?p6q93IcrR+7`}Hi$EOc1T%LI%k1wWdaD8-MlS|X4?qM3&A-xZ8c}VcL9%sb zl5BNkl1z03*avl|*=>U#0hVt+XXg`Y-QZj*J|>n}-A+0SMpiu|W4w!FaEBbp{<8aS zPv-jy1@;vM0mp?`BN8e++Fz`OeZsQZ9rx(jg`yRENeHgMlRz6tz2z1MewE0Qem zyk1{p{+=K0Kj!LU|F5~ac6H=zOolx6DCi=9OY$>QNi&gi`n2H*v{nY%Z8Hh2It6YK zt4rDpC)bAT+sJY@obQ*}qVj|~IHOu{9ivD^V;~@VS-s?=NC&%{be)F!S^#1wVs`MK zL4%K}^y-urGpC|xKDBF|UT^AeR$^s$GgRON$$Hj@=)C3-``Tm-+|aW9jcJ$xs~M~%g@{YzZE7^nOat(^i;XC?kR zrkUYT&rxN{vp{Z&dXmwy?n`{VRK5HX{Su`u#%V%hk&Ke(r|+jE!q`rTiG-J<={1ofiIkJ0=}Q7>7;8^ivQZpHr6s#)j>_@V z>``UoASN(}Ny*{#VaVl%QOTwD)`CWirKYehKTLhwN(YViI?Lroew6#vmjSXSC%2TW zP-q2DF1m`AnP3;eB-hm22wFClnIfuTIIIej$H($aI15h$v0aK!;cOLwSo%6ZPg|l> zP>!^R`Me3&vV;miMt!+Q`7Bu=xiXaymPJBNxU<}NUoZ$~i+$(I!%A)N=`CM-%IQr@ zd&>InHaFeWS%sJ{9`!Dzz09?Gjad3FBz(*i3d+@3rQdCrtp%Pux5Oj!!@iH$JRP;= z#_-}upbyL%%n-Rs63MKUI1iz}bzZZ`6(WRg4-$3$W*Q(Enf#q@_GA+~vn>y$8!d6o z*yll%O7I@5{*at@#S}#QNtdb9wOG^xQ#FTZ-t07iLK~0CfW9H}lzbWCsh!R4eRDVS__qdw5eUJb#{*ix((c^r25)IAY=vVuvWHKeNSp_q21R^v6efkMbQmb@4Tj z&z?EHC6!z{DaFSSN`!>ovOAC-e8MX@%ZB^F`_ThS*~o5d5owQ6-9@-a>$y0r zl%1rs)QVmGDtM*J8zfx5p7?kj|5)Lpax@)!RQDKibXAPgxcDpFSN0s+Dw$8Md^G(0 zif2Nb9rkE&uoCiD1VO}Z1NnnRU#aY4vg~7vPKLqS)Iz&|E}$kSiWAq)(r1eO2(gv9 zl;)9OEiq+>hN-k8kKq|u(77pO>ESc;`v|eQr&^|!KsasrWxYs8r;weDAbIYV=xnDj zeza-XbZ0CS_*;zpbD?xx?3x}G(49l-oH=|}h<)l>fTZ15;oLqW`GAXI(u9Ze7o{eX zDd+~OqqHYxN&Jke61x3ULtMMIXQOWDMIe-JVLy(nRLmk_UN_dv-ET{n`rHB&vUd_(sK z??A`0*k&|pikErUh-T;Zhi^&Cep|!u=y>3q{oavKQb^2?tE}x7H*-`pb7XaA8$tR6 zMMbUo3A`n^StvSMD6UR9oH|71k?86Y?}xtz z-|biq6J{7(L1(pH$=>y(dKs5w9kI}JIIvBZzLKZgs|*fKoj;ep?jOqh7?HnDX_2~( z&^3Ldm>)}#JJ1{))Tqy;ovGKSMz)|D4{za z*ZnxeD>T{yk1Hqn2R`abPeqWd)b4JborPECG9JV9Rp{Z%3x^p{SR+FxC_QF;aK}?w zT621u?bt3q%es=zVU8V~p>LzJ*S=EaTEBQcqIZRC4TBN*bVP_{yh?h&Gc=gePr}>T zC~Lns+}5Ouh+Px6juhf-hWIPFvS&0Ia_@0GQoUtO)2Y33=P|dXu+TPPmWaL9x@7q) z^_1hfocUa3uhm_DN_0OZ zE{{3$U2?w|9tBU87&t@&4Y-dCTGM9x5T_Ch65_q5Kq3`^VW5vHXO5*vUuCPl2S>}kwZCuVJjsLxWpZa^l3SUqE$<&+sGx)b#_ z$_J{AuNGSNjFLa`D(Hdhg&$Em>Ks& zoa~~r2u85PTF9ey(NnHO`C_HV0(T?wb!()ncsDL=OPus+_mzfk2>G^rbG2sOlJ(MC zGd^SanD-3~PZuhaOldEfYE|i{&5)qIuT_avF&7a>NRgE?zKK}UNS|Lh3}RC0 z!M@fM)i=7<{N42i~RkdzVv*rRTFUKjRG0$=H_E817eY@XUN<+1eqqUE< zDsMhmL(ME1&Mb9V+2&~z)qcFOU?k$x$w}rYQi!~ za(}5>*Qr@^lsBZ0rDB&f^l=(!li8PBcGQclac_HBnoKsbT~R$ez5h~9v}DDzWMyI7 zz|pwW(&9m~)M_6w4>kDo?$SqM*Bj1*M1E~VhrT});@dpXTI-wzW8Jc@MVu&R`np{9@Q#zja1_>M531~e zk+2i;0+!wn1uicTVj>@EA|6sTh^c5}1GOVptL#DfOGl!d*Ei4~8fPm3Qb zbRWq(kpg&0JPG?iah`rzkaI1 z9tPYKHcuey9hmDLD7S2YaNY+WZ6SqJXO%T<8&(HZjd{c)u7+zUuCGIW6++WTg{qc; ztp-2cuP+<4R#_fL%zZ876|5_DTm9}@AFe&sf32J$W^I&fWrX}hiFC98$&f0PbO8;D z8w5o#tUE-8Z4*|yqdJzn0;_jmqI)o%EN{S^yz;Gdr^A%$rxTpSS0fnx&p4Y7drok5 z=qMI?C?e2?Ph<-|FgBeiHokj{v*Q7$^hjnWuY=S~-nYG~Da07_UyHJk1P%K~s zMgxe(YF1-Jzf&MBpc5^`k2VPO1P~cnxl`^h5d||xu`@>v-+C?A@-VM<; z8r5Os30K_1hQBo<=tp8dRJ0toapHBFDS}mYkGB6aCI>{K$Y!ASxBNLviaAT{W6nN) zsD?4zhOzJ37A139C9ZQNt|_zp3JqgomCn+Y&J}ZfWv;|l**sR+77b$>m58dx0cyvP z<*xq3@XS5cDu%l(VwnoXf%#^GZBbv}utv|Y27mO_7hvh>@aP-58#5d>6x>42BU`O? z-OE8ee@E=Uq8}(6$eYxFwjsaOnLZ~D=OMdVLmrOglURs;rZC6I?&f5ak}CG5&$K#< zW_IzzidpEdIS5t+0ZZnhw#Sf7w#?!_Of68zXRI*pE@lmhEfsDH7boD!pL6*>es4oN zv4dpffpIuHB5y3$`FeI_$Jus>Mc1x+Jx8CQ@KG4M&4$sfE?SD8wi6mJs^^^~2BHmr zNWlBq2jY(;1Q$7yS}FzbD);6%?ZD8~vIvb;h)11`BVrfpSVwD>)MKISPEReROqc8R zcd~47bp1)DQT}+--BD&d;oT9Z(Dipc^{t-p9tPz46H&Kh=fc|q9b>UCC(mJJwZE;CDQ4JgX~yi}U(rf!Lo;$~T-_hBizXjR*iCz-it zN=o~Xoc^?Xiny{qR369V(74j&`PVRM(yg(jz50^#Vc46|>-$jyqXrgxoxu-Kxq1J5_+uP~$QhI{tC&(UEdjfQWwf)22#D}7LR-+xit z)D1<|;9c=#KIpLeMy7XST{UGqEVKG%rgsuuHDx}Wo4h`mzrv=yL2SLnKtmH7`|ntr z+2Dp}{7MboFkyb+ zkkk4ZO%I5sHxK>;7l1rW44{Q3CKN`BNPY#oK2Mrp7X`|cD(G12)0IDaP;^_*N4qxs zDO9mZ+-`I;%e1Hdn{ptofZ+?TKs&BB3u5J`-0U^oy1@J()+97UDp2Tqde!`EBT8?^ z1Yz%v$65wV!T?roLUZKM8#1_k`~Z9K$SSU!NF>N07L;2#a$>^fhmQ0e4(1vT2H^ur zAnp)pq^T-+Ua*$rpJ?2Iz4*jap@t=@iO#qZc;@*?$N5M&2*Yq8>^AB>wySaDS1pb=!o6IMt8tT84~{p; zJpqc3M5tk*X!){Ilxd<=Z7FK^9@mHw4&*}5yT;G&hL7>G zoOn{#Y%747AKNSMYz3OG&kTPGRBRG?1KpjJ&fiFB+i>N77s2~r<}b|3n1AYYS(t57 zxk*L<*JV)zAr7I4Sd~mo;?O)*v)UH$!@0o+AuNs!NDDFC72=SZfu4nF3qzGy2bS_$ zC7H8OI9;T`$QmgO6S9HpIFm&s8kbN{|I-fEY7Twl*VHhQhH&rE&hf{F>N{%@fzFt` zRVbS~zlQQ3Fh;tTl=?xU^7(GsV1vl5S{w{Qw1mPN58*K8@mbMhn_ho3$_CTl)o zB@1^?(P$rH(0fM|sWeP|`|yaQkZV~qUUJQsB0Mjjt8s|P=$)V30mu9Lk2fa>Nm)+R zfZx&!3jY5c(&PBAA-z>yL;|n~rOHfG zjZ7t{l3!#&+Tu>7zo>|RWK|lk>4sC->c&@expY$mkyWA;dI(VQJP=Xw1Y4vRgse!{Z zWl8Hjh+B5AB%9)DW-Jlf3P(0<2~7*+7SE{GCYe&IN6p{Bua)l>T%q13KUbnhF;FU` ztgPx8kOjJ>9k7#ars9m;qV0pJd%^$d! zQCuV=n5%a|gpnHh0+aOA$daHr3R`SA*JlP;32t(R^%%0lNr7h5VdIT)_I)9qySt}NbYr;r>Sj~$+oI3t zru+Sgxp>5@)@)gWjdlnte9Rat8Q@-doLRompys&Y)v8i3gCVkcb6Wga;i4mJRiz);0c`N_xp>_mJb8%ti$_otu3k?Z&<91ur@_ zrm>*ev?J6{%Z=XU>-}_$QmR=R7kV%VoKse&mfRTxoe0YX5_Eud?~7mDlI)wA^GZchpB%@O6%- zW3+$V=N!)snNZ|ydY*h9t|*AI7y(oa?*sHoxG@%5KMzkTtYZ;`#c~W6z4CO!5EL<= zhdZ5y7?ymGuzdGAk#-lu^5d3C$@#7R&Yb(Ty3yLkCiD3x+xgxeO)hpn1CQXZev$iZ zp2ho{a(k)Qsfu}EnlRN3HIdYL@41uK#P@JoobUr#4@SdiJdB($e)*9Sb zJq(FL9$Ub@@x6f`cS2WCj$WgV!Fn3^cb^s)UY=Cg#JU}UONb@SAH+w{g1~{DnuhZ$ z>~t5AqQV)Gq6pneHK#-8)WlPA|7vyp0q_@(DD~32*l%ea7D8sRYgOd7aou*G*hIh& z6GdMZmJ%%7-&N@vZC7V|#)T8dkUZRpSZq(AzQso?bozLYKJETm`4;q4NxfpD{sT@%}5FZCE^#{I(r6L}<;Bledqd){7ZH)o|2Wf%jJAMHZK*24rW ztNg^)y1cK$H*E`C)nD$uUvAs$5yx^d6BvJ?*)IGdH(Kzjn`?f zfIu1K_P+2XVsKBMl@kC9y?dOiZZ_$bjPHQmE43vTC1B18x{|7BqZ;WIYWjo0^xfjU z`YnOY^UnU7A%DR3EUa%&|2{D=HyWzp4ShD_2hR}t9rbMqjF4g=@%M_=6CQm;K}ZFU zfL!|sE=Q>^+!Cl?K>Nnlb*WUF&~negGkp40&Oe6M481RC6l^r02T(iT(AvzO1m+j+ z{Z(F&mp^o0nuvJvjlm$!Eiue=h+ZIK=%%i-wJ{@lZ(%)B((MN8B=@akE;Jwa{b#~W@O{dk@9*V$nEfnrpO)mcka1FI{o7XEvn${U02u-3F=_auH z!;s|*1$3q=uwp)F$@}7-=O5dRE-Q>HRlF*mt-qk!v}>~5rCN1dpjx-$EKh$i*=~>K zw*2I#`VrXfwh#N&g`ke+H-*sA^!KlTxK1Jg2j2d?SR?r~ko>*L;j>YMfNz?7KdR}S`&&wO zZ_(Nnq(Eih_SibWWRPK zwC7F}dH3V2U@^+#P z^COM3?9Pn`K;^=~bWL}OCgj4P1b*}P7Wh2r2zvL7e#Hsw^{QT^@wQ&ksP(%@vYAiH znXuYD1gW@*9hZgQSBmTsK&U*Bi?BjYe)D2udH>_RVS%vOK_16rECWMS8ly{O}F?hix$o0H*emc3TSbaU%aGgtVcy^}{IA>X4>FDmyeSIANtkC0l@i?yZf}o9w?;v-P z%Jf5~C9U@kCnZ=~R=%5L`JNc#`7-fswBI7I`aH@2m>o_Sqw=!6Y_oE|$+B?&Sag>R zE(qZ+$i83l8^`3~0?XycM}_AyuZ3~v62z=ZxYsf#Ur?agN0qf&`qOBa@1UcDgfeG^ zvY4}IO;x>itn)jbPS(So9uSSUNWL>-V%6s~7bBx7tfz1+F@fC3?EOl%(+Z;{KCuRj zixDR+j2%ba3zd^WDgKke&<1Jc2Ibm3W&A9wY)mv2_}A9ptNLlAhkA(LmJo+g8}^?? z*Gva9VFoiHr?k37Qs4bn$Mj%`u*qH2uI1PPLU@ckk4C$XTXK&pp(8hV+AJ?>hone{ zMmI9J4Y=i`l$uF;$+T|Qt~&Oe?TEPOHwsiQXs|2_9XCFm+TDI^K4o4cIzH$W%x&Nx z&GpXw-nm;R)|b+k;rHF-T^+V;_{ek~HiMkHQui9R0uGqrSAz@NwygTh)ETNuG=-6k z<%8LZugJhG z4`CtFUMZ5$U?R$}I-J;ICQ4_WQw-ly)D=!I-bsYsA4}L9>)A~-qs(R00N)KXY?2Ju zDd>$J8OZ+bwG#5%QD*l_3C)^2icu$mk-%WHcDu@9k-o-spx5|fKC6sHS5<(I^_nnz zolsYRuee@fV?{C}b7P52dWo#KJ`vI1nd)>$9%*-LX-Mg_KugHdQ1sl}ZMLcqD{Cxf z8f>WsN{k>}E{$4J=ya|{#H$ytdk3exu(EFl`pZM{!JW8awPfd~vRa&P z>zS-C`Vx=rgHvknC>Y|%8M+==!u~(<-ZCtXCR!I|upq%LxVyW%4(g1ftfV8I;%1W3Y}eEaNk?zf+3-#_=?-92wjz0*^*s%v%6s_HdW)m0IX zgQdk1EgraIO7fI%d(`*ZFjrLzD@m&{W-gK^_68^SxHlS}W4&t%=wm28Cc>M5LkWft zN)#GC;JLAfUk_vZbE2C%rua3Sd{v_O7zJ+<5}H0V-7{o#S&G@K9l}1ms}$$P&YSB; z2+y9}H|cWS*xr$zIoU%p09|bGK)}C4P|%x*>4`houHy+ac#wnuv;Q`UaH{p)494!!J|9>kDUg&kgjk1AikI!qmy zpzb=*{xl%zU14}MSnODpycR<4Mt@TulkJz=@%4<-zX#qlVQ`iBz{FYT5fSMdMKJ%) z4w|dGGsjqu@0&mj@V4|L`U0=tF0bE>1JN#T+)rMW>nu8#=>RkGmACBnX{YnCtHtY) zvDOmd@5`+HZP1bIg8?lHfR-IVOUBEGIc$Pnyn!~w>skT-YQdi??O&8ODEzaV+Z+cU z(?F*^wBI{PRll(vti&I!I1PDr0ahs-uUt&ppsUE%3| z?~#K})B$gxk@v2VcjkU4vFbP0gO#|W70{4p8(?({ni&r6G!gc+AMTV>?>w*lx(BmY zFXU=?7rI*gBQ!I{z$4J;ao6Y(nwebn8~edZ!qJNJkmnb`>TlN=Q5ZNP2rN+_91*nS z;P&fK%s}-J@}b=~)BPAD2fj!H7(gS8T_cRlecyMgVk`%Iu}6H4L-(HntAnmFJs611 zYACkkWOHKf!`}!90^tV|6t1ZSenkrYOl&twkou_+b*7PXrop?KDeQg~G4sx2q|hBk z=uM$Jl2AmUJG>CioFEFRxJP_H_Y5%Ou_Wb@CU8X1&I1}wW8G0;)qplRT1l{F*W5Fe z;8}t4x6lA7cL2Q8mx$)27$)k=uS3`qGe)gY6@{xRcL;7*TP^!gvxq&s*xp>OLYg?+ z*I`rAVdL^N^={l|B*ovF^14Q5910e;{B`gFw*y1IzKodUJAL(NUWQ?!p#z*)=KKOh zG09Z_5Z43lHx{|c40(eG+%}40cP^Jcc9%XzVs~=4nf$c*2uR%&8jVl{P1;a?cw%`s zVFO51Lz2T!GDib8gu6U}_a^8|lGGGv^VN->SO(q`&_)xuKCxsa&0^>H0kiy&(`SNFVWd z%t+Y431!a-qUO5Kt=s!QR2*KfiyAh}l3e#FMEo!*f&0Y10N9S{UcFpvWqdv8K%Tm6 za`x*Z;cOqs5Ho)*zkFBlBTR72?*enN-$Kr`DMcJ-FR0!?(Nt!0KpQO;{%EK-6R>`_T!Tt?{}1gR9UWYPrwR4n-+n_`gM zU3z0{hh&fy-NwV~Y$SIgA}17*SU172r7Y*|21@K7w4wkd245qY`lR%JUdSU#sHAkY zRUpZ#5^XVVwt@D3qtqdlMS_bo)A}NE_#ugt6y!2g`p3Yz^|l;sgcCLgA5~CHlQ@F z5m_Q*=!Zz8RZu9^NT%IFN|7upQ5u(sED166!zI!xDJG%2?;rB+C|*#tkA%Gz|SviIoZphZ@P1 zTSyC%Wi3kM3Xvr#hJJ*^N+rb^boU+P9?7x?rSTh)B^<_jkOW@^1+lX9iu9PMh~;+# z{_mYVzdZePR(Wq%d8_Ii_UavAS6ylC4(lD{6c=ikfK9yk1|P@p;TvTU*3HoxQzIN@ zDGYTWwJUrUAQ4OAMnVTI(8z|e)5wNTtQSqKmyW^33e$SOv=;@0lxYmz0g@|XNe{bT z8FJn%XF`Cn9tK%0rK+E#@!1lQ<4@9UW2$v>NIl=B^urt@!?R4_9WxJB6;CI?oVrs{raQAEFnz#)APLUHRO`c8o%7%72XMe(LKk$*@U zo$@?jiSSv0qx@rpwb?F{1R|L#T{}@XPZvm9O)7;}>zjK*X@JUa+WvjL|X;o;Nu{c#A5yFnBE7IRam}VBa zM3L%`jy}ZWo&G90&XmwlC8VyuUvH>o?49%FQlLG4lPYItE4kY*+I!XKk>@IJcMI*? z*7vQZZohc%w*Ttq{>X05v5y4gZ-45s(@$OqnE1<7tycS$q z4Q$!U=Bt<9n39SBf{{8e?^*l7cev+D7U*GegB774;6er0;NbR~IIrh9x?vvHu6=L3 zK7Szh=ke!CF~6~qk@FAGaD3!J*#aCSq+iKeTK}5*{^&=qCiYY^!5kY|&9rKR)Yj~@ zo47*Vz2GYw-z-R_w_$XnykRpyU#s>Vm`$&2r;^AH>SchmO5iFQGDMfKVh=Ciqf*vl z(k`SSeQ6HVU;gRbmDFO+mIkoFE+ER3Hm4RrhoNe)f?6sPTjjbT4`CIl zt-4DQ$2;`)= z2zr;|rT!KuOcP#8ich@|AE{v{Kb+BQVQ#eH%1Lb1%$9>f6~2 z=QO*Un{48)5sV<@f zQXjN)fPQo{rJ@7`3nr0DcI?Bc&3bzV8xF427jf-z?L?mzIl@lvy8@gRj~<`D0;qSQ ze4LaBjH3o*{+Q=wTKFnc3tfqNZaJ}a23$^4E%F4Eb+w(L^N_FOS_j(&{uDN|W%U-T z!+6F124>zBx~KgbQ`hzC1Q(N}edChrdzI%ud%xns8|ah~$gTIV-vD2?4V*IWzJp3s z(t#`%S6OK3bzy68-=27jcOseg__*K4#Uv*Ck+)WS*ygSKW zbT$cZ>%Eyy@OEbF1%<&#)vBbhK2K9M^?Aq_Kb}*r`uhn1cm)6q$gdx0Db;{dd0brL zUN{;@cAQxTO1(lnYLOxzRscfph6CdSXPt(7~qe z_M2V14z+m--=0;LVpVPYp^%VAR;UXhv8&45mi03BMJ+4N*LmV2zL=ee@v}H6_Oy~W zc;wWyHd?19R)flpP+fl-qB=sF)?hkzheCFRvo_C&Af2Q&BWYDL!3 zY7xV-!30-KOjO;horgiJc(XZ+-d~8&NwKWLR?QjYxl`KTk~0l{vQ6C$qT-TJX$#76 zdR2*2l1P4E*`f`Y|J;hG4yygNv9u!IX7A9F)Msy%@@a>XOSkr*T+YEKv1J3L$vCdj z_^!lpu+t#9YE$=$y?3I4My^TG6no<1pP_8BSpzE(ht!*2?DirKE%Vij2B%GYdESC; zTt>{JS`42iImZ?vSL~f9I_cvWa$-Df*;YQaG|`4)SDjlDrw}e)&#AUbW|PMmOir>} z(Qih&{kerUX|F3)t&+5>P?)M$b5~fk0v+sT2K13HKZI_O@ntNFI;tCHs+iuNj*rNd z$P%vO+fy%0ILjC`e*i5Tn3N(48BSK>v6kzt3n_@$+x<#Q?SmxsVW#$ZW%h{|VZU2g zST1X6-aP*<#XtyJ7t_JAv-|#dtQhiVY9qm$0r^zje)KUC>|whb(ULYZN-o$;v5`x{ zlj0I+9ky5shC({`Z5PkYmVpwD68+%krlw@-TVpRW2luMtew76uag29scHDweDLif*-E z{*D4{xt4eH98(@xl}7RAE2#DD)FI4gc2_+)40C^xD@y|?R*e=qv@nxkcfKf^4T`^gr6#(~gi&Hx|eCX}#e@^ga( z=F_MU3>zb%VNvu>BTL996_p8ER^v&7$%%B2msW7nmtWsE`Ipk&q>KXhR4`4=98Mn7 zxwJo-^@Ql978>Z#J+fmXB&yEiE-py&on&LSTUAAPG)(&LWprF^qiMhO_ zLQz`jFOoX(qO9bcwX`$VV-pI>)6?Rr#RAAH0GvQy3Q$R>8oa&BSizBf7R>6VWgb6 zOQ_^i3kC$r=(NFs8cFO~<@No}gn?nn$xo*G{p8I3|i#? z^^E^2@6%82u-h-Z(Hg=-9h5WEJ3L|-Lq6|v-t2c{9$C4V#7+jclOU#tx^`fuPwu!$ zv%OYE`ysl{(p)}t_(UkSbp(tE4}NrRzkhS-9sbg@>*LU_X1wzHE0ie$!|kW$29v6B zJ~6F*L~qw4*3hA(BU#M!Vgub!7R$;~!xLuqtoebB@1NPXct$Y&2#>(h4GA&Sb{T?- zs1;h=ufUxoQzReMb&2nfc7Mo&B%&$WBQcGKqSzV$9@!6^DzSvu$LkpX!F_9TE~0y9Ba-;-MKnj*eo zrA0MGYxJ=0$(ns+t#!lg3*RT@;S~u-G>t6#ngtn8gJhGp>dUBWcc{9lztCqs6_`6v zwx+4;Wb4Z6o)~oLDUqJ{#;59*(|3`XpXodH#Djv?5b-w))OO?|LE3a2*M7*qO_&0= zHGYT8u`84ajP)dkY=kUthfCgrkQ(RUGqcxNcuw?f!`H0YP+8~d!|oiy0&8=&nU5c% z?@%SbK=$}+pIaoq@KL>hP8*eG_pd^|m4wgBa*xZl4CtTXW`zguzKsQ7>*qOA>Lw5h)zQTU8{)@k|1%572*%3CU2l8FC6O^ zbiqwZz>a9txFiuc{Yip^=dhBLoA5fHGlm})9v}nW7c3!Fk2cyoF^Ln4vIRw~lBcq6+GZ}#K z5z2Ar?}I&Ppo;tiH?c;sx4pBs{W;+i+%U#Re#$Gl{;u&Gr;R%&DwAvM^^k5u_$&O; zu7e*rEoi`2zti07Wjh5iOu-YVP_brB1%|w^vK4+6Yg{xZN7f2cunDe;O5S`$%k2wP%h;Mj{wA9% z^_4MHc(|QAQrN=9=AAdX>(Sdwl6^Lc%aDF!v#+#6#$4@6v0WkU%!uA$uB({d(>ryX zmxy~#@4l*x;XOy#X$5*%dhUd6qxdXtqXZxdDYU#qNJ{s$v%YY2XreLJ2wg0wacsoR zJK=Vi*}1K40ma$Ryqk5o+PEB#=*dX_$U5{t3zLi6fo8H064Fu-B)%J}N-v8$bEWA#?9Ge}Ox|OEo}Trmd(O z_nMK}C8tqpN~dB>R$3n%5Tjr$+g(RxLa@g)Vl+&n$2qGrEUOdInowvW1j%>O0^f7P*%v;u zZNzVFSTB6Hz3dHFN`Hp2hk7Ns^d)=O-jK4#(oHQ7jn2geWczI6pKlJlw3=`0etX1w z2pE0||Lh!T`VO?#7B}TX+`%Ch7SOWayD{FolmLp9uk@qowWeA@pW2XY^t!GgCHx%D z>5yTGc31O(zQ#7p!+b?GsU_KzGWQqC)7zfhE)IPH;L31vCHWF&f+jzc>cUoBi$}6S z=aYxG4aXSP6cMF9wTJ^vsN`jTjVO%+M*bsNAVdSKF@;ClQRENSpvUSBuIb5WNw>T> z(Dx(H5UZei_%I;W>)SihTaRa&(i?cbsfM^P`(`1(znP@329D+oW>yFSIHRy8rO|)m zv(o<-e-P7}luAG1=P<_*J0cHj1m`NpIPa7@BYC%g{u}BH7cdRUF0wosg^YZ*hO&TS z9=qIA@pQ$0F&fbrr?RNrh|tKW(BVgS{`iiOrvtIz0Q!&Hz;og87u65jjNiP8UR3XT zx!0i0Z0>MxQ}-3gL+*aSQNxwURaZ~|!N+ac^RBTMwh!C1!;jnZy4Hlk?8(W_nfd-0 zBIaI#r}DJFs6F}gx?2K^wK|W;K3=n4pu~HG^^_XVUwzc$^i7qmKlSc*c-JFm?GvYV zkhMSA={eP+s@v$;*YlsyMqM9 zjT|i+K}n9;^qYt2TMuwu(zrj-R~n`5*LPdauY-$G3yr5*l-w?E38WN$kzKkZoVz3t zd^!5rj5%n;nZ!Ke46smb4SEG1Dv~UYjOWYmm1GEzf6QS=ckOiNhXYPv9)5~tz>vd{t11CvrRzSGh@-QM(3 zTbt12mJqRigCiLM5RL%IM}qfNZYU3hzB`*Ie7?e}Jd0fQ96A#M8;xe1Wqj9!J~O6G z@i9NDKy(`U@)f+bm~$*#q!lY>HD50D{I+=Z{g2FevC(69{D8V*c8=!|S<~ZVrPyA} z`E;RYl;ZmLKT_j+M~)rv18R$%IiAC1x4}lQZ~i^0*>g>OC=w3_=3DuH>lxzx$1^mX zyY6f>sXOA=cHz|}n%Xuxbm!Q1v>t!4mU-?ad?V6&@v${oK>=w9b&nC2tY3;^>L3z$ z^li188GesSLZJ_}8%9bB37~dOaQ%iNJ$cL6c>CGwk#c4}vHSb8kzajFV0D$(1?A|p z-;?{7Yi{vZ0X@ON;L*a*#UUGrI`OT7OnRF}spX(N6gy(gr;Wqv&#fPH3P8cpw!|7? z8~9aJpcw6j*5N9dO>CViP$jfKs#6BabZha{>1aKulG;SksRWf)Ewn1?I2hL2H`i(; zGzXNBIlR1Iwl}OkZLZb2-&m^FPc3I52*%oUXrZ#T@~gVBTGrGN=$ViBUXp58WV>XgP!?^ID>gF z*;@Oqs+DGAt+S1~YBUi4Qdw)Zz0xLYOYKGL#=MvOg?(4`L-Ur_%f@9jxE0y6;38OP z=|P>;&adQ~{fjQCgI|qmv#3V-MqU*+Xm+Wi_2^V;6V@|uq&Te&`*$jVm}z_oZ&FR9FO@flQaMRQh#SqQRLmsIzyBU z)vkhzpPdl!7MfUiK6agm7frl|1bl$9YnSr)a{m!7d8NiOYZ~48x6=d6BSz2&z>~S^iW$?d`@f9p6d-z8C`ik zy7K%So;UN^vTflBFm>hebLDv%o_F-wGH+=PG<9wEaczDYp11bda%%DLUl!0z3sPl| zSLIRd(oBb0JWyqhWUDTHsSdw?9RFNo@?Ha1w;uiM4MR-@o=n2>!VAX-!v0@0gv$8@ z%BG67TNGC>ET%8DX~FC#JspK^W#4BZ9LKux_tnAJ$8#AX9INd^MN1E$&@5Mlq7|i@t#Q6RVQO^ zKWmrWeii7cFrxNH5sXA_OSzc)_}I7P1em@YyR*l;e-W5rt!J-Eo2(}q#YlEF@^LjP z9lDuhh-aQWbErPpdgVtSoXt2od{JA`_xp16(a8(IzWwQe;$C4sdmCLYWS7L7Llbj6 zLEu?Uyh7na$<8ACd|&OpzsHh%`I@cgs8(RDt5|!Y@bA0&eBTc8+=XVZCeyid0^DbW z#g~JO-)`W*wEPb1FGhu?PQG76noRTN*x89(UPpl!@3@4+Jw`E>6T6&D3^~rf3e42v zG>7fP;dFbtHDbCs<>VOB>)|@qOV9Vom+uv8S^M12Bj+I-#J?Q%FG<`@OWa+-$%4Wy zo;0tYG-I`c`nQog_*E}!lheZ>-uvITgbEW>FZE$)Df4L*x}= v@?wkh7yuLcfPe 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 B6lDMa literal 0 HcmV?d00001 diff --git a/src/react-19-vite/src/App.tsx b/src/react-19-vite/src/App.tsx new file mode 100644 index 0000000..e17d47a --- /dev/null +++ b/src/react-19-vite/src/App.tsx @@ -0,0 +1,43 @@ +import { AlphaTabApi, synth } from '@coderline/alphatab'; +import { useEffect, useRef, useState } from 'react'; + +export function App() { + const elementRef = useRef(null); + const apiRef = useRef(null); + const [playerReady, setPlayerReady] = useState(false); + const [playing, setPlaying] = useState(false); + + useEffect(() => { + // Served from public/ below the app base; font/ and soundfont/ are copied there by the alphaTab Vite plugin. + const api = new AlphaTabApi(elementRef.current!, { + core: { + file: `${import.meta.env.BASE_URL}iron-waltz.gp`, + fontDirectory: `${import.meta.env.BASE_URL}font/` + }, + player: { + enablePlayer: true, + enableCursor: true, + soundFont: `${import.meta.env.BASE_URL}soundfont/sonivox.sf2` + } + }); + apiRef.current = api; + api.playerReady.on(() => setPlayerReady(true)); + api.playerStateChanged.on(e => setPlaying(e.state === synth.PlayerState.Playing)); + + return () => { + api.destroy(); + apiRef.current = null; + setPlayerReady(false); + setPlaying(false); + }; + }, []); + + return ( + <> + +
+ + ); +} diff --git a/src/react-19-vite/src/main.tsx b/src/react-19-vite/src/main.tsx new file mode 100644 index 0000000..185abac --- /dev/null +++ b/src/react-19-vite/src/main.tsx @@ -0,0 +1,9 @@ +import { StrictMode } from 'react'; +import { createRoot } from 'react-dom/client'; +import { App } from './App'; + +createRoot(document.getElementById('root')!).render( + + + +); diff --git a/src/react-19-vite/tsconfig.app.json b/src/react-19-vite/tsconfig.app.json new file mode 100644 index 0000000..fd6913f --- /dev/null +++ b/src/react-19-vite/tsconfig.app.json @@ -0,0 +1,19 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "es2023", + "lib": ["ES2023", "DOM"], + "module": "esnext", + "types": ["vite/client"], + "skipLibCheck": true, + "moduleResolution": "bundler", + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "react-jsx", + "strict": true, + "noUnusedLocals": true, + "noUnusedParameters": true + }, + "include": ["src"] +} diff --git a/src/react-19-vite/tsconfig.json b/src/react-19-vite/tsconfig.json new file mode 100644 index 0000000..d32ff68 --- /dev/null +++ b/src/react-19-vite/tsconfig.json @@ -0,0 +1,4 @@ +{ + "files": [], + "references": [{ "path": "./tsconfig.app.json" }, { "path": "./tsconfig.node.json" }] +} diff --git a/src/react-19-vite/tsconfig.node.json b/src/react-19-vite/tsconfig.node.json new file mode 100644 index 0000000..b1375cf --- /dev/null +++ b/src/react-19-vite/tsconfig.node.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "es2023", + "lib": ["ES2023"], + "types": ["node"], + "skipLibCheck": true, + "module": "nodenext", + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + "strict": true + }, + "include": ["vite.config.ts"] +} diff --git a/src/react-19-vite/vite.config.ts b/src/react-19-vite/vite.config.ts new file mode 100644 index 0000000..79d1aee --- /dev/null +++ b/src/react-19-vite/vite.config.ts @@ -0,0 +1,7 @@ +import { alphaTab } from '@coderline/alphatab-vite'; +import react from '@vitejs/plugin-react'; +import { defineConfig } from 'vite'; + +export default defineConfig({ + plugins: [react(), alphaTab()] +}); diff --git a/src/vite-react/.gitignore b/src/solid-1-vite/.gitignore similarity index 73% rename from src/vite-react/.gitignore rename to src/solid-1-vite/.gitignore index a547bf3..bf9ea9d 100644 --- a/src/vite-react/.gitignore +++ b/src/solid-1-vite/.gitignore @@ -22,3 +22,7 @@ dist-ssr *.njsproj *.sln *.sw? + +# copied by @coderline/alphatab-vite on every build/dev start +public/font +public/soundfont diff --git a/src/solid-1-vite/README.md b/src/solid-1-vite/README.md new file mode 100644 index 0000000..9bdab95 --- /dev/null +++ b/src/solid-1-vite/README.md @@ -0,0 +1,58 @@ +# alphaTab with Solid and Vite + +Renders the Guitar Pro file "Iron Waltz" (`public/iron-waltz.gp`) and plays it back from a Solid component, +bundled with Vite and the alphaTab Vite plugin. Client-side rendering only. + +| Package | Version | +| --- | --- | +| Solid | 1.9 (`vite-plugin-solid` 2) | +| Vite | 8 | +| TypeScript | 7 | +| `@coderline/alphatab`, `@coderline/alphatab-vite` | 1.9 | + +## Run + +```bash +npm install +npm run dev # dev server +npm run build # type-check (tsc -b) and production build into dist/ +npm run preview # serve dist/ +``` + +## alphaTab setup + +### `vite.config.ts` + +```ts +import { alphaTab } from '@coderline/alphatab-vite'; +import { defineConfig } from 'vite'; +import solid from 'vite-plugin-solid'; + +export default defineConfig({ + plugins: [solid(), alphaTab()], +}); +``` + +The plugin + +- bundles alphaTab's render/synth web worker and its audio worklet as chunks of the main build. Page, workers + and worklet share one `alphaTab.core-*.js` chunk, so alphaTab's code is downloaded once; +- excludes alphaTab from Vite's dependency pre-bundling in dev, so the dev server serves the worker and worklet + entries as they are; +- copies the Bravura font and the SoundFont into Vite's `publicDir` (`public/font`, `public/soundfont`) when the + dev server or a build starts. These folders are generated and listed in `.gitignore`. + +### Component (`src/App.tsx`) + +- The host element is assigned with `ref`. alphaTab is created in `onMount`, when the element exists, and + destroyed in `onCleanup`. +- The API instance is a plain variable; only the UI state (player ready, playing) is held in signals, updated + from the `playerReady` and `playerStateChanged` events. +- `core.file`, `core.fontDirectory` and `player.soundFont` point to files in `public/`, prefixed with + `import.meta.env.BASE_URL` so they still resolve when the app is deployed with a + [`base`](https://vite.dev/config/shared-options.html#base). + +## Notes + +- `vite build` warns that `alphaTab.core-*.js` is larger than 500 kB. That is expected: it is the whole alphaTab + library (about 300 kB gzipped). Raise `build.chunkSizeWarningLimit` if the warning bothers you. diff --git a/src/solid-1-vite/index.html b/src/solid-1-vite/index.html new file mode 100644 index 0000000..2d16ded --- /dev/null +++ b/src/solid-1-vite/index.html @@ -0,0 +1,12 @@ + + + + + + alphaTab + Solid + Vite + + +
+ + + diff --git a/src/solid-1-vite/package.json b/src/solid-1-vite/package.json new file mode 100644 index 0000000..70cfac5 --- /dev/null +++ b/src/solid-1-vite/package.json @@ -0,0 +1,22 @@ +{ + "name": "solid-1-vite", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "tsc -b && vite build", + "preview": "vite preview" + }, + "dependencies": { + "@coderline/alphatab": "^1.9.0-alpha.1965", + "solid-js": "^1.9.17" + }, + "devDependencies": { + "@coderline/alphatab-vite": "^1.9.0-alpha.1965", + "@types/node": "^24.19.2", + "typescript": "~7.0.2", + "vite": "^8.3.5", + "vite-plugin-solid": "^2.11.14" + } +} diff --git a/src/solid-1-vite/public/iron-waltz.gp b/src/solid-1-vite/public/iron-waltz.gp new file mode 100644 index 0000000000000000000000000000000000000000..15c11388b581afcd7c57e38a14645d8686e547c7 GIT binary patch literal 72703 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 v@?wkh7yuLcfPe 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 B6lDMa literal 0 HcmV?d00001 diff --git a/src/solid-1-vite/src/App.tsx b/src/solid-1-vite/src/App.tsx new file mode 100644 index 0000000..d18e5de --- /dev/null +++ b/src/solid-1-vite/src/App.tsx @@ -0,0 +1,40 @@ +import { AlphaTabApi, synth } from '@coderline/alphatab'; +import { createSignal, onCleanup, onMount } from 'solid-js'; + +export default function App() { + let element!: HTMLDivElement; + let api: AlphaTabApi | undefined; + const [playerReady, setPlayerReady] = createSignal(false); + const [playing, setPlaying] = createSignal(false); + + onMount(() => { + // public/ holds the score; the alphaTab Vite plugin copies the font and SoundFont next to it. + api = new AlphaTabApi(element, { + core: { + file: `${import.meta.env.BASE_URL}iron-waltz.gp`, + fontDirectory: `${import.meta.env.BASE_URL}font/`, + }, + player: { + enablePlayer: true, + enableCursor: true, + soundFont: `${import.meta.env.BASE_URL}soundfont/sonivox.sf2`, + }, + }); + api.playerReady.on(() => setPlayerReady(true)); + api.playerStateChanged.on((e) => setPlaying(e.state === synth.PlayerState.Playing)); + }); + + onCleanup(() => { + api?.destroy(); + api = undefined; + }); + + return ( + <> + +
+ + ); +} diff --git a/src/solid-1-vite/src/index.tsx b/src/solid-1-vite/src/index.tsx new file mode 100644 index 0000000..f561821 --- /dev/null +++ b/src/solid-1-vite/src/index.tsx @@ -0,0 +1,5 @@ +/* @refresh reload */ +import { render } from 'solid-js/web'; +import App from './App.tsx'; + +render(() => , document.getElementById('root')!); diff --git a/src/solid-1-vite/tsconfig.app.json b/src/solid-1-vite/tsconfig.app.json new file mode 100644 index 0000000..5caea17 --- /dev/null +++ b/src/solid-1-vite/tsconfig.app.json @@ -0,0 +1,27 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "es2023", + "module": "esnext", + "lib": ["ES2023", "DOM"], + "types": ["vite/client"], + "allowArbitraryExtensions": true, + "skipLibCheck": true, + + /* Bundler mode */ + "moduleResolution": "bundler", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + "jsx": "preserve", + "jsxImportSource": "solid-js", + + /* Linting */ + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["src"] +} diff --git a/src/solid-1-vite/tsconfig.json b/src/solid-1-vite/tsconfig.json new file mode 100644 index 0000000..1ffef60 --- /dev/null +++ b/src/solid-1-vite/tsconfig.json @@ -0,0 +1,7 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ] +} diff --git a/src/solid-1-vite/tsconfig.node.json b/src/solid-1-vite/tsconfig.node.json new file mode 100644 index 0000000..8455dcb --- /dev/null +++ b/src/solid-1-vite/tsconfig.node.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "es2023", + "lib": ["ES2023"], + "types": ["node"], + "skipLibCheck": true, + + /* Bundler mode */ + "module": "nodenext", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["vite.config.ts"] +} diff --git a/src/solid-1-vite/vite.config.ts b/src/solid-1-vite/vite.config.ts new file mode 100644 index 0000000..16cbb43 --- /dev/null +++ b/src/solid-1-vite/vite.config.ts @@ -0,0 +1,7 @@ +import { alphaTab } from '@coderline/alphatab-vite'; +import { defineConfig } from 'vite'; +import solid from 'vite-plugin-solid'; + +export default defineConfig({ + plugins: [solid(), alphaTab()], +}); diff --git a/src/vite-vue/.gitignore b/src/svelte-5-vite/.gitignore similarity index 73% rename from src/vite-vue/.gitignore rename to src/svelte-5-vite/.gitignore index a547bf3..bf9ea9d 100644 --- a/src/vite-vue/.gitignore +++ b/src/svelte-5-vite/.gitignore @@ -22,3 +22,7 @@ dist-ssr *.njsproj *.sln *.sw? + +# copied by @coderline/alphatab-vite on every build/dev start +public/font +public/soundfont diff --git a/src/svelte-5-vite/README.md b/src/svelte-5-vite/README.md new file mode 100644 index 0000000..a8c2989 --- /dev/null +++ b/src/svelte-5-vite/README.md @@ -0,0 +1,61 @@ +# alphaTab with Svelte 5 and Vite + +Renders the Guitar Pro file "Iron Waltz" (`public/iron-waltz.gp`) and plays it back from a Svelte 5 component +(runes, ` + + +
diff --git a/src/svelte-5-vite/src/main.ts b/src/svelte-5-vite/src/main.ts new file mode 100644 index 0000000..9b5e268 --- /dev/null +++ b/src/svelte-5-vite/src/main.ts @@ -0,0 +1,8 @@ +import { mount } from 'svelte'; +import App from './App.svelte'; + +const app = mount(App, { + target: document.getElementById('app')!, +}); + +export default app; diff --git a/src/svelte-5-vite/svelte.config.js b/src/svelte-5-vite/svelte.config.js new file mode 100644 index 0000000..0cf7db3 --- /dev/null +++ b/src/svelte-5-vite/svelte.config.js @@ -0,0 +1,2 @@ +/** @type {import("@sveltejs/vite-plugin-svelte").SvelteConfig} */ +export default {} diff --git a/src/svelte-5-vite/tsconfig.app.json b/src/svelte-5-vite/tsconfig.app.json new file mode 100644 index 0000000..5992dcc --- /dev/null +++ b/src/svelte-5-vite/tsconfig.app.json @@ -0,0 +1,21 @@ +{ + "extends": "@tsconfig/svelte/tsconfig.json", + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "target": "es2023", + "module": "esnext", + "types": ["svelte", "vite/client"], + "allowArbitraryExtensions": true, + "noEmit": true, + /** + * Typecheck JS in `.svelte` and `.js` files by default. + * Disable checkJs if you'd like to use dynamic types in JS. + * Note that setting allowJs false does not prevent the use + * of JS in `.svelte` files. + */ + "allowJs": true, + "checkJs": true, + "moduleDetection": "force" + }, + "include": ["src/**/*.ts", "src/**/*.js", "src/**/*.svelte"] +} diff --git a/src/svelte-5-vite/tsconfig.json b/src/svelte-5-vite/tsconfig.json new file mode 100644 index 0000000..1ffef60 --- /dev/null +++ b/src/svelte-5-vite/tsconfig.json @@ -0,0 +1,7 @@ +{ + "files": [], + "references": [ + { "path": "./tsconfig.app.json" }, + { "path": "./tsconfig.node.json" } + ] +} diff --git a/src/svelte-5-vite/tsconfig.node.json b/src/svelte-5-vite/tsconfig.node.json new file mode 100644 index 0000000..8455dcb --- /dev/null +++ b/src/svelte-5-vite/tsconfig.node.json @@ -0,0 +1,23 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "es2023", + "lib": ["ES2023"], + "types": ["node"], + "skipLibCheck": true, + + /* Bundler mode */ + "module": "nodenext", + "allowImportingTsExtensions": true, + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + + /* Linting */ + "noUnusedLocals": true, + "noUnusedParameters": true, + "erasableSyntaxOnly": true, + "noFallthroughCasesInSwitch": true + }, + "include": ["vite.config.ts"] +} diff --git a/src/svelte-5-vite/vite.config.ts b/src/svelte-5-vite/vite.config.ts new file mode 100644 index 0000000..0f0fd5c --- /dev/null +++ b/src/svelte-5-vite/vite.config.ts @@ -0,0 +1,7 @@ +import { alphaTab } from '@coderline/alphatab-vite'; +import { svelte } from '@sveltejs/vite-plugin-svelte'; +import { defineConfig } from 'vite'; + +export default defineConfig({ + plugins: [svelte(), alphaTab()], +}); diff --git a/src/sveltekit-3/.gitignore b/src/sveltekit-3/.gitignore new file mode 100644 index 0000000..b4a4918 --- /dev/null +++ b/src/sveltekit-3/.gitignore @@ -0,0 +1,27 @@ +node_modules + +# Output +.output +.vercel +.netlify +.wrangler +/.svelte-kit +/build + +# OS +.DS_Store +Thumbs.db + +# Env +.env +.env.* +!.env.example +!.env.test + +# Vite +vite.config.js.timestamp-* +vite.config.ts.timestamp-* + +# copied by @coderline/alphatab-vite on every build/dev start +/static/font +/static/soundfont diff --git a/src/sveltekit-3/.npmrc b/src/sveltekit-3/.npmrc new file mode 100644 index 0000000..b6f27f1 --- /dev/null +++ b/src/sveltekit-3/.npmrc @@ -0,0 +1 @@ +engine-strict=true diff --git a/src/sveltekit-3/README.md b/src/sveltekit-3/README.md new file mode 100644 index 0000000..f4fcfe6 --- /dev/null +++ b/src/sveltekit-3/README.md @@ -0,0 +1,66 @@ +# alphaTab with SvelteKit 3 + +Renders the Guitar Pro file "Iron Waltz" (`static/iron-waltz.gp`) and plays it back on a server-side rendered +SvelteKit page, bundled with Vite and the alphaTab Vite plugin, served by `@sveltejs/adapter-node`. + +| Package | Version | +| --- | --- | +| SvelteKit | 3 (`@sveltejs/adapter-node` 6) | +| Svelte | 5 (`@sveltejs/vite-plugin-svelte` 7) | +| Vite | 8 | +| TypeScript / svelte-check | 6 / 4 | +| `@coderline/alphatab`, `@coderline/alphatab-vite` | 1.9 | + +## Run + +```bash +npm install +npm run dev # dev server with SSR +npm run build # production build into build/ +npm run preview # serve the production build with Vite +npm start # serve the production build with Node (adapter-node, port 3000 or $PORT) +npm run check # type-check (svelte-check) +``` + +## alphaTab setup + +### `vite.config.ts` + +SvelteKit 3 takes its configuration in the `sveltekit()` plugin options. The alphaTab plugin is added next to it: + +```ts +export default defineConfig({ + plugins: [ + sveltekit({ + // ... + adapter: adapter() + }), + alphaTab() + ] +}); +``` + +The plugin bundles alphaTab's render/synth web worker and its audio worklet as chunks of the client build (page, +workers and worklet share one core chunk), excludes alphaTab from dependency pre-bundling in dev, and copies the +Bravura font and the SoundFont into `static/font` and `static/soundfont` (generated, listed in `.gitignore`), which +SvelteKit serves at `/font/` and `/soundfont/`. + + +### Page (`src/routes/+page.svelte`) + +alphaTab needs the DOM, Web Workers and Web Audio, so it is created in `onMount`, which runs only in the browser. +On the server the page renders the (disabled) button and an empty container; the function returned from `onMount` +destroys alphaTab when the page is left. Importing `@coderline/alphatab` on the server is safe: the module only +registers its worker and worklet factories when it is loaded. + +- The API instance is a plain variable, not `$state`, so alphaTab's objects are not wrapped in reactive proxies. + Only the UI state (player ready, playing) uses `$state`. +- `core.file`, `core.fontDirectory` and `player.soundFont` point to `/iron-waltz.gp`, `/font/` and + `/soundfont/sonivox.sf2`. If the app is deployed under a `paths.base`, include it in these settings (e.g. with + `asset()` from `$app/paths`). +- `@coderline/alphatab` is a runtime dependency: the Node server imports it when rendering the page. + +## Notes + +- `vite build` warns that alphaTab's core chunk is larger than 500 kB. That is expected: it is the whole alphaTab + library (about 300 kB gzipped). diff --git a/src/sveltekit-3/package.json b/src/sveltekit-3/package.json new file mode 100644 index 0000000..d00ae45 --- /dev/null +++ b/src/sveltekit-3/package.json @@ -0,0 +1,27 @@ +{ + "name": "sveltekit-3", + "private": true, + "version": "0.0.1", + "type": "module", + "scripts": { + "dev": "vite dev", + "build": "vite build", + "preview": "vite preview", + "start": "node build", + "prepare": "svelte-kit sync || echo ''", + "check": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json" + }, + "devDependencies": { + "@coderline/alphatab-vite": "^1.9.0-alpha.1965", + "@sveltejs/adapter-node": "^6.0.1", + "@sveltejs/kit": "^3.0.0", + "@sveltejs/vite-plugin-svelte": "^7.2.0", + "svelte": "^5.57.2", + "svelte-check": "^4.6.0", + "typescript": "^6.0.3", + "vite": "^8.3.0" + }, + "dependencies": { + "@coderline/alphatab": "^1.9.0-alpha.1965" + } +} diff --git a/src/sveltekit-3/src/app.d.ts b/src/sveltekit-3/src/app.d.ts new file mode 100644 index 0000000..da08e6d --- /dev/null +++ b/src/sveltekit-3/src/app.d.ts @@ -0,0 +1,13 @@ +// See https://svelte.dev/docs/kit/types#app.d.ts +// for information about these interfaces +declare global { + namespace App { + // interface Error {} + // interface Locals {} + // interface PageData {} + // interface PageState {} + // interface Platform {} + } +} + +export {}; diff --git a/src/sveltekit-3/src/app.html b/src/sveltekit-3/src/app.html new file mode 100644 index 0000000..6a2bb58 --- /dev/null +++ b/src/sveltekit-3/src/app.html @@ -0,0 +1,12 @@ + + + + + + + %sveltekit.head% + + +
%sveltekit.body%
+ + diff --git a/src/sveltekit-3/src/routes/+page.svelte b/src/sveltekit-3/src/routes/+page.svelte new file mode 100644 index 0000000..5c8512e --- /dev/null +++ b/src/sveltekit-3/src/routes/+page.svelte @@ -0,0 +1,40 @@ + + + + alphaTab + SvelteKit + + + +
diff --git a/src/sveltekit-3/static/iron-waltz.gp b/src/sveltekit-3/static/iron-waltz.gp new file mode 100644 index 0000000000000000000000000000000000000000..15c11388b581afcd7c57e38a14645d8686e547c7 GIT binary patch literal 72703 zcmZU51yEfFy2v@vtGG&6I_)*ZJel=7;<)26GTUrnM?#k|88C=DYqrnLKG z7@y2777-gT&zu!+_JVGs;65oYA+Vl!j30k1<1dT}BZ5942)jgh4dsUMQX59-Gtw(! zO3G#6gz!gT5B-!3NE;C3<@W1gak5S+Wnul7f$yDf_r=3oxg^5EhpAoSW?XHt`Fv(n z1_sdp1?CODXsMeYg{&91_V#XoJ6??1m=&h`QTRN1`P&rin@5j>FoD$i7uBQh z80{d3KYf7-raw4@Pv*Oz*kQu^s*Ege7%fd9D$xKD>(G~*U@{j)g8B4Y?mdhvTd%Vj zXH2Ge+z0YM(`Tr|j^SF5+*_Ks&DimR1|?Sk%=l<-SY}QKb+7ljVLN{Qw5A>g^r91y zPr>oOg7+I$CP_(Iz-H`5NhA?9eQamUN#MqQ2M#Dt;P8!R9qR-u1wo=@!n9%_!j5C!?`eEt=w>IQE`$&pc0hP?3x?@yAE zu;%C>8hV8#Amz3TVLa+zY0~}G2$Meb#P3GKPo_Tp`rVz1O9;-VxG(*=8}#@DG_!iE z?9?ZSC*s^h{}8gBI`TP@@^9Kbgn5INhU856No^%%D&gYQb6hBF;D`)t?3!~<>GhS{ zS&GP5Qrv0d-(@grCvo=)!M6ldHZaH zcZl%kFk-Zea+&KDwZ;aq@4^g7P4(q@3L)(qIL4%VWLlET;gzhU(K8;XM@9488qj?` zSaH(%mVJ-Gw?!6gEa2*AzZcVB%e)o%}8!Ja+JLM7cKREbHIlI$K$L1>NcGpVV_TjD#t zsL|xS|H;Y~NO@bZJp2AF zU-wFxvdQoAFd&he(g>OD2qRc=k7Dcn%k!i;Hpl(IM^Usu0_J^IaP$Md4hs!^%1cOL z=v&?lS#NOs^kc;+w?Zpg5nPtUP`TdYex`j__Ai0~vjEKz!RESkJC5emHdA&*kTmJF zOhLSl*M@0)I6blnd2uf`A{2fE;a^kLipENz$K6DwgEc3zp~FkDkUw{;gNGzr&=^ax zs6*t*2}|?Y$zLWG%rnVJZ9D&w+`*!LZ+B;xP1B6KVDLbnJ$3GDs*^;0;E7i2^9b{k z=k*ZZJ^pnxagl%VN+-;T9B}5qsx5bK63qCV)|SZ(WZvT?)A)FWaUt9iYZ$*HhjEZydGnKf48!bKeBm5*GVp(d%J&qgLgEr)GI+?D z%$ti`uR6aklt|Z{>^xU5X)iTg6I;9>x-q{|!_YG}aXW(i8%#S~eJG_A=E2TuV+3b7 z(F=t=Sx#EGvO4IC{2iHm)^wB-mCJG7erRjXh+Lo3qb{;=1{jQGk)h#d)UrT~hc)5v z&Whjea9zQ5w-a|u9TfPzUQQUPbgT*I0ZU~@0+Z4Pt3d^G4q{=yBjE;Ht$M5W9c+In zmHog4N=%!|8yC_yh6=?sl8Y)D4Th!Ei;!UG$`mBY;+zf>bH^J79u~~vQNMI^^+sVe zNvUqgFFNpwTW%zzZY~RZNs}osQ-bv&OLe$OF<}OqWa8NAg;UzXZ!=#pP(w2~ohG=; zCy(T@mgu(C7ASwRJ^pytFCI>G{BiQM*EeCDO)gmMig&PGAS;!ImCR&yKft|wHCW+~ z2m?Rd*||kV65~ceh#rr1LBmcu&dO$oeR@bkPnwBXNJ0Zessj_tzH?nZ_Mi~G9o#22 zw8i%r5JO$~Jf?)v2G`XZgeIs@?brC=rdH!)aN z(=z-O>~}v5hSF6ImTkj{gh<6pf0FcagPR=tkey!loL$z|({*_H*80(9ABl{UPMNPz zY_3ryCtkKphxey z%Q8(xl$_un|C%LD2pw*47ZhnT)1xM$X!Tv(%hTWu$X$ktA~r1)*}GZV<4hLxPC@A; zwG9sT&Lj)_4D%|S|LQU+{Jna|^BK*dx9heH7>FfaC=1JlJf5!UOkN~0qxEb`-`=&D z=$h!~R1cM5rV!9nCr?k%n%Q2L-KZdCv^R!l#96+nEs2xt$@^`))g^By@&7tK>9rUi zuko%L`Qjz_PL_lSvTf3iy@x1`>tax&Ve~}QI#gCyNB0^>$K`j)tVXjV_+cq0g*U&H z(4p{{Q`@^m`C*l_^_A-mizl6J z1R;MT^=Xywr`2{hF_DLW^lI9bN$&4#$7D3MNQ-Hn;(#@q z-PV2y1g-V8r`FzIbxgpZ^dStwpAI9V(xT4s{~i!h?8|4rM+{s2V)54IQ^BVFA{I{m z_h&M@l|a0LY!e=>MKHV=Rss{NOuw2L6}fEi54SPRN43I)G9BBmJMlHt-Om(q5wJ2N z--9a%KQu6)#ACbNaChQQuN5Rm#ec|7(R=`cyXKaPFUH5mHH6V8l1IK&{=$AT)T_M3 zd}7D=C$4TP5SNZp5`@^BPk=l8arRS0B|hKkbs_4fwHWbW{zVN|ch})x4$piIY#>jw z$|Xmmr_FYFaJgF zkD7(S<|DRx7Ww%x)nEuc8_be=d(wQ$HCq+fN29mi`|+ADhLw0tSp^yKb^)ER++Rz` zB>)I_wWK{2BCO}%`_$i5Sm)?#bX}LCn%=G}j$Xn^WT2@|q$Cq`U1?(KydGfp;-)1^0wHYdUGfRuE;Ys~;XQneSjc`-bbbP3o<*=>S%+9%9~Bf!D#trlCb`3mhtqz+yP9C%qGpza4bU0Tgo2V zdVL|2)#&*Bl|M$Ox&$2&w`l~`wWyF9s<qyiR9xm=t&c%xaEyvCK9d0A>@rfG&`L$xgJ_@$tk4>?69cr=2TPBHV6Mvy;@o zvPwH#n|Zeq6eA4yr??uZACateFySqU`J!=G-pz31?@Apzvjkw-=ifo;@1EMlu_^xc z-NK4<8DjSg(fGssm8|Ao;$Dw+I^_^-7UH;d35)RMC2OXQ_x5fs?>~iC=6huf_>nnZvw+vo>?%yC`tU0qloMJYlybgE{4w^DU$&r zA#8sgFJQN0M0G)x>ZDZly8_;uPglVGs?6)VBtu+(u32{KR{pUr=Bw5pZSNE@6Hx*C z{fZ*ewydFjLn`Cr8ShzYSNb?qAoMtI~>4UI>DL-k|ZX zAg`h=zHyWHl}mzix(lqK!Bh32S_)5fP5t~~=F)}~KHdyxp_QyJQG80i*GF0p@eVjP z4f;yJKnvuZjMz?uYoJ$SSu!#0de9Az^&S8gke2*0(uM=(d8p45K(3S#a5;Az4Z~Zg zvu;c9Kc^qdaDZmt^4oAWr*}>&*I|c5_wEuu%1OwcXt{fnVDd8KOMw0R-t?2$QOH*1 zEGYTo>;YUB(^n4jdq#xrujttn$?c0Bdz<#^p6JN0kmNt6M40wSEz$(Bqkbk#cw0;G zK^QUQOu?NFb=6;+Kg_4;+TGpHzY^yEah^d2A}X=#)aZ7Luu|99c&gcN&xF^yRldDS zs2e7kjcO{L!q%#s80schEadi{&`%a1htL<`^*yFEv%gHxKh%o5VDH`N-c8ItW;h#B zp_VFVOxm?RZcL!Kwz3P!&CaoIvvd8Nyou|uYl`-!{BxXiL`jJm7+8Y3Ug_Vdmo&)H zPqXy!8b)*|<5nZhb__ctf(&Koe z_^?j=C&Y_Iy-|c0B85RA|57g$;{`p!cLJ-UR!ginM&-^dRQ0UM#zN0PL(*UQR}~mr zDDe?EcJ$dx2ho_J6{5<`*Ss*_oN^W={~&Ad_%1sLTCh~$j_>FYM?qoFOd&QfGwrfAsU@)G z@I~%QPI^`NfMhcY5}<_<6%5(Mm>ft932e4BF544Ug@3ULe>0ucfm`2bR;6kN>xWds z?N`T6@H&>oUNI)av7J6-6`FEn#cZ#t8a%gYh;T+8bfecf)t0%eWfu4H2%IRZ1?^1@ zhR((`&9^+s4_(_s5g(z9vj>O+Fm^6L5hP@K+%T|{K5Q( z6NcUsz;)Ttst)}n`A&qP0+f)4n25&m^5RAi=2B>Jly`FQGOh4so&+tDVF4aW5PWO8 zH_wf%YtT98+#t4UsE1LS#pJ)RcGL?QyZbrCqlt5wKwWJ0Qqx(58N;MQ9d^NB+Povd zFPs|l%pTC?Nh_?E5a>)aw7KxJ5W1Z@ltwdJ_u+Fgt)Ag3zo6ENXCdjF2~Vd5oN?%& z3!5S&K$b*iMwXr1AcNE$epvcKaIg^({1de-pFAc|~D`70JTKs6$y>fdV}z)(GI zilret%V1ktP z6%Ip$x%L)L@^f$fo-hi;X;d_iCDO@d7|443_Nr#xO?nwOb2OWU{4Mo!LtR%C!ZKve zV|Q))3Cwd1Ic4(GNQJ|KI{F+64boB7d0}lp0?Ed?O}-gMoiV;x+cQb~^J~bb3Y`)2 zbv2W1<@*IQ)3EqI9x^5s!VaFXTZA;!J@Tmy{Z?(Gkh;d7&J8*+gmXk9(n6;|9Df@E;o+EVWtOrB*^Z`k_i3C44{?ho4kDn%gK| zDz1NiNqg?zx8mr0ycd;!xW?bPNqpa@W4=^^`-#pKCX|YQ&ZOq%Y{+*Obb=i+g)!ZG zuXEQ>?BC+u$lxjaUsAK&=klQlO;v`3- zhLb@yR=Apo`f<#%}b2M}(W(e+)=!MvrETiJD@?Z2X|V zZz)0BxHtV)?jRNE8=#&xsJn2$$khGIP9LYXqCn+Nk})`0O2C9oX1kp|qPP`;gQkhC zP1OaQ6o3@TpFB(*VzO|AIzUGIYy8j4b}H4r*#Y<{d}z6QF8-~rQ+?yHPuX(Qxt z?xqL48bfkF?6W~aS~pe1c9|1%o)xgszg&57ad`Ah?@R&lQ>5x!K-}mU$i0K{%(%wC zlH6shQ1Rgh+Wz$jWTe8NQ{3Ow5S=NUhsZV{RXS4%w|Q+m+)+u-Rg&t9Tr%bYc3;eQ zTBxu5{77E_!O6a5A~B{{trt{@ZY#*c_UAISC>zQ+T6;*)yc@k%HGbz(9qD__!SNQ%V+t2 zDC;^B4KuvY>CB(?Klp#CZDk{;|KG@e3>li4o12@$)ZwPHNK0~$BK$x0{Enq8+CS|u zLjF$*T-nLY+|0?$&cw`_@wcOY*Je}VNo!DLot>a@udgRv8 zjZO%?ANsT0>>(SWT=prQ!crJG7ybr8>VyFIvV~QPxz=7dcGYFtcP=$KI;&lDNy4 zxNpD9ZROzK2(MY1=WlSTECW?pW9rXhy&uWcY_unpa?;J#+-JTqqc1<6fixNnr^(>)9LM{O*udcH4xW5lUR z{4X1lNQQAiZS}vt^mPUIEWeXihE*#j1XHy3?(5ddYh!UhC@&uU5zE7AzpO~;s(!p^ zn*CZG{#`L72+{=H*MZ6#VqMiceJh*sPfdarEJ+Bes9%;$IaY_wD+UFdG^_6G7JfIx z+N!tv+BEZ?nuNK|32roQ-?P}ct_&+yj0?JHt>4$J9@oVRfEZpp#*YE9o$9&1rwz|% zCf%;9f*Vb6r#k^0mL%|1WG~#ND67Lp)&qhunuYg{^Y{(1CLp30k74}g*d0)?Z&vO3 z%5XbK;KgGqqcJuSl;oRL|L<(4k;8<3%pkE$)w3}kbK@q;Xb?Rq33zYB6-xzbc6Ypw65?d8^f0gfQOrlgNb$=CqwSeLUhTmnk>m3zgHgpJ7$eZ4BpZx*-hN~NmQo+L zgo{2hyU#i;1g17_axCn#1pF={?T z^0~hKbL-zMNWujp#F6ZMHwD=Cq;enY3_i8)XPS#l+M16``|X?D$Ia%6B!Al-wQmPI zb!glNxfhRaB~gA|+|SvgteILs0})EX(Z8j=8XIBg{Q?!n z262aI8n4DykFj%sRT-J8i9fH)6K#uXB*WiI@hw$9O0EPV#9OI`uM1Yc`m|+vYz;{> zaHh0RWlM`IBR>rMSQ?9rA-h-d-rll>2O_YS>ne;Pg$mraH8%Lv-UWnibNyH_Y56}w z?VW%^e6NrPuQUdJhW}n)UxT`XfgjC>&3p%2{vX*uProbp#I{VScxr<4a1;%_o@mV# z*Y94@xH3Leah6)YBj$?{02NUddblpt2{6qJ0CD`&sjzB6sl{)U{y#RwMZqCGe}l&> zHjO*glHat-zjScQg(#PyYyBWd9#c%=Md1rvs4wah*QNSNj+}%P0{!zfU-d^N|ANF2 z>vxX!qCSx=#*WekGL^cYDM;YJQY3g2o~G3ryUb8398{K-{76i&-A5-L#0SUQZ_lFd zm=WfKPHJ!dK(BK@;P`cMrTEo?9v?dLs!7jceQG_YKUrK9zW0}rhW`4I);5H(p1bq% z?$(Ez5~ktcVSx|xwpXm&4+fui0)uCU5_!cde+OW9(%b6X-p94Q4`l9?|CE2mkO|a> zd))6$2_-^D{Im{P&RPx@+}3QM-oy4$`Z@;*b&z_^7rlxJy2asqU3SKh8CT-An7k7o z7d_G#>u2t-GedPF6~x1sCo8xdK4t>0IW88%s_Zv2J}J4c^pF=5Q}DjH z5${%{3$Zj|+59CW-5vK^DNlPsuaigPkQS#{A3&au>50_r8?KFyy`ymvNui71Z?V9q zY5y0ZgI8odgLKA^Q_oQ$31}4<6!Ca#RPognZuYE777kQBeJYvLwo{0g#9V_}1R({C zviL_e9+&QmSAnQTT}~Rp@Q@cVqpCoo%=}0t))-?=|AA7WkBqz6$Kca~J;=g6NCO>W zW^KRhXEuA!zN64YhVJ8?#Ir6`lG<~Ga=s63SBo`cZ(`-t@9n2|r&{8qU*Xg)sJ+gi zp9i?aZs(;Q=ZFg88j@py>Lbg?8Ng82gTglC>R-)%*1Ge_S%{lTtR%c|DA+jTuz{Ed z)J@_&@?sw9eqC#7W!IZK?rxyc!$U;mlcFQ0_GEbq&M>MiO&tP!S6k$dHvrelqs zmY;U#_ah9y*=`6w?;~vD^p#_x(cLzuw3FAFUr>xrY2qfAA#29?C&H zV+u`w$XoSkWoo@`Z%t4czr8XM<#3y6zh54AG``Pk#m-DoKr2N7@Sc=%gT5B%?R}YQfNi*43t7MMsfdcmP zxLC5jddcDV0^Ua)-fl}mQYs(1$E*Enr0V96|JF3XNqAkf4+~soBV2nIhfB$qwuh`Q z$44&kWKiG({lfeavBb_VN*@K^Ir!HdHd@#6Hd+TxX%_rRG`A;D-fmFl4Th&(soJVV z7Z(oOsMp^&65B7+YEQtc`pOq2Ybm~t-w4>+;$;om<9`&sA1|6}ld$o&$Qpd}tB888 zFi0E@#Xa_-^VNN<5_Q$+jzsR(XbwrG+PFaV!pGXYw*0~n`+Oi9qFYvdB&+GpQQp1} z$QxY+20nB>=VNR=D+g?tUm``R=W`q?)4R38`L=EoC`1Zf;YS$(Y=oAvAr0IC4Cno`071fEQ>^XA|0MqTYNC3{7_#w!oATCBiZ%wv%~ zF|p>ux8|F^Q*a@YTFf@I*--G)7~Uub8-c}AHMnYUg1kDpL^>V8$I(Gvd^NwAC~K)y zntx*b)$_^h*|=E1m~sO0?Pv`FYs{?F6D(Vw-E@DesYqR~B9_s$OI9_-(k;4wJ$m;Q zh?Q(u)2P$E5bI3ouGW>J?&u49x?pFErhFx!mS6a*ke3ia7ultFl!d_wLB6P zQ{ZYl7g=ncc4cZiAKzuUCh`Wn3WB|@#tKBC6+(T_o}X^{Am7x_q?*rdT?7KE;b-oYd7IlDBboFrzQViOzBubp z+z-#TJEDjSuKj~4VDEr)5qi>Ib1M}&sJVt?vn%oU^W;O}Yo4oh<9iFbwWE1c$CYdz zLTDqFSTs3&j(N}-ZHYH$>x{n)KbablJ~daezGYK>VqJM^8-7=-8LTp8Kc1;*O^;eV zq+v{z9Li2V=H^h#ZnP*DI=QQ!y$Ex3@t4m#X+L}>Zp#s0RMS6a+5xs@zGuVU3Q=5O zJ-n9)9l#hTmPvfZ<)X~pYMFrXUI{<)P3>ak9pY{I3@V+~p%b+Nuy{h~zu0}jxMlVs z(`b6d2%A>Z`I%te(i)-|EnEZCWQG64{D zV)=0>aLayNXEA+8-E%uy1pQOnlV^(UL< zIQI_lu2uNXV{nqocAWbFc=s%P4_P$r-fU#a0Y0|n+7FfbgBG7HqMr|Zs{Dba{u_(W z2hq>p^b_A=<}6qHqhh@=EtJ*uUWxrz4?roq z_6Xuu>%^BmQcrXdZTgP2O+SB8AWG|U5sFcc=n(mp?z4Vgirq}7o(kTl-hf@s?|_ST zS(2O1Tt1hsteV^hpX()_+#LVitdI57*l?yx|L86RFeRa&n9 zI4V{$hryGBH)$x$vCEex9&Z!iBd2{Tf6)5Qgx>8PntU8{Fl(2OHBd$dc~r`T-DA7ObgfBK<8fv`{#6hADl^y#pyfV zwhiIM%%Ln*C9O2U_;X!JDW-os zLi?X)`M;xmxU}i|?r~i{eY`fm`^O4N7fgM1>$NdjoLcT<%wRZu=FwRaE&SkY+Yni7 zKlF-S_AHD&Z(lj=dO?zMe+{DeY<9}MZ;pJu3Zn4d4Sz38|G38?{Oul{f4|~WknaYM z0_a+^f;D*TJgU$Ic3)&My(bE_@qPpeIr$Ze3w_M`KVcob!vB6>;~`moa=vz#cbhS6 z@t*9RekDrOW1c=^?KY{Gc#j#)VR?P4^EW^ZLe^*>n%y`Dq~6OTL-zOGr3`Ii&M|5m zuiUwwZS#7!e9&~?YxE9g=rwBY*axv?H+Gn}7ZP_xltr*eJiWEeW1E4~3r^MSGh-4A zt~t!<;SGnJHl>7~ry9B^(*s`(+`Grqiw_Tk?(GFnlb%waNL+#LAJ@bG#)Ym1{iCP+ zea?1r{6!UV8z_6SsJ0HWr~>!t5rq!uUo26b0;;hNpV9S5{?ZX5+BPM4a5N+jaA%ZJ zHm1w|(Y4^Fw4n0OS)S7A!ISAri`UI$V5i^_X2Uc%FA~ar&SSgL{O&c!qhUhg2!!8w zz_4h_&;1yC=?3%UzFP=wW^uh9p~bN!z+}WzR`XD_T2Dx08cHS@5_h6Sw+`3fbQRR_ z>rY@+o5Q}8c}htWjH3B?MB^>|meU>q(Np>WYI8G|H#v15Bq(ge0xX04Yh=+>HWJ5` zUPry1v~-j+yNUE(1X7Aw(Cgm}iaaN}SJ0+Y4(4q$9nVVQQKMJ;$J4p4wDvc`uAH?D zl&u$LI4&R?a3BkCAaivvNVOfa+aa2^!#B4NS9DF^QK{BQ-@Ibm2#Dz2Yh@a%zHZR%3^=^BnE$Y2wIe)MJai;&?%S+x88iW_EH zV-QiF;>Z$j6u3BFD|(`3ktc&}UR7cj;9?WN%E zvuE2^Qqy4(gz!N)sO4(3AYLRIcsSzL7 za%jpupOnodxwJxa9n#)0RI-SrC94tWK7z>k`gb z)a%vit{qX-Vq$2AFWq8x&Pd<6ahR*sof+{;V9ByybcqzI1F2K@1yc{+b*hh1Ph7*I z+xlJP`n}{>9*kmM4#Bg!StSHOHoIYd3iNBjOtM#&FTs~qASIZ3Ki-~JL9{iSMr=1C z3?i+89(rw#6Jgbi#jJV*Mbi6Nz5+Q5#EGIBy@NZGid|pp-&VYKxVE^yC)4D^e zh=1$Wo>RvAb>k7!w<9K+wiqNLt&qUVKl|N%fRobAPrdGcL&Hf+zF4=>rFT$FHbIVg zB}?ad+ExngSxOqaN%Sb2`dLope6$As5S`Uda&^{ERxI`T`ycB*$wplfoCZ{Y&N1iJ z3fG;5(5v4o9sujricUbMB$t6nT221sqO@(z)!M!Gx<{2!M+&F@$;!R9y=~3hgox9bEiI+zCCVDN%UfSQ|E@xDuK%lO6U{Ziciq|J=~P7{d_bR{t$uHPIR@c z{VnL8dfg|{sOv8$m=e%A>b#oix-%JiWxnFkV7;38=~{vdY@BAFKiMp8Yyat5echwN zs3Vzk<9Ov>-QL!IZn7C~f7SBFR&{mt)3qMgh8?bbNp$n4YduTvx#TC*b)PT+cjmFR z`SG=)@qs&5$2R#A{eNn7H;A^xpyF@GtgkZ?FNJdCg>n?o?PZZU>DDl=Cjo6J!t3mL zcJ^p+>(%?-E;j<9PsA%ev0OI-)l*c>E;r3lt$Pe!cAk;BI>)*X$H@=)wkO4_AUel& zI*0X><5NK*^2<^28 zEx8JJ*n}dji-w?!*23$p49{)}fnNlP;^lmwSMfx){u*cG7tSfPJNX(%x7gqIWE6B_ zlyPEYuN!-q9E)p9kiW`F?kGU+Ah3OWszNkf3Tc@H$9_DyTv)w7>~dog`oyyGn#Ofw z^67eJ63o)lCFblqOt84)wYMX=I&{<&EvFlctQ*_T>n#e;ZUm8$2dUuUd>>r#)ZX^g z9{SYY_|(2J0e0Pc&ar#X>Ae%kIPvCRe9~}LI{v2iJlN>RQfM%7{LT4!u*0t|&w&2; z+rwQX)!TMp*HCL^v-h&)18e6{D}9wCqqp{s?hHx|u5}ijBuwS>Cs@@uR)>G$z$)Mu z(Qq1YPY`30{t8aVLSd~|`ll`K)9=N*dNOSQ^#Ny$!{!OEJSM_42-F&BF*i;*~ z;7LxOg&0?dk#hZ~h=ff^u52}sg-*d?2xjuuD?p$83v^9H%~e>uT;A=oNJRdx)@+>} z9=83=R>K~xPt#pnb97tt(dBYVpT(-$$A|1YO*$5 z=cqlO-D)_&7i`ykJazi7mNzd*AZS~F*XN!;WU5R5p-bgKkVx=F_3_jjDHnSEGEijn zQy_^1;jO}^0&xZ5#UCkMOc9~2`+73+`f0ZC1rZs2Fm)d(b^8yLhrKM7eWb&t$VddC zHC#!KTuF*S3l73d25hq$J29?RCSHT*`TG0$>XMnE*@xd^ZzG4F2h04f#JfGp4YH2D z9Xt=Ry=}MpU6H?6JW%}j8s63NDu47so?OSII`au#OxGrmcdU_bG|$o6XLUW}rRu}Q ztpur8@vo<2d1RO7pO4r7{ozzwrJtNaNA;~JCX-(O${ItNrbdKZpSi-0Siab-fdA)b zc%&ez2mx7vEg5h)f5LJyl)3>iaXD+$W{Mg-t*|eg$P-L+#}FS%Dp4i1;gk>1?bBu) z)?u6?uvEcaLBQhd(~a!Y*SCE^38X`A%ws?ZE!6NXeOuT|>I1InKeJOv>5FTtFOyT}wQTe%mXY ze2N+}eQ?^8W$Vy5X2LkuRC_v9VyTv!wd!`1K5$mn6BP<&;A|y?{KyQ;pT%a=7X#^rc~@&GHI2&^6KX1^+*|&n{D}g*)-Fx z9y&wb&VgcVJ$TQ~X>Yq$H;Zl&aoqLyUVvPiVJl-Fm0p%y8>>k^LB=Vyyqhz1I~&_F zw8A|)wKsR7K)S+^ok(JH_~;UY9jn{;j%nq$l|!nGg>jAwE;glmkwo9%Q9+=ofjRX{ z{-|G{sgOmz5Zkq#SYk8cwVm_s`n~i9L?eqZyLEsyNZ34wFqj%1F)=7>w0A-tRU}a? zc$5sdt8BiDB9_<>*-t!55XdPRZXWG0i9b4#SUA1=-N-44jVB|0l*Q61ikW99 zop3y=gKv75=uZb9p{F~40vD=n6xJmEK?X-oIt@+UC}Q6(jD-_9TcUgZXnXKzd)8=s zdb~SYMu$|Kdo0BTv66nioe8GCV(++>2M;up#nv8SM^;!W@}(1o{zh1;+~qZ-E~HMV zpBD9N{X|s&LrFJO6VzlCI-Mb%ID4hTC*%}DcKy)|;nYARtbmF6b&fM|%%Lw*Dbj8Y z18c2oS$&m{XsI8@2|^?|A)Gupn(Kg^v_(H(CtYjro#}`to6MZvrw%kp?5P`_>F`9! zXwF+_`16M$W}hLJ-Cm4fH8|QfX8-KgY9nyp4dLPZbLN)i#%SEWo~3hYPo3Q6(w^l; zC)}j>^f|FeFR|23j#S1&ezb4jkf79!-!nUjurqwHHyXkNu>(7askAfHiaa_uCQJ;B zl=C(|JBes}7z}I};ba*9q+$Lp!V35H*Pk&)ttQoLVw&gq>ZtME75gePbc`a))!5{B2d+}&8 zeLLP`^=iGUJZ!4|7V5Q?q<>)r8U)io7sp2`1gFlL&KlX87+udr`g-Sq_%*F_G_8rX ztaG%iVLp|r8paQ=awnEd-q+s+(Q$&8%c2ZSV5yO%;atdGoq)o{qay&4quPb$RmHU+)jE)BJxH}(y+;JE67aVN3P&fb-2LPo3Kz-WQgWA@k+SZfWCx%t7##OGSRj%e$ceNm|I*?aA z$g2Sar)eFeX$`Gq9i(MVQ3+6~1jJVYW=`cY4677W4Q9WLbISS3Ak(js-%~MAu6!+E zvXZ%@>QSd_T==o_o5~h|*`!_OSAnwfJMnb^b-byt9$cP!7GTDAnHcwmcgLK8$!#zv zv+!Ip6 z^RS=}DIr{(Ab5!&mX{Ks;d90PS@SY4{_M9SY`1f7x4Uc~#pFePdHC6d{{@E|vF|jL zxg9ZWop8d=J#C$G!VZnuAF<~&kl7m{O@MHMn237a^EQszI~-U@v+RlB=zxO`&THQM zY7Grm~Pc(e_JAFFE&TilT6*rT*Z|&b- z2Z;U4tuqln_`F`ozDSSY1DCzlV1wEA#h%?!94@wNH)LPW@ge2Bf)MVspK~|b4jp42t1H87z z*?|CHH~<(20Hy(eecBd-+7_eQ7L(cshE>kSRnDeW&gNA&wII*B|C}<<1`w>~$sf%V zD6Nw}dKK^GsHdh#2B)S_@!c@Cj52h%Xok!1rKhRA>z!Ya2{QBgo~gelhX(lcX;OnD z#UK|5k~$IJEC}+1P(_8Rd&Ylxw8Ew9g#k6crR&k81LpYhW%l7J-GVN!;10&3E2@*B z>qVfJ9WqV(Xosl>T4W5@c0-F49zK=7j){k)Tx{7+Hoc#l8P&H&UFZPu&-t1+!d@(B zD5j9PdFMM}08fskcC$>Xt;J(r19a~>x}iJw#c9j%CMu%aFaz8NQcnvq%Q+^ldkx`O z$O0LZ{7w_AwtMsx-|(?Nz(bf6 z0kRdxKETd^4j*P)r_}TYMc+mtop)dGBqJ=Bl0c}dkU6K4z))tjV*Ungp?kz#j&LVU z)CN}N1NO0i*=>$-CtIoe&|$Vwr*o-0@G#q?(?a=of~6?ZymS}{&!fN8+UQ`4eQA^ zTIy8)-p%echOQua>eTSw&E7R^i%+0#7kVmF()hQnYYC?(W8E%IM*FSn6x}YERHpcG zDaWT$-7f4@rsVO|t!p!t8KC$+}(m zsWmC%i<{RRPEXppUFwVmVdIOVdnb-hUadaRj9}7K`++@zy=#RQpG4g*yj1&?@#f8I z2B#-=-L7AZ;L!2r(Y;m2C%2#P?a<2k&~!zda=-Kiy>$J&?o8#vv+OU5CVc48jnTe= zcOlX3j1kK8)J9^u>?6>5z#Cf(6oe!a+}pTPSpygcjsvcQ#JY}ucf}B7Xe4K4$d7j8 zExpTXW#GRFwtDD8Gq*8EeP$Bd9+wUijDuX_APWeB4yi?4Zb;ka;IDiU#L?hp#Qq#^ ziQLAKt|=9Oq2ky2r0wFRZ}k*{N1n>R*+1Cs{?WH-No8LfCjdQgVHC{&ND!W(VxLeX z2?a@sp6o0ijVBR(DJBs+qRGF#QGWJCN?OGowZ$B@&8b=4fP!r|gdiX$MM1k{#2uN3 z1;fUFF{TWnOb{U+CB;kShhWD?GlCGiJ`{)=M=QKuTBOi43bxro0QX^Zllx1;N@&@u-%h4?yNv-WZJ+U&EBgQz*s-W)DrporeL)r;$jOWg-5`+kno;An#2{W zx+b-KsacnrBL+(%yKf=_Q-N{!_GE>IRtBEp=dS?tdr2y{(Ll8ti*<>hc#RodBj{8x zX?9z$x8f>Bf{IY)shaNDy=(Wb>RsK{J=J%m=gFj!rK|7plzDxS zxP<%((wAVxysbEex|>+?S@__ayTlP;+{26r6If9^U{E}QLUVd7Z)U29#Fn+c9U&E3=;gM-tp!rddpsFAe%=D`a-`v(<&r20`fb0v4|Kh1@*A|f z4oOqX#fgv>%bbA}@OuQVjAm#Gc>YCEKh@2j6lh{5(3=`f^iT zN04U+RlaO^#4Wxmt=Tk*v_W0641#8*oktqsvfl0Z$TAN((tyTnx7iQE-VWiC`HAh# z3DEx%oT8(}QlFv!C9u^t3unow#jQ#gmT|s2xeb0~b!WKGsHIucPLt)&MeqBy^BH>q znwU<4C?>t{_#8jux7Z2k(l!TOd~lu!uF=GKf(*@B)OBykq3dwc(OQMX5B$+aM8k0y-Dx%xwZg@qu z0cypftiob=u;c#j`HmbqQCqcrv}sJzUMPT|wLt3Vb)H%glO@mbZKy5EdbXikw8Xs? zFN7oInpTbCGtQZ8bJuT5t9T^>Kaa-JTI*EZQ)aWdT=(aTbJv80dX7v18 z5i8CDO55OEakN&YH133F+Q*O9cw}O!O4=|j%->KATVS!%BNoJ_XDd0T=avv6>eWqh}sf36z&QP?i$kB;Vf}Yx6`Jb^;P(MGIl}Lw5PUH)7`>`#%PkA zUiALbt2kHCY|4Z{ZOul|G_Gvn3oFX&hc=4I7$MtT&p}=gd6G!O8R3iMPlC}E%eOJ`+>TWI88tsTbO{sDkk5a2l#nrE zq`SZn1v|{_Q`05f66;kJZJK*ivkG|98RL{YzgS0(iZX$4Rh`G-oL`u#T~eKT7-dbk)qqu!6zsx%VU3 z!5O&B8op0S>CRG{;G%!E6pa42Nj76xW?*4nuw~9wAj-*9RRJ99eS96v#M}fO3Kpr+ zbEf|MO4df#^!#Aj%+Qg&OEZdQn;@3V*pWSJvzsVLgm0#5%JSHI8at_wYi7_ndYWOj zSXK_`$x_WW=;7sI10Q?0#Tz4PDvhT!+3d^Hnr>_-Qi5%Z++gz&ZeGNK2A5R|$fv0m zT;MHRgLw23N)KtdiKvuhJf_vgi$#LBIxv@+scch!H!2)fL+D0iRYQQbvI$t5)Onj&5sv zV#Ve#h~B!IrOm4Drxx6IBlPAhyB z)st?~jNJjNP1LLTi;*K@oW0N?1+Rzn2tD+BH(AFWVZT{uL+zk9MRP^EqV(mEDW)>@ zHXEZ%%|{OVsI9Ah+AN;_!dW((Sw-~1drUTjZ()~TIaa{tyRb&6z!p02C zMM2^jBIzuJ;IQ0v1GvBJd8m<&M;bZw^pOJVTOyG&7IiUme@SiHFmDwilm8~>_KvkV z7V4Pv!n|3l;I#Zz)Yl&bIL^$dIX=k#;>W(}WyajkJxv`Yg$qTP2h_WN30ZLG6ThUOk} zY=owBY@jl^uhwXV&!Ztd>{sSQc)NDzApaHHrjCgyQ!rZC`@acZoAiW%h8%rQTj z@mGHgG~*4Ja>P8C6ME)giu5)TTVYTK9RpIiFcxWruT{Fd+er7uk2u?gHnUz(D0cR2}BZs9wtFY*!_Htxu3B0(wQ zW4wbQB{Jm+YqCCHk){YzKVMzgV)z5mrC9=Q ze&_287p9VoNBBVV*1n_97zz)NbSfZC%^H*vl{WHs`G(c|ur97VE9XlnxhhX)qd_)V zERF&sgVn=~bJxtDSr9MNp~F1GZ)-fj2>?n&8cLkDYl{8mcvlf7!HAIHEoO%wu+jwC zVh`J63D;u}-D3~?dm3%06Kl{{K(z}Yi#X!RO|xv)M#YWn7dEG})Gt9X4w1(~!#LWI z(Z#k!@g0l2nm!chO-=wvLJH#W(0Fxv%3Uki_q+WGe_e-tPqi3XHPQEU2(si-5ON?|QoI;ob6_E4 zr&|1aNtgYH9Ul4%0;;nO^+7YbZu>vT6w;DfVnS2?tDxr;U~8ZPbcljf$iLHYfo7yy zEooL=F#YKNRvr%C?xz{?*#^7+I(z*3ztb%g=1|=fjORZ%|I79%S_D~qDTpEamTv;h zx`xfVrvH;JNE5wSZ@?Eq)@q3f8ht=h!Npn$45B5?W<-!Z{}eXvbSpwE(nnlt9rJ3k zkxwu|z!OH5K+x;dgKWpQ3DaaniZIx=2h&7MgOC->&+T9j=kF=;xvb7Q)(5}hM{i!a zanRErvYw0|)rp)jdJlqI(^^zN!N-4KN3=-(+Fglo^pOqt5quxPK7hCZpI#F~$ck&S zP}7+VtT{#lGmhvREvdbpn&{f}Y=0Sqd9^m&uoW3?d2mNP|6*z_dlgN?B)PdYX(Sh* z?hl0i1%8yOm~jAbt%<6Mvg>RQ+eCN$1#-6ylW9$gVdEbt{w@0+>?Lz+z4S_~w7;NA zs|;kELm&Nvzv4fi)_quk=y1n}m6-~-$6e`LWsZrV7RyeRGe zHvx;(gT@%$Hh+-$m)?IlX_UK#eVLN=FC=)!GUe~4~H(Ae=^U6{u_96 z9nwf9K;0ky>HOubVVlUVzd-D^VKA*pHf;REKb^0mmu`!d_7_xXwt-p|*D{lV@ zn)|8J;I>l0awedOhYtZ<1^Kk3bYNEn7x?Ym79Z<*Y8c)YcbzEtFJ?m4@j#o~zaQ-< zi*yWFSB>^Vn{PwbIr=X)ciHF~{xORE>-svp)(K_WDVQB_HSB1@tHpsR zSdhimbo_rbL813UXG0SG0iWnO1Yz0d+Q47u8zO&Qw&TA2-G)4h!%Ts%($d5 zNGFM4TG_LDxNl^nax;Jv*##+kj{|uhsgRxi5avNAfEMp#qTjULpaD;J=>tQG7}H1& zJG9(U?KB$5tr0{v=)n+Ya<794I-}O?VxM7J`Lfy*J;!wIxhmdiVIt0XBPtJs%NR9y zM6$AkPo^VXM1!Uz05?YoaP++SnpZ0GZ-)9YU!+(8s{u(XMq093jTrSt;%Z@7yO#{JZ`xj{SJVu=p~!(wMVNrBqh3t5~1x%Itb zGFhR7+KzT66qF{e^QAYqU8h1{D8TKz>#=v6Y*(=Pf!aVFGlao=ENIi`2uOAxDG0m; zD4=0oW;blm1TmVprzqSh1X;c9he?rl`9g4Vc$8u6zB~dYW&q7%za6kQy^#3rP{Ea$ zdj%sTxQ~org9K)4z_sk1PZ>b~Gcoy!uw=7$nDZ0bJ~(8yf_vg7e_GP>STa zKRCD}!MhKjT{g2K(cw{l!3VPkCI>+h;-Q&!R0t~!vS}dL$Wam(n*`_NvCx-<*8#w9 z9d!SG2JVuo1l=xM88hy*{7}m4GfP6~Z8Rab6-E@{VPG6paA#rl;GY%QcW}g9DUtr2JHwvUBoxs|FH94>4tj%F7cT-^ZEOqKlO~iHjhL@ z7Wlc;(2{!l-X$ZWy8ZfM?uiQACT0^{p$G}}T)A+FC4iQM@EBj&mWEK<5Efj)*l)ZG z>S~wqdIG-Zw@z@_pxo?|8}m;j?(i0p>x{_a?DQ6bj#p$`FUaXx@5l)OPDibA&Sm-o zIil8(<}!nUbx~`KbD4oa=cqMZL59c9z~S(XC2kzkY2%!a7R3snw5x^ zWS>9SWAo+a$HnUscWC1Yqv$tgw4aBNY+1|>LVmQQGD>QqF&PDZCoNJCi$yHWc8gkQ zAyd%#GTLa^eAq$$E@HT{IAOm&N5=I@1uXvIpP^LG#mr63@Gs&GZ-q@Sg}YC@0~VkD z*%NrKCoeuh*4;sypCgX0;iR>*uzKbiy1~~rOR~0s>HTNNr%*M@4F4BPUkdFZ%t=JC zNzg`xNz=Ulv#&Im3xjOlP4M0GAf31o%{%rNO|>Q2Mb{5GGoa4lObw^`Wp?JTjv05! zj4()GwAhS3^#=RYU&Zmb-NnN&fyxkMuL-wa;lK=TjELaIn2B}w?E>jXo%mM^ETD1n z#Tfl&_Qx@JaGeLxlD5}9%KtE#$A8h<$mRmi9am7UL($sGRVAadJ%<85h=^UHJ>Tn0 z=k}(_+;bU)X<Wxle9&bsOF{6(SV0=K*g$n|fe;+Z0R%nF zcgV&fz0}vQ)ZK%B7#O5(Iu!#S_iePKO+w(vFVb5a`hu1zK3+q2O_cSVGFp+gxdZ)rJ3^wm7V88fv5R0W5jRUgEHG5@8zJUM!q{+ zXZ`okpeIQPyisto`)!M=*1;tC(1^CXES_YKsMeu$GQ8@abb`it3dRA9O&DYXvYKcu z8G>wvo8Uw}#lJB%iFhT$hyYPwiee>U7vxU_}Lw1GHQ<^KEEN#mR>sv@yXo#Uu@&-`C zNCim)F8mOCpzIo15C-GkL+{uaV8+Elz~+DjR=}U20Y9iswhh0pNV1~mG;q@I0Tl2t z@c^E#2uLSCEa;tg3Pnq}KqKxDIf1e3W1K!R&xp_|rv( zu9$S?hYt8jT(WJbdLi+GNT5){2mB}w$|!ogWrCh!c<+cD|8h75s+td_5#u8epR z3A~z*q#z8TgnSHq#vk~=a7+GA52iFg{DmL;-_)|@?~aAWC4~0s9+0u&00)&kBq8{A z(V=&A5AvTdg?_gCxcxeSjaSLzQ4SLoCWCwkLfpZyQ)WUK9J+<)8ApeTUcQ!rM2rPs6T@f!q{w&v zN~!opg8oEFEP+jeF)B=*<~{n)<33g|-J6m1>9gT&P1lKu|Kb2-T`au03R&bgK;0ky zS713BJ}K?`3%c$TjKM98fJGWWoeJ+i&X8}z8R}F3=DBdA!suz<M>7hzNwE6tmp_34A*Ew}_c)5|Es+dusCd~RGfT?ixXFDTN4 zLK$-~M*raak1L3i7KXZg$iLuTI#79Mo-2l(i#{q$k>=h1A5QwzCFP&Ba+NN+!QtO! z0qH*ufV7po5Ksj_t2&;3E-Eyzo(+V!(Pss+Y-wHkekD}fRITSpz!_5VAqHCN&0@)y zYTLsgbbo8@Rz<4d3NnV6%6s9P(NI-k10ozl=j+E!A{w`&%^w@ z^ic{^18vS3N+0t$S-f3c zx*D8|wX;iCBOND8v^z;x6CQsQZAXxduz$szlLLL}5FJVDe% zu`}X?4S*PJ6q!oc*csrhERm$T3~A|h+{_Shslouo4VsLQe__r~wexO@n;fC3ck!HP zviQ7|$h9)~QS4p6ijGxi2k5pi79eV5EW5uy*ObdAVw2KrW`i59$Ykm^GbQgdlRk%-6MVnjbgM9+(-VhKsZVv!UW=KS>PASZ~SpOXkiae5M*a} zP~wl{07C*+dSHIMenCUKuC?cG$-!(v&$VbZ4)Y^vt1zSK$NFDKl5U^F9?Uyoh+dZkkCe$(54^1a)X9-M~cQl zWD=$@fIC&kJgmkBAFcSlGJ8i`fKH~5@=ev0-*n1NmK$iA8E{Yx=b}N_N{6?a^gIaD z&WY@(h{0RTM>x$MV|mB-P|rpadSFi4iU+xh6ly0e&9fb2*AKnQD9NLcm$^IfYxux? zb@EqhUS{CI9-NCaVJjcrYL-ANACAiv+Nz+xU5*3~OJSzF49|Ih9Ylc+=>(I*0k)|N z;@JVVZq5fBvQ{a`Rq{}~No$dg12f4M)c6&exRw35mAi!I6#vVg5iR6{SO`+SM4~#u6PnS{qNU?#?&Y6K6vd7ht{4+OzDrGn)!UJCmwXfc zGKL@2A^jB?ovBedX)rwnO%`Z_vARSBRK^sCXhmVG#z>oQIry9k<&up&(FsXvBMN8k z1VT$Cqyz1X8hh7n_Iy<*mh>K^mTZs%&$K@uY6Co#;64-vgv??~8t-+%JMuY*>y{Dd zZBSJ--hW>r|7k^F%#AS~RNu=Xra>As+c@xj34Bi(L{G+CDla>d-4i++qwx6@)N|wu zQQ}5crbk}k*7AMn=EBGP?mZTbI&&GBeiAYX*`1-rXc9gdbCI;{corFI-qXaOu#ssl zBFLLB?p6q93IcrR+7`}Hi$EOc1T%LI%k1wWdaD8-MlS|X4?qM3&A-xZ8c}VcL9%sb zl5BNkl1z03*avl|*=>U#0hVt+XXg`Y-QZj*J|>n}-A+0SMpiu|W4w!FaEBbp{<8aS zPv-jy1@;vM0mp?`BN8e++Fz`OeZsQZ9rx(jg`yRENeHgMlRz6tz2z1MewE0Qem zyk1{p{+=K0Kj!LU|F5~ac6H=zOolx6DCi=9OY$>QNi&gi`n2H*v{nY%Z8Hh2It6YK zt4rDpC)bAT+sJY@obQ*}qVj|~IHOu{9ivD^V;~@VS-s?=NC&%{be)F!S^#1wVs`MK zL4%K}^y-urGpC|xKDBF|UT^AeR$^s$GgRON$$Hj@=)C3-``Tm-+|aW9jcJ$xs~M~%g@{YzZE7^nOat(^i;XC?kR zrkUYT&rxN{vp{Z&dXmwy?n`{VRK5HX{Su`u#%V%hk&Ke(r|+jE!q`rTiG-J<={1ofiIkJ0=}Q7>7;8^ivQZpHr6s#)j>_@V z>``UoASN(}Ny*{#VaVl%QOTwD)`CWirKYehKTLhwN(YViI?Lroew6#vmjSXSC%2TW zP-q2DF1m`AnP3;eB-hm22wFClnIfuTIIIej$H($aI15h$v0aK!;cOLwSo%6ZPg|l> zP>!^R`Me3&vV;miMt!+Q`7Bu=xiXaymPJBNxU<}NUoZ$~i+$(I!%A)N=`CM-%IQr@ zd&>InHaFeWS%sJ{9`!Dzz09?Gjad3FBz(*i3d+@3rQdCrtp%Pux5Oj!!@iH$JRP;= z#_-}upbyL%%n-Rs63MKUI1iz}bzZZ`6(WRg4-$3$W*Q(Enf#q@_GA+~vn>y$8!d6o z*yll%O7I@5{*at@#S}#QNtdb9wOG^xQ#FTZ-t07iLK~0CfW9H}lzbWCsh!R4eRDVS__qdw5eUJb#{*ix((c^r25)IAY=vVuvWHKeNSp_q21R^v6efkMbQmb@4Tj z&z?EHC6!z{DaFSSN`!>ovOAC-e8MX@%ZB^F`_ThS*~o5d5owQ6-9@-a>$y0r zl%1rs)QVmGDtM*J8zfx5p7?kj|5)Lpax@)!RQDKibXAPgxcDpFSN0s+Dw$8Md^G(0 zif2Nb9rkE&uoCiD1VO}Z1NnnRU#aY4vg~7vPKLqS)Iz&|E}$kSiWAq)(r1eO2(gv9 zl;)9OEiq+>hN-k8kKq|u(77pO>ESc;`v|eQr&^|!KsasrWxYs8r;weDAbIYV=xnDj zeza-XbZ0CS_*;zpbD?xx?3x}G(49l-oH=|}h<)l>fTZ15;oLqW`GAXI(u9Ze7o{eX zDd+~OqqHYxN&Jke61x3ULtMMIXQOWDMIe-JVLy(nRLmk_UN_dv-ET{n`rHB&vUd_(sK z??A`0*k&|pikErUh-T;Zhi^&Cep|!u=y>3q{oavKQb^2?tE}x7H*-`pb7XaA8$tR6 zMMbUo3A`n^StvSMD6UR9oH|71k?86Y?}xtz z-|biq6J{7(L1(pH$=>y(dKs5w9kI}JIIvBZzLKZgs|*fKoj;ep?jOqh7?HnDX_2~( z&^3Ldm>)}#JJ1{))Tqy;ovGKSMz)|D4{za z*ZnxeD>T{yk1Hqn2R`abPeqWd)b4JborPECG9JV9Rp{Z%3x^p{SR+FxC_QF;aK}?w zT621u?bt3q%es=zVU8V~p>LzJ*S=EaTEBQcqIZRC4TBN*bVP_{yh?h&Gc=gePr}>T zC~Lns+}5Ouh+Px6juhf-hWIPFvS&0Ia_@0GQoUtO)2Y33=P|dXu+TPPmWaL9x@7q) z^_1hfocUa3uhm_DN_0OZ zE{{3$U2?w|9tBU87&t@&4Y-dCTGM9x5T_Ch65_q5Kq3`^VW5vHXO5*vUuCPl2S>}kwZCuVJjsLxWpZa^l3SUqE$<&+sGx)b#_ z$_J{AuNGSNjFLa`D(Hdhg&$Em>Ks& zoa~~r2u85PTF9ey(NnHO`C_HV0(T?wb!()ncsDL=OPus+_mzfk2>G^rbG2sOlJ(MC zGd^SanD-3~PZuhaOldEfYE|i{&5)qIuT_avF&7a>NRgE?zKK}UNS|Lh3}RC0 z!M@fM)i=7<{N42i~RkdzVv*rRTFUKjRG0$=H_E817eY@XUN<+1eqqUE< zDsMhmL(ME1&Mb9V+2&~z)qcFOU?k$x$w}rYQi!~ za(}5>*Qr@^lsBZ0rDB&f^l=(!li8PBcGQclac_HBnoKsbT~R$ez5h~9v}DDzWMyI7 zz|pwW(&9m~)M_6w4>kDo?$SqM*Bj1*M1E~VhrT});@dpXTI-wzW8Jc@MVu&R`np{9@Q#zja1_>M531~e zk+2i;0+!wn1uicTVj>@EA|6sTh^c5}1GOVptL#DfOGl!d*Ei4~8fPm3Qb zbRWq(kpg&0JPG?iah`rzkaI1 z9tPYKHcuey9hmDLD7S2YaNY+WZ6SqJXO%T<8&(HZjd{c)u7+zUuCGIW6++WTg{qc; ztp-2cuP+<4R#_fL%zZ876|5_DTm9}@AFe&sf32J$W^I&fWrX}hiFC98$&f0PbO8;D z8w5o#tUE-8Z4*|yqdJzn0;_jmqI)o%EN{S^yz;Gdr^A%$rxTpSS0fnx&p4Y7drok5 z=qMI?C?e2?Ph<-|FgBeiHokj{v*Q7$^hjnWuY=S~-nYG~Da07_UyHJk1P%K~s zMgxe(YF1-Jzf&MBpc5^`k2VPO1P~cnxl`^h5d||xu`@>v-+C?A@-VM<; z8r5Os30K_1hQBo<=tp8dRJ0toapHBFDS}mYkGB6aCI>{K$Y!ASxBNLviaAT{W6nN) zsD?4zhOzJ37A139C9ZQNt|_zp3JqgomCn+Y&J}ZfWv;|l**sR+77b$>m58dx0cyvP z<*xq3@XS5cDu%l(VwnoXf%#^GZBbv}utv|Y27mO_7hvh>@aP-58#5d>6x>42BU`O? z-OE8ee@E=Uq8}(6$eYxFwjsaOnLZ~D=OMdVLmrOglURs;rZC6I?&f5ak}CG5&$K#< zW_IzzidpEdIS5t+0ZZnhw#Sf7w#?!_Of68zXRI*pE@lmhEfsDH7boD!pL6*>es4oN zv4dpffpIuHB5y3$`FeI_$Jus>Mc1x+Jx8CQ@KG4M&4$sfE?SD8wi6mJs^^^~2BHmr zNWlBq2jY(;1Q$7yS}FzbD);6%?ZD8~vIvb;h)11`BVrfpSVwD>)MKISPEReROqc8R zcd~47bp1)DQT}+--BD&d;oT9Z(Dipc^{t-p9tPz46H&Kh=fc|q9b>UCC(mJJwZE;CDQ4JgX~yi}U(rf!Lo;$~T-_hBizXjR*iCz-it zN=o~Xoc^?Xiny{qR369V(74j&`PVRM(yg(jz50^#Vc46|>-$jyqXrgxoxu-Kxq1J5_+uP~$QhI{tC&(UEdjfQWwf)22#D}7LR-+xit z)D1<|;9c=#KIpLeMy7XST{UGqEVKG%rgsuuHDx}Wo4h`mzrv=yL2SLnKtmH7`|ntr z+2Dp}{7MboFkyb+ zkkk4ZO%I5sHxK>;7l1rW44{Q3CKN`BNPY#oK2Mrp7X`|cD(G12)0IDaP;^_*N4qxs zDO9mZ+-`I;%e1Hdn{ptofZ+?TKs&BB3u5J`-0U^oy1@J()+97UDp2Tqde!`EBT8?^ z1Yz%v$65wV!T?roLUZKM8#1_k`~Z9K$SSU!NF>N07L;2#a$>^fhmQ0e4(1vT2H^ur zAnp)pq^T-+Ua*$rpJ?2Iz4*jap@t=@iO#qZc;@*?$N5M&2*Yq8>^AB>wySaDS1pb=!o6IMt8tT84~{p; zJpqc3M5tk*X!){Ilxd<=Z7FK^9@mHw4&*}5yT;G&hL7>G zoOn{#Y%747AKNSMYz3OG&kTPGRBRG?1KpjJ&fiFB+i>N77s2~r<}b|3n1AYYS(t57 zxk*L<*JV)zAr7I4Sd~mo;?O)*v)UH$!@0o+AuNs!NDDFC72=SZfu4nF3qzGy2bS_$ zC7H8OI9;T`$QmgO6S9HpIFm&s8kbN{|I-fEY7Twl*VHhQhH&rE&hf{F>N{%@fzFt` zRVbS~zlQQ3Fh;tTl=?xU^7(GsV1vl5S{w{Qw1mPN58*K8@mbMhn_ho3$_CTl)o zB@1^?(P$rH(0fM|sWeP|`|yaQkZV~qUUJQsB0Mjjt8s|P=$)V30mu9Lk2fa>Nm)+R zfZx&!3jY5c(&PBAA-z>yL;|n~rOHfG zjZ7t{l3!#&+Tu>7zo>|RWK|lk>4sC->c&@expY$mkyWA;dI(VQJP=Xw1Y4vRgse!{Z zWl8Hjh+B5AB%9)DW-Jlf3P(0<2~7*+7SE{GCYe&IN6p{Bua)l>T%q13KUbnhF;FU` ztgPx8kOjJ>9k7#ars9m;qV0pJd%^$d! zQCuV=n5%a|gpnHh0+aOA$daHr3R`SA*JlP;32t(R^%%0lNr7h5VdIT)_I)9qySt}NbYr;r>Sj~$+oI3t zru+Sgxp>5@)@)gWjdlnte9Rat8Q@-doLRompys&Y)v8i3gCVkcb6Wga;i4mJRiz);0c`N_xp>_mJb8%ti$_otu3k?Z&<91ur@_ zrm>*ev?J6{%Z=XU>-}_$QmR=R7kV%VoKse&mfRTxoe0YX5_Eud?~7mDlI)wA^GZchpB%@O6%- zW3+$V=N!)snNZ|ydY*h9t|*AI7y(oa?*sHoxG@%5KMzkTtYZ;`#c~W6z4CO!5EL<= zhdZ5y7?ymGuzdGAk#-lu^5d3C$@#7R&Yb(Ty3yLkCiD3x+xgxeO)hpn1CQXZev$iZ zp2ho{a(k)Qsfu}EnlRN3HIdYL@41uK#P@JoobUr#4@SdiJdB($e)*9Sb zJq(FL9$Ub@@x6f`cS2WCj$WgV!Fn3^cb^s)UY=Cg#JU}UONb@SAH+w{g1~{DnuhZ$ z>~t5AqQV)Gq6pneHK#-8)WlPA|7vyp0q_@(DD~32*l%ea7D8sRYgOd7aou*G*hIh& z6GdMZmJ%%7-&N@vZC7V|#)T8dkUZRpSZq(AzQso?bozLYKJETm`4;q4NxfpD{sT@%}5FZCE^#{I(r6L}<;Bledqd){7ZH)o|2Wf%jJAMHZK*24rW ztNg^)y1cK$H*E`C)nD$uUvAs$5yx^d6BvJ?*)IGdH(Kzjn`?f zfIu1K_P+2XVsKBMl@kC9y?dOiZZ_$bjPHQmE43vTC1B18x{|7BqZ;WIYWjo0^xfjU z`YnOY^UnU7A%DR3EUa%&|2{D=HyWzp4ShD_2hR}t9rbMqjF4g=@%M_=6CQm;K}ZFU zfL!|sE=Q>^+!Cl?K>Nnlb*WUF&~negGkp40&Oe6M481RC6l^r02T(iT(AvzO1m+j+ z{Z(F&mp^o0nuvJvjlm$!Eiue=h+ZIK=%%i-wJ{@lZ(%)B((MN8B=@akE;Jwa{b#~W@O{dk@9*V$nEfnrpO)mcka1FI{o7XEvn${U02u-3F=_auH z!;s|*1$3q=uwp)F$@}7-=O5dRE-Q>HRlF*mt-qk!v}>~5rCN1dpjx-$EKh$i*=~>K zw*2I#`VrXfwh#N&g`ke+H-*sA^!KlTxK1Jg2j2d?SR?r~ko>*L;j>YMfNz?7KdR}S`&&wO zZ_(Nnq(Eih_SibWWRPK zwC7F}dH3V2U@^+#P z^COM3?9Pn`K;^=~bWL}OCgj4P1b*}P7Wh2r2zvL7e#Hsw^{QT^@wQ&ksP(%@vYAiH znXuYD1gW@*9hZgQSBmTsK&U*Bi?BjYe)D2udH>_RVS%vOK_16rECWMS8ly{O}F?hix$o0H*emc3TSbaU%aGgtVcy^}{IA>X4>FDmyeSIANtkC0l@i?yZf}o9w?;v-P z%Jf5~C9U@kCnZ=~R=%5L`JNc#`7-fswBI7I`aH@2m>o_Sqw=!6Y_oE|$+B?&Sag>R zE(qZ+$i83l8^`3~0?XycM}_AyuZ3~v62z=ZxYsf#Ur?agN0qf&`qOBa@1UcDgfeG^ zvY4}IO;x>itn)jbPS(So9uSSUNWL>-V%6s~7bBx7tfz1+F@fC3?EOl%(+Z;{KCuRj zixDR+j2%ba3zd^WDgKke&<1Jc2Ibm3W&A9wY)mv2_}A9ptNLlAhkA(LmJo+g8}^?? z*Gva9VFoiHr?k37Qs4bn$Mj%`u*qH2uI1PPLU@ckk4C$XTXK&pp(8hV+AJ?>hone{ zMmI9J4Y=i`l$uF;$+T|Qt~&Oe?TEPOHwsiQXs|2_9XCFm+TDI^K4o4cIzH$W%x&Nx z&GpXw-nm;R)|b+k;rHF-T^+V;_{ek~HiMkHQui9R0uGqrSAz@NwygTh)ETNuG=-6k z<%8LZugJhG z4`CtFUMZ5$U?R$}I-J;ICQ4_WQw-ly)D=!I-bsYsA4}L9>)A~-qs(R00N)KXY?2Ju zDd>$J8OZ+bwG#5%QD*l_3C)^2icu$mk-%WHcDu@9k-o-spx5|fKC6sHS5<(I^_nnz zolsYRuee@fV?{C}b7P52dWo#KJ`vI1nd)>$9%*-LX-Mg_KugHdQ1sl}ZMLcqD{Cxf z8f>WsN{k>}E{$4J=ya|{#H$ytdk3exu(EFl`pZM{!JW8awPfd~vRa&P z>zS-C`Vx=rgHvknC>Y|%8M+==!u~(<-ZCtXCR!I|upq%LxVyW%4(g1ftfV8I;%1W3Y}eEaNk?zf+3-#_=?-92wjz0*^*s%v%6s_HdW)m0IX zgQdk1EgraIO7fI%d(`*ZFjrLzD@m&{W-gK^_68^SxHlS}W4&t%=wm28Cc>M5LkWft zN)#GC;JLAfUk_vZbE2C%rua3Sd{v_O7zJ+<5}H0V-7{o#S&G@K9l}1ms}$$P&YSB; z2+y9}H|cWS*xr$zIoU%p09|bGK)}C4P|%x*>4`houHy+ac#wnuv;Q`UaH{p)494!!J|9>kDUg&kgjk1AikI!qmy zpzb=*{xl%zU14}MSnODpycR<4Mt@TulkJz=@%4<-zX#qlVQ`iBz{FYT5fSMdMKJ%) z4w|dGGsjqu@0&mj@V4|L`U0=tF0bE>1JN#T+)rMW>nu8#=>RkGmACBnX{YnCtHtY) zvDOmd@5`+HZP1bIg8?lHfR-IVOUBEGIc$Pnyn!~w>skT-YQdi??O&8ODEzaV+Z+cU z(?F*^wBI{PRll(vti&I!I1PDr0ahs-uUt&ppsUE%3| z?~#K})B$gxk@v2VcjkU4vFbP0gO#|W70{4p8(?({ni&r6G!gc+AMTV>?>w*lx(BmY zFXU=?7rI*gBQ!I{z$4J;ao6Y(nwebn8~edZ!qJNJkmnb`>TlN=Q5ZNP2rN+_91*nS z;P&fK%s}-J@}b=~)BPAD2fj!H7(gS8T_cRlecyMgVk`%Iu}6H4L-(HntAnmFJs611 zYACkkWOHKf!`}!90^tV|6t1ZSenkrYOl&twkou_+b*7PXrop?KDeQg~G4sx2q|hBk z=uM$Jl2AmUJG>CioFEFRxJP_H_Y5%Ou_Wb@CU8X1&I1}wW8G0;)qplRT1l{F*W5Fe z;8}t4x6lA7cL2Q8mx$)27$)k=uS3`qGe)gY6@{xRcL;7*TP^!gvxq&s*xp>OLYg?+ z*I`rAVdL^N^={l|B*ovF^14Q5910e;{B`gFw*y1IzKodUJAL(NUWQ?!p#z*)=KKOh zG09Z_5Z43lHx{|c40(eG+%}40cP^Jcc9%XzVs~=4nf$c*2uR%&8jVl{P1;a?cw%`s zVFO51Lz2T!GDib8gu6U}_a^8|lGGGv^VN->SO(q`&_)xuKCxsa&0^>H0kiy&(`SNFVWd z%t+Y431!a-qUO5Kt=s!QR2*KfiyAh}l3e#FMEo!*f&0Y10N9S{UcFpvWqdv8K%Tm6 za`x*Z;cOqs5Ho)*zkFBlBTR72?*enN-$Kr`DMcJ-FR0!?(Nt!0KpQO;{%EK-6R>`_T!Tt?{}1gR9UWYPrwR4n-+n_`gM zU3z0{hh&fy-NwV~Y$SIgA}17*SU172r7Y*|21@K7w4wkd245qY`lR%JUdSU#sHAkY zRUpZ#5^XVVwt@D3qtqdlMS_bo)A}NE_#ugt6y!2g`p3Yz^|l;sgcCLgA5~CHlQ@F z5m_Q*=!Zz8RZu9^NT%IFN|7upQ5u(sED166!zI!xDJG%2?;rB+C|*#tkA%Gz|SviIoZphZ@P1 zTSyC%Wi3kM3Xvr#hJJ*^N+rb^boU+P9?7x?rSTh)B^<_jkOW@^1+lX9iu9PMh~;+# z{_mYVzdZePR(Wq%d8_Ii_UavAS6ylC4(lD{6c=ikfK9yk1|P@p;TvTU*3HoxQzIN@ zDGYTWwJUrUAQ4OAMnVTI(8z|e)5wNTtQSqKmyW^33e$SOv=;@0lxYmz0g@|XNe{bT z8FJn%XF`Cn9tK%0rK+E#@!1lQ<4@9UW2$v>NIl=B^urt@!?R4_9WxJB6;CI?oVrs{raQAEFnz#)APLUHRO`c8o%7%72XMe(LKk$*@U zo$@?jiSSv0qx@rpwb?F{1R|L#T{}@XPZvm9O)7;}>zjK*X@JUa+WvjL|X;o;Nu{c#A5yFnBE7IRam}VBa zM3L%`jy}ZWo&G90&XmwlC8VyuUvH>o?49%FQlLG4lPYItE4kY*+I!XKk>@IJcMI*? z*7vQZZohc%w*Ttq{>X05v5y4gZ-45s(@$OqnE1<7tycS$q z4Q$!U=Bt<9n39SBf{{8e?^*l7cev+D7U*GegB774;6er0;NbR~IIrh9x?vvHu6=L3 zK7Szh=ke!CF~6~qk@FAGaD3!J*#aCSq+iKeTK}5*{^&=qCiYY^!5kY|&9rKR)Yj~@ zo47*Vz2GYw-z-R_w_$XnykRpyU#s>Vm`$&2r;^AH>SchmO5iFQGDMfKVh=Ciqf*vl z(k`SSeQ6HVU;gRbmDFO+mIkoFE+ER3Hm4RrhoNe)f?6sPTjjbT4`CIl zt-4DQ$2;`)= z2zr;|rT!KuOcP#8ich@|AE{v{Kb+BQVQ#eH%1Lb1%$9>f6~2 z=QO*Un{48)5sV<@f zQXjN)fPQo{rJ@7`3nr0DcI?Bc&3bzV8xF427jf-z?L?mzIl@lvy8@gRj~<`D0;qSQ ze4LaBjH3o*{+Q=wTKFnc3tfqNZaJ}a23$^4E%F4Eb+w(L^N_FOS_j(&{uDN|W%U-T z!+6F124>zBx~KgbQ`hzC1Q(N}edChrdzI%ud%xns8|ah~$gTIV-vD2?4V*IWzJp3s z(t#`%S6OK3bzy68-=27jcOseg__*K4#Uv*Ck+)WS*ygSKW zbT$cZ>%Eyy@OEbF1%<&#)vBbhK2K9M^?Aq_Kb}*r`uhn1cm)6q$gdx0Db;{dd0brL zUN{;@cAQxTO1(lnYLOxzRscfph6CdSXPt(7~qe z_M2V14z+m--=0;LVpVPYp^%VAR;UXhv8&45mi03BMJ+4N*LmV2zL=ee@v}H6_Oy~W zc;wWyHd?19R)flpP+fl-qB=sF)?hkzheCFRvo_C&Af2Q&BWYDL!3 zY7xV-!30-KOjO;horgiJc(XZ+-d~8&NwKWLR?QjYxl`KTk~0l{vQ6C$qT-TJX$#76 zdR2*2l1P4E*`f`Y|J;hG4yygNv9u!IX7A9F)Msy%@@a>XOSkr*T+YEKv1J3L$vCdj z_^!lpu+t#9YE$=$y?3I4My^TG6no<1pP_8BSpzE(ht!*2?DirKE%Vij2B%GYdESC; zTt>{JS`42iImZ?vSL~f9I_cvWa$-Df*;YQaG|`4)SDjlDrw}e)&#AUbW|PMmOir>} z(Qih&{kerUX|F3)t&+5>P?)M$b5~fk0v+sT2K13HKZI_O@ntNFI;tCHs+iuNj*rNd z$P%vO+fy%0ILjC`e*i5Tn3N(48BSK>v6kzt3n_@$+x<#Q?SmxsVW#$ZW%h{|VZU2g zST1X6-aP*<#XtyJ7t_JAv-|#dtQhiVY9qm$0r^zje)KUC>|whb(ULYZN-o$;v5`x{ zlj0I+9ky5shC({`Z5PkYmVpwD68+%krlw@-TVpRW2luMtew76uag29scHDweDLif*-E z{*D4{xt4eH98(@xl}7RAE2#DD)FI4gc2_+)40C^xD@y|?R*e=qv@nxkcfKf^4T`^gr6#(~gi&Hx|eCX}#e@^ga( z=F_MU3>zb%VNvu>BTL996_p8ER^v&7$%%B2msW7nmtWsE`Ipk&q>KXhR4`4=98Mn7 zxwJo-^@Ql978>Z#J+fmXB&yEiE-py&on&LSTUAAPG)(&LWprF^qiMhO_ zLQz`jFOoX(qO9bcwX`$VV-pI>)6?Rr#RAAH0GvQy3Q$R>8oa&BSizBf7R>6VWgb6 zOQ_^i3kC$r=(NFs8cFO~<@No}gn?nn$xo*G{p8I3|i#? z^^E^2@6%82u-h-Z(Hg=-9h5WEJ3L|-Lq6|v-t2c{9$C4V#7+jclOU#tx^`fuPwu!$ zv%OYE`ysl{(p)}t_(UkSbp(tE4}NrRzkhS-9sbg@>*LU_X1wzHE0ie$!|kW$29v6B zJ~6F*L~qw4*3hA(BU#M!Vgub!7R$;~!xLuqtoebB@1NPXct$Y&2#>(h4GA&Sb{T?- zs1;h=ufUxoQzReMb&2nfc7Mo&B%&$WBQcGKqSzV$9@!6^DzSvu$LkpX!F_9TE~0y9Ba-;-MKnj*eo zrA0MGYxJ=0$(ns+t#!lg3*RT@;S~u-G>t6#ngtn8gJhGp>dUBWcc{9lztCqs6_`6v zwx+4;Wb4Z6o)~oLDUqJ{#;59*(|3`XpXodH#Djv?5b-w))OO?|LE3a2*M7*qO_&0= zHGYT8u`84ajP)dkY=kUthfCgrkQ(RUGqcxNcuw?f!`H0YP+8~d!|oiy0&8=&nU5c% z?@%SbK=$}+pIaoq@KL>hP8*eG_pd^|m4wgBa*xZl4CtTXW`zguzKsQ7>*qOA>Lw5h)zQTU8{)@k|1%572*%3CU2l8FC6O^ zbiqwZz>a9txFiuc{Yip^=dhBLoA5fHGlm})9v}nW7c3!Fk2cyoF^Ln4vIRw~lBcq6+GZ}#K z5z2Ar?}I&Ppo;tiH?c;sx4pBs{W;+i+%U#Re#$Gl{;u&Gr;R%&DwAvM^^k5u_$&O; zu7e*rEoi`2zti07Wjh5iOu-YVP_brB1%|w^vK4+6Yg{xZN7f2cunDe;O5S`$%k2wP%h;Mj{wA9% z^_4MHc(|QAQrN=9=AAdX>(Sdwl6^Lc%aDF!v#+#6#$4@6v0WkU%!uA$uB({d(>ryX zmxy~#@4l*x;XOy#X$5*%dhUd6qxdXtqXZxdDYU#qNJ{s$v%YY2XreLJ2wg0wacsoR zJK=Vi*}1K40ma$Ryqk5o+PEB#=*dX_$U5{t3zLi6fo8H064Fu-B)%J}N-v8$bEWA#?9Ge}Ox|OEo}Trmd(O z_nMK}C8tqpN~dB>R$3n%5Tjr$+g(RxLa@g)Vl+&n$2qGrEUOdInowvW1j%>O0^f7P*%v;u zZNzVFSTB6Hz3dHFN`Hp2hk7Ns^d)=O-jK4#(oHQ7jn2geWczI6pKlJlw3=`0etX1w z2pE0||Lh!T`VO?#7B}TX+`%Ch7SOWayD{FolmLp9uk@qowWeA@pW2XY^t!GgCHx%D z>5yTGc31O(zQ#7p!+b?GsU_KzGWQqC)7zfhE)IPH;L31vCHWF&f+jzc>cUoBi$}6S z=aYxG4aXSP6cMF9wTJ^vsN`jTjVO%+M*bsNAVdSKF@;ClQRENSpvUSBuIb5WNw>T> z(Dx(H5UZei_%I;W>)SihTaRa&(i?cbsfM^P`(`1(znP@329D+oW>yFSIHRy8rO|)m zv(o<-e-P7}luAG1=P<_*J0cHj1m`NpIPa7@BYC%g{u}BH7cdRUF0wosg^YZ*hO&TS z9=qIA@pQ$0F&fbrr?RNrh|tKW(BVgS{`iiOrvtIz0Q!&Hz;og87u65jjNiP8UR3XT zx!0i0Z0>MxQ}-3gL+*aSQNxwURaZ~|!N+ac^RBTMwh!C1!;jnZy4Hlk?8(W_nfd-0 zBIaI#r}DJFs6F}gx?2K^wK|W;K3=n4pu~HG^^_XVUwzc$^i7qmKlSc*c-JFm?GvYV zkhMSA={eP+s@v$;*YlsyMqM9 zjT|i+K}n9;^qYt2TMuwu(zrj-R~n`5*LPdauY-$G3yr5*l-w?E38WN$kzKkZoVz3t zd^!5rj5%n;nZ!Ke46smb4SEG1Dv~UYjOWYmm1GEzf6QS=ckOiNhXYPv9)5~tz>vd{t11CvrRzSGh@-QM(3 zTbt12mJqRigCiLM5RL%IM}qfNZYU3hzB`*Ie7?e}Jd0fQ96A#M8;xe1Wqj9!J~O6G z@i9NDKy(`U@)f+bm~$*#q!lY>HD50D{I+=Z{g2FevC(69{D8V*c8=!|S<~ZVrPyA} z`E;RYl;ZmLKT_j+M~)rv18R$%IiAC1x4}lQZ~i^0*>g>OC=w3_=3DuH>lxzx$1^mX zyY6f>sXOA=cHz|}n%Xuxbm!Q1v>t!4mU-?ad?V6&@v${oK>=w9b&nC2tY3;^>L3z$ z^li188GesSLZJ_}8%9bB37~dOaQ%iNJ$cL6c>CGwk#c4}vHSb8kzajFV0D$(1?A|p z-;?{7Yi{vZ0X@ON;L*a*#UUGrI`OT7OnRF}spX(N6gy(gr;Wqv&#fPH3P8cpw!|7? z8~9aJpcw6j*5N9dO>CViP$jfKs#6BabZha{>1aKulG;SksRWf)Ewn1?I2hL2H`i(; zGzXNBIlR1Iwl}OkZLZb2-&m^FPc3I52*%oUXrZ#T@~gVBTGrGN=$ViBUXp58WV>XgP!?^ID>gF z*;@Oqs+DGAt+S1~YBUi4Qdw)Zz0xLYOYKGL#=MvOg?(4`L-Ur_%f@9jxE0y6;38OP z=|P>;&adQ~{fjQCgI|qmv#3V-MqU*+Xm+Wi_2^V;6V@|uq&Te&`*$jVm}z_oZ&FR9FO@flQaMRQh#SqQRLmsIzyBU z)vkhzpPdl!7MfUiK6agm7frl|1bl$9YnSr)a{m!7d8NiOYZ~48x6=d6BSz2&z>~S^iW$?d`@f9p6d-z8C`ik zy7K%So;UN^vTflBFm>hebLDv%o_F-wGH+=PG<9wEaczDYp11bda%%DLUl!0z3sPl| zSLIRd(oBb0JWyqhWUDTHsSdw?9RFNo@?Ha1w;uiM4MR-@o=n2>!VAX-!v0@0gv$8@ z%BG67TNGC>ET%8DX~FC#JspK^W#4BZ9LKux_tnAJ$8#AX9INd^MN1E$&@5Mlq7|i@t#Q6RVQO^ zKWmrWeii7cFrxNH5sXA_OSzc)_}I7P1em@YyR*l;e-W5rt!J-Eo2(}q#YlEF@^LjP z9lDuhh-aQWbErPpdgVtSoXt2od{JA`_xp16(a8(IzWwQe;$C4sdmCLYWS7L7Llbj6 zLEu?Uyh7na$<8ACd|&OpzsHh%`I@cgs8(RDt5|!Y@bA0&eBTc8+=XVZCeyid0^DbW z#g~JO-)`W*wEPb1FGhu?PQG76noRTN*x89(UPpl!@3@4+Jw`E>6T6&D3^~rf3e42v zG>7fP;dFbtHDbCs<>VOB>)|@qOV9Vom+uv8S^M12Bj+I-#J?Q%FG<`@OWa+-$%4Wy zo;0tYG-I`c`nQog_*E}!lheZ>-uvITgbEW>FZE$)Df4L*x}= v@?wkh7yuLcfPe z-VSKq4vdoocu0Bwp;jAs#40!}(Eo!_#*QHML{Nf}9l6d<^&_U_k(uWO59K#XG2rn_ zoD6;@X^aHbUzEsb0(3uM5!=anQ>%P0Oo+;MUnom8=PonH)N1(d+wffoZ)c3jx*xyT zt~4W-D1hgY+)WdXl@pG&1C{4ZD`9-90-4rsAluli)Yuo-TjyLCe5s!!$lF3;`bc5? zs=KvXG$`NR;{6CLv1$DtD28p_D9oGiW2#&fRbf`@(K}YQXo*J8SDuZam9Rez`j@{x z5=WtSP$rwow8z|(dztuxdvU_ap9qbUiK$T7)H;b$=E{Of7}PA3&(LU586o2n0+Xm{ ze)JSm^hz&POTFy{v*yc&&EuE1y;gLSTzzeCuUV5hGy&!%utN$6k%=e}XMHA9R}c#| zc#>h4OR7B9UcL@ODjHXTM2 z01MTi0s;~Q1>)GlzV0j4ng^++w>(4sOUWQ04n{thMzkQuPW(REC>kRl9=}Y6b}_nvw5u4ng{{WSP~ zZY|ZC3HeI_>-fp$s1%#9W33ARQTzX>n?mbwx+5y(rqoy~W+N;3FNG$_!Zie}>q@lh z!2VPF|6RAn+FnaTH_H_8%(II$g4cI0jvf8uV|~g6?QH<;GgE8bM%3V#>c1 z(0D;N>?P4k3IY8W)poJ3dr7tCLO}GEo5+7DDdd8K(F>-LG{`aH->Mb%ANRs+Bn3OZ zq1==l`%8ly%Yh9zkPCQA;s2uA6Q$N<$OVn1F!H*p6qGK1>wL9_TyQaZ0UC{i9Mk_T zxvS{U>|7VpCfh)3%;yU#$G?=rzDp&3D+t7Iw#iCa0xJXk2|`aaB_745)3(N@%9s~U z;}+PFpYkt-Yt%?K$A!efHfsF)T*w8C%OS5bP!iKx7K0sA{y7Xgk*h0C#s`>2(ICeJ z=y6=@ATxd4XBd-WXm>?%%8i7CkcAXS>>LC8DZi)}&R+dV=JfELwtNWThxP3z2J|fa z4SqPTa4Wij;zOnyyBU;U=%g2Z{{+ENyUZ8@Wr1<-vF>ubi~ zxJb@;@HxJ1#1!jUPYT2Abd}QWt-QA5i3(AuNO;>U#x?gm*1al!D0-nqR2GN>6z^NY z;J8=Hc%~)N4&teRu~P?_pU%Q)iT5w5aopo5|AtR~82`;|flS1a_!dSP4rVb3Y$uV0 zR0%^r0I=&V4%u!ignIC7Yj7V#mE{bf=4ESA_ZH3A(b1?Oi&Au290tttksV~ zOJ?2xb1{;H$Z0&qkjjcFamF$Gc;GqEfEnR5|MvihCSVpZ`*~zI(6E%H;TNGv9H|Hq zGr|F7ACMP6%Y>pp5b-F`m?V@33C)P;GQyF|K7`n1m@SBPi1X>jVd0D;_3^-R#3^LR zi4YaCfM32I+EDs$Bt>_S7RC%JD08OT;|gNWb?MrhP6urZh<$Sh1Y2KA9# z^7+&H#hhd3-cj?6EVP{+V=Q=k?psHXN^bl`X>)?odMT{3Fy0PF0W1mmKB4ljeekHj zE~l#8r~o19zF8N?2dYe%3_6%HWaLF~Gjjp#S2ksZE?B0YAOgDMXb#CX)aRdsvoppN(Ho5N1C&}dh=yZ+&ezmes`Rhn#CPk zhax3~h^cQ$9dPK##B1{{tj^E;a36VW9tToPugO#aqa}%uQA}S@*Q*?! z7nE>THtnb!TIoQfY`nOz#LGIZt{tSc+RP)Z(f_*NY1e43oQx+;zV+MNA~=szix)0W zXDY}Bk6Uv}I|w7Y0*0JV1F*t`XNEOv$sss{iOvlkoccYX63hTP0XA`yzlSHI;5N0I|r6yn@H*E2vubd6?w*G*3+HEea|6lr9M1)sg3}JFm3(8V; z0Ze_kT7bhpC!wqu&trCat?t%*hkdskZ_*+J?R+wl|0dw%rmuz7zBVO0JZ`xlVf-q1 zeShDbS>prg`wPb4J3{{e(FAhYnN3quac)r`I)B;UEWgjrj;y~NNqspw`E8Q%+XU&i zNy($1-Gd+F55LTBSE=h)sdHC4JUf4yG#*i{M-hT-C8cB#-tTL-v;R@YhwYwEr&>dP zAE}r;0P7RjBavr%wpiNJ*knuRiN#VLVvVhzL8r<080vRne2(@_ai{zG~4{>aS=3ng!@f|HOwWS5vF%}Ys)yOFYO~ICl zn+~&1E8zwFw^3K>wM<7^r#RZ?GIth^)Ly*7rr9T-(7dwh z`&I8+nhQ%{YrL8Ig0DA-kk(%nX5+-lUb^I*zGe7)gmb$?{C*gh0t-EZ&@1vV?v?GA zu;mfj*i3Y06dok^FBp-vgMbCFQ!^8xmh$AwzqzS}tF7sD`?cFp$~txIn@21JCS3t(DgM z%Fe54_5jPr)i_U&t*H^AcJC&1r?)jqFRz}?+4lsym7Zpzn67*oFjSbuVJ>d;3@zOktWN$Yqt zx0WW!I9^JgD!vXMlY1XNN7+~hY&0`% zb7{38EVMyETk5PdfsJSOTmci4iSl`(jjQ68RrA2GWTH(W73!1ThIKx0%2sFvl!1cm z3^!(7SA5x+GGU+$Oj>cdrt>G?Yi+ z?5tE!wh2?85*<^YLnY~}L*X@sT+vDb;dL~j%W~{IiLyB1@=si1uPC>UU%`(@iIXd!-mP}fvOL23G`|9t zMT@P;(-xs6L#6@I&uDA>+^rbVF66koz1rZHg=H~3GoS{*hbebzmRAHyzwA*34%t@Pqt;Jm?c+Gs4H$4rqD9= z{m=m5Lz}2na%=U2h>{5mU@CbMlQ@k|AW|zpo-T!7iNk2l z)F)r99h41Z>QgL*W!c5qE$a0%u>CSP%`^M)#cH@FZ{1WUDl_mlii zl^#+cqO_K3$m?2Ce<_0Hta7wX&^aN6AKkwV0JmwQ4fvdp(ob$I59=RF;pe0&^2Tx& zu4>^#(6tIq(yoW&H2N*N?cNg?wApIPH(ob^C1hbI< z{Fg$LWZ|*{)|Dh4H2-a_(t9o0k=K=^9+DtEH2+YEhl!Gp2xBIIM!kP`L3?g#{ba{X zup0Hi=XjJ*YVW)y&NXI|jav^`caV56_&<_&NL`q&KYhK+g6XD%sYmW}fK~Ui41~L% z`F^AN6Y1mqR@BagZy;V&T+9V;0CFpGuVL>I;ML)-vF~X;3cV!x?fKy~ zLgzv^;3$_ce-u4Pz2kiwP!WJB87CobFaEXwy^rFQ;%y;%KgTIYY(ab}<2j5Z7`e0X>6G_AF`zl^b@^I5oMZB+n^<>dvb9dG zctL{Z9Bfi>rk4LZOWjp&&@jIIldJbvEN`Rs{h5q?6L+33^SgG-^jiwG`8Y}!hwYnv zv?m0eU|N~C7;Uz939)$YP@o%mA8^WdLp`vQtL~l&b+W%q&h-%?)GX=D+TAP?od+Ut z6tiUqBD*i1g-P|F&4U}vgQuer1|A7eQmMiy35c2TC&S;KLt?@XBq~xEn$Njm{P|d4 zz*p>eOjan&X~fKFn>Fv*{6B@MS6b@*YO-cI;ZOT9S$00k_-c?$@iPpe8m#C^H{kv% zN~JeCX)e~Iz&@9oI5s!|kZ(pMeq!2Eh?`eX89DETB(5Umv`Ce*p?-Jbw&>}9?>zdR z9g`O+b;LQeVcg8I(ZUfsGAm4RvaNs3o}+bxvlT@KBvmTv5c}#u6ibR|5ph0rI)roP zP!8WA4Remm#18-6qDTMD79pYU&v=*9-t+mGSVfz)6L%Tun@F<2m-TF!>%;rA>;&v1 z=cH{^liok7v(wo-2WJU5{a5rj`H0*8zn(A7V$|wFH^~ETZ%nvu7z4Xby0~=DhL)Q# z{&>Cg{}Bneh8r=1YwY*hHJf#*Ltk8i9Uw79No5mz3qIzzD{>005T=gLS3(E1eKu0B z_~HMasKcGsvM+4NeORObBC*JH>Gp{q6+}$ijMoFNjn>dBv1Lcj^lw{v1Y( zsg4*nq0YA(j@JGm`xp(Cf?CRor)!>=duQaln4fMg7Bw}BMfR%vWb#KzzW`%bmh$fM zcT>0TK!A&4g|Z>VBGh`jjOYE4OFy?EuOqa;deJsa$k>I>h2e)9}!^3 zWJO9HKIf7{8>!e@1Ztb30>i01xcn{IdHV4F1m64LM*4F0IUV~E96O|GbH`zgE3 znA>)hi|$z(`CArD6Pq?)<0rUH9vFTQ+h8{AOq%-oj1(F7j@R3EQsQ<}fR$dwxfS42 z&#pZH&Pg2ZvKHRSR6-DwDPlH^`n_pc!yclpkyjwe{?kq3k2*|(ig@ru0}*}Ui+9%L zP=Rpbd@j`%xfMYU4&WeFU69trwTE**?FUN!uf=?|FHfw|JWowOa-XJbZ&|1bUz0sO z>3+DdX|s`a75&c1d=`9_`~B8x-&*DHCgF$V7oJ1cOwNSua_4~NZKV&edQ!BMQ6F@D z&0e0AI`bWh^Uq=fd(*`2jZx3}r4Al8FT*`<^F8Rt<(K)A-ek>>n_2-?#JB6jAZzwaQ-pUaPU7Kxp;csPJAoU=d4`Qlc| zo_=$X6<~6D$0b(3o-QBY6U#n(zF4VdJFjGh)N5Hs^Pdq`C`Mc!xTeDPm8vhWvcs!w@VBs8sD*OLpdimjhI zXD;t`8_|PKgj6?0*stbzVXCZ8y3s)-=_Pl_loRKD){;9iF3oEs@&Ga? zIZbS#M0-U|R?5mlg{oS5&EGjuOX~4N$nt2T8pRxmLj1UXmt*O)k5GZsb8P2vw=;GVrokd4s;PlbVJBrxoiYI+edjxUaMVLF>(93xv z%|O}2Yd)ftpm~*GN_rFZZqOv?88(*P?4hTmH$C>ss&Drti6n*1{yb@@I3`9u-BY=1 ziW6^eF>KehVfUiUV+*^}DZb7Si5+e}4pa4PkwF0%f}KPmkF8CMJOO0mlJsRzNchfj zx~rO&_ha1LB(#i5h5#AZiRQW$UZaIIp%5kz44G&+F7@ca?lg(7)4PBFqY46M1iqKT zK2#W}qWKV}{X+vH24s3}*ZxsiMkPfMrO+AYvLy%2-JmQhbMXF$R%alxvAFzdy)VnN zjshaXco5h!h?-EHmQY<`m;!+?rNkVfG+bcM6n;!4o#YhJ?i5j@#c7!tO_^%JseBSn z>oG{O_4%~noh~I|Aq_Ql5>~vWOsb^}C0;SErFK%Z1{+>+Rpq3%0^lj?AW z71M}z{IEbNar#`GyT^XjsJT&?Wk`~;f&!gD60%Mba+tQVCIkp%qU+FBt|~K+X5*qg z@rpk4nh?U%`lXa802vhz;p%Br(dx8A-r|wx2dVIbeox4i^GFL?(~xkJjK=bg#{TAh zioI4=J+WrossTHt6=%1UWw(@Pw-ja#4V!(m;xs!ez-$xqvO4wq z8mYn)*tGgd5EfS&r79XFCK^sf>}1H0KvD)1P&v#pGl@k>Ax$vJN+-!maGU^a8J1L| z;MBxC0$QPU`uKA^RX%MG?~-iaPYqL-ai9wRL#p)qX&JM_&rE-0Ae-YCFT#?B#kLNN zJn1FYLS7DbOs=6vxraXW2aPli@adbEjq86n(6`AIgwJpTjJZxcFEj18#)>00cXU54 z=zl6Y;_FZWY!yrqV;`cikrJ-}w#?w3l|nuPvG{0_vcInJg`GskId72ML|m{f@><4d zf`D%A!^YCB+Vzx%w+={g%Y3x!X;U`Y*|U5E)fYCy_Sp%`tvtHIDL(Q8-GjsSqe8mE z(G44=NL|=qV<*Qhl!lF#sO3wGnm=+C4-CtBG`fC9H4nIf;!Te-!yvbf_glZ{FapB9 zme-yuA$HHAea!z9Rw5}>5JRGXFSrxpVMba4H%vjQ36@44pj33L z8-$)eMqfTgZ(gNbdS^9|e-JBv$!(bWxw^OHr`mH=^JsMb7~;#`F2;5em`?aI&)>k@ zxt~g7r)RWKSF=4-cMc7X-*9kJ*eDB?Ts)8+I>DmG1L2oh3&u*vb%LD^4xJ8uoeshA zIUW4CmvU~0-&|}iYd9K`a0D zegg)&!Tx=NZn)4O?d;@X<>bMx<>BLKAf_2lMZHl)&($hp+H3FwST&Fl7Ht z9(N08H>c!?u*Vk04yjl)>;&gG8RlM~| zq%gXy=TmqSw``ZS#wx*NikNoNjM%;qie@mG<1rudfgJR*WN5NLF3Nwm%H`x3MJ^1T?^G0-MH@ZUk^sbkCSS zBFseKZwRhAP-QW*&h|2-x>cOyKy0(;?O#2SlUyt)g-_Www}#ya+><@zjidD5$GX1! z8b000lzOV&Ell)3xgD$9(%_FoceN}s7VxB>y2M_Q3~uAzMSbrg;OYZvycK=gmuG=P z9eC8-sf2;lN=!}UPKk^R3o~AedhS#lSl)?tbjxJU7TK;c2#s>nztAuwmi0X%27zHu z%EOuAbTqoDYP9GZBiz#{DnoI9{_*`BaG8$1>CLse2qL6Vc;-NGS`Fswo)R8jEV4w` zm|FCd*?p2~cuxem?oJ*j8CMiBMMUu@NBD+?`91Ff0oibi{&{=)fkgB$Rm7yAZ@U`q zXQvih%=yl`JGD+CtBz8tQYm1b&Np06F|}}DZ0B0Nkfk$%-Ker%j7m?)y+M-*VjQ3w z3h6X!TD~F?HE)?r$murf&W61z${?=@HIKortC{Ppk-*f_L3$-;PH|y4bk^K){xyk$ zoYaYm`&y3IoDX~D|K}Mg>5wI-5|_=m2G__&P>M@ef`s&~xp_2Bg|}ZH`vS!}D{eb~ zDH@f+K=wg7HSV4I_kQ8@1G^hgnMMsxg^@g(Wyv)5P2p zj{LcMs^K(8bog#ep<#`V*7k#!;TL6}#HS!9spbUQp8Axx!7~X1wz$ZNojH9*66Fv0eB(%{92mkS_cwftrWAI~NM#;f z9mA_=f=Ux7X64V;lupma6Tc0cP=p!M;&E7eGY`*sBNc`6 z35oA0j<9&tu}69M!bL62Nc?2m!{F{zcjRQR2}GiLP)s5!H%^Q}2DyR6S^aNH?sbYY z-<~HH`j*_&za+K%sSsFQ>u&sG7BlfI*j-Z7QD$XT%Uf%v7Hld5i!1PSlIw|Z_*J`l z7CEWWSW8gcF|ed&{g87{{|j$Ia_GYI4MI~78z`J9>~wu&m|nY}{vNm&b&@;{Fwdeo zYk76QYtGhRw>Bhg68<6S*PyOHE24$!nJ|m3hOyo9^R&OGuiNc~;q=UF7XR~c=lIwc z`GBh;VI^MJHpBF&y7Maww>fIRFq%DZU2B#aac;5d9&%JYlQlP|srBW1eQK%F4)VLG zmkPN*fh=ZHv36(Qok66lt%xGiI2&TX3(3$Yds3B!=VU=OQrpI~{Wn6Tg?6>Udji-T z#UJ9Wd8Y%s4_nd$c+0!8266FurNo_076w?F#h(lsllN!htw4s|QDL{CM@q}b^?GfB z)}ZvB9{X3cf7`_t&;Wfu)E<%oU|^{K-|V87os~D|KgLmZlF~6022*a=`*n*h!w!;~ zil?%o!=j^d@co~S1{*rkDpBEoM@x-0z^#`dC581yi`knb$D}R+ciMnokGhOqhF7U> z-S?^d-=223|IFNN`QJ=qWF``aX%MAq5Xa3E<<1j_auOwT62~+UWsb>GDr!U-@D$3WstFC36eMGzsZL-pHyW>Zrd_nL{+5dm}AE zi%}nOG|0GoV)Zr<@c%&r|2$j8{eQ9s{#lChf3ybvnWX$bS_A(K#{D0yfq(qj|9{hf zo1aYvSPllJ8x;Wt`~T4v{Aa(|&ibNf%WHG2k?v!CdE~>_^CsO*85zs}#ob#*#T7Jb zqrnpbA-Dz)?jAhA;O;JiOK^9Wfx+F~-CaWP;O_43!M{n~bJjZFz5mX-zwTNy-MhQ$ zsjli>-M#lr%a$pJREIXh{P@zY&RMKn2LE)K8oj1JeP*t>O>8OmS($gJTbP@FXKLCt z)irq?T0Xg8EX?xLbHO_@BSMd7Z6wbH5GTdS>W( z-Xc+xUL(ytJRBX-=;>k%aDj47i_X-x80@A`Zj2t?-&PBf)_2mbZ=a{q^9l703 z0^-_wizuh-u4lOg_)s%Vs4(aiE77#@3yBM|lHjaJKbUga7d*xu4(q=+A?NWDtetoO+BqqC_ zWzX_r(6U%rHNLugE?}{n7k9X>w*26x%YC?e+vf>KbZy+3`Q!TIAH&X$z_du$H{3OC z#>VTi**+^M#(6E*Hr*F3U2Wu7`&-Yu=V^hL{kXnoUOnrpkFK|fov-uzK0a`J0NA(n zx5utc`?i<*2LZ~sk>e<${gEglll_PA>)CuWu0@}rp&tWQ^K}K&W%ry-mwS)p@^!O# zuZo>_0xzcO`$T&q&p%f;cdgtmw|36UcCUpd=l8D{p({Bb!nYo52>%#8o_cmHc4qwD zpV<_9H?aln~*+#AGG--U@2jUG|1+;1}TX3}VG{KXL`=cCPOP+B)$vTXU0%QDD zl}$yw8J-Wl7QHV$76C^oZ}S#Tx6Td8Sw8$P#*NKm_xp*Tl4Nj9+qT=2XU?MKv->?ZXjo`?){K*=bZI?Z8#T2$e5VeN zeNC^|_^i&6D*lSXxUJivn}G+GtO_}S-&kp$+>2d2Dc*cqS)$WJ^L=SeWuxuQLTni; zo%|`UEbG758Ly^Km-y~R+v3b8QHqlL1gD42Mu!{~TVg_7obKG*UY*(Xtg~LnK$g$d z?SpS#J~^w$TNiTs`}4<6oxJ1sSqY!grPs?D_K5Z#0FyyyAN0r-FqRMVAA5#wiXeXD z`AusjlPg0RB}2MPXT0(%i{Eo$N9$f?w~112<_FFq!k3Uy?z26`)7G)VincNNSn`-g z7|Pk6%j?DC<(OTQQxu}BYx>`eo$hxOAfK1LYkOyQ0iTw1dR3x(o6Hu|muKh3#qRuS zz?oLl!xD1e`&?}E%PzkI0Mg{gWAAi>R=$zZ+rFliH}2P4t7D4Ttn2mb+ovqGva;2u zB=+@#*P~97m%kM}z5D!p>(h5|ym*y+rcr(;cKsqC^5>YbtnXIk)!yyWxzW@49AA&T z#H}(9MZ`!>^J~sI$mZId`5mD&FIL@x@aOP6W9^(}!8lHqAYJ)B3YDh}Z3o{IIjV z-};qO4+5>qHur@K4dt1lupJF}Izz4Nj5pOefkjWpRx0&)CrUCZfkyA*-iMxMJSJu& z*9Ke)krWOEXU zuEU$Iuh*S>ckduQh=9#iR^o&1Ekxnfp}vND;Wpkum$gTg&Xr6|^zV~FRoD*?&U^yv zAGcHy`{Gm11==6V*`hi%br_q9oH@b&)MvaZ>ySLrTk{-Uez<#P=_=NJogVFZaT-^h z9|^y&+qL02lq)@Vxm(H-5dw+ov znQ@Z4tT-=o=5o3t>m3)XOnL8EjI%j1S~P27+CCqIV5hqfyv#{Coi)}}w|+gn&y{ha zmx-bK@MC1PU8OO{Wuwm$UmzLvcwd*UL#hDxA#-z0E@!=RZvUaLQf>7|()u~3lf(6v zp8;+8TGgLpl#vH#eyw=$a#Y>@gAl)i3&>;RbocZkYX!e3ZHV)F)VYBHxSY1BQO}j~ z+OD}%v_3Z0RCc?6nD6Ss;&t82DbRc_@U-+{;DtM-bFsrssokwj*Gqf6Qg#tH@5ORo z@?`1Meb-sAGvmiNqnsYSN!sZ1^TX)<`qQ5=!t~wcQ_qK*a`j!qu|^#q8jRwG9db`~4X14Rm7|3Yu3hB(=8c*^Xv#?p?%H-TOu;&pMg zMb)inYMZd=pr5h!X4mpri~6Z_51u6(L;0ph&nOwPLg)Ra&TK@KhHRr<&FFRF_}s&% z+CIgHbTy$tue~)t5(OC$d2X&3EwRN`c_0JJ<+Zzar(gKP-gJ5LRj2#j&q33tmilC} zS1%8gI_ggu(&rGn-&?OAjL$jO9uKVUyn1xDr0lxP9V>ONjfDq1ab_8OYa8xzzq7bA zzdhw%=cj#M!Oe{=wfG$FrC-JDu9_1ZP*vD)m8 z2#*lz~C6z9+MR4uV{(ogeqEbd1=_e^@=*PCq?H+WpG>|fqaI6!pI5B6!LO$yG8 z6bW`rEx2FemM;}Ue6gIL4(T~}M+@HJI6cGw1agrnb4snuO|FBHK7IMKC1|TyG zbUPwR{|oRD3Kfd{sQHkjGfL-wIH&%-UeC{h6%nh( zvmK#}fM9@Y^6GO^HUq;iJ-xT>W3jED3lwIqS%m7(`DdYR?Kv~8jNz*`be$vensJ!- zB7WJEu>Q_Sun73S!G8Lbe)`i)(Ma;}R=#zS(1I?a)X#a$kH=(>9`(HlM9BQMtgr6l zfJ5>>+aW#coX5vytq134=>tCnpnrb`&3-Tl@_|gAWI|)9`1k^1s1P;AhOl&vHvP!$ z=o%gOfpIxJO7Ka`dTZo)H0y2}Ir4dJA|3vL_JpbTlr-{imqi!`9Y+}jy+2YJAQ;JR zuu=33Y;?8zw%$r4BYnWI%tF;pc~Q4(m7x~YvG^sHyu)TzWCk$JIGh?nb*xNwJnHQI zy8OLXwk`3t?AFTR!}_>@t}2}OS>y;bW2)$k^iJD(N4ih@bM8u(QpN`4nXJp_)rPo} z&;LT^j{K)fk{9A;*AV00J-AKtc|r79t&h`31IjiVQ9q7S;hoE(HRi_Z(NRoIm(Hy8 z(YdNxj5&qt{f~{#J1L>6FE@mm9@lJhYmU~ZJ`9BIbjP=qw6F%}OKdR>mLGgtQuVay zt_DPOKJLCXm6j8Ec|>f2L&BacymRo@7FxWz(krkZ_Dg>;?yrwG)(&=M>9s1Qg3te^ zE|O-8JQsf#cBNL0V?ShIzWsbML~=-g@u75?M<}&hYe6_iIx(DX9jBz?Ik`i}A8(Lp$dGh)uVQz71iSES_{a-L8Yo1CG$66Hy7br+nEPnu0u)(_Lj zp^lL;bI6ht)b25o_NOl-+7l84h)|9mtGCaH97$yqF3Uho?^HLH>jh4=j&yo{M=zO* zs;ZVfEd-z5(^dXTSq)QYcel<~=Os84iO4wuz|x`)f6wUGjMbIXcx9;A8TE;#@L3Cb zSvq#j8Td1I#9yV$)u$gwt3G9nQeI%UIY(v=cO4=IO~aT!^ob!y6xP%tkUBg{b&g|) z!(;OXra#wH6^99X#^r{knp&{0k0;dyoK=`z?rI%RV7iIl@S)1hvy%43# zzvxRjOk3AH=7l_*?JcJ|9(0<^Bsp_d+H_vnBCm4BJJkbnI?fEtnWky1>(=9pH z=gzIA16D1qm4fkYEi8(Bzvw-Nu`dC5=%H!oK|#mV?42p#*K5?r}529JB6?E zw{;E6lN_cAo>Q`UCxOXpy)#3PGhf;>{o6BSTuO?#^Okl-Gbk*MWa=83SF78-PI{^$ zGE095T9qt?T9DaEXzpSd3t!d4jw?8`8NrtO%w%tb<}s7Z{KfJ2!HqW(-az)`arUH$ zKHb9ma=5hbR;?8mPH}}WZ8n5zu2DHVNy0;#Z#z}@+UZydJFD=4ZNGY|Ap5!9Wn~J4 z%s!Ip^?Jfwm&ujgIybKTH0~VRe7L?^guM55?aIDm93S7uez51!I)P3y<8JXOUXU9r zpn6@l(6J&(%1ZQHO-fUu+?E*%_tIE7K6^ahQ+uG6TgeQ&)}gcKVSP!qae0zT_;r4= zHM-e>+_4(()S^@6Ty!FkvZ7OV;5!8me)^OWPqYva!e~7rg!Cal`oSv=2a1#!iY0qr z2ZY50Fa1tQaQrEOlvu6nOQ;|3xmv9tvpjS>wA)%00TdY%6l?YV%Pwn@K#SP!|rBGW76-;zENeN;L>e>M+_# zOTP1YE`J;niqMw#9POQIAMKFrpzRQA_Fqy(qKV02KL~HRbx~l&;>5znVxajvHPoDX zv!*d_w%uCXdN3@VvH4?=d=59crDPWVC zvd=duD6p99Hk_f8^L+^i(%bN5$!rfplF{^sA0`l|e9+&c!t?QHuE~1Ye(qIutfdAyYu$?~pQMR&B4lG|WK+R|Rx*37 z>nMHt8ruvUSMZ=oph#dI2z}8si6i`0D#wzcgYbR5>7$SbKv?xuP~U(v_wV8f*pHeO z#3H$!|0cMgfv~^5cOlJw1^`&3S0s?>kgF-DaS7Q}@z zM%wXsCz%2_49up38rEh=+voeO082n(E7FY$^F&B%Z{(MU!zJmPhp}+49y7W7k(3Fo z8Hjh{Q9fwq#|+;Oi=(t*YuJ}mJtk1GkN*uSh#HzA=}MyeS9j+?gfvz%P+!uQ8t#tI z#3)JWIMyP(Toe9ZLj9PFIOg6yq!Ve#bzQOgkoE>s#+0R@g z8-af@-)g$Uv^JyPQBqeAFdJ%V<1?&cnba1=igr^&7r~~pKz5g)F2dph`zbYve1)J% zcj=(VK68<6L_pBu-|D(GkkY?)r)a_LxS^y`L8Fr-hjxn~_1}lih+s)$1cae6DIoq$ zWosb^=|^`H2VC-zvYYkjBf+CHCHr4;k*=;X0rUsyxyYD)>3c@uAZsvT1mwUX75qzx z>ErZNYfTUQOK33>1Z=`075z(Q6tX>k2qRL-q2q{?1G~wQ`nUD#YZ_l1b=0hWsbI5)X?@Q0l~80N3~Bz`nwY5l zB|bwBUI$yoH{Gbhhfw8%jO1g6qK$B`sQbQ?jcf_TOVOByR+2#qO))^fuQWtj>Z zpJXAlTNG&yLKCgz)j;Bq>=va~Uk{KEuXKd<2SA7aBjv({GpkE?0}=o7DZ(adJAHzd z`bUX{lVVnv>{dj)llp$Jnl>u4yrrhl$!f2%p-X>-QnWtlsMu~BB)z{6IKAI*e%c>S z!3vSJ2Gy?Ci{>qADS=xcU4QAOfby%?A}v0^;LQ*_T3NxpPH{ z6coj0%*Z8a!tgT4B`78G;>ZulOHOjlaM-yeVr64RDJ7;PrVhv@xF!AvgSlfYc?LOH zHa0&le^MgRF_xWsC|0&slu~0#LUnX*%dz7BnLBqtF2y~BmtiD9sgV~)cSvsOI3><) z&cZ*9xtOlR#p=%t0_TQAxc@1AE%1B7@7nA&t+bm>Xby;qy+6@{_H`1g5#8h zBTJ$q%iMtx-JwzWm^re%3>kY< zj+q>A+0=6OV&12T;dT5HhaDrsv?mOkaLfNWMuy58rF`H<{&PPDQ6Ng>9iJk}LCpIc zF&ZR3wC^|KLAhe25ric-$`mf~Cy~+Ea&P&*=WOwpY|zv9 znCI`9PXVMa0W_}&0Ok$_zHB{6EM`Qz|sEV&H^)ex!U~PL4QX4hSF|!!Lvx z6-??ENJD`PK>VPhjRzt}D_vm2Feg{OG^aw7C3 zgYqE&P7HHOrF>~eg{Dvp+>y`EmG2vh`3)#h{}$Uqg~=$!f?WXI6W_~KULgq6#wcn2hSox* zXy-s~uaLjBC%%&_-ZvUE2#5itk;R0QVseU+VgqQbBSjcM{~N$icoYOSODCXsSknGZ z0wTH{R-y?@N;fcH3;dN)Sg~>d?N+&oR7w|=uNC)|QFN+eI5vswaLyQ_+o7t--*E0< zsA~GZ)pqEgd9nY@BhUM5p15cXNS!Puf)ukxloTI80|bk3fRumXg;`;gs57H2QYqE| z$!itzfqmln5CAAfTr37OMH&-Hidg_4{Q{to3>V=BDaT`ld193Op+bA0QoK|kzk-yI zC%yv#h{X&-08ykdQKXne08%0V4L?YPAEfLF*<$Daj{x<5M%Vl^8u-uXzW*2v;0LLA zVuX8Ql>MQ?dZ1FhRG_<3DBsG10Mz@$Ab=WB6a)aoB!U3?AhqTB^jL>fstTHPQwrs|_3HU~@j5gXB_K@07%&i%wx1Ngk47~DzyaC787JH-zEW!U z(G_z0EopX2;M29qM;-b`T%5#ddzHw5!hZdB>eOHdN=)3lAt&d@(*agRm zF(9B0D#VR|#<-#_v3VBtp~@J?lFSgN_}g2}&N^VEP|c}0{tajUhN{egbSw(3447e5 zsxc9CXbR<|xEkcS>HwBnagiF3kx@*jqH{@c0ZnEsfDoj@`!$>wqs&zj%MDU#@pM=6 z5TrTP?pLF)DqxM6ARwmJFzLrWn#OnlmgM4>iutpe!S6MoI^&oCAg1XEDMBC3SR&w) zxIUVtBmg2vrJgYy1Eb7L4~v>gb+VIAQGS>KlfDG>%_PPTi0SZ~6sC`6FBt$2 zQu)msj)YN`Y>0&m(RzT6MZO#usbQ3@-bYY3C|L7900l};F}^^|hu@@7eKc1o0BDfP z4r@3pM%kb#)(0w`B+xT@*&j=+2TIk;dAcjP@~tY3oh4J(sRR7*W4wWwaMmLK2r-A0kZYqy2}pj5w<3h6FiRPu`Tvvb z|0;ARD*^<~N&034k&F63nU~uQ9u&a+tHJ9~F_kSDn!M;=rF>av5LZHB;}sw}kZ1pc zKpFpq;8OjA2>ye>5C4U*{0HLq4}$Rzk`IAEc6fy|R(@_krKZZ;ssgv0#zC^KDrIP{ z7H3YD^QV;D_9-wQtadumly~Z4Tx=AX2SnGpB>D*O-4G}-9jtcv(v^SL#JJcgPIiit z=R|<+*hxPcE7w<{YCv@G0uKt|VwzftU=0^@X_3{+i}o$z#RRj^jLn6z#VepzisnNg zw(O+H#>#*Q$~XNKwGLG%qQ9}9p|Kb}7G7yVutiOdrnNd60ZTSiy**6B zf;>H^^2blJv3c+?;2Sa-dN#$6;2EJj_&o58Jz2wwI6bH02w2L#7l#Q-8j3Yr+`16! z%W;K~gkzu}>@Pv~A2UKbv7d*a`vk*Q1nIvsNJJ}Ay$&Hu`sX8YLH94e?Iv3Eq{ix} z_~I_S)7nTi`PySom!%m?H{xY3nY)WoeD@6u+4-DYZLC{FHUt^#ZNwp%`lEWIav`s% z<(U|tI9M~WkzC5K=a+tL2bT;Y-8gY0uQKbyOsq%+9dTJ>o$C1v0k_Bx34g3zB`LJ} zT3z)9*a}U5J0~_xXO70|di%QA6RT0qcw^I^e*N9C@R7Z_Zfo_}74{m79vvd$-Hhd^JssqJ|FU%+N_WL zNUY+oFeN`O`qyznFM2(x3Jh}z>ez$N4$()Zhiv96)L+>ps*Q_^XUWSn!5JO4Z*BAT zQZMP5Uf-3_{6)?l%FC&vTmoB_SQ-kAP=1S%O7TsPV{1r!2kmz~m=eci6qlD1+l_Q` zz58TtBF;o}C`PKK7a@rln=k*OHeD~Q>^klkx}5}t1ZE)=s4c?bboN%TFLcJzgPGaA$RSqn`JO@E<>vUm*Bev zaYJ;!lQqYY9VZ=(%@~)FJMDLO9~cRu6S7s-j}4Rji8ak^Q1^@wYl+J&Eoe)};aO(B ze-U?|hn66+$R;f6Wsy%pHHvxdX=&NeIOo^L?HaM*4!aHg#+k$g`5b$}8Sw#qwUJr1 zx#(Z?9BTHs4N{LqaQ}=T8L`)kz&%?&{W5mF5HzNO2|}O|#{E`~Zi`E6_0}xm097;! zr>$CsQwv+0df17?)98J`g5;JRF;czb$HLGX@5I6YlWRIU7?o%SFi9SH6ty50s9@HXtL4<^3bCJwYbxZl(wgqZ#kE;Sdk-c3 zKBJZ|JA=_~HNGV_klK&-_WkJiu0$_Mldr3HrGyfexIqRjQp+!)o9Y+}Agjfd?e9W5r z{?^?elg~~L8%7bjV4fYj_&^p>9G6(EZJk^Tjb^)Nu$Y3fBm#aQEFfA3!J(nrCfN%PYiw>?JfAjHh=+$=}HTc9BC4`?zZ70#MWkzQv zoE`9g#Z%E{h27!0HC0*QC1H*;>qKs~Je8PhN8Yds_U>k-Hma;zuK8d#FD19Vwt46{ z_|?MWeKZ3KD&;vD-{8q0nx!|+E)+_VmQrNJ{mDt~TReSZ|1knGCKC+zW%ot0(~|0s z(qOr7yK^SetXZu}HPKLmsqwd4PiDlnTj{855!6yLIZI=?XL5m5a#||ObtrXR;Y>gQ zC%c;a?|4kUWNMFUFg0!7`rn_F|K13xCG56O;==-vQfSPU9kacDC$@ZQ|En2A<8O`{ z<2!vV6Qb$5o3XFUU&>lU(bG(pm)Jbk3%{^1{7^bC_XjskmNr)ygfHVY{$cLj)!qZzDPHb_&S40%e=g-JLheCx*X^8G}UM0jf!qb@p zyJIQf%OgtXjaKAwl?RforIW6EV>Qzf*lIK+w9*plA(2vAf^x^B*76$pxA3V(XWAc@ zO;a47G?r#aXkjiSRv3E0Q;igKKMa3PaX_NYxB?Y`)qIGCR#_r@jfDn!S>l(IL}Qg7 z%f{%Xb4ZGFziN$t&}+^0*Bal`EuVImo8Kkt(6#^%3BQG_SW4w327~{7v4X*5)>9$c zepiOpt6}uW_+s=(_-fs+3oYU(-WCk;*0sDkBQfY!eWnVA5gqiyRo1TJ=8 zA9zY08d(DM=A|C}KWg{vp|^XyAK~n>gp_nv#nU8xH?x}T4dnx;%lJ{~1?doKTpk|D z!Vxs9O{8{lNii;8G9&L&$uAsfl!j&V-dY#+$`fHbW~=TH84nTBjGCK8~4I`&i=I`jGhLk zVMNgJfuYGQ={CrLYm%oYVdZ=*v$NbC7s|ww>~i%y7uzD=$M)MN2E!!|7&VLhGtrTL zTGmgv-M`N!OGtG}3cZX~l#r6Y`ld(`IUgrk(n)@mczzckA6!vF;gvD+`PQJ|YqMf$ z9xP0Jj|}~=p#Z@Rup~ctrWi-(f*jW_{p#_QFzopXrDVLdHQ4lLN z%Ec-i76Hp7gyE&qpntJ0m4?&X!-{VY!_%ZiZ>U#=r$sk_4@8xh`PoGsFtj6i(`wPk zZZf=qUHEgAinp8>RAQ9QgTyPdIcHR$%tM1rXi-8sXzGRqWal2fh&{hScKu746!S97i}1?WlYPMD)M)F{rZNGAAM*<1SFy@*-U zM>|34@>K?R)tRBc@?#jNoR+v0w`(RW%DA{>wp5v_F$BMYh3V`uN*f?{A5htB2woYM zZ)p&W9H%Rmamh%f+^gIZvp%%Iv`T0T~bq*koueFyl>|BxUr+B+N$J&e|?~1 zIq$hJ!dpou=m&b)rkE17x}rnr;cE%aXG5K;QVlmH>T_)ei=`K(gxP{%P4=+VB2HuV z*0Y&04R)oH4?6qnN8$WwA{~hH?xD%&SnmPX)uZJNd%%7_d6EXsdcP|kDd;-t@i;ygm3?uKq~O!%-!PV#`5xTb$xe*IQM|yf+a00S9m^G zx4SoO5vSLlVKdG+-uN&pckI@=GS+xKdv%i~@WQO6Cr!y-lp(EGk+}ch{`3csi2V@q zz|xg0n?EgE=%e@JdeodP<3txSC$>^8>+057*ZUebv99d7%+zN7x@__BdimkOWRArsMQO?JzMJ*!4fUrshY+VmJkp70i zOy4qLI4RB_6sOBZS&V@cIwqVGn6`-KDDnt>e`^Bo8E{YFYH@g52bL(4AE%Rq8Ic4| zkH}hncsn@hCywhp%C`wZ*ZJcui!XOB@$X4-n!_CJ8nT#9y4yNOxE{sP?U>|=kOg83 z^}G3}08_dj$#9yZ9AoOcY>D7t?iG@rZ|$Bbvh^?c=isL1q-fbMD(8bnz1=H3$}o^- zhFb-f_7}Mc9HT`M8^W-n)J=Ahg}btY0=?=3C_berT&(?|yJXgO2>K6g)wfcu7%CX)lU4WpQC7tcd!qe}A0cKOG9J3D z&r8E|gR_EHjb+6|m2k>}M)W;KHFu(Kv$a8A3>Sa1xv`Z>J89{g?0SVrPIwPrCi4^! zd)D@MJj18^l*{mdFjk-r(%Jb|1Q(7lrb|kkcYJ)Kem3M3Sg$84ke|!*#JBTg66dsN zI99Y)x-{qfA?{@D64!$oX9A=XR2PlnXR6%y6myYIHI3tk2!K`xrmOcPFT6MgNCKAx zt0sjxgJihgXKn=2LZ&RwDjR_Bu;Tt!MKh82*y2hgeLE0C6=(YMgXIS4hCG`@hpK0*?^wk(>doe z8Snw#`NAlT)3$|2o9DQR@O4&<_^+7;n>ZzOzN@VPex`MsN!n5YP&u_ZVoT;sJvxQq z^)Epty&7ui$X;D%Y{_iVRu@w30bz^~hE*us;vTWp9;VX83Fe{xJ+!cdm2dkf|3R z2aE6?I}LH*c9h|&uXqrHRezctB+N09c85ac`D&NtAnf1-ZEI~#kl9B7yQ!ce{J)of z4k1i6#EA3>>MiPJPCwEM)j``DKojF4#B$aESLi9-zF2j>vgu`ZYVN09d%D%6%36Pd z)8s~}8A0yth*#yx#q;LpN%0*fCpi-GAfjI#tw)zGgaIaDu11nY*t*irz}?g&6wFrZkj{h&VHTDUV(;zMP8{H~Z}_f*p_%0zuG zu9K)KkjV8j?6>(J{0K65qjJZZmI1*J0N+60P35rfNA{-=s6l8Eg3Tkh``c89;#92{ zt9sLzV}vw=P#0$yp9V*I*BuCY7e9S&8A<4ZQDe>Ndw4Ta zLG);!*{@;zhy`RhNFDtiTxr?4U-+XU&E(=V8kf)cZK?>th| ze1n4-#P2l-jC^6xLK&p*HHed;nPKB+KBIIzd-yJRtQh0|F*G=TZ-(=8u^D~4C&`}^ zenMRk{Zk75F{yJ_5L)!x@@}Wqz?DyLkJt9Qt2G&}3kjAR;6*xA(dW-{2}nMMj`f?> z%|jR4PW782BtsLNVq#LhiBLbdzKiF6ocF?#Sv^yMrs=!Yex8ox8tLXecj1 zHx0hKNF>y0V+L{-847~hIDFTw8$mSF-w5rKeKK+eHcF^nuGxiFX%H(5)l|?Hp($ao z8pw}SN01O=of1`R^@?6jAUcd9hM-O}IZkYPE`#tD#Pf)yFuNNqB$(cj0w65gVPx4k z%+H#(M#LZBDRRWIQ}AsN5Gdf8YJ4S_0*N;-$ZlYnB%omMsJU)1oYRE3^m%d^MDG`D zgW_-{xo(hWnGnTsS~pe<@o0!WvD;QIpSesBp_HJdd&Az_U3^{cE$J8Iy20F~fWiOH zbqjotAeVt4?z6E$eKP}H$gGd|2}MX}uOTX3nMcD>qwa+ZhCI1lgjC1z?A!z%P91ua z&Wd6x=pa*yoWSnD-_fTJ^)oe~cm0~To#s>o>clJ4#8(40IS8FVF=_MB?iVmaZ7u zMAIpKo%}O96X8TC0IEDjrg@5AAg(TzW^naG5RbB1g?Yi>_bm^XC3Z%+*UWBb6@A5k(F+x_y zKpy#urjw>6Efieg%V`#m7Wac6YUD$!AsS%bB0YggXX@L z%X*(pP00Fh#=XkE^{T41{o`p;KC^p8E9XX?@gyRh-c?$cv?n!So5$l)yH@!E{r#`= zU)qTrkyHHQOE#wAWt{WN&p#WyI?_AzcE-fv%1LJGg4^A9YVddy@`+~zzk@KV2Urn~ zbidC5m?_^RP$2&JYzFaIK_cG=sw zv^FZ3)1>+JOk+vL^xcuj(vhw?I1#@%*N-@mFR<)%MPt@{#RoAQj5&ccc8x=ogCcXb9X#RSrH+;&U8a{YAD%eBi=%`BpvHKC$bb=6@Kx7$6q-5Hi!V#_)nZU!UcQ1q|y?9C-MD-C255@^nOY}the(wsk4 z?2kX1PP4RHQ(-8w(3%>d^rd8Bw&=~owD6z8eD?lppxTgf7?3gIYmem3|w#frtNt3J*p z_d+1cY6%C*N)O6vjtO6EG90ywpVYe|hn=?xi_CMiLpK?rU9@U);Jw}xqF!3(M=@7) zUPlF;BRN#N67~9D}Is9zu$D(T;(9nSzW$;%|foQIx)Xgd6!Vzj{UAay{OD zK7Ndk{M3I*fb>NCvW(w=!xv%bj?;$h8FK0t`3Z8sZSX1n>`Bg!5_(mR-B6Krcd54| z|Kj#uXw+JM(^@`!AAwrR>tVYDa_C`O2TsQjr92XH63wdJGPA)a3yt#}C~=2m~&?B2VxJlm}U44)PVYh&8+Z59^5eCL*J>O@lvZILke zGV3zo@Q!t%?PcbbvMaBJ@*MYb%@TeKh3qhonH^egmNiWqde=RxztmUF92OnR;k`dn6CYjx=l&Av~FNbS0kQSarIL!n;UGn z8#WtqG*uo|S7f=h)cCRO=!+wn)6_gDaCTNDG~lCN2%VNW9+%;3ZJoKkynxDUG=->u=Q(u zGJM&Ygx0hb&FT|}`b0%PZ}tPI^jLfjB00q{R6h*WnU6heaFky!0B9OaE(Qet+AP41 zAQZhP4DKqR8UTKkJ93?+4sPN(ig346?!ZyK+ro*x!HWHp*2NV}E`}`eysB)9BoT=l ztG{zz$(IX9>a`#Rh!XmxR5l$!g6PWOxO^i0NL=_?)ZokwI8)&Vu$1PszFewOh} z#I{ASIXmaW>E0tZJF-VC?&U1=tD7_m96z-7FzN)xoaK02I+fIegPmR2|^vYvpfi8=KB$fN0s|Ed*VrP3;O zeihkiNlBMealL@nL%%aM`MUqN+Bl&%Pr2`7rS@V1o(scSA*}2ATzf%#$7)4;P}3aw zt~b@B`p8h*`Bg%Ph@nhr!Y2wmOX`bGTJ^ilOwQ%Z+7b`Q3&C94_oO@ebEyqoq>F8a z5(O8jwu>}R-+68cjxML_6lb; zhxPPwshXzjD*uK>#`YfA%1z15h1KOgD6KBA94s&8+ECnl{;Q$J_Asu$*y)OcU(nK! zZ))voPI`S|N!{e8SU)_byTLUZz1e&#hm&xlH?mPfulD#VMeu7WHIVd2N+k+i8Zr zVe8H%YcJ+A*BODq%W9*MGMKC^7?!?JI4Bj*U}!)GFpE87^s?Gy^!vj%pls-^%X%!c z$4=-X*_>W^ZC=b|i|#^Ra1x|*EWv&yP1wF$k>hHcI|^!AW{NuNV_yA;EPXiIpThr} z)aTRrR!`;E&f>lUZG!2R1D>23GQ27W3>yB*W)C3ecIP!N&+zr@%|YYz1?UAC=#ox+uB#oaK%>t<+dZ&pg0(jG{Ro(26+_GiisEW>%s)bka`BzT!42 zL}O8ID;RchbQ;8MR55?%t=1Qmlp^>_2xOb!Or1xSTzqIJB5Im4l-u~R)qAv4*|!?F z7@k%s>eGtxv*>dZN_bqOH>>{a!n=h4JC^$@3v z)gDypRG9l0Y?~8WGilFm{3w%v)ROtE>CX>oqYGlAU{PJm?Oc2>>{;`}fj?;z3j=7& zqJ-Al?2TUY>*ghRua%u=dD7N(8%5NOlP)Eh&cD>Ih^r>k3Y@kB?RP%xez(r!EM=CZ z63dh)ET6p-W$*v6+l(&xs9$mS&I`Qv(K2;{Y6e5~+=Jh|sg?p@^M7WVyhiHVlFK=3 z(|+t;R=q~*+N$tdJ0(}{&)#)>Rib;TLvVfJg^gJ^Ci`vNI!lm=$Er%w|6%Hn?xw!D zV}^Ts1hfKxjNpv6w9@VGXBk2yqt_J8@$R#jp7L+e{KwNc-|ku}t26H>cip!@>qQfj zOwRs&t@bzKuCA`=W5#bUd8e91^(>C+VSljPyvq>8r(RqeGiLc9LB z+8%#(Vr|vZP#33(`xiWqklPu$e#;f^`p>q<_lnOeC|i3K#J27_al~P3;L)ecve|b< ze!J(tz$=hpLVEG>%@^|uj>j&(At(^DTAa~g-dWimH^!5N;u>WvEZ1MTGIXTxuevxx zN%E2#uSjphbB-L_W#a$zO66tGFSeTZPibE58nsNOM4mKLPwUBzif=savVcM4#;_v2 z_~?tReI@60JiYgRFuz=Ur91gm>;4tbEhfv9t6e-WZ*lj>^uV4++pRx*e)|0F)2nw^ zJ4JKVUzz*ybWY*i`TOPp+tYFHZoTQ7qx85oI z<>t?h2je-@moz`}_Z^M?Jl(U3m9r zR^VAR%s|Wz#9^*M!Jhtp#@CG*&`yASv#&P90I0$Uh&h2cH?<^DFRM5|Z}qdF03bN! zp;M;gd-6>9rXUaRGn#%^8#$&g6%$Q=_FOYkQv-Mc`U^>o!mCA$Kw}x1M3_MbPjUb; z1i+4?M2HA5{C5P&!49WH*Olk_VS||%1H+wA1_lYJDIn^9qXv>Lr_8*>qDsWUmguGw zJGa*H0o8+CBMrnb@V{{i&}^99K8cn2r6oXKT4s7_QDRAEejd6(8|A}OC4ss@Aq1jf z;D6(7B!dDHi|`v$_sTteH&Cx0@HjbCUulaY+!IignwDCWnwOkf42}VG$ABz{g{Uyh zB@Cbtl>r(G^HnhDxXv)(v2?}y=my-K$}^|bn}I=8lL^f?{@4uwpKMo#Zp;Sh&+>DC z4yfou50u}@Slt0W9uC78Ti47B8-by?q!rzmbLCi#0iUskVN8X7lEGs^28J7j=*DaV zx(`dJfDbCeFb4gyU0C@3Z@jPot1*zPchSQJ{n7`7G5y=H8Uwik0^JypHds`H5-|jT zqWb?KBx8_Hc11S<{bW~|8UGuN4`Vk0cAiynF}hjkry(ND@;-sbEX3J}#2e^)l7NAb zqXvmL(Ek(x10g5(5pQ7NX#xg94#Feez~D0k41}C3N4$ZdX9*YxIi?NWK=gCY5V0J7 z4q+fHm1L%&>qoD15c;`A8DTXLx+e7M2cgLns0m&f1$eWvfuzKNFc!$_0ZKA3008?o B6lDMa literal 0 HcmV?d00001 diff --git a/src/sveltekit-3/tsconfig.json b/src/sveltekit-3/tsconfig.json new file mode 100644 index 0000000..62f2df9 --- /dev/null +++ b/src/sveltekit-3/tsconfig.json @@ -0,0 +1,7 @@ +{ + "extends": "$app/tsconfig", + "compilerOptions": { + "strict": true + }, + "include": ["src", "vite.config.ts"] +} diff --git a/src/sveltekit-3/vite.config.ts b/src/sveltekit-3/vite.config.ts new file mode 100644 index 0000000..0b12b69 --- /dev/null +++ b/src/sveltekit-3/vite.config.ts @@ -0,0 +1,18 @@ +import { alphaTab } from '@coderline/alphatab-vite'; +import adapter from '@sveltejs/adapter-node'; +import { sveltekit } from '@sveltejs/kit/vite'; +import { defineConfig } from 'vite'; + +export default defineConfig({ + plugins: [ + sveltekit({ + compilerOptions: { + // Force runes mode for the project, except for libraries. Can be removed in svelte 6. + runes: ({ filename }) => + filename.split(/[/\\]/).includes('node_modules') ? undefined : true + }, + adapter: adapter() + }), + alphaTab() + ] +}); diff --git a/src/vite-react/.eslintrc.cjs b/src/vite-react/.eslintrc.cjs deleted file mode 100644 index d6c9537..0000000 --- a/src/vite-react/.eslintrc.cjs +++ /dev/null @@ -1,18 +0,0 @@ -module.exports = { - root: true, - env: { browser: true, es2020: true }, - extends: [ - 'eslint:recommended', - 'plugin:@typescript-eslint/recommended', - 'plugin:react-hooks/recommended', - ], - ignorePatterns: ['dist', '.eslintrc.cjs'], - parser: '@typescript-eslint/parser', - plugins: ['react-refresh'], - rules: { - 'react-refresh/only-export-components': [ - 'warn', - { allowConstantExport: true }, - ], - }, -} diff --git a/src/vite-react/README.md b/src/vite-react/README.md deleted file mode 100644 index 0d6babe..0000000 --- a/src/vite-react/README.md +++ /dev/null @@ -1,30 +0,0 @@ -# React + TypeScript + Vite - -This template provides a minimal setup to get React working in Vite with HMR and some ESLint rules. - -Currently, two official plugins are available: - -- [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/blob/main/packages/plugin-react/README.md) uses [Babel](https://babeljs.io/) for Fast Refresh -- [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc) uses [SWC](https://swc.rs/) for Fast Refresh - -## Expanding the ESLint configuration - -If you are developing a production application, we recommend updating the configuration to enable type aware lint rules: - -- Configure the top-level `parserOptions` property like this: - -```js -export default { - // other rules... - parserOptions: { - ecmaVersion: 'latest', - sourceType: 'module', - project: ['./tsconfig.json', './tsconfig.node.json'], - tsconfigRootDir: __dirname, - }, -} -``` - -- Replace `plugin:@typescript-eslint/recommended` to `plugin:@typescript-eslint/recommended-type-checked` or `plugin:@typescript-eslint/strict-type-checked` -- Optionally add `plugin:@typescript-eslint/stylistic-type-checked` -- Install [eslint-plugin-react](https://github.com/jsx-eslint/eslint-plugin-react) and add `plugin:react/recommended` & `plugin:react/jsx-runtime` to the `extends` list diff --git a/src/vite-react/alphaTab.vite.ts b/src/vite-react/alphaTab.vite.ts deleted file mode 100644 index e1b6120..0000000 --- a/src/vite-react/alphaTab.vite.ts +++ /dev/null @@ -1,37 +0,0 @@ -// https://github.com/vitejs/vite/blob/main/packages/vite/src/node/plugins/worker.ts - -// -// Internal Vite Parts (rebuilt) - -// Unfortunately a lot of these things are internal in Vit so we have to rebuild them. -// Things might be a bit simplified as we know how the code in alphaTab looks. - -// MIT License -// Copyright (c) 2019-present, Yuxi (Evan) You and Vite contributors - -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: - -// The above copyright notice and this permission notice shall be included in all -// copies or substantial portions of the Software. - -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE -// SOFTWARE. - - - - - - -// worker - - diff --git a/src/vite-react/package-lock.json b/src/vite-react/package-lock.json deleted file mode 100644 index 976fcd2..0000000 --- a/src/vite-react/package-lock.json +++ /dev/null @@ -1,4040 +0,0 @@ -{ - "name": "vite-react", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "vite-react", - "version": "0.0.0", - "dependencies": { - "@coderline/alphatab": "^1.5.0-alpha.1396", - "react": "^19.1.0", - "react-dom": "^19.1.0" - }, - "devDependencies": { - "@types/react": "^19.1.2", - "@types/react-dom": "^19.1.3", - "@typescript-eslint/eslint-plugin": "^8.31.1", - "@typescript-eslint/parser": "^8.31.1", - "@vitejs/plugin-react": "^4.4.1", - "eslint": "^9.26.0", - "eslint-plugin-react-hooks": "^5.2.0", - "eslint-plugin-react-refresh": "^0.4.20", - "magic-string": "^0.30.17", - "typescript": "^5.8.3", - "vite": "^6.3.4" - } - }, - "node_modules/@aashutoshrathi/word-wrap": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/@aashutoshrathi/word-wrap/-/word-wrap-1.2.6.tgz", - "integrity": "sha512-1Yjs2SvM8TflER/OD3cOjhWWOZb58A2t7wpE2S9XfBYTiIl+XFhQG2bjy4Pu1I+EAlCNUzRDYDdFwFYUKvXcIA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.3.0.tgz", - "integrity": "sha512-30iZtAPgz+LTIYoeivqYo853f02jBYSd5uGnGpkFV0M3xOt9aN73erkgYAmZU43x4VfqcnLxW9Kpg3R5LC4YYw==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.27.1.tgz", - "integrity": "sha512-Q+E+rd/yBzNQhXkG+zQnF58e4zoZfBedaxwzPmicKsiK3nt8iJYrSrDbjwFFDGC4f+rPafqRaPH6TsDoSvMf7A==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.27.1.tgz", - "integrity": "sha512-IaaGWsQqfsQWVLqMn9OB92MNN7zukfVA4s7KKAI0KfrrDsZ0yhi5uV4baBuLuN7n3vsZpwP8asPPcVwApxvjBQ==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.27.1", - "@babel/helper-compilation-targets": "^7.27.1", - "@babel/helper-module-transforms": "^7.27.1", - "@babel/helpers": "^7.27.1", - "@babel/parser": "^7.27.1", - "@babel/template": "^7.27.1", - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.27.1.tgz", - "integrity": "sha512-UnJfnIpc/+JO0/+KRVQNGU+y5taA5vCbwN8+azkX6beii/ZF+enZJSOKo11ZSzGJjlNfJHfQtmQT8H+9TXPG2w==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.27.1", - "@babel/types": "^7.27.1", - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.1.tgz", - "integrity": "sha512-2YaDd/Rd9E598B5+WIc8wJPmWETiiJXFYVE60oX8FDohv7rAUU3CQj+A1MgeEmcsk2+dQuEjIe/GDvig0SqL4g==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.27.1", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", - "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.27.1.tgz", - "integrity": "sha512-9yHn519/8KvTU5BjTVEEeIM3w9/2yXNKoD82JifINImhpKkARMJKPP59kLo+BafpdN5zgNeIcS4jsGDmd3l58g==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.27.1.tgz", - "integrity": "sha512-1gn1Up5YXka3YYAHGKpbideQ5Yjf1tDa9qYcgysz+cNCXukyLl6DjPXhD3VRwSb8c0J9tA4b2+rHEZtc6R0tlw==", - "dev": true, - "engines": { - "node": ">=6.9.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==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.27.1.tgz", - "integrity": "sha512-D2hP9eA+Sqx1kBZgzxZh0y1trbuU+JoDkiEwqhQ36nodYqJwyEIhPSdMNd7lOm/4io72luTPWH20Yda0xOuUow==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.27.1.tgz", - "integrity": "sha512-FCvFTm0sWV8Fxhpp2McP5/W53GPllQ9QeQ7SiqGWjMf/LVG07lFa5+pgK05IRhVwtvafT22KF+ZSnM9I545CvQ==", - "dev": true, - "dependencies": { - "@babel/template": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.27.1.tgz", - "integrity": "sha512-I0dZ3ZpCrJ1c04OqlNsQcKiZlsrXf/kkE4FXzID9rIOYICsAbA8mMDzhW/luRNAHdCNt7os/u8wenklZDlUVUQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.27.1" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", - "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", - "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.1.tgz", - "integrity": "sha512-Fyo3ghWMqkHHpHQCoBs2VnYjR4iWFFjguTDEqA5WgZDOrFesVjMhMM2FSqTKSoUSDO1VQtavj8NFpdRBEvJTtg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.27.1.tgz", - "integrity": "sha512-ZCYtZciz1IWJB4U61UPu4KEaqyfj+r5T1Q5mqPo+IBpcG9kHv30Z0aD8LXPgC1trYa6rK0orRyAhqUgk4MjmEg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.27.1", - "@babel/parser": "^7.27.1", - "@babel/template": "^7.27.1", - "@babel/types": "^7.27.1", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.27.1.tgz", - "integrity": "sha512-+EzkxvLNfiUeKMgy/3luqfsCWFRXLb7U6wNQTk60tovuckwB15B191tJWvpp4HjiQWdJkCxO3Wbvc6jlk3Xb2Q==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@coderline/alphatab": { - "version": "1.5.0-alpha.1396", - "resolved": "https://registry.npmjs.org/@coderline/alphatab/-/alphatab-1.5.0-alpha.1396.tgz", - "integrity": "sha512-6oJHU5NN8pvWiZiLdKtdaW4Ufe/61q5Y2PRLMSCspeTifvmDUJiTTJVpZ+z5n9itLIBLLEfy9ULRbkOIAoyGiw==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.3.tgz", - "integrity": "sha512-W8bFfPA8DowP8l//sxjJLSLkD8iEjMc7cBVyP+u4cEv9sM7mdUCkgsj+t0n/BWPFtv7WWCN5Yzj0N6FJNUUqBQ==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.3.tgz", - "integrity": "sha512-PuwVXbnP87Tcff5I9ngV0lmiSu40xw1At6i3GsU77U7cjDDB4s0X2cyFuBiDa1SBk9DnvWwnGvVaGBqoFWPb7A==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.3.tgz", - "integrity": "sha512-XelR6MzjlZuBM4f5z2IQHK6LkK34Cvv6Rj2EntER3lwCBFdg6h2lKbtRjpTTsdEjD/WSe1q8UyPBXP1x3i/wYQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.3.tgz", - "integrity": "sha512-ogtTpYHT/g1GWS/zKM0cc/tIebFjm1F9Aw1boQ2Y0eUQ+J89d0jFY//s9ei9jVIlkYi8AfOjiixcLJSGNSOAdQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.3.tgz", - "integrity": "sha512-eESK5yfPNTqpAmDfFWNsOhmIOaQA59tAcF/EfYvo5/QWQCzXn5iUSOnqt3ra3UdzBv073ykTtmeLJZGt3HhA+w==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.3.tgz", - "integrity": "sha512-Kd8glo7sIZtwOLcPbW0yLpKmBNWMANZhrC1r6K++uDR2zyzb6AeOYtI6udbtabmQpFaxJ8uduXMAo1gs5ozz8A==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.3.tgz", - "integrity": "sha512-EJiyS70BYybOBpJth3M0KLOus0n+RRMKTYzhYhFeMwp7e/RaajXvP+BWlmEXNk6uk+KAu46j/kaQzr6au+JcIw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.3.tgz", - "integrity": "sha512-Q+wSjaLpGxYf7zC0kL0nDlhsfuFkoN+EXrx2KSB33RhinWzejOd6AvgmP5JbkgXKmjhmpfgKZq24pneodYqE8Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.3.tgz", - "integrity": "sha512-dUOVmAUzuHy2ZOKIHIKHCm58HKzFqd+puLaS424h6I85GlSDRZIA5ycBixb3mFgM0Jdh+ZOSB6KptX30DD8YOQ==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.3.tgz", - "integrity": "sha512-xCUgnNYhRD5bb1C1nqrDV1PfkwgbswTTBRbAd8aH5PhYzikdf/ddtsYyMXFfGSsb/6t6QaPSzxtbfAZr9uox4A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.3.tgz", - "integrity": "sha512-yplPOpczHOO4jTYKmuYuANI3WhvIPSVANGcNUeMlxH4twz/TeXuzEP41tGKNGWJjuMhotpGabeFYGAOU2ummBw==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.3.tgz", - "integrity": "sha512-P4BLP5/fjyihmXCELRGrLd793q/lBtKMQl8ARGpDxgzgIKJDRJ/u4r1A/HgpBpKpKZelGct2PGI4T+axcedf6g==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.3.tgz", - "integrity": "sha512-eRAOV2ODpu6P5divMEMa26RRqb2yUoYsuQQOuFUexUoQndm4MdpXXDBbUoKIc0iPa4aCO7gIhtnYomkn2x+bag==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.3.tgz", - "integrity": "sha512-ZC4jV2p7VbzTlnl8nZKLcBkfzIf4Yad1SJM4ZMKYnJqZFD4rTI+pBG65u8ev4jk3/MPwY9DvGn50wi3uhdaghg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.3.tgz", - "integrity": "sha512-LDDODcFzNtECTrUUbVCs6j9/bDVqy7DDRsuIXJg6so+mFksgwG7ZVnTruYi5V+z3eE5y+BJZw7VvUadkbfg7QA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.3.tgz", - "integrity": "sha512-s+w/NOY2k0yC2p9SLen+ymflgcpRkvwwa02fqmAwhBRI3SC12uiS10edHHXlVWwfAagYSY5UpmT/zISXPMW3tQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.3.tgz", - "integrity": "sha512-nQHDz4pXjSDC6UfOE1Fw9Q8d6GCAd9KdvMZpfVGWSJztYCarRgSDfOVBY5xwhQXseiyxapkiSJi/5/ja8mRFFA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.3.tgz", - "integrity": "sha512-1QaLtOWq0mzK6tzzp0jRN3eccmN3hezey7mhLnzC6oNlJoUJz4nym5ZD7mDnS/LZQgkrhEbEiTn515lPeLpgWA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.3.tgz", - "integrity": "sha512-i5Hm68HXHdgv8wkrt+10Bc50zM0/eonPb/a/OFVfB6Qvpiirco5gBA5bz7S2SHuU+Y4LWn/zehzNX14Sp4r27g==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.3.tgz", - "integrity": "sha512-zGAVApJEYTbOC6H/3QBr2mq3upG/LBEXr85/pTtKiv2IXcgKV0RT0QA/hSXZqSvLEpXeIxah7LczB4lkiYhTAQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.3.tgz", - "integrity": "sha512-fpqctI45NnCIDKBH5AXQBsD0NDPbEFczK98hk/aa6HJxbl+UtLkJV2+Bvy5hLSLk3LHmqt0NTkKNso1A9y1a4w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.3.tgz", - "integrity": "sha512-ROJhm7d8bk9dMCUZjkS8fgzsPAZEjtRJqCAmVgB0gMrvG7hfmPmz9k1rwO4jSiblFjYmNvbECL9uhaPzONMfgA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.3.tgz", - "integrity": "sha512-YWcow8peiHpNBiIXHwaswPnAXLsLVygFwCB3A7Bh5jRkIBFWHGmNQ48AlX4xDvQNoMZlPYzjVOQDYEzWCqufMQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.3.tgz", - "integrity": "sha512-qspTZOIGoXVS4DpNqUYUs9UxVb04khS1Degaw/MnfMe7goQ3lTfQ13Vw4qY/Nj0979BGvMRpAYbs/BAxEvU8ew==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.3.tgz", - "integrity": "sha512-ICgUR+kPimx0vvRzf+N/7L7tVSQeE3BYY+NhHRHXS1kBuPO7z2+7ea2HbhDyZdTephgvNvKrlDDKUexuCVBVvg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", - "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.3.0" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.1", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.1.tgz", - "integrity": "sha512-CCZCDJuduB9OUkFkY2IgppNZMi2lBQgD2qzwXkEia16cge2pijY/aXi96CJMquDMn3nJdlPV1A5KrJEXwfLNzQ==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.20.0.tgz", - "integrity": "sha512-fxlS1kkIjx8+vy2SjuCB94q3htSNrufYTXubwiBFeaQHbH6Ipi43gFJq2zCMt6PHhImH3Xmr0NksKDvchWlpQQ==", - "dev": true, - "dependencies": { - "@eslint/object-schema": "^2.1.6", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-array/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/config-array/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.2.2.tgz", - "integrity": "sha512-+GPzk8PlG0sPpzdU5ZvIRMPidzAnZDl/s9L+y13iodqvb8leL53bTannOrQ/Im7UkpsmFU5Ily5U60LWixnmLg==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.13.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.13.0.tgz", - "integrity": "sha512-yfkgDw1KR66rkT5A8ci4irzDysN7FRpq3ttJolR88OqQikAWqwA8j5VZyas+vjyBNFIJ7MfybJ9plMILI2UrCw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.1.tgz", - "integrity": "sha512-gtF186CXhIl1p4pJNGZw8Yc6RlshoePRvE0X91oPGb3vZ8pM3qOS9W9NGPat9LziaBV7XrJWGylNQXkGcnM3IQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/eslintrc/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/@eslint/eslintrc/node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@eslint/eslintrc/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/@eslint/js": { - "version": "9.26.0", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.26.0.tgz", - "integrity": "sha512-I9XlJawFdSMvWjDt6wksMCrgns5ggLNfFwFvnShsleWruvXM514Qxk8V246efTw+eo9JABvVz+u3q2RiAowKxQ==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.6.tgz", - "integrity": "sha512-RBMg5FRL0I0gs51M/guSAj5/e14VQ4tpZnQNWwuDT66P14I43ItmPfIZRhO9fUVIPOAQXU47atlywZ/czoqFPA==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.2.8", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.2.8.tgz", - "integrity": "sha512-ZAoA40rNMPwSm+AeHpCq8STiNAwzWLJuP8Xv4CHIc9wv/PSuExjMrmjfYNj682vW0OOiZ1HKxzvjQr9XZIisQA==", - "dev": true, - "dependencies": { - "@eslint/core": "^0.13.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.6", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.6.tgz", - "integrity": "sha512-YuI2ZHQL78Q5HbhDiBA1X4LmYdXCKCMQIfw0pw7piHJwyREFebJUvrQN4cMssyES6x+vfUbx1CIpaQUKYdQZOw==", - "dev": true, - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.3.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node/node_modules/@humanwhocodes/retry": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.3.1.tgz", - "integrity": "sha512-JBxkERygn7Bv/GbN5Rv8Ul6LVknS+5Bp6RgDC/O8gEBU/yeH5Ui5C/OlWrTb6qct7LjjfT6Re2NxB0ln0yYybA==", - "dev": true, - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.2.tgz", - "integrity": "sha512-xeO57FpIu4p1Ri3Jq/EXq4ClRm86dVF2z/+kvFnyqVYRavTZmaFaUBbWCOuuTh0o/g7DSsk6kc2vrS4Vl5oPOQ==", - "dev": true, - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@modelcontextprotocol/sdk": { - "version": "1.11.0", - "resolved": "https://registry.npmjs.org/@modelcontextprotocol/sdk/-/sdk-1.11.0.tgz", - "integrity": "sha512-k/1pb70eD638anoi0e8wUGAlbMJXyvdV4p62Ko+EZ7eBe1xMx8Uhak1R5DgfoofsK5IBBnRwsYGTaLZl+6/+RQ==", - "dev": true, - "dependencies": { - "content-type": "^1.0.5", - "cors": "^2.8.5", - "cross-spawn": "^7.0.3", - "eventsource": "^3.0.2", - "express": "^5.0.1", - "express-rate-limit": "^7.5.0", - "pkce-challenge": "^5.0.0", - "raw-body": "^3.0.0", - "zod": "^3.23.8", - "zod-to-json-schema": "^3.24.1" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.40.1.tgz", - "integrity": "sha512-kxz0YeeCrRUHz3zyqvd7n+TVRlNyTifBsmnmNPtk3hQURUyG9eAB+usz6DAwagMusjx/zb3AjvDUvhFGDAexGw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.40.1.tgz", - "integrity": "sha512-PPkxTOisoNC6TpnDKatjKkjRMsdaWIhyuMkA4UsBXT9WEZY4uHezBTjs6Vl4PbqQQeu6oION1w2voYZv9yquCw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.40.1.tgz", - "integrity": "sha512-VWXGISWFY18v/0JyNUy4A46KCFCb9NVsH+1100XP31lud+TzlezBbz24CYzbnA4x6w4hx+NYCXDfnvDVO6lcAA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.40.1.tgz", - "integrity": "sha512-nIwkXafAI1/QCS7pxSpv/ZtFW6TXcNUEHAIA9EIyw5OzxJZQ1YDrX+CL6JAIQgZ33CInl1R6mHet9Y/UZTg2Bw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.40.1.tgz", - "integrity": "sha512-BdrLJ2mHTrIYdaS2I99mriyJfGGenSaP+UwGi1kB9BLOCu9SR8ZpbkmmalKIALnRw24kM7qCN0IOm6L0S44iWw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.40.1.tgz", - "integrity": "sha512-VXeo/puqvCG8JBPNZXZf5Dqq7BzElNJzHRRw3vjBE27WujdzuOPecDPc/+1DcdcTptNBep3861jNq0mYkT8Z6Q==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.40.1.tgz", - "integrity": "sha512-ehSKrewwsESPt1TgSE/na9nIhWCosfGSFqv7vwEtjyAqZcvbGIg4JAcV7ZEh2tfj/IlfBeZjgOXm35iOOjadcg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.40.1.tgz", - "integrity": "sha512-m39iO/aaurh5FVIu/F4/Zsl8xppd76S4qoID8E+dSRQvTyZTOI2gVk3T4oqzfq1PtcvOfAVlwLMK3KRQMaR8lg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.40.1.tgz", - "integrity": "sha512-Y+GHnGaku4aVLSgrT0uWe2o2Rq8te9hi+MwqGF9r9ORgXhmHK5Q71N757u0F8yU1OIwUIFy6YiJtKjtyktk5hg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.40.1.tgz", - "integrity": "sha512-jEwjn3jCA+tQGswK3aEWcD09/7M5wGwc6+flhva7dsQNRZZTe30vkalgIzV4tjkopsTS9Jd7Y1Bsj6a4lzz8gQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loongarch64-gnu": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loongarch64-gnu/-/rollup-linux-loongarch64-gnu-4.40.1.tgz", - "integrity": "sha512-ySyWikVhNzv+BV/IDCsrraOAZ3UaC8SZB67FZlqVwXwnFhPihOso9rPOxzZbjp81suB1O2Topw+6Ug3JNegejQ==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-powerpc64le-gnu": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-powerpc64le-gnu/-/rollup-linux-powerpc64le-gnu-4.40.1.tgz", - "integrity": "sha512-BvvA64QxZlh7WZWqDPPdt0GH4bznuL6uOO1pmgPnnv86rpUpc8ZxgZwcEgXvo02GRIZX1hQ0j0pAnhwkhwPqWg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.40.1.tgz", - "integrity": "sha512-EQSP+8+1VuSulm9RKSMKitTav89fKbHymTf25n5+Yr6gAPZxYWpj3DzAsQqoaHAk9YX2lwEyAf9S4W8F4l3VBQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.40.1.tgz", - "integrity": "sha512-n/vQ4xRZXKuIpqukkMXZt9RWdl+2zgGNx7Uda8NtmLJ06NL8jiHxUawbwC+hdSq1rrw/9CghCpEONor+l1e2gA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.40.1.tgz", - "integrity": "sha512-h8d28xzYb98fMQKUz0w2fMc1XuGzLLjdyxVIbhbil4ELfk5/orZlSTpF/xdI9C8K0I8lCkq+1En2RJsawZekkg==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.40.1.tgz", - "integrity": "sha512-XiK5z70PEFEFqcNj3/zRSz/qX4bp4QIraTy9QjwJAb/Z8GM7kVUsD0Uk8maIPeTyPCP03ChdI+VVmJriKYbRHQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.40.1.tgz", - "integrity": "sha512-2BRORitq5rQ4Da9blVovzNCMaUlyKrzMSvkVR0D4qPuOy/+pMCrh1d7o01RATwVy+6Fa1WBw+da7QPeLWU/1mQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.40.1.tgz", - "integrity": "sha512-b2bcNm9Kbde03H+q+Jjw9tSfhYkzrDUf2d5MAd1bOJuVplXvFhWz7tRtWvD8/ORZi7qSCy0idW6tf2HgxSXQSg==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.40.1.tgz", - "integrity": "sha512-DfcogW8N7Zg7llVEfpqWMZcaErKfsj9VvmfSyRjCyo4BI3wPEfrzTtJkZG6gKP/Z92wFm6rz2aDO7/JfiR/whA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.40.1.tgz", - "integrity": "sha512-ECyOuDeH3C1I8jH2MK1RtBJW+YPMvSfT0a5NN0nHfQYnDSJ6tUiZH3gzwVP5/Kfh/+Tt7tpWVF9LXNTnhTJ3kA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.6.8", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.8.tgz", - "integrity": "sha512-ASsj+tpEDsEiFr1arWrlN6V3mdfjRMZt6LtK/Vp/kreFLnr5QH5+DhvD5nINYZXzwJvXeGq+05iUXcAzVrqWtw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.20.5.tgz", - "integrity": "sha512-WXCyOcRtH37HAUkpXhUduaxdm82b4GSlyTqajXviN4EfiuPgNYR109xMCKvpl6zPIpua0DGlMEDCq+g8EdoheQ==", - "dev": true, - "dependencies": { - "@babel/types": "^7.20.7" - } - }, - "node_modules/@types/estree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", - "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", - "dev": true - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, - "node_modules/@types/node": { - "version": "20.11.25", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.25.tgz", - "integrity": "sha512-TBHyJxk2b7HceLVGFcpAUjsa5zIdsPWlR6XHfyGzd0SFu+/NFgQgMAl96MSDZgQDvJAvV6BKsFOrt6zIL09JDw==", - "dev": true, - "optional": true, - "peer": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/react": { - "version": "19.1.2", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.2.tgz", - "integrity": "sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw==", - "dev": true, - "dependencies": { - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "19.1.3", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.3.tgz", - "integrity": "sha512-rJXC08OG0h3W6wDMFxQrZF00Kq6qQvw0djHRdzl3U5DnIERz0MRce3WVc7IS6JYBwtaP/DwYtRRjVlvivNveKg==", - "dev": true, - "peerDependencies": { - "@types/react": "^19.0.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.31.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.31.1.tgz", - "integrity": "sha512-oUlH4h1ABavI4F0Xnl8/fOtML/eu8nI2A1nYd+f+55XI0BLu+RIqKoCiZKNo6DtqZBEQm5aNKA20G3Z5w3R6GQ==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.31.1", - "@typescript-eslint/type-utils": "8.31.1", - "@typescript-eslint/utils": "8.31.1", - "@typescript-eslint/visitor-keys": "8.31.1", - "graphemer": "^1.4.0", - "ignore": "^5.3.1", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.0.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.0.0 || ^8.0.0-alpha.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "8.31.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.31.1.tgz", - "integrity": "sha512-oU/OtYVydhXnumd0BobL9rkJg7wFJ9bFFPmSmB/bf/XWN85hlViji59ko6bSKBXyseT9V8l+CN1nwmlbiN0G7Q==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "8.31.1", - "@typescript-eslint/types": "8.31.1", - "@typescript-eslint/typescript-estree": "8.31.1", - "@typescript-eslint/visitor-keys": "8.31.1", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.31.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.31.1.tgz", - "integrity": "sha512-BMNLOElPxrtNQMIsFHE+3P0Yf1z0dJqV9zLdDxN/xLlWMlXK/ApEsVEKzpizg9oal8bAT5Sc7+ocal7AC1HCVw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "8.31.1", - "@typescript-eslint/visitor-keys": "8.31.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.31.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.31.1.tgz", - "integrity": "sha512-fNaT/m9n0+dpSp8G/iOQ05GoHYXbxw81x+yvr7TArTuZuCA6VVKbqWYVZrV5dVagpDTtj/O8k5HBEE/p/HM5LA==", - "dev": true, - "dependencies": { - "@typescript-eslint/typescript-estree": "8.31.1", - "@typescript-eslint/utils": "8.31.1", - "debug": "^4.3.4", - "ts-api-utils": "^2.0.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "8.31.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.31.1.tgz", - "integrity": "sha512-SfepaEFUDQYRoA70DD9GtytljBePSj17qPxFHA/h3eg6lPTqGJ5mWOtbXCk1YrVU1cTJRd14nhaXWFu0l2troQ==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.31.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.31.1.tgz", - "integrity": "sha512-kaA0ueLe2v7KunYOyWYtlf/QhhZb7+qh4Yw6Ni5kgukMIG+iP773tjgBiLWIXYumWCwEq3nLW+TUywEp8uEeag==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "8.31.1", - "@typescript-eslint/visitor-keys": "8.31.1", - "debug": "^4.3.4", - "fast-glob": "^3.3.2", - "is-glob": "^4.0.3", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "ts-api-utils": "^2.0.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <5.9.0" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "8.31.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.31.1.tgz", - "integrity": "sha512-2DSI4SNfF5T4oRveQ4nUrSjUqjMND0nLq9rEkz0gfGr3tg0S5KB6DhwR+WZPCjzkZl3cH+4x2ce3EsL50FubjQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.4.0", - "@typescript-eslint/scope-manager": "8.31.1", - "@typescript-eslint/types": "8.31.1", - "@typescript-eslint/typescript-estree": "8.31.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <5.9.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.31.1", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.31.1.tgz", - "integrity": "sha512-I+/rgqOVBn6f0o7NDTmAPWWC6NuqhV174lfYvAm9fUaWeiefLdux9/YI3/nLugEn9L8fcSi0XmpKi/r5u0nmpw==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "8.31.1", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/visitor-keys/node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@vitejs/plugin-react": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.4.1.tgz", - "integrity": "sha512-IpEm5ZmeXAP/osiBXVVP5KjFMzbWOonMs0NaQQl+xYnUAcq4oHUBsF2+p4MgKWG4YMmFYJU8A6sxRPuowllm6w==", - "dev": true, - "dependencies": { - "@babel/core": "^7.26.10", - "@babel/plugin-transform-react-jsx-self": "^7.25.9", - "@babel/plugin-transform-react-jsx-source": "^7.25.9", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.17.0" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0" - } - }, - "node_modules/accepts": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-2.0.0.tgz", - "integrity": "sha512-5cvg6CtKwfgdmVqY1WIiXKc3Q1bkRqGLi+2W/6ao+6Y7gu/RCwRuAhGEzh5B4KlszSuTLgZYuqFqo5bImjNKng==", - "dev": true, - "dependencies": { - "mime-types": "^3.0.0", - "negotiator": "^1.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.14.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", - "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/body-parser": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-2.2.0.tgz", - "integrity": "sha512-02qvAaxv8tp7fBa/mw1ga98OGm+eCbqzJOKoRt70sLmfEEi+jyBYVTDGfCL/k06/4EMk/z01gCe7HoCH/f2LTg==", - "dev": true, - "dependencies": { - "bytes": "^3.1.2", - "content-type": "^1.0.5", - "debug": "^4.4.0", - "http-errors": "^2.0.0", - "iconv-lite": "^0.6.3", - "on-finished": "^2.4.1", - "qs": "^6.14.0", - "raw-body": "^3.0.0", - "type-is": "^2.0.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.24.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.5.tgz", - "integrity": "sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001716", - "electron-to-chromium": "^1.5.149", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.3" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "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==", - "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/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001716", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001716.tgz", - "integrity": "sha512-49/c1+x3Kwz7ZIWt+4DvK3aMJy9oYXXG6/97JKsnjdCk/6n9vVyWL8NAwVt95Lwt9eigI10Hl782kDfZUUlRXw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/content-disposition": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-1.0.0.tgz", - "integrity": "sha512-Au9nRL8VNUut/XSzbQA38+M78dzP4D+eqg3gfJHMIHHYa3bg067xj1KxMUWj+VULbiZMowKngFFbKczUrNJ1mg==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/cookie": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.7.2.tgz", - "integrity": "sha512-yki5XnKuf750l50uGTllt6kKILY4nQ1eNIQatoXEByZ5dWgnKqbnqmTrBE5B4N7lrMJKQ2ytWMiTO2o0v6Ew/w==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.2.2.tgz", - "integrity": "sha512-D76uU73ulSXrD1UXF4KE2TMxVVwhsnCgfAyTg9k8P6KGZjlXKrOLe4dJQKI3Bxi5wjesZoFXJWElNWBjPZMbhg==", - "dev": true, - "engines": { - "node": ">=6.6.0" - } - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dev": true, - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true - }, - "node_modules/debug": { - "version": "4.4.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.0.tgz", - "integrity": "sha512-6WTZ/IxCY/T6BALoZHaE4ctp9xm+Z5kY/pzYaCHRFeyVhojxlrm+46y68HA6hr0TcwEssoxNiDEUJQjfPZ/RYA==", - "dev": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "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/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==", - "dev": true - }, - "node_modules/electron-to-chromium": { - "version": "1.5.149", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.149.tgz", - "integrity": "sha512-UyiO82eb9dVOx8YO3ajDf9jz2kKyt98DEITRdeLPstOEuTlLzDA4Gyq5K9he71TQziU5jUVu2OAu5N48HmQiyQ==", - "dev": true - }, - "node_modules/encodeurl": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-2.0.0.tgz", - "integrity": "sha512-Q0n9HRi4m6JuGIV1eFlmvJB7ZEVxu93IrMyiMsGC0lrMJMWzRgx6WGquyfQgZVb31vhGgXnfmPNNXmxnOkRBrg==", - "dev": true, - "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==", - "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-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/esbuild": { - "version": "0.25.3", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.3.tgz", - "integrity": "sha512-qKA6Pvai73+M2FtftpNKRxJ78GIjmFXFxd/1DVBqGo/qNhLSfv+G12n9pNoWdytJC8U00TrViOwpjT0zgqQS8Q==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.3", - "@esbuild/android-arm": "0.25.3", - "@esbuild/android-arm64": "0.25.3", - "@esbuild/android-x64": "0.25.3", - "@esbuild/darwin-arm64": "0.25.3", - "@esbuild/darwin-x64": "0.25.3", - "@esbuild/freebsd-arm64": "0.25.3", - "@esbuild/freebsd-x64": "0.25.3", - "@esbuild/linux-arm": "0.25.3", - "@esbuild/linux-arm64": "0.25.3", - "@esbuild/linux-ia32": "0.25.3", - "@esbuild/linux-loong64": "0.25.3", - "@esbuild/linux-mips64el": "0.25.3", - "@esbuild/linux-ppc64": "0.25.3", - "@esbuild/linux-riscv64": "0.25.3", - "@esbuild/linux-s390x": "0.25.3", - "@esbuild/linux-x64": "0.25.3", - "@esbuild/netbsd-arm64": "0.25.3", - "@esbuild/netbsd-x64": "0.25.3", - "@esbuild/openbsd-arm64": "0.25.3", - "@esbuild/openbsd-x64": "0.25.3", - "@esbuild/sunos-x64": "0.25.3", - "@esbuild/win32-arm64": "0.25.3", - "@esbuild/win32-ia32": "0.25.3", - "@esbuild/win32-x64": "0.25.3" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true - }, - "node_modules/eslint": { - "version": "9.26.0", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.26.0.tgz", - "integrity": "sha512-Hx0MOjPh6uK9oq9nVsATZKE/Wlbai7KFjfCuw9UHaguDW3x+HF0O5nIi3ud39TWgrTjTO5nHxmL3R1eANinWHQ==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.2.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.20.0", - "@eslint/config-helpers": "^0.2.1", - "@eslint/core": "^0.13.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.26.0", - "@eslint/plugin-kit": "^0.2.8", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@modelcontextprotocol/sdk": "^1.8.0", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.3.0", - "eslint-visitor-keys": "^4.2.0", - "espree": "^10.3.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3", - "zod": "^3.24.2" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-5.2.0.tgz", - "integrity": "sha512-+f15FfK64YQwZdJNELETdn5ibXEUQmW1DZL6KXhNnc2heoy/sg9VJJeT7n8TlMWouzWqSWavFkIhHyIbIAEapg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-react-refresh": { - "version": "0.4.20", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-refresh/-/eslint-plugin-react-refresh-0.4.20.tgz", - "integrity": "sha512-XpbHQ2q5gUF8BGOX4dHe+71qoirYMhApEPZ7sfhF/dNnOF1UXnCMGZf79SFTBO7Bz5YEIT4TMieSlJBWhP9WBA==", - "dev": true, - "peerDependencies": { - "eslint": ">=8.40" - } - }, - "node_modules/eslint-scope": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.3.0.tgz", - "integrity": "sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/node_modules/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/eslint/node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/eslint/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/eslint/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/eslint/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/eslint/node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint/node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint/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/eslint/node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/eslint/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/espree": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.3.0.tgz", - "integrity": "sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==", - "dev": true, - "dependencies": { - "acorn": "^8.14.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree/node_modules/eslint-visitor-keys": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.0.tgz", - "integrity": "sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", - "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/eventsource": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-3.0.6.tgz", - "integrity": "sha512-l19WpE2m9hSuyP06+FbuUUf1G+R0SFLrtQfbRb9PRr+oimOfxQhgGCbVaXg5IvZyyTThJsxh6L/srkMiCeBPDA==", - "dev": true, - "dependencies": { - "eventsource-parser": "^3.0.1" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/eventsource-parser": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/eventsource-parser/-/eventsource-parser-3.0.1.tgz", - "integrity": "sha512-VARTJ9CYeuQYb0pZEPbzi740OWFgpHe7AYJ2WFZVnUDUQp5Dk2yJUgF36YsZ81cOyxT0QxmXD2EQpapAouzWVA==", - "dev": true, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/express": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/express/-/express-5.1.0.tgz", - "integrity": "sha512-DT9ck5YIRU+8GYzzU5kT3eHGA5iL+1Zd0EutOmTE9Dtk+Tvuzd23VBU+ec7HPNSTxXYO55gPV/hq4pSBJDjFpA==", - "dev": true, - "dependencies": { - "accepts": "^2.0.0", - "body-parser": "^2.2.0", - "content-disposition": "^1.0.0", - "content-type": "^1.0.5", - "cookie": "^0.7.1", - "cookie-signature": "^1.2.1", - "debug": "^4.4.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "finalhandler": "^2.1.0", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "merge-descriptors": "^2.0.0", - "mime-types": "^3.0.0", - "on-finished": "^2.4.1", - "once": "^1.4.0", - "parseurl": "^1.3.3", - "proxy-addr": "^2.0.7", - "qs": "^6.14.0", - "range-parser": "^1.2.1", - "router": "^2.2.0", - "send": "^1.1.0", - "serve-static": "^2.2.0", - "statuses": "^2.0.1", - "type-is": "^2.0.1", - "vary": "^1.1.2" - }, - "engines": { - "node": ">= 18" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/express" - } - }, - "node_modules/express-rate-limit": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/express-rate-limit/-/express-rate-limit-7.5.0.tgz", - "integrity": "sha512-eB5zbQh5h+VenMPM3fh+nw1YExi5nMr6HUCR62ELSP11huvxm/Uir1H1QEyTkk5QX6A58pX6NmaTMceKZ0Eodg==", - "dev": true, - "engines": { - "node": ">= 16" - }, - "funding": { - "url": "https://github.com/sponsors/express-rate-limit" - }, - "peerDependencies": { - "express": "^4.11 || 5 || ^5.0.0-beta.1" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.3.tgz", - "integrity": "sha512-7MptL8U0cqcFdzIzwOTHoilX9x5BrNqye7Z/LuC7kCMRio1EMSyqRK3BEAUD7sXRq4iT4AzTVuZdhgQ2TCvYLg==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.8" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-2.1.0.tgz", - "integrity": "sha512-/t88Ty3d5JWQbWYgaOGCCYfXRwV1+be02WqYYlL6h0lEiUAMPM8o8qKGO01YIkOHzka2up08wvgYD0mDiI+q3Q==", - "dev": true, - "dependencies": { - "debug": "^4.4.0", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "on-finished": "^2.4.1", - "parseurl": "^1.3.3", - "statuses": "^2.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-2.0.0.tgz", - "integrity": "sha512-Rx/WycZ60HOaqLKAi6cHRKKI7zxWbJ31MhntmtwMoaTeF7XFH9hhBp8vITaMidfljRQ6eYWCKkaTK+ykVJHP2A==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "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/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "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/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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/graphemer": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/graphemer/-/graphemer-1.4.0.tgz", - "integrity": "sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==", - "dev": true - }, - "node_modules/has-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.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "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/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-promise": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-4.0.0.tgz", - "integrity": "sha512-hvpoI6korhJMnej285dSg6nu1+e6uxs7zG3BYAm5byqDsgJNWwxzM6z6iZiAgQR4TJ30JmBTOwqZUw3WlyH3AQ==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/magic-string": { - "version": "0.30.17", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.17.tgz", - "integrity": "sha512-sNPKHvyjVf7gyjwS4xGTaW/mCnF8wnjtifKBEhxfZ7E/S8tQ0rssrwGNn6q8JH/ohItJfSQp9mBtQYuTlH5QnA==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0" - } - }, - "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/media-typer": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-1.1.0.tgz", - "integrity": "sha512-aisnrDP4GNe06UcKFnV5bfMNPBUw4jsLGaWwWfnH3v02GnBuXX2MCVn5RbrWo0j3pczUilYblq7fQ7Nw2t5XKw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/merge-descriptors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-2.0.0.tgz", - "integrity": "sha512-Snk314V5ayFLhp3fkUREub6WtjBfPdCPY1Ln8/8munuLuiYhsABgBVWsozAG+MWMbVEvcdcpbi9R7ww22l9Q3g==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/mime-db": { - "version": "1.54.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.54.0.tgz", - "integrity": "sha512-aU5EJuIN2WDemCcAp2vFBfp/m4EAhWJnUNSSw0ixs7/kXbd6Pg64EmwJkNdFhB8aWt1sH2CTXrLxo/iAGV3oPQ==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mime-types": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-3.0.1.tgz", - "integrity": "sha512-xRc4oEhT6eaBpU1XF7AjpOFD+xQmXNB5OVKwp4tqCuBpHLS/ZbBDrc07mYTDqVMg6PfxUjjNp85O6Cd2Z/5HWA==", - "dev": true, - "dependencies": { - "mime-db": "^1.54.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "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==", - "dev": true - }, - "node_modules/nanoid": { - "version": "3.3.11", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.11.tgz", - "integrity": "sha512-N8SpfPUnUp1bK+PMYW8qSWdl9U+wwNWI4QKxOYDy9JAro3WMX7p2OeVRF9v+347pnakNevPmiHhNmZ2HbFA76w==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/negotiator": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-1.0.0.tgz", - "integrity": "sha512-8Ofs/AUQh8MaEcrlq5xOX0CQ9ypTF5dl78mjlMNfOK08fzpgTHQRQPBxcPlEtIw0yRpws+Zo/3r+5WRby7u3Gg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", - "dev": true - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/optionator": { - "version": "0.9.3", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.3.tgz", - "integrity": "sha512-JjCoypp+jKn1ttEFExxhetCKeJt9zhAgAve5FXHixTvFDW/5aEktX9bufBKLRRMdU7bNtpLfcGu94B3cdEJgjg==", - "dev": true, - "dependencies": { - "@aashutoshrathi/word-wrap": "^1.2.3", - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-to-regexp": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-8.2.0.tgz", - "integrity": "sha512-TdrF7fW9Rphjq4RjrW0Kp2AW0Ahwu9sRGTkS6bvDi0SCwZlEZYmcfDbEsTz8RVk0EHIS/Vd1bv3JhG+1xZuAyQ==", - "dev": true, - "engines": { - "node": ">=16" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pkce-challenge": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/pkce-challenge/-/pkce-challenge-5.0.0.tgz", - "integrity": "sha512-ueGLflrrnvwB3xuo/uGob5pd5FN7l0MsLf0Z87o/UQmRtwjvfylfc9MurIxRAWywCYTgrvpXBcqjV4OfCYGCIQ==", - "dev": true, - "engines": { - "node": ">=16.20.0" - } - }, - "node_modules/postcss": { - "version": "8.5.3", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.3.tgz", - "integrity": "sha512-dle9A3yYxlBSrt8Fu+IpjGT8SY8hN0mlaA6GY8t0P5PjIOZemULz/E2Bnm/2dcUOena75OTNkHI76uZBNUUq3A==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.8", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/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==", - "dev": true, - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/qs": { - "version": "6.14.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.14.0.tgz", - "integrity": "sha512-YWWTjgABSKcvs/nWBi9PycY/JiPJqOD4JA6o9Sej2AtvSGarXxKC3OQSk4pAarbdQlKAh5D4FCQkJNkW+GAn3w==", - "dev": true, - "dependencies": { - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/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==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-3.0.0.tgz", - "integrity": "sha512-RmkhL8CAyCRPXCE28MMH0z2PNWQBNk2Q09ZdxM9IOOXwxwZbN+qbWaatPkdkWIKL2ZVDImrN/pK5HTRz2PcS4g==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.6.3", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/react": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", - "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", - "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", - "dependencies": { - "scheduler": "^0.26.0" - }, - "peerDependencies": { - "react": "^19.1.0" - } - }, - "node_modules/react-refresh": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", - "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rollup": { - "version": "4.40.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.40.1.tgz", - "integrity": "sha512-C5VvvgCCyfyotVITIAv+4efVytl5F7wt+/I2i9q9GZcEXW9BP52YYOXC58igUi+LFZVHukErIIqQSWwv/M3WRw==", - "dev": true, - "dependencies": { - "@types/estree": "1.0.7" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.40.1", - "@rollup/rollup-android-arm64": "4.40.1", - "@rollup/rollup-darwin-arm64": "4.40.1", - "@rollup/rollup-darwin-x64": "4.40.1", - "@rollup/rollup-freebsd-arm64": "4.40.1", - "@rollup/rollup-freebsd-x64": "4.40.1", - "@rollup/rollup-linux-arm-gnueabihf": "4.40.1", - "@rollup/rollup-linux-arm-musleabihf": "4.40.1", - "@rollup/rollup-linux-arm64-gnu": "4.40.1", - "@rollup/rollup-linux-arm64-musl": "4.40.1", - "@rollup/rollup-linux-loongarch64-gnu": "4.40.1", - "@rollup/rollup-linux-powerpc64le-gnu": "4.40.1", - "@rollup/rollup-linux-riscv64-gnu": "4.40.1", - "@rollup/rollup-linux-riscv64-musl": "4.40.1", - "@rollup/rollup-linux-s390x-gnu": "4.40.1", - "@rollup/rollup-linux-x64-gnu": "4.40.1", - "@rollup/rollup-linux-x64-musl": "4.40.1", - "@rollup/rollup-win32-arm64-msvc": "4.40.1", - "@rollup/rollup-win32-ia32-msvc": "4.40.1", - "@rollup/rollup-win32-x64-msvc": "4.40.1", - "fsevents": "~2.3.2" - } - }, - "node_modules/router": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/router/-/router-2.2.0.tgz", - "integrity": "sha512-nLTrUKm2UyiL7rlhapu/Zl45FwNgkZGaCpZbIHajDYgwlJCOzLSk+cIPAnsEqV955GjILJnKbdQC1nVPz+gAYQ==", - "dev": true, - "dependencies": { - "debug": "^4.4.0", - "depd": "^2.0.0", - "is-promise": "^4.0.0", - "parseurl": "^1.3.3", - "path-to-regexp": "^8.0.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "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==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/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/scheduler": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", - "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==" - }, - "node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/send": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/send/-/send-1.2.0.tgz", - "integrity": "sha512-uaW0WwXKpL9blXE2o0bRhoL2EGXIrZxQ2ZQ4mgcfoBxdFmQold+qWsD2jLrfZ0trjKL6vOw0j//eAwcALFjKSw==", - "dev": true, - "dependencies": { - "debug": "^4.3.5", - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "etag": "^1.8.1", - "fresh": "^2.0.0", - "http-errors": "^2.0.0", - "mime-types": "^3.0.1", - "ms": "^2.1.3", - "on-finished": "^2.4.1", - "range-parser": "^1.2.1", - "statuses": "^2.0.1" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/serve-static": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-2.2.0.tgz", - "integrity": "sha512-61g9pCh0Vnh7IutZjtLGGpTA355+OPn2TyDv/6ivP2h/AdAVX9azsoxmg2/M6nZeQZNYBEwIcsne1mJd9oQItQ==", - "dev": true, - "dependencies": { - "encodeurl": "^2.0.0", - "escape-html": "^1.0.3", - "parseurl": "^1.3.3", - "send": "^1.2.0" - }, - "engines": { - "node": ">= 18" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "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/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==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", - "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", - "dev": true, - "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", - "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", - "dev": true, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/ts-api-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", - "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", - "dev": true, - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" - } - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/type-is": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/type-is/-/type-is-2.0.1.tgz", - "integrity": "sha512-OZs6gsjF4vMp32qrCbiVSkrFmXtG/AZhY3t0iAMrMBiAZyV9oALtXO8hsrHbMXF9x6L3grlFuwW2oAz7cav+Gw==", - "dev": true, - "dependencies": { - "content-type": "^1.0.5", - "media-typer": "^1.1.0", - "mime-types": "^3.0.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typescript": { - "version": "5.8.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.3.tgz", - "integrity": "sha512-p1diW6TqL9L07nNxvRMM7hMMw4c5XOo/1ibL4aAIGmSAt9slTE1Xgw5KWuof2uTOvCg9BY7ZRi+GaF+7sfgPeQ==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true, - "optional": true, - "peer": true - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", - "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/vary": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vite": { - "version": "6.3.4", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.3.4.tgz", - "integrity": "sha512-BiReIiMS2fyFqbqNT/Qqt4CVITDU9M9vE+DKcVAsB+ZV0wvTKd+3hMbkpxz1b+NmEDMegpVbisKiAZOnvO92Sw==", - "dev": true, - "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/vite/node_modules/fdir": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", - "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", - "dev": true, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zod": { - "version": "3.24.3", - "resolved": "https://registry.npmjs.org/zod/-/zod-3.24.3.tgz", - "integrity": "sha512-HhY1oqzWCQWuUqvBFnsyrtZRhyPeR7SUGv+C4+MsisMuVfSPx8HpwWqH8tRahSlt6M3PiFAcoeFhZAqIXTxoSg==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/zod-to-json-schema": { - "version": "3.24.5", - "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.5.tgz", - "integrity": "sha512-/AuWwMP+YqiPbsJx5D6TfgRTc4kTLjsh5SOcd4bLsfUg2RcEXrFMJl1DGgdHy2aCfsIA/cr/1JM0xcB2GZji8g==", - "dev": true, - "peerDependencies": { - "zod": "^3.24.1" - } - } - } -} diff --git a/src/vite-react/package.json b/src/vite-react/package.json deleted file mode 100644 index 35c0b5f..0000000 --- a/src/vite-react/package.json +++ /dev/null @@ -1,30 +0,0 @@ -{ - "name": "vite-react", - "private": true, - "version": "0.0.0", - "type": "module", - "scripts": { - "dev": "vite --force", - "build": "tsc && vite build", - "lint": "eslint . --ext ts,tsx --report-unused-disable-directives --max-warnings 0", - "preview": "vite preview" - }, - "dependencies": { - "@coderline/alphatab": "^1.5.0-alpha.1396", - "react": "^19.1.0", - "react-dom": "^19.1.0" - }, - "devDependencies": { - "@types/react": "^19.1.2", - "@types/react-dom": "^19.1.3", - "@typescript-eslint/eslint-plugin": "^8.31.1", - "@typescript-eslint/parser": "^8.31.1", - "@vitejs/plugin-react": "^4.4.1", - "eslint": "^9.26.0", - "eslint-plugin-react-hooks": "^5.2.0", - "eslint-plugin-react-refresh": "^0.4.20", - "magic-string": "^0.30.17", - "typescript": "^5.8.3", - "vite": "^6.3.4" - } -} diff --git a/src/vite-react/public/vite.svg b/src/vite-react/public/vite.svg deleted file mode 100644 index e7b8dfb..0000000 --- a/src/vite-react/public/vite.svg +++ /dev/null @@ -1 +0,0 @@ - \ No newline at end of file diff --git a/src/vite-react/src/App.css b/src/vite-react/src/App.css deleted file mode 100644 index b921131..0000000 --- a/src/vite-react/src/App.css +++ /dev/null @@ -1,22 +0,0 @@ - -.at-cursor-bar { - /* Defines the color of the bar background when a bar is played */ - background: rgba(255, 242, 0, 0.25); -} - -.at-selection div { - /* Defines the color of the selection background */ - background: rgba(64, 64, 255, 0.2); -} - -.at-cursor-beat { - /* Defines the beat cursor */ - background: rgba(64, 64, 255, 0.75); - width: 3px; -} - -.at-highlight * { - /* Defines the color of the music symbols when they are being played (svg) */ - fill: #0078ff; - stroke: #0078ff; -} \ No newline at end of file diff --git a/src/vite-react/src/App.tsx b/src/vite-react/src/App.tsx deleted file mode 100644 index 6c906b7..0000000 --- a/src/vite-react/src/App.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import { useEffect, useRef, useState } from 'react' -import './App.css' -import { AlphaTabApi, type json } from '@coderline/alphatab' - -function App() { - const elementRef = useRef(null); - const [api, setApi] = useState(); - - useEffect(() => { - const api = new AlphaTabApi(elementRef.current!, { - core: { - file: 'https://www.alphatab.net/files/canon.gp', - fontDirectory: '/font/' - }, - player: { - enablePlayer: true, - enableCursor: true, - enableUserInteraction: true, - soundFont: '/soundfont/sonivox.sf2' - } - } as json.SettingsJson); - - setApi(api); - - return () => { - console.log('destroy', elementRef, api); - api.destroy(); - } - }, []); - - function playPause() { - api?.playPause(); - } - - return ( - <> - Hello AlphaTab! - - -
- - ) -} - -export default App diff --git a/src/vite-react/src/index.css b/src/vite-react/src/index.css deleted file mode 100644 index e69de29..0000000 diff --git a/src/vite-react/src/main.tsx b/src/vite-react/src/main.tsx deleted file mode 100644 index 3d7150d..0000000 --- a/src/vite-react/src/main.tsx +++ /dev/null @@ -1,10 +0,0 @@ -import React from 'react' -import ReactDOM from 'react-dom/client' -import App from './App.tsx' -import './index.css' - -ReactDOM.createRoot(document.getElementById('root')!).render( - - - , -) diff --git a/src/vite-react/src/vite-env.d.ts b/src/vite-react/src/vite-env.d.ts deleted file mode 100644 index 11f02fe..0000000 --- a/src/vite-react/src/vite-env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/src/vite-react/tsconfig.node.json b/src/vite-react/tsconfig.node.json deleted file mode 100644 index 4054588..0000000 --- a/src/vite-react/tsconfig.node.json +++ /dev/null @@ -1,16 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2020", - "lib": ["ES2020", "ES2021", "es2022.regexp"], - "composite": true, - "skipLibCheck": true, - "module": "ESNext", - "moduleResolution": "bundler", - "allowSyntheticDefaultImports": true, - "strict": true - }, - "include": [ - "vite.config.ts", - "alphaTab.vite.ts" - ] -} \ No newline at end of file diff --git a/src/vite-react/vite.config.ts b/src/vite-react/vite.config.ts deleted file mode 100644 index d5ffdf6..0000000 --- a/src/vite-react/vite.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from "vite"; -import react from "@vitejs/plugin-react"; -import { alphaTab } from "@coderline/alphatab/vite"; - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [react(), alphaTab()] -}); diff --git a/src/vite-vue/.vscode/extensions.json b/src/vite-vue/.vscode/extensions.json deleted file mode 100644 index a7cea0b..0000000 --- a/src/vite-vue/.vscode/extensions.json +++ /dev/null @@ -1,3 +0,0 @@ -{ - "recommendations": ["Vue.volar"] -} diff --git a/src/vite-vue/README.md b/src/vite-vue/README.md deleted file mode 100644 index 0bfecb0..0000000 --- a/src/vite-vue/README.md +++ /dev/null @@ -1,9 +0,0 @@ -# Vue 3 + TypeScript + Vite - -This template should help get you started developing with Vue 3 and TypeScript in Vite. The template uses Vue 3 ` - - diff --git a/src/vite-vue/src/main.ts b/src/vite-vue/src/main.ts deleted file mode 100644 index 2425c0f..0000000 --- a/src/vite-vue/src/main.ts +++ /dev/null @@ -1,5 +0,0 @@ -import { createApp } from 'vue' -import './style.css' -import App from './App.vue' - -createApp(App).mount('#app') diff --git a/src/vite-vue/src/style.css b/src/vite-vue/src/style.css deleted file mode 100644 index b921131..0000000 --- a/src/vite-vue/src/style.css +++ /dev/null @@ -1,22 +0,0 @@ - -.at-cursor-bar { - /* Defines the color of the bar background when a bar is played */ - background: rgba(255, 242, 0, 0.25); -} - -.at-selection div { - /* Defines the color of the selection background */ - background: rgba(64, 64, 255, 0.2); -} - -.at-cursor-beat { - /* Defines the beat cursor */ - background: rgba(64, 64, 255, 0.75); - width: 3px; -} - -.at-highlight * { - /* Defines the color of the music symbols when they are being played (svg) */ - fill: #0078ff; - stroke: #0078ff; -} \ No newline at end of file diff --git a/src/vite-vue/src/vite-env.d.ts b/src/vite-vue/src/vite-env.d.ts deleted file mode 100644 index 11f02fe..0000000 --- a/src/vite-vue/src/vite-env.d.ts +++ /dev/null @@ -1 +0,0 @@ -/// diff --git a/src/vite-vue/tsconfig.json b/src/vite-vue/tsconfig.json deleted file mode 100644 index 9e03e60..0000000 --- a/src/vite-vue/tsconfig.json +++ /dev/null @@ -1,25 +0,0 @@ -{ - "compilerOptions": { - "target": "ES2020", - "useDefineForClassFields": true, - "module": "ESNext", - "lib": ["ES2020", "DOM", "DOM.Iterable"], - "skipLibCheck": true, - - /* Bundler mode */ - "moduleResolution": "bundler", - "allowImportingTsExtensions": true, - "resolveJsonModule": true, - "isolatedModules": true, - "noEmit": true, - "jsx": "preserve", - - /* Linting */ - "strict": true, - "noUnusedLocals": true, - "noUnusedParameters": true, - "noFallthroughCasesInSwitch": true - }, - "include": ["src/**/*.ts", "src/**/*.tsx", "src/**/*.vue"], - "references": [{ "path": "./tsconfig.node.json" }] -} diff --git a/src/vite-vue/tsconfig.node.json b/src/vite-vue/tsconfig.node.json deleted file mode 100644 index 97ede7e..0000000 --- a/src/vite-vue/tsconfig.node.json +++ /dev/null @@ -1,11 +0,0 @@ -{ - "compilerOptions": { - "composite": true, - "skipLibCheck": true, - "module": "ESNext", - "moduleResolution": "bundler", - "allowSyntheticDefaultImports": true, - "strict": true - }, - "include": ["vite.config.ts"] -} diff --git a/src/vite-vue/vite.config.ts b/src/vite-vue/vite.config.ts deleted file mode 100644 index 18eea65..0000000 --- a/src/vite-vue/vite.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { defineConfig } from "vite"; -import vue from "@vitejs/plugin-vue"; -import { alphaTab } from "@coderline/alphatab/vite"; - -// https://vitejs.dev/config/ -export default defineConfig({ - plugins: [vue(), alphaTab()], -}); diff --git a/src/vue-3-vite/.gitignore b/src/vue-3-vite/.gitignore new file mode 100644 index 0000000..e3a864b --- /dev/null +++ b/src/vue-3-vite/.gitignore @@ -0,0 +1,6 @@ +node_modules +dist +*.tsbuildinfo +# copied by @coderline/alphatab-vite on every build/dev start +public/font +public/soundfont diff --git a/src/vue-3-vite/README.md b/src/vue-3-vite/README.md new file mode 100644 index 0000000..0e582f9 --- /dev/null +++ b/src/vue-3-vite/README.md @@ -0,0 +1,51 @@ +# alphaTab with Vue 3 and Vite + +Loads and renders "Iron Waltz" (`public/iron-waltz.gp`, a Guitar Pro file of alphaTab's own demo song) and plays it back from a Vue single-file component (` + + diff --git a/src/vue-3-vite/package.json b/src/vue-3-vite/package.json new file mode 100644 index 0000000..33f7954 --- /dev/null +++ b/src/vue-3-vite/package.json @@ -0,0 +1,24 @@ +{ + "name": "vue-3-vite", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite", + "build": "vue-tsc -b && vite build", + "preview": "vite preview" + }, + "dependencies": { + "@coderline/alphatab": "^1.9.0-alpha.1965", + "vue": "^3.5.44" + }, + "devDependencies": { + "@coderline/alphatab-vite": "^1.9.0-alpha.1965", + "@types/node": "^24.19.2", + "@vitejs/plugin-vue": "^6.0.10", + "@vue/tsconfig": "^0.9.1", + "typescript": "~6.0.3", + "vite": "^8.3.5", + "vue-tsc": "^3.3.13" + } +} diff --git a/src/vue-3-vite/public/iron-waltz.gp b/src/vue-3-vite/public/iron-waltz.gp new file mode 100644 index 0000000000000000000000000000000000000000..15c11388b581afcd7c57e38a14645d8686e547c7 GIT binary patch literal 72703 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 v@?wkh7yuLcfPe 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 B6lDMa literal 0 HcmV?d00001 diff --git a/src/vue-3-vite/src/App.vue b/src/vue-3-vite/src/App.vue new file mode 100644 index 0000000..327c425 --- /dev/null +++ b/src/vue-3-vite/src/App.vue @@ -0,0 +1,40 @@ + + + diff --git a/src/vue-3-vite/src/main.ts b/src/vue-3-vite/src/main.ts new file mode 100644 index 0000000..684d042 --- /dev/null +++ b/src/vue-3-vite/src/main.ts @@ -0,0 +1,4 @@ +import { createApp } from 'vue'; +import App from './App.vue'; + +createApp(App).mount('#app'); diff --git a/src/vue-3-vite/tsconfig.app.json b/src/vue-3-vite/tsconfig.app.json new file mode 100644 index 0000000..b964922 --- /dev/null +++ b/src/vue-3-vite/tsconfig.app.json @@ -0,0 +1,10 @@ +{ + "extends": "@vue/tsconfig/tsconfig.dom.json", + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo", + "types": ["vite/client"], + "noUnusedLocals": true, + "noUnusedParameters": true + }, + "include": ["src/**/*.ts", "src/**/*.vue"] +} diff --git a/src/vue-3-vite/tsconfig.json b/src/vue-3-vite/tsconfig.json new file mode 100644 index 0000000..d32ff68 --- /dev/null +++ b/src/vue-3-vite/tsconfig.json @@ -0,0 +1,4 @@ +{ + "files": [], + "references": [{ "path": "./tsconfig.app.json" }, { "path": "./tsconfig.node.json" }] +} diff --git a/src/vue-3-vite/tsconfig.node.json b/src/vue-3-vite/tsconfig.node.json new file mode 100644 index 0000000..b1375cf --- /dev/null +++ b/src/vue-3-vite/tsconfig.node.json @@ -0,0 +1,15 @@ +{ + "compilerOptions": { + "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo", + "target": "es2023", + "lib": ["ES2023"], + "types": ["node"], + "skipLibCheck": true, + "module": "nodenext", + "verbatimModuleSyntax": true, + "moduleDetection": "force", + "noEmit": true, + "strict": true + }, + "include": ["vite.config.ts"] +} diff --git a/src/vue-3-vite/vite.config.ts b/src/vue-3-vite/vite.config.ts new file mode 100644 index 0000000..9d5c301 --- /dev/null +++ b/src/vue-3-vite/vite.config.ts @@ -0,0 +1,7 @@ +import { alphaTab } from '@coderline/alphatab-vite'; +import vue from '@vitejs/plugin-vue'; +import { defineConfig } from 'vite'; + +export default defineConfig({ + plugins: [vue(), alphaTab()] +}); diff --git a/src/webpack-angular-17/.editorconfig b/src/webpack-angular-17/.editorconfig deleted file mode 100644 index 59d9a3a..0000000 --- a/src/webpack-angular-17/.editorconfig +++ /dev/null @@ -1,16 +0,0 @@ -# Editor configuration, see https://editorconfig.org -root = true - -[*] -charset = utf-8 -indent_style = space -indent_size = 2 -insert_final_newline = true -trim_trailing_whitespace = true - -[*.ts] -quote_type = single - -[*.md] -max_line_length = off -trim_trailing_whitespace = false diff --git a/src/webpack-angular-17/.vscode/extensions.json b/src/webpack-angular-17/.vscode/extensions.json deleted file mode 100644 index 77b3745..0000000 --- a/src/webpack-angular-17/.vscode/extensions.json +++ /dev/null @@ -1,4 +0,0 @@ -{ - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=827846 - "recommendations": ["angular.ng-template"] -} diff --git a/src/webpack-angular-17/.vscode/launch.json b/src/webpack-angular-17/.vscode/launch.json deleted file mode 100644 index 925af83..0000000 --- a/src/webpack-angular-17/.vscode/launch.json +++ /dev/null @@ -1,20 +0,0 @@ -{ - // For more information, visit: https://go.microsoft.com/fwlink/?linkid=830387 - "version": "0.2.0", - "configurations": [ - { - "name": "ng serve", - "type": "chrome", - "request": "launch", - "preLaunchTask": "npm: start", - "url": "http://localhost:4200/" - }, - { - "name": "ng test", - "type": "chrome", - "request": "launch", - "preLaunchTask": "npm: test", - "url": "http://localhost:9876/debug.html" - } - ] -} diff --git a/src/webpack-angular-17/.vscode/tasks.json b/src/webpack-angular-17/.vscode/tasks.json deleted file mode 100644 index a298b5b..0000000 --- a/src/webpack-angular-17/.vscode/tasks.json +++ /dev/null @@ -1,42 +0,0 @@ -{ - // For more information, visit: https://go.microsoft.com/fwlink/?LinkId=733558 - "version": "2.0.0", - "tasks": [ - { - "type": "npm", - "script": "start", - "isBackground": true, - "problemMatcher": { - "owner": "typescript", - "pattern": "$tsc", - "background": { - "activeOnStart": true, - "beginsPattern": { - "regexp": "(.*?)" - }, - "endsPattern": { - "regexp": "bundle generation complete" - } - } - } - }, - { - "type": "npm", - "script": "test", - "isBackground": true, - "problemMatcher": { - "owner": "typescript", - "pattern": "$tsc", - "background": { - "activeOnStart": true, - "beginsPattern": { - "regexp": "(.*?)" - }, - "endsPattern": { - "regexp": "bundle generation complete" - } - } - } - } - ] -} diff --git a/src/webpack-angular-17/README.md b/src/webpack-angular-17/README.md deleted file mode 100644 index 7c6098f..0000000 --- a/src/webpack-angular-17/README.md +++ /dev/null @@ -1,42 +0,0 @@ -# AlphaTab Angular Demo - -This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 17.2.2. - -## Customizations made to make alphaTab work with Angular - -* Install `@coderline/alphatab` and `@angular-builders/custom-webpack` -* Use `@angular-builders/custom-webpack` to supply a custom WebPack config - * Set `projects.alphatab-app.architect.build.builder` to `@angular-builders/custom-webpack:browser` - * Added `projects.alphatab-app.architect.options.customWebpackConfig` - * Changed `"browser": "src/main.ts"` to `"main": "src/main.ts"` - * Set `projects.alphatab-app.architect.serve.builder` to `@angular-builders/custom-webpack:dev-server` - * Added `projects.alphatab-app.architect.serve.options.buildTarget` -* Added `custom-webpack.config.js` and registered the AlphaTab WebPack Plugin - -## The alphaTab component - -alphaTab is initialized in the `app.component` using an `ElementRef`. - -## Development server - -Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files. - -## Code scaffolding - -Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`. - -## Build - -Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory. - -## Running unit tests - -Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io). - -## Running end-to-end tests - -Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities. - -## Further help - -To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page. diff --git a/src/webpack-angular-17/angular.json b/src/webpack-angular-17/angular.json deleted file mode 100644 index 893758b..0000000 --- a/src/webpack-angular-17/angular.json +++ /dev/null @@ -1,107 +0,0 @@ -{ - "$schema": "./node_modules/@angular/cli/lib/config/schema.json", - "version": 1, - "newProjectRoot": "projects", - "projects": { - "alphatab-app": { - "projectType": "application", - "schematics": {}, - "root": "", - "sourceRoot": "src", - "prefix": "app", - "architect": { - "build": { - "builder": "@angular-builders/custom-webpack:browser", - "options": { - "customWebpackConfig": { - "path": "./custom-webpack.config.js" - }, - "outputPath": "dist/alphatab-app", - "index": "src/index.html", - "main": "src/main.ts", - "polyfills": [ - "zone.js" - ], - "tsConfig": "tsconfig.app.json", - "assets": [ - "src/favicon.ico", - "src/assets" - ], - "styles": [ - "src/styles.css" - ], - "scripts": [] - }, - "configurations": { - "production": { - "budgets": [ - { - "type": "initial", - "maximumWarning": "500kb", - "maximumError": "1mb" - }, - { - "type": "anyComponentStyle", - "maximumWarning": "2kb", - "maximumError": "4kb" - } - ], - "outputHashing": "all" - }, - "development": { - "optimization": false, - "extractLicenses": false, - "sourceMap": true - }, - "tsEsm": { - "customWebpackConfig": { - "path": "custom-webpack.config.ts" - }, - "indexTransform": "index.transform.ts" - } - }, - "defaultConfiguration": "production" - }, - "serve": { - "builder": "@angular-builders/custom-webpack:dev-server", - "options": { - "buildTarget": "alphatab-app:build" - }, - "configurations": { - "production": { - "buildTarget": "alphatab-app:build:production" - }, - "development": { - "buildTarget": "alphatab-app:build:development" - } - }, - "defaultConfiguration": "development" - }, - "extract-i18n": { - "builder": "@angular-devkit/build-angular:extract-i18n", - "options": { - "buildTarget": "alphatab-app:build" - } - }, - "test": { - "builder": "@angular-devkit/build-angular:karma", - "options": { - "polyfills": [ - "zone.js", - "zone.js/testing" - ], - "tsConfig": "tsconfig.spec.json", - "assets": [ - "src/favicon.ico", - "src/assets" - ], - "styles": [ - "src/styles.css" - ], - "scripts": [] - } - } - } - } - } -} \ No newline at end of file diff --git a/src/webpack-angular-17/custom-webpack.config.js b/src/webpack-angular-17/custom-webpack.config.js deleted file mode 100644 index b5bcb98..0000000 --- a/src/webpack-angular-17/custom-webpack.config.js +++ /dev/null @@ -1,7 +0,0 @@ -const { AlphaTabWebPackPlugin } = require('@coderline/alphatab/webpack'); - -module.exports = { - plugins: [ - new AlphaTabWebPackPlugin() - ] -}; \ No newline at end of file diff --git a/src/webpack-angular-17/package-lock.json b/src/webpack-angular-17/package-lock.json deleted file mode 100644 index 34d2978..0000000 --- a/src/webpack-angular-17/package-lock.json +++ /dev/null @@ -1,12500 +0,0 @@ -{ - "name": "alphatab-app", - "version": "0.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "alphatab-app", - "version": "0.0.0", - "dependencies": { - "@angular/animations": "^17.2.0", - "@angular/common": "^17.2.0", - "@angular/compiler": "^17.2.0", - "@angular/core": "^17.2.0", - "@angular/forms": "^17.2.0", - "@angular/platform-browser": "^17.2.0", - "@angular/platform-browser-dynamic": "^17.2.0", - "@angular/router": "^17.2.0", - "@coderline/alphatab": "^1.5.0-alpha.1396", - "rxjs": "~7.8.0", - "tslib": "^2.3.0", - "zone.js": "~0.14.3" - }, - "devDependencies": { - "@angular-builders/custom-webpack": "^17.0.1", - "@angular-devkit/build-angular": "^17.2.2", - "@angular/cli": "^17.2.2", - "@angular/compiler-cli": "^17.2.0", - "@types/jasmine": "~5.1.0", - "jasmine-core": "~5.1.0", - "karma": "~6.4.0", - "karma-chrome-launcher": "~3.2.0", - "karma-coverage": "~2.2.0", - "karma-jasmine": "~5.1.0", - "karma-jasmine-html-reporter": "~2.1.0", - "typescript": "~5.3.2" - } - }, - "node_modules/@ampproject/remapping": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", - "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@angular-builders/common": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@angular-builders/common/-/common-1.0.1.tgz", - "integrity": "sha512-qPgTjz3ISdGIY+vOIiUzpZRXwchdL/HEhCRzM2QKdqz/c5AB06X9wKhvXezabtzpYSq4lN9fliPYCntqimefFw==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "^17.1.0", - "ts-node": "^10.0.0", - "tsconfig-paths": "^4.1.0" - }, - "engines": { - "node": "^14.20.0 || ^16.13.0 || >=18.10.0" - } - }, - "node_modules/@angular-builders/custom-webpack": { - "version": "17.0.1", - "resolved": "https://registry.npmjs.org/@angular-builders/custom-webpack/-/custom-webpack-17.0.1.tgz", - "integrity": "sha512-wRmCy8B+/SPv10Ufy2WqDhU68UGxF6fPPGu2ZeBRqzh10axvdfyD20a4v8xITfAaraOJb/MA4qsUs0x96QQCCQ==", - "dev": true, - "dependencies": { - "@angular-builders/common": "1.0.1", - "@angular-devkit/architect": ">=0.1700.0 < 0.1800.0", - "@angular-devkit/build-angular": "^17.0.0", - "@angular-devkit/core": "^17.0.0", - "lodash": "^4.17.15", - "webpack-merge": "^5.7.3" - }, - "engines": { - "node": "^14.20.0 || ^16.13.0 || >=18.10.0" - }, - "peerDependencies": { - "@angular/compiler-cli": "^17.0.0" - } - }, - "node_modules/@angular-devkit/architect": { - "version": "0.1702.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1702.2.tgz", - "integrity": "sha512-qBvif8/NquFUqVQgs4U+8wXh/rQZv+YlYwg6eDZly1bIaTd/k9spko/seTtNT1OpK/Be+GLo5IbiQ7i2SON3iQ==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "17.2.2", - "rxjs": "7.8.1" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular-devkit/build-angular": { - "version": "17.2.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-17.2.2.tgz", - "integrity": "sha512-K55xBiWBfxD4wmxLR2viOPbBryOk6YaZeNr72IMkp1yIrIy1BES6LDJi7R9fDW7+TprqZdM4B91Tkc+BCwYQzQ==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "2.2.1", - "@angular-devkit/architect": "0.1702.2", - "@angular-devkit/build-webpack": "0.1702.2", - "@angular-devkit/core": "17.2.2", - "@babel/core": "7.23.9", - "@babel/generator": "7.23.6", - "@babel/helper-annotate-as-pure": "7.22.5", - "@babel/helper-split-export-declaration": "7.22.6", - "@babel/plugin-transform-async-generator-functions": "7.23.9", - "@babel/plugin-transform-async-to-generator": "7.23.3", - "@babel/plugin-transform-runtime": "7.23.9", - "@babel/preset-env": "7.23.9", - "@babel/runtime": "7.23.9", - "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "17.2.2", - "@vitejs/plugin-basic-ssl": "1.1.0", - "ansi-colors": "4.1.3", - "autoprefixer": "10.4.17", - "babel-loader": "9.1.3", - "babel-plugin-istanbul": "6.1.1", - "browserslist": "^4.21.5", - "copy-webpack-plugin": "11.0.0", - "critters": "0.0.20", - "css-loader": "6.10.0", - "esbuild-wasm": "0.20.0", - "fast-glob": "3.3.2", - "http-proxy-middleware": "2.0.6", - "https-proxy-agent": "7.0.2", - "inquirer": "9.2.14", - "jsonc-parser": "3.2.1", - "karma-source-map-support": "1.4.0", - "less": "4.2.0", - "less-loader": "11.1.0", - "license-webpack-plugin": "4.0.2", - "loader-utils": "3.2.1", - "magic-string": "0.30.7", - "mini-css-extract-plugin": "2.8.0", - "mrmime": "2.0.0", - "open": "8.4.2", - "ora": "5.4.1", - "parse5-html-rewriting-stream": "7.0.0", - "picomatch": "4.0.1", - "piscina": "4.3.1", - "postcss": "8.4.35", - "postcss-loader": "8.1.0", - "resolve-url-loader": "5.0.0", - "rxjs": "7.8.1", - "sass": "1.70.0", - "sass-loader": "14.1.0", - "semver": "7.6.0", - "source-map-loader": "5.0.0", - "source-map-support": "0.5.21", - "terser": "5.27.0", - "tree-kill": "1.2.2", - "tslib": "2.6.2", - "undici": "6.6.2", - "vite": "5.0.12", - "watchpack": "2.4.0", - "webpack": "5.90.1", - "webpack-dev-middleware": "6.1.1", - "webpack-dev-server": "4.15.1", - "webpack-merge": "5.10.0", - "webpack-subresource-integrity": "5.1.0" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "optionalDependencies": { - "esbuild": "0.20.0" - }, - "peerDependencies": { - "@angular/compiler-cli": "^17.0.0", - "@angular/localize": "^17.0.0", - "@angular/platform-server": "^17.0.0", - "@angular/service-worker": "^17.0.0", - "@web/test-runner": "^0.18.0", - "browser-sync": "^3.0.2", - "jest": "^29.5.0", - "jest-environment-jsdom": "^29.5.0", - "karma": "^6.3.0", - "ng-packagr": "^17.0.0", - "protractor": "^7.0.0", - "tailwindcss": "^2.0.0 || ^3.0.0", - "typescript": ">=5.2 <5.4" - }, - "peerDependenciesMeta": { - "@angular/localize": { - "optional": true - }, - "@angular/platform-server": { - "optional": true - }, - "@angular/service-worker": { - "optional": true - }, - "@web/test-runner": { - "optional": true - }, - "browser-sync": { - "optional": true - }, - "jest": { - "optional": true - }, - "jest-environment-jsdom": { - "optional": true - }, - "karma": { - "optional": true - }, - "ng-packagr": { - "optional": true - }, - "protractor": { - "optional": true - }, - "tailwindcss": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/build-webpack": { - "version": "0.1702.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1702.2.tgz", - "integrity": "sha512-+c7rHD2Se1VD9i9uPEYHqhq8hTnsUAn5LfeJCLS8g7FU8T42tDSC/k1qWxHp7d99kf7ecg2BvYcZDlYaBUnl3A==", - "dev": true, - "dependencies": { - "@angular-devkit/architect": "0.1702.2", - "rxjs": "7.8.1" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "webpack": "^5.30.0", - "webpack-dev-server": "^4.0.0" - } - }, - "node_modules/@angular-devkit/core": { - "version": "17.2.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-17.2.2.tgz", - "integrity": "sha512-bKMi6bBkEeN4a3qTxCykhrAvE0ESHhKO38Qh1bN/8QSyvKVAEyVAVls5W9IN5GKRHvXgEn9aw+DSzRnPpy9nyw==", - "dev": true, - "dependencies": { - "ajv": "8.12.0", - "ajv-formats": "2.1.1", - "jsonc-parser": "3.2.1", - "picomatch": "4.0.1", - "rxjs": "7.8.1", - "source-map": "0.7.4" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "chokidar": "^3.5.2" - }, - "peerDependenciesMeta": { - "chokidar": { - "optional": true - } - } - }, - "node_modules/@angular-devkit/schematics": { - "version": "17.2.2", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-17.2.2.tgz", - "integrity": "sha512-t6dBhHvto9BEIo+Kew0+YyIS3TV1SEd4MActUk+zF4NNQyJ8wRUHL+8glUKB6ZWPyCTYSinJ+QKn/3yytELTHg==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "17.2.2", - "jsonc-parser": "3.2.1", - "magic-string": "0.30.7", - "ora": "5.4.1", - "rxjs": "7.8.1" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular/animations": { - "version": "17.2.3", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-17.2.3.tgz", - "integrity": "sha512-eQcN6hC/dXISEYC/TjRuQJgfdZieBROBlXrS+BxRbsy9T4/QeKxChC3yiNxTmdxl5mvjLKvQTXHR8X0AWc07/Q==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0" - }, - "peerDependencies": { - "@angular/core": "17.2.3" - } - }, - "node_modules/@angular/cli": { - "version": "17.2.2", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-17.2.2.tgz", - "integrity": "sha512-cGGOnOTjU1bHBAU+5LMR1vfjUSmIY204pUcRAHu6xq1Qp8jm0Wf1lYOG1KrzpDezKa8d0WZe6FIVlxsCZRRYSw==", - "dev": true, - "dependencies": { - "@angular-devkit/architect": "0.1702.2", - "@angular-devkit/core": "17.2.2", - "@angular-devkit/schematics": "17.2.2", - "@schematics/angular": "17.2.2", - "@yarnpkg/lockfile": "1.1.0", - "ansi-colors": "4.1.3", - "ini": "4.1.1", - "inquirer": "9.2.14", - "jsonc-parser": "3.2.1", - "npm-package-arg": "11.0.1", - "npm-pick-manifest": "9.0.0", - "open": "8.4.2", - "ora": "5.4.1", - "pacote": "17.0.6", - "resolve": "1.22.8", - "semver": "7.6.0", - "symbol-observable": "4.0.0", - "yargs": "17.7.2" - }, - "bin": { - "ng": "bin/ng.js" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@angular/common": { - "version": "17.2.3", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-17.2.3.tgz", - "integrity": "sha512-XR3rWS4W7/+RknyJMUUo9E81mSeyUznpclqTZ+Hy7+i4Naeso0qcRaIyr6JJmB5UGvlnfT1MlH9Fj78Dc80NEw==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0" - }, - "peerDependencies": { - "@angular/core": "17.2.3", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@angular/compiler": { - "version": "17.2.3", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-17.2.3.tgz", - "integrity": "sha512-U2okLZ+4ipD5zTv32pMp+RsrM3kkP0XneSsIMPRpYZZfKgfnGLIwkRx6FoVoBwByugng6lBG/PiIe8DhRU/HFg==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0" - }, - "peerDependencies": { - "@angular/core": "17.2.3" - }, - "peerDependenciesMeta": { - "@angular/core": { - "optional": true - } - } - }, - "node_modules/@angular/compiler-cli": { - "version": "17.2.3", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-17.2.3.tgz", - "integrity": "sha512-mATybangypneXwO270VQeIw3N0avzc2Lpvdb8nm9WZYj23AcTUzpUUKOn63HtJdwMT5J2GjkyZFSRXisiPmpkA==", - "dev": true, - "dependencies": { - "@babel/core": "7.23.9", - "@jridgewell/sourcemap-codec": "^1.4.14", - "chokidar": "^3.0.0", - "convert-source-map": "^1.5.1", - "reflect-metadata": "^0.2.0", - "semver": "^7.0.0", - "tslib": "^2.3.0", - "yargs": "^17.2.1" - }, - "bin": { - "ng-xi18n": "bundles/src/bin/ng_xi18n.js", - "ngc": "bundles/src/bin/ngc.js", - "ngcc": "bundles/ngcc/index.js" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0" - }, - "peerDependencies": { - "@angular/compiler": "17.2.3", - "typescript": ">=5.2 <5.4" - } - }, - "node_modules/@angular/core": { - "version": "17.2.3", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-17.2.3.tgz", - "integrity": "sha512-DU+RdUB4E4I489R2P2hOrgkCDJNXlVaTzYixpgeDnuldCIYM0MatEzjor9DYNL3EDCayHF+M4HlVOcn6T/IVPQ==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0" - }, - "peerDependencies": { - "rxjs": "^6.5.3 || ^7.4.0", - "zone.js": "~0.14.0" - } - }, - "node_modules/@angular/forms": { - "version": "17.2.3", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-17.2.3.tgz", - "integrity": "sha512-v+/6pimht808F5XpmVTNV4/109s+A7m3nadQP97qvIDsrtwrPPZR7cST+DRioG2C41VwtjXM0HVbIon/3ydo6A==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0" - }, - "peerDependencies": { - "@angular/common": "17.2.3", - "@angular/core": "17.2.3", - "@angular/platform-browser": "17.2.3", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@angular/platform-browser": { - "version": "17.2.3", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-17.2.3.tgz", - "integrity": "sha512-bFi+H8avyCjwSBy+zpOKmqx852MRH8fkuZa4XgwKCPJRay8BfSCjHdtIo3eokUNPMu9JsyXM7HYKIfzLu5y6LA==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0" - }, - "peerDependencies": { - "@angular/animations": "17.2.3", - "@angular/common": "17.2.3", - "@angular/core": "17.2.3" - }, - "peerDependenciesMeta": { - "@angular/animations": { - "optional": true - } - } - }, - "node_modules/@angular/platform-browser-dynamic": { - "version": "17.2.3", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-17.2.3.tgz", - "integrity": "sha512-K8CsHbmG2nvV1jrNN9PYxyA0zJNoIWp+qf2udvPhG8rJ+Pyw61qmptrarpQUUkr8ONOtjwtOsnKa9/w+15nExw==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0" - }, - "peerDependencies": { - "@angular/common": "17.2.3", - "@angular/compiler": "17.2.3", - "@angular/core": "17.2.3", - "@angular/platform-browser": "17.2.3" - } - }, - "node_modules/@angular/router": { - "version": "17.2.3", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-17.2.3.tgz", - "integrity": "sha512-8UPjMzI98xZ6cDNm0MzHd9hFq6aOQJGmgxKDUPIG2h74glRwwbiewpo5hPo2EGIF8BLvQmmAm9ytr5zesHu0cg==", - "dependencies": { - "tslib": "^2.3.0" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0" - }, - "peerDependencies": { - "@angular/common": "17.2.3", - "@angular/core": "17.2.3", - "@angular/platform-browser": "17.2.3", - "rxjs": "^6.5.3 || ^7.4.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.23.5.tgz", - "integrity": "sha512-CgH3s1a96LipHCmSUmYFPwY7MNx8C3avkq7i4Wl3cfa662ldtUe4VM1TPXX70pfmrlWTb6jLqTYrZyT2ZTJBgA==", - "dev": true, - "dependencies": { - "@babel/highlight": "^7.23.4", - "chalk": "^2.4.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.23.5.tgz", - "integrity": "sha512-uU27kfDRlhfKl+w1U6vp16IuvSLtjAxdArVXPa9BvLkrr7CYIsxH5adpHObeAGY/41+syctUWOZ140a2Rvkgjw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.23.9.tgz", - "integrity": "sha512-5q0175NOjddqpvvzU+kDiSOAk4PfdO6FvwCWoQ6RO7rTzEe8vlo+4HVfcnAREhD4npMs0e9uZypjTwzZPCf/cw==", - "dev": true, - "dependencies": { - "@ampproject/remapping": "^2.2.0", - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helpers": "^7.23.9", - "@babel/parser": "^7.23.9", - "@babel/template": "^7.23.9", - "@babel/traverse": "^7.23.9", - "@babel/types": "^7.23.9", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/core/node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/@babel/core/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/generator": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.23.6.tgz", - "integrity": "sha512-qrSfCYxYQB5owCmGLbl8XRpX1ytXlpueOb0N0UmQwA073KZxejgQTzAmJezxvpwQD9uGtK2shHdi55QT+MbjIw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.23.6", - "@jridgewell/gen-mapping": "^0.3.2", - "@jridgewell/trace-mapping": "^0.3.17", - "jsesc": "^2.5.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-annotate-as-pure": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.22.5.tgz", - "integrity": "sha512-LvBTxu8bQSQkcyKOU+a1btnNFQ1dMAd0R6PyW3arXes06F6QLWLIrd681bxRPIXlrMGR3XYnW9JyML7dP3qgxg==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.22.15.tgz", - "integrity": "sha512-QkBXwGgaoC2GtGZRoma6kv7Szfv06khvhFav67ZExau2RaXzy8MpHSMO2PNoP2XtmQphJQRHFfg77Bq731Yizw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.23.6.tgz", - "integrity": "sha512-9JB548GZoQVmzrFgp8o7KxdgkTGm6xs9DW0o/Pim72UDjzr5ObUQ6ZzYPqA+g9OTS2bBQoctLJrky0RDCAWRgQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-validator-option": "^7.23.5", - "browserslist": "^4.22.2", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-class-features-plugin": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.24.0.tgz", - "integrity": "sha512-QAH+vfvts51BCsNZ2PhY6HAggnlS6omLLFTsIpeqZk/MmJ6cW7tgz5yRv0fMJThcr6FmbMrENh1RgrWPTYA76g==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-member-expression-to-functions": "^7.23.0", - "@babel/helper-optimise-call-expression": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.22.15.tgz", - "integrity": "sha512-29FkPLFjn4TPEa3RE7GpW+qbE8tlsu3jntNYNfcGsc49LphF1PQIiD+vMZ1z1xVOKt+93khA9tc2JBs3kBjA7w==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "regexpu-core": "^5.3.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/helper-define-polyfill-provider": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.5.0.tgz", - "integrity": "sha512-NovQquuQLAQ5HuyjCz7WQP9MjRj7dx++yspwiyUiGl9ZyadHRSql1HZh5ogRd8W8w6YM6EQ/NTB8rgjLt5W65Q==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.6", - "@babel/helper-plugin-utils": "^7.22.5", - "debug": "^4.1.1", - "lodash.debounce": "^4.0.8", - "resolve": "^1.14.2" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/helper-environment-visitor": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.22.20.tgz", - "integrity": "sha512-zfedSIzFhat/gFhWfHtgWvlec0nqB9YEIVrpuwjruLlXfUSnA8cJB0miHKwqDnQ7d32aKo2xt88/xZptwxbfhA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-function-name": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.23.0.tgz", - "integrity": "sha512-OErEqsrxjZTJciZ4Oo+eoZqeW9UIiOcuYKRJA4ZAgV9myA+pOXhhmpfNCKjEH/auVfEYVFJ6y1Tc4r0eIApqiw==", - "dev": true, - "dependencies": { - "@babel/template": "^7.22.15", - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-hoist-variables": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.22.5.tgz", - "integrity": "sha512-wGjk9QZVzvknA6yKIUURb8zY3grXCcOZt+/7Wcy8O2uctxhplmUPkOdlgoNhmdVee2c92JXbf1xpMtVNbfoxRw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-member-expression-to-functions": { - "version": "7.23.0", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.23.0.tgz", - "integrity": "sha512-6gfrPwh7OuT6gZyJZvd6WbTfrqAo7vm4xCzAXOusKqq/vWdKXphTpj5klHKNmRUU6/QRGlBsyU9mAIPaWHlqJA==", - "dev": true, - "dependencies": { - "@babel/types": "^7.23.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.22.15", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.22.15.tgz", - "integrity": "sha512-0pYVBnDKZO2fnSPCrgM/6WMc7eS20Fbok+0r88fp+YtWVLZrp4CkafFGIp+W0VKw4a22sgebPT99y+FDNMdP4w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.23.3.tgz", - "integrity": "sha512-7bBs4ED9OmswdfDzpz4MpWgSrV7FXlc3zIagvLFjS5H+Mk7Snr21vQ6QwrsoCGMfNC4e4LQPdoULEt4ykz0SRQ==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-simple-access": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-optimise-call-expression": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.22.5.tgz", - "integrity": "sha512-HBwaojN0xFRx4yIvpwGqxiV2tUfl7401jlok564NgB9EHS1y6QT17FmKWm4ztqjeVdXLuC4fSvHc5ePpQjoTbw==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.24.0.tgz", - "integrity": "sha512-9cUznXMG0+FxRuJfvL82QlTqIzhVW9sL0KjMPHhAOOvpQGL8QtdxnBKILjBqxlHyliz0yCa1G903ZXI/FuHy2w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-remap-async-to-generator": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.22.20.tgz", - "integrity": "sha512-pBGyV4uBqOns+0UvhsTO8qgl8hO89PmiDYv+/COyp1aeMcmfrfruz+/nCMFiYyFF/Knn0yfrC85ZzNFjembFTw==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-wrap-function": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-replace-supers": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.22.20.tgz", - "integrity": "sha512-qsW0In3dbwQUbK8kejJ4R7IHVGwHJlV6lpG6UA7a9hSa2YEiAib+N1T2kr6PEeUT+Fl7najmSOS6SmAwCHK6Tw==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-member-expression-to-functions": "^7.22.15", - "@babel/helper-optimise-call-expression": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-simple-access": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.22.5.tgz", - "integrity": "sha512-n0H99E/K+Bika3++WNL17POvo4rKWZ7lZEp1Q+fStVbUi8nxPQEBOlTmCOxW/0JsS56SKKQ+ojAe2pHKJHN35w==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.22.5.tgz", - "integrity": "sha512-tK14r66JZKiC43p8Ki33yLBVJKlQDFoA8GYN67lWCDCqoL6EMMSuM9b+Iff2jHaM/RRFYl7K+iiru7hbRqNx8Q==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-split-export-declaration": { - "version": "7.22.6", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.22.6.tgz", - "integrity": "sha512-AsUnxuLhRYsisFiaJwvp1QF+I3KjD5FOxut14q/GzovUe6orHLesW2C7d754kRm53h5gqrz6sFl6sxc4BVtE/g==", - "dev": true, - "dependencies": { - "@babel/types": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.23.4.tgz", - "integrity": "sha512-803gmbQdqwdf4olxrX4AJyFBV/RTr3rSmOj0rKwesmzlfhYNDEs+/iOcznzpNWlJlIlTJC2QfPFcHB6DlzdVLQ==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.22.20.tgz", - "integrity": "sha512-Y4OZ+ytlatR8AI+8KZfKuL5urKp7qey08ha31L8b3BwewJAoJamTzyvxPR/5D+KkdJCGPq/+8TukHBlY10FX9A==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.23.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.23.5.tgz", - "integrity": "sha512-85ttAOMLsr53VgXkTbkx8oA6YTfT4q7/HzXSLEYmjcSTJPMPQtvq1BD79Byep5xMUYbGRzEpDsjUf3dyp54IKw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-wrap-function": { - "version": "7.22.20", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.22.20.tgz", - "integrity": "sha512-pms/UwkOpnQe/PDAEdV/d7dVCoBbB+R4FvYoHGZz+4VPcg7RtYy2KP7S2lbuWM6FCSgob5wshfGESbC/hzNXZw==", - "dev": true, - "dependencies": { - "@babel/helper-function-name": "^7.22.5", - "@babel/template": "^7.22.15", - "@babel/types": "^7.22.19" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.24.0.tgz", - "integrity": "sha512-ulDZdc0Aj5uLc5nETsa7EPx2L7rM0YJM8r7ck7U73AXi7qOV44IHHRAYZHY6iU1rr3C5N4NtTmMRUJP6kwCWeA==", - "dev": true, - "dependencies": { - "@babel/template": "^7.24.0", - "@babel/traverse": "^7.24.0", - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/highlight": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.23.4.tgz", - "integrity": "sha512-acGdbYSfp2WheJoJm/EBBBLh/ID8KDc64ISZ9DYtBmC8/Q204PZJLHyzeB5qMzJ5trcOkybd78M4x2KWsUq++A==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.22.20", - "chalk": "^2.4.2", - "js-tokens": "^4.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.24.0.tgz", - "integrity": "sha512-QuP/FxEAzMSjXygs8v4N9dvdXzEHN4W1oF3PxuWAtPo08UdM17u89RDMgjLn/mlc56iM0HlLmVkO/wgR+rDgHg==", - "dev": true, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.23.3.tgz", - "integrity": "sha512-iRkKcCqb7iGnq9+3G6rZ+Ciz5VywC4XNRHe57lKM+jOeYAoR0lVqdeeDRfh0tQcTfw/+vBhHn926FmQhLtlFLQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.23.3.tgz", - "integrity": "sha512-WwlxbfMNdVEpQjZmK5mhm7oSwD3dS6eU+Iwsi4Knl9wAletWem7kaRsGOG+8UEbRyqxY4SS5zvtfXwX+jMxUwQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-transform-optional-chaining": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.13.0" - } - }, - "node_modules/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": { - "version": "7.23.7", - "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly/-/plugin-bugfix-v8-static-class-fields-redefine-readonly-7.23.7.tgz", - "integrity": "sha512-LlRT7HgaifEpQA1ZgLVOIJZZFVPWN5iReq/7/JixwBtwcoeVGDBD53ZV28rrsLYOZs1Y/EHhA8N/Z6aazHR8cw==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-proposal-private-property-in-object": { - "version": "7.21.0-placeholder-for-preset-env.2", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0-placeholder-for-preset-env.2.tgz", - "integrity": "sha512-SOSkfJDddaM7mak6cPEpswyTRnuRltl429hMraQEglW+OkovnCzsiszTmsrlY//qLFjCpQDFRvjdm2wA5pPm9w==", - "dev": true, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-properties": { - "version": "7.12.13", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", - "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.12.13" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-class-static-block": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", - "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-assertions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.23.3.tgz", - "integrity": "sha512-lPgDSU+SJLK3xmFDTV2ZRQAiM7UuUjGidwBywFavObCiZc1BeAAcMtHJKUya92hPHO+at63JJPLygilZard8jw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-attributes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-attributes/-/plugin-syntax-import-attributes-7.23.3.tgz", - "integrity": "sha512-pawnE0P9g10xgoP7yKr6CK63K2FMsTE+FZidZO/1PwRdzmAPVs+HS1mAURUsgaoxammTJvULUdIkEK0gOcU2tA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-import-meta": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-meta/-/plugin-syntax-import-meta-7.10.4.tgz", - "integrity": "sha512-Yqfm+XDx0+Prh3VSeEQCPU81yC+JWZ2pDPFSS4ZdpfZhp4MkFMaDC1UqseovEKwSUpnIL7+vK+Clp7bfh0iD7g==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.10.4" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.8.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-private-property-in-object": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", - "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-top-level-await": { - "version": "7.14.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", - "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-syntax-unicode-sets-regex": { - "version": "7.18.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-unicode-sets-regex/-/plugin-syntax-unicode-sets-regex-7.18.6.tgz", - "integrity": "sha512-727YkEAPwSIQTv5im8QHz3upqp92JTWhidIC81Tdx4VJYIte/VndKf1qKrfnnhPLiPghStWfvC/iFaMCQu7Nqg==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.18.6", - "@babel/helper-plugin-utils": "^7.18.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-arrow-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.23.3.tgz", - "integrity": "sha512-NzQcQrzaQPkaEwoTm4Mhyl8jI1huEL/WWIEvudjTCMJ9aBZNpsJbMASx7EQECtQQPS/DcnFpo0FIh3LvEO9cxQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-generator-functions": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-generator-functions/-/plugin-transform-async-generator-functions-7.23.9.tgz", - "integrity": "sha512-8Q3veQEDGe14dTYuwagbRtwxQDnytyg1JFu4/HwEMETeofocrB0U0ejBJIXoeG/t2oXZ8kzCyI0ZZfbT80VFNQ==", - "dev": true, - "dependencies": { - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20", - "@babel/plugin-syntax-async-generators": "^7.8.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-async-to-generator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.23.3.tgz", - "integrity": "sha512-A7LFsKi4U4fomjqXJlZg/u0ft/n8/7n7lpffUP/ZULx/DtV9SGlNKZolHH6PE8Xl1ngCc0M11OaeZptXVkfKSw==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-remap-async-to-generator": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoped-functions": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.23.3.tgz", - "integrity": "sha512-vI+0sIaPIO6CNuM9Kk5VmXcMVRiOpDh7w2zZt9GXzmE/9KD70CUEVhvPR/etAeNK/FAEkhxQtXOzVF3EuRL41A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-block-scoping": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.23.4.tgz", - "integrity": "sha512-0QqbP6B6HOh7/8iNR4CQU2Th/bbRtBp4KS9vcaZd1fZ0wSh5Fyssg0UCIHwxh+ka+pNDREbVLQnHCMHKZfPwfw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-properties/-/plugin-transform-class-properties-7.23.3.tgz", - "integrity": "sha512-uM+AN8yCIjDPccsKGlw271xjJtGii+xQIF/uMPS8H15L12jZTsLfF4o5vNO7d/oUguOyfdikHGc/yi9ge4SGIg==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-class-static-block": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-class-static-block/-/plugin-transform-class-static-block-7.23.4.tgz", - "integrity": "sha512-nsWu/1M+ggti1SOALj3hfx5FXzAY06fwPJsUZD4/A5e1bWi46VUIWtD+kOX6/IdhXGsXBWllLFDSnqSCdUNydQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-class-static-block": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0" - } - }, - "node_modules/@babel/plugin-transform-classes": { - "version": "7.23.8", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.23.8.tgz", - "integrity": "sha512-yAYslGsY1bX6Knmg46RjiCiNSwJKv2IUC8qOdYKqMMr0491SXFhcHqOdRDeCRohOOIzwN/90C6mQ9qAKgrP7dg==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20", - "@babel/helper-split-export-declaration": "^7.22.6", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-computed-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.23.3.tgz", - "integrity": "sha512-dTj83UVTLw/+nbiHqQSFdwO9CbTtwq1DsDqm3CUEtDrZNET5rT5E6bIdTlOftDTDLMYxvxHNEYO4B9SLl8SLZw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/template": "^7.22.15" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-destructuring": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.23.3.tgz", - "integrity": "sha512-n225npDqjDIr967cMScVKHXJs7rout1q+tt50inyBCPkyZ8KxeI6d+GIbSBTT/w/9WdlWDOej3V9HE5Lgk57gw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dotall-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.23.3.tgz", - "integrity": "sha512-vgnFYDHAKzFaTVp+mneDsIEbnJ2Np/9ng9iviHw3P/KVcgONxpNULEW/51Z/BaFojG2GI2GwwXck5uV1+1NOYQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-duplicate-keys": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.23.3.tgz", - "integrity": "sha512-RrqQ+BQmU3Oyav3J+7/myfvRCq7Tbz+kKLLshUmMwNlDHExbGL7ARhajvoBJEvc+fCguPPu887N+3RRXBVKZUA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-dynamic-import": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dynamic-import/-/plugin-transform-dynamic-import-7.23.4.tgz", - "integrity": "sha512-V6jIbLhdJK86MaLh4Jpghi8ho5fGzt3imHOBu/x0jlBaPYqDoWz4RDXjmMOfnh+JWNaQleEAByZLV0QzBT4YQQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-exponentiation-operator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.23.3.tgz", - "integrity": "sha512-5fhCsl1odX96u7ILKHBj4/Y8vipoqwsJMh4csSA8qFfxrZDEA4Ssku2DyNvMJSmZNOEBT750LfFPbtrnTP90BQ==", - "dev": true, - "dependencies": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-export-namespace-from": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-export-namespace-from/-/plugin-transform-export-namespace-from-7.23.4.tgz", - "integrity": "sha512-GzuSBcKkx62dGzZI1WVgTWvkkz84FZO5TC5T8dl/Tht/rAla6Dg/Mz9Yhypg+ezVACf/rgDuQt3kbWEv7LdUDQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-for-of": { - "version": "7.23.6", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.23.6.tgz", - "integrity": "sha512-aYH4ytZ0qSuBbpfhuofbg/e96oQ7U2w1Aw/UQmKT+1l39uEhUPoFS3fHevDc1G0OvewyDudfMKY1OulczHzWIw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-function-name": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.23.3.tgz", - "integrity": "sha512-I1QXp1LxIvt8yLaib49dRW5Okt7Q4oaxao6tFVKS/anCdEOMtYwWVKoiOA1p34GOWIZjUK0E+zCp7+l1pfQyiw==", - "dev": true, - "dependencies": { - "@babel/helper-compilation-targets": "^7.22.15", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-json-strings": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-json-strings/-/plugin-transform-json-strings-7.23.4.tgz", - "integrity": "sha512-81nTOqM1dMwZ/aRXQ59zVubN9wHGqk6UtqRK+/q+ciXmRy8fSolhGVvG09HHRGo4l6fr/c4ZhXUQH0uFW7PZbg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-json-strings": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.23.3.tgz", - "integrity": "sha512-wZ0PIXRxnwZvl9AYpqNUxpZ5BiTGrYt7kueGQ+N5FiQ7RCOD4cm8iShd6S6ggfVIWaJf2EMk8eRzAh52RfP4rQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-logical-assignment-operators": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-logical-assignment-operators/-/plugin-transform-logical-assignment-operators-7.23.4.tgz", - "integrity": "sha512-Mc/ALf1rmZTP4JKKEhUwiORU+vcfarFVLfcFiolKUo6sewoxSEgl36ak5t+4WamRsNr6nzjZXQjM35WsU+9vbg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-member-expression-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.23.3.tgz", - "integrity": "sha512-sC3LdDBDi5x96LA+Ytekz2ZPk8i/Ck+DEuDbRAll5rknJ5XRTSaPKEYwomLcs1AA8wg9b3KjIQRsnApj+q51Ag==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-amd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.23.3.tgz", - "integrity": "sha512-vJYQGxeKM4t8hYCKVBlZX/gtIY2I7mRGFNcm85sgXGMTBcoV3QdVtdpbcWEbzbfUIUZKwvgFT82mRvaQIebZzw==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-commonjs": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.23.3.tgz", - "integrity": "sha512-aVS0F65LKsdNOtcz6FRCpE4OgsP2OFnW46qNxNIX9h3wuzaNcSQsJysuMwqSibC98HPrf2vCgtxKNwS0DAlgcA==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-simple-access": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-systemjs": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.23.9.tgz", - "integrity": "sha512-KDlPRM6sLo4o1FkiSlXoAa8edLXFsKKIda779fbLrvmeuc3itnjCtaO6RrtoaANsIJANj+Vk1zqbZIMhkCAHVw==", - "dev": true, - "dependencies": { - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-identifier": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-modules-umd": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.23.3.tgz", - "integrity": "sha512-zHsy9iXX2nIsCBFPud3jKn1IRPWg3Ing1qOZgeKV39m1ZgIdpJqvlWVeiHBZC6ITRG0MfskhYe9cLgntfSFPIg==", - "dev": true, - "dependencies": { - "@babel/helper-module-transforms": "^7.23.3", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.22.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.22.5.tgz", - "integrity": "sha512-YgLLKmS3aUBhHaxp5hi1WJTgOUb/NCuDHzGT9z9WTt3YG+CPRhJs6nprbStx6DnWM4dh6gt7SU3sZodbZ08adQ==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.5", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/plugin-transform-new-target": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.23.3.tgz", - "integrity": "sha512-YJ3xKqtJMAT5/TIZnpAR3I+K+WaDowYbN3xyxI8zxx/Gsypwf9B9h0VB+1Nh6ACAAPRS5NSRje0uVv5i79HYGQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-nullish-coalescing-operator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-nullish-coalescing-operator/-/plugin-transform-nullish-coalescing-operator-7.23.4.tgz", - "integrity": "sha512-jHE9EVVqHKAQx+VePv5LLGHjmHSJR76vawFPTdlxR/LVJPfOEGxREQwQfjuZEOPTwG92X3LINSh3M40Rv4zpVA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-numeric-separator": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-numeric-separator/-/plugin-transform-numeric-separator-7.23.4.tgz", - "integrity": "sha512-mps6auzgwjRrwKEZA05cOwuDc9FAzoyFS4ZsG/8F43bTLf/TgkJg7QXOrPO1JO599iA3qgK9MXdMGOEC8O1h6Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-rest-spread": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-rest-spread/-/plugin-transform-object-rest-spread-7.24.0.tgz", - "integrity": "sha512-y/yKMm7buHpFFXfxVFS4Vk1ToRJDilIa6fKRioB9Vjichv58TDGXTvqV0dN7plobAmTW5eSEGXDngE+Mm+uO+w==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.24.0", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-transform-parameters": "^7.23.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-object-super": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.23.3.tgz", - "integrity": "sha512-BwQ8q0x2JG+3lxCVFohg+KbQM7plfpBwThdW9A6TMtWwLsbDA01Ek2Zb/AgDN39BiZsExm4qrXxjk+P1/fzGrA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-replace-supers": "^7.22.20" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-catch-binding": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-catch-binding/-/plugin-transform-optional-catch-binding-7.23.4.tgz", - "integrity": "sha512-XIq8t0rJPHf6Wvmbn9nFxU6ao4c7WhghTR5WyV8SrJfUFzyxhCm4nhC+iAp3HFhbAKLfYpgzhJ6t4XCtVwqO5A==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-optional-chaining": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-optional-chaining/-/plugin-transform-optional-chaining-7.23.4.tgz", - "integrity": "sha512-ZU8y5zWOfjM5vZ+asjgAPwDaBjJzgufjES89Rs4Lpq63O300R/kOz30WCLo6BxxX6QVEilwSlpClnG5cZaikTA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5", - "@babel/plugin-syntax-optional-chaining": "^7.8.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-parameters": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.23.3.tgz", - "integrity": "sha512-09lMt6UsUb3/34BbECKVbVwrT9bO6lILWln237z7sLaWnMsTi7Yc9fhX5DLpkJzAGfaReXI22wP41SZmnAA3Vw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-methods": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-methods/-/plugin-transform-private-methods-7.23.3.tgz", - "integrity": "sha512-UzqRcRtWsDMTLrRWFvUBDwmw06tCQH9Rl1uAjfh6ijMSmGYQ+fpdB+cnqRC8EMh5tuuxSv0/TejGL+7vyj+50g==", - "dev": true, - "dependencies": { - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-private-property-in-object": { - "version": "7.23.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-private-property-in-object/-/plugin-transform-private-property-in-object-7.23.4.tgz", - "integrity": "sha512-9G3K1YqTq3F4Vt88Djx1UZ79PDyj+yKRnUy7cZGSMe+a7jkwD259uKKuUzQlPkGam7R+8RJwh5z4xO27fA1o2A==", - "dev": true, - "dependencies": { - "@babel/helper-annotate-as-pure": "^7.22.5", - "@babel/helper-create-class-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-property-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.23.3.tgz", - "integrity": "sha512-jR3Jn3y7cZp4oEWPFAlRsSWjxKe4PZILGBSd4nis1TsC5qeSpb+nrtihJuDhNI7QHiVbUaiXa0X2RZY3/TI6Nw==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-regenerator": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.23.3.tgz", - "integrity": "sha512-KP+75h0KghBMcVpuKisx3XTu9Ncut8Q8TuvGO4IhY+9D5DFEckQefOuIsB/gQ2tG71lCke4NMrtIPS8pOj18BQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "regenerator-transform": "^0.15.2" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-reserved-words": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.23.3.tgz", - "integrity": "sha512-QnNTazY54YqgGxwIexMZva9gqbPa15t/x9VS+0fsEFWplwVpXYZivtgl43Z1vMpc1bdPP2PP8siFeVcnFvA3Cg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.23.9.tgz", - "integrity": "sha512-A7clW3a0aSjm3ONU9o2HAILSegJCYlEZmOhmBRReVtIpY/Z/p7yIZ+wR41Z+UipwdGuqwtID/V/dOdZXjwi9gQ==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5", - "babel-plugin-polyfill-corejs2": "^0.4.8", - "babel-plugin-polyfill-corejs3": "^0.9.0", - "babel-plugin-polyfill-regenerator": "^0.5.5", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/plugin-transform-shorthand-properties": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.23.3.tgz", - "integrity": "sha512-ED2fgqZLmexWiN+YNFX26fx4gh5qHDhn1O2gvEhreLW2iI63Sqm4llRLCXALKrCnbN4Jy0VcMQZl/SAzqug/jg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-spread": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.23.3.tgz", - "integrity": "sha512-VvfVYlrlBVu+77xVTOAoxQ6mZbnIq5FM0aGBSFEcIh03qHf+zNqA4DC/3XMUozTg7bZV3e3mZQ0i13VB6v5yUg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-skip-transparent-expression-wrappers": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-sticky-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.23.3.tgz", - "integrity": "sha512-HZOyN9g+rtvnOU3Yh7kSxXrKbzgrm5X4GncPY1QOquu7epga5MxKHVpYu2hvQnry/H+JjckSYRb93iNfsioAGg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-template-literals": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.23.3.tgz", - "integrity": "sha512-Flok06AYNp7GV2oJPZZcP9vZdszev6vPBkHLwxwSpaIqx75wn6mUd3UFWsSsA0l8nXAKkyCmL/sR02m8RYGeHg==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-typeof-symbol": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.23.3.tgz", - "integrity": "sha512-4t15ViVnaFdrPC74be1gXBSMzXk3B4Us9lP7uLRQHTFpV5Dvt33pn+2MyyNxmN3VTTm3oTrZVMUmuw3oBnQ2oQ==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-escapes": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.23.3.tgz", - "integrity": "sha512-OMCUx/bU6ChE3r4+ZdylEqAjaQgHAgipgW8nsCfu5pGqDcFytVd91AwRvUJSBZDz0exPGgnjoqhgRYLRjFZc9Q==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-property-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-property-regex/-/plugin-transform-unicode-property-regex-7.23.3.tgz", - "integrity": "sha512-KcLIm+pDZkWZQAFJ9pdfmh89EwVfmNovFBcXko8szpBeF8z68kWIPeKlmSOkT9BXJxs2C0uk+5LxoxIv62MROA==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.23.3.tgz", - "integrity": "sha512-wMHpNA4x2cIA32b/ci3AfwNgheiva2W0WUKWTK7vBHBhDKfPsc5cFGNWm69WBqpwd86u1qwZ9PWevKqm1A3yAw==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-unicode-sets-regex": { - "version": "7.23.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-sets-regex/-/plugin-transform-unicode-sets-regex-7.23.3.tgz", - "integrity": "sha512-W7lliA/v9bNR83Qc3q1ip9CQMZ09CcHDbHfbLRDNuAhn1Mvkr1ZNF7hPmztMQvtTGVLJ9m8IZqWsTkXOml8dbw==", - "dev": true, - "dependencies": { - "@babel/helper-create-regexp-features-plugin": "^7.22.15", - "@babel/helper-plugin-utils": "^7.22.5" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/preset-env": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.23.9.tgz", - "integrity": "sha512-3kBGTNBBk9DQiPoXYS0g0BYlwTQYUTifqgKTjxUwEUkduRT2QOa0FPGBJ+NROQhGyYO5BuTJwGvBnqKDykac6A==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.23.5", - "@babel/helper-compilation-targets": "^7.23.6", - "@babel/helper-plugin-utils": "^7.22.5", - "@babel/helper-validator-option": "^7.23.5", - "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.23.3", - "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.23.3", - "@babel/plugin-bugfix-v8-static-class-fields-redefine-readonly": "^7.23.7", - "@babel/plugin-proposal-private-property-in-object": "7.21.0-placeholder-for-preset-env.2", - "@babel/plugin-syntax-async-generators": "^7.8.4", - "@babel/plugin-syntax-class-properties": "^7.12.13", - "@babel/plugin-syntax-class-static-block": "^7.14.5", - "@babel/plugin-syntax-dynamic-import": "^7.8.3", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-import-assertions": "^7.23.3", - "@babel/plugin-syntax-import-attributes": "^7.23.3", - "@babel/plugin-syntax-import-meta": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.3", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.3", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", - "@babel/plugin-syntax-optional-chaining": "^7.8.3", - "@babel/plugin-syntax-private-property-in-object": "^7.14.5", - "@babel/plugin-syntax-top-level-await": "^7.14.5", - "@babel/plugin-syntax-unicode-sets-regex": "^7.18.6", - "@babel/plugin-transform-arrow-functions": "^7.23.3", - "@babel/plugin-transform-async-generator-functions": "^7.23.9", - "@babel/plugin-transform-async-to-generator": "^7.23.3", - "@babel/plugin-transform-block-scoped-functions": "^7.23.3", - "@babel/plugin-transform-block-scoping": "^7.23.4", - "@babel/plugin-transform-class-properties": "^7.23.3", - "@babel/plugin-transform-class-static-block": "^7.23.4", - "@babel/plugin-transform-classes": "^7.23.8", - "@babel/plugin-transform-computed-properties": "^7.23.3", - "@babel/plugin-transform-destructuring": "^7.23.3", - "@babel/plugin-transform-dotall-regex": "^7.23.3", - "@babel/plugin-transform-duplicate-keys": "^7.23.3", - "@babel/plugin-transform-dynamic-import": "^7.23.4", - "@babel/plugin-transform-exponentiation-operator": "^7.23.3", - "@babel/plugin-transform-export-namespace-from": "^7.23.4", - "@babel/plugin-transform-for-of": "^7.23.6", - "@babel/plugin-transform-function-name": "^7.23.3", - "@babel/plugin-transform-json-strings": "^7.23.4", - "@babel/plugin-transform-literals": "^7.23.3", - "@babel/plugin-transform-logical-assignment-operators": "^7.23.4", - "@babel/plugin-transform-member-expression-literals": "^7.23.3", - "@babel/plugin-transform-modules-amd": "^7.23.3", - "@babel/plugin-transform-modules-commonjs": "^7.23.3", - "@babel/plugin-transform-modules-systemjs": "^7.23.9", - "@babel/plugin-transform-modules-umd": "^7.23.3", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.22.5", - "@babel/plugin-transform-new-target": "^7.23.3", - "@babel/plugin-transform-nullish-coalescing-operator": "^7.23.4", - "@babel/plugin-transform-numeric-separator": "^7.23.4", - "@babel/plugin-transform-object-rest-spread": "^7.23.4", - "@babel/plugin-transform-object-super": "^7.23.3", - "@babel/plugin-transform-optional-catch-binding": "^7.23.4", - "@babel/plugin-transform-optional-chaining": "^7.23.4", - "@babel/plugin-transform-parameters": "^7.23.3", - "@babel/plugin-transform-private-methods": "^7.23.3", - "@babel/plugin-transform-private-property-in-object": "^7.23.4", - "@babel/plugin-transform-property-literals": "^7.23.3", - "@babel/plugin-transform-regenerator": "^7.23.3", - "@babel/plugin-transform-reserved-words": "^7.23.3", - "@babel/plugin-transform-shorthand-properties": "^7.23.3", - "@babel/plugin-transform-spread": "^7.23.3", - "@babel/plugin-transform-sticky-regex": "^7.23.3", - "@babel/plugin-transform-template-literals": "^7.23.3", - "@babel/plugin-transform-typeof-symbol": "^7.23.3", - "@babel/plugin-transform-unicode-escapes": "^7.23.3", - "@babel/plugin-transform-unicode-property-regex": "^7.23.3", - "@babel/plugin-transform-unicode-regex": "^7.23.3", - "@babel/plugin-transform-unicode-sets-regex": "^7.23.3", - "@babel/preset-modules": "0.1.6-no-external-plugins", - "babel-plugin-polyfill-corejs2": "^0.4.8", - "babel-plugin-polyfill-corejs3": "^0.9.0", - "babel-plugin-polyfill-regenerator": "^0.5.5", - "core-js-compat": "^3.31.0", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/preset-env/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/@babel/preset-modules": { - "version": "0.1.6-no-external-plugins", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.6-no-external-plugins.tgz", - "integrity": "sha512-HrcgcIESLm9aIR842yhJ5RWan/gebQUJ6E/E5+rf0y9o6oj7w0Br+sWuL6kEQ/o/AdfvR1Je9jG18/gnpwjEyA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/@babel/regjsgen": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", - "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", - "dev": true - }, - "node_modules/@babel/runtime": { - "version": "7.23.9", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.23.9.tgz", - "integrity": "sha512-0CX6F+BI2s9dkUqr08KFrAIZgNFj75rdBU/DjCyYLIaV/quFjkk6T+EJ2LkZHyZTbEV4L5p97mNkUsHl2wLFAw==", - "dev": true, - "dependencies": { - "regenerator-runtime": "^0.14.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/template": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.24.0.tgz", - "integrity": "sha512-Bkf2q8lMB0AFpX0NFEqSbx1OkTHf0f+0j82mkw+ZpzBnkk7e9Ql0891vlfgi+kHwOk8tQjiQHpqh4LaSa0fKEA==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.24.0.tgz", - "integrity": "sha512-HfuJlI8qq3dEDmNU5ChzzpZRWq+oxCZQyMzIMEqLho+AQnhMnKQUzH6ydo3RBl/YjPCuk68Y6s0Gx0AeyULiWw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.23.5", - "@babel/generator": "^7.23.6", - "@babel/helper-environment-visitor": "^7.22.20", - "@babel/helper-function-name": "^7.23.0", - "@babel/helper-hoist-variables": "^7.22.5", - "@babel/helper-split-export-declaration": "^7.22.6", - "@babel/parser": "^7.24.0", - "@babel/types": "^7.24.0", - "debug": "^4.3.1", - "globals": "^11.1.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.24.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.24.0.tgz", - "integrity": "sha512-+j7a5c253RfKh8iABBhywc8NSfP5LURe7Uh4qpsh6jc+aLJguvmIUBdjSdEMQv2bENrCR5MfRdjGo7vzS/ob7w==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.23.4", - "@babel/helper-validator-identifier": "^7.22.20", - "to-fast-properties": "^2.0.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@coderline/alphatab": { - "version": "1.5.0-alpha.1396", - "resolved": "https://registry.npmjs.org/@coderline/alphatab/-/alphatab-1.5.0-alpha.1396.tgz", - "integrity": "sha512-6oJHU5NN8pvWiZiLdKtdaW4Ufe/61q5Y2PRLMSCspeTifvmDUJiTTJVpZ+z5n9itLIBLLEfy9ULRbkOIAoyGiw==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@colors/colors": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", - "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", - "dev": true, - "engines": { - "node": ">=0.1.90" - } - }, - "node_modules/@cspotcode/source-map-support": { - "version": "0.8.1", - "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", - "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "0.3.9" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", - "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.0.3", - "@jridgewell/sourcemap-codec": "^1.4.10" - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", - "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.20.0.tgz", - "integrity": "sha512-fGFDEctNh0CcSwsiRPxiaqX0P5rq+AqE0SRhYGZ4PX46Lg1FNR6oCxJghf8YgY0WQEgQuh3lErUFE4KxLeRmmw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.20.0.tgz", - "integrity": "sha512-3bMAfInvByLHfJwYPJRlpTeaQA75n8C/QKpEaiS4HrFWFiJlNI0vzq/zCjBrhAYcPyVPG7Eo9dMrcQXuqmNk5g==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.20.0.tgz", - "integrity": "sha512-aVpnM4lURNkp0D3qPoAzSG92VXStYmoVPOgXveAUoQBWRSuQzt51yvSju29J6AHPmwY1BjH49uR29oyfH1ra8Q==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.20.0.tgz", - "integrity": "sha512-uK7wAnlRvjkCPzh8jJ+QejFyrP8ObKuR5cBIsQZ+qbMunwR8sbd8krmMbxTLSrDhiPZaJYKQAU5Y3iMDcZPhyQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.20.0.tgz", - "integrity": "sha512-AjEcivGAlPs3UAcJedMa9qYg9eSfU6FnGHJjT8s346HSKkrcWlYezGE8VaO2xKfvvlZkgAhyvl06OJOxiMgOYQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.20.0.tgz", - "integrity": "sha512-bsgTPoyYDnPv8ER0HqnJggXK6RyFy4PH4rtsId0V7Efa90u2+EifxytE9pZnsDgExgkARy24WUQGv9irVbTvIw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.20.0.tgz", - "integrity": "sha512-kQ7jYdlKS335mpGbMW5tEe3IrQFIok9r84EM3PXB8qBFJPSc6dpWfrtsC/y1pyrz82xfUIn5ZrnSHQQsd6jebQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.20.0.tgz", - "integrity": "sha512-uG8B0WSepMRsBNVXAQcHf9+Ko/Tr+XqmK7Ptel9HVmnykupXdS4J7ovSQUIi0tQGIndhbqWLaIL/qO/cWhXKyQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.20.0.tgz", - "integrity": "sha512-2ezuhdiZw8vuHf1HKSf4TIk80naTbP9At7sOqZmdVwvvMyuoDiZB49YZKLsLOfKIr77+I40dWpHVeY5JHpIEIg==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.20.0.tgz", - "integrity": "sha512-uTtyYAP5veqi2z9b6Gr0NUoNv9F/rOzI8tOD5jKcCvRUn7T60Bb+42NDBCWNhMjkQzI0qqwXkQGo1SY41G52nw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.20.0.tgz", - "integrity": "sha512-c88wwtfs8tTffPaoJ+SQn3y+lKtgTzyjkD8NgsyCtCmtoIC8RDL7PrJU05an/e9VuAke6eJqGkoMhJK1RY6z4w==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.20.0.tgz", - "integrity": "sha512-lR2rr/128/6svngnVta6JN4gxSXle/yZEZL3o4XZ6esOqhyR4wsKyfu6qXAL04S4S5CgGfG+GYZnjFd4YiG3Aw==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.20.0.tgz", - "integrity": "sha512-9Sycc+1uUsDnJCelDf6ZNqgZQoK1mJvFtqf2MUz4ujTxGhvCWw+4chYfDLPepMEvVL9PDwn6HrXad5yOrNzIsQ==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.20.0.tgz", - "integrity": "sha512-CoWSaaAXOZd+CjbUTdXIJE/t7Oz+4g90A3VBCHLbfuc5yUQU/nFDLOzQsN0cdxgXd97lYW/psIIBdjzQIwTBGw==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.20.0.tgz", - "integrity": "sha512-mlb1hg/eYRJUpv8h/x+4ShgoNLL8wgZ64SUr26KwglTYnwAWjkhR2GpoKftDbPOCnodA9t4Y/b68H4J9XmmPzA==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.20.0.tgz", - "integrity": "sha512-fgf9ubb53xSnOBqyvWEY6ukBNRl1mVX1srPNu06B6mNsNK20JfH6xV6jECzrQ69/VMiTLvHMicQR/PgTOgqJUQ==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.20.0.tgz", - "integrity": "sha512-H9Eu6MGse++204XZcYsse1yFHmRXEWgadk2N58O/xd50P9EvFMLJTQLg+lB4E1cF2xhLZU5luSWtGTb0l9UeSg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.20.0.tgz", - "integrity": "sha512-lCT675rTN1v8Fo+RGrE5KjSnfY0x9Og4RN7t7lVrN3vMSjy34/+3na0q7RIfWDAj0e0rCh0OL+P88lu3Rt21MQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.20.0.tgz", - "integrity": "sha512-HKoUGXz/TOVXKQ+67NhxyHv+aDSZf44QpWLa3I1lLvAwGq8x1k0T+e2HHSRvxWhfJrFxaaqre1+YyzQ99KixoA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.20.0.tgz", - "integrity": "sha512-GDwAqgHQm1mVoPppGsoq4WJwT3vhnz/2N62CzhvApFD1eJyTroob30FPpOZabN+FgCjhG+AgcZyOPIkR8dfD7g==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.20.0.tgz", - "integrity": "sha512-0vYsP8aC4TvMlOQYozoksiaxjlvUcQrac+muDqj1Fxy6jh9l9CZJzj7zmh8JGfiV49cYLTorFLxg7593pGldwQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.20.0.tgz", - "integrity": "sha512-p98u4rIgfh4gdpV00IqknBD5pC84LCub+4a3MO+zjqvU5MVXOc3hqR2UgT2jI2nh3h8s9EQxmOsVI3tyzv1iFg==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.20.0.tgz", - "integrity": "sha512-NgJnesu1RtWihtTtXGFMU5YSE6JyyHPMxCwBZK7a6/8d31GuSo9l0Ss7w1Jw5QnKUawG6UEehs883kcXf5fYwg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/@fastify/busboy": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/@fastify/busboy/-/busboy-2.1.1.tgz", - "integrity": "sha512-vBZP4NlzfOlerQTnba4aqZoMhE/a9HY7HRqoOPaETQcSQuWEIyZMHGfVu6w9wGtGK5fED5qRs2DteVCjOH60sA==", - "dev": true, - "engines": { - "node": ">=14" - } - }, - "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==", - "dev": true, - "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/ansi-regex": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", - "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-regex?sponsor=1" - } - }, - "node_modules/@isaacs/cliui/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==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" - } - }, - "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==", - "dev": true - }, - "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==", - "dev": true, - "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/strip-ansi": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.1.0.tgz", - "integrity": "sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==", - "dev": true, - "dependencies": { - "ansi-regex": "^6.0.1" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/chalk/strip-ansi?sponsor=1" - } - }, - "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==", - "dev": true, - "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/@istanbuljs/load-nyc-config": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", - "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", - "dev": true, - "dependencies": { - "camelcase": "^5.3.1", - "find-up": "^4.1.0", - "get-package-type": "^0.1.0", - "js-yaml": "^3.13.1", - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@istanbuljs/schema": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", - "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.5.tgz", - "integrity": "sha512-IzL8ZoEDIBRWEzlCcRhOaCupYyN5gdIK+Q6fbFdPDg6HqX6jpkItn7DFIpW9LQzXG6Df9sA7+OKnq0qlz/GaQg==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.5.tgz", - "integrity": "sha512-UTYAUj/wviwdsMfzoSJspJxbkH5o1snzwX0//0ENX1u/55kkZZkcTZP6u9bwKGkv+dkk9at4m1Cpt0uY80kcpQ==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.0", - "@jridgewell/trace-mapping": "^0.3.9" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.4.15", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", - "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@leichtgewicht/ip-codec": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", - "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", - "dev": true - }, - "node_modules/@ljharb/through": { - "version": "2.3.12", - "resolved": "https://registry.npmjs.org/@ljharb/through/-/through-2.3.12.tgz", - "integrity": "sha512-ajo/heTlG3QgC8EGP6APIejksVAYt4ayz4tqoP3MolFELzcH1x1fzwEYRJTPO0IELutZ5HQ0c26/GqAYy79u3g==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.5" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/@ngtools/webpack": { - "version": "17.2.2", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-17.2.2.tgz", - "integrity": "sha512-HgvClGO6WVq4VA5d0ZvlDG5hrj8lQzRH99Gt87URm7G8E5XkatysdOsMqUQsJz+OwFWhP4PvTRWVblpBDiDl/A==", - "dev": true, - "engines": { - "node": "^18.13.0 || >=20.9.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - }, - "peerDependencies": { - "@angular/compiler-cli": "^17.0.0", - "typescript": ">=5.2 <5.4", - "webpack": "^5.54.0" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@npmcli/agent": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/@npmcli/agent/-/agent-2.2.1.tgz", - "integrity": "sha512-H4FrOVtNyWC8MUwL3UfjOsAihHvT1Pe8POj3JvjXhSTJipsZMtgUALCT4mGyYZNxymkUfOw3PUj6dE4QPp6osQ==", - "dev": true, - "dependencies": { - "agent-base": "^7.1.0", - "http-proxy-agent": "^7.0.0", - "https-proxy-agent": "^7.0.1", - "lru-cache": "^10.0.1", - "socks-proxy-agent": "^8.0.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/agent/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/@npmcli/fs": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", - "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", - "dev": true, - "dependencies": { - "semver": "^7.3.5" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/git": { - "version": "5.0.4", - "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-5.0.4.tgz", - "integrity": "sha512-nr6/WezNzuYUppzXRaYu/W4aT5rLxdXqEFupbh6e/ovlYFQ8hpu1UUPV3Ir/YTl+74iXl2ZOMlGzudh9ZPUchQ==", - "dev": true, - "dependencies": { - "@npmcli/promise-spawn": "^7.0.0", - "lru-cache": "^10.0.1", - "npm-pick-manifest": "^9.0.0", - "proc-log": "^3.0.0", - "promise-inflight": "^1.0.1", - "promise-retry": "^2.0.1", - "semver": "^7.3.5", - "which": "^4.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/git/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true, - "engines": { - "node": ">=16" - } - }, - "node_modules/@npmcli/git/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/@npmcli/git/node_modules/which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", - "dev": true, - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/installed-package-contents": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", - "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", - "dev": true, - "dependencies": { - "npm-bundled": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "bin": { - "installed-package-contents": "lib/index.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/node-gyp": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", - "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/package-json": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/@npmcli/package-json/-/package-json-5.0.0.tgz", - "integrity": "sha512-OI2zdYBLhQ7kpNPaJxiflofYIpkNLi+lnGdzqUOfRmCF3r2l1nadcjtCYMJKv/Utm/ZtlffaUuTiAktPHbc17g==", - "dev": true, - "dependencies": { - "@npmcli/git": "^5.0.0", - "glob": "^10.2.2", - "hosted-git-info": "^7.0.0", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^6.0.0", - "proc-log": "^3.0.0", - "semver": "^7.5.3" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/package-json/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@npmcli/package-json/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@npmcli/package-json/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@npmcli/promise-spawn": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-7.0.1.tgz", - "integrity": "sha512-P4KkF9jX3y+7yFUxgcUdDtLy+t4OlDGuEBLNs57AZsfSfg+uV6MLndqGpnl4831ggaEdXwR50XFoZP4VFtHolg==", - "dev": true, - "dependencies": { - "which": "^4.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/promise-spawn/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true, - "engines": { - "node": ">=16" - } - }, - "node_modules/@npmcli/promise-spawn/node_modules/which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", - "dev": true, - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^16.13.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/run-script": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-7.0.4.tgz", - "integrity": "sha512-9ApYM/3+rBt9V80aYg6tZfzj3UWdiYyCt7gJUD1VJKvWF5nwKDSICXbYIQbspFTq6TOpbsEtIC0LArB8d9PFmg==", - "dev": true, - "dependencies": { - "@npmcli/node-gyp": "^3.0.0", - "@npmcli/package-json": "^5.0.0", - "@npmcli/promise-spawn": "^7.0.0", - "node-gyp": "^10.0.0", - "which": "^4.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@npmcli/run-script/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true, - "engines": { - "node": ">=16" - } - }, - "node_modules/@npmcli/run-script/node_modules/which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", - "dev": true, - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^16.13.0 || >=18.0.0" - } - }, - "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==", - "dev": true, - "optional": true, - "engines": { - "node": ">=14" - } - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.12.0.tgz", - "integrity": "sha512-+ac02NL/2TCKRrJu2wffk1kZ+RyqxVUlbjSagNgPm94frxtr+XDL12E5Ll1enWskLrtrZ2r8L3wED1orIibV/w==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.12.0.tgz", - "integrity": "sha512-OBqcX2BMe6nvjQ0Nyp7cC90cnumt8PXmO7Dp3gfAju/6YwG0Tj74z1vKrfRz7qAv23nBcYM8BCbhrsWqO7PzQQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.12.0.tgz", - "integrity": "sha512-X64tZd8dRE/QTrBIEs63kaOBG0b5GVEd3ccoLtyf6IdXtHdh8h+I56C2yC3PtC9Ucnv0CpNFJLqKFVgCYe0lOQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.12.0.tgz", - "integrity": "sha512-cc71KUZoVbUJmGP2cOuiZ9HSOP14AzBAThn3OU+9LcA1+IUqswJyR1cAJj3Mg55HbjZP6OLAIscbQsQLrpgTOg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.12.0.tgz", - "integrity": "sha512-a6w/Y3hyyO6GlpKL2xJ4IOh/7d+APaqLYdMf86xnczU3nurFTaVN9s9jOXQg97BE4nYm/7Ga51rjec5nfRdrvA==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.12.0.tgz", - "integrity": "sha512-0fZBq27b+D7Ar5CQMofVN8sggOVhEtzFUwOwPppQt0k+VR+7UHMZZY4y+64WJ06XOhBTKXtQB/Sv0NwQMXyNAA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.12.0.tgz", - "integrity": "sha512-eTvzUS3hhhlgeAv6bfigekzWZjaEX9xP9HhxB0Dvrdbkk5w/b+1Sxct2ZuDxNJKzsRStSq1EaEkVSEe7A7ipgQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.12.0.tgz", - "integrity": "sha512-ix+qAB9qmrCRiaO71VFfY8rkiAZJL8zQRXveS27HS+pKdjwUfEhqo2+YF2oI+H/22Xsiski+qqwIBxVewLK7sw==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.12.0.tgz", - "integrity": "sha512-TenQhZVOtw/3qKOPa7d+QgkeM6xY0LtwzR8OplmyL5LrgTWIXpTQg2Q2ycBf8jm+SFW2Wt/DTn1gf7nFp3ssVA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.12.0.tgz", - "integrity": "sha512-LfFdRhNnW0zdMvdCb5FNuWlls2WbbSridJvxOvYWgSBOYZtgBfW9UGNJG//rwMqTX1xQE9BAodvMH9tAusKDUw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.12.0.tgz", - "integrity": "sha512-JPDxovheWNp6d7AHCgsUlkuCKvtu3RB55iNEkaQcf0ttsDU/JZF+iQnYcQJSk/7PtT4mjjVG8N1kpwnI9SLYaw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.12.0.tgz", - "integrity": "sha512-fjtuvMWRGJn1oZacG8IPnzIV6GF2/XG+h71FKn76OYFqySXInJtseAqdprVTDTyqPxQOG9Exak5/E9Z3+EJ8ZA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.12.0.tgz", - "integrity": "sha512-ZYmr5mS2wd4Dew/JjT0Fqi2NPB/ZhZ2VvPp7SmvPZb4Y1CG/LRcS6tcRo2cYU7zLK5A7cdbhWnnWmUjoI4qapg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@schematics/angular": { - "version": "17.2.2", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-17.2.2.tgz", - "integrity": "sha512-Q3VAQ/S4gj8D1JPWgWG4enDdDZUu8mUXWVRG1rOi4sHgOF5zgPieQFp3LXqMUgOncmzbXrctkbO6NKc4N2FAag==", - "dev": true, - "dependencies": { - "@angular-devkit/core": "17.2.2", - "@angular-devkit/schematics": "17.2.2", - "jsonc-parser": "3.2.1" - }, - "engines": { - "node": "^18.13.0 || >=20.9.0", - "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", - "yarn": ">= 1.13.0" - } - }, - "node_modules/@sigstore/bundle": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/@sigstore/bundle/-/bundle-2.2.0.tgz", - "integrity": "sha512-5VI58qgNs76RDrwXNhpmyN/jKpq9evV/7f1XrcqcAfvxDl5SeVY/I5Rmfe96ULAV7/FK5dge9RBKGBJPhL1WsQ==", - "dev": true, - "dependencies": { - "@sigstore/protobuf-specs": "^0.3.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@sigstore/core": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/@sigstore/core/-/core-1.0.0.tgz", - "integrity": "sha512-dW2qjbWLRKGu6MIDUTBuJwXCnR8zivcSpf5inUzk7y84zqy/dji0/uahppoIgMoKeR+6pUZucrwHfkQQtiG9Rw==", - "dev": true, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@sigstore/protobuf-specs": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.3.0.tgz", - "integrity": "sha512-zxiQ66JFOjVvP9hbhGj/F/qNdsZfkGb/dVXSanNRNuAzMlr4MC95voPUBX8//ZNnmv3uSYzdfR/JSkrgvZTGxA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/@sigstore/sign": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/@sigstore/sign/-/sign-2.2.3.tgz", - "integrity": "sha512-LqlA+ffyN02yC7RKszCdMTS6bldZnIodiox+IkT8B2f8oRYXCB3LQ9roXeiEL21m64CVH1wyveYAORfD65WoSw==", - "dev": true, - "dependencies": { - "@sigstore/bundle": "^2.2.0", - "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.3.0", - "make-fetch-happen": "^13.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@sigstore/tuf": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/@sigstore/tuf/-/tuf-2.3.1.tgz", - "integrity": "sha512-9Iv40z652td/QbV0o5n/x25H9w6IYRt2pIGbTX55yFDYlApDQn/6YZomjz6+KBx69rXHLzHcbtTS586mDdFD+Q==", - "dev": true, - "dependencies": { - "@sigstore/protobuf-specs": "^0.3.0", - "tuf-js": "^2.2.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@sigstore/verify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@sigstore/verify/-/verify-1.1.0.tgz", - "integrity": "sha512-1fTqnqyTBWvV7cftUUFtDcHPdSox0N3Ub7C0lRyReYx4zZUlNTZjCV+HPy4Lre+r45dV7Qx5JLKvqqsgxuyYfg==", - "dev": true, - "dependencies": { - "@sigstore/bundle": "^2.2.0", - "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.3.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@socket.io/component-emitter": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", - "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", - "dev": true - }, - "node_modules/@tsconfig/node10": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", - "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", - "dev": true - }, - "node_modules/@tsconfig/node12": { - "version": "1.0.11", - "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", - "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", - "dev": true - }, - "node_modules/@tsconfig/node14": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", - "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", - "dev": true - }, - "node_modules/@tsconfig/node16": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.4.tgz", - "integrity": "sha512-vxhUy4J8lyeyinH7Azl1pdd43GJhZH/tP2weN8TntQblOY+A0XbT8DJk1/oCPuOOyg/Ja757rG0CgHcWC8OfMA==", - "dev": true - }, - "node_modules/@tufjs/canonical-json": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-2.0.0.tgz", - "integrity": "sha512-yVtV8zsdo8qFHe+/3kw81dSLyF7D576A5cCFCi4X7B39tWT7SekaEFUnvnWJHz+9qO7qJTah1JbrDjWKqFtdWA==", - "dev": true, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@tufjs/models": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-2.0.0.tgz", - "integrity": "sha512-c8nj8BaOExmZKO2DXhDfegyhSGcG9E/mPN3U13L+/PsoWm1uaGiHHjxqSHQiasDBQwDA3aHuw9+9spYAP1qvvg==", - "dev": true, - "dependencies": { - "@tufjs/canonical-json": "2.0.0", - "minimatch": "^9.0.3" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/@tufjs/models/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@tufjs/models/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@types/body-parser": { - "version": "1.19.5", - "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.5.tgz", - "integrity": "sha512-fB3Zu92ucau0iQ0JMCFQE7b/dv8Ot07NI3KaZIkIUNXq82k4eBAqUaneXfleGY9JWskeS9y+u0nXMyspcuQrCg==", - "dev": true, - "dependencies": { - "@types/connect": "*", - "@types/node": "*" - } - }, - "node_modules/@types/bonjour": { - "version": "3.5.13", - "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.13.tgz", - "integrity": "sha512-z9fJ5Im06zvUL548KvYNecEVlA7cVDkGUi6kZusb04mpyEFKCIZJvloCcmpmLaIahDpOQGHaHmG6imtPMmPXGQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect": { - "version": "3.4.38", - "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.38.tgz", - "integrity": "sha512-K6uROf1LD88uDQqJCktA4yzL1YYAK6NgfsI0v/mTgyPKWsX1CnJ0XPSDhViejru1GcRkLWb8RlzFYJRqGUbaug==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/connect-history-api-fallback": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.4.tgz", - "integrity": "sha512-n6Cr2xS1h4uAulPRdlw6Jl6s1oG8KrVilPN2yUITEs+K48EzMJJ3W1xy8K5eWuFvjp3R74AOIGSmp2UfBJ8HFw==", - "dev": true, - "dependencies": { - "@types/express-serve-static-core": "*", - "@types/node": "*" - } - }, - "node_modules/@types/cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", - "dev": true - }, - "node_modules/@types/cors": { - "version": "2.8.17", - "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.17.tgz", - "integrity": "sha512-8CGDvrBj1zgo2qE+oS3pOCyYNqCPryMWY2bGfwA0dcfopWGgxs+78df0Rs3rc9THP4JkOhLsAa+15VdpAqkcUA==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/eslint": { - "version": "8.56.5", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.5.tgz", - "integrity": "sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.5.tgz", - "integrity": "sha512-/kYRxGDLWzHOB7q+wtSUQlFrtcdUccpfy+X+9iMBpHK8QLLhx2wIPYuS5DYtR9Wa/YlZAbIovy7qVdB1Aq6Lyw==", - "dev": true - }, - "node_modules/@types/express": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.21.tgz", - "integrity": "sha512-ejlPM315qwLpaQlQDTjPdsUFSc6ZsP4AN6AlWnogPjQ7CVi7PYF3YVz+CY3jE2pwYf7E/7HlDAN0rV2GxTG0HQ==", - "dev": true, - "dependencies": { - "@types/body-parser": "*", - "@types/express-serve-static-core": "^4.17.33", - "@types/qs": "*", - "@types/serve-static": "*" - } - }, - "node_modules/@types/express-serve-static-core": { - "version": "4.17.43", - "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.43.tgz", - "integrity": "sha512-oaYtiBirUOPQGSWNGPWnzyAFJ0BP3cwvN4oWZQY+zUBwpVIGsKUkpBpSztp74drYcjavs7SKFZ4DX1V2QeN8rg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "@types/qs": "*", - "@types/range-parser": "*", - "@types/send": "*" - } - }, - "node_modules/@types/http-errors": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/@types/http-errors/-/http-errors-2.0.4.tgz", - "integrity": "sha512-D0CFMMtydbJAegzOyHjtiKPLlvnm3iTZyZRSZoLq2mRhDdmLfIWOCYPfQJ4cu2erKghU++QvjcUjp/5h7hESpA==", - "dev": true - }, - "node_modules/@types/http-proxy": { - "version": "1.17.14", - "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.14.tgz", - "integrity": "sha512-SSrD0c1OQzlFX7pGu1eXxSEjemej64aaNPRhhVYUGqXh0BtldAAx37MG8btcumvpgKyZp1F5Gn3JkktdxiFv6w==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/jasmine": { - "version": "5.1.4", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-5.1.4.tgz", - "integrity": "sha512-px7OMFO/ncXxixDe1zR13V1iycqWae0MxTaw62RpFlksUi5QuNWgQJFkTQjIOvrmutJbI7Fp2Y2N1F6D2R4G6w==", - "dev": true - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, - "node_modules/@types/mime": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.5.tgz", - "integrity": "sha512-/pyBZWSLD2n0dcHE3hq8s8ZvcETHtEuF+3E7XVt0Ig2nvsVQXdghHVcEkIWjy9A0wKfTn97a/PSDYohKIlnP/w==", - "dev": true - }, - "node_modules/@types/node": { - "version": "20.11.24", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.11.24.tgz", - "integrity": "sha512-Kza43ewS3xoLgCEpQrsT+xRo/EJej1y0kVYGiLFE1NEODXGzTfwiC6tXTLMQskn1X4/Rjlh0MQUvx9W+L9long==", - "dev": true, - "dependencies": { - "undici-types": "~5.26.4" - } - }, - "node_modules/@types/node-forge": { - "version": "1.3.11", - "resolved": "https://registry.npmjs.org/@types/node-forge/-/node-forge-1.3.11.tgz", - "integrity": "sha512-FQx220y22OKNTqaByeBGqHWYz4cl94tpcxeFdvBo3wjG6XPBuZ0BNgNZRV5J5TFmmcsJ4IzsLkmGRiQbnYsBEQ==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/qs": { - "version": "6.9.12", - "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.12.tgz", - "integrity": "sha512-bZcOkJ6uWrL0Qb2NAWKa7TBU+mJHPzhx9jjLL1KHF+XpzEcR7EXHvjbHlGtR/IsP1vyPrehuS6XqkmaePy//mg==", - "dev": true - }, - "node_modules/@types/range-parser": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.7.tgz", - "integrity": "sha512-hKormJbkJqzQGhziax5PItDUTMAM9uE2XXQmM37dyd4hVM+5aVl7oVxMVUiVQn2oCQFN/LKCZdvSM0pFRqbSmQ==", - "dev": true - }, - "node_modules/@types/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", - "dev": true - }, - "node_modules/@types/send": { - "version": "0.17.4", - "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.4.tgz", - "integrity": "sha512-x2EM6TJOybec7c52BX0ZspPodMsQUd5L6PRwOunVyVUhXiBSKf3AezDL8Dgvgt5o0UfKNfuA0eMLr2wLT4AiBA==", - "dev": true, - "dependencies": { - "@types/mime": "^1", - "@types/node": "*" - } - }, - "node_modules/@types/serve-index": { - "version": "1.9.4", - "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.4.tgz", - "integrity": "sha512-qLpGZ/c2fhSs5gnYsQxtDEq3Oy8SXPClIXkW5ghvAvsNuVSA8k+gCONcUCS/UjLEYvYps+e8uBtfgXgvhwfNug==", - "dev": true, - "dependencies": { - "@types/express": "*" - } - }, - "node_modules/@types/serve-static": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.5.tgz", - "integrity": "sha512-PDRk21MnK70hja/YF8AHfC7yIsiQHn1rcXx7ijCFBX/k+XQJhQT/gw3xekXKJvx+5SXaMMS8oqQy09Mzvz2TuQ==", - "dev": true, - "dependencies": { - "@types/http-errors": "*", - "@types/mime": "*", - "@types/node": "*" - } - }, - "node_modules/@types/sockjs": { - "version": "0.3.36", - "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.36.tgz", - "integrity": "sha512-MK9V6NzAS1+Ud7JV9lJLFqW85VbC9dq3LmwZCuBe4wBDgKC0Kj/jd8Xl+nSviU+Qc3+m7umHHyHg//2KSa0a0Q==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@types/ws": { - "version": "8.5.10", - "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.10.tgz", - "integrity": "sha512-vmQSUcfalpIq0R9q7uTo2lXs6eGIpt9wtnLdMv9LVpIjCA/+ufZRozlVoVelIYixx1ugCBKDhn89vnsEGOCx9A==", - "dev": true, - "dependencies": { - "@types/node": "*" - } - }, - "node_modules/@vitejs/plugin-basic-ssl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.1.0.tgz", - "integrity": "sha512-wO4Dk/rm8u7RNhOf95ZzcEmC9rYOncYgvq4z3duaJrCgjN8BxAnDVyndanfcJZ0O6XZzHz6Q0hTimxTg8Y9g/A==", - "dev": true, - "engines": { - "node": ">=14.6.0" - }, - "peerDependencies": { - "vite": "^3.0.0 || ^4.0.0 || ^5.0.0" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", - "dev": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "node_modules/@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true - }, - "node_modules/abbrev": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-2.0.0.tgz", - "integrity": "sha512-6/mh1E2u2YgEsCHdY0Yx5oW+61gZU+1vXaoiHHrpKeuRNNgFvS+/jrwHiQhB5apAf5oB7UB7E19ol2R2LKH8hQ==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/acorn": { - "version": "8.11.3", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.11.3.tgz", - "integrity": "sha512-Y9rRfJG5jcKOE0CLisYbojUjIrIEE7AGMzA/Sm4BslANhbS+cDMpgBdcPT91oJ7OuJ9hYJBx59RjbhxVnrF8Xg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-assertions": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.9.0.tgz", - "integrity": "sha512-cmMwop9x+8KFhxvKrKfPYmN6/pKTYYHBqLa0DfvVZcKMJWNyWLnaqND7dx/qn66R7ewM1UX5XMaDVP5wlVTaVA==", - "dev": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-walk": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.3.2.tgz", - "integrity": "sha512-cjkyv4OtNCIeqhHrfS81QWXoCBPExR/J62oyEqepVw8WaQeSqpW2uhuLPh1m9eWhDuOo/jUXVTlifvesOWp/4A==", - "dev": true, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/adjust-sourcemap-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", - "dev": true, - "dependencies": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - }, - "engines": { - "node": ">=8.9" - } - }, - "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/agent-base": { - "version": "7.1.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-7.1.0.tgz", - "integrity": "sha512-o/zjMZRhJxny7OyEF+Op8X+efiELC7k7yOjMzgfzVqOzXqkBkWI79YoTdOtsuWd5BWhAGAuOY/Xa6xpiaWXiNg==", - "dev": true, - "dependencies": { - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", - "dev": true, - "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", - "dev": true, - "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "dev": true, - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" - } - }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", - "dev": true, - "dependencies": { - "color-convert": "^1.9.0" - }, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true, - "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/anymatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/arg": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.3.tgz", - "integrity": "sha512-58S9QDqG0Xx27YwPSt9fJxivjYl432YCwfDMfZ+71RAqUrZef7LrKQZ3LHLOwCS4FLNBplP533Zx895SeOCHvA==", - "dev": true - }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", - "dev": true, - "dependencies": { - "sprintf-js": "~1.0.2" - } - }, - "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==", - "dev": true - }, - "node_modules/autoprefixer": { - "version": "10.4.17", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.17.tgz", - "integrity": "sha512-/cpVNRLSfhOtcGflT13P2794gVSgmPgTR+erw5ifnMLZb0UnSlkK4tquLmkd3BhA+nLo5tX8Cu0upUsGKvKbmg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "browserslist": "^4.22.2", - "caniuse-lite": "^1.0.30001578", - "fraction.js": "^4.3.7", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/babel-loader": { - "version": "9.1.3", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.3.tgz", - "integrity": "sha512-xG3ST4DglodGf8qSwv0MdeWLhrDsw/32QMdTO5T1ZIp9gQur0HkCyFs7Awskr10JKXFXwpAhiCuYX5oGXnRGbw==", - "dev": true, - "dependencies": { - "find-cache-dir": "^4.0.0", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0", - "webpack": ">=5" - } - }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", - "dev": true, - "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.4.8", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.4.8.tgz", - "integrity": "sha512-OtIuQfafSzpo/LhnJaykc0R/MMnuLSSVjVYy9mHArIZ9qTCSZ6TpWCuEKZYVoN//t8HqBNScHrOtCrIK5IaGLg==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.22.6", - "@babel/helper-define-polyfill-provider": "^0.5.0", - "semver": "^6.3.1" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.9.0.tgz", - "integrity": "sha512-7nZPG1uzK2Ymhy/NbaOWTg3uibM2BmGASS4vHS4szRZAIR8R6GwA/xAujpdrXU5iyklrimWnLWU+BLF9suPTqg==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.5.0", - "core-js-compat": "^3.34.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.5.5.tgz", - "integrity": "sha512-OJGYZlhLqBh2DDHeqAxWB1XIvr49CxiJ2gIt61/PU55CQK4Z58OzMqjDe1zwQdQk+rBYsRc+1rJmdajM3gimHg==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.5.0" - }, - "peerDependencies": { - "@babel/core": "^7.4.0 || ^8.0.0-0 <8.0.0" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "dev": true, - "engines": { - "node": "^4.5.0 || >= 5.9" - } - }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", - "dev": true - }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true, - "engines": { - "node": "*" - } - }, - "node_modules/binary-extensions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", - "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", - "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" - } - }, - "node_modules/body-parser": { - "version": "1.20.2", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.2.tgz", - "integrity": "sha512-ml9pReCu3M61kGlqoTm2umSXTlRTuGTx0bfYj+uIUKKYycG5NtSbeetV3faSU6R7ajOPw0g/J1PvK4qNy7s5bA==", - "dev": true, - "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.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.2", - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/bonjour-service": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.2.1.tgz", - "integrity": "sha512-oSzCS2zV14bh2kji6vNe7vrpJYCHGvcZnlffFQ1MEoX/WOeQ/teD8SYWKR942OI3INjq8OMNJlbPK5LLLUxFDw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" - } - }, - "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==", - "dev": true - }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", - "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.23.0", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.23.0.tgz", - "integrity": "sha512-QW8HiM1shhT2GuzkvklfjcKDiWFXHOeFCIA/huJPwHsslwcydgk7X+z2zXpEijP98UCY7HbubZt5J2Zgvf0CaQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001587", - "electron-to-chromium": "^1.4.668", - "node-releases": "^2.0.14", - "update-browserslist-db": "^1.0.13" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", - "dev": true, - "dependencies": { - "semver": "^7.0.0" - } - }, - "node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/cacache": { - "version": "18.0.2", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-18.0.2.tgz", - "integrity": "sha512-r3NU8h/P+4lVUHfeRw1dtgQYar3DZMm4/cm2bZgOvrFC/su7budSOeqh52VJIC4U4iG1WWwV6vRW0znqBvxNuw==", - "dev": true, - "dependencies": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^10.0.1", - "minipass": "^7.0.3", - "minipass-collect": "^2.0.1", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/cacache/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/cacache/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/cacache/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/call-bind": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.7.tgz", - "integrity": "sha512-GHTSNSYICQ7scH7sZ+M2rFopRoLh8t2bLSW6BbgrtLsahOIB5iyAVJf9GjWK3cYTDaMj4XdBpM1cA6pIS0Kv2w==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001593", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001593.tgz", - "integrity": "sha512-UWM1zlo3cZfkpBysd7AS+z+v007q9G1+fLTUU42rQnY6t2axoogPW/xol6T7juU5EUoOhML4WgBIdG+9yYqAjQ==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", - "dev": true, - "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", - "dev": true - }, - "node_modules/chokidar": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.6.0.tgz", - "integrity": "sha512-7VT13fmjotKpGipCW9JEQAusEPE+Ei8nl6/g4FBAmIm0GOOLMua9NDDo/DWp0ZAxCr3cPq5ZpBqmPAQgDda2Pw==", - "dev": true, - "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" - }, - "engines": { - "node": ">= 8.10.0" - }, - "funding": { - "url": "https://paulmillr.com/funding/" - }, - "optionalDependencies": { - "fsevents": "~2.3.2" - } - }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dev": true, - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cli-spinners": { - "version": "2.9.2", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.2.tgz", - "integrity": "sha512-ywqV+5MmyL4E7ybXgKys4DugZbX0FC6LnwrhjuykIjnK9k8OQacQ7axGKnjDXWNhns0xot3bZI5h55H8yo9cJg==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/cli-width": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-4.1.0.tgz", - "integrity": "sha512-ouuZd4/dm2Sw5Gmqy6bGyNNNe1qt9RpmxveLSO7KcgsTnU7RXfsw+/bukWGo1abgBiMAic068rclZsO4IWmmxQ==", - "dev": true, - "engines": { - "node": ">= 12" - } - }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/cliui/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/cliui/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/cliui/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/cliui/node_modules/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==", - "dev": true, - "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/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", - "dev": true, - "dependencies": { - "color-name": "1.1.3" - } - }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", - "dev": true - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/common-path-prefix": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/common-path-prefix/-/common-path-prefix-3.0.0.tgz", - "integrity": "sha512-QE33hToZseCH3jS0qN96O/bSh3kaw/h+Tq7ngyY9eWDUnTlTNUyqfqvCXioLe5Na5jFsL78ra/wuBU4iuEgd4w==", - "dev": true - }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", - "dev": true, - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", - "dev": true, - "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/compression/node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/compression/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/compression/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/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, - "engines": { - "node": ">= 0.10.0" - } - }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", - "dev": true, - "engines": { - "node": ">=0.8" - } - }, - "node_modules/connect/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/connect/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", - "dev": true - }, - "node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "dev": true - }, - "node_modules/copy-anything": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", - "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", - "dev": true, - "dependencies": { - "is-what": "^3.14.1" - }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" - } - }, - "node_modules/copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", - "dev": true, - "dependencies": { - "fast-glob": "^3.2.11", - "glob-parent": "^6.0.1", - "globby": "^13.1.1", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - } - }, - "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/core-js-compat": { - "version": "3.36.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.36.0.tgz", - "integrity": "sha512-iV9Pd/PsgjNWBXeq8XRtWVSgz2tKAfhfvBs7qxYty+RlRd+OCksaWmOnc4JKrTc1cToXL1N0s3l/vwlxPtdElw==", - "dev": true, - "dependencies": { - "browserslist": "^4.22.3" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" - } - }, - "node_modules/core-util-is": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", - "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==", - "dev": true - }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", - "dev": true, - "dependencies": { - "object-assign": "^4", - "vary": "^1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/cosmiconfig": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-9.0.0.tgz", - "integrity": "sha512-itvL5h8RETACmOTFc4UfIyB2RfEHi71Ax6E/PivVxq9NseKbOWpeyHEOIbmAw1rs8Ak0VursQNww7lf7YtUwzg==", - "dev": true, - "dependencies": { - "env-paths": "^2.2.1", - "import-fresh": "^3.3.0", - "js-yaml": "^4.1.0", - "parse-json": "^5.2.0" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/d-fischer" - }, - "peerDependencies": { - "typescript": ">=4.9.5" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/cosmiconfig/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/cosmiconfig/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/create-require": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", - "dev": true - }, - "node_modules/critters": { - "version": "0.0.20", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.20.tgz", - "integrity": "sha512-CImNRorKOl5d8TWcnAz5n5izQ6HFsvz29k327/ELy6UFcmbiZNOsinaKvzv16WZR0P6etfSWYzE47C4/56B3Uw==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "css-select": "^5.1.0", - "dom-serializer": "^2.0.0", - "domhandler": "^5.0.2", - "htmlparser2": "^8.0.2", - "postcss": "^8.4.23", - "pretty-bytes": "^5.3.0" - } - }, - "node_modules/critters/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/critters/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/critters/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/critters/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/critters/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/critters/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/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/css-loader": { - "version": "6.10.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.10.0.tgz", - "integrity": "sha512-LTSA/jWbwdMlk+rhmElbDR2vbtQoTBPr7fkJE+mxrHj+7ru0hUmHafDRzWIjIHTwpitWVaqY2/UWGRca3yUgRw==", - "dev": true, - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.33", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.4", - "postcss-modules-scope": "^3.1.1", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/css-select": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-5.1.0.tgz", - "integrity": "sha512-nwoRF1rvRRnnCqqY7updORDsuqKzqYJ28+oSMaJMMgOauh3fvwHqMS7EZpIPqK8GL+g9mKxF1vP/ZjSeNjEVHg==", - "dev": true, - "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-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", - "dev": true, - "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==", - "dev": true, - "bin": { - "cssesc": "bin/cssesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha512-GAj5FOq0Hd+RsCGVJxZuKaIDXDf3h6GQoNEjFgbLLI/trgtavwUbSnZ5pVfg27DVCaWjIohryS0JFwIJyT2cMg==", - "dev": true - }, - "node_modules/date-format": { - "version": "4.0.14", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", - "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", - "dev": true, - "dependencies": { - "ms": "2.1.2" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", - "dev": true, - "dependencies": { - "execa": "^5.0.0" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", - "dev": true, - "dependencies": { - "clone": "^1.0.2" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" - } - }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true - }, - "node_modules/di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha512-uJaamHkagcZtHPqCIHZxnFrXlunQXgBOsZSUOWwFw31QJCAbyTBoHMW75YOTur5ZNx8pIeAKgf6GWIgaqqiLhA==", - "dev": true - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true, - "engines": { - "node": ">=0.3.1" - } - }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", - "dev": true, - "dependencies": { - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/dns-packet": { - "version": "5.6.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.1.tgz", - "integrity": "sha512-l4gcSouhcgIKRvyy99RNVOgxXiicE+2jZoNmaNmZ6JXiGajBOJAesk1OBlJuM5k2c+eudGdLxDqXuPCKIj6kpw==", - "dev": true, - "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha512-Yra4DbvoW7/Z6LBN560ZwXMjoNOSAN2wRsKFGc4iBeso+mpIA6qj1vfdf9HpMaKAqG6wXTy+1SYEzmNpKXOSsQ==", - "dev": true, - "dependencies": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] - }, - "node_modules/domhandler": { - "version": "5.0.3", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-5.0.3.tgz", - "integrity": "sha512-cgwlv/1iFQiFnU96XXgROh8xTeetsnJiDsTc7TYCLFd9+/WNkIqPTxiM/8pSd8VIrhXGTf1Ny1q1hquVqDJB5w==", - "dev": true, - "dependencies": { - "domelementtype": "^2.3.0" - }, - "engines": { - "node": ">= 4" - }, - "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" - } - }, - "node_modules/domutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-3.1.0.tgz", - "integrity": "sha512-H78uMmQtI2AhgDJjWeQmHwJJ2bLPD3GMmO7Zja/ZZh84wkm+4ut+IUnUdRa8uCGX88DiVx1j6FRe1XfxEgjEZA==", - "dev": true, - "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/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/electron-to-chromium": { - "version": "1.4.690", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.690.tgz", - "integrity": "sha512-+2OAGjUx68xElQhydpcbqH50hE8Vs2K6TkAeLhICYfndb67CVH0UsZaijmRUE3rHlIxU1u0jxwhgVe6fK3YANA==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", - "dev": true, - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" - } - }, - "node_modules/encoding/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, - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/engine.io": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.5.4.tgz", - "integrity": "sha512-KdVSDKhVKyOi+r5uEabrDLZw2qXStVvCsEB/LN3mw4WFi6Gx50jTyuxYVCwAAC0U46FdnzP/ScKRBTXb/NiEOg==", - "dev": true, - "dependencies": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.2.1", - "ws": "~8.11.0" - }, - "engines": { - "node": ">=10.2.0" - } - }, - "node_modules/engine.io-parser": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.2.2.tgz", - "integrity": "sha512-RcyUFKA93/CXH20l4SoVvzZfrSDMOTUS3bWVpTt2FuFP+XYrL8i8oonHP7WInRyVHXh0n/ORtoeiE1os+8qkSw==", - "dev": true, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/enhanced-resolve": { - "version": "5.15.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.15.1.tgz", - "integrity": "sha512-3d3JRbwsCLJsYgvb6NuWEG44jjPSOMuS73L/6+7BZuoKm3W+qXnSoIYVHi8dG7Qcg4inAY4jbzkZ7MnskePeDg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha512-GHrMyVZQWvTIdDtpiEXdHZnFQKzeO09apj8Cbl4pKWy4i0Oprcq17usfDt5aO63swf0JOeMWjWQE/LzgSRuWpA==", - "dev": true - }, - "node_modules/entities": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", - "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", - "dev": true, - "engines": { - "node": ">=0.12" - }, - "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" - } - }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true - }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", - "dev": true, - "optional": true, - "dependencies": { - "prr": "~1.0.1" - }, - "bin": { - "errno": "cli.js" - } - }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", - "dev": true, - "dependencies": { - "is-arrayish": "^0.2.1" - } - }, - "node_modules/es-define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/es-define-property/-/es-define-property-1.0.0.tgz", - "integrity": "sha512-jxayLKShrEqqzJ0eumQbVhTYQM27CfT1T35+gCgDFoL82JLsXqTJ76zv6A0YLOgEnLUMvLzsDsGIrl8NFpT2gQ==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.4" - }, - "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.4.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", - "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", - "dev": true - }, - "node_modules/esbuild": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.20.0.tgz", - "integrity": "sha512-6iwE3Y2RVYCME1jLpBqq7LQWK3MW6vjV2bZy6gt/WrqkY+WE74Spyc0ThAOYpMtITvnjX09CrC6ym7A/m9mebA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.20.0", - "@esbuild/android-arm": "0.20.0", - "@esbuild/android-arm64": "0.20.0", - "@esbuild/android-x64": "0.20.0", - "@esbuild/darwin-arm64": "0.20.0", - "@esbuild/darwin-x64": "0.20.0", - "@esbuild/freebsd-arm64": "0.20.0", - "@esbuild/freebsd-x64": "0.20.0", - "@esbuild/linux-arm": "0.20.0", - "@esbuild/linux-arm64": "0.20.0", - "@esbuild/linux-ia32": "0.20.0", - "@esbuild/linux-loong64": "0.20.0", - "@esbuild/linux-mips64el": "0.20.0", - "@esbuild/linux-ppc64": "0.20.0", - "@esbuild/linux-riscv64": "0.20.0", - "@esbuild/linux-s390x": "0.20.0", - "@esbuild/linux-x64": "0.20.0", - "@esbuild/netbsd-x64": "0.20.0", - "@esbuild/openbsd-x64": "0.20.0", - "@esbuild/sunos-x64": "0.20.0", - "@esbuild/win32-arm64": "0.20.0", - "@esbuild/win32-ia32": "0.20.0", - "@esbuild/win32-x64": "0.20.0" - } - }, - "node_modules/esbuild-wasm": { - "version": "0.20.0", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.20.0.tgz", - "integrity": "sha512-Lc9KeQCg1Zf8kCtfDXgy29rx0x8dOuhDWbkP76Wc64q7ctOOc1Zv1C39AxiE+y4N6ONyXtJk4HKpM7jlU7/jSA==", - "dev": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/escalade": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.2.tgz", - "integrity": "sha512-ErCHMCae19vR8vQGe50xIsVomy19rg6gFu3+r3jkEO46suLMWBksvVyoGgQV+jOfl84ZSOSlmv6Gxa89PmTGmA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "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==", - "dev": true - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/esprima": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", - "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true, - "bin": { - "esparse": "bin/esparse.js", - "esvalidate": "bin/esvalidate.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/etag": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "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/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/execa": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", - "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.3", - "get-stream": "^6.0.0", - "human-signals": "^2.1.0", - "is-stream": "^2.0.0", - "merge-stream": "^2.0.0", - "npm-run-path": "^4.0.1", - "onetime": "^5.1.2", - "signal-exit": "^3.0.3", - "strip-final-newline": "^2.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sindresorhus/execa?sponsor=1" - } - }, - "node_modules/exponential-backoff": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/exponential-backoff/-/exponential-backoff-3.1.1.tgz", - "integrity": "sha512-dX7e/LHVJ6W3DE1MHWi9S1EYzDESENfLrYohG2G++ovZrYOkm4Knwa0mc1cn84xJOR4KEU0WSchhLbd0UklbHw==", - "dev": true - }, - "node_modules/express": { - "version": "4.18.3", - "resolved": "https://registry.npmjs.org/express/-/express-4.18.3.tgz", - "integrity": "sha512-6VyCijWQ+9O7WuVMTRBTl+cjNNIzD5cY5mQ1WM8r/LEkI2u8EYpOotESNwzNlyCn3g+dmjKYI6BmNneSr/FSRw==", - "dev": true, - "dependencies": { - "accepts": "~1.3.8", - "array-flatten": "1.1.1", - "body-parser": "1.20.2", - "content-disposition": "0.5.4", - "content-type": "~1.0.4", - "cookie": "0.5.0", - "cookie-signature": "1.0.6", - "debug": "2.6.9", - "depd": "2.0.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "finalhandler": "1.2.0", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "merge-descriptors": "1.0.1", - "methods": "~1.1.2", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.7", - "qs": "6.11.0", - "range-parser": "~1.2.1", - "safe-buffer": "5.2.1", - "send": "0.18.0", - "serve-static": "1.15.0", - "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" - } - }, - "node_modules/express/node_modules/cookie": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", - "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "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==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/express/node_modules/finalhandler": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", - "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "2.4.1", - "parseurl": "~1.3.3", - "statuses": "2.0.1", - "unpipe": "~1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "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==", - "dev": true - }, - "node_modules/express/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/extend": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", - "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", - "dev": true - }, - "node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dev": true, - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.2.tgz", - "integrity": "sha512-oX2ruAFQwf/Orj8m737Y5adxDQO0LAB7/S5MnxCdTNDd4p6BsyIVsv9JQsATbTSq8KHRpLwIHbVlUNatxd+1Ow==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fastq": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.17.1.tgz", - "integrity": "sha512-sRVD3lWVIXWg6By68ZN7vho9a1pQcN/WBFaAAsDDFzlJjvoGx0P8z7V1t72grFJfJhu3YPZBuu25f7Kaw2jN1w==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/faye-websocket": { - "version": "0.11.4", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", - "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", - "dev": true, - "dependencies": { - "websocket-driver": ">=0.5.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dev": true, - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/fill-range": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", - "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/finalhandler": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", - "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "on-finished": "~2.3.0", - "parseurl": "~1.3.3", - "statuses": "~1.5.0", - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/finalhandler/node_modules/on-finished": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", - "integrity": "sha512-ikqdkGAAyf/X/gPhXGvfgAytDZtDbr+bkNUJ0N9h5MI/dmdgCs3l6hoHrcUv41sRKew3jIwrp4qQDXiK99Utww==", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/find-cache-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-4.0.0.tgz", - "integrity": "sha512-9ZonPT4ZAK4a+1pUPVPZJapbi7O5qbbJPdYw/NOQWZZbVLdDTYM3A4R9z/DpAM08IDaFGsvPgiGZ82WEwUDWjg==", - "dev": true, - "dependencies": { - "common-path-prefix": "^3.0.0", - "pkg-dir": "^7.0.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "bin": { - "flat": "cli.js" - } - }, - "node_modules/flatted": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.1.tgz", - "integrity": "sha512-X8cqMLLie7KsNUDSdzeN8FYK9rEt4Dt67OsG/DNGnYTSDBG4uFAJFBnUeiV+zCVAvwFy56IjM9sH51jVaEhNxw==", - "dev": true - }, - "node_modules/follow-redirects": { - "version": "1.15.5", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.5.tgz", - "integrity": "sha512-vSFWUON1B+yAw1VN4xMfxgn5fTUiaOzAJCKBwIIgT/+7CuGy9+r+5gITvP62j3RmaD5Ph65UaERdOSRGUzZtgw==", - "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://github.com/sponsors/RubenVerborgh" - } - ], - "engines": { - "node": ">=4.0" - }, - "peerDependenciesMeta": { - "debug": { - "optional": true - } - } - }, - "node_modules/foreground-child": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", - "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", - "dev": true, - "dependencies": { - "cross-spawn": "^7.0.0", - "signal-exit": "^4.0.1" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/foreground-child/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==", - "dev": true, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/forwarded": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", - "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fraction.js": { - "version": "4.3.7", - "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.3.7.tgz", - "integrity": "sha512-ZsDfxO51wGAXREY55a7la9LScWpwv9RxIrYABrlvOFBlH/ShPnrtsXeuUIfXKKOVicNxQ+o8JTbJvjS4M89yew==", - "dev": true, - "engines": { - "node": "*" - }, - "funding": { - "type": "patreon", - "url": "https://github.com/sponsors/rawify" - } - }, - "node_modules/fresh": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - }, - "engines": { - "node": ">=6 <7 || >=8" - } - }, - "node_modules/fs-minipass": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.3.tgz", - "integrity": "sha512-XUBA9XClHbnJWSfBzjkm6RvPsyg3sryZt06BEQoXcF7EK/xpGaQYJgQKDJSUH5SGZ76Y7pFx1QBnXz09rU5Fbw==", - "dev": true, - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/fs-monkey": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.5.tgz", - "integrity": "sha512-8uMbBjrhzW76TYgEV27Y5E//W2f/lTFmx78P2w19FZSxarhI/798APGQyuGCwmkNxgwGRhrLfvWyLBvNtuOmew==", - "dev": true - }, - "node_modules/fs.realpath": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", - "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", - "dev": true - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "darwin" - ], - "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/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/get-caller-file": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", - "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true, - "engines": { - "node": "6.* || 8.* || >= 10.*" - } - }, - "node_modules/get-intrinsic": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.4.tgz", - "integrity": "sha512-5uYhsJH8VJBTv7oslg4BznJYhDoRI6waYCxMmCdnTrcCrHA/fCFKoTFz2JKKE0HdDFUF7/oQuhzumXJK7paBRQ==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "has-proto": "^1.0.1", - "has-symbols": "^1.0.3", - "hasown": "^2.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-package-type": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", - "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", - "dev": true, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/get-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", - "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/glob": { - "version": "7.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", - "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", - "dev": true, - "dependencies": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.1.1", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - }, - "engines": { - "node": "*" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "node_modules/globals": { - "version": "11.12.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", - "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/globby": { - "version": "13.2.2", - "resolved": "https://registry.npmjs.org/globby/-/globby-13.2.2.tgz", - "integrity": "sha512-Y1zNGV+pzQdh7H39l9zgB4PJqjRNqydvdYCDG4HFXM4XuvSaQQlEc91IU1yALL8gUTDomgBAfz3XJdmUS+oo0w==", - "dev": true, - "dependencies": { - "dir-glob": "^3.0.1", - "fast-glob": "^3.3.0", - "ignore": "^5.2.4", - "merge2": "^1.4.1", - "slash": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/gopd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", - "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.1.3" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/handle-thing": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", - "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", - "dev": true - }, - "node_modules/has-flag": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", - "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/has-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.0.3.tgz", - "integrity": "sha512-SJ1amZAJUiZS+PhsVLf5tGydlaVB8EdFpaSO4gmiUKUOxk8qzn5AIy4ZeJUmh22znIdk/uMAUT2pl3FxzVUH+Q==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-symbols": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", - "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", - "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hosted-git-info": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-7.0.1.tgz", - "integrity": "sha512-+K84LB1DYwMHoHSgaOY/Jfhw3ucPmSET5v98Ke/HdNSw4a0UktWzyW1mjhjpuxxTqOOsfWT/7iVshHmVZ4IpOA==", - "dev": true, - "dependencies": { - "lru-cache": "^10.0.1" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/hosted-git-info/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/hpack.js": { - "version": "2.1.6", - "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", - "dev": true, - "dependencies": { - "inherits": "^2.0.1", - "obuf": "^1.0.0", - "readable-stream": "^2.0.1", - "wbuf": "^1.1.0" - } - }, - "node_modules/hpack.js/node_modules/readable-stream": { - "version": "2.3.8", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.8.tgz", - "integrity": "sha512-8p0AUk4XODgIewSi0l8Epjs+EVnWiK7NoDIEGU0HhE7+ZyY8D1IMY7odu5lRrFXGg71L15KG8QrPmum45RTtdA==", - "dev": true, - "dependencies": { - "core-util-is": "~1.0.0", - "inherits": "~2.0.3", - "isarray": "~1.0.0", - "process-nextick-args": "~2.0.0", - "safe-buffer": "~5.1.1", - "string_decoder": "~1.1.1", - "util-deprecate": "~1.0.1" - } - }, - "node_modules/hpack.js/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/hpack.js/node_modules/string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.1.0" - } - }, - "node_modules/html-entities": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.4.0.tgz", - "integrity": "sha512-igBTJcNNNhvZFRtm8uA6xMY6xYleeDwn3PeBCkDz7tHttv4F2hsDI2aPgNERWzvRcNYHNT3ymRaQzllmXj4YsQ==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/mdevils" - }, - { - "type": "patreon", - "url": "https://patreon.com/mdevils" - } - ] - }, - "node_modules/html-escaper": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", - "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", - "dev": true - }, - "node_modules/htmlparser2": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-8.0.2.tgz", - "integrity": "sha512-GYdjWKDkbRLkZ5geuHs5NY1puJ+PXwP7+fHPRz06Eirsb9ugf6d8kkXav6ADhcODhFFPMIXyxkxSuMf3D6NCFA==", - "dev": true, - "funding": [ - "https://github.com/fb55/htmlparser2?sponsor=1", - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ], - "dependencies": { - "domelementtype": "^2.3.0", - "domhandler": "^5.0.3", - "domutils": "^3.0.1", - "entities": "^4.4.0" - } - }, - "node_modules/http-cache-semantics": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", - "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", - "dev": true - }, - "node_modules/http-deceiver": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", - "dev": true - }, - "node_modules/http-errors": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", - "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", - "dev": true, - "dependencies": { - "depd": "2.0.0", - "inherits": "2.0.4", - "setprototypeof": "1.2.0", - "statuses": "2.0.1", - "toidentifier": "1.0.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-errors/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/http-parser-js": { - "version": "0.5.8", - "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", - "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", - "dev": true - }, - "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-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-7.0.2.tgz", - "integrity": "sha512-T1gkAiYYDWYx3V5Bmyu7HcfcvL7mUrTWiM6yOfa3PIphViJ/gFPbvidQ+veqSOHci/PxBcDabeUNCzpOODJZig==", - "dev": true, - "dependencies": { - "agent-base": "^7.1.0", - "debug": "^4.3.4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/http-proxy-middleware": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", - "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", - "dev": true, - "dependencies": { - "@types/http-proxy": "^1.17.8", - "http-proxy": "^1.18.1", - "is-glob": "^4.0.1", - "is-plain-obj": "^3.0.0", - "micromatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "@types/express": "^4.17.13" - }, - "peerDependenciesMeta": { - "@types/express": { - "optional": true - } - } - }, - "node_modules/https-proxy-agent": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-7.0.2.tgz", - "integrity": "sha512-NmLNjm6ucYwtcUmL7JQC1ZQ57LmHP4lT15FQ8D61nak1rO6DH+fz5qNK2Ap5UN4ZapYICE3/0KodcLYSPsPbaA==", - "dev": true, - "dependencies": { - "agent-base": "^7.0.2", - "debug": "4" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/human-signals": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", - "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", - "dev": true, - "engines": { - "node": ">=10.17.0" - } - }, - "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==", - "dev": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/icss-utils": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", - "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/ieee754": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", - "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/ignore": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.1.tgz", - "integrity": "sha512-5Fytz/IraMjqpwfd34ke28PTVMjZjJG2MPn5t7OE4eUCUNf8BAa7b5WUS9/Qvr6mwOQS7Mk6vdsMno5he+T8Xw==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/ignore-walk": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.4.tgz", - "integrity": "sha512-t7sv42WkwFkyKbivUCglsQW5YWMskWtbEf4MNKX5u/CCWHKSPzN4FtBQGsQZgCLbxOzpVlcbWVK5KB3auIOjSw==", - "dev": true, - "dependencies": { - "minimatch": "^9.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/ignore-walk/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/ignore-walk/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/image-size": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", - "dev": true, - "optional": true, - "bin": { - "image-size": "bin/image-size.js" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/immutable": { - "version": "4.3.5", - "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.5.tgz", - "integrity": "sha512-8eabxkth9gZatlwl5TBuJnCsoTADlL6ftEr7A4qgdaTsPyreilDSnUk57SO+jfKcNtxPa22U5KK6DSeAYhpBJw==", - "dev": true - }, - "node_modules/import-fresh": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", - "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/import-fresh/node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/indent-string": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", - "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/inflight": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", - "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", - "dev": true, - "dependencies": { - "once": "^1.3.0", - "wrappy": "1" - } - }, - "node_modules/inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "node_modules/ini": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ini/-/ini-4.1.1.tgz", - "integrity": "sha512-QQnnxNyfvmHFIsj7gkPcYymR8Jdw/o7mp5ZFihxn6h8Ci6fh3Dx4E1gPjpQEpIuPo9XVNY/ZUwh4BPMjGyL01g==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/inquirer": { - "version": "9.2.14", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-9.2.14.tgz", - "integrity": "sha512-4ByIMt677Iz5AvjyKrDpzaepIyMewNvDcvwpVVRZNmy9dLakVoVgdCHZXbK1SlVJra1db0JZ6XkJyHsanpdrdQ==", - "dev": true, - "dependencies": { - "@ljharb/through": "^2.3.12", - "ansi-escapes": "^4.3.2", - "chalk": "^5.3.0", - "cli-cursor": "^3.1.0", - "cli-width": "^4.1.0", - "external-editor": "^3.1.0", - "figures": "^3.2.0", - "lodash": "^4.17.21", - "mute-stream": "1.0.0", - "ora": "^5.4.1", - "run-async": "^3.0.0", - "rxjs": "^7.8.1", - "string-width": "^4.2.3", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^6.2.0" - }, - "engines": { - "node": ">=18" - } - }, - "node_modules/inquirer/node_modules/chalk": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-5.3.0.tgz", - "integrity": "sha512-dLitG79d+GV1Nb/VYcCDFivJeK1hiukt9QjRNVOsUtTy1rR1YJsmpGGTZ3qJos+uw7WmWF4wUwBd9jxjocFC2w==", - "dev": true, - "engines": { - "node": "^12.17.0 || ^14.13 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" - } - }, - "node_modules/ip-address": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/ip-address/-/ip-address-9.0.5.tgz", - "integrity": "sha512-zHtQzGojZXTwZTHQqra+ETKd4Sn3vgi7uBmlPoXVWZqYvuKmtI0l/VZTjqGmJY9x88GGOaZ9+G9ES8hC4T4X8g==", - "dev": true, - "dependencies": { - "jsbn": "1.1.0", - "sprintf-js": "^1.1.3" - }, - "engines": { - "node": ">= 12" - } - }, - "node_modules/ip-address/node_modules/sprintf-js": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.3.tgz", - "integrity": "sha512-Oo+0REFV59/rz3gfJNKQiBlwfHaSESl1pcGyABQsnnIfWOFt6JNj5gCog2U6MLZ//IGYD+nA8nI+mTShREReaA==", - "dev": true - }, - "node_modules/ipaddr.js": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.1.0.tgz", - "integrity": "sha512-LlbxQ7xKzfBusov6UMi4MFpEg0m+mAm9xyNGEduwXMEDuf4WfzB/RZwMVYEd7IKGvh4IUkEXYxtAVu9T3OelJQ==", - "dev": true, - "engines": { - "node": ">= 10" - } - }, - "node_modules/is-arrayish": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", - "dev": true - }, - "node_modules/is-binary-path": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", - "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", - "dev": true, - "dependencies": { - "binary-extensions": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-docker": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", - "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", - "dev": true, - "bin": { - "is-docker": "cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-interactive": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", - "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/is-lambda": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", - "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", - "dev": true - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-plain-obj": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", - "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-stream": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", - "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-unicode-supported": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", - "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/is-what": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", - "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", - "dev": true - }, - "node_modules/is-wsl": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", - "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", - "dev": true, - "dependencies": { - "is-docker": "^2.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/isarray": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", - "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==", - "dev": true - }, - "node_modules/isbinaryfile": { - "version": "4.0.10", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", - "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", - "dev": true, - "engines": { - "node": ">= 8.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/gjtorikian/" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-lib-coverage": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.2.tgz", - "integrity": "sha512-O8dpsF+r0WV/8MNRKfnmrtCWhuKjxrq2w+jpzBL5UZKTi2LeVWnWOmWRxFlesJONmc+wLAGvKQZEOanko0LFTg==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", - "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", - "dev": true, - "dependencies": { - "@babel/core": "^7.12.3", - "@babel/parser": "^7.14.7", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.2.0", - "semver": "^6.3.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/istanbul-lib-instrument/node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/istanbul-lib-report": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.1.tgz", - "integrity": "sha512-GCfE1mtsHGOELCU8e/Z7YWzpmybrx/+dSTfLrvY8qRmaY6zXTKWn6WQIjaAFw069icm6GVMNkgu0NzI4iPZUNw==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.0.0", - "make-dir": "^4.0.0", - "supports-color": "^7.1.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-report/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/istanbul-lib-report/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/istanbul-lib-source-maps": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-4.0.1.tgz", - "integrity": "sha512-n3s8EwkdFIJCG3BPKBYvskgXGoy88ARzvegkitk60NxRdwltLOTaH7CUiMRXvwYorl0Q712iEjcWB+fK/MrWVw==", - "dev": true, - "dependencies": { - "debug": "^4.1.1", - "istanbul-lib-coverage": "^3.0.0", - "source-map": "^0.6.1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/istanbul-lib-source-maps/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/istanbul-reports": { - "version": "3.1.7", - "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.1.7.tgz", - "integrity": "sha512-BewmUXImeuRk2YY0PVbxgKAysvhRPUQE0h5QRM++nVWyubKGV0l8qQ5op8+B2DOmwSe63Jivj0BjkPQVf8fP5g==", - "dev": true, - "dependencies": { - "html-escaper": "^2.0.0", - "istanbul-lib-report": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/jackspeak": { - "version": "2.3.6", - "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.3.6.tgz", - "integrity": "sha512-N3yCS/NegsOBokc8GAdM8UcmfsKiSS8cipheD/nivzr700H+nsMOxJjQnvwOcRYVuFkdH0wGUvW2WbXGmrZGbQ==", - "dev": true, - "dependencies": { - "@isaacs/cliui": "^8.0.2" - }, - "engines": { - "node": ">=14" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - }, - "optionalDependencies": { - "@pkgjs/parseargs": "^0.11.0" - } - }, - "node_modules/jasmine-core": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-5.1.2.tgz", - "integrity": "sha512-2oIUMGn00FdUiqz6epiiJr7xcFyNYj3rDcfmnzfkBnHyBQ3cBQUs4mmyGsOb7TTLb9kxk7dBcmEmqhDKkBoDyA==", - "dev": true - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/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/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/jiti": { - "version": "1.21.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-1.21.0.tgz", - "integrity": "sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==", - "dev": true, - "bin": { - "jiti": "bin/jiti.js" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "node_modules/js-yaml": { - "version": "3.14.1", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.1.tgz", - "integrity": "sha512-okMH7OXXJ7YrN9Ok3/SXrnu4iX9yOk+25nqX4imS2npuvTYDmo/QEZoqwZkYaIDk3jVvBOTOIEgEhaLOynBS9g==", - "dev": true, - "dependencies": { - "argparse": "^1.0.7", - "esprima": "^4.0.0" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsbn": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-1.1.0.tgz", - "integrity": "sha512-4bYVV3aAMtDTTu4+xsDYa6sy9GyJ69/amsu9sYF2zqjiEoZA5xJi3BrfX3uY+/IekIu7MwdObdbDWpoZdBv3/A==", - "dev": true - }, - "node_modules/jsesc": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", - "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.1.tgz", - "integrity": "sha512-aatBvbL26wVUCLmbWdCpeu9iF5wOyWpagiKkInA+kfws3sWdBrTnsvN2CKcyCYyUrc7rebNBlK6+kteg7ksecg==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsonc-parser": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.1.tgz", - "integrity": "sha512-AilxAyFOAcK5wA1+LeaySVBrHsGQvUFCDWXKpZjzaL0PqW+xfBOttn8GNtWKFWqneyMZj41MWF9Kl6iPWLwgOA==", - "dev": true - }, - "node_modules/jsonfile": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", - "dev": true, - "optionalDependencies": { - "graceful-fs": "^4.1.6" - } - }, - "node_modules/jsonparse": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", - "dev": true, - "engines": [ - "node >= 0.2.0" - ] - }, - "node_modules/karma": { - "version": "6.4.3", - "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.3.tgz", - "integrity": "sha512-LuucC/RE92tJ8mlCwqEoRWXP38UMAqpnq98vktmS9SznSoUPPUJQbc91dHcxcunROvfQjdORVA/YFviH+Xci9Q==", - "dev": true, - "dependencies": { - "@colors/colors": "1.5.0", - "body-parser": "^1.19.0", - "braces": "^3.0.2", - "chokidar": "^3.5.1", - "connect": "^3.7.0", - "di": "^0.0.1", - "dom-serialize": "^2.2.1", - "glob": "^7.1.7", - "graceful-fs": "^4.2.6", - "http-proxy": "^1.18.1", - "isbinaryfile": "^4.0.8", - "lodash": "^4.17.21", - "log4js": "^6.4.1", - "mime": "^2.5.2", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.5", - "qjobs": "^1.2.0", - "range-parser": "^1.2.1", - "rimraf": "^3.0.2", - "socket.io": "^4.7.2", - "source-map": "^0.6.1", - "tmp": "^0.2.1", - "ua-parser-js": "^0.7.30", - "yargs": "^16.1.1" - }, - "bin": { - "karma": "bin/karma" - }, - "engines": { - "node": ">= 10" - } - }, - "node_modules/karma-chrome-launcher": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz", - "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==", - "dev": true, - "dependencies": { - "which": "^1.2.1" - } - }, - "node_modules/karma-coverage": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/karma-coverage/-/karma-coverage-2.2.1.tgz", - "integrity": "sha512-yj7hbequkQP2qOSb20GuNSIyE//PgJWHwC2IydLE6XRtsnaflv+/OSGNssPjobYUlhVVagy99TQpqUt3vAUG7A==", - "dev": true, - "dependencies": { - "istanbul-lib-coverage": "^3.2.0", - "istanbul-lib-instrument": "^5.1.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^4.0.1", - "istanbul-reports": "^3.0.5", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/karma-jasmine": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", - "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==", - "dev": true, - "dependencies": { - "jasmine-core": "^4.1.0" - }, - "engines": { - "node": ">=12" - }, - "peerDependencies": { - "karma": "^6.0.0" - } - }, - "node_modules/karma-jasmine-html-reporter": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.1.0.tgz", - "integrity": "sha512-sPQE1+nlsn6Hwb5t+HHwyy0A1FNCVKuL1192b+XNauMYWThz2kweiBVW1DqloRpVvZIJkIoHVB7XRpK78n1xbQ==", - "dev": true, - "peerDependencies": { - "jasmine-core": "^4.0.0 || ^5.0.0", - "karma": "^6.0.0", - "karma-jasmine": "^5.0.0" - } - }, - "node_modules/karma-jasmine/node_modules/jasmine-core": { - "version": "4.6.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.0.tgz", - "integrity": "sha512-O236+gd0ZXS8YAjFx8xKaJ94/erqUliEkJTDedyE7iHvv4ZVqi+q+8acJxu05/WJDKm512EUNn809In37nWlAQ==", - "dev": true - }, - "node_modules/karma-source-map-support": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", - "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", - "dev": true, - "dependencies": { - "source-map-support": "^0.5.5" - } - }, - "node_modules/karma/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/karma/node_modules/cliui": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", - "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", - "dev": true, - "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^7.0.0" - } - }, - "node_modules/karma/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/karma/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/karma/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/karma/node_modules/tmp": { - "version": "0.2.3", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.3.tgz", - "integrity": "sha512-nZD7m9iCPC5g0pYmcaxogYKggSfLsdxl8of3Q/oIbqCqLLIO9IAF0GWjX1z9NZRHPiXv8Wex4yDCaZsgEw0Y8w==", - "dev": true, - "engines": { - "node": ">=14.14" - } - }, - "node_modules/karma/node_modules/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==", - "dev": true, - "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/karma/node_modules/yargs": { - "version": "16.2.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", - "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", - "dev": true, - "dependencies": { - "cliui": "^7.0.2", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.0", - "y18n": "^5.0.5", - "yargs-parser": "^20.2.2" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/karma/node_modules/yargs-parser": { - "version": "20.2.9", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", - "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/klona": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", - "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/launch-editor": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.1.tgz", - "integrity": "sha512-eB/uXmFVpY4zezmGp5XtU21kwo7GBbKB+EQ+UZeWtGb9yAM5xt/Evk+lYH3eRNAtId+ej4u7TYPFZ07w4s7rRw==", - "dev": true, - "dependencies": { - "picocolors": "^1.0.0", - "shell-quote": "^1.8.1" - } - }, - "node_modules/less": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/less/-/less-4.2.0.tgz", - "integrity": "sha512-P3b3HJDBtSzsXUl0im2L7gTO5Ubg8mEN6G8qoTS77iXxXX4Hvu4Qj540PZDvQ8V6DmX6iXo98k7Md0Cm1PrLaA==", - "dev": true, - "dependencies": { - "copy-anything": "^2.0.1", - "parse-node-version": "^1.0.1", - "tslib": "^2.3.0" - }, - "bin": { - "lessc": "bin/lessc" - }, - "engines": { - "node": ">=6" - }, - "optionalDependencies": { - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "needle": "^3.1.0", - "source-map": "~0.6.0" - } - }, - "node_modules/less-loader": { - "version": "11.1.0", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", - "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", - "dev": true, - "dependencies": { - "klona": "^2.0.4" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "less": "^3.5.0 || ^4.0.0", - "webpack": "^5.0.0" - } - }, - "node_modules/less/node_modules/make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", - "dev": true, - "optional": true, - "dependencies": { - "pify": "^4.0.1", - "semver": "^5.6.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/less/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, - "optional": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/less/node_modules/semver": { - "version": "5.7.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-5.7.2.tgz", - "integrity": "sha512-cBznnQ9KjJqU67B52RMC65CMarK2600WFnbkcaiwWq3xy/5haFJlshgnpjovMVJ+Hff49d8GEn0b87C5pDQ10g==", - "dev": true, - "optional": true, - "bin": { - "semver": "bin/semver" - } - }, - "node_modules/less/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/license-webpack-plugin": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", - "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", - "dev": true, - "dependencies": { - "webpack-sources": "^3.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-sources": { - "optional": true - } - } - }, - "node_modules/lines-and-columns": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", - "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", - "dev": true - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/loader-utils": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", - "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", - "dev": true, - "engines": { - "node": ">= 12.13.0" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/lodash": { - "version": "4.17.21", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", - "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", - "dev": true - }, - "node_modules/lodash.debounce": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", - "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", - "dev": true - }, - "node_modules/log-symbols": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", - "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "is-unicode-supported": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/log-symbols/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/log-symbols/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/log-symbols/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/log-symbols/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/log-symbols/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/log-symbols/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/log4js": { - "version": "6.9.1", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", - "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", - "dev": true, - "dependencies": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "flatted": "^3.2.7", - "rfdc": "^1.3.0", - "streamroller": "^3.1.5" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/magic-string": { - "version": "0.30.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.7.tgz", - "integrity": "sha512-8vBuFF/I/+OSLRmdf2wwFCJCz+nSn0m6DPvGH1fS/KiQoSaR+sETbov0eIk9KhEKy8CYqIkIAnbohxT/4H0kuA==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.4.15" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/make-dir": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-4.0.0.tgz", - "integrity": "sha512-hXdUTZYIVOt1Ex//jAQi+wTZZpUpwBj/0QsOzqegb3rGMMeJiSEu5xLHnYfBrRV4RH2+OCSOO95Is/7x1WJ4bw==", - "dev": true, - "dependencies": { - "semver": "^7.5.3" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/make-error": { - "version": "1.3.6", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.6.tgz", - "integrity": "sha512-s8UhlNe7vPKomQhC1qFelMokr/Sc3AgNbso3n74mVPA5LTZwkB9NlXf4XPamLxJE8h0gh73rM94xvwRT2CVInw==", - "dev": true - }, - "node_modules/make-fetch-happen": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-13.0.0.tgz", - "integrity": "sha512-7ThobcL8brtGo9CavByQrQi+23aIfgYU++wg4B87AIS8Rb2ZBt/MEaDqzA00Xwv/jUjAjYkLHjVolYuTLKda2A==", - "dev": true, - "dependencies": { - "@npmcli/agent": "^2.0.0", - "cacache": "^18.0.0", - "http-cache-semantics": "^4.1.1", - "is-lambda": "^1.0.1", - "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "ssri": "^10.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/memfs": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.3.tgz", - "integrity": "sha512-UERzLsxzllchadvbPs5aolHh65ISpKpM+ccLbOJ8/vvpBKmAWf+la7dXFy7Mr0ySHbdHrFv5kGFCUHHe6GFEmw==", - "dev": true, - "dependencies": { - "fs-monkey": "^1.0.4" - }, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/merge-descriptors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", - "dev": true - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/methods": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/micromatch": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", - "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", - "dev": true, - "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "node_modules/micromatch/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/mime": { - "version": "2.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", - "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", - "dev": true, - "bin": { - "mime": "cli.js" - }, - "engines": { - "node": ">=4.0.0" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/mini-css-extract-plugin": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.8.0.tgz", - "integrity": "sha512-CxmUYPFcTgET1zImteG/LZOy/4T5rTojesQXkSNBiquhydn78tfbCE9sjIjnJ/UcjNjOC1bphTCCW5rrS7cXAg==", - "dev": true, - "dependencies": { - "schema-utils": "^4.0.0", - "tapable": "^2.2.1" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - } - }, - "node_modules/minimalistic-assert": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", - "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", - "dev": true - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/minipass": { - "version": "7.0.4", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-7.0.4.tgz", - "integrity": "sha512-jYofLM5Dam9279rdkWzqHozUo4ybjdZmCsDHePy5V/PbBcVMiSZR97gmAy45aqi8CK1lG2ECd356FU86avfwUQ==", - "dev": true, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minipass-collect": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-2.0.1.tgz", - "integrity": "sha512-D7V8PO9oaz7PWGLbCACuI1qEOsq7UKfLotx/C0Aet43fCUB/wfQ7DYeq2oR/svFJGYDHPr38SHATeaj/ZoKHKw==", - "dev": true, - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - } - }, - "node_modules/minipass-fetch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.4.tgz", - "integrity": "sha512-jHAqnA728uUpIaFm7NWsCnqKT6UqZz7GcI/bDpPATuwYyKwJwW0remxSCxUlKiEty+eopHGa3oc8WxgQ1FFJqg==", - "dev": true, - "dependencies": { - "minipass": "^7.0.3", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - }, - "optionalDependencies": { - "encoding": "^0.1.13" - } - }, - "node_modules/minipass-flush": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", - "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minipass-flush/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-flush/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/minipass-json-stream": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", - "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", - "dev": true, - "dependencies": { - "jsonparse": "^1.3.1", - "minipass": "^3.0.0" - } - }, - "node_modules/minipass-json-stream/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-json-stream/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/minipass-pipeline": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", - "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-pipeline/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/minipass-sized": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", - "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minipass-sized/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/minizlib": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", - "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/minizlib/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/minizlib/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/mkdirp": { - "version": "0.5.6", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", - "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", - "dev": true, - "dependencies": { - "minimist": "^1.2.6" - }, - "bin": { - "mkdirp": "bin/cmd.js" - } - }, - "node_modules/mrmime": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-2.0.0.tgz", - "integrity": "sha512-eu38+hdgojoyq63s+yTpN4XMBdt5l8HhMhc4VKLO9KM5caLIBvUm4thi7fFaxyTmCKeNnXZ5pAlBwCUnhA09uw==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - }, - "node_modules/multicast-dns": { - "version": "7.2.5", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", - "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", - "dev": true, - "dependencies": { - "dns-packet": "^5.2.2", - "thunky": "^1.0.2" - }, - "bin": { - "multicast-dns": "cli.js" - } - }, - "node_modules/mute-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-1.0.0.tgz", - "integrity": "sha512-avsJQhyd+680gKXyG/sQc0nXaC6rBkPOfyHYcFb9+hdkqQkR9bdnkJ0AMZhke0oesPqIO+mFFJ+IdBc7mst4IA==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/needle": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/needle/-/needle-3.3.1.tgz", - "integrity": "sha512-6k0YULvhpw+RoLNiQCRKOl09Rv1dPLr8hHnVjHqdolKwDrdNyk+Hmrthi4lIGPPz3r39dLx0hsF5s40sZ3Us4Q==", - "dev": true, - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.3", - "sax": "^1.2.4" - }, - "bin": { - "needle": "bin/needle" - }, - "engines": { - "node": ">= 4.4.x" - } - }, - "node_modules/needle/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, - "optional": true, - "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/nice-napi": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", - "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", - "dev": true, - "hasInstallScript": true, - "optional": true, - "os": [ - "!win32" - ], - "dependencies": { - "node-addon-api": "^3.0.0", - "node-gyp-build": "^4.2.2" - } - }, - "node_modules/node-addon-api": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", - "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", - "dev": true, - "optional": true - }, - "node_modules/node-forge": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", - "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", - "dev": true, - "engines": { - "node": ">= 6.13.0" - } - }, - "node_modules/node-gyp": { - "version": "10.0.1", - "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-10.0.1.tgz", - "integrity": "sha512-gg3/bHehQfZivQVfqIyy8wTdSymF9yTyP4CJifK73imyNMU8AIGQE2pUa7dNWfmMeG9cDVF2eehiRMv0LC1iAg==", - "dev": true, - "dependencies": { - "env-paths": "^2.2.0", - "exponential-backoff": "^3.1.1", - "glob": "^10.3.10", - "graceful-fs": "^4.2.6", - "make-fetch-happen": "^13.0.0", - "nopt": "^7.0.0", - "proc-log": "^3.0.0", - "semver": "^7.3.5", - "tar": "^6.1.2", - "which": "^4.0.0" - }, - "bin": { - "node-gyp": "bin/node-gyp.js" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/node-gyp-build": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.8.0.tgz", - "integrity": "sha512-u6fs2AEUljNho3EYTJNBfImO5QTo/J/1Etd+NVdCj7qWKUSN/bSLkZwhDv7I+w/MSC6qJ4cknepkAYykDdK8og==", - "dev": true, - "optional": true, - "bin": { - "node-gyp-build": "bin.js", - "node-gyp-build-optional": "optional.js", - "node-gyp-build-test": "build-test.js" - } - }, - "node_modules/node-gyp/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/node-gyp/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/node-gyp/node_modules/isexe": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-3.1.1.tgz", - "integrity": "sha512-LpB/54B+/2J5hqQ7imZHfdU31OlgQqx7ZicVlkm9kzg9/w8GKLEcFfJl/t7DCEDueOyBAD6zCCwTO6Fzs0NoEQ==", - "dev": true, - "engines": { - "node": ">=16" - } - }, - "node_modules/node-gyp/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/node-gyp/node_modules/which": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/which/-/which-4.0.0.tgz", - "integrity": "sha512-GlaYyEb07DPxYCKhKzplCWBJtvxZcZMrL+4UkrTSJHHPyZU4mYYTv3qaOe77H7EODLSSopAUFAc6W8U4yqvscg==", - "dev": true, - "dependencies": { - "isexe": "^3.1.1" - }, - "bin": { - "node-which": "bin/which.js" - }, - "engines": { - "node": "^16.13.0 || >=18.0.0" - } - }, - "node_modules/node-releases": { - "version": "2.0.14", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.14.tgz", - "integrity": "sha512-y10wOWt8yZpqXmOgRo77WaHEmhYQYGNA6y421PKsKYWEK8aW+cqAphborZDhqfyKrbZEN92CN1X2KbafY2s7Yw==", - "dev": true - }, - "node_modules/nopt": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/nopt/-/nopt-7.2.0.tgz", - "integrity": "sha512-CVDtwCdhYIvnAzFoJ6NJ6dX3oga9/HyciQDnG1vQDjSLMeKLJ4A93ZqYKDrgYSr1FBY5/hMYC+2VCi24pgpkGA==", - "dev": true, - "dependencies": { - "abbrev": "^2.0.0" - }, - "bin": { - "nopt": "bin/nopt.js" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/normalize-package-data": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-6.0.0.tgz", - "integrity": "sha512-UL7ELRVxYBHBgYEtZCXjxuD5vPxnmvMGq0jp/dGPKKrN7tfsBh2IY7TlJ15WWwdjRWD3RJbnsygUurTK3xkPkg==", - "dev": true, - "dependencies": { - "hosted-git-info": "^7.0.0", - "is-core-module": "^2.8.1", - "semver": "^7.3.5", - "validate-npm-package-license": "^3.0.4" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/normalize-range": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/npm-bundled": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", - "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", - "dev": true, - "dependencies": { - "npm-normalize-package-bin": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-install-checks": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.3.0.tgz", - "integrity": "sha512-W29RiK/xtpCGqn6f3ixfRYGk+zRyr+Ew9F2E20BfXxT5/euLdA/Nm7fO7OeTGuAmTs30cpgInyJ0cYe708YTZw==", - "dev": true, - "dependencies": { - "semver": "^7.1.1" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-normalize-package-bin": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", - "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-package-arg": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-11.0.1.tgz", - "integrity": "sha512-M7s1BD4NxdAvBKUPqqRW957Xwcl/4Zvo8Aj+ANrzvIPzGJZElrH7Z//rSaec2ORcND6FHHLnZeY8qgTpXDMFQQ==", - "dev": true, - "dependencies": { - "hosted-git-info": "^7.0.0", - "proc-log": "^3.0.0", - "semver": "^7.3.5", - "validate-npm-package-name": "^5.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm-packlist": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-8.0.2.tgz", - "integrity": "sha512-shYrPFIS/JLP4oQmAwDyk5HcyysKW8/JLTEA32S0Z5TzvpaeeX2yMFfoK1fjEBnCBvVyIB/Jj/GBFdm0wsgzbA==", - "dev": true, - "dependencies": { - "ignore-walk": "^6.0.4" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/npm-pick-manifest": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-9.0.0.tgz", - "integrity": "sha512-VfvRSs/b6n9ol4Qb+bDwNGUXutpy76x6MARw/XssevE0TnctIKcmklJZM5Z7nqs5z5aW+0S63pgCNbpkUNNXBg==", - "dev": true, - "dependencies": { - "npm-install-checks": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0", - "npm-package-arg": "^11.0.0", - "semver": "^7.3.5" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm-registry-fetch": { - "version": "16.1.0", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-16.1.0.tgz", - "integrity": "sha512-PQCELXKt8Azvxnt5Y85GseQDJJlglTFM9L9U9gkv2y4e9s0k3GVDdOx3YoB6gm2Do0hlkzC39iCGXby+Wve1Bw==", - "dev": true, - "dependencies": { - "make-fetch-happen": "^13.0.0", - "minipass": "^7.0.2", - "minipass-fetch": "^3.0.0", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^11.0.0", - "proc-log": "^3.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", - "dev": true, - "dependencies": { - "path-key": "^3.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "boolbase": "^1.0.0" - }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" - } - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/object-inspect": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.13.1.tgz", - "integrity": "sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/obuf": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", - "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "ee-first": "1.1.1" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/on-headers": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", - "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/once": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", - "integrity": "sha512-lNaJgI+2Q5URQBkccEKHTQOPaXdUxnZZElQTZY0MFUAuaEqe1E+Nyvgdz/aIyNi6Z9MzO5dv1H8n58/GELp3+w==", - "dev": true, - "dependencies": { - "wrappy": "1" - } - }, - "node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dev": true, - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/open": { - "version": "8.4.2", - "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", - "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", - "dev": true, - "dependencies": { - "define-lazy-prop": "^2.0.0", - "is-docker": "^2.1.1", - "is-wsl": "^2.2.0" - }, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", - "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", - "dev": true, - "dependencies": { - "bl": "^4.1.0", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.5.0", - "is-interactive": "^1.0.0", - "is-unicode-supported": "^0.1.0", - "log-symbols": "^4.1.0", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/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/ora/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/ora/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/ora/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/ora/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/ora/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/os-tmpdir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", - "integrity": "sha512-D2FR03Vir7FIu45XBY20mTb+/ZSWB00sjU9jdQXt83gDrI4Ztz5Fs7/yy74g2N5SVQY4xY1qDr4rNddwYRVX0g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-map": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", - "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", - "dev": true, - "dependencies": { - "aggregate-error": "^3.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-retry": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", - "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", - "dev": true, - "dependencies": { - "@types/retry": "0.12.0", - "retry": "^0.13.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-retry/node_modules/retry": { - "version": "0.13.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", - "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/pacote": { - "version": "17.0.6", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-17.0.6.tgz", - "integrity": "sha512-cJKrW21VRE8vVTRskJo78c/RCvwJCn1f4qgfxL4w77SOWrTCRcmfkYHlHtS0gqpgjv3zhXflRtgsrUCX5xwNnQ==", - "dev": true, - "dependencies": { - "@npmcli/git": "^5.0.0", - "@npmcli/installed-package-contents": "^2.0.1", - "@npmcli/promise-spawn": "^7.0.0", - "@npmcli/run-script": "^7.0.0", - "cacache": "^18.0.0", - "fs-minipass": "^3.0.0", - "minipass": "^7.0.2", - "npm-package-arg": "^11.0.0", - "npm-packlist": "^8.0.0", - "npm-pick-manifest": "^9.0.0", - "npm-registry-fetch": "^16.0.0", - "proc-log": "^3.0.0", - "promise-retry": "^2.0.1", - "read-package-json": "^7.0.0", - "read-package-json-fast": "^3.0.0", - "sigstore": "^2.2.0", - "ssri": "^10.0.0", - "tar": "^6.1.11" - }, - "bin": { - "pacote": "lib/bin.js" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/parse-json": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", - "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parse-json/node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/parse-node-version": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", - "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/parse5": { - "version": "7.1.2", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", - "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", - "dev": true, - "dependencies": { - "entities": "^4.4.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5-html-rewriting-stream": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz", - "integrity": "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==", - "dev": true, - "dependencies": { - "entities": "^4.3.0", - "parse5": "^7.0.0", - "parse5-sax-parser": "^7.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parse5-sax-parser": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz", - "integrity": "sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==", - "dev": true, - "dependencies": { - "parse5": "^7.0.0" - }, - "funding": { - "url": "https://github.com/inikulin/parse5?sponsor=1" - } - }, - "node_modules/parseurl": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", - "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-is-absolute": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", - "integrity": "sha512-AVbw3UJ2e9bq64vSaS9Am0fje1Pa8pbGqTTsmXfaIiMpnr5DlDhfJOuLj9Sf95ZPVDAUerDfEk88MPmPe7UCQg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/path-scurry": { - "version": "1.10.1", - "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.10.1.tgz", - "integrity": "sha512-MkhCqzzBEpPvxxQ71Md0b1Kk51W01lrYvlMzSUaIzNsODdd7mqhiimSZlr+VegAz5Z6Vzt9Xg2ttE//XBhH3EQ==", - "dev": true, - "dependencies": { - "lru-cache": "^9.1.1 || ^10.0.0", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/path-scurry/node_modules/lru-cache": { - "version": "10.2.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-10.2.0.tgz", - "integrity": "sha512-2bIM8x+VAf6JT4bKAljS1qUWgMsqZRPGJS6FSahIMPVvctcNhyVp7AJu7quxOW9jwkryBReKZY5tY5JYv2n/7Q==", - "dev": true, - "engines": { - "node": "14 || >=16.14" - } - }, - "node_modules/path-to-regexp": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", - "dev": true - }, - "node_modules/path-type": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", - "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/picocolors": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", - "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", - "dev": true - }, - "node_modules/picomatch": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.1.tgz", - "integrity": "sha512-xUXwsxNjwTQ8K3GnT4pCJm+xq3RUPQbmkYJTP5aFIfNIvbcc/4MUxgBaaRSZJ6yGJZiGSyYlM6MzwTsRk8SYCg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/pify": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", - "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true, - "optional": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/piscina": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/piscina/-/piscina-4.3.1.tgz", - "integrity": "sha512-MBj0QYm3hJQ/C/wIXTN1OCYC8uQ4BBJ4LVele2P4ZwVQAH04vkk8E1SpDbuemLAL1dZorbuOob9rYqJeWCcCRg==", - "dev": true, - "optionalDependencies": { - "nice-napi": "^1.0.2" - } - }, - "node_modules/pkg-dir": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-7.0.0.tgz", - "integrity": "sha512-Ie9z/WINcxxLp27BKOCHGde4ITq9UklYKDzVo1nhk5sqGEXU3FpkwP5GM2voTGJkGd9B3Otl+Q4uwSOeSUtOBA==", - "dev": true, - "dependencies": { - "find-up": "^6.3.0" - }, - "engines": { - "node": ">=14.16" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/find-up": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-6.3.0.tgz", - "integrity": "sha512-v2ZsoEuVHYy8ZIlYqwPe/39Cy+cFDzp4dXPaxNvkEuouymu+2Jbz0PxpKarJHYJTmv2HWT3O382qY8l4jMWthw==", - "dev": true, - "dependencies": { - "locate-path": "^7.1.0", - "path-exists": "^5.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/locate-path": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-7.2.0.tgz", - "integrity": "sha512-gvVijfZvn7R+2qyPX8mAuKcFGDf6Nc61GdvGafQsHL0sBIxfKzA+usWn4GFC/bk+QdwPUD4kWFJLhElipq+0VA==", - "dev": true, - "dependencies": { - "p-locate": "^6.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-limit": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-4.0.0.tgz", - "integrity": "sha512-5b0R4txpzjPWVw/cXXUResoD4hb6U/x9BH08L7nw+GN1sezDzPdxeRvpc9c433fZhBan/wusjbCsqwqm4EIBIQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^1.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/p-locate": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-6.0.0.tgz", - "integrity": "sha512-wPrq66Llhl7/4AGC6I+cqxT07LhXvWL08LNXz1fENOw0Ap4sRZZ/gZpTTJ5jpurzzzfS2W/Ge9BY3LgLjCShcw==", - "dev": true, - "dependencies": { - "p-limit": "^4.0.0" - }, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/pkg-dir/node_modules/path-exists": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-5.0.0.tgz", - "integrity": "sha512-RjhtfwJOxzcFmNOi6ltcbcu4Iu+FL3zEj83dk4kAS+fVpTxXLO1b38RvJgT/0QwvV/L3aY9TAnyv0EOqW4GoMQ==", - "dev": true, - "engines": { - "node": "^12.20.0 || ^14.13.1 || >=16.0.0" - } - }, - "node_modules/postcss": { - "version": "8.4.35", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.35.tgz", - "integrity": "sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "nanoid": "^3.3.7", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/postcss-loader": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-8.1.0.tgz", - "integrity": "sha512-AbperNcX3rlob7Ay7A/HQcrofug1caABBkopoFeOQMspZBqcqj6giYn1Bwey/0uiOPAcR+NQD0I2HC7rXzk91w==", - "dev": true, - "dependencies": { - "cosmiconfig": "^9.0.0", - "jiti": "^1.20.0", - "semver": "^7.5.4" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "postcss": "^7.0.0 || ^8.0.1", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/postcss-modules-extract-imports": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", - "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-local-by-default": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.4.tgz", - "integrity": "sha512-L4QzMnOdVwRm1Qb8m4x8jsZzKAaPAgrUF1r/hjDR2Xj7R+8Zsf97jAlSQzWtKx5YNiNGN8QxmPFIc/sh+RQl+Q==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.1.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-scope": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.1.1.tgz", - "integrity": "sha512-uZgqzdTleelWjzJY+Fhti6F3C9iF1JR/dODLs/JDefozYcKTBCdD8BIl6nNPbTbcLnGrk56hzwZC2DaGNvYjzA==", - "dev": true, - "dependencies": { - "postcss-selector-parser": "^6.0.4" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-modules-values": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", - "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", - "dev": true, - "dependencies": { - "icss-utils": "^5.0.0" - }, - "engines": { - "node": "^10 || ^12 || >= 14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/postcss-selector-parser": { - "version": "6.0.15", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.15.tgz", - "integrity": "sha512-rEYkQOMUCEMhsKbK66tbEU9QVIxbhN18YiniAwA7XQYTVBqrBy+P2p5JcdqsHgKM2zWylp8d7J6eszocfds5Sw==", - "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "util-deprecate": "^1.0.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/postcss-value-parser": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", - "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", - "dev": true - }, - "node_modules/pretty-bytes": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", - "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/proc-log": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", - "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", - "dev": true, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true - }, - "node_modules/promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", - "dev": true - }, - "node_modules/promise-retry": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", - "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", - "dev": true, - "dependencies": { - "err-code": "^2.0.2", - "retry": "^0.12.0" - }, - "engines": { - "node": ">=10" - } - }, - "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==", - "dev": true, - "dependencies": { - "forwarded": "0.2.0", - "ipaddr.js": "1.9.1" - }, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/proxy-addr/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==", - "dev": true, - "engines": { - "node": ">= 0.10" - } - }, - "node_modules/prr": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", - "dev": true, - "optional": true - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/qjobs": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", - "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", - "dev": true, - "engines": { - "node": ">=0.9" - } - }, - "node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", - "dev": true, - "dependencies": { - "side-channel": "^1.0.4" - }, - "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/raw-body": { - "version": "2.5.2", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.2.tgz", - "integrity": "sha512-8zGqypfENjCIqGhgXToC8aB2r7YrBX+AQAfIPs/Mlk+BtPTztOvTS01NRW/3Eh60J+a48lt8qsCzirQ6loCVfA==", - "dev": true, - "dependencies": { - "bytes": "3.1.2", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "unpipe": "1.0.0" - }, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/read-package-json": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-7.0.0.tgz", - "integrity": "sha512-uL4Z10OKV4p6vbdvIXB+OzhInYtIozl/VxUBPgNkBuUi2DeRonnuspmaVAMcrkmfjKGNmRndyQAbE7/AmzGwFg==", - "dev": true, - "dependencies": { - "glob": "^10.2.2", - "json-parse-even-better-errors": "^3.0.0", - "normalize-package-data": "^6.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/read-package-json-fast": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", - "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", - "dev": true, - "dependencies": { - "json-parse-even-better-errors": "^3.0.0", - "npm-normalize-package-bin": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/read-package-json/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/read-package-json/node_modules/glob": { - "version": "10.3.10", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.3.10.tgz", - "integrity": "sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==", - "dev": true, - "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.3.5", - "minimatch": "^9.0.1", - "minipass": "^5.0.0 || ^6.0.2 || ^7.0.0", - "path-scurry": "^1.10.1" - }, - "bin": { - "glob": "dist/esm/bin.mjs" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/read-package-json/node_modules/minimatch": { - "version": "9.0.3", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.3.tgz", - "integrity": "sha512-RHiac9mvaRw0x3AYRgDC1CxAP7HTcNrrECeA8YYJeWnpo+2Q5CegtZjaotWTWxDG3UeGA1coE05iH1mPjT/2mg==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", - "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/readdirp": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", - "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", - "dev": true, - "dependencies": { - "picomatch": "^2.2.1" - }, - "engines": { - "node": ">=8.10.0" - } - }, - "node_modules/readdirp/node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/reflect-metadata": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.2.1.tgz", - "integrity": "sha512-i5lLI6iw9AU3Uu4szRNPPEkomnkjRTaVt9hy/bn5g/oSzekBSMeLZblcjP74AW0vBabqERLLIrz+gR8QYR54Tw==", - "dev": true - }, - "node_modules/regenerate": { - "version": "1.4.2", - "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", - "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", - "dev": true - }, - "node_modules/regenerate-unicode-properties": { - "version": "10.1.1", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.1.tgz", - "integrity": "sha512-X007RyZLsCJVVrjgEFVpLUTZwyOZk3oiL75ZcuYjlIWd6rNJtOjkBwQc5AsRrpbKVkxN6sklw/k/9m2jJYOf8Q==", - "dev": true, - "dependencies": { - "regenerate": "^1.4.2" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regenerator-runtime": { - "version": "0.14.1", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.14.1.tgz", - "integrity": "sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==", - "dev": true - }, - "node_modules/regenerator-transform": { - "version": "0.15.2", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.2.tgz", - "integrity": "sha512-hfMp2BoF0qOk3uc5V20ALGDS2ddjQaLrdl7xrGXvAIow7qeWRM2VA2HuCHkUKk9slq3VwEwLNK3DFBqDfPGYtg==", - "dev": true, - "dependencies": { - "@babel/runtime": "^7.8.4" - } - }, - "node_modules/regex-parser": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.3.0.tgz", - "integrity": "sha512-TVILVSz2jY5D47F4mA4MppkBrafEaiUWJO/TcZHEIuI13AqoZMkK1WMA4Om1YkYbTx+9Ki1/tSUXbceyr9saRg==", - "dev": true - }, - "node_modules/regexpu-core": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", - "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", - "dev": true, - "dependencies": { - "@babel/regjsgen": "^0.8.0", - "regenerate": "^1.4.2", - "regenerate-unicode-properties": "^10.1.0", - "regjsparser": "^0.9.1", - "unicode-match-property-ecmascript": "^2.0.0", - "unicode-match-property-value-ecmascript": "^2.1.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/regjsparser": { - "version": "0.9.1", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", - "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", - "dev": true, - "dependencies": { - "jsesc": "~0.5.0" - }, - "bin": { - "regjsparser": "bin/parser" - } - }, - "node_modules/regjsparser/node_modules/jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - } - }, - "node_modules/require-directory": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", - "integrity": "sha512-fGxEI7+wsG9xrvdjsrlmL22OMTTiHRwAMroiEeMgq8gzoLC/PQr7RsRDSTLUg/bZAZtF+TVIkHc6/4RIKrui+Q==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-url-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", - "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", - "dev": true, - "dependencies": { - "adjust-sourcemap-loader": "^4.0.0", - "convert-source-map": "^1.7.0", - "loader-utils": "^2.0.0", - "postcss": "^8.2.14", - "source-map": "0.6.1" - }, - "engines": { - "node": ">=12" - } - }, - "node_modules/resolve-url-loader/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", - "dev": true, - "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" - }, - "engines": { - "node": ">=8.9.0" - } - }, - "node_modules/resolve-url-loader/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dev": true, - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/retry": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/reusify": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", - "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/rfdc": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.1.tgz", - "integrity": "sha512-r5a3l5HzYlIC68TpmYKlxWjmOP6wiPJ1vWv2HeLhNsRZMrCkxeqxiHlQ21oXmQ4F3SiryXBHhAD7JZqvOJjFmg==", - "dev": true - }, - "node_modules/rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "dependencies": { - "glob": "^7.1.3" - }, - "bin": { - "rimraf": "bin.js" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/rollup": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.12.0.tgz", - "integrity": "sha512-wz66wn4t1OHIJw3+XU7mJJQV/2NAfw5OAk6G6Hoo3zcvz/XOfQ52Vgi+AN4Uxoxi0KBBwk2g8zPrTDA4btSB/Q==", - "dev": true, - "dependencies": { - "@types/estree": "1.0.5" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.12.0", - "@rollup/rollup-android-arm64": "4.12.0", - "@rollup/rollup-darwin-arm64": "4.12.0", - "@rollup/rollup-darwin-x64": "4.12.0", - "@rollup/rollup-linux-arm-gnueabihf": "4.12.0", - "@rollup/rollup-linux-arm64-gnu": "4.12.0", - "@rollup/rollup-linux-arm64-musl": "4.12.0", - "@rollup/rollup-linux-riscv64-gnu": "4.12.0", - "@rollup/rollup-linux-x64-gnu": "4.12.0", - "@rollup/rollup-linux-x64-musl": "4.12.0", - "@rollup/rollup-win32-arm64-msvc": "4.12.0", - "@rollup/rollup-win32-ia32-msvc": "4.12.0", - "@rollup/rollup-win32-x64-msvc": "4.12.0", - "fsevents": "~2.3.2" - } - }, - "node_modules/run-async": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-3.0.0.tgz", - "integrity": "sha512-540WwVDOMxA6dN6We19EcT9sc3hkXPw5mzRNGM3FkdN/vtE9NFvj5lFAPNwUDmJjXidm3v7TC1cTE7t17Ulm1Q==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/rxjs": { - "version": "7.8.1", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", - "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", - "dependencies": { - "tslib": "^2.1.0" - } - }, - "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==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/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/sass": { - "version": "1.70.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.70.0.tgz", - "integrity": "sha512-uUxNQ3zAHeAx5nRFskBnrWzDUJrrvpCPD5FNAoRvTi0WwremlheES3tg+56PaVtCs5QDRX5CBLxxKMDJMEa1WQ==", - "dev": true, - "dependencies": { - "chokidar": ">=3.0.0 <4.0.0", - "immutable": "^4.0.0", - "source-map-js": ">=0.6.2 <2.0.0" - }, - "bin": { - "sass": "sass.js" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/sass-loader": { - "version": "14.1.0", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-14.1.0.tgz", - "integrity": "sha512-LS2mLeFWA+orYxHNu+O18Xe4jR0kyamNOOUsE3NyBP4DvIL+8stHpNX0arYTItdPe80kluIiJ7Wfe/9iHSRO0Q==", - "dev": true, - "dependencies": { - "neo-async": "^2.6.2" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "@rspack/core": "0.x || 1.x", - "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 || ^9.0.0", - "sass": "^1.3.0", - "sass-embedded": "*", - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "@rspack/core": { - "optional": true - }, - "node-sass": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "webpack": { - "optional": true - } - } - }, - "node_modules/sax": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/sax/-/sax-1.3.0.tgz", - "integrity": "sha512-0s+oAmw9zLl1V1cS9BtZN7JAd0cW5e0QH4W3LWEK6a4LaLEA2OTpGYWDY+6XasBLtz6wkm3u1xRw95mRuJ59WA==", - "dev": true, - "optional": true - }, - "node_modules/schema-utils": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.2.0.tgz", - "integrity": "sha512-L0jRsrPpjdckP3oPug3/VxNKt2trR8TcabrM6FOAAlvC/9Phcmm+cuAgTlxBqdBR1WJx7Naj9WHw+aOmheSVbw==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/select-hose": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", - "dev": true - }, - "node_modules/selfsigned": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.4.1.tgz", - "integrity": "sha512-th5B4L2U+eGLq1TVh7zNRGBapioSORUeymIydxgFpwww9d2qyKvtuPU2jJuHvYAwwqi2Y596QBL3eEqcPEYL8Q==", - "dev": true, - "dependencies": { - "@types/node-forge": "^1.3.0", - "node-forge": "^1" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver": { - "version": "7.6.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.6.0.tgz", - "integrity": "sha512-EnwXhrlwXMk9gKu5/flx5sv/an57AkRplG3hTK68W7FRDN+k+OWBj65M7719OkA82XLBxrcX0KSHj+X5COhOVg==", - "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/semver/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/send": { - "version": "0.18.0", - "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", - "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", - "dev": true, - "dependencies": { - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "etag": "~1.8.1", - "fresh": "0.5.2", - "http-errors": "2.0.0", - "mime": "1.6.0", - "ms": "2.1.3", - "on-finished": "2.4.1", - "range-parser": "~1.2.1", - "statuses": "2.0.1" - }, - "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==", - "dev": true, - "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==", - "dev": true - }, - "node_modules/send/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/send/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==", - "dev": true - }, - "node_modules/send/node_modules/statuses": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", - "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/serve-index": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", - "dev": true, - "dependencies": { - "accepts": "~1.3.4", - "batch": "0.6.1", - "debug": "2.6.9", - "escape-html": "~1.0.3", - "http-errors": "~1.6.2", - "mime-types": "~2.1.17", - "parseurl": "~1.3.2" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/serve-index/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "dependencies": { - "ms": "2.0.0" - } - }, - "node_modules/serve-index/node_modules/depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", - "dev": true, - "dependencies": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/serve-index/node_modules/inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", - "dev": true - }, - "node_modules/serve-index/node_modules/ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", - "dev": true - }, - "node_modules/serve-index/node_modules/setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - }, - "node_modules/serve-static": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", - "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", - "dev": true, - "dependencies": { - "encodeurl": "~1.0.2", - "escape-html": "~1.0.3", - "parseurl": "~1.3.3", - "send": "0.18.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/set-function-length": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.1.tgz", - "integrity": "sha512-j4t6ccc+VsKwYHso+kElc5neZpjtq9EnRICFZtWyBsLojhmeF/ZBd/elqm22WJh/BziDe/SBiOeAt0m2mfLD0g==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.2", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.3", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/setprototypeof": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", - "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", - "dev": true - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/shell-quote": { - "version": "1.8.1", - "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", - "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/side-channel": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.6.tgz", - "integrity": "sha512-fDW/EZ6Q9RiO8eFG8Hj+7u/oW+XrPTIChwCOM2+th2A6OblDtYYIpve9m+KvI9Z4C9qSEXlaGR6bTEYHReuglA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.4", - "object-inspect": "^1.13.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/signal-exit": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", - "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", - "dev": true - }, - "node_modules/sigstore": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-2.2.2.tgz", - "integrity": "sha512-2A3WvXkQurhuMgORgT60r6pOWiCOO5LlEqY2ADxGBDGVYLSo5HN0uLtb68YpVpuL/Vi8mLTe7+0Dx2Fq8lLqEg==", - "dev": true, - "dependencies": { - "@sigstore/bundle": "^2.2.0", - "@sigstore/core": "^1.0.0", - "@sigstore/protobuf-specs": "^0.3.0", - "@sigstore/sign": "^2.2.3", - "@sigstore/tuf": "^2.3.1", - "@sigstore/verify": "^1.1.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/slash": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", - "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/smart-buffer": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", - "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", - "dev": true, - "engines": { - "node": ">= 6.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socket.io": { - "version": "4.7.4", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.7.4.tgz", - "integrity": "sha512-DcotgfP1Zg9iP/dH9zvAQcWrE0TtbMVwXmlV4T4mqsvY+gw+LqUGPfx2AoVyRk0FLME+GQhufDMyacFmw7ksqw==", - "dev": true, - "dependencies": { - "accepts": "~1.3.4", - "base64id": "~2.0.0", - "cors": "~2.8.5", - "debug": "~4.3.2", - "engine.io": "~6.5.2", - "socket.io-adapter": "~2.5.2", - "socket.io-parser": "~4.2.4" - }, - "engines": { - "node": ">=10.2.0" - } - }, - "node_modules/socket.io-adapter": { - "version": "2.5.4", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.4.tgz", - "integrity": "sha512-wDNHGXGewWAjQPt3pyeYBtpWSq9cLE5UW1ZUPL/2eGK9jtse/FpXib7epSTsz0Q0m+6sg6Y4KtcFTlah1bdOVg==", - "dev": true, - "dependencies": { - "debug": "~4.3.4", - "ws": "~8.11.0" - } - }, - "node_modules/socket.io-parser": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.4.tgz", - "integrity": "sha512-/GbIKmo8ioc+NIWIhwdecY0ge+qVBSMdgxGygevmdHj24bsfgtCmcUUcQ5ZzcylGFHsN3k4HB4Cgkl96KVnuew==", - "dev": true, - "dependencies": { - "@socket.io/component-emitter": "~3.1.0", - "debug": "~4.3.1" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/sockjs": { - "version": "0.3.24", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", - "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", - "dev": true, - "dependencies": { - "faye-websocket": "^0.11.3", - "uuid": "^8.3.2", - "websocket-driver": "^0.7.4" - } - }, - "node_modules/socks": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.8.1.tgz", - "integrity": "sha512-B6w7tkwNid7ToxjZ08rQMT8M9BJAf8DKx8Ft4NivzH0zBUfd6jldGcisJn/RLgxcX3FPNDdNQCUEMMT79b+oCQ==", - "dev": true, - "dependencies": { - "ip-address": "^9.0.5", - "smart-buffer": "^4.2.0" - }, - "engines": { - "node": ">= 10.0.0", - "npm": ">= 3.0.0" - } - }, - "node_modules/socks-proxy-agent": { - "version": "8.0.2", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-8.0.2.tgz", - "integrity": "sha512-8zuqoLv1aP/66PHF5TqwJ7Czm3Yv32urJQHrVyhD7mmA6d61Zv8cIXQYPTWwmg6qlupnPvs/QKDmfa4P/qct2g==", - "dev": true, - "dependencies": { - "agent-base": "^7.0.2", - "debug": "^4.3.4", - "socks": "^2.7.1" - }, - "engines": { - "node": ">= 14" - } - }, - "node_modules/source-map": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", - "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/source-map-js": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", - "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-5.0.0.tgz", - "integrity": "sha512-k2Dur7CbSLcAH73sBcIkV5xjPV4SzqO1NJ7+XaQl8if3VODDUj3FNchNGpqgJSKbvUfJuhVdv8K2Eu8/TNl2eA==", - "dev": true, - "dependencies": { - "iconv-lite": "^0.6.3", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.72.1" - } - }, - "node_modules/source-map-loader/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/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/source-map-support/node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/spdx-correct": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", - "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", - "dev": true, - "dependencies": { - "spdx-expression-parse": "^3.0.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-exceptions": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.5.0.tgz", - "integrity": "sha512-PiU42r+xO4UbUS1buo3LPJkjlO7430Xn5SVAhdpzzsPHsjbYVflnnFdATgabnLude+Cqu25p6N+g2lw/PFsa4w==", - "dev": true - }, - "node_modules/spdx-expression-parse": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", - "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", - "dev": true, - "dependencies": { - "spdx-exceptions": "^2.1.0", - "spdx-license-ids": "^3.0.0" - } - }, - "node_modules/spdx-license-ids": { - "version": "3.0.17", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.17.tgz", - "integrity": "sha512-sh8PWc/ftMqAAdFiBu6Fy6JUOYjqDJBJvIhpfDMyHrr0Rbp5liZqd4TjtQ/RgfLjKFZb+LMx5hpml5qOWy0qvg==", - "dev": true - }, - "node_modules/spdy": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", - "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "handle-thing": "^2.0.0", - "http-deceiver": "^1.2.7", - "select-hose": "^2.0.0", - "spdy-transport": "^3.0.0" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/spdy-transport": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", - "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", - "dev": true, - "dependencies": { - "debug": "^4.1.0", - "detect-node": "^2.0.4", - "hpack.js": "^2.1.6", - "obuf": "^1.1.2", - "readable-stream": "^3.0.6", - "wbuf": "^1.7.3" - } - }, - "node_modules/sprintf-js": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", - "integrity": "sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==", - "dev": true - }, - "node_modules/ssri": { - "version": "10.0.5", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.5.tgz", - "integrity": "sha512-bSf16tAFkGeRlUNDjXu8FzaMQt6g2HZJrun7mtMbIPOddxt3GLMSz5VWUWcqTJUPfLEaDIepGxv+bYQW49596A==", - "dev": true, - "dependencies": { - "minipass": "^7.0.3" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/statuses": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", - "integrity": "sha512-OpZ3zP+jT1PI7I8nemJX4AKmAX070ZkYPVWV/AaKTJl+tXCTGyVdC1a4SL8RUQYEwk/f34ZX8UTykN68FwrqAA==", - "dev": true, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/streamroller": { - "version": "3.1.5", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", - "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", - "dev": true, - "dependencies": { - "date-format": "^4.0.14", - "debug": "^4.3.4", - "fs-extra": "^8.1.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/string_decoder": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", - "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", - "dev": true, - "dependencies": { - "safe-buffer": "~5.2.0" - } - }, - "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==", - "dev": true, - "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": { - "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==", - "dev": true, - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-final-newline": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", - "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", - "dev": true, - "dependencies": { - "has-flag": "^3.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/symbol-observable": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", - "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", - "dev": true, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/tar": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.2.0.tgz", - "integrity": "sha512-/Wo7DcT0u5HUV486xg675HtjNd3BXZ6xDbzsCUZPt5iw8bTQ63bP0Raut3mvro9u+CUyq7YQd8Cx55fsZXxqLQ==", - "dev": true, - "dependencies": { - "chownr": "^2.0.0", - "fs-minipass": "^2.0.0", - "minipass": "^5.0.0", - "minizlib": "^2.1.1", - "mkdirp": "^1.0.3", - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", - "dev": true, - "dependencies": { - "minipass": "^3.0.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { - "version": "3.3.6", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", - "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/tar/node_modules/minipass": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", - "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/tar/node_modules/mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true, - "bin": { - "mkdirp": "bin/cmd.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/tar/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "node_modules/terser": { - "version": "5.27.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.27.0.tgz", - "integrity": "sha512-bi1HRwVRskAjheeYl291n3JC4GgO/Ty4z1nVs5AAsmonJulGxpSektecnNedrwK9C7vpvVtcX3cw00VSLt7U2A==", - "dev": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.10", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.10.tgz", - "integrity": "sha512-BKFPWlPDndPs+NGGCr1U59t0XScL5317Y0UReNrHaw9/FwhPENlq6bfgs+4yPfyP51vqC1bQ4rp1EfXW5ZSH9w==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.20", - "jest-worker": "^27.4.5", - "schema-utils": "^3.1.1", - "serialize-javascript": "^6.0.1", - "terser": "^5.26.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/terser-webpack-plugin/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/terser-webpack-plugin/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/terser-webpack-plugin/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/terser-webpack-plugin/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/test-exclude": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", - "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", - "dev": true, - "dependencies": { - "@istanbuljs/schema": "^0.1.2", - "glob": "^7.1.4", - "minimatch": "^3.0.4" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/thunky": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", - "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", - "dev": true - }, - "node_modules/tmp": { - "version": "0.0.33", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", - "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", - "dev": true, - "dependencies": { - "os-tmpdir": "~1.0.2" - }, - "engines": { - "node": ">=0.6.0" - } - }, - "node_modules/to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=0.6" - } - }, - "node_modules/tree-kill": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", - "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true, - "bin": { - "tree-kill": "cli.js" - } - }, - "node_modules/ts-node": { - "version": "10.9.2", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.2.tgz", - "integrity": "sha512-f0FFpIdcHgn8zcPSbf1dRevwt047YMnaiJM3u2w2RewrB+fob/zePZcrOyQoLMMO7aBIddLcQIEK5dYjkLnGrQ==", - "dev": true, - "dependencies": { - "@cspotcode/source-map-support": "^0.8.0", - "@tsconfig/node10": "^1.0.7", - "@tsconfig/node12": "^1.0.7", - "@tsconfig/node14": "^1.0.0", - "@tsconfig/node16": "^1.0.2", - "acorn": "^8.4.1", - "acorn-walk": "^8.1.1", - "arg": "^4.1.0", - "create-require": "^1.1.0", - "diff": "^4.0.1", - "make-error": "^1.1.1", - "v8-compile-cache-lib": "^3.0.1", - "yn": "3.1.1" - }, - "bin": { - "ts-node": "dist/bin.js", - "ts-node-cwd": "dist/bin-cwd.js", - "ts-node-esm": "dist/bin-esm.js", - "ts-node-script": "dist/bin-script.js", - "ts-node-transpile-only": "dist/bin-transpile.js", - "ts-script": "dist/bin-script-deprecated.js" - }, - "peerDependencies": { - "@swc/core": ">=1.2.50", - "@swc/wasm": ">=1.2.50", - "@types/node": "*", - "typescript": ">=2.7" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "@swc/wasm": { - "optional": true - } - } - }, - "node_modules/tsconfig-paths": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", - "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", - "dev": true, - "dependencies": { - "json5": "^2.2.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/tslib": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.6.2.tgz", - "integrity": "sha512-AEYxH93jGFPn/a2iVAwW87VuUIkR1FVUKB77NwMF7nBTDkDrrT/Hpt/IrCJ0QXhW27jTBDcf5ZY7w6RiqTMw2Q==" - }, - "node_modules/tuf-js": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-2.2.0.tgz", - "integrity": "sha512-ZSDngmP1z6zw+FIkIBjvOp/II/mIub/O7Pp12j1WNsiCpg5R5wAc//i555bBQsE44O94btLt0xM/Zr2LQjwdCg==", - "dev": true, - "dependencies": { - "@tufjs/models": "2.0.0", - "debug": "^4.3.4", - "make-fetch-happen": "^13.0.0" - }, - "engines": { - "node": "^16.14.0 || >=18.0.0" - } - }, - "node_modules/type-fest": { - "version": "0.21.3", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", - "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "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==", - "dev": true, - "dependencies": { - "media-typer": "0.3.0", - "mime-types": "~2.1.24" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/typed-assert": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", - "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", - "dev": true - }, - "node_modules/typescript": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.3.3.tgz", - "integrity": "sha512-pXWcraxM0uxAS+tN0AG/BF2TyqmHO014Z070UsJ+pFvYuRSq8KH8DmWpnbXe0pEPDHXZV3FcAbJkijJ5oNEnWw==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/ua-parser-js": { - "version": "0.7.37", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.37.tgz", - "integrity": "sha512-xV8kqRKM+jhMvcHWUKthV9fNebIzrNy//2O9ZwWcfiBFR5f25XVZPLlEajk/sf3Ra15V92isyQqnIEXRDaZWEA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/ua-parser-js" - }, - { - "type": "paypal", - "url": "https://paypal.me/faisalman" - }, - { - "type": "github", - "url": "https://github.com/sponsors/faisalman" - } - ], - "engines": { - "node": "*" - } - }, - "node_modules/undici": { - "version": "6.6.2", - "resolved": "https://registry.npmjs.org/undici/-/undici-6.6.2.tgz", - "integrity": "sha512-vSqvUE5skSxQJ5sztTZ/CdeJb1Wq0Hf44hlYMciqHghvz+K88U0l7D6u1VsndoFgskDcnU+nG3gYmMzJVzd9Qg==", - "dev": true, - "dependencies": { - "@fastify/busboy": "^2.0.0" - }, - "engines": { - "node": ">=18.0" - } - }, - "node_modules/undici-types": { - "version": "5.26.5", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-5.26.5.tgz", - "integrity": "sha512-JlCMO+ehdEIKqlFxk6IfVoAUVmgz7cU7zD/h9XZ0qzeosSHmUJVOzSQvvYSYWXkFXC+IfLKSIffhv0sVZup6pA==", - "dev": true - }, - "node_modules/unicode-canonical-property-names-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", - "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-ecmascript": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", - "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", - "dev": true, - "dependencies": { - "unicode-canonical-property-names-ecmascript": "^2.0.0", - "unicode-property-aliases-ecmascript": "^2.0.0" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-match-property-value-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", - "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unicode-property-aliases-ecmascript": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", - "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/unique-filename": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", - "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", - "dev": true, - "dependencies": { - "unique-slug": "^4.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/unique-slug": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", - "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", - "dev": true, - "dependencies": { - "imurmurhash": "^0.1.4" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "node_modules/universalify": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", - "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true, - "engines": { - "node": ">= 4.0.0" - } - }, - "node_modules/unpipe": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", - "integrity": "sha512-pjy2bYhSsufwWlKwPc+l3cN7+wuJlK6uz0YdJEOlQDbl6jo/YlPi4mb8agUkVC8BF7V8NuzeyPNqRksA3hztKQ==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.0.13", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.13.tgz", - "integrity": "sha512-xebP81SNcPuNpPP3uzeW1NYXxI3rxyJzF3pD6sH4jE7o/IX+WtSpwnVU+qIsDPyk0d3hmFQ7mjqc6AtV604hbg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.1.1", - "picocolors": "^1.0.0" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/util-deprecate": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==", - "dev": true - }, - "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==", - "dev": true, - "engines": { - "node": ">= 0.4.0" - } - }, - "node_modules/uuid": { - "version": "8.3.2", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", - "dev": true, - "bin": { - "uuid": "dist/bin/uuid" - } - }, - "node_modules/v8-compile-cache-lib": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", - "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", - "dev": true - }, - "node_modules/validate-npm-package-license": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", - "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", - "dev": true, - "dependencies": { - "spdx-correct": "^3.0.0", - "spdx-expression-parse": "^3.0.0" - } - }, - "node_modules/validate-npm-package-name": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", - "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", - "dev": true, - "dependencies": { - "builtins": "^5.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">= 0.8" - } - }, - "node_modules/vite": { - "version": "5.0.12", - "resolved": "https://registry.npmjs.org/vite/-/vite-5.0.12.tgz", - "integrity": "sha512-4hsnEkG3q0N4Tzf1+t6NdN9dg/L3BM+q8SWgbSPnJvrgH2kgdyzfVJwbR1ic69/4uMJJ/3dqDZZE5/WwqW8U1w==", - "dev": true, - "dependencies": { - "esbuild": "^0.19.3", - "postcss": "^8.4.32", - "rollup": "^4.2.0" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || >=20.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", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.4.0" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - } - } - }, - "node_modules/vite/node_modules/@esbuild/aix-ppc64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.19.12.tgz", - "integrity": "sha512-bmoCYyWdEL3wDQIVbcyzRyeKLgk2WtWLTWz1ZIAZF/EGbNOwSA6ew3PftJ1PqMiOOGu0OyFMzG53L0zqIpPeNA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/android-arm": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.19.12.tgz", - "integrity": "sha512-qg/Lj1mu3CdQlDEEiWrlC4eaPZ1KztwGJ9B6J+/6G+/4ewxJg7gqj8eVYWvao1bXrqGiW2rsBZFSX3q2lcW05w==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/android-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.19.12.tgz", - "integrity": "sha512-P0UVNGIienjZv3f5zq0DP3Nt2IE/3plFzuaS96vihvD0Hd6H/q4WXUGpCxD/E8YrSXfNyRPbpTq+T8ZQioSuPA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/android-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.19.12.tgz", - "integrity": "sha512-3k7ZoUW6Q6YqhdhIaq/WZ7HwBpnFBlW905Fa4s4qWJyiNOgT1dOqDiVAQFwBH7gBRZr17gLrlFCRzF6jFh7Kew==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/darwin-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.19.12.tgz", - "integrity": "sha512-B6IeSgZgtEzGC42jsI+YYu9Z3HKRxp8ZT3cqhvliEHovq8HSX2YX8lNocDn79gCKJXOSaEot9MVYky7AKjCs8g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/darwin-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.19.12.tgz", - "integrity": "sha512-hKoVkKzFiToTgn+41qGhsUJXFlIjxI/jSYeZf3ugemDYZldIXIxhvwN6erJGlX4t5h417iFuheZ7l+YVn05N3A==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/freebsd-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.19.12.tgz", - "integrity": "sha512-4aRvFIXmwAcDBw9AueDQ2YnGmz5L6obe5kmPT8Vd+/+x/JMVKCgdcRwH6APrbpNXsPz+K653Qg8HB/oXvXVukA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/freebsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.19.12.tgz", - "integrity": "sha512-EYoXZ4d8xtBoVN7CEwWY2IN4ho76xjYXqSXMNccFSx2lgqOG/1TBPW0yPx1bJZk94qu3tX0fycJeeQsKovA8gg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-arm": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.19.12.tgz", - "integrity": "sha512-J5jPms//KhSNv+LO1S1TX1UWp1ucM6N6XuL6ITdKWElCu8wXP72l9MM0zDTzzeikVyqFE6U8YAV9/tFyj0ti+w==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.19.12.tgz", - "integrity": "sha512-EoTjyYyLuVPfdPLsGVVVC8a0p1BFFvtpQDB/YLEhaXyf/5bczaGeN15QkR+O4S5LeJ92Tqotve7i1jn35qwvdA==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-ia32": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.19.12.tgz", - "integrity": "sha512-Thsa42rrP1+UIGaWz47uydHSBOgTUnwBwNq59khgIwktK6x60Hivfbux9iNR0eHCHzOLjLMLfUMLCypBkZXMHA==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-loong64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.19.12.tgz", - "integrity": "sha512-LiXdXA0s3IqRRjm6rV6XaWATScKAXjI4R4LoDlvO7+yQqFdlr1Bax62sRwkVvRIrwXxvtYEHHI4dm50jAXkuAA==", - "cpu": [ - "loong64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-mips64el": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.19.12.tgz", - "integrity": "sha512-fEnAuj5VGTanfJ07ff0gOA6IPsvrVHLVb6Lyd1g2/ed67oU1eFzL0r9WL7ZzscD+/N6i3dWumGE1Un4f7Amf+w==", - "cpu": [ - "mips64el" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-ppc64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.19.12.tgz", - "integrity": "sha512-nYJA2/QPimDQOh1rKWedNOe3Gfc8PabU7HT3iXWtNUbRzXS9+vgB0Fjaqr//XNbd82mCxHzik2qotuI89cfixg==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-riscv64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.19.12.tgz", - "integrity": "sha512-2MueBrlPQCw5dVJJpQdUYgeqIzDQgw3QtiAHUC4RBz9FXPrskyyU3VI1hw7C0BSKB9OduwSJ79FTCqtGMWqJHg==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-s390x": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.19.12.tgz", - "integrity": "sha512-+Pil1Nv3Umes4m3AZKqA2anfhJiVmNCYkPchwFJNEJN5QxmTs1uzyy4TvmDrCRNT2ApwSari7ZIgrPeUx4UZDg==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/linux-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.19.12.tgz", - "integrity": "sha512-B71g1QpxfwBvNrfyJdVDexenDIt1CiDN1TIXLbhOw0KhJzE78KIFGX6OJ9MrtC0oOqMWf+0xop4qEU8JrJTwCg==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/netbsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.19.12.tgz", - "integrity": "sha512-3ltjQ7n1owJgFbuC61Oj++XhtzmymoCihNFgT84UAmJnxJfm4sYCiSLTXZtE00VWYpPMYc+ZQmB6xbSdVh0JWA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/openbsd-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.19.12.tgz", - "integrity": "sha512-RbrfTB9SWsr0kWmb9srfF+L933uMDdu9BIzdA7os2t0TXhCRjrQyCeOt6wVxr79CKD4c+p+YhCj31HBkYcXebw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/sunos-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.19.12.tgz", - "integrity": "sha512-HKjJwRrW8uWtCQnQOz9qcU3mUZhTUQvi56Q8DPTLLB+DawoiQdjsYq+j+D3s9I8VFtDr+F9CjgXKKC4ss89IeA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-arm64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.19.12.tgz", - "integrity": "sha512-URgtR1dJnmGvX864pn1B2YUYNzjmXkuJOIqG2HdU62MVS4EHpU2946OZoTMnRUHklGtJdJZ33QfzdjGACXhn1A==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-ia32": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.19.12.tgz", - "integrity": "sha512-+ZOE6pUkMOJfmxmBZElNOx72NKpIa/HFOMGzu8fqzQJ5kgf6aTGrcJaFsNiVMH4JKpMipyK+7k0n2UXN7a8YKQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/@esbuild/win32-x64": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.19.12.tgz", - "integrity": "sha512-T1QyPSDCyMXaO3pzBkF96E8xMkiRYbUEZADd29SyPGabqxMViNoii+NcK7eWJAEoU6RZyEm5lVSIjTmcdoB9HA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=12" - } - }, - "node_modules/vite/node_modules/esbuild": { - "version": "0.19.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.19.12.tgz", - "integrity": "sha512-aARqgq8roFBj054KvQr5f1sFu0D65G+miZRCuJyJ0G13Zwx7vRar5Zhn2tkQNzIXcBrNVsv/8stehpj+GAjgbg==", - "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.19.12", - "@esbuild/android-arm": "0.19.12", - "@esbuild/android-arm64": "0.19.12", - "@esbuild/android-x64": "0.19.12", - "@esbuild/darwin-arm64": "0.19.12", - "@esbuild/darwin-x64": "0.19.12", - "@esbuild/freebsd-arm64": "0.19.12", - "@esbuild/freebsd-x64": "0.19.12", - "@esbuild/linux-arm": "0.19.12", - "@esbuild/linux-arm64": "0.19.12", - "@esbuild/linux-ia32": "0.19.12", - "@esbuild/linux-loong64": "0.19.12", - "@esbuild/linux-mips64el": "0.19.12", - "@esbuild/linux-ppc64": "0.19.12", - "@esbuild/linux-riscv64": "0.19.12", - "@esbuild/linux-s390x": "0.19.12", - "@esbuild/linux-x64": "0.19.12", - "@esbuild/netbsd-x64": "0.19.12", - "@esbuild/openbsd-x64": "0.19.12", - "@esbuild/sunos-x64": "0.19.12", - "@esbuild/win32-arm64": "0.19.12", - "@esbuild/win32-ia32": "0.19.12", - "@esbuild/win32-x64": "0.19.12" - } - }, - "node_modules/void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha512-qZKX4RnBzH2ugr8Lxa7x+0V6XD9Sb/ouARtiasEQCHB1EVU4NXtmHsDDrx1dO4ne5fc3J6EW05BP1Dl0z0iung==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/watchpack": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", - "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", - "dev": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/wbuf": { - "version": "1.7.3", - "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", - "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", - "dev": true, - "dependencies": { - "minimalistic-assert": "^1.0.0" - } - }, - "node_modules/wcwidth": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", - "dev": true, - "dependencies": { - "defaults": "^1.0.3" - } - }, - "node_modules/webpack": { - "version": "5.90.1", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.90.1.tgz", - "integrity": "sha512-SstPdlAC5IvgFnhiRok8hqJo/+ArAbNv7rhU4fnWGHNVfN59HSQFaxZDSAL3IFG2YmqxuRs+IU33milSxbPlog==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.3", - "@types/estree": "^1.0.5", - "@webassemblyjs/ast": "^1.11.5", - "@webassemblyjs/wasm-edit": "^1.11.5", - "@webassemblyjs/wasm-parser": "^1.11.5", - "acorn": "^8.7.1", - "acorn-import-assertions": "^1.9.0", - "browserslist": "^4.21.10", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.15.0", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.9", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^3.2.0", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.10", - "watchpack": "^2.4.0", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-middleware": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.1.1.tgz", - "integrity": "sha512-y51HrHaFeeWir0YO4f0g+9GwZawuigzcAdRNon6jErXy/SqV/+O6eaVAzDqE6t3e3NpGeR5CS+cCDaTC+V3yEQ==", - "dev": true, - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.12", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server": { - "version": "4.15.1", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.15.1.tgz", - "integrity": "sha512-5hbAst3h3C3L8w6W4P96L5vaV0PxSmJhxZvWKYIdgxOQm8pNZ5dEOmmSLBVpP85ReeyRt6AS1QJNyo/oFFPeVA==", - "dev": true, - "dependencies": { - "@types/bonjour": "^3.5.9", - "@types/connect-history-api-fallback": "^1.3.5", - "@types/express": "^4.17.13", - "@types/serve-index": "^1.9.1", - "@types/serve-static": "^1.13.10", - "@types/sockjs": "^0.3.33", - "@types/ws": "^8.5.5", - "ansi-html-community": "^0.0.8", - "bonjour-service": "^1.0.11", - "chokidar": "^3.5.3", - "colorette": "^2.0.10", - "compression": "^1.7.4", - "connect-history-api-fallback": "^2.0.0", - "default-gateway": "^6.0.3", - "express": "^4.17.3", - "graceful-fs": "^4.2.6", - "html-entities": "^2.3.2", - "http-proxy-middleware": "^2.0.3", - "ipaddr.js": "^2.0.1", - "launch-editor": "^2.6.0", - "open": "^8.0.9", - "p-retry": "^4.5.0", - "rimraf": "^3.0.2", - "schema-utils": "^4.0.0", - "selfsigned": "^2.1.1", - "serve-index": "^1.9.1", - "sockjs": "^0.3.24", - "spdy": "^4.0.2", - "webpack-dev-middleware": "^5.3.1", - "ws": "^8.13.0" - }, - "bin": { - "webpack-dev-server": "bin/webpack-dev-server.js" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.37.0 || ^5.0.0" - }, - "peerDependenciesMeta": { - "webpack": { - "optional": true - }, - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": { - "version": "5.3.3", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", - "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", - "dev": true, - "dependencies": { - "colorette": "^2.0.10", - "memfs": "^3.4.3", - "mime-types": "^2.1.31", - "range-parser": "^1.2.1", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^4.0.0 || ^5.0.0" - } - }, - "node_modules/webpack-dev-server/node_modules/ws": { - "version": "8.16.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.16.0.tgz", - "integrity": "sha512-HS0c//TP7Ina87TfiPUz1rQzMhHrl/SG2guqRcTOIUYD2q8uhUdNHZYJUaQ8aTGPzCh+c6oawMKW35nFl1dxyQ==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": ">=5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/webpack-merge": { - "version": "5.10.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.10.0.tgz", - "integrity": "sha512-+4zXKdx7UnO+1jaN4l2lHVD+mFvnlZQP/6ljaJVb4SZiwIKeUnrT5l0gkT8z+n4hKpC+jpOv6O9R+gLtag7pSA==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.0" - }, - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack-subresource-integrity": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", - "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", - "dev": true, - "dependencies": { - "typed-assert": "^1.0.8" - }, - "engines": { - "node": ">= 12" - }, - "peerDependencies": { - "html-webpack-plugin": ">= 5.0.0-beta.1 < 6", - "webpack": "^5.12.0" - }, - "peerDependenciesMeta": { - "html-webpack-plugin": { - "optional": true - } - } - }, - "node_modules/webpack/node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/webpack/node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true, - "peerDependencies": { - "ajv": "^6.9.1" - } - }, - "node_modules/webpack/node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/webpack/node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/webpack/node_modules/schema-utils": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.3.0.tgz", - "integrity": "sha512-pN/yOAvcC+5rQ5nERGuwrjLlYvLTbCibnZ1I7B1LaiAz9BRBlE9GMgE/eqV30P7aJQUf7Ddimy/RsbYO/GrVGg==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.8", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/websocket-driver": { - "version": "0.7.4", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", - "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", - "dev": true, - "dependencies": { - "http-parser-js": ">=0.5.1", - "safe-buffer": ">=5.1.0", - "websocket-extensions": ">=0.1.1" - }, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/websocket-extensions": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", - "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true, - "engines": { - "node": ">=0.8.0" - } - }, - "node_modules/which": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", - "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "which": "bin/which" - } - }, - "node_modules/wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true - }, - "node_modules/wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "dependencies": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "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==", - "dev": true, - "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-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/wrap-ansi-cjs/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi-cjs/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/wrap-ansi/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/wrap-ansi/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/wrap-ansi/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/wrappy": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", - "integrity": "sha512-l4Sp/DRseor9wL6EvV2+TuQn63dMkPjZ/sp9XkghTEbV9KlPS1xUsZ3u7/IQO4wxtcFB4bgpQPRcR3QCvezPcQ==", - "dev": true - }, - "node_modules/ws": { - "version": "8.11.0", - "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", - "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", - "dev": true, - "engines": { - "node": ">=10.0.0" - }, - "peerDependencies": { - "bufferutil": "^4.0.1", - "utf-8-validate": "^5.0.2" - }, - "peerDependenciesMeta": { - "bufferutil": { - "optional": true - }, - "utf-8-validate": { - "optional": true - } - } - }, - "node_modules/y18n": { - "version": "5.0.8", - "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", - "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", - "dev": true, - "engines": { - "node": ">=10" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/yargs": { - "version": "17.7.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", - "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", - "dev": true, - "dependencies": { - "cliui": "^8.0.1", - "escalade": "^3.1.1", - "get-caller-file": "^2.0.5", - "require-directory": "^2.1.1", - "string-width": "^4.2.3", - "y18n": "^5.0.5", - "yargs-parser": "^21.1.1" - }, - "engines": { - "node": ">=12" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">=12" - } - }, - "node_modules/yn": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", - "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/yocto-queue": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-1.0.0.tgz", - "integrity": "sha512-9bnSc/HEW2uRy67wc+T8UwauLuPJVn28jb+GtJY16iiKWyvmYJRXVT4UamsAEGQfPohgr2q4Tq0sQbQlxTfi1g==", - "dev": true, - "engines": { - "node": ">=12.20" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zone.js": { - "version": "0.14.4", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.14.4.tgz", - "integrity": "sha512-NtTUvIlNELez7Q1DzKVIFZBzNb646boQMgpATo9z3Ftuu/gWvzxCW7jdjcUDoRGxRikrhVHB/zLXh1hxeJawvw==", - "dependencies": { - "tslib": "^2.3.0" - } - } - } -} diff --git a/src/webpack-angular-17/package.json b/src/webpack-angular-17/package.json deleted file mode 100644 index bb2fc10..0000000 --- a/src/webpack-angular-17/package.json +++ /dev/null @@ -1,40 +0,0 @@ -{ - "name": "alphatab-app", - "version": "0.0.0", - "scripts": { - "ng": "ng", - "start": "ng serve", - "build": "ng build", - "watch": "ng build --watch --configuration development", - "test": "ng test" - }, - "private": true, - "dependencies": { - "@angular/animations": "^17.2.0", - "@angular/common": "^17.2.0", - "@angular/compiler": "^17.2.0", - "@angular/core": "^17.2.0", - "@angular/forms": "^17.2.0", - "@angular/platform-browser": "^17.2.0", - "@angular/platform-browser-dynamic": "^17.2.0", - "@angular/router": "^17.2.0", - "@coderline/alphatab": "^1.5.0-alpha.1396", - "rxjs": "~7.8.0", - "tslib": "^2.3.0", - "zone.js": "~0.14.3" - }, - "devDependencies": { - "@angular-builders/custom-webpack": "^17.0.1", - "@angular-devkit/build-angular": "^17.2.2", - "@angular/cli": "^17.2.2", - "@angular/compiler-cli": "^17.2.0", - "@types/jasmine": "~5.1.0", - "jasmine-core": "~5.1.0", - "karma": "~6.4.0", - "karma-chrome-launcher": "~3.2.0", - "karma-coverage": "~2.2.0", - "karma-jasmine": "~5.1.0", - "karma-jasmine-html-reporter": "~2.1.0", - "typescript": "~5.3.2" - } -} diff --git a/src/webpack-angular-17/src/app/app.component.css b/src/webpack-angular-17/src/app/app.component.css deleted file mode 100644 index 371060f..0000000 --- a/src/webpack-angular-17/src/app/app.component.css +++ /dev/null @@ -1,22 +0,0 @@ - -:host ::ng-deep .at-cursor-bar { - /* Defines the color of the bar background when a bar is played */ - background: rgba(255, 242, 0, 0.25); -} - -:host ::ng-deep .at-selection div { - /* Defines the color of the selection background */ - background: rgba(64, 64, 255, 0.2); -} - -:host ::ng-deep .at-cursor-beat { - /* Defines the beat cursor */ - background: rgba(64, 64, 255, 0.75); - width: 3px; -} - -:host ::ng-deep .at-highlight * { - /* Defines the color of the music symbols when they are being played (svg) */ - fill: #0078ff; - stroke: #0078ff; -} \ No newline at end of file diff --git a/src/webpack-angular-17/src/app/app.component.html b/src/webpack-angular-17/src/app/app.component.html deleted file mode 100644 index 5bbe4a1..0000000 --- a/src/webpack-angular-17/src/app/app.component.html +++ /dev/null @@ -1,6 +0,0 @@ -Hello AlphaTab! - - -
- - diff --git a/src/webpack-angular-17/src/app/app.component.spec.ts b/src/webpack-angular-17/src/app/app.component.spec.ts deleted file mode 100644 index 12e10f0..0000000 --- a/src/webpack-angular-17/src/app/app.component.spec.ts +++ /dev/null @@ -1,29 +0,0 @@ -import { TestBed } from '@angular/core/testing'; -import { AppComponent } from './app.component'; - -describe('AppComponent', () => { - beforeEach(async () => { - await TestBed.configureTestingModule({ - imports: [AppComponent], - }).compileComponents(); - }); - - it('should create the app', () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app).toBeTruthy(); - }); - - it(`should have the 'alphatab-app' title`, () => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.componentInstance; - expect(app.title).toEqual('alphatab-app'); - }); - - it('should render title', () => { - const fixture = TestBed.createComponent(AppComponent); - fixture.detectChanges(); - const compiled = fixture.nativeElement as HTMLElement; - expect(compiled.querySelector('h1')?.textContent).toContain('Hello, alphatab-app'); - }); -}); diff --git a/src/webpack-angular-17/src/app/app.component.ts b/src/webpack-angular-17/src/app/app.component.ts deleted file mode 100644 index 0729c74..0000000 --- a/src/webpack-angular-17/src/app/app.component.ts +++ /dev/null @@ -1,41 +0,0 @@ -import { AfterViewInit, Component, ElementRef, OnDestroy, ViewChild } from '@angular/core'; -import { RouterOutlet } from '@angular/router'; -import * as alphaTab from '@coderline/alphatab'; - -@Component({ - selector: 'app-root', - standalone: true, - imports: [RouterOutlet], - templateUrl: './app.component.html', - styleUrl: './app.component.css' -}) -export class AppComponent implements AfterViewInit, OnDestroy { - #alphaTab!: alphaTab.AlphaTabApi; - - @ViewChild('alphaTab') alphaTabElement!: ElementRef - - playPause() { - this.#alphaTab.playPause(); - } - - ngAfterViewInit(): void { - this.#alphaTab = new alphaTab.AlphaTabApi(this.alphaTabElement.nativeElement, { - core: { - file: 'https://www.alphatab.net/files/canon.gp', - fontDirectory: '/font/' - }, - player: { - enablePlayer: true, - enableCursor: true, - enableUserInteraction: true, - soundFont: '/soundfont/sonivox.sf2' - } - } as alphaTab.Settings); - } - - ngOnDestroy(): void { - this.#alphaTab.destroy(); - } - - title = 'alphatab-app'; -} diff --git a/src/webpack-angular-17/src/app/app.config.ts b/src/webpack-angular-17/src/app/app.config.ts deleted file mode 100644 index 6c6ef60..0000000 --- a/src/webpack-angular-17/src/app/app.config.ts +++ /dev/null @@ -1,8 +0,0 @@ -import { ApplicationConfig } from '@angular/core'; -import { provideRouter } from '@angular/router'; - -import { routes } from './app.routes'; - -export const appConfig: ApplicationConfig = { - providers: [provideRouter(routes)] -}; diff --git a/src/webpack-angular-17/src/app/app.routes.ts b/src/webpack-angular-17/src/app/app.routes.ts deleted file mode 100644 index dc39edb..0000000 --- a/src/webpack-angular-17/src/app/app.routes.ts +++ /dev/null @@ -1,3 +0,0 @@ -import { Routes } from '@angular/router'; - -export const routes: Routes = []; diff --git a/src/webpack-angular-17/src/assets/.gitkeep b/src/webpack-angular-17/src/assets/.gitkeep deleted file mode 100644 index e69de29..0000000 diff --git a/src/webpack-angular-17/src/styles.css b/src/webpack-angular-17/src/styles.css deleted file mode 100644 index 90d4ee0..0000000 --- a/src/webpack-angular-17/src/styles.css +++ /dev/null @@ -1 +0,0 @@ -/* You can add global styles to this file, and also import other style files */ diff --git a/src/webpack-angular-17/tsconfig.app.json b/src/webpack-angular-17/tsconfig.app.json deleted file mode 100644 index 374cc9d..0000000 --- a/src/webpack-angular-17/tsconfig.app.json +++ /dev/null @@ -1,14 +0,0 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./out-tsc/app", - "types": [] - }, - "files": [ - "src/main.ts" - ], - "include": [ - "src/**/*.d.ts" - ] -} diff --git a/src/webpack-angular-17/tsconfig.spec.json b/src/webpack-angular-17/tsconfig.spec.json deleted file mode 100644 index be7e9da..0000000 --- a/src/webpack-angular-17/tsconfig.spec.json +++ /dev/null @@ -1,14 +0,0 @@ -/* To learn more about this file see: https://angular.io/config/tsconfig. */ -{ - "extends": "./tsconfig.json", - "compilerOptions": { - "outDir": "./out-tsc/spec", - "types": [ - "jasmine" - ] - }, - "include": [ - "src/**/*.spec.ts", - "src/**/*.d.ts" - ] -} diff --git a/src/webpack-nextjs-15/.gitignore b/src/webpack-nextjs-15/.gitignore deleted file mode 100644 index 155c62e..0000000 --- a/src/webpack-nextjs-15/.gitignore +++ /dev/null @@ -1,38 +0,0 @@ -/public/alphatab - -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. - -# dependencies -/node_modules -/.pnp -.pnp.js -.yarn/install-state.gz - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc -.DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* - -# local env files -.env*.local - -# vercel -.vercel - -# typescript -*.tsbuildinfo -next-env.d.ts diff --git a/src/webpack-nextjs-15/README.md b/src/webpack-nextjs-15/README.md deleted file mode 100644 index 423b5c6..0000000 --- a/src/webpack-nextjs-15/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# Next.js 15 Example - -This sample shows how to use alphaTab with next.js. - -In the `next.config.mjs` we register the alphaTab webpack plugin taking care of the bundling specific points. - -## Starting - -```bash -npm i -npm run dev -``` - -## Whats Special - -* In `next.config.mjs` configure the `AlphaTabWebPackPlugin` to copy the assets to `public/alphatab` via `assetOutputDir`. This is because of some known issue that in next.js assets are not served in "dev" mode. See https://github.com/vercel/next.js/issues/45478 and https://github.com/vercel/next.js/issues/67302. -* In `page.tsx` you find the code to initialize alphaTab. There you will also see that we - * Set the `fontDirectory` and `soundFont` paths to point to the assets we copy. -* Do NOT use the new Turbopack bundler they built for Next.js They do not offer a plugin system and their built-in systems do not support WebWorkers & Audio Worklets like we need it. \ No newline at end of file diff --git a/src/webpack-nextjs-15/next.config.mjs b/src/webpack-nextjs-15/next.config.mjs deleted file mode 100644 index 1eb4fcd..0000000 --- a/src/webpack-nextjs-15/next.config.mjs +++ /dev/null @@ -1,15 +0,0 @@ -import { AlphaTabWebPackPlugin } from '@coderline/alphatab/webpack' - -/** @type {import('next').NextConfig} */ -const nextConfig = { - webpack(config) { - config.plugins.push( - new AlphaTabWebPackPlugin({ - assetOutputDir: 'public/alphatab' - }) - ); - return config; - }, -}; - -export default nextConfig; diff --git a/src/webpack-nextjs-15/package-lock.json b/src/webpack-nextjs-15/package-lock.json deleted file mode 100644 index 2575f33..0000000 --- a/src/webpack-nextjs-15/package-lock.json +++ /dev/null @@ -1,1839 +0,0 @@ -{ - "name": "webpack-nextjs", - "version": "0.1.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "webpack-nextjs", - "version": "0.1.0", - "dependencies": { - "@coderline/alphatab": "^1.5.0-alpha.1396", - "next": "15.3.1", - "react": "19.1.0", - "react-dom": "19.1.0" - }, - "devDependencies": { - "@types/node": "^22", - "@types/react": "19.1.2", - "@types/react-dom": "19.1.3", - "copy-webpack-plugin": "^13.0.0", - "typescript": "^5", - "webpack": "^5.99.7" - } - }, - "node_modules/@coderline/alphatab": { - "version": "1.5.0-alpha.1396", - "resolved": "https://registry.npmjs.org/@coderline/alphatab/-/alphatab-1.5.0-alpha.1396.tgz", - "integrity": "sha512-6oJHU5NN8pvWiZiLdKtdaW4Ufe/61q5Y2PRLMSCspeTifvmDUJiTTJVpZ+z5n9itLIBLLEfy9ULRbkOIAoyGiw==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.3.tgz", - "integrity": "sha512-pBPWdu6MLKROBX05wSNKcNb++m5Er+KQ9QkB+WVM+pW2Kx9hoSrVTnu3BdkI5eBLZoKu/J6mW/B6i6bJB2ytXQ==", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@img/sharp-darwin-arm64": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-arm64/-/sharp-darwin-arm64-0.34.1.tgz", - "integrity": "sha512-pn44xgBtgpEbZsu+lWf2KNb6OAf70X68k+yk69Ic2Xz11zHR/w24/U49XT7AeRwJ0Px+mhALhU5LPci1Aymk7A==", - "cpu": [ - "arm64" - ], - "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.1.0" - } - }, - "node_modules/@img/sharp-darwin-x64": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-darwin-x64/-/sharp-darwin-x64-0.34.1.tgz", - "integrity": "sha512-VfuYgG2r8BpYiOUN+BfYeFo69nP/MIwAtSJ7/Zpxc5QF3KS22z8Pvg3FkrSFJBPNQ7mmcUcYQFBmEQp7eu1F8Q==", - "cpu": [ - "x64" - ], - "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.1.0" - } - }, - "node_modules/@img/sharp-libvips-darwin-arm64": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-arm64/-/sharp-libvips-darwin-arm64-1.1.0.tgz", - "integrity": "sha512-HZ/JUmPwrJSoM4DIQPv/BfNh9yrOA8tlBbqbLz4JZ5uew2+o22Ik+tHQJcih7QJuSa0zo5coHTfD5J8inqj9DA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-darwin-x64": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-darwin-x64/-/sharp-libvips-darwin-x64-1.1.0.tgz", - "integrity": "sha512-Xzc2ToEmHN+hfvsl9wja0RlnXEgpKNmftriQp6XzY/RaSfwD9th+MSh0WQKzUreLKKINb3afirxW7A0fz2YWuQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-arm": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm/-/sharp-libvips-linux-arm-1.1.0.tgz", - "integrity": "sha512-s8BAd0lwUIvYCJyRdFqvsj+BJIpDBSxs6ivrOPm/R7piTs5UIwY5OjXrP2bqXC9/moGsyRa37eYWYCOGVXxVrA==", - "cpu": [ - "arm" - ], - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-arm64": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-arm64/-/sharp-libvips-linux-arm64-1.1.0.tgz", - "integrity": "sha512-IVfGJa7gjChDET1dK9SekxFFdflarnUB8PwW8aGwEoF3oAsSDuNUTYS+SKDOyOJxQyDC1aPFMuRYLoDInyV9Ew==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-ppc64": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-ppc64/-/sharp-libvips-linux-ppc64-1.1.0.tgz", - "integrity": "sha512-tiXxFZFbhnkWE2LA8oQj7KYR+bWBkiV2nilRldT7bqoEZ4HiDOcePr9wVDAZPi/Id5fT1oY9iGnDq20cwUz8lQ==", - "cpu": [ - "ppc64" - ], - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-s390x": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-s390x/-/sharp-libvips-linux-s390x-1.1.0.tgz", - "integrity": "sha512-xukSwvhguw7COyzvmjydRb3x/09+21HykyapcZchiCUkTThEQEOMtBj9UhkaBRLuBrgLFzQ2wbxdeCCJW/jgJA==", - "cpu": [ - "s390x" - ], - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linux-x64": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linux-x64/-/sharp-libvips-linux-x64-1.1.0.tgz", - "integrity": "sha512-yRj2+reB8iMg9W5sULM3S74jVS7zqSzHG3Ol/twnAAkAhnGQnpjj6e4ayUz7V+FpKypwgs82xbRdYtchTTUB+Q==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linuxmusl-arm64": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-arm64/-/sharp-libvips-linuxmusl-arm64-1.1.0.tgz", - "integrity": "sha512-jYZdG+whg0MDK+q2COKbYidaqW/WTz0cc1E+tMAusiDygrM4ypmSCjOJPmFTvHHJ8j/6cAGyeDWZOsK06tP33w==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-libvips-linuxmusl-x64": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@img/sharp-libvips-linuxmusl-x64/-/sharp-libvips-linuxmusl-x64-1.1.0.tgz", - "integrity": "sha512-wK7SBdwrAiycjXdkPnGCPLjYb9lD4l6Ze2gSdAGVZrEL05AOUJESWU2lhlC+Ffn5/G+VKuSm6zzbQSzFX/P65A==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@img/sharp-linux-arm": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm/-/sharp-linux-arm-0.34.1.tgz", - "integrity": "sha512-anKiszvACti2sGy9CirTlNyk7BjjZPiML1jt2ZkTdcvpLU1YH6CXwRAZCA2UmRXnhiIftXQ7+Oh62Ji25W72jA==", - "cpu": [ - "arm" - ], - "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.1.0" - } - }, - "node_modules/@img/sharp-linux-arm64": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-arm64/-/sharp-linux-arm64-0.34.1.tgz", - "integrity": "sha512-kX2c+vbvaXC6vly1RDf/IWNXxrlxLNpBVWkdpRq5Ka7OOKj6nr66etKy2IENf6FtOgklkg9ZdGpEu9kwdlcwOQ==", - "cpu": [ - "arm64" - ], - "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.1.0" - } - }, - "node_modules/@img/sharp-linux-s390x": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-s390x/-/sharp-linux-s390x-0.34.1.tgz", - "integrity": "sha512-7s0KX2tI9mZI2buRipKIw2X1ufdTeaRgwmRabt5bi9chYfhur+/C1OXg3TKg/eag1W+6CCWLVmSauV1owmRPxA==", - "cpu": [ - "s390x" - ], - "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.1.0" - } - }, - "node_modules/@img/sharp-linux-x64": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linux-x64/-/sharp-linux-x64-0.34.1.tgz", - "integrity": "sha512-wExv7SH9nmoBW3Wr2gvQopX1k8q2g5V5Iag8Zk6AVENsjwd+3adjwxtp3Dcu2QhOXr8W9NusBU6XcQUohBZ5MA==", - "cpu": [ - "x64" - ], - "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.1.0" - } - }, - "node_modules/@img/sharp-linuxmusl-arm64": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-arm64/-/sharp-linuxmusl-arm64-0.34.1.tgz", - "integrity": "sha512-DfvyxzHxw4WGdPiTF0SOHnm11Xv4aQexvqhRDAoD00MzHekAj9a/jADXeXYCDFH/DzYruwHbXU7uz+H+nWmSOQ==", - "cpu": [ - "arm64" - ], - "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.1.0" - } - }, - "node_modules/@img/sharp-linuxmusl-x64": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-linuxmusl-x64/-/sharp-linuxmusl-x64-0.34.1.tgz", - "integrity": "sha512-pax/kTR407vNb9qaSIiWVnQplPcGU8LRIJpDT5o8PdAx5aAA7AS3X9PS8Isw1/WfqgQorPotjrZL3Pqh6C5EBg==", - "cpu": [ - "x64" - ], - "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.1.0" - } - }, - "node_modules/@img/sharp-wasm32": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-wasm32/-/sharp-wasm32-0.34.1.tgz", - "integrity": "sha512-YDybQnYrLQfEpzGOQe7OKcyLUCML4YOXl428gOOzBgN6Gw0rv8dpsJ7PqTHxBnXnwXr8S1mYFSLSa727tpz0xg==", - "cpu": [ - "wasm32" - ], - "optional": true, - "dependencies": { - "@emnapi/runtime": "^1.4.0" - }, - "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.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-ia32/-/sharp-win32-ia32-0.34.1.tgz", - "integrity": "sha512-WKf/NAZITnonBf3U1LfdjoMgNO5JYRSlhovhRhMxXVdvWYveM4kM3L8m35onYIdh75cOMCo1BexgVQcCDzyoWw==", - "cpu": [ - "ia32" - ], - "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.34.1", - "resolved": "https://registry.npmjs.org/@img/sharp-win32-x64/-/sharp-win32-x64-0.34.1.tgz", - "integrity": "sha512-hw1iIAHpNE8q3uMIRCgGOeDoz9KtFNarFLQclLxr/LK1VBkj8nby18RjFvr6aP7USRYAjTZW6yisnBWMX571Tw==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@next/env": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/@next/env/-/env-15.3.1.tgz", - "integrity": "sha512-cwK27QdzrMblHSn9DZRV+DQscHXRuJv6MydlJRpFSqJWZrTYMLzKDeyueJNN9MGd8NNiUKzDQADAf+dMLXX7YQ==" - }, - "node_modules/@next/swc-darwin-arm64": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.3.1.tgz", - "integrity": "sha512-hjDw4f4/nla+6wysBL07z52Gs55Gttp5Bsk5/8AncQLJoisvTBP0pRIBK/B16/KqQyH+uN4Ww8KkcAqJODYH3w==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-darwin-x64": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.3.1.tgz", - "integrity": "sha512-q+aw+cJ2ooVYdCEqZVk+T4Ni10jF6Fo5DfpEV51OupMaV5XL6pf3GCzrk6kSSZBsMKZtVC1Zm/xaNBFpA6bJ2g==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-gnu": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.3.1.tgz", - "integrity": "sha512-wBQ+jGUI3N0QZyWmmvRHjXjTWFy8o+zPFLSOyAyGFI94oJi+kK/LIZFJXeykvgXUk1NLDAEFDZw/NVINhdk9FQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-musl": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.3.1.tgz", - "integrity": "sha512-IIxXEXRti/AulO9lWRHiCpUUR8AR/ZYLPALgiIg/9ENzMzLn3l0NSxVdva7R/VDcuSEBo0eGVCe3evSIHNz0Hg==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-gnu": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.3.1.tgz", - "integrity": "sha512-bfI4AMhySJbyXQIKH5rmLJ5/BP7bPwuxauTvVEiJ/ADoddaA9fgyNNCcsbu9SlqfHDoZmfI6g2EjzLwbsVTr5A==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-musl": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.3.1.tgz", - "integrity": "sha512-FeAbR7FYMWR+Z+M5iSGytVryKHiAsc0x3Nc3J+FD5NVbD5Mqz7fTSy8CYliXinn7T26nDMbpExRUI/4ekTvoiA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-arm64-msvc": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.3.1.tgz", - "integrity": "sha512-yP7FueWjphQEPpJQ2oKmshk/ppOt+0/bB8JC8svPUZNy0Pi3KbPx2Llkzv1p8CoQa+D2wknINlJpHf3vtChVBw==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-x64-msvc": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.3.1.tgz", - "integrity": "sha512-3PMvF2zRJAifcRNni9uMk/gulWfWS+qVI/pagd+4yLF5bcXPZPPH2xlYRYOsUjmCJOXSTAC2PjRzbhsRzR2fDQ==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@swc/counter": { - "version": "0.1.3", - "resolved": "https://registry.npmjs.org/@swc/counter/-/counter-0.1.3.tgz", - "integrity": "sha512-e2BR4lsJkkRlKZ/qCHPw9ZaSxc0MVUd7gtbtaB7aMvHeJVYe8sOB8DBZkP2DtISHGSku9sCK6T6cnY0CtXrOCQ==" - }, - "node_modules/@swc/helpers": { - "version": "0.5.15", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", - "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", - "dependencies": { - "tslib": "^2.8.0" - } - }, - "node_modules/@types/eslint": { - "version": "8.56.10", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.10.tgz", - "integrity": "sha512-Shavhk87gCtY2fhXDctcfS3e6FdxWkCx1iUZ9eEUbh7rTqlZT0/IzOkCOVt0fCjcFuZ9FPYfuezTBImfHCDBGQ==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", - "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", - "dev": true - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, - "node_modules/@types/node": { - "version": "22.15.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.3.tgz", - "integrity": "sha512-lX7HFZeHf4QG/J7tBZqrCAXwz9J5RD56Y6MpP0eJkka8p+K0RY/yBTW7CYFJ4VGCclxqOLKmiGP5juQc6MKgcw==", - "dev": true, - "dependencies": { - "undici-types": "~6.21.0" - } - }, - "node_modules/@types/react": { - "version": "19.1.2", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.1.2.tgz", - "integrity": "sha512-oxLPMytKchWGbnQM9O7D67uPa9paTNxO7jVoNMXgkkErULBPhPARCfkKL9ytcIJJRGjbsVwW4ugJzyFFvm/Tiw==", - "dev": true, - "dependencies": { - "csstype": "^3.0.2" - } - }, - "node_modules/@types/react-dom": { - "version": "19.1.3", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.1.3.tgz", - "integrity": "sha512-rJXC08OG0h3W6wDMFxQrZF00Kq6qQvw0djHRdzl3U5DnIERz0MRce3WVc7IS6JYBwtaP/DwYtRRjVlvivNveKg==", - "dev": true, - "peerDependencies": { - "@types/react": "^19.0.0" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", - "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", - "dev": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.13.2", - "@webassemblyjs/helper-api-error": "1.13.2", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/wasm-gen": "1.14.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", - "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/helper-wasm-section": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-opt": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1", - "@webassemblyjs/wast-printer": "1.14.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", - "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", - "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", - "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-api-error": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", - "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "node_modules/acorn": { - "version": "8.14.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", - "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/browserslist": { - "version": "4.24.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.5.tgz", - "integrity": "sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001716", - "electron-to-chromium": "^1.5.149", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.3" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/busboy": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/busboy/-/busboy-1.6.0.tgz", - "integrity": "sha512-8SFQbg/0hQ9xy3UNTB0YEnsNBbWfhf7RtnzpL7TkBiTBRfrQ9Fxcnz7VJsleJpyp6rVLvXiuORqjlHi5q+PYuA==", - "dependencies": { - "streamsearch": "^1.1.0" - }, - "engines": { - "node": ">=10.16.0" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001716", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001716.tgz", - "integrity": "sha512-49/c1+x3Kwz7ZIWt+4DvK3aMJy9oYXXG6/97JKsnjdCk/6n9vVyWL8NAwVt95Lwt9eigI10Hl782kDfZUUlRXw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chrome-trace-event": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", - "dev": true, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" - }, - "node_modules/color": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/color/-/color-4.2.3.tgz", - "integrity": "sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==", - "optional": true, - "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==", - "optional": true, - "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==", - "optional": true - }, - "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==", - "optional": true, - "dependencies": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" - } - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/copy-webpack-plugin": { - "version": "13.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-13.0.0.tgz", - "integrity": "sha512-FgR/h5a6hzJqATDGd9YG41SeDViH+0bkHn6WNXCi5zKAZkeESeSxLySSsFLHqLEVCh0E+rITmCf0dusXWYukeQ==", - "dev": true, - "dependencies": { - "glob-parent": "^6.0.1", - "normalize-path": "^3.0.0", - "schema-utils": "^4.2.0", - "serialize-javascript": "^6.0.2", - "tinyglobby": "^0.2.12" - }, - "engines": { - "node": ">= 18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - } - }, - "node_modules/csstype": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.1.3.tgz", - "integrity": "sha512-M1uQkMl8rQK/szD0LNhtqxIPLpimGm8sOBwU7lLnCpSbTyY3yeU1Vc7l4KT5zT4s/yOxHH5O7tIuuLOCnLADRw==", - "dev": true - }, - "node_modules/detect-libc": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.0.4.tgz", - "integrity": "sha512-3UDv+G9CsCKO1WKMGw9fwq/SWJYbI0c5Y7LU1AXYoDdbhE2AHQ6N6Nb34sG8Fj7T5APy8qXDCKuuIHd1BR0tVA==", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.5.149", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.149.tgz", - "integrity": "sha512-UyiO82eb9dVOx8YO3ajDf9jz2kKyt98DEITRdeLPstOEuTlLzDA4Gyq5K9he71TQziU5jUVu2OAu5N48HmQiyQ==", - "dev": true - }, - "node_modules/enhanced-resolve": { - "version": "5.18.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", - "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/es-module-lexer": { - "version": "1.5.3", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.5.3.tgz", - "integrity": "sha512-i1gCgmR9dCl6Vil6UKPI/trA69s08g/syhiDK9TG0Nf1RJjjFI+AzoWW7sPufzkgYAn861skuCwJa0pIIHYxvg==", - "dev": true - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", - "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ] - }, - "node_modules/fdir": { - "version": "6.4.4", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.4.4.tgz", - "integrity": "sha512-1NZP+GK4GfuAv3PqKvxQRDMjdSRZjnkq7KfhlNrCNNlZ0ygQFpebfrnfnq/W7fpUnAv9aGWmY1zKx7FYL3gwhg==", - "dev": true, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/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/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==", - "optional": true - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/nanoid": { - "version": "3.3.7", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.7.tgz", - "integrity": "sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/next": { - "version": "15.3.1", - "resolved": "https://registry.npmjs.org/next/-/next-15.3.1.tgz", - "integrity": "sha512-8+dDV0xNLOgHlyBxP1GwHGVaNXsmp+2NhZEYrXr24GWLHtt27YrBPbPuHvzlhi7kZNYjeJNR93IF5zfFu5UL0g==", - "dependencies": { - "@next/env": "15.3.1", - "@swc/counter": "0.1.3", - "@swc/helpers": "0.5.15", - "busboy": "1.6.0", - "caniuse-lite": "^1.0.30001579", - "postcss": "8.4.31", - "styled-jsx": "5.1.6" - }, - "bin": { - "next": "dist/bin/next" - }, - "engines": { - "node": "^18.18.0 || ^19.8.0 || >= 20.0.0" - }, - "optionalDependencies": { - "@next/swc-darwin-arm64": "15.3.1", - "@next/swc-darwin-x64": "15.3.1", - "@next/swc-linux-arm64-gnu": "15.3.1", - "@next/swc-linux-arm64-musl": "15.3.1", - "@next/swc-linux-x64-gnu": "15.3.1", - "@next/swc-linux-x64-musl": "15.3.1", - "@next/swc-win32-arm64-msvc": "15.3.1", - "@next/swc-win32-x64-msvc": "15.3.1", - "sharp": "^0.34.1" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.1.0", - "@playwright/test": "^1.41.2", - "babel-plugin-react-compiler": "*", - "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", - "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", - "sass": "^1.3.0" - }, - "peerDependenciesMeta": { - "@opentelemetry/api": { - "optional": true - }, - "@playwright/test": { - "optional": true - }, - "babel-plugin-react-compiler": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", - "dev": true - }, - "node_modules/normalize-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", - "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" - }, - "node_modules/picomatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.2.tgz", - "integrity": "sha512-M7BAV6Rlcy5u+m6oPhAPFgJTzAioX/6B0DxyvDlo9l8+T3nLKbrczg2WLUyzd45L8RqfUMyGPzekbMvX2Ldkwg==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "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" - } - ], - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/react": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/react/-/react-19.1.0.tgz", - "integrity": "sha512-FS+XFBNvn3GTAWq26joslQgWNoFu08F4kl0J4CgdNKADkdSGXQyTCnKteIAJy96Br6YbpEU1LSzV5dYtjMkMDg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "19.1.0", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.1.0.tgz", - "integrity": "sha512-Xs1hdnE+DyKgeHJeJznQmYMIBG3TKIHJJT95Q58nHLSrElKlGQqDTR2HQ9fx5CN/Gk6Vh/kupBTDLU11/nDk/g==", - "dependencies": { - "scheduler": "^0.26.0" - }, - "peerDependencies": { - "react": "^19.1.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/scheduler": { - "version": "0.26.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.26.0.tgz", - "integrity": "sha512-NlHwttCI/l5gCPR3D1nNXtWABUmBwvZpEQiD4IXSbIDq8BzLIK/7Ir5gTFSGZDUu37K5cMNp0hFtzO38sC7gWA==" - }, - "node_modules/schema-utils": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", - "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/semver": { - "version": "7.7.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.1.tgz", - "integrity": "sha512-hlq8tAfn0m/61p4BVRcPzIGr6LKiMwo4VM6dGi6pt4qcRkmNzTcWq6eCEjEh+qXjkMDvPlOFFSGwQjoEa6gyMA==", - "optional": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/sharp": { - "version": "0.34.1", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.1.tgz", - "integrity": "sha512-1j0w61+eVxu7DawFJtnfYcvSv6qPFvfTaqzTQ2BLknVhHTwGS8sc63ZBF4rzkWMBVKybo4S5OBtDdZahh2A1xg==", - "hasInstallScript": true, - "optional": true, - "dependencies": { - "color": "^4.2.3", - "detect-libc": "^2.0.3", - "semver": "^7.7.1" - }, - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - }, - "optionalDependencies": { - "@img/sharp-darwin-arm64": "0.34.1", - "@img/sharp-darwin-x64": "0.34.1", - "@img/sharp-libvips-darwin-arm64": "1.1.0", - "@img/sharp-libvips-darwin-x64": "1.1.0", - "@img/sharp-libvips-linux-arm": "1.1.0", - "@img/sharp-libvips-linux-arm64": "1.1.0", - "@img/sharp-libvips-linux-ppc64": "1.1.0", - "@img/sharp-libvips-linux-s390x": "1.1.0", - "@img/sharp-libvips-linux-x64": "1.1.0", - "@img/sharp-libvips-linuxmusl-arm64": "1.1.0", - "@img/sharp-libvips-linuxmusl-x64": "1.1.0", - "@img/sharp-linux-arm": "0.34.1", - "@img/sharp-linux-arm64": "0.34.1", - "@img/sharp-linux-s390x": "0.34.1", - "@img/sharp-linux-x64": "0.34.1", - "@img/sharp-linuxmusl-arm64": "0.34.1", - "@img/sharp-linuxmusl-x64": "0.34.1", - "@img/sharp-wasm32": "0.34.1", - "@img/sharp-win32-ia32": "0.34.1", - "@img/sharp-win32-x64": "0.34.1" - } - }, - "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==", - "optional": true, - "dependencies": { - "is-arrayish": "^0.3.1" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-js": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.0.tgz", - "integrity": "sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/streamsearch": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/streamsearch/-/streamsearch-1.1.0.tgz", - "integrity": "sha512-Mcc5wHehp9aXz1ax6bZUyY5afg9u2rv5cqQI3mRrYkGC8rW2hM02jWuwjtL++LS5qinSyhj2QfLyNsuc+VsExg==", - "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/styled-jsx": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", - "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", - "dependencies": { - "client-only": "0.0.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "peerDependencies": { - "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "babel-plugin-macros": { - "optional": true - } - } - }, - "node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz", - "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==", - "dev": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.14", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", - "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", - "jest-worker": "^27.4.5", - "schema-utils": "^4.3.0", - "serialize-javascript": "^6.0.2", - "terser": "^5.31.1" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/tinyglobby": { - "version": "0.2.13", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.13.tgz", - "integrity": "sha512-mEwzpUgrLySlveBwEVDMKk5B57bhLPYovRfPAXD5gA/98Opn0rCDj3GtLwFvCvH5RK9uPCExUROW5NjDwvqkxw==", - "dev": true, - "dependencies": { - "fdir": "^6.4.4", - "picomatch": "^4.0.2" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "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==" - }, - "node_modules/typescript": { - "version": "5.4.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.4.5.tgz", - "integrity": "sha512-vcI4UpRgg81oIRUFwR0WSIHKt11nJ7SAVlYNIu+QpqeyXP+gpQJy/Z4+F0aGxSE4MqwjyXvW/TzgkLAx2AGHwQ==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - "dev": true - }, - "node_modules/update-browserslist-db": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", - "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/watchpack": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.1.tgz", - "integrity": "sha512-8wrBCMtVhqcXP2Sup1ctSkga6uc2Bx0IIvKyT7yTFier5AXHooSI+QyQQAtTb7+E0IUCCKyTFmXqdqgum2XWGg==", - "dev": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack": { - "version": "5.99.7", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.99.7.tgz", - "integrity": "sha512-CNqKBRMQjwcmKR0idID5va1qlhrqVUKpovi+Ec79ksW8ux7iS1+A6VqzfZXgVYCFRKl7XL5ap3ZoMpwBJxcg0w==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.7", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "@webassemblyjs/ast": "^1.14.1", - "@webassemblyjs/wasm-edit": "^1.14.1", - "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.14.0", - "browserslist": "^4.24.0", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.1", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^4.3.2", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.11", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - } - } -} diff --git a/src/webpack-nextjs-15/package.json b/src/webpack-nextjs-15/package.json deleted file mode 100644 index 8a05eb8..0000000 --- a/src/webpack-nextjs-15/package.json +++ /dev/null @@ -1,29 +0,0 @@ -{ - "name": "webpack-nextjs", - "version": "0.1.0", - "private": true, - "scripts": { - "dev": "next dev", - "build": "next build", - "start": "next start", - "lint": "next lint" - }, - "dependencies": { - "@coderline/alphatab": "^1.5.0-alpha.1396", - "next": "15.3.1", - "react": "19.1.0", - "react-dom": "19.1.0" - }, - "devDependencies": { - "@types/node": "^22", - "@types/react": "19.1.2", - "@types/react-dom": "19.1.3", - "copy-webpack-plugin": "^13.0.0", - "typescript": "^5", - "webpack": "^5.99.7" - }, - "overrides": { - "@types/react": "19.1.2", - "@types/react-dom": "19.1.3" - } -} diff --git a/src/webpack-nextjs-15/src/app/favicon.ico b/src/webpack-nextjs-15/src/app/favicon.ico deleted file mode 100644 index 718d6fea4835ec2d246af9800eddb7ffb276240c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25931 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 LrJugUA?W`A8`#=m diff --git a/src/webpack-nextjs-15/src/app/globals.css b/src/webpack-nextjs-15/src/app/globals.css deleted file mode 100644 index 5ea5a80..0000000 --- a/src/webpack-nextjs-15/src/app/globals.css +++ /dev/null @@ -1,21 +0,0 @@ -.at-cursor-bar { - /* Defines the color of the bar background when a bar is played */ - background: rgba(255, 242, 0, 0.25); -} - -.at-selection div { - /* Defines the color of the selection background */ - background: rgba(64, 64, 255, 0.2); -} - -.at-cursor-beat { - /* Defines the beat cursor */ - background: rgba(64, 64, 255, 0.75); - width: 3px; -} - -.at-highlight * { - /* Defines the color of the music symbols when they are being played (svg) */ - fill: #0078ff; - stroke: #0078ff; -} \ No newline at end of file diff --git a/src/webpack-nextjs-15/src/app/layout.tsx b/src/webpack-nextjs-15/src/app/layout.tsx deleted file mode 100644 index 3314e47..0000000 --- a/src/webpack-nextjs-15/src/app/layout.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import type { Metadata } from "next"; -import { Inter } from "next/font/google"; -import "./globals.css"; - -const inter = Inter({ subsets: ["latin"] }); - -export const metadata: Metadata = { - title: "Create Next App", - description: "Generated by create next app", -}; - -export default function RootLayout({ - children, -}: Readonly<{ - children: React.ReactNode; -}>) { - return ( - - {children} - - ); -} diff --git a/src/webpack-nextjs-15/src/app/page.tsx b/src/webpack-nextjs-15/src/app/page.tsx deleted file mode 100644 index b73a649..0000000 --- a/src/webpack-nextjs-15/src/app/page.tsx +++ /dev/null @@ -1,44 +0,0 @@ -"use client" - -import { useEffect, useRef, useState } from "react"; -import { AlphaTabApi, Settings } from "@coderline/alphatab"; - -export default function Home() { - const elementRef = useRef(null); - const [api, setApi] = useState(); - - useEffect(() => { - const api = new AlphaTabApi(elementRef.current!, { - core: { - file: 'https://www.alphatab.net/files/canon.gp', - fontDirectory: '/alphatab/font/' - }, - player: { - enablePlayer: true, - enableCursor: true, - enableUserInteraction: true, - soundFont: '/alphatab/soundfont/sonivox.sf2' - } - } as Settings); - - setApi(api); - - return () => { - console.log('destroy', elementRef, api); - api.destroy(); - } - }, []); - - function playPause() { - api?.playPause(); - } - - return ( - <> -
- -
-
- - ); -} diff --git a/src/webpack-nextjs-16/.gitignore b/src/webpack-nextjs-16/.gitignore deleted file mode 100644 index 576f772..0000000 --- a/src/webpack-nextjs-16/.gitignore +++ /dev/null @@ -1,42 +0,0 @@ -# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. -/public/alphatab - -# dependencies -/node_modules -/.pnp -.pnp.* -.yarn/* -!.yarn/patches -!.yarn/plugins -!.yarn/releases -!.yarn/versions - -# testing -/coverage - -# next.js -/.next/ -/out/ - -# production -/build - -# misc -.DS_Store -*.pem - -# debug -npm-debug.log* -yarn-debug.log* -yarn-error.log* -.pnpm-debug.log* - -# env files (can opt-in for committing if needed) -.env* - -# vercel -.vercel - -# typescript -*.tsbuildinfo -next-env.d.ts diff --git a/src/webpack-nextjs-16/README.md b/src/webpack-nextjs-16/README.md deleted file mode 100644 index 8e97e57..0000000 --- a/src/webpack-nextjs-16/README.md +++ /dev/null @@ -1,19 +0,0 @@ -# Next.js 16 Example - -This sample shows how to use alphaTab with next.js. - -In the `next.config.ts` we register the alphaTab webpack plugin taking care of the bundling specific points. - -## Starting - -```bash -npm i -npm run dev -``` - -## Whats Special - -* In `next.config.ts` configure the `AlphaTabWebPackPlugin` to copy the assets to `public/alphatab` via `assetOutputDir`. This is because of some known issue that in next.js assets are not served in "dev" mode. See https://github.com/vercel/next.js/issues/45478 and https://github.com/vercel/next.js/issues/67302. -* In `page.tsx` you find the code to initialize alphaTab. There you will also see that we - * Set the `fontDirectory` and `soundFont` paths to point to the assets we copy. -* Do NOT use the new Turbopack bundler they built for Next.js They do not offer a plugin system and their built-in systems do not support WebWorkers & Audio Worklets like we need it. https://nextjs.org/docs/app/guides/upgrading/version-16#opting-out-of-turbopack \ No newline at end of file diff --git a/src/webpack-nextjs-16/eslint.config.mjs b/src/webpack-nextjs-16/eslint.config.mjs deleted file mode 100644 index 05e726d..0000000 --- a/src/webpack-nextjs-16/eslint.config.mjs +++ /dev/null @@ -1,18 +0,0 @@ -import { defineConfig, globalIgnores } from "eslint/config"; -import nextVitals from "eslint-config-next/core-web-vitals"; -import nextTs from "eslint-config-next/typescript"; - -const eslintConfig = defineConfig([ - ...nextVitals, - ...nextTs, - // Override default ignores of eslint-config-next. - globalIgnores([ - // Default ignores of eslint-config-next: - ".next/**", - "out/**", - "build/**", - "next-env.d.ts", - ]), -]); - -export default eslintConfig; diff --git a/src/webpack-nextjs-16/package-lock.json b/src/webpack-nextjs-16/package-lock.json deleted file mode 100644 index 44a9f18..0000000 --- a/src/webpack-nextjs-16/package-lock.json +++ /dev/null @@ -1,6205 +0,0 @@ -{ - "name": "webpack-nextjs-16", - "version": "0.1.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "webpack-nextjs-16", - "version": "0.1.0", - "dependencies": { - "@coderline/alphatab": "^1.7.1", - "next": "16.0.8", - "react": "19.2.1", - "react-dom": "19.2.1" - }, - "devDependencies": { - "@coderline/alphatab-webpack": "^1.7.1", - "@types/node": "^20", - "@types/react": "^19", - "@types/react-dom": "^19", - "eslint": "^9", - "eslint-config-next": "16.0.8", - "typescript": "^5" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.27.1.tgz", - "integrity": "sha512-cjQ7ZlQ0Mv3b47hABuTevyTuYN4i+loJKGeV9flcCgIK37cCXRh+L1bd3iBHlynerhQ7BhCkn2BPbQUL+rGqFg==", - "dev": true, - "dependencies": { - "@babel/helper-validator-identifier": "^7.27.1", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.28.5.tgz", - "integrity": "sha512-6uFXyCayocRbqhZOB+6XcuZbkMNimwfVGFji8CTZnCzOHVGvDqzvitu1re2AU5LROliz7eQPhB8CpAMvnx9EjA==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.28.5.tgz", - "integrity": "sha512-e7jT4DxYvIDLk1ZHmU/m/mB19rex9sv0c2ftBtjSBv+kVM/902eh0fINUzD7UwLLNR+jU585GxUJ8/EBfAM5fw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", - "@babel/helper-compilation-targets": "^7.27.2", - "@babel/helper-module-transforms": "^7.28.3", - "@babel/helpers": "^7.28.4", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/traverse": "^7.28.5", - "@babel/types": "^7.28.5", - "@jridgewell/remapping": "^2.3.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.28.5.tgz", - "integrity": "sha512-3EwLFhZ38J4VyIP6WNtt2kUdW9dokXA9Cr4IVIFHuCpZ3H8/YFOl5JjZHisrn1fATPBmKKqXzDFvh9fUwHz6CQ==", - "dev": true, - "dependencies": { - "@babel/parser": "^7.28.5", - "@babel/types": "^7.28.5", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.27.2.tgz", - "integrity": "sha512-2+1thGUUWWjLTYTHZWK1n8Yga0ijBz1XAhUXcKy81rd5g6yh7hGqMp45v7cadSbEHc9G3OTv45SyneRN3ps4DQ==", - "dev": true, - "dependencies": { - "@babel/compat-data": "^7.27.2", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.27.1.tgz", - "integrity": "sha512-0gSFWUPNXNopqtIPQvlD5WgXYI5GY2kP2cCvoT8kczjbfcfuIljTbcWrulD1CIPIX2gt1wghbDy08yE1p+/r3w==", - "dev": true, - "dependencies": { - "@babel/traverse": "^7.27.1", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.28.3", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.3.tgz", - "integrity": "sha512-gytXUbs8k2sXS9PnQptz5o0QnpLL51SwASIORY6XaBKF88nsOT0Zw9szLqlSGQDP/4TljBAD5y98p2U1fqkdsw==", - "dev": true, - "dependencies": { - "@babel/helper-module-imports": "^7.27.1", - "@babel/helper-validator-identifier": "^7.27.1", - "@babel/traverse": "^7.28.3" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.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==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.28.4", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.28.4.tgz", - "integrity": "sha512-HFN59MmQXGHVyYadKLVumYsA9dBFun/ldYxipEjzA4196jpLZd8UjEEBLkbEkvfYreDqJhZxYAWFPtrfhNpj4w==", - "dev": true, - "dependencies": { - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.4" - }, - "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==", - "dev": true, - "dependencies": { - "@babel/types": "^7.28.5" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/template": { - "version": "7.27.2", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.27.2.tgz", - "integrity": "sha512-LPDZ85aEJyYSd18/DkjNh4/y1ntkE5KwUHWTiqgRxruuZL2F1yuHligVHLvcHY2vMHXttKFpJn6LwfI7cw7ODw==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/parser": "^7.27.2", - "@babel/types": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.28.5.tgz", - "integrity": "sha512-TCCj4t55U90khlYkVV/0TfkJkAkUg3jZFA3Neb7unZT8CPok7iiRfaX0F+WnqWqt7OxhOn0uBKXCw4lbL8W0aQ==", - "dev": true, - "dependencies": { - "@babel/code-frame": "^7.27.1", - "@babel/generator": "^7.28.5", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.28.5", - "@babel/template": "^7.27.2", - "@babel/types": "^7.28.5", - "debug": "^4.3.1" - }, - "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==", - "dev": true, - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@coderline/alphatab": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@coderline/alphatab/-/alphatab-1.7.1.tgz", - "integrity": "sha512-Rsh+HEWJxcn2ahMR/5bzPkmeadL3ZSXFboZ46t1Y71tdsysJqlrrKtjx/yaOhULDWL4q1kq0EVcbqlYngcFRyQ==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@coderline/alphatab-webpack": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@coderline/alphatab-webpack/-/alphatab-webpack-1.7.1.tgz", - "integrity": "sha512-dKfm/dbb8SavTc76TX+xlsis7aO4OBRf5nO4+3ie3KqNDN2YhZDhi6tI4gLzsOe6UsT3h3tiLMLmsbl3XcJ27w==", - "dev": true, - "dependencies": { - "webpack": "^5.101.3" - }, - "engines": { - "node": ">=20.19.0" - } - }, - "node_modules/@emnapi/core": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@emnapi/core/-/core-1.7.1.tgz", - "integrity": "sha512-o1uhUASyo921r2XtHYOHy7gdkGLge8ghBEQHMWmyJFoXlpU58kIrhhN3w26lpQb6dspetweapMn2CSNwQ8I4wg==", - "dev": true, - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.1.0", - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/runtime": { - "version": "1.7.1", - "resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.7.1.tgz", - "integrity": "sha512-PVtJr5CmLwYAU9PZDMITZoR5iAOShYREoR45EyyLrbntV50mdePTgUn4AmOw90Ifcj+x2kRjdzr1HP3RrNiHGA==", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@emnapi/wasi-threads": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@emnapi/wasi-threads/-/wasi-threads-1.1.0.tgz", - "integrity": "sha512-WI0DdZ8xFSbgMjR1sFsKABJ/C5OnRrjT06JXbZKexJGrDuPTzZdDYfFlsgcCXCyf+suG5QU2e/y1Wo2V/OapLQ==", - "dev": true, - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@eslint-community/eslint-utils": { - "version": "4.9.0", - "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.9.0.tgz", - "integrity": "sha512-ayVFHdtZ+hsq1t2Dy24wCmGXGe4q9Gu3smhLYALJrr473ZH27MsnSL+LKUlimp4BWJqMDMLmPpx/Q9R3OAlL4g==", - "dev": true, - "dependencies": { - "eslint-visitor-keys": "^3.4.3" - }, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - }, - "peerDependencies": { - "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" - } - }, - "node_modules/@eslint-community/eslint-utils/node_modules/eslint-visitor-keys": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.3.tgz", - "integrity": "sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==", - "dev": true, - "engines": { - "node": "^12.22.0 || ^14.17.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint-community/regexpp": { - "version": "4.12.2", - "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.12.2.tgz", - "integrity": "sha512-EriSTlt5OC9/7SXkRSCAhfSxxoSUgBm33OH+IkwbdpgoqsSsUg7y3uh+IICI/Qg4BBWr3U2i39RpmycbxMq4ew==", - "dev": true, - "engines": { - "node": "^12.0.0 || ^14.0.0 || >=16.0.0" - } - }, - "node_modules/@eslint/config-array": { - "version": "0.21.1", - "resolved": "https://registry.npmjs.org/@eslint/config-array/-/config-array-0.21.1.tgz", - "integrity": "sha512-aw1gNayWpdI/jSYVgzN5pL0cfzU02GT3NBpeT/DXbx1/1x7ZKxFPd9bwrzygx/qiwIQiJ1sw/zD8qY/kRvlGHA==", - "dev": true, - "dependencies": { - "@eslint/object-schema": "^2.1.7", - "debug": "^4.3.1", - "minimatch": "^3.1.2" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/config-helpers": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/@eslint/config-helpers/-/config-helpers-0.4.2.tgz", - "integrity": "sha512-gBrxN88gOIf3R7ja5K9slwNayVcZgK6SOUORm2uBzTeIEfeVaIhOpCtTox3P6R7o2jLFwLFTLnC7kU/RGcYEgw==", - "dev": true, - "dependencies": { - "@eslint/core": "^0.17.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/core": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/@eslint/core/-/core-0.17.0.tgz", - "integrity": "sha512-yL/sLrpmtDaFEiUj1osRP4TI2MDz1AddJL+jZ7KSqvBuliN4xqYY54IfdN8qD8Toa6g1iloph1fxQNkjOxrrpQ==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.15" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/eslintrc": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-3.3.3.tgz", - "integrity": "sha512-Kr+LPIUVKz2qkx1HAMH8q1q6azbqBAsXJUxBl/ODDuVPX45Z9DfwB8tPjTi6nNZ8BuM3nbJxC5zCAg5elnBUTQ==", - "dev": true, - "dependencies": { - "ajv": "^6.12.4", - "debug": "^4.3.2", - "espree": "^10.0.1", - "globals": "^14.0.0", - "ignore": "^5.2.0", - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.1", - "minimatch": "^3.1.2", - "strip-json-comments": "^3.1.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/@eslint/js": { - "version": "9.39.1", - "resolved": "https://registry.npmjs.org/@eslint/js/-/js-9.39.1.tgz", - "integrity": "sha512-S26Stp4zCy88tH94QbBv3XCuzRQiZ9yXofEILmglYTh/Ug/a9/umqvgFtYBAo3Lp0nsI/5/qH1CCrbdK3AP1Tw==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - } - }, - "node_modules/@eslint/object-schema": { - "version": "2.1.7", - "resolved": "https://registry.npmjs.org/@eslint/object-schema/-/object-schema-2.1.7.tgz", - "integrity": "sha512-VtAOaymWVfZcmZbp6E2mympDIHvyjXs/12LqWYjVw6qjrfF+VK+fyG33kChz3nnK+SU5/NeHOqrTEHS8sXO3OA==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@eslint/plugin-kit": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/@eslint/plugin-kit/-/plugin-kit-0.4.1.tgz", - "integrity": "sha512-43/qtrDUokr7LJqoF2c3+RInu/t4zfrpYdoSDfYyhg52rwLV6TnOvdG4fXm7IkSB3wErkcmJS9iEhjVtOSEjjA==", - "dev": true, - "dependencies": { - "@eslint/core": "^0.17.0", - "levn": "^0.4.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - } - }, - "node_modules/@humanfs/core": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/@humanfs/core/-/core-0.19.1.tgz", - "integrity": "sha512-5DyQ4+1JEUzejeK1JGICcideyfUbGixgS9jNgex5nqkW+cY7WZhxBigmieN5Qnw9ZosSNVC9KQKyb+GUaGyKUA==", - "dev": true, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanfs/node": { - "version": "0.16.7", - "resolved": "https://registry.npmjs.org/@humanfs/node/-/node-0.16.7.tgz", - "integrity": "sha512-/zUx+yOsIrG4Y43Eh2peDeKCxlRt/gET6aHfaKpuq267qXdYDFViVHfMaLyygZOnl0kGWxFIgsBy8QFuTLUXEQ==", - "dev": true, - "dependencies": { - "@humanfs/core": "^0.19.1", - "@humanwhocodes/retry": "^0.4.0" - }, - "engines": { - "node": ">=18.18.0" - } - }, - "node_modules/@humanwhocodes/module-importer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", - "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", - "dev": true, - "engines": { - "node": ">=12.22" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "node_modules/@humanwhocodes/retry": { - "version": "0.4.3", - "resolved": "https://registry.npmjs.org/@humanwhocodes/retry/-/retry-0.4.3.tgz", - "integrity": "sha512-bV0Tgo9K4hfPCek+aMAn81RppFKv2ySDQeMoSZuvTASywNTnVJCArCZE2FWqpvIatKu7VMRLWlR1EazvVhDyhQ==", - "dev": true, - "engines": { - "node": ">=18.18" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/nzakas" - } - }, - "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==", - "optional": true, - "engines": { - "node": ">=18" - } - }, - "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" - ], - "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/@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" - ], - "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/@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" - ], - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "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" - ], - "optional": true, - "os": [ - "darwin" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "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" - ], - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "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" - ], - "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" - ], - "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" - ], - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "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" - ], - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "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" - ], - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "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" - ], - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "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" - ], - "optional": true, - "os": [ - "linux" - ], - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "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" - ], - "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/@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" - ], - "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/@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" - ], - "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" - ], - "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.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" - ], - "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/@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" - ], - "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/@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" - ], - "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/@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" - ], - "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/@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" - ], - "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/@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" - ], - "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.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" - ], - "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.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" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": "^18.17.0 || ^20.3.0 || >=21.0.0" - }, - "funding": { - "url": "https://opencollective.com/libvips" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.11", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.11.tgz", - "integrity": "sha512-ZMp1V8ZFcPG5dIWnQLr3NSI1MiCU7UETdS/A0G8V/XWHvJv3ZsFqutJn1Y5RPmAPX6F3BiE397OqveU/9NCuIA==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "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==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@napi-rs/wasm-runtime": { - "version": "0.2.12", - "resolved": "https://registry.npmjs.org/@napi-rs/wasm-runtime/-/wasm-runtime-0.2.12.tgz", - "integrity": "sha512-ZVWUcfwY4E/yPitQJl481FjFo3K22D6qF0DuFH6Y/nbnE11GY5uguDxZMGXPQ8WQ0128MXQD7TnfHyK4oWoIJQ==", - "dev": true, - "optional": true, - "dependencies": { - "@emnapi/core": "^1.4.3", - "@emnapi/runtime": "^1.4.3", - "@tybys/wasm-util": "^0.10.0" - } - }, - "node_modules/@next/env": { - "version": "16.0.8", - "resolved": "https://registry.npmjs.org/@next/env/-/env-16.0.8.tgz", - "integrity": "sha512-xP4WrQZuj9MdmLJy3eWFHepo+R3vznsMSS8Dy3wdA7FKpjCiesQ6DxZvdGziQisj0tEtCgBKJzjcAc4yZOgLEQ==" - }, - "node_modules/@next/eslint-plugin-next": { - "version": "16.0.8", - "resolved": "https://registry.npmjs.org/@next/eslint-plugin-next/-/eslint-plugin-next-16.0.8.tgz", - "integrity": "sha512-1miV0qXDcLUaOdHridVPCh4i39ElRIAraseVIbb3BEqyZ5ol9sPyjTP/GNTPV5rBxqxjF6/vv5zQTVbhiNaLqA==", - "dev": true, - "dependencies": { - "fast-glob": "3.3.1" - } - }, - "node_modules/@next/swc-darwin-arm64": { - "version": "16.0.8", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-16.0.8.tgz", - "integrity": "sha512-yjVMvTQN21ZHOclQnhSFbjBTEizle+1uo4NV6L4rtS9WO3nfjaeJYw+H91G+nEf3Ef43TaEZvY5mPWfB/De7tA==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-darwin-x64": { - "version": "16.0.8", - "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-16.0.8.tgz", - "integrity": "sha512-+zu2N3QQ0ZOb6RyqQKfcu/pn0UPGmg+mUDqpAAEviAcEVEYgDckemOpiMRsBP3IsEKpcoKuNzekDcPczEeEIzA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-gnu": { - "version": "16.0.8", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-16.0.8.tgz", - "integrity": "sha512-LConttk+BeD0e6RG0jGEP9GfvdaBVMYsLJ5aDDweKiJVVCu6sGvo+Ohz9nQhvj7EQDVVRJMCGhl19DmJwGr6bQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-arm64-musl": { - "version": "16.0.8", - "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-16.0.8.tgz", - "integrity": "sha512-JaXFAlqn8fJV+GhhA9lpg6da/NCN/v9ub98n3HoayoUSPOVdoxEEt86iT58jXqQCs/R3dv5ZnxGkW8aF4obMrQ==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-gnu": { - "version": "16.0.8", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-16.0.8.tgz", - "integrity": "sha512-O7M9it6HyNhsJp3HNAsJoHk5BUsfj7hRshfptpGcVsPZ1u0KQ/oVy8oxF7tlwxA5tR43VUP0yRmAGm1us514ng==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-linux-x64-musl": { - "version": "16.0.8", - "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-16.0.8.tgz", - "integrity": "sha512-8+KClEC/GLI2dLYcrWwHu5JyC5cZYCFnccVIvmxpo6K+XQt4qzqM5L4coofNDZYkct/VCCyJWGbZZDsg6w6LFA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-arm64-msvc": { - "version": "16.0.8", - "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-16.0.8.tgz", - "integrity": "sha512-rpQ/PgTEgH68SiXmhu/cJ2hk9aZ6YgFvspzQWe2I9HufY6g7V02DXRr/xrVqOaKm2lenBFPNQ+KAaeveywqV+A==", - "cpu": [ - "arm64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@next/swc-win32-x64-msvc": { - "version": "16.0.8", - "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-16.0.8.tgz", - "integrity": "sha512-jWpWjWcMQu2iZz4pEK2IktcfR+OA9+cCG8zenyLpcW8rN4rzjfOzH4yj/b1FiEAZHKS+5Vq8+bZyHi+2yqHbFA==", - "cpu": [ - "x64" - ], - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@nodelib/fs.scandir": { - "version": "2.1.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", - "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "2.0.5", - "run-parallel": "^1.1.9" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.stat": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", - "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nodelib/fs.walk": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", - "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", - "dev": true, - "dependencies": { - "@nodelib/fs.scandir": "2.1.5", - "fastq": "^1.6.0" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/@nolyfill/is-core-module": { - "version": "1.0.39", - "resolved": "https://registry.npmjs.org/@nolyfill/is-core-module/-/is-core-module-1.0.39.tgz", - "integrity": "sha512-nn5ozdjYQpUCZlWGuxcJY/KpxkWQs4DcbMCmKojjyrYDEAGy4Ce19NN4v5MduafTwJlbKc99UA8YhSVqq9yPZA==", - "dev": true, - "engines": { - "node": ">=12.4.0" - } - }, - "node_modules/@rtsao/scc": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@rtsao/scc/-/scc-1.1.0.tgz", - "integrity": "sha512-zt6OdqaDoOnJ1ZYsCYGt9YmWzDXl4vQdKTyJev62gFhRGKdx7mcT54V9KIjg+d2wi9EXsPvAPKe7i7WjfVWB8g==", - "dev": true - }, - "node_modules/@swc/helpers": { - "version": "0.5.15", - "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.5.15.tgz", - "integrity": "sha512-JQ5TuMi45Owi4/BIMAJBoSQoOJu12oOk/gADqlcUL9JEdHB8vyjUSsxqeNXnmXHjYKMi2WcYtezGEEhqUI/E2g==", - "dependencies": { - "tslib": "^2.8.0" - } - }, - "node_modules/@tybys/wasm-util": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/@tybys/wasm-util/-/wasm-util-0.10.1.tgz", - "integrity": "sha512-9tTaPJLSiejZKx+Bmog4uSubteqTvFrVrURwkmHixBo0G4seD0zUxp98E1DzUBJxLQ3NPwXrGKDiVjwx/DpPsg==", - "dev": true, - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@types/eslint": { - "version": "9.6.1", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-9.6.1.tgz", - "integrity": "sha512-FXx2pKgId/WyYo2jXw63kk7/+TY7u7AziEJxJAnSFzHlqTAS3Ync6SvgYAN/k4/PQpnnVuzoMuVnByKK2qp0ag==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "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==", - "dev": true - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, - "node_modules/@types/json5": { - "version": "0.0.29", - "resolved": "https://registry.npmjs.org/@types/json5/-/json5-0.0.29.tgz", - "integrity": "sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==", - "dev": true - }, - "node_modules/@types/node": { - "version": "20.19.26", - "resolved": "https://registry.npmjs.org/@types/node/-/node-20.19.26.tgz", - "integrity": "sha512-0l6cjgF0XnihUpndDhk+nyD3exio3iKaYROSgvh/qSevPXax3L8p5DBRFjbvalnwatGgHEQn2R88y2fA3g4irg==", - "dev": true, - "dependencies": { - "undici-types": "~6.21.0" - } - }, - "node_modules/@types/react": { - "version": "19.2.7", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.7.tgz", - "integrity": "sha512-MWtvHrGZLFttgeEj28VXHxpmwYbor/ATPYbBfSFZEIRK0ecCFLl2Qo55z52Hss+UV9CRN7trSeq1zbgx7YDWWg==", - "dev": true, - "dependencies": { - "csstype": "^3.2.2" - } - }, - "node_modules/@types/react-dom": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", - "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", - "dev": true, - "peerDependencies": { - "@types/react": "^19.2.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-8.49.0.tgz", - "integrity": "sha512-JXij0vzIaTtCwu6SxTh8qBc66kmf1xs7pI4UOiMDFVct6q86G0Zs7KRcEoJgY3Cav3x5Tq0MF5jwgpgLqgKG3A==", - "dev": true, - "dependencies": { - "@eslint-community/regexpp": "^4.10.0", - "@typescript-eslint/scope-manager": "8.49.0", - "@typescript-eslint/type-utils": "8.49.0", - "@typescript-eslint/utils": "8.49.0", - "@typescript-eslint/visitor-keys": "8.49.0", - "ignore": "^7.0.0", - "natural-compare": "^1.4.0", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "@typescript-eslint/parser": "^8.49.0", - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/eslint-plugin/node_modules/ignore": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-7.0.5.tgz", - "integrity": "sha512-Hs59xBNfUIunMFgWAbGX5cq6893IbWg4KnrjbYwX3tx0ztorVgTDA6B2sxf8ejHJ4wz8BqGUMYlnzNBer5NvGg==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/@typescript-eslint/parser": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-8.49.0.tgz", - "integrity": "sha512-N9lBGA9o9aqb1hVMc9hzySbhKibHmB+N3IpoShyV6HyQYRGIhlrO5rQgttypi+yEeKsKI4idxC8Jw6gXKD4THA==", - "dev": true, - "dependencies": { - "@typescript-eslint/scope-manager": "8.49.0", - "@typescript-eslint/types": "8.49.0", - "@typescript-eslint/typescript-estree": "8.49.0", - "@typescript-eslint/visitor-keys": "8.49.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/project-service": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/project-service/-/project-service-8.49.0.tgz", - "integrity": "sha512-/wJN0/DKkmRUMXjZUXYZpD1NEQzQAAn9QWfGwo+Ai8gnzqH7tvqS7oNVdTjKqOcPyVIdZdyCMoqN66Ia789e7g==", - "dev": true, - "dependencies": { - "@typescript-eslint/tsconfig-utils": "^8.49.0", - "@typescript-eslint/types": "^8.49.0", - "debug": "^4.3.4" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/scope-manager": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-8.49.0.tgz", - "integrity": "sha512-npgS3zi+/30KSOkXNs0LQXtsg9ekZ8OISAOLGWA/ZOEn0ZH74Ginfl7foziV8DT+D98WfQ5Kopwqb/PZOaIJGg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "8.49.0", - "@typescript-eslint/visitor-keys": "8.49.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/tsconfig-utils": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/tsconfig-utils/-/tsconfig-utils-8.49.0.tgz", - "integrity": "sha512-8prixNi1/6nawsRYxet4YOhnbW+W9FK/bQPxsGB1D3ZrDzbJ5FXw5XmzxZv82X3B+ZccuSxo/X8q9nQ+mFecWA==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/type-utils": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-8.49.0.tgz", - "integrity": "sha512-KTExJfQ+svY8I10P4HdxKzWsvtVnsuCifU5MvXrRwoP2KOlNZ9ADNEWWsQTJgMxLzS5VLQKDjkCT/YzgsnqmZg==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "8.49.0", - "@typescript-eslint/typescript-estree": "8.49.0", - "@typescript-eslint/utils": "8.49.0", - "debug": "^4.3.4", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/types": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-8.49.0.tgz", - "integrity": "sha512-e9k/fneezorUo6WShlQpMxXh8/8wfyc+biu6tnAqA81oWrEic0k21RHzP9uqqpyBBeBKu4T+Bsjy9/b8u7obXQ==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@typescript-eslint/typescript-estree": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-8.49.0.tgz", - "integrity": "sha512-jrLdRuAbPfPIdYNppHJ/D0wN+wwNfJ32YTAm10eJVsFmrVpXQnDWBn8niCSMlWjvml8jsce5E/O+86IQtTbJWA==", - "dev": true, - "dependencies": { - "@typescript-eslint/project-service": "8.49.0", - "@typescript-eslint/tsconfig-utils": "8.49.0", - "@typescript-eslint/types": "8.49.0", - "@typescript-eslint/visitor-keys": "8.49.0", - "debug": "^4.3.4", - "minimatch": "^9.0.4", - "semver": "^7.6.0", - "tinyglobby": "^0.2.15", - "ts-api-utils": "^2.1.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/brace-expansion": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.2.tgz", - "integrity": "sha512-Jt0vHyM+jmUBqojB7E1NIYadt0vI0Qxjxd2TErW94wDz+E2LAm5vKMXXwg6ZZBTHPuUlDgQHKXvjGBdfcF1ZDQ==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/minimatch": { - "version": "9.0.5", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.5.tgz", - "integrity": "sha512-G6T0ZX48xgozx7587koeX9Ys2NYy6Gmv//P89sEte9V9whIapMNF4idKxnW2QtCcLiTWlb/wfCabAtAFWhhBow==", - "dev": true, - "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" - }, - "funding": { - "url": "https://github.com/sponsors/isaacs" - } - }, - "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/@typescript-eslint/utils": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-8.49.0.tgz", - "integrity": "sha512-N3W7rJw7Rw+z1tRsHZbK395TWSYvufBXumYtEGzypgMUthlg0/hmCImeA8hgO2d2G4pd7ftpxxul2J8OdtdaFA==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.7.0", - "@typescript-eslint/scope-manager": "8.49.0", - "@typescript-eslint/types": "8.49.0", - "@typescript-eslint/typescript-estree": "8.49.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/@typescript-eslint/visitor-keys": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-8.49.0.tgz", - "integrity": "sha512-LlKaciDe3GmZFphXIc79THF/YYBugZ7FS1pO581E/edlVVNbZKDy93evqmrfQ9/Y4uN0vVhX4iuchq26mK/iiA==", - "dev": true, - "dependencies": { - "@typescript-eslint/types": "8.49.0", - "eslint-visitor-keys": "^4.2.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - } - }, - "node_modules/@unrs/resolver-binding-android-arm-eabi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm-eabi/-/resolver-binding-android-arm-eabi-1.11.1.tgz", - "integrity": "sha512-ppLRUgHVaGRWUx0R0Ut06Mjo9gBaBkg3v/8AxusGLhsIotbBLuRk51rAzqLC8gq6NyyAojEXglNjzf6R948DNw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@unrs/resolver-binding-android-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-android-arm64/-/resolver-binding-android-arm64-1.11.1.tgz", - "integrity": "sha512-lCxkVtb4wp1v+EoN+HjIG9cIIzPkX5OtM03pQYkG+U5O/wL53LC4QbIeazgiKqluGeVEeBlZahHalCaBvU1a2g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@unrs/resolver-binding-darwin-arm64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-arm64/-/resolver-binding-darwin-arm64-1.11.1.tgz", - "integrity": "sha512-gPVA1UjRu1Y/IsB/dQEsp2V1pm44Of6+LWvbLc9SDk1c2KhhDRDBUkQCYVWe6f26uJb3fOK8saWMgtX8IrMk3g==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@unrs/resolver-binding-darwin-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-darwin-x64/-/resolver-binding-darwin-x64-1.11.1.tgz", - "integrity": "sha512-cFzP7rWKd3lZaCsDze07QX1SC24lO8mPty9vdP+YVa3MGdVgPmFc59317b2ioXtgCMKGiCLxJ4HQs62oz6GfRQ==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@unrs/resolver-binding-freebsd-x64": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-freebsd-x64/-/resolver-binding-freebsd-x64-1.11.1.tgz", - "integrity": "sha512-fqtGgak3zX4DCB6PFpsH5+Kmt/8CIi4Bry4rb1ho6Av2QHTREM+47y282Uqiu3ZRF5IQioJQ5qWRV6jduA+iGw==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm-gnueabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-gnueabihf/-/resolver-binding-linux-arm-gnueabihf-1.11.1.tgz", - "integrity": "sha512-u92mvlcYtp9MRKmP+ZvMmtPN34+/3lMHlyMj7wXJDeXxuM0Vgzz0+PPJNsro1m3IZPYChIkn944wW8TYgGKFHw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm-musleabihf": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm-musleabihf/-/resolver-binding-linux-arm-musleabihf-1.11.1.tgz", - "integrity": "sha512-cINaoY2z7LVCrfHkIcmvj7osTOtm6VVT16b5oQdS4beibX2SYBwgYLmqhBjA1t51CarSaBuX5YNsWLjsqfW5Cw==", - "cpu": [ - "arm" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-gnu/-/resolver-binding-linux-arm64-gnu-1.11.1.tgz", - "integrity": "sha512-34gw7PjDGB9JgePJEmhEqBhWvCiiWCuXsL9hYphDF7crW7UgI05gyBAi6MF58uGcMOiOqSJ2ybEeCvHcq0BCmQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-arm64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-arm64-musl/-/resolver-binding-linux-arm64-musl-1.11.1.tgz", - "integrity": "sha512-RyMIx6Uf53hhOtJDIamSbTskA99sPHS96wxVE/bJtePJJtpdKGXO1wY90oRdXuYOGOTuqjT8ACccMc4K6QmT3w==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-ppc64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-ppc64-gnu/-/resolver-binding-linux-ppc64-gnu-1.11.1.tgz", - "integrity": "sha512-D8Vae74A4/a+mZH0FbOkFJL9DSK2R6TFPC9M+jCWYia/q2einCubX10pecpDiTmkJVUH+y8K3BZClycD8nCShA==", - "cpu": [ - "ppc64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-riscv64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-gnu/-/resolver-binding-linux-riscv64-gnu-1.11.1.tgz", - "integrity": "sha512-frxL4OrzOWVVsOc96+V3aqTIQl1O2TjgExV4EKgRY09AJ9leZpEg8Ak9phadbuX0BA4k8U5qtvMSQQGGmaJqcQ==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-riscv64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-riscv64-musl/-/resolver-binding-linux-riscv64-musl-1.11.1.tgz", - "integrity": "sha512-mJ5vuDaIZ+l/acv01sHoXfpnyrNKOk/3aDoEdLO/Xtn9HuZlDD6jKxHlkN8ZhWyLJsRBxfv9GYM2utQ1SChKew==", - "cpu": [ - "riscv64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-s390x-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-s390x-gnu/-/resolver-binding-linux-s390x-gnu-1.11.1.tgz", - "integrity": "sha512-kELo8ebBVtb9sA7rMe1Cph4QHreByhaZ2QEADd9NzIQsYNQpt9UkM9iqr2lhGr5afh885d/cB5QeTXSbZHTYPg==", - "cpu": [ - "s390x" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-gnu": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-gnu/-/resolver-binding-linux-x64-gnu-1.11.1.tgz", - "integrity": "sha512-C3ZAHugKgovV5YvAMsxhq0gtXuwESUKc5MhEtjBpLoHPLYM+iuwSj3lflFwK3DPm68660rZ7G8BMcwSro7hD5w==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-linux-x64-musl": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-linux-x64-musl/-/resolver-binding-linux-x64-musl-1.11.1.tgz", - "integrity": "sha512-rV0YSoyhK2nZ4vEswT/QwqzqQXw5I6CjoaYMOX0TqBlWhojUf8P94mvI7nuJTeaCkkds3QE4+zS8Ko+GdXuZtA==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@unrs/resolver-binding-wasm32-wasi": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-wasm32-wasi/-/resolver-binding-wasm32-wasi-1.11.1.tgz", - "integrity": "sha512-5u4RkfxJm+Ng7IWgkzi3qrFOvLvQYnPBmjmZQ8+szTK/b31fQCnleNl1GgEt7nIsZRIf5PLhPwT0WM+q45x/UQ==", - "cpu": [ - "wasm32" - ], - "dev": true, - "optional": true, - "dependencies": { - "@napi-rs/wasm-runtime": "^0.2.11" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@unrs/resolver-binding-win32-arm64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-arm64-msvc/-/resolver-binding-win32-arm64-msvc-1.11.1.tgz", - "integrity": "sha512-nRcz5Il4ln0kMhfL8S3hLkxI85BXs3o8EYoattsJNdsX4YUU89iOkVn7g0VHSRxFuVMdM4Q1jEpIId1Ihim/Uw==", - "cpu": [ - "arm64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@unrs/resolver-binding-win32-ia32-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-ia32-msvc/-/resolver-binding-win32-ia32-msvc-1.11.1.tgz", - "integrity": "sha512-DCEI6t5i1NmAZp6pFonpD5m7i6aFrpofcp4LA2i8IIq60Jyo28hamKBxNrZcyOwVOZkgsRp9O2sXWBWP8MnvIQ==", - "cpu": [ - "ia32" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@unrs/resolver-binding-win32-x64-msvc": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/@unrs/resolver-binding-win32-x64-msvc/-/resolver-binding-win32-x64-msvc-1.11.1.tgz", - "integrity": "sha512-lrW200hZdbfRtztbygyaq/6jP6AKE8qQN2KvPcJ+x7wiD038YtnYtZ82IMNJ69GJibV7bwL3y9FgK+5w/pYt6g==", - "cpu": [ - "x64" - ], - "dev": true, - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", - "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", - "dev": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.13.2", - "@webassemblyjs/helper-api-error": "1.13.2", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/wasm-gen": "1.14.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", - "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/helper-wasm-section": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-opt": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1", - "@webassemblyjs/wast-printer": "1.14.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", - "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", - "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", - "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-api-error": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", - "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "node_modules/acorn": { - "version": "8.15.0", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.15.0.tgz", - "integrity": "sha512-NZyJarBfL7nWwIq+FDL6Zp/yHEhePMNnnJ0y3qfieCrmNvYct8uvtiV41UvlSe6apAfk0fY1FbWx+NwfmpvtTg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/acorn-import-phases": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/acorn-import-phases/-/acorn-import-phases-1.0.4.tgz", - "integrity": "sha512-wKmbr/DDiIXzEOiWrTTUcDm24kQ2vGfZQvM2fwg2vXqR5uW6aapr7ObPtj1th32b9u90/Pf4AItvdTh42fBmVQ==", - "dev": true, - "engines": { - "node": ">=10.13.0" - }, - "peerDependencies": { - "acorn": "^8.14.0" - } - }, - "node_modules/acorn-jsx": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", - "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", - "dev": true, - "peerDependencies": { - "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "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/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", - "dev": true - }, - "node_modules/aria-query": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.3.2.tgz", - "integrity": "sha512-COROpnaoap1E2F000S62r6A60uHZnmlvomhfyT2DlTcrY1OrBKn2UhH7qn5wTC9zMvD0AY7csdPSNwKP+7WiQw==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/array-buffer-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.2.tgz", - "integrity": "sha512-LHE+8BuR7RYGDKvnrmcuSq3tDcKv9OFEXQt/HpbZhY7V6h0zlUXutnAD82GiFx9rdieCMjkvtcsPqBwgUl1Iiw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "is-array-buffer": "^3.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array-includes": { - "version": "3.1.9", - "resolved": "https://registry.npmjs.org/array-includes/-/array-includes-3.1.9.tgz", - "integrity": "sha512-FmeCCAenzH0KH381SPT5FZmiA/TmpndpcaShhfgEN9eCVjnFBqq3l1xrI42y8+PPLI6hypzou4GXw00WHmPBLQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.24.0", - "es-object-atoms": "^1.1.1", - "get-intrinsic": "^1.3.0", - "is-string": "^1.1.1", - "math-intrinsics": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlast": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/array.prototype.findlast/-/array.prototype.findlast-1.2.5.tgz", - "integrity": "sha512-CVvd6FHg1Z3POpBLxO6E6zr+rSKEQ9L6rZHAaY7lLfhKsWYUBBOuMs0e9o24oopj6H+geRCX0YJ+TJLBK2eHyQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.findlastindex": { - "version": "1.2.6", - "resolved": "https://registry.npmjs.org/array.prototype.findlastindex/-/array.prototype.findlastindex-1.2.6.tgz", - "integrity": "sha512-F/TKATkzseUExPlfvmwQKGITM3DGTK+vkAsCZoDc5daVygbJBnjEUCbgkAvVFsgfXfX4YIqZ/27G3k3tdXrTxQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-shim-unscopables": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flat": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flat/-/array.prototype.flat-1.3.3.tgz", - "integrity": "sha512-rwG/ja1neyLqCuGZ5YYrznA62D4mZXg0i1cIskIUKSiqF3Cje9/wXAls9B9s1Wa2fomMsIv8czB8jZcPmxCXFg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.flatmap": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/array.prototype.flatmap/-/array.prototype.flatmap-1.3.3.tgz", - "integrity": "sha512-Y7Wt51eKJSyi80hFrJCePGGNo5ktJCslFuboqJsbf57CCPcm5zztluPlc4/aD8sWsKvlwatezpV4U1efk8kpjg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/array.prototype.tosorted": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/array.prototype.tosorted/-/array.prototype.tosorted-1.1.4.tgz", - "integrity": "sha512-p6Fx8B7b7ZhL/gmUsAy0D15WhvDccw3mnGNbZpi3pmeJdxtWsj2jEaI4Y6oo3XiHfzuSgPwKc04MYt6KgvC/wA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3", - "es-errors": "^1.3.0", - "es-shim-unscopables": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/arraybuffer.prototype.slice": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arraybuffer.prototype.slice/-/arraybuffer.prototype.slice-1.0.4.tgz", - "integrity": "sha512-BNoCY6SXXPQ7gF2opIP4GBE+Xw7U+pHMYKuzjgCN3GwiaIR09UUeKfheyIry77QtrCBlC0KK0q5/TER/tYh3PQ==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.1", - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6", - "is-array-buffer": "^3.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ast-types-flow": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.8.tgz", - "integrity": "sha512-OH/2E5Fg20h2aPrbe+QL8JZQFko0YZaF+j4mnQ7BGhfavO7OpSLa8a0y9sBwomHdSbkhTS8TQNayBfnW5DwbvQ==", - "dev": true - }, - "node_modules/async-function": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/async-function/-/async-function-1.0.0.tgz", - "integrity": "sha512-hsU18Ae8CDTR6Kgu9DYf0EbCr/a5iGL0rytQDobUcdpYOKokk8LEjVphnXkDkgpi0wYVsqrXuP0bZxJaTqdgoA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/available-typed-arrays": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.7.tgz", - "integrity": "sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==", - "dev": true, - "dependencies": { - "possible-typed-array-names": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/axe-core": { - "version": "4.11.0", - "resolved": "https://registry.npmjs.org/axe-core/-/axe-core-4.11.0.tgz", - "integrity": "sha512-ilYanEU8vxxBexpJd8cWM4ElSQq4QctCLKih0TSfjIfCQTeyH/6zVrmIJfLPrKTKJRbiG+cfnZbQIjAlJmF1jQ==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "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==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/balanced-match": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", - "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", - "dev": true - }, - "node_modules/baseline-browser-mapping": { - "version": "2.9.5", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.9.5.tgz", - "integrity": "sha512-D5vIoztZOq1XM54LUdttJVc96ggEsIfju2JBvht06pSzpckp3C7HReun67Bghzrtdsq9XdMGbSSB3v3GhMNmAA==", - "dev": true, - "bin": { - "baseline-browser-mapping": "dist/cli.js" - } - }, - "node_modules/brace-expansion": { - "version": "1.1.12", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.12.tgz", - "integrity": "sha512-9T9UjW3r0UW5c1Q7GTwllptXwhvYmEzFhzMfZ9H7FQWt+uZePjZPjBP/W1ZEyZ1twGWom5/56TF4lPcqjnDHcg==", - "dev": true, - "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" - } - }, - "node_modules/braces": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.3.tgz", - "integrity": "sha512-yQbXgO/OSZVD2IsiLlro+7Hf6Q18EJrKSEsdoMzKePKXct3gvD8oLcOQdIzGupr5Fj+EDe8gO/lxc1BzfMpxvA==", - "dev": true, - "dependencies": { - "fill-range": "^7.1.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/browserslist": { - "version": "4.28.1", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.1.tgz", - "integrity": "sha512-ZC5Bd0LgJXgwGqUknZY/vkUQ04r8NXnJZ3yYi4vDmSiZmC/pdSN0NbNRPxZpbtO4uAfDUAFffO8IZoM3Gj8IkA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "baseline-browser-mapping": "^2.9.0", - "caniuse-lite": "^1.0.30001759", - "electron-to-chromium": "^1.5.263", - "node-releases": "^2.0.27", - "update-browserslist-db": "^1.2.0" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/call-bind": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.8.tgz", - "integrity": "sha512-oKlSFMcMwpUg2ednkhQ454wfWiU/ul3CkJe/PEHcTKuiX6RpbehUiFMXu13HalGZxfUwCQzZG747YXBn1im9ww==", - "dev": true, - "dependencies": { - "call-bind-apply-helpers": "^1.0.0", - "es-define-property": "^1.0.0", - "get-intrinsic": "^1.2.4", - "set-function-length": "^1.2.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001760", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001760.tgz", - "integrity": "sha512-7AAMPcueWELt1p3mi13HR/LHH0TJLT11cnwDJEs3xA4+CK/PLKeO9Kl1oru24htkyUKtkGCvAx4ohB0Ttry8Dw==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "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/chrome-trace-event": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.4.tgz", - "integrity": "sha512-rNjApaLzuwaOTjCiT8lSDdGN1APCiqkChLMJxJPWLunPAt5fy8xgU9/jNOchV84wfIxrA0lRQB7oCT8jrn/wrQ==", - "dev": true, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/client-only": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/client-only/-/client-only-0.0.1.tgz", - "integrity": "sha512-IV3Ou0jSMzZrd3pZ48nLkT9DA7Ag1pnPzaiQhpW7c3RbcqqzvzzVu+L8gfqMp/8IM2MQtSiqaCxrrcfu8I8rMA==" - }, - "node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, - "engines": { - "node": ">=7.0.0" - } - }, - "node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", - "dev": true - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.6.tgz", - "integrity": "sha512-uV2QOWP2nWzsy2aMp8aRibhi9dlzF5Hgh5SHaB9OiTGEyDTiJJyx0uy51QXdyWbtAHNua4XJzUKca3OzKUd3vA==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/csstype": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "dev": true - }, - "node_modules/damerau-levenshtein": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.8.tgz", - "integrity": "sha512-sdQSFB7+llfUcQHUQO3+B8ERRj0Oa4w9POWMI/puGtuf7gFywGmkaLCElnudfTiKZV+NvHqL0ifzdrI8Ro7ESA==", - "dev": true - }, - "node_modules/data-view-buffer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-buffer/-/data-view-buffer-1.0.2.tgz", - "integrity": "sha512-EmKO5V3OLXh1rtK2wgXRansaK1/mtVdTUEiEI0W8RkvgT05kfxaH29PliLnpLP73yYO6142Q72QNa8Wx/A5CqQ==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/data-view-byte-length": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/data-view-byte-length/-/data-view-byte-length-1.0.2.tgz", - "integrity": "sha512-tuhGbE6CfTM9+5ANGf+oQb72Ky/0+s3xKUpHvShfiz2RxMFgFPjsXuRLBVMtvMs15awe45SRb83D6wH4ew6wlQ==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/inspect-js" - } - }, - "node_modules/data-view-byte-offset": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/data-view-byte-offset/-/data-view-byte-offset-1.0.1.tgz", - "integrity": "sha512-BS8PfmtDGnrgYdOonGZQdLZslWIeCGFP9tpan0hi1Co2Zr2NKADsvGYA8XxuG/4UWgJ6Cjtv+YJnB6MM69QGlQ==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-data-view": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/deep-is": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", - "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", - "dev": true - }, - "node_modules/define-data-property": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/define-data-property/-/define-data-property-1.1.4.tgz", - "integrity": "sha512-rBMvIzlpA8v6E+SJZoo++HAYqsLrkg7MSfIinMPFhmkorw7X+dOXVJQs+QT69zGkzMyfDnIMN2Wid1+NbL3T+A==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0", - "es-errors": "^1.3.0", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/define-properties": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.1.tgz", - "integrity": "sha512-8QmQKqEASLd5nx0U1B1okLElbUuuttJ/AnYmRXbbbGDWh6uS208EjD4Xqq/I9wK7u0v6O08XhTWnt5XtEbR6Dg==", - "dev": true, - "dependencies": { - "define-data-property": "^1.0.1", - "has-property-descriptors": "^1.0.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "optional": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/doctrine": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-2.1.0.tgz", - "integrity": "sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==", - "dev": true, - "dependencies": { - "esutils": "^2.0.2" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "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/electron-to-chromium": { - "version": "1.5.267", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.267.tgz", - "integrity": "sha512-0Drusm6MVRXSOJpGbaSVgcQsuB4hEkMpHXaVstcPmhu5LIedxs1xNK/nIxmQIU/RPC0+1/o0AVZfBTkTNJOdUw==", - "dev": true - }, - "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==", - "dev": true - }, - "node_modules/enhanced-resolve": { - "version": "5.18.3", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.3.tgz", - "integrity": "sha512-d4lC8xfavMeBjzGr2vECC3fsGXziXZQyJxD868h2M/mBI3PwAuODxAkLkq5HYuvrPYcUtiLzsTo8U3PgX3Ocww==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/es-abstract": { - "version": "1.24.0", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.24.0.tgz", - "integrity": "sha512-WSzPgsdLtTcQwm4CROfS5ju2Wa1QQcVeT37jFjYzdFz1r9ahadC8B8/a4qxJxM+09F18iumCdRmlr96ZYkQvEg==", - "dev": true, - "dependencies": { - "array-buffer-byte-length": "^1.0.2", - "arraybuffer.prototype.slice": "^1.0.4", - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "data-view-buffer": "^1.0.2", - "data-view-byte-length": "^1.0.2", - "data-view-byte-offset": "^1.0.1", - "es-define-property": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.1.1", - "es-set-tostringtag": "^2.1.0", - "es-to-primitive": "^1.3.0", - "function.prototype.name": "^1.1.8", - "get-intrinsic": "^1.3.0", - "get-proto": "^1.0.1", - "get-symbol-description": "^1.1.0", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "hasown": "^2.0.2", - "internal-slot": "^1.1.0", - "is-array-buffer": "^3.0.5", - "is-callable": "^1.2.7", - "is-data-view": "^1.0.2", - "is-negative-zero": "^2.0.3", - "is-regex": "^1.2.1", - "is-set": "^2.0.3", - "is-shared-array-buffer": "^1.0.4", - "is-string": "^1.1.1", - "is-typed-array": "^1.1.15", - "is-weakref": "^1.1.1", - "math-intrinsics": "^1.1.0", - "object-inspect": "^1.13.4", - "object-keys": "^1.1.1", - "object.assign": "^4.1.7", - "own-keys": "^1.0.1", - "regexp.prototype.flags": "^1.5.4", - "safe-array-concat": "^1.1.3", - "safe-push-apply": "^1.0.0", - "safe-regex-test": "^1.1.0", - "set-proto": "^1.0.0", - "stop-iteration-iterator": "^1.1.0", - "string.prototype.trim": "^1.2.10", - "string.prototype.trimend": "^1.0.9", - "string.prototype.trimstart": "^1.0.8", - "typed-array-buffer": "^1.0.3", - "typed-array-byte-length": "^1.0.3", - "typed-array-byte-offset": "^1.0.4", - "typed-array-length": "^1.0.7", - "unbox-primitive": "^1.1.0", - "which-typed-array": "^1.1.19" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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-iterator-helpers": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-iterator-helpers/-/es-iterator-helpers-1.2.1.tgz", - "integrity": "sha512-uDn+FE1yrDzyC0pCo961B2IHbdM8y/ACZsKD4dG6WqrjV53BADjwa7D+1aom2rsNVfLyDgU/eigvlJGJ08OQ4w==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-set-tostringtag": "^2.0.3", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.6", - "globalthis": "^1.0.4", - "gopd": "^1.2.0", - "has-property-descriptors": "^1.0.2", - "has-proto": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "iterator.prototype": "^1.1.4", - "safe-array-concat": "^1.1.3" - }, - "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==", - "dev": true - }, - "node_modules/es-object-atoms": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/es-object-atoms/-/es-object-atoms-1.1.1.tgz", - "integrity": "sha512-FGgH2h8zKNim9ljj7dankFPcICIK9Cp5bm+c2gQSYePhpaG5+esrLODihIorn+Pe6FGJzWhXQotPv73jTaldXA==", - "dev": true, - "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==", - "dev": true, - "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/es-shim-unscopables": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/es-shim-unscopables/-/es-shim-unscopables-1.1.0.tgz", - "integrity": "sha512-d9T8ucsEhh8Bi1woXCf+TIKDIROLG5WCkxg8geBCbvk22kzwC5G2OnXVMO6FUsvQlgUUXQ2itephWDLqDzbeCw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/es-to-primitive": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.3.0.tgz", - "integrity": "sha512-w+5mJ3GuFL+NjVtJlvydShqE1eN3h3PbI7/5LAsYJP/2qtuMXjfL2LpHSRqo4b4eSF5K/DH1JXKUAHSB2UW50g==", - "dev": true, - "dependencies": { - "is-callable": "^1.2.7", - "is-date-object": "^1.0.5", - "is-symbol": "^1.0.4" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/escape-string-regexp": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", - "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint": { - "version": "9.39.1", - "resolved": "https://registry.npmjs.org/eslint/-/eslint-9.39.1.tgz", - "integrity": "sha512-BhHmn2yNOFA9H9JmmIVKJmd288g9hrVRDkdoIgRCRuSySRUHH7r/DI6aAXW9T1WwUuY3DFgrcaqB+deURBLR5g==", - "dev": true, - "dependencies": { - "@eslint-community/eslint-utils": "^4.8.0", - "@eslint-community/regexpp": "^4.12.1", - "@eslint/config-array": "^0.21.1", - "@eslint/config-helpers": "^0.4.2", - "@eslint/core": "^0.17.0", - "@eslint/eslintrc": "^3.3.1", - "@eslint/js": "9.39.1", - "@eslint/plugin-kit": "^0.4.1", - "@humanfs/node": "^0.16.6", - "@humanwhocodes/module-importer": "^1.0.1", - "@humanwhocodes/retry": "^0.4.2", - "@types/estree": "^1.0.6", - "ajv": "^6.12.4", - "chalk": "^4.0.0", - "cross-spawn": "^7.0.6", - "debug": "^4.3.2", - "escape-string-regexp": "^4.0.0", - "eslint-scope": "^8.4.0", - "eslint-visitor-keys": "^4.2.1", - "espree": "^10.4.0", - "esquery": "^1.5.0", - "esutils": "^2.0.2", - "fast-deep-equal": "^3.1.3", - "file-entry-cache": "^8.0.0", - "find-up": "^5.0.0", - "glob-parent": "^6.0.2", - "ignore": "^5.2.0", - "imurmurhash": "^0.1.4", - "is-glob": "^4.0.0", - "json-stable-stringify-without-jsonify": "^1.0.1", - "lodash.merge": "^4.6.2", - "minimatch": "^3.1.2", - "natural-compare": "^1.4.0", - "optionator": "^0.9.3" - }, - "bin": { - "eslint": "bin/eslint.js" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://eslint.org/donate" - }, - "peerDependencies": { - "jiti": "*" - }, - "peerDependenciesMeta": { - "jiti": { - "optional": true - } - } - }, - "node_modules/eslint-config-next": { - "version": "16.0.8", - "resolved": "https://registry.npmjs.org/eslint-config-next/-/eslint-config-next-16.0.8.tgz", - "integrity": "sha512-8J5cOAboXIV3f8OD6BOyj7Fik6n/as7J4MboiUSExWruf/lCu1OPR3ZVSdnta6WhzebrmAATEmNSBZsLWA6kbg==", - "dev": true, - "dependencies": { - "@next/eslint-plugin-next": "16.0.8", - "eslint-import-resolver-node": "^0.3.6", - "eslint-import-resolver-typescript": "^3.5.2", - "eslint-plugin-import": "^2.32.0", - "eslint-plugin-jsx-a11y": "^6.10.0", - "eslint-plugin-react": "^7.37.0", - "eslint-plugin-react-hooks": "^7.0.0", - "globals": "16.4.0", - "typescript-eslint": "^8.46.0" - }, - "peerDependencies": { - "eslint": ">=9.0.0", - "typescript": ">=3.3.1" - }, - "peerDependenciesMeta": { - "typescript": { - "optional": true - } - } - }, - "node_modules/eslint-config-next/node_modules/globals": { - "version": "16.4.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-16.4.0.tgz", - "integrity": "sha512-ob/2LcVVaVGCYN+r14cnwnoDPUufjiYgSqRhiFD0Q1iI4Odora5RE8Iv1D24hAz5oMophRGkGz+yuvQmmUMnMw==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/eslint-import-resolver-node": { - "version": "0.3.9", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-node/-/eslint-import-resolver-node-0.3.9.tgz", - "integrity": "sha512-WFj2isz22JahUv+B788TlO3N6zL3nNJGU8CcZbPZvVEkBPaJdCV4vy5wyghty5ROFbCRnm132v8BScu5/1BQ8g==", - "dev": true, - "dependencies": { - "debug": "^3.2.7", - "is-core-module": "^2.13.0", - "resolve": "^1.22.4" - } - }, - "node_modules/eslint-import-resolver-node/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-import-resolver-typescript": { - "version": "3.10.1", - "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-3.10.1.tgz", - "integrity": "sha512-A1rHYb06zjMGAxdLSkN2fXPBwuSaQ0iO5M/hdyS0Ajj1VBaRp0sPD3dn1FhME3c/JluGFbwSxyCfqdSbtQLAHQ==", - "dev": true, - "dependencies": { - "@nolyfill/is-core-module": "1.0.39", - "debug": "^4.4.0", - "get-tsconfig": "^4.10.0", - "is-bun-module": "^2.0.0", - "stable-hash": "^0.0.5", - "tinyglobby": "^0.2.13", - "unrs-resolver": "^1.6.2" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/eslint-import-resolver-typescript" - }, - "peerDependencies": { - "eslint": "*", - "eslint-plugin-import": "*", - "eslint-plugin-import-x": "*" - }, - "peerDependenciesMeta": { - "eslint-plugin-import": { - "optional": true - }, - "eslint-plugin-import-x": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils": { - "version": "2.12.1", - "resolved": "https://registry.npmjs.org/eslint-module-utils/-/eslint-module-utils-2.12.1.tgz", - "integrity": "sha512-L8jSWTze7K2mTg0vos/RuLRS5soomksDPoJLXIslC7c8Wmut3bx7CPpJijDcBZtxQ5lrbUdM+s0OlNbz0DCDNw==", - "dev": true, - "dependencies": { - "debug": "^3.2.7" - }, - "engines": { - "node": ">=4" - }, - "peerDependenciesMeta": { - "eslint": { - "optional": true - } - } - }, - "node_modules/eslint-module-utils/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-import": { - "version": "2.32.0", - "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.32.0.tgz", - "integrity": "sha512-whOE1HFo/qJDyX4SnXzP4N6zOWn79WhnCUY/iDR0mPfQZO8wcYE4JClzI2oZrhBnnMUCBCHZhO6VQyoBU95mZA==", - "dev": true, - "dependencies": { - "@rtsao/scc": "^1.1.0", - "array-includes": "^3.1.9", - "array.prototype.findlastindex": "^1.2.6", - "array.prototype.flat": "^1.3.3", - "array.prototype.flatmap": "^1.3.3", - "debug": "^3.2.7", - "doctrine": "^2.1.0", - "eslint-import-resolver-node": "^0.3.9", - "eslint-module-utils": "^2.12.1", - "hasown": "^2.0.2", - "is-core-module": "^2.16.1", - "is-glob": "^4.0.3", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "object.groupby": "^1.0.3", - "object.values": "^1.2.1", - "semver": "^6.3.1", - "string.prototype.trimend": "^1.0.9", - "tsconfig-paths": "^3.15.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 || ^9" - } - }, - "node_modules/eslint-plugin-import/node_modules/debug": { - "version": "3.2.7", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", - "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", - "dev": true, - "dependencies": { - "ms": "^2.1.1" - } - }, - "node_modules/eslint-plugin-jsx-a11y": { - "version": "6.10.2", - "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.10.2.tgz", - "integrity": "sha512-scB3nz4WmG75pV8+3eRUQOHZlNSUhFNq37xnpgRkCCELU3XMvXAxLk1eqWWyE22Ki4Q01Fnsw9BA3cJHDPgn2Q==", - "dev": true, - "dependencies": { - "aria-query": "^5.3.2", - "array-includes": "^3.1.8", - "array.prototype.flatmap": "^1.3.2", - "ast-types-flow": "^0.0.8", - "axe-core": "^4.10.0", - "axobject-query": "^4.1.0", - "damerau-levenshtein": "^1.0.8", - "emoji-regex": "^9.2.2", - "hasown": "^2.0.2", - "jsx-ast-utils": "^3.3.5", - "language-tags": "^1.0.9", - "minimatch": "^3.1.2", - "object.fromentries": "^2.0.8", - "safe-regex-test": "^1.0.3", - "string.prototype.includes": "^2.0.1" - }, - "engines": { - "node": ">=4.0" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9" - } - }, - "node_modules/eslint-plugin-react": { - "version": "7.37.5", - "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.37.5.tgz", - "integrity": "sha512-Qteup0SqU15kdocexFNAJMvCJEfa2xUKNV4CC1xsVMrIIqEy3SQ/rqyxCWNzfrd3/ldy6HMlD2e0JDVpDg2qIA==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.8", - "array.prototype.findlast": "^1.2.5", - "array.prototype.flatmap": "^1.3.3", - "array.prototype.tosorted": "^1.1.4", - "doctrine": "^2.1.0", - "es-iterator-helpers": "^1.2.1", - "estraverse": "^5.3.0", - "hasown": "^2.0.2", - "jsx-ast-utils": "^2.4.1 || ^3.0.0", - "minimatch": "^3.1.2", - "object.entries": "^1.1.9", - "object.fromentries": "^2.0.8", - "object.values": "^1.2.1", - "prop-types": "^15.8.1", - "resolve": "^2.0.0-next.5", - "semver": "^6.3.1", - "string.prototype.matchall": "^4.0.12", - "string.prototype.repeat": "^1.0.0" - }, - "engines": { - "node": ">=4" - }, - "peerDependencies": { - "eslint": "^3 || ^4 || ^5 || ^6 || ^7 || ^8 || ^9.7" - } - }, - "node_modules/eslint-plugin-react-hooks": { - "version": "7.0.1", - "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-7.0.1.tgz", - "integrity": "sha512-O0d0m04evaNzEPoSW+59Mezf8Qt0InfgGIBJnpC0h3NH/WjUAR7BIKUfysC6todmtiZ/A0oUVS8Gce0WhBrHsA==", - "dev": true, - "dependencies": { - "@babel/core": "^7.24.4", - "@babel/parser": "^7.24.4", - "hermes-parser": "^0.25.1", - "zod": "^3.25.0 || ^4.0.0", - "zod-validation-error": "^3.5.0 || ^4.0.0" - }, - "engines": { - "node": ">=18" - }, - "peerDependencies": { - "eslint": "^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0" - } - }, - "node_modules/eslint-plugin-react/node_modules/resolve": { - "version": "2.0.0-next.5", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-2.0.0-next.5.tgz", - "integrity": "sha512-U7WjGVG9sH8tvjW5SmGbQuui75FiyjAX72HX15DwBBwF9dNiQZRQAg9nnPhYy+TUnE0+VcrttuvNI8oSxZcocA==", - "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/eslint-scope": { - "version": "8.4.0", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-8.4.0.tgz", - "integrity": "sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^5.2.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/eslint-visitor-keys": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-4.2.1.tgz", - "integrity": "sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==", - "dev": true, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/espree": { - "version": "10.4.0", - "resolved": "https://registry.npmjs.org/espree/-/espree-10.4.0.tgz", - "integrity": "sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==", - "dev": true, - "dependencies": { - "acorn": "^8.15.0", - "acorn-jsx": "^5.3.2", - "eslint-visitor-keys": "^4.2.1" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "url": "https://opencollective.com/eslint" - } - }, - "node_modules/esquery": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.6.0.tgz", - "integrity": "sha512-ca9pw9fomFcKPvFLXhBKUK90ZvGibiGOvRJNbjljY7s7uq/5YO4BOzcYtJqExdx99rF6aAcnRxHmcUHcz6sQsg==", - "dev": true, - "dependencies": { - "estraverse": "^5.1.0" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esutils": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", - "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-glob": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.3.1.tgz", - "integrity": "sha512-kNFPyjhh5cKjrUltxs+wFx+ZkbRaxxmZ+X0ZU31SOsxCEtP9VPgtq2teZw1DebupL5GmDaNQ6yKMMVcM41iqDg==", - "dev": true, - "dependencies": { - "@nodelib/fs.stat": "^2.0.2", - "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.2", - "merge2": "^1.3.0", - "micromatch": "^4.0.4" - }, - "engines": { - "node": ">=8.6.0" - } - }, - "node_modules/fast-glob/node_modules/glob-parent": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", - "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.1" - }, - "engines": { - "node": ">= 6" - } - }, - "node_modules/fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "node_modules/fast-levenshtein": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", - "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", - "dev": true - }, - "node_modules/fast-uri": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.1.0.tgz", - "integrity": "sha512-iPeeDKJSWf4IEOasVVrknXpaBV0IApz/gp7S2bb7Z4Lljbl2MGJRqInZiUrQwV16cpzw/D3S5j5Julj/gT52AA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ] - }, - "node_modules/fastq": { - "version": "1.19.1", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.19.1.tgz", - "integrity": "sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==", - "dev": true, - "dependencies": { - "reusify": "^1.0.4" - } - }, - "node_modules/file-entry-cache": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-8.0.0.tgz", - "integrity": "sha512-XXTUwCvisa5oacNGRP9SfNtYBNAMi+RPwBFmblZEF7N7swHYQS6/Zfk7SRwx4D5j3CH211YNRco1DEMNVfZCnQ==", - "dev": true, - "dependencies": { - "flat-cache": "^4.0.0" - }, - "engines": { - "node": ">=16.0.0" - } - }, - "node_modules/fill-range": { - "version": "7.1.1", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.1.1.tgz", - "integrity": "sha512-YsGpe3WHLK8ZYi4tWDg2Jy3ebRz2rXowDxnld4bkQB00cc/1Zw9AWnC0i9ztDJitivtQvaI9KaLyKrc+hBW0yg==", - "dev": true, - "dependencies": { - "to-regex-range": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/find-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", - "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", - "dev": true, - "dependencies": { - "locate-path": "^6.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/flat-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-4.0.1.tgz", - "integrity": "sha512-f7ccFPK3SXFHpx15UIGyRJ/FJQctuKZ0zVuN3frBo4HnK3cay9VEW0R6yPYFHC0AgqhukPzKjq22t5DmAyqGyw==", - "dev": true, - "dependencies": { - "flatted": "^3.2.9", - "keyv": "^4.5.4" - }, - "engines": { - "node": ">=16" - } - }, - "node_modules/flatted": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.3.3.tgz", - "integrity": "sha512-GX+ysw4PBCz0PzosHDepZGANEuFCMLrnRTiEy9McGjmkCQYwRq4A/X786G/fjM/+OjsWSU1ZrY5qyARZmO/uwg==", - "dev": true - }, - "node_modules/for-each": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.5.tgz", - "integrity": "sha512-dKx12eRCVIzqCxFGplyFKJMPvLEWgmNtUrpTiJIR5u97zEhRG8ySrtboPHZXx7daLxQVrl643cTzbab2tkQjxg==", - "dev": true, - "dependencies": { - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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/function.prototype.name": { - "version": "1.1.8", - "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.8.tgz", - "integrity": "sha512-e5iwyodOHhbMr/yNrc7fDYG4qlbIvI5gajyzPnb5TCwyhjApznQh1BMFou9b30SevY43gCJKXycoCBjMbsuW0Q==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "functions-have-names": "^1.2.3", - "hasown": "^2.0.2", - "is-callable": "^1.2.7" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/functions-have-names": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", - "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/generator-function": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/generator-function/-/generator-function-2.0.1.tgz", - "integrity": "sha512-SFdFmIJi+ybC0vjlHN0ZGVGHc3lgE0DxPAT0djjVg+kjOnSqclqmj0KQ7ykTOLP6YxoqOvuAODGdcHJn+43q3g==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "engines": { - "node": ">=6.9.0" - } - }, - "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/get-symbol-description": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.1.0.tgz", - "integrity": "sha512-w9UMqWwJxHNOvoNzSJ2oPF5wvYcvP7jUvYzhp67yEhTi17ZDBBC1z9pTdGuzjD+EFIqLSYRweZjqfiPzQ06Ebg==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/get-tsconfig": { - "version": "4.13.0", - "resolved": "https://registry.npmjs.org/get-tsconfig/-/get-tsconfig-4.13.0.tgz", - "integrity": "sha512-1VKTZJCwBrvbd+Wn3AOgQP/2Av+TfTCOlE4AcRJE72W1ksZXbAx8PPBR9RzgTeSPzlPMHrbANMH3LbltH73wxQ==", - "dev": true, - "dependencies": { - "resolve-pkg-maps": "^1.0.0" - }, - "funding": { - "url": "https://github.com/privatenumber/get-tsconfig?sponsor=1" - } - }, - "node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", - "dev": true, - "dependencies": { - "is-glob": "^4.0.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "node_modules/globals": { - "version": "14.0.0", - "resolved": "https://registry.npmjs.org/globals/-/globals-14.0.0.tgz", - "integrity": "sha512-oahGvuMGQlPw/ivIYBjVSrWAfWLBeku5tpPE2fOPLi+WHffIWbuh2tCjhyQhTBPMf5E9jDEH4FOmTYgYwbKwtQ==", - "dev": true, - "engines": { - "node": ">=18" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/globalthis": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/globalthis/-/globalthis-1.0.4.tgz", - "integrity": "sha512-DpLKbNU4WylpxJykQujfCcwYWiV/Jhm50Goo0wrVILAv5jOr9d+H+UR3PhSCD2rCCEIg0uc+G+muBTwD54JhDQ==", - "dev": true, - "dependencies": { - "define-properties": "^1.2.1", - "gopd": "^1.0.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/has-bigints": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.1.0.tgz", - "integrity": "sha512-R3pbpkcIqv2Pm3dUwgjclDRVmWpTJW2DcMzcIhEXEx1oh/CEMObMm3KLmRJOdvhM7o4uQBnwr8pzRK2sJWIqfg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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-property-descriptors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.2.tgz", - "integrity": "sha512-55JNKuIW+vq4Ke1BjOTjM2YctQIvCT7GFzHwmfZPGo5wnrgkid0YQtnAleFSqumZm4az3n2BS+erby5ipJdgrg==", - "dev": true, - "dependencies": { - "es-define-property": "^1.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/has-proto": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/has-proto/-/has-proto-1.2.0.tgz", - "integrity": "sha512-KIL7eQPfHQRC8+XluaIw7BHUwwqL19bQn4hzNgdr+1wXoU0KKj6rufu47lhY7KbJR2C6T6+PfyN0Ea7wkSS+qQ==", - "dev": true, - "dependencies": { - "dunder-proto": "^1.0.0" - }, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "has-symbols": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/hasown": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.2.tgz", - "integrity": "sha512-0hJU9SCPvmMzIBdZFqNPXWa6dqh7WdH0cII9y+CyS8rG3nL48Bclra9HmKhVVUHyPWNH5Y7xDwAB7bfgSjkUMQ==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/hermes-estree": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/hermes-estree/-/hermes-estree-0.25.1.tgz", - "integrity": "sha512-0wUoCcLp+5Ev5pDW2OriHC2MJCbwLwuRx+gAqMTOkGKJJiBCLjtrvy4PWUGn6MIVefecRpzoOZ/UV6iGdOr+Cw==", - "dev": true - }, - "node_modules/hermes-parser": { - "version": "0.25.1", - "resolved": "https://registry.npmjs.org/hermes-parser/-/hermes-parser-0.25.1.tgz", - "integrity": "sha512-6pEjquH3rqaI6cYAXYPcz9MS4rY6R4ngRgrgfDshRptUZIc3lw0MCIJIGDj9++mfySOuPTHB4nrSW99BCvOPIA==", - "dev": true, - "dependencies": { - "hermes-estree": "0.25.1" - } - }, - "node_modules/ignore": { - "version": "5.3.2", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.3.2.tgz", - "integrity": "sha512-hsBTNUqQTDwkWtcdYI2i06Y/nUBEsNEDJKjWdigLvegy8kDuJAS8uRlpkkcQpyEXL0Z/pjDy5HBmMjRCJ2gq+g==", - "dev": true, - "engines": { - "node": ">= 4" - } - }, - "node_modules/import-fresh": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.1.tgz", - "integrity": "sha512-TR3KfrTZTYLPB6jUjfx6MF9WcWrHL9su5TObK4ZkYgBdWKPOFoSoQIdEuTuR82pmtxH2spWG9h6etwfr1pLBqQ==", - "dev": true, - "dependencies": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/imurmurhash": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", - "dev": true, - "engines": { - "node": ">=0.8.19" - } - }, - "node_modules/internal-slot": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.1.0.tgz", - "integrity": "sha512-4gd7VpWNQNB4UKKCFFVcp1AVv+FMOgs9NKzjHKusc8jTMhd5eL1NqQqOpE0KzMds804/yHlglp3uxgluOqAPLw==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "hasown": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/is-array-buffer": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.5.tgz", - "integrity": "sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-async-function": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-async-function/-/is-async-function-2.1.1.tgz", - "integrity": "sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==", - "dev": true, - "dependencies": { - "async-function": "^1.0.0", - "call-bound": "^1.0.3", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bigint": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.1.0.tgz", - "integrity": "sha512-n4ZT37wG78iz03xPRKJrHTdZbe3IicyucEtdRsV5yglwc3GyUfbAfpSeD0FJ41NbUNSt5wbhqfp1fS+BgnvDFQ==", - "dev": true, - "dependencies": { - "has-bigints": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-boolean-object": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.2.2.tgz", - "integrity": "sha512-wa56o2/ElJMYqjCjGkXri7it5FbebW5usLw/nPmCMs5DeZ7eziSYZhSmPRn0txqeW4LnAmQQU7FgqLpsEFKM4A==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-bun-module": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-bun-module/-/is-bun-module-2.0.0.tgz", - "integrity": "sha512-gNCGbnnnnFAUGKeZ9PdbyeGYJqewpmc2aKHUEMO5nQPWU9lOmv7jcmQIv+qHD8fXW6W7qfuCwX4rY9LNRjXrkQ==", - "dev": true, - "dependencies": { - "semver": "^7.7.1" - } - }, - "node_modules/is-bun-module/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/is-callable": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", - "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-core-module": { - "version": "2.16.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.16.1.tgz", - "integrity": "sha512-UfoeMA6fIJ8wTYFEUjelnaGI67v6+N7qXJEvQuIGa99l4xsCruSYOVSQ0uPANn4dAzm8lkYPaKLrrijLq7x23w==", - "dev": true, - "dependencies": { - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-data-view": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-data-view/-/is-data-view-1.0.2.tgz", - "integrity": "sha512-RKtWF8pGmS87i2D6gqQu/l7EYRlVdfzemCJN/P3UOs//x1QE7mfhvzHIApBTRf7axvT6DMGwSwBXYCT0nfB9xw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "is-typed-array": "^1.1.13" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-date-object": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.1.0.tgz", - "integrity": "sha512-PwwhEakHVKTdRNVOw+/Gyh0+MzlCl4R6qKvkhuvLtPMggI1WAHt9sOwZxQLSGpUaDnrdyDsomoRgNnCfKNSXXg==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-extglob": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-finalizationregistry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-finalizationregistry/-/is-finalizationregistry-1.1.1.tgz", - "integrity": "sha512-1pC6N8qWJbWoPtEjgcL2xyhQOP491EQjeUo3qTKcmV8YSDDJrOepfG8pcC7h/QgnQHYSv0mJ3Z/ZWxmatVrysg==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-generator-function": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/is-generator-function/-/is-generator-function-1.1.2.tgz", - "integrity": "sha512-upqt1SkGkODW9tsGNG5mtXTXtECizwtS2kA161M+gJPc1xdb/Ax629af6YrTwcOeQHbewrPNlE5Dx7kzvXTizA==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.4", - "generator-function": "^2.0.0", - "get-proto": "^1.0.1", - "has-tostringtag": "^1.0.2", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-glob": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", - "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", - "dev": true, - "dependencies": { - "is-extglob": "^2.1.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/is-map": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.3.tgz", - "integrity": "sha512-1Qed0/Hr2m+YqxnM09CjA2d/i6YZNfF6R2oRAOj36eUdS6qIV/huPJNSEpKbupewFs+ZsJlxsjjPbc0/afW6Lw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-negative-zero": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.3.tgz", - "integrity": "sha512-5KoIu2Ngpyek75jXodFvnafB6DJgr3u8uuK0LEZJjrU19DrMD3EVERaR8sjz8CCGgpZvxPl9SuE1GMVPFHx1mw==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-number": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", - "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true, - "engines": { - "node": ">=0.12.0" - } - }, - "node_modules/is-number-object": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.1.1.tgz", - "integrity": "sha512-lZhclumE1G6VYD8VHe35wFaIif+CTy5SJIi5+3y4psDgWu4wPDoBhF8NxUOinEc7pHgiTsT6MaBb92rKhhD+Xw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-regex": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.2.1.tgz", - "integrity": "sha512-MjYsKHO5O7mCsmRGxWcLWheFqN9DJ/2TmngvjKXihe6efViPqc274+Fx/4fYj/r03+ESvBdTXK0V6tA3rgez1g==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2", - "hasown": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-set": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.3.tgz", - "integrity": "sha512-iPAjerrse27/ygGLxw+EBR9agv9Y6uLeYVJMu+QNCoouJ1/1ri0mGrcWpfCqFZuzzx3WjtwxG098X+n4OuRkPg==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-shared-array-buffer": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.4.tgz", - "integrity": "sha512-ISWac8drv4ZGfwKl5slpHG9OwPNty4jOWPRIhBpxOoD+hqITiwuipOQ2bNthAzwA3B4fIjO4Nln74N0S9byq8A==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-string": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.1.1.tgz", - "integrity": "sha512-BtEeSsoaQjlSPBemMQIrY1MY0uM6vnS1g5fmufYOtnxLGUZM2178PKbhsk7Ffv58IX+ZtcvoGwccYsh0PglkAA==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-symbol": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.1.1.tgz", - "integrity": "sha512-9gGx6GTtCQM73BgmHQXfDmLtfjjTUDSyoxTCbp5WtoixAhfgsDirWIcVQ/IHpvI5Vgd5i/J5F7B9cN/WlVbC/w==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "has-symbols": "^1.1.0", - "safe-regex-test": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-typed-array": { - "version": "1.1.15", - "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.15.tgz", - "integrity": "sha512-p3EcsicXjit7SaskXHs1hA91QxgTw46Fv6EFKKGS5DRFLD8yKnohjF3hxoju94b/OcMZoQukzpPpBE9uLVKzgQ==", - "dev": true, - "dependencies": { - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakmap": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.2.tgz", - "integrity": "sha512-K5pXYOm9wqY1RgjpL3YTkF39tni1XajUIkawTLUo9EZEVUFga5gSQJF8nNS7ZwJQ02y+1YCNYcMh+HIf1ZqE+w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakref": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.1.1.tgz", - "integrity": "sha512-6i9mGWSlqzNMEqpCp93KwRS1uUOodk2OJ6b+sq7ZPDSy2WuI5NFIxp/254TytR8ftefexkWn5xNiHUNpPOfSew==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-weakset": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.4.tgz", - "integrity": "sha512-mfcwb6IzQyOKTs84CQMrOwW4gQcaTOAWJ0zzJCl2WSPDrWk/OzDaImWFH3djXhb24g4eudZfLRozAvPGw4d9hQ==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "get-intrinsic": "^1.2.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/isarray": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", - "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", - "dev": true - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/iterator.prototype": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/iterator.prototype/-/iterator.prototype-1.1.5.tgz", - "integrity": "sha512-H0dkQoCa3b2VEeKQBOxFph+JAbcrQdE7KC0UkqwpLmv2EC4P41QXP+rqo9wYodACiG5/WM5s9oDApTU8utwj9g==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "get-proto": "^1.0.0", - "has-symbols": "^1.1.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/jest-worker/node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - }, - "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==", - "dev": true, - "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" - } - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json-buffer": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/json-buffer/-/json-buffer-3.0.1.tgz", - "integrity": "sha512-4bV5BfR2mqfQTJm+V5tPPdf+ZpuhiIvTuAB5g8kcrXOZpTT/QwwVRWBywX1ozr6lEuPdbHxwaJlm9G6mI2sfSQ==", - "dev": true - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", - "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", - "dev": true - }, - "node_modules/json-stable-stringify-without-jsonify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", - "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", - "dev": true - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/jsx-ast-utils": { - "version": "3.3.5", - "resolved": "https://registry.npmjs.org/jsx-ast-utils/-/jsx-ast-utils-3.3.5.tgz", - "integrity": "sha512-ZZow9HBI5O6EPgSJLUb8n2NKgmVWTwCvHGwFuJlMjvLFqlGG6pjirPhtdsseaLZjSibD8eegzmYpUZwoIlj2cQ==", - "dev": true, - "dependencies": { - "array-includes": "^3.1.6", - "array.prototype.flat": "^1.3.1", - "object.assign": "^4.1.4", - "object.values": "^1.1.6" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/keyv": { - "version": "4.5.4", - "resolved": "https://registry.npmjs.org/keyv/-/keyv-4.5.4.tgz", - "integrity": "sha512-oxVHkHR/EJf2CNXnWxRLW6mg7JyCCUcG0DtEGmL2ctUo1PNTin1PUil+r/+4r5MpVgC/fn1kjsx7mjSujKqIpw==", - "dev": true, - "dependencies": { - "json-buffer": "3.0.1" - } - }, - "node_modules/language-subtag-registry": { - "version": "0.3.23", - "resolved": "https://registry.npmjs.org/language-subtag-registry/-/language-subtag-registry-0.3.23.tgz", - "integrity": "sha512-0K65Lea881pHotoGEa5gDlMxt3pctLi2RplBb7Ezh4rRdLEOtgi7n4EwK9lamnUCkKBqaeKRVebTq6BAxSkpXQ==", - "dev": true - }, - "node_modules/language-tags": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/language-tags/-/language-tags-1.0.9.tgz", - "integrity": "sha512-MbjN408fEndfiQXbFQ1vnd+1NoLDsnQW41410oQBXiyXDMYH5z505juWa4KUE1LqxRC7DgOgZDbKLxHIwm27hA==", - "dev": true, - "dependencies": { - "language-subtag-registry": "^0.3.20" - }, - "engines": { - "node": ">=0.10" - } - }, - "node_modules/levn": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", - "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1", - "type-check": "~0.4.0" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/loader-runner": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.1.tgz", - "integrity": "sha512-IWqP2SCPhyVFTBtRcgMHdzlf9ul25NwaFx4wCEH/KjAXuuHY4yNjvPXsBokp8jCB936PyWRaPKUNh8NvylLp2Q==", - "dev": true, - "engines": { - "node": ">=6.11.5" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/locate-path": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", - "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", - "dev": true, - "dependencies": { - "p-locate": "^5.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/lodash.merge": { - "version": "4.6.2", - "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", - "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", - "dev": true - }, - "node_modules/loose-envify": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loose-envify/-/loose-envify-1.4.0.tgz", - "integrity": "sha512-lyuxPGr/Wfhrlem2CL/UcnUc1zcqKAImBDzukY7Y5F/yQiNdko6+fRLevlw1HgMySw7f611UIY408EtxRSoK3Q==", - "dev": true, - "dependencies": { - "js-tokens": "^3.0.0 || ^4.0.0" - }, - "bin": { - "loose-envify": "cli.js" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "dependencies": { - "yallist": "^3.0.2" - } - }, - "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/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "node_modules/merge2": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", - "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true, - "engines": { - "node": ">= 8" - } - }, - "node_modules/micromatch": { - "version": "4.0.8", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.8.tgz", - "integrity": "sha512-PXwfBhYu0hBCPw8Dn0E+WDYb7af3dSLVWKi3HGv84IdF4TyFoC0ysxFd0Goxw7nSv4T/PzEJQxsYsEiFCKo2BA==", - "dev": true, - "dependencies": { - "braces": "^3.0.3", - "picomatch": "^2.3.1" - }, - "engines": { - "node": ">=8.6" - } - }, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/minimatch": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", - "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", - "dev": true, - "dependencies": { - "brace-expansion": "^1.1.7" - }, - "engines": { - "node": "*" - } - }, - "node_modules/minimist": { - "version": "1.2.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", - "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "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" - } - ], - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/napi-postinstall": { - "version": "0.3.4", - "resolved": "https://registry.npmjs.org/napi-postinstall/-/napi-postinstall-0.3.4.tgz", - "integrity": "sha512-PHI5f1O0EP5xJ9gQmFGMS6IZcrVvTjpXjz7Na41gTE7eE2hK11lg04CECCYEEjdc17EV4DO+fkGEtt7TpTaTiQ==", - "dev": true, - "bin": { - "napi-postinstall": "lib/cli.js" - }, - "engines": { - "node": "^12.20.0 || ^14.18.0 || >=16.0.0" - }, - "funding": { - "url": "https://opencollective.com/napi-postinstall" - } - }, - "node_modules/natural-compare": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", - "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", - "dev": true - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/next": { - "version": "16.0.8", - "resolved": "https://registry.npmjs.org/next/-/next-16.0.8.tgz", - "integrity": "sha512-LmcZzG04JuzNXi48s5P+TnJBsTGPJunViNKV/iE4uM6kstjTQsQhvsAv+xF6MJxU2Pr26tl15eVbp0jQnsv6/g==", - "dependencies": { - "@next/env": "16.0.8", - "@swc/helpers": "0.5.15", - "caniuse-lite": "^1.0.30001579", - "postcss": "8.4.31", - "styled-jsx": "5.1.6" - }, - "bin": { - "next": "dist/bin/next" - }, - "engines": { - "node": ">=20.9.0" - }, - "optionalDependencies": { - "@next/swc-darwin-arm64": "16.0.8", - "@next/swc-darwin-x64": "16.0.8", - "@next/swc-linux-arm64-gnu": "16.0.8", - "@next/swc-linux-arm64-musl": "16.0.8", - "@next/swc-linux-x64-gnu": "16.0.8", - "@next/swc-linux-x64-musl": "16.0.8", - "@next/swc-win32-arm64-msvc": "16.0.8", - "@next/swc-win32-x64-msvc": "16.0.8", - "sharp": "^0.34.4" - }, - "peerDependencies": { - "@opentelemetry/api": "^1.1.0", - "@playwright/test": "^1.51.1", - "babel-plugin-react-compiler": "*", - "react": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", - "react-dom": "^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0", - "sass": "^1.3.0" - }, - "peerDependenciesMeta": { - "@opentelemetry/api": { - "optional": true - }, - "@playwright/test": { - "optional": true - }, - "babel-plugin-react-compiler": { - "optional": true - }, - "sass": { - "optional": true - } - } - }, - "node_modules/node-releases": { - "version": "2.0.27", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.27.tgz", - "integrity": "sha512-nmh3lCkYZ3grZvqcCH+fjmQ7X+H0OeZgP40OierEaAptX4XofMh5kwNbWh7lBduUzCcV/8kZ+NDLCwm2iorIlA==", - "dev": true - }, - "node_modules/object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha512-rJgTQnkUnH1sFw8yT6VSU3zD3sWmu6sZhIseY8VX+GRu3P6F7Fu+JNDoXfklElbLJSnc3FUQHVe4cU5hj+BcUg==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.assign": { - "version": "4.1.7", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.7.tgz", - "integrity": "sha512-nK28WOo+QIjBkDduTINE4JkF/UJJKyf2EJxvJKfblDpyg0Q+pkOHNTL0Qwy6NP6FhE/EnzV73BxxqcJaXY9anw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0", - "has-symbols": "^1.1.0", - "object-keys": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.entries": { - "version": "1.1.9", - "resolved": "https://registry.npmjs.org/object.entries/-/object.entries-1.1.9.tgz", - "integrity": "sha512-8u/hfXFRBD1O0hPUjioLhoWFHRmt6tKA4/vZPyckBr18l1KE9uHrFaFaUi8MDRTpi4uak2goyPTSNJLXX2k2Hw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.fromentries": { - "version": "2.0.8", - "resolved": "https://registry.npmjs.org/object.fromentries/-/object.fromentries-2.0.8.tgz", - "integrity": "sha512-k6E21FzySsSK5a21KRADBd/NGneRegFO5pLHfdQLpRDETUNJueLXs3WCzyQ3tFRDYgbq3KHGXfTbi2bs8WQ6rQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/object.groupby": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/object.groupby/-/object.groupby-1.0.3.tgz", - "integrity": "sha512-+Lhy3TQTuzXI5hevh8sBGqbmurHbbIjAi0Z4S63nthVLmLxfbj4T54a4CfZrXIrt9iP4mVAPYMo/v99taj3wjQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/object.values": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.2.1.tgz", - "integrity": "sha512-gXah6aZrcUxjWg2zR2MwouP2eHlCBzdV4pygudehaKXSGW4v2AsRQUK+lwwXhii6KFZcunEnmSUoYp5CXibxtA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/optionator": { - "version": "0.9.4", - "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.4.tgz", - "integrity": "sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==", - "dev": true, - "dependencies": { - "deep-is": "^0.1.3", - "fast-levenshtein": "^2.0.6", - "levn": "^0.4.1", - "prelude-ls": "^1.2.1", - "type-check": "^0.4.0", - "word-wrap": "^1.2.5" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/own-keys": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/own-keys/-/own-keys-1.0.1.tgz", - "integrity": "sha512-qFOyK5PjiWZd+QQIh+1jhdb9LpxTF0qs7Pm8o5QHYZ0M3vKqSqzsZaEB6oWlxZ+q2sJBMI/Ktgd2N5ZwQoRHfg==", - "dev": true, - "dependencies": { - "get-intrinsic": "^1.2.6", - "object-keys": "^1.1.1", - "safe-push-apply": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/p-limit": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", - "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", - "dev": true, - "dependencies": { - "yocto-queue": "^0.1.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", - "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", - "dev": true, - "dependencies": { - "p-limit": "^3.0.2" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/parent-module": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", - "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", - "dev": true, - "dependencies": { - "callsites": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==" - }, - "node_modules/picomatch": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", - "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", - "dev": true, - "engines": { - "node": ">=8.6" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/possible-typed-array-names": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/possible-typed-array-names/-/possible-typed-array-names-1.1.0.tgz", - "integrity": "sha512-/+5VFTchJDoVj3bhoqi6UeymcD00DAwb1nJwamzPvHEszJ4FpF6SNNbUbOS8yI56qHzdV8eK0qEfOSiodkTdxg==", - "dev": true, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/postcss": { - "version": "8.4.31", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.31.tgz", - "integrity": "sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==", - "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" - } - ], - "dependencies": { - "nanoid": "^3.3.6", - "picocolors": "^1.0.0", - "source-map-js": "^1.0.2" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/prelude-ls": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", - "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", - "dev": true, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/prop-types": { - "version": "15.8.1", - "resolved": "https://registry.npmjs.org/prop-types/-/prop-types-15.8.1.tgz", - "integrity": "sha512-oj87CgZICdulUohogVAR7AjlC0327U4el4L6eAvOqCeudMDVU0NThNaV+b9Df4dXgSP1gXMTnPdhfe/2qDH5cg==", - "dev": true, - "dependencies": { - "loose-envify": "^1.4.0", - "object-assign": "^4.1.1", - "react-is": "^16.13.1" - } - }, - "node_modules/punycode": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.3.1.tgz", - "integrity": "sha512-vYt7UD1U9Wg6138shLtLOvdAu+8DsC/ilFtEVHcH+wydcSpNE20AfSOduf6MkRFahL5FY7X1oU7nKVZFtfq8Fg==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/queue-microtask": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", - "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/react": { - "version": "19.2.1", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.1.tgz", - "integrity": "sha512-DGrYcCWK7tvYMnWh79yrPHt+vdx9tY+1gPZa7nJQtO/p8bLTDaHp4dzwEhQB7pZ4Xe3ok4XKuEPrVuc+wlpkmw==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "19.2.1", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.1.tgz", - "integrity": "sha512-ibrK8llX2a4eOskq1mXKu/TGZj9qzomO+sNfO98M6d9zIPOEhlBkMkBUBLd1vgS0gQsLDBzA+8jJBVXDnfHmJg==", - "dependencies": { - "scheduler": "^0.27.0" - }, - "peerDependencies": { - "react": "^19.2.1" - } - }, - "node_modules/react-is": { - "version": "16.13.1", - "resolved": "https://registry.npmjs.org/react-is/-/react-is-16.13.1.tgz", - "integrity": "sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==", - "dev": true - }, - "node_modules/reflect.getprototypeof": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/reflect.getprototypeof/-/reflect.getprototypeof-1.0.10.tgz", - "integrity": "sha512-00o4I+DVrefhv+nX0ulyi3biSHCPDe+yLv5o/p6d/UVlirijB8E16FtfwSAi4g3tcqrQ4lRAqQSoFEZJehYEcw==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.9", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.7", - "get-proto": "^1.0.1", - "which-builtin-type": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/regexp.prototype.flags": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.4.tgz", - "integrity": "sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "define-properties": "^1.2.1", - "es-errors": "^1.3.0", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "set-function-name": "^2.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.11", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.11.tgz", - "integrity": "sha512-RfqAvLnMl313r7c9oclB1HhUEAezcpLjz95wFH4LVuhk9JF/r22qmVP9AMmOU4vMX7Q8pN8jwNg/CSpdFnMjTQ==", - "dev": true, - "dependencies": { - "is-core-module": "^2.16.1", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/resolve-pkg-maps": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/resolve-pkg-maps/-/resolve-pkg-maps-1.0.0.tgz", - "integrity": "sha512-seS2Tj26TBVOC2NIc2rOe2y2ZO7efxITtLZcGSOnHHNOQ7CkiUBfw0Iw2ck6xkIhPwLhKNLS8BO+hEpngQlqzw==", - "dev": true, - "funding": { - "url": "https://github.com/privatenumber/resolve-pkg-maps?sponsor=1" - } - }, - "node_modules/reusify": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.1.0.tgz", - "integrity": "sha512-g6QUff04oZpHs0eG5p83rFLhHeV00ug/Yf9nZM6fLeUrPguBTkTQOdpAWWspMh55TZfVQDPaN3NQJfbVRAxdIw==", - "dev": true, - "engines": { - "iojs": ">=1.0.0", - "node": ">=0.10.0" - } - }, - "node_modules/run-parallel": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", - "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ], - "dependencies": { - "queue-microtask": "^1.2.2" - } - }, - "node_modules/safe-array-concat": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/safe-array-concat/-/safe-array-concat-1.1.3.tgz", - "integrity": "sha512-AURm5f0jYEOydBj7VQlVvDrjeFgthDdEF5H1dP+6mNpoXOMo1quQqJ4wvJDyRZ9+pO3kGWoOdmV08cSv2aJV6Q==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "get-intrinsic": "^1.2.6", - "has-symbols": "^1.1.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">=0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "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==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/safe-push-apply": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/safe-push-apply/-/safe-push-apply-1.0.0.tgz", - "integrity": "sha512-iKE9w/Z7xCzUMIZqdBsp6pEQvwuEebH4vdpjcDWnyzaI6yl6O9FHvVpmGelvEHNsoY6wGblkxR6Zty/h00WiSA==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "isarray": "^2.0.5" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/safe-regex-test": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/safe-regex-test/-/safe-regex-test-1.1.0.tgz", - "integrity": "sha512-x/+Cz4YrimQxQccJf5mKEbIa1NzeCRNI5Ecl/ekmlYaampdNLPalVyIcCZNNH3MvmqBugV5TMYZXv0ljslUlaw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "es-errors": "^1.3.0", - "is-regex": "^1.2.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/scheduler": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==" - }, - "node_modules/schema-utils": { - "version": "4.3.3", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.3.tgz", - "integrity": "sha512-eflK8wEtyOE6+hsaRVPxvUKYCpRgzLqDTb8krvAsRIwOGlHoSgYLgBXoubGgLd2fT41/OUYdb48v4k4WWHQurA==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/schema-utils/node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/schema-utils/node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/schema-utils/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/set-function-length": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/set-function-length/-/set-function-length-1.2.2.tgz", - "integrity": "sha512-pgRc4hJ4/sNjWCSS9AmnS40x3bNMDTknHgL5UaMBTMyJnU90EgWh1Rz+MC9eFu4BuN/UwZjKQuY/1v3rM7HMfg==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "function-bind": "^1.1.2", - "get-intrinsic": "^1.2.4", - "gopd": "^1.0.1", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-function-name": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/set-function-name/-/set-function-name-2.0.2.tgz", - "integrity": "sha512-7PGFlmtwsEADb0WYyvCMa1t+yke6daIG4Wirafur5kcf+MhUnPms1UeR0CKQdTZD81yESwMHbtn+TR+dMviakQ==", - "dev": true, - "dependencies": { - "define-data-property": "^1.1.4", - "es-errors": "^1.3.0", - "functions-have-names": "^1.2.3", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/set-proto": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/set-proto/-/set-proto-1.0.0.tgz", - "integrity": "sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==", - "dev": true, - "dependencies": { - "dunder-proto": "^1.0.1", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/sharp": { - "version": "0.34.5", - "resolved": "https://registry.npmjs.org/sharp/-/sharp-0.34.5.tgz", - "integrity": "sha512-Ou9I5Ft9WNcCbXrU9cMgPBcCK8LiwLqcbywW3t4oDV37n1pzpuNLsYiAV8eODnjbtQlSDwZ2cUEeQz4E54Hltg==", - "hasInstallScript": true, - "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/sharp/node_modules/semver": { - "version": "7.7.3", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.7.3.tgz", - "integrity": "sha512-SdsKMrI9TdgjdweUSR9MweHA4EJ8YxHn8DFaDisvhVlUOe4BF1tLD7GAj0lIqWVl+dPb/rExr0Btby5loQm20Q==", - "optional": true, - "bin": { - "semver": "bin/semver.js" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "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.0", - "resolved": "https://registry.npmjs.org/side-channel-list/-/side-channel-list-1.0.0.tgz", - "integrity": "sha512-FCLHtRD/gnpCiCHEiJLOwdmFP+wzCmDEkc9y7NsYxeF4u7Btsn1ZuwgwJGxImImHicJArLP4R0yX4c2KCrMrTA==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "object-inspect": "^1.13.3" - }, - "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/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "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==", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/stable-hash": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/stable-hash/-/stable-hash-0.0.5.tgz", - "integrity": "sha512-+L3ccpzibovGXFK+Ap/f8LOS0ahMrHTf3xu7mMLSpEGU0EO9ucaysSylKo9eRDFNhWve/y275iPmIZ4z39a9iA==", - "dev": true - }, - "node_modules/stop-iteration-iterator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.1.0.tgz", - "integrity": "sha512-eLoXW/DHyl62zxY4SCaIgnRhuMr6ri4juEYARS8E6sCEqzKpOiE521Ucofdx+KnDZl5xmvGYaaKCk5FEOxJCoQ==", - "dev": true, - "dependencies": { - "es-errors": "^1.3.0", - "internal-slot": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/string.prototype.includes": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.includes/-/string.prototype.includes-2.0.1.tgz", - "integrity": "sha512-o7+c9bW6zpAdJHTtujeePODAhkuicdAryFsfVKwA+wGw89wJ4GTY484WTucM9hLtDEOpOvI+aHnzqnC5lHp4Rg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.3" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/string.prototype.matchall": { - "version": "4.0.12", - "resolved": "https://registry.npmjs.org/string.prototype.matchall/-/string.prototype.matchall-4.0.12.tgz", - "integrity": "sha512-6CC9uyBL+/48dYizRf7H7VAYCMCNTBeM78x/VTUe9bFEaxBepPJDa1Ow99LqI/1yF7kuy7Q3cQsYMrcjGUcskA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.3", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.6", - "es-errors": "^1.3.0", - "es-object-atoms": "^1.0.0", - "get-intrinsic": "^1.2.6", - "gopd": "^1.2.0", - "has-symbols": "^1.1.0", - "internal-slot": "^1.1.0", - "regexp.prototype.flags": "^1.5.3", - "set-function-name": "^2.0.2", - "side-channel": "^1.1.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.repeat": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/string.prototype.repeat/-/string.prototype.repeat-1.0.0.tgz", - "integrity": "sha512-0u/TldDbKD8bFCQ/4f5+mNRrXwZ8hg2w7ZR8wa16e8z9XpePWl3eGEcUD0OXpEH/VJH/2G3gjUtR3ZOiBe2S/w==", - "dev": true, - "dependencies": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" - } - }, - "node_modules/string.prototype.trim": { - "version": "1.2.10", - "resolved": "https://registry.npmjs.org/string.prototype.trim/-/string.prototype.trim-1.2.10.tgz", - "integrity": "sha512-Rs66F0P/1kedk5lyYyH9uBzuiI/kNRmwJAR9quK6VOtIpZ2G+hMZd+HQbbv25MgCA6gEffoMZYxlTod4WcdrKA==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-data-property": "^1.1.4", - "define-properties": "^1.2.1", - "es-abstract": "^1.23.5", - "es-object-atoms": "^1.0.0", - "has-property-descriptors": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimend": { - "version": "1.0.9", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.9.tgz", - "integrity": "sha512-G7Ok5C6E/j4SGfyLCloXTrngQIQU3PWtXGst3yM7Bea9FRURf1S42ZHlZZtsNque2FN2PoUhfZXYLNWwEr4dLQ==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "call-bound": "^1.0.2", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/string.prototype.trimstart": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.8.tgz", - "integrity": "sha512-UXSH262CSZY1tfu3G3Secr6uGLCFVPMhIqHjlgCUtCCcgihYc/xKs9djMTMUOb2j1mVSeU8EU6NWc/iQKU6Gfg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "define-properties": "^1.2.1", - "es-object-atoms": "^1.0.0" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/strip-bom": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", - "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", - "dev": true, - "engines": { - "node": ">=4" - } - }, - "node_modules/strip-json-comments": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", - "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", - "dev": true, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/styled-jsx": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/styled-jsx/-/styled-jsx-5.1.6.tgz", - "integrity": "sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==", - "dependencies": { - "client-only": "0.0.1" - }, - "engines": { - "node": ">= 12.0.0" - }, - "peerDependencies": { - "react": ">= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0" - }, - "peerDependenciesMeta": { - "@babel/core": { - "optional": true - }, - "babel-plugin-macros": { - "optional": true - } - } - }, - "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/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tapable": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.0.tgz", - "integrity": "sha512-g9ljZiwki/LfxmQADO3dEY1CbpmXT5Hm2fJ+QaGKwSXUylMybePR7/67YW7jOrrvjEgL1Fmz5kzyAjWVWLlucg==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/terser": { - "version": "5.44.1", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.44.1.tgz", - "integrity": "sha512-t/R3R/n0MSwnnazuPpPNVO60LX0SKL45pyl9YlvxIdkH0Of7D5qM2EVe+yASRIlY5pZ73nclYJfNANGWPwFDZw==", - "dev": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.15.0", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.15", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.15.tgz", - "integrity": "sha512-PGkOdpRFK+rb1TzVz+msVhw4YMRT9txLF4kRqvJhGhCM324xuR3REBSHALN+l+sAhKUmz0aotnjp5D+P83mLhQ==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", - "jest-worker": "^27.4.5", - "schema-utils": "^4.3.0", - "serialize-javascript": "^6.0.2", - "terser": "^5.31.1" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/tinyglobby": { - "version": "0.2.15", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz", - "integrity": "sha512-j2Zq4NyQYG5XMST4cbs02Ak8iJUdxRM0XI5QyxXuZOzKOINmWurp3smXu3y5wDcJrptwpSjgXHzIQxR0omXljQ==", - "dev": true, - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.3" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tinyglobby/node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "dev": true, - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/tinyglobby/node_modules/picomatch": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.3.tgz", - "integrity": "sha512-5gTmgEY/sqK6gFXLIsQNH19lWb4ebPDLA4SdLP7dsWkIXHWlG66oPuVvXSGFPppYZz8ZDZq0dYYrbHfBCVUb1Q==", - "dev": true, - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/to-regex-range": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", - "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", - "dev": true, - "dependencies": { - "is-number": "^7.0.0" - }, - "engines": { - "node": ">=8.0" - } - }, - "node_modules/ts-api-utils": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ts-api-utils/-/ts-api-utils-2.1.0.tgz", - "integrity": "sha512-CUgTZL1irw8u29bzrOD/nH85jqyc74D6SshFgujOIA7osm2Rz7dYH77agkx7H4FBNxDq7Cjf+IjaX/8zwFW+ZQ==", - "dev": true, - "engines": { - "node": ">=18.12" - }, - "peerDependencies": { - "typescript": ">=4.8.4" - } - }, - "node_modules/tsconfig-paths": { - "version": "3.15.0", - "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-3.15.0.tgz", - "integrity": "sha512-2Ac2RgzDe/cn48GvOe3M+o82pEFewD3UPbyoUHHdKasHwJKjds4fLXWf/Ux5kATBKN20oaFGu+jbElp1pos0mg==", - "dev": true, - "dependencies": { - "@types/json5": "^0.0.29", - "json5": "^1.0.2", - "minimist": "^1.2.6", - "strip-bom": "^3.0.0" - } - }, - "node_modules/tsconfig-paths/node_modules/json5": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.2.tgz", - "integrity": "sha512-g1MWMLBiz8FKi1e4w0UyVL3w+iJceWAFBAaBnnGKOpNa5f8TLktkbre1+s6oICydWAm+HRUGTmI+//xv2hvXYA==", - "dev": true, - "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "json5": "lib/cli.js" - } - }, - "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==" - }, - "node_modules/type-check": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", - "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", - "dev": true, - "dependencies": { - "prelude-ls": "^1.2.1" - }, - "engines": { - "node": ">= 0.8.0" - } - }, - "node_modules/typed-array-buffer": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-buffer/-/typed-array-buffer-1.0.3.tgz", - "integrity": "sha512-nAYYwfY3qnzX30IkA6AQZjVbtK6duGontcQm1WSG1MD94YLqK0515GNApXkoxKOWMusVssAHWLh9SeaoefYFGw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "es-errors": "^1.3.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/typed-array-byte-length": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/typed-array-byte-length/-/typed-array-byte-length-1.0.3.tgz", - "integrity": "sha512-BaXgOuIxz8n8pIq3e7Atg/7s+DpiYrxn4vdot3w9KbnBhcRQq6o3xemQdIfynqSeXeDrF32x+WvfzmOjPiY9lg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.14" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-byte-offset": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/typed-array-byte-offset/-/typed-array-byte-offset-1.0.4.tgz", - "integrity": "sha512-bTlAFB/FBYMcuX81gbL4OcpH5PmlFHqlCCpAl8AlEzMz5k53oNDvN8p1PNOWLEmI2x4orp3raOFB51tv9X+MFQ==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "for-each": "^0.3.3", - "gopd": "^1.2.0", - "has-proto": "^1.2.0", - "is-typed-array": "^1.1.15", - "reflect.getprototypeof": "^1.0.9" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typed-array-length": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/typed-array-length/-/typed-array-length-1.0.7.tgz", - "integrity": "sha512-3KS2b+kL7fsuk/eJZ7EQdnEmQoaho/r6KUef7hxvltNA5DR8NAUM+8wJMbJyZ4G9/7i3v5zPBIMN5aybAh2/Jg==", - "dev": true, - "dependencies": { - "call-bind": "^1.0.7", - "for-each": "^0.3.3", - "gopd": "^1.0.1", - "is-typed-array": "^1.1.13", - "possible-typed-array-names": "^1.0.0", - "reflect.getprototypeof": "^1.0.6" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "dev": true, - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/typescript-eslint": { - "version": "8.49.0", - "resolved": "https://registry.npmjs.org/typescript-eslint/-/typescript-eslint-8.49.0.tgz", - "integrity": "sha512-zRSVH1WXD0uXczCXw+nsdjGPUdx4dfrs5VQoHnUWmv1U3oNlAKv4FUNdLDhVUg+gYn+a5hUESqch//Rv5wVhrg==", - "dev": true, - "dependencies": { - "@typescript-eslint/eslint-plugin": "8.49.0", - "@typescript-eslint/parser": "8.49.0", - "@typescript-eslint/typescript-estree": "8.49.0", - "@typescript-eslint/utils": "8.49.0" - }, - "engines": { - "node": "^18.18.0 || ^20.9.0 || >=21.1.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/typescript-eslint" - }, - "peerDependencies": { - "eslint": "^8.57.0 || ^9.0.0", - "typescript": ">=4.8.4 <6.0.0" - } - }, - "node_modules/unbox-primitive": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.1.0.tgz", - "integrity": "sha512-nWJ91DjeOkej/TA8pXQ3myruKpKEYgqvpw9lz4OPHj/NWFNluYrjbz9j01CJ8yKQd2g4jFoOkINCTW2I5LEEyw==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.3", - "has-bigints": "^1.0.2", - "has-symbols": "^1.1.0", - "which-boxed-primitive": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - "dev": true - }, - "node_modules/unrs-resolver": { - "version": "1.11.1", - "resolved": "https://registry.npmjs.org/unrs-resolver/-/unrs-resolver-1.11.1.tgz", - "integrity": "sha512-bSjt9pjaEBnNiGgc9rUiHGKv5l4/TGzDmYw3RhnkJGtLhbnnA/5qJj7x3dNDCRx/PJxu774LlH8lCOlB4hEfKg==", - "dev": true, - "hasInstallScript": true, - "dependencies": { - "napi-postinstall": "^0.3.0" - }, - "funding": { - "url": "https://opencollective.com/unrs-resolver" - }, - "optionalDependencies": { - "@unrs/resolver-binding-android-arm-eabi": "1.11.1", - "@unrs/resolver-binding-android-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-arm64": "1.11.1", - "@unrs/resolver-binding-darwin-x64": "1.11.1", - "@unrs/resolver-binding-freebsd-x64": "1.11.1", - "@unrs/resolver-binding-linux-arm-gnueabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm-musleabihf": "1.11.1", - "@unrs/resolver-binding-linux-arm64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-arm64-musl": "1.11.1", - "@unrs/resolver-binding-linux-ppc64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-riscv64-musl": "1.11.1", - "@unrs/resolver-binding-linux-s390x-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-gnu": "1.11.1", - "@unrs/resolver-binding-linux-x64-musl": "1.11.1", - "@unrs/resolver-binding-wasm32-wasi": "1.11.1", - "@unrs/resolver-binding-win32-arm64-msvc": "1.11.1", - "@unrs/resolver-binding-win32-ia32-msvc": "1.11.1", - "@unrs/resolver-binding-win32-x64-msvc": "1.11.1" - } - }, - "node_modules/update-browserslist-db": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.2.tgz", - "integrity": "sha512-E85pfNzMQ9jpKkA7+TJAi4TJN+tBCuWh5rUcS/sv6cFi+1q9LYDwDI5dpUL0u/73EElyQ8d3TEaeW4sPedBqYA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/uri-js": { - "version": "4.4.1", - "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", - "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", - "dev": true, - "dependencies": { - "punycode": "^2.1.0" - } - }, - "node_modules/watchpack": { - "version": "2.4.4", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.4.tgz", - "integrity": "sha512-c5EGNOiyxxV5qmTtAB7rbiXxi1ooX1pQKMLX/MIabJjRA0SJBQOjKF+KSVfHkr9U1cADPon0mRiVe/riyaiDUA==", - "dev": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack": { - "version": "5.103.0", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.103.0.tgz", - "integrity": "sha512-HU1JOuV1OavsZ+mfigY0j8d1TgQgbZ6M+J75zDkpEAwYeXjWSqrGJtgnPblJjd/mAyTNQ7ygw0MiKOn6etz8yw==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.7", - "@types/estree": "^1.0.8", - "@types/json-schema": "^7.0.15", - "@webassemblyjs/ast": "^1.14.1", - "@webassemblyjs/wasm-edit": "^1.14.1", - "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.15.0", - "acorn-import-phases": "^1.0.3", - "browserslist": "^4.26.3", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.3", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.3.1", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^4.3.3", - "tapable": "^2.3.0", - "terser-webpack-plugin": "^5.3.11", - "watchpack": "^2.4.4", - "webpack-sources": "^3.3.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-sources": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.3.3.tgz", - "integrity": "sha512-yd1RBzSGanHkitROoPFd6qsrxt+oFhg/129YzheDGqeustzX0vTZJZsSsQjVQC4yzBQ56K55XU8gaNCtIzOnTg==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack/node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/webpack/node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/which-boxed-primitive": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.1.1.tgz", - "integrity": "sha512-TbX3mj8n0odCBFVlY8AxkqcHASw3L60jIuF8jFP78az3C2YhmGvqbHBpAjTRH2/xqYunrJ9g1jSyjCjpoWzIAA==", - "dev": true, - "dependencies": { - "is-bigint": "^1.1.0", - "is-boolean-object": "^1.2.1", - "is-number-object": "^1.1.1", - "is-string": "^1.1.1", - "is-symbol": "^1.1.1" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-builtin-type": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/which-builtin-type/-/which-builtin-type-1.2.1.tgz", - "integrity": "sha512-6iBczoX+kDQ7a3+YJBnh3T+KZRxM/iYNPXicqk66/Qfm1b93iu+yOImkg0zHbj5LNOcNv1TEADiZ0xa34B4q6Q==", - "dev": true, - "dependencies": { - "call-bound": "^1.0.2", - "function.prototype.name": "^1.1.6", - "has-tostringtag": "^1.0.2", - "is-async-function": "^2.0.0", - "is-date-object": "^1.1.0", - "is-finalizationregistry": "^1.1.0", - "is-generator-function": "^1.0.10", - "is-regex": "^1.2.1", - "is-weakref": "^1.0.2", - "isarray": "^2.0.5", - "which-boxed-primitive": "^1.1.0", - "which-collection": "^1.0.2", - "which-typed-array": "^1.1.16" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-collection": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.2.tgz", - "integrity": "sha512-K4jVyjnBdgvc86Y6BkaLZEN933SwYOuBFkdmBu9ZfkcAbdVbpITnDmjvZ/aQjRXQrv5EPkTnD1s39GiiqbngCw==", - "dev": true, - "dependencies": { - "is-map": "^2.0.3", - "is-set": "^2.0.3", - "is-weakmap": "^2.0.2", - "is-weakset": "^2.0.3" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/which-typed-array": { - "version": "1.1.19", - "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.19.tgz", - "integrity": "sha512-rEvr90Bck4WZt9HHFC4DJMsjvu7x+r6bImz0/BrbWb7A2djJ8hnZMrWnHo9F8ssv0OMErasDhftrfROTyqSDrw==", - "dev": true, - "dependencies": { - "available-typed-arrays": "^1.0.7", - "call-bind": "^1.0.8", - "call-bound": "^1.0.4", - "for-each": "^0.3.5", - "get-proto": "^1.0.1", - "gopd": "^1.2.0", - "has-tostringtag": "^1.0.2" - }, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/word-wrap": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.5.tgz", - "integrity": "sha512-BN22B5eaMMI9UMtjrGd5g5eCYPpCPDUy0FJXbYsaT5zYxjFOckS53SQDE3pWkVoWpHXVb3BrYcEN4Twa55B5cA==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - }, - "node_modules/yocto-queue": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", - "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", - "dev": true, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/zod": { - "version": "4.1.13", - "resolved": "https://registry.npmjs.org/zod/-/zod-4.1.13.tgz", - "integrity": "sha512-AvvthqfqrAhNH9dnfmrfKzX5upOdjUVJYFqNSlkmGf64gRaTzlPwz99IHYnVs28qYAybvAlBV+H7pn0saFY4Ig==", - "dev": true, - "funding": { - "url": "https://github.com/sponsors/colinhacks" - } - }, - "node_modules/zod-validation-error": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-4.0.2.tgz", - "integrity": "sha512-Q6/nZLe6jxuU80qb/4uJ4t5v2VEZ44lzQjPDhYJNztRQ4wyWc6VF3D3Kb/fAuPetZQnhS3hnajCf9CsWesghLQ==", - "dev": true, - "engines": { - "node": ">=18.0.0" - }, - "peerDependencies": { - "zod": "^3.25.0 || ^4.0.0" - } - } - } -} diff --git a/src/webpack-nextjs-16/package.json b/src/webpack-nextjs-16/package.json deleted file mode 100644 index a932a97..0000000 --- a/src/webpack-nextjs-16/package.json +++ /dev/null @@ -1,26 +0,0 @@ -{ - "name": "webpack-nextjs-16", - "version": "0.1.0", - "private": true, - "scripts": { - "dev": "next dev --webpack", - "build": "next build --webpack", - "start": "next start --webpack", - "lint": "eslint" - }, - "dependencies": { - "@coderline/alphatab": "^1.7.1", - "next": "16.0.8", - "react": "19.2.1", - "react-dom": "19.2.1" - }, - "devDependencies": { - "@coderline/alphatab-webpack": "^1.7.1", - "@types/node": "^20", - "@types/react": "^19", - "@types/react-dom": "^19", - "eslint": "^9", - "eslint-config-next": "16.0.8", - "typescript": "^5" - } -} diff --git a/src/webpack-nextjs-16/src/app/favicon.ico b/src/webpack-nextjs-16/src/app/favicon.ico deleted file mode 100644 index 718d6fea4835ec2d246af9800eddb7ffb276240c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 25931 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 LrJugUA?W`A8`#=m diff --git a/src/webpack-nextjs-16/src/app/globals.css b/src/webpack-nextjs-16/src/app/globals.css deleted file mode 100644 index 5ea5a80..0000000 --- a/src/webpack-nextjs-16/src/app/globals.css +++ /dev/null @@ -1,21 +0,0 @@ -.at-cursor-bar { - /* Defines the color of the bar background when a bar is played */ - background: rgba(255, 242, 0, 0.25); -} - -.at-selection div { - /* Defines the color of the selection background */ - background: rgba(64, 64, 255, 0.2); -} - -.at-cursor-beat { - /* Defines the beat cursor */ - background: rgba(64, 64, 255, 0.75); - width: 3px; -} - -.at-highlight * { - /* Defines the color of the music symbols when they are being played (svg) */ - fill: #0078ff; - stroke: #0078ff; -} \ No newline at end of file diff --git a/src/webpack-nextjs-16/src/app/layout.tsx b/src/webpack-nextjs-16/src/app/layout.tsx deleted file mode 100644 index 62318bf..0000000 --- a/src/webpack-nextjs-16/src/app/layout.tsx +++ /dev/null @@ -1,33 +0,0 @@ -import type { Metadata } from "next"; -import { Geist, Geist_Mono } from "next/font/google"; -import "./globals.css"; - -const geistSans = Geist({ - variable: "--font-geist-sans", - subsets: ["latin"], -}); - -const geistMono = Geist_Mono({ - variable: "--font-geist-mono", - subsets: ["latin"], -}); - -export const metadata: Metadata = { - title: "Create Next App", - description: "Generated by create next app", -}; - -export default function RootLayout({ - children, -}: Readonly<{ - children: React.ReactNode; -}>) { - return ( - - - {children} - - - ); -} - diff --git a/src/webpack-nextjs-16/src/app/page.tsx b/src/webpack-nextjs-16/src/app/page.tsx deleted file mode 100644 index 06c2e1d..0000000 --- a/src/webpack-nextjs-16/src/app/page.tsx +++ /dev/null @@ -1,58 +0,0 @@ -"use client" - -import { useEffect, useRef, useState } from "react"; -import { AlphaTabApi, Settings } from "@coderline/alphatab"; - -export default function Home() { - const elementRef = useRef(null); - const [api, setApi] = useState(); - - useEffect(() => { - const api = new AlphaTabApi(elementRef.current!, { - core: { - fontDirectory: '/alphatab/font/' - }, - player: { - enablePlayer: true, - enableCursor: true, - enableUserInteraction: true, - soundFont: '/alphatab/soundfont/sonivox.sf2' - } - } as Settings); - - api.tex(` - \\title "Canon Rock" - \\subtitle "JerryC" - \\tempo 90 - . - :2 19.2{v f} 17.2{v f} | - 15.2{v f} 14.2{v f} | - 12.2{v f} 10.2{v f} | - 12.2{v f} 14.2{v f}.4 :8 15.2 17.2 | - 14.1.2 :8 17.2 15.1 14.1{h} 17.2 | - 15.2{v d}.4 :16 17.2{h} 15.2 :8 14.2 14.1 17.1{b (0 4 4 0)}.4 | - 15.1.8 :16 14.1{tu 3} 15.1{tu 3} 14.1{tu 3} :8 17.2 15.1 14.1 :16 12.1{tu 3} 14.1{tu 3} 12.1{tu 3} :8 15.2 14.2 | - 12.2 14.3 12.3 15.2 :32 14.2{h} 15.2{h} 14.2{h} 15.2{h} 14.2{h} 15.2{h} 14.2{h} 15.2{h} 14.2{h} 15.2{h} 14.2{h} 15.2{h} 14.2{h} 15.2{h} 14.2{h} 15.2{h} - `); - - setApi(api); - - return () => { - console.log('destroy', elementRef, api); - api.destroy(); - } - }, []); - - function playPause() { - api?.playPause(); - } - - return ( - <> -
- -
-
- - ); -} diff --git a/src/webpack-plain/package-lock.json b/src/webpack-plain/package-lock.json deleted file mode 100644 index c015f90..0000000 --- a/src/webpack-plain/package-lock.json +++ /dev/null @@ -1,1382 +0,0 @@ -{ - "name": "alphatab-webpack-sample", - "version": "1.0.0", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "alphatab-webpack-sample", - "version": "1.0.0", - "license": "MIT", - "dependencies": { - "@coderline/alphatab": "^1.5.0-alpha.1396" - }, - "devDependencies": { - "webpack": "^5.99.7", - "webpack-cli": "^6.0.1" - } - }, - "node_modules/@coderline/alphatab": { - "version": "1.5.0-alpha.1396", - "resolved": "https://registry.npmjs.org/@coderline/alphatab/-/alphatab-1.5.0-alpha.1396.tgz", - "integrity": "sha512-6oJHU5NN8pvWiZiLdKtdaW4Ufe/61q5Y2PRLMSCspeTifvmDUJiTTJVpZ+z5n9itLIBLLEfy9ULRbkOIAoyGiw==", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@discoveryjs/json-ext": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.6.3.tgz", - "integrity": "sha512-4B4OijXeVNOPZlYA2oEwWOTkzyltLao+xbotHQeqN++Rv27Y6s818+n2Qkp8q+Fxhn0t/5lA5X1Mxktud8eayQ==", - "dev": true, - "engines": { - "node": ">=14.17.0" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.8", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.8.tgz", - "integrity": "sha512-imAbBGkb+ebQyxKgzv5Hu2nmROxoDOXHh80evxdoXNOrvAnVx7zimzc1Oo5h9RlfV4vPXaE2iM5pOFbvOCClWA==", - "dev": true, - "dependencies": { - "@jridgewell/set-array": "^1.2.1", - "@jridgewell/sourcemap-codec": "^1.4.10", - "@jridgewell/trace-mapping": "^0.3.24" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/set-array": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.2.1.tgz", - "integrity": "sha512-R8gLRTZeyp03ymzP/6Lil/28tGeGEzhx1q2k703KGWRAI1VdvPIXdG70VJc2pAMw3NA6JKL5hhFu1sJX0Mnn/A==", - "dev": true, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/source-map": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.6.tgz", - "integrity": "sha512-1ZJTZebgqllO79ue2bm3rIGud/bOe0pP5BjSRCRxxYkEZS8STV7zN84UBbiYu7jy+eCKSnVIUgoWWE/tt+shMQ==", - "dev": true, - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.25" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.0.tgz", - "integrity": "sha512-gv3ZRaISU3fjPAgNsriBRqGWQL6quFx04YMPW/zD8XMLsU32mhCCbfbO6KZFLjvYpCZ8zyDEgqsgf+PwPaM7GQ==", - "dev": true - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.25", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.25.tgz", - "integrity": "sha512-vNk6aEwybGtawWmy/PzwnGDOjCkLWSD2wqvjGGAgOAwCGWySYXfYoxt00IJkTF+8Lb57DwOb3Aa0o9CApepiYQ==", - "dev": true, - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@types/eslint": { - "version": "8.56.5", - "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.56.5.tgz", - "integrity": "sha512-u5/YPJHo1tvkSF2CE0USEkxon82Z5DBy2xR+qfyYNszpX9qcs4sT6uq2kBbj4BXY1+DBGDPnrhMZV3pKWGNukw==", - "dev": true, - "dependencies": { - "@types/estree": "*", - "@types/json-schema": "*" - } - }, - "node_modules/@types/eslint-scope": { - "version": "3.7.7", - "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.7.tgz", - "integrity": "sha512-MzMFlSLBqNF2gcHWO0G1vP/YQyfvrxZ0bF+u7mzUdZ1/xK4A4sru+nraZz5i3iEIk1l1uyicaDVTB4QbbEkAYg==", - "dev": true, - "dependencies": { - "@types/eslint": "*", - "@types/estree": "*" - } - }, - "node_modules/@types/estree": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.7.tgz", - "integrity": "sha512-w28IoSUCJpidD/TGviZwwMJckNESJZXFu7NBZ5YJ4mEUnNraUn9Pm8HSZm/jDF1pDWYKspWE7oVphigUPRakIQ==", - "dev": true - }, - "node_modules/@types/json-schema": { - "version": "7.0.15", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.15.tgz", - "integrity": "sha512-5+fP8P8MFNC+AyZCDxrB2pkZFPGzqQWUzpSeuuVLvm8VMcorNYavBqoFcxK8bQz4Qsbn4oUEEem4wDLfcysGHA==", - "dev": true - }, - "node_modules/@types/node": { - "version": "22.15.3", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.15.3.tgz", - "integrity": "sha512-lX7HFZeHf4QG/J7tBZqrCAXwz9J5RD56Y6MpP0eJkka8p+K0RY/yBTW7CYFJ4VGCclxqOLKmiGP5juQc6MKgcw==", - "dev": true, - "dependencies": { - "undici-types": "~6.21.0" - } - }, - "node_modules/@webassemblyjs/ast": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.14.1.tgz", - "integrity": "sha512-nuBEDgQfm1ccRp/8bCQrx1frohyufl4JlbMMZ4P1wpeOfDhF6FQkxZJ1b/e+PLwr6X1Nhw6OLme5usuBWYBvuQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/helper-numbers": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2" - } - }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.13.2.tgz", - "integrity": "sha512-6oXyTOzbKxGH4steLbLNOu71Oj+C8Lg34n6CqRvqfS2O71BxY6ByfMDRhBytzknj9yGUPVJ1qIKhRlAwO1AovA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.13.2.tgz", - "integrity": "sha512-U56GMYxy4ZQCbDZd6JuvvNV/WFildOjsaWD3Tzzvmw/mas3cXzRJPMjP83JqEsgSbyrmaGjBfDtV7KDXV9UzFQ==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.14.1.tgz", - "integrity": "sha512-jyH7wtcHiKssDtFPRB+iQdxlDf96m0E39yb0k5uJVhFGleZFoNw1c4aeIcVUPPbXUVJ94wwnMOAqUHyzoEPVMA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.13.2.tgz", - "integrity": "sha512-FE8aCmS5Q6eQYcV3gI35O4J789wlQA+7JrqTTpJqn5emA4U2hvwJmvFRC0HODS+3Ye6WioDklgd6scJ3+PLnEA==", - "dev": true, - "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.13.2", - "@webassemblyjs/helper-api-error": "1.13.2", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.13.2.tgz", - "integrity": "sha512-3QbLKy93F0EAIXLh0ogEVR6rOubA9AoZ+WRYhNbFyuB70j3dRdwH9g+qXhLAO0kiYGlg3TxDV+I4rQTr/YNXkA==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.14.1.tgz", - "integrity": "sha512-ds5mXEqTJ6oxRoqjhWDU83OgzAYjwsCV8Lo/N+oRsNDmx/ZDpqalmrtgOMkHwxsG0iI//3BwWAErYRHtgn0dZw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/wasm-gen": "1.14.1" - } - }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.13.2.tgz", - "integrity": "sha512-4LtOzh58S/5lX4ITKxnAK2USuNEvpdVV9AlgGQb8rJDHaLeHciwG4zlGr0j/SNWlr7x3vO1lDEsuePvtcDNCkw==", - "dev": true, - "dependencies": { - "@xtuc/ieee754": "^1.2.0" - } - }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.13.2.tgz", - "integrity": "sha512-Lde1oNoIdzVzdkNEAWZ1dZ5orIbff80YPdHx20mrHwHrVNNTjNr8E3xz9BdpcGqRQbAEa+fkrCb+fRFTl/6sQw==", - "dev": true, - "dependencies": { - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.13.2", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.13.2.tgz", - "integrity": "sha512-3NQWGjKTASY1xV5m7Hr0iPeXD9+RDobLll3T9d2AO+g3my8xy5peVyjSag4I50mR1bBSN/Ct12lo+R9tJk0NZQ==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.14.1.tgz", - "integrity": "sha512-RNJUIQH/J8iA/1NzlE4N7KtyZNHi3w7at7hDjvRNm5rcUXa00z1vRz3glZoULfJ5mpvYhLybmVcwcjGrC1pRrQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/helper-wasm-section": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-opt": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1", - "@webassemblyjs/wast-printer": "1.14.1" - } - }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.14.1.tgz", - "integrity": "sha512-AmomSIjP8ZbfGQhumkNvgC33AY7qtMCXnN6bL2u2Js4gVCg8fp735aEiMSBbDR7UQIj90n4wKAFUSEd0QN2Ukg==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.14.1.tgz", - "integrity": "sha512-PTcKLUNvBqnY2U6E5bdOQcSM+oVP/PmrDY9NzowJjislEjwP/C4an2303MCVS2Mg9d3AJpIGdUFIQQWbPds0Sw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-buffer": "1.14.1", - "@webassemblyjs/wasm-gen": "1.14.1", - "@webassemblyjs/wasm-parser": "1.14.1" - } - }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.14.1.tgz", - "integrity": "sha512-JLBl+KZ0R5qB7mCnud/yyX08jWFw5MsoalJ1pQ4EdFlgj9VdXKGuENGsiCIjegI1W7p91rUlcB/LB5yRJKNTcQ==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@webassemblyjs/helper-api-error": "1.13.2", - "@webassemblyjs/helper-wasm-bytecode": "1.13.2", - "@webassemblyjs/ieee754": "1.13.2", - "@webassemblyjs/leb128": "1.13.2", - "@webassemblyjs/utf8": "1.13.2" - } - }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.14.1.tgz", - "integrity": "sha512-kPSSXE6De1XOR820C90RIo2ogvZG+c3KiHzqUoO/F34Y2shGzesfqv7o57xrxovZJH/MetF5UjroJ/R/3isoiw==", - "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.14.1", - "@xtuc/long": "4.2.2" - } - }, - "node_modules/@webpack-cli/configtest": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-3.0.1.tgz", - "integrity": "sha512-u8d0pJ5YFgneF/GuvEiDA61Tf1VDomHHYMjv/wc9XzYj7nopltpG96nXN5dJRstxZhcNpV1g+nT6CydO7pHbjA==", - "dev": true, - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "webpack": "^5.82.0", - "webpack-cli": "6.x.x" - } - }, - "node_modules/@webpack-cli/info": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-3.0.1.tgz", - "integrity": "sha512-coEmDzc2u/ffMvuW9aCjoRzNSPDl/XLuhPdlFRpT9tZHmJ/039az33CE7uH+8s0uL1j5ZNtfdv0HkfaKRBGJsQ==", - "dev": true, - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "webpack": "^5.82.0", - "webpack-cli": "6.x.x" - } - }, - "node_modules/@webpack-cli/serve": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-3.0.1.tgz", - "integrity": "sha512-sbgw03xQaCLiT6gcY/6u3qBDn01CWw/nbaXl3gTdTFuJJ75Gffv3E3DBpgvY2fkkrdS1fpjaXNOmJlnbtKauKg==", - "dev": true, - "engines": { - "node": ">=18.12.0" - }, - "peerDependencies": { - "webpack": "^5.82.0", - "webpack-cli": "6.x.x" - }, - "peerDependenciesMeta": { - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "node_modules/acorn": { - "version": "8.14.1", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.14.1.tgz", - "integrity": "sha512-OvQ/2pUDKmgfCg++xsTX1wGxfTaszcHVcTctW4UJB4hibJx2HXxxO5UmVgyjMa+ZDsiaf5wWLXYpRWMmBI0QHg==", - "dev": true, - "bin": { - "acorn": "bin/acorn" - }, - "engines": { - "node": ">=0.4.0" - } - }, - "node_modules/ajv": { - "version": "8.17.1", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.17.1.tgz", - "integrity": "sha512-B/gBuNg5SiMTrPkC+A2+cW0RszwxYmn6VYxB/inlBStS5nx6xHIt/ehKRhIMhqusl7a8LjQoZnjCs5vhwxOQ1g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3", - "fast-uri": "^3.0.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" - }, - "peerDependencies": { - "ajv": "^8.0.0" - }, - "peerDependenciesMeta": { - "ajv": { - "optional": true - } - } - }, - "node_modules/ajv-keywords": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", - "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.3" - }, - "peerDependencies": { - "ajv": "^8.8.2" - } - }, - "node_modules/browserslist": { - "version": "4.24.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.24.5.tgz", - "integrity": "sha512-FDToo4Wo82hIdgc1CQ+NQD0hEhmpPjrZ3hiUgwgOG6IuTdlpr8jdjyG24P6cNP1yJpTLzS5OcGgSw0xmDU1/Tw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "caniuse-lite": "^1.0.30001716", - "electron-to-chromium": "^1.5.149", - "node-releases": "^2.0.19", - "update-browserslist-db": "^1.1.3" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/buffer-from": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", - "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", - "dev": true - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001716", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001716.tgz", - "integrity": "sha512-49/c1+x3Kwz7ZIWt+4DvK3aMJy9oYXXG6/97JKsnjdCk/6n9vVyWL8NAwVt95Lwt9eigI10Hl782kDfZUUlRXw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", - "dev": true, - "engines": { - "node": ">=6.0" - } - }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", - "dev": true, - "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", - "dev": true - }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", - "dev": true - }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", - "dev": true, - "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.5.149", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.149.tgz", - "integrity": "sha512-UyiO82eb9dVOx8YO3ajDf9jz2kKyt98DEITRdeLPstOEuTlLzDA4Gyq5K9he71TQziU5jUVu2OAu5N48HmQiyQ==", - "dev": true - }, - "node_modules/enhanced-resolve": { - "version": "5.18.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.18.1.tgz", - "integrity": "sha512-ZSW3ma5GkcQBIpwZTSRAI8N71Uuwgs93IezB7mf7R60tC8ZbJideoDNKjHn2O9KIlx6rkGTTEk1xUCK2E1Y2Yg==", - "dev": true, - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/envinfo": { - "version": "7.14.0", - "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.14.0.tgz", - "integrity": "sha512-CO40UI41xDQzhLB1hWyqUKgFhs250pNcGbyGKe1l/e4FSaI/+YE4IMG76GDt0In67WLPACIITC+sOi08x4wIvg==", - "dev": true, - "bin": { - "envinfo": "dist/cli.js" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/es-module-lexer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.4.1.tgz", - "integrity": "sha512-cXLGjP0c4T3flZJKQSuziYoq7MlT+rnvfZjfp7h+I7K9BNX54kP9nyWvdbwjQ4u1iWbOL4u96fgeZLToQlZC7w==", - "dev": true - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", - "dev": true, - "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/esrecurse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", - "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", - "dev": true, - "dependencies": { - "estraverse": "^5.2.0" - }, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/esrecurse/node_modules/estraverse": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", - "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/estraverse": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", - "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true, - "engines": { - "node": ">=4.0" - } - }, - "node_modules/events": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", - "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", - "dev": true, - "engines": { - "node": ">=0.8.x" - } - }, - "node_modules/fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "node_modules/fast-uri": { - "version": "3.0.6", - "resolved": "https://registry.npmjs.org/fast-uri/-/fast-uri-3.0.6.tgz", - "integrity": "sha512-Atfo14OibSv5wAp4VWNsFYE1AchQRTv9cBGWET4pZWHzYshFSS9NQI6I57rdKn9croWVMbYFbLhJ+yJvmZIIHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fastify" - }, - { - "type": "opencollective", - "url": "https://opencollective.com/fastify" - } - ] - }, - "node_modules/fastest-levenshtein": { - "version": "1.0.16", - "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.16.tgz", - "integrity": "sha512-eRnCtTTtGZFpQCwhJiUOuxPQWRXVKYDn0b2PeHfXL6/Zi53SLAzAHfVhVWK2AryC/WH05kGfxhFIPvTF0SXQzg==", - "dev": true, - "engines": { - "node": ">= 4.9.1" - } - }, - "node_modules/find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "dependencies": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/flat": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", - "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", - "dev": true, - "bin": { - "flat": "cli.js" - } - }, - "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/glob-to-regexp": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", - "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", - "dev": true - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true - }, - "node_modules/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/hasown": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/hasown/-/hasown-2.0.1.tgz", - "integrity": "sha512-1/th4MHjnwncwXsIW6QMzlvYL9kG5e/CpVvLRZe4XPa8TOUNbCELqmvhDmnkNsAjwaG4+I8gJJL0JBvTTLO9qA==", - "dev": true, - "dependencies": { - "function-bind": "^1.1.2" - }, - "engines": { - "node": ">= 0.4" - } - }, - "node_modules/import-local": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", - "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", - "dev": true, - "dependencies": { - "pkg-dir": "^4.2.0", - "resolve-cwd": "^3.0.0" - }, - "bin": { - "import-local-fixture": "fixtures/cli.js" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/interpret": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/interpret/-/interpret-3.1.1.tgz", - "integrity": "sha512-6xwYfHbajpoF0xLW+iwLkhwgvLoZDfjYfoFNu8ftMoXINzwuymNLd9u/KmwtdT2GbR+/Cz66otEGEVVUHX9QLQ==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/is-core-module": { - "version": "2.13.1", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.13.1.tgz", - "integrity": "sha512-hHrIjvZsftOsvKSn2TRYl63zvxsgE0K+0mYMoH6gD4omR5IWB2KynivBQczo3+wF1cCkjzvptnI9Q0sPU66ilw==", - "dev": true, - "dependencies": { - "hasown": "^2.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/is-plain-object": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", - "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", - "dev": true, - "dependencies": { - "isobject": "^3.0.1" - }, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/isexe": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", - "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", - "dev": true - }, - "node_modules/isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/jest-worker": { - "version": "27.5.1", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", - "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", - "dev": true, - "dependencies": { - "@types/node": "*", - "merge-stream": "^2.0.0", - "supports-color": "^8.0.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/json-parse-even-better-errors": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", - "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", - "dev": true - }, - "node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", - "dev": true - }, - "node_modules/kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/loader-runner": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", - "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", - "dev": true, - "engines": { - "node": ">=6.11.5" - } - }, - "node_modules/locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "dependencies": { - "p-locate": "^4.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/merge-stream": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", - "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", - "dev": true - }, - "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==", - "dev": true, - "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==", - "dev": true, - "dependencies": { - "mime-db": "1.52.0" - }, - "engines": { - "node": ">= 0.6" - } - }, - "node_modules/neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true - }, - "node_modules/node-releases": { - "version": "2.0.19", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.19.tgz", - "integrity": "sha512-xxOWJsBKtzAq7DY0J+DTzuz58K8e7sJbdgwkbMWQe8UYB6ekmsQ45q0M/tJDsGaZmbC+l7n57UV8Hl5tHxO9uw==", - "dev": true - }, - "node_modules/p-limit": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", - "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", - "dev": true, - "dependencies": { - "p-try": "^2.0.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "dependencies": { - "p-limit": "^2.2.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/p-try": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", - "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-key": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", - "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/path-parse": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", - "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", - "dev": true - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "dev": true - }, - "node_modules/pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "dependencies": { - "find-up": "^4.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/randombytes": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", - "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, - "dependencies": { - "safe-buffer": "^5.1.0" - } - }, - "node_modules/rechoir": { - "version": "0.8.0", - "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.8.0.tgz", - "integrity": "sha512-/vxpCXddiX8NGfGO/mTafwjq4aFa/71pvamip0++IQk3zG8cbCj0fifNPrjjF1XMXUne91jL9OoxmdykoEtifQ==", - "dev": true, - "dependencies": { - "resolve": "^1.20.0" - }, - "engines": { - "node": ">= 10.13.0" - } - }, - "node_modules/require-from-string": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", - "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/resolve": { - "version": "1.22.8", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.8.tgz", - "integrity": "sha512-oKWePCxqpd6FlLvGV1VU0x7bkPmmCNolxzjMf4NczoDnQcIWrAF+cPtZn5i6n+RfD2d9i0tzpKnG6Yk168yIyw==", - "dev": true, - "dependencies": { - "is-core-module": "^2.13.0", - "path-parse": "^1.0.7", - "supports-preserve-symlinks-flag": "^1.0.0" - }, - "bin": { - "resolve": "bin/resolve" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/resolve-cwd": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", - "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", - "dev": true, - "dependencies": { - "resolve-from": "^5.0.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/resolve-from": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", - "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", - "dev": true, - "engines": { - "node": ">=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==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] - }, - "node_modules/schema-utils": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.3.2.tgz", - "integrity": "sha512-Gn/JaSk/Mt9gYubxTtSn/QCV4em9mpAPiR1rqy/Ocu19u/G9J5WWdNoUT4SiV6mFC3y6cxyFcFwdzPM3FgxGAQ==", - "dev": true, - "dependencies": { - "@types/json-schema": "^7.0.9", - "ajv": "^8.9.0", - "ajv-formats": "^2.1.1", - "ajv-keywords": "^5.1.0" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/serialize-javascript": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.2.tgz", - "integrity": "sha512-Saa1xPByTTq2gdeFZYLLo+RFE35NHZkAbqZeWNd3BpzppeVisAqpDjcp8dyf6uIvEqJRd46jemmyA4iFIeVk8g==", - "dev": true, - "dependencies": { - "randombytes": "^2.1.0" - } - }, - "node_modules/shallow-clone": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", - "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", - "dev": true, - "dependencies": { - "kind-of": "^6.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/shebang-command": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", - "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", - "dev": true, - "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==", - "dev": true, - "engines": { - "node": ">=8" - } - }, - "node_modules/source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/source-map-support": { - "version": "0.5.21", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", - "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", - "dev": true, - "dependencies": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "node_modules/supports-color": { - "version": "8.1.1", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", - "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", - "dev": true, - "dependencies": { - "has-flag": "^4.0.0" - }, - "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/supports-color?sponsor=1" - } - }, - "node_modules/supports-preserve-symlinks-flag": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", - "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", - "dev": true, - "engines": { - "node": ">= 0.4" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" - } - }, - "node_modules/tapable": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", - "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", - "dev": true, - "engines": { - "node": ">=6" - } - }, - "node_modules/terser": { - "version": "5.39.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.39.0.tgz", - "integrity": "sha512-LBAhFyLho16harJoWMg/nZsQYgTrg5jXOn2nCYjRUcZZEdE3qa2zb8QEDRUGVZBW4rlazf2fxkg8tztybTaqWw==", - "dev": true, - "dependencies": { - "@jridgewell/source-map": "^0.3.3", - "acorn": "^8.8.2", - "commander": "^2.20.0", - "source-map-support": "~0.5.20" - }, - "bin": { - "terser": "bin/terser" - }, - "engines": { - "node": ">=10" - } - }, - "node_modules/terser-webpack-plugin": { - "version": "5.3.14", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.14.tgz", - "integrity": "sha512-vkZjpUjb6OMS7dhV+tILUW6BhpDR7P2L/aQSAv+Uwk+m8KATX9EccViHTJR2qDtACKPIYndLGCyl3FMo+r2LMw==", - "dev": true, - "dependencies": { - "@jridgewell/trace-mapping": "^0.3.25", - "jest-worker": "^27.4.5", - "schema-utils": "^4.3.0", - "serialize-javascript": "^6.0.2", - "terser": "^5.31.1" - }, - "engines": { - "node": ">= 10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" - }, - "peerDependenciesMeta": { - "@swc/core": { - "optional": true - }, - "esbuild": { - "optional": true - }, - "uglify-js": { - "optional": true - } - } - }, - "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - "dev": true - }, - "node_modules/update-browserslist-db": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.1.3.tgz", - "integrity": "sha512-UxhIZQ+QInVdunkDAaiazvvT/+fXL5Osr0JZlJulepYu6Jd7qJtDZjlur0emRlT71EN3ScPoE7gvsuIKKNavKw==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/watchpack": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.2.tgz", - "integrity": "sha512-TnbFSbcOCcDgjZ4piURLCbJ3nJhznVh9kw6F6iokjiFPl8ONxe9A6nMDVXDiNbrSfLILs6vB07F7wLBrwPYzJw==", - "dev": true, - "dependencies": { - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.1.2" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/webpack": { - "version": "5.99.7", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.99.7.tgz", - "integrity": "sha512-CNqKBRMQjwcmKR0idID5va1qlhrqVUKpovi+Ec79ksW8ux7iS1+A6VqzfZXgVYCFRKl7XL5ap3ZoMpwBJxcg0w==", - "dev": true, - "dependencies": { - "@types/eslint-scope": "^3.7.7", - "@types/estree": "^1.0.6", - "@types/json-schema": "^7.0.15", - "@webassemblyjs/ast": "^1.14.1", - "@webassemblyjs/wasm-edit": "^1.14.1", - "@webassemblyjs/wasm-parser": "^1.14.1", - "acorn": "^8.14.0", - "browserslist": "^4.24.0", - "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^5.17.1", - "es-module-lexer": "^1.2.1", - "eslint-scope": "5.1.1", - "events": "^3.2.0", - "glob-to-regexp": "^0.4.1", - "graceful-fs": "^4.2.11", - "json-parse-even-better-errors": "^2.3.1", - "loader-runner": "^4.2.0", - "mime-types": "^2.1.27", - "neo-async": "^2.6.2", - "schema-utils": "^4.3.2", - "tapable": "^2.1.1", - "terser-webpack-plugin": "^5.3.11", - "watchpack": "^2.4.1", - "webpack-sources": "^3.2.3" - }, - "bin": { - "webpack": "bin/webpack.js" - }, - "engines": { - "node": ">=10.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependenciesMeta": { - "webpack-cli": { - "optional": true - } - } - }, - "node_modules/webpack-cli": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-6.0.1.tgz", - "integrity": "sha512-MfwFQ6SfwinsUVi0rNJm7rHZ31GyTcpVE5pgVA3hwFRb7COD4TzjUUwhGWKfO50+xdc2MQPuEBBJoqIMGt3JDw==", - "dev": true, - "dependencies": { - "@discoveryjs/json-ext": "^0.6.1", - "@webpack-cli/configtest": "^3.0.1", - "@webpack-cli/info": "^3.0.1", - "@webpack-cli/serve": "^3.0.1", - "colorette": "^2.0.14", - "commander": "^12.1.0", - "cross-spawn": "^7.0.3", - "envinfo": "^7.14.0", - "fastest-levenshtein": "^1.0.12", - "import-local": "^3.0.2", - "interpret": "^3.1.1", - "rechoir": "^0.8.0", - "webpack-merge": "^6.0.1" - }, - "bin": { - "webpack-cli": "bin/cli.js" - }, - "engines": { - "node": ">=18.12.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.82.0" - }, - "peerDependenciesMeta": { - "webpack-bundle-analyzer": { - "optional": true - }, - "webpack-dev-server": { - "optional": true - } - } - }, - "node_modules/webpack-cli/node_modules/commander": { - "version": "12.1.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-12.1.0.tgz", - "integrity": "sha512-Vw8qHK3bZM9y/P10u3Vib8o/DdkvA2OtPtZvD871QKjy74Wj1WSKFILMPRPSdUSx5RFK1arlJzEtA4PkFgnbuA==", - "dev": true, - "engines": { - "node": ">=18" - } - }, - "node_modules/webpack-merge": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-6.0.1.tgz", - "integrity": "sha512-hXXvrjtx2PLYx4qruKl+kyRSLc52V+cCvMxRjmKwoA+CBbbF5GfIBtR6kCvl0fYGqTUPKB+1ktVmTHqMOzgCBg==", - "dev": true, - "dependencies": { - "clone-deep": "^4.0.1", - "flat": "^5.0.2", - "wildcard": "^2.0.1" - }, - "engines": { - "node": ">=18.0.0" - } - }, - "node_modules/webpack-sources": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", - "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", - "dev": true, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", - "dev": true, - "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" - }, - "engines": { - "node": ">= 8" - } - }, - "node_modules/wildcard": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", - "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", - "dev": true - } - } -} diff --git a/src/webpack-plain/package.json b/src/webpack-plain/package.json deleted file mode 100644 index 801b06d..0000000 --- a/src/webpack-plain/package.json +++ /dev/null @@ -1,19 +0,0 @@ -{ - "name": "alphatab-webpack-sample", - "version": "1.0.0", - "description": "", - "main": "index.js", - "scripts": { - "build": "webpack --mode development", - "start": "npm run build && node dist/app.js" - }, - "author": "", - "license": "MIT", - "dependencies": { - "@coderline/alphatab": "^1.5.0-alpha.1396" - }, - "devDependencies": { - "webpack": "^5.99.7", - "webpack-cli": "^6.0.1" - } -} diff --git a/src/webpack-plain/src/app.js b/src/webpack-plain/src/app.js deleted file mode 100644 index ac9e060..0000000 --- a/src/webpack-plain/src/app.js +++ /dev/null @@ -1,41 +0,0 @@ -import * as https from 'https'; -import * as alphaTab from '@coderline/alphatab'; - -// download test file -async function loadFile(url) { - return new Promise((resolve, reject) => { - https.get(url, res => { - res.setEncoding('binary'); - - const data = []; - - res.on('data', chunk => { - data.push(Buffer.from(chunk, 'binary')); - }).on('end', () => { - resolve(Buffer.concat(data)); - }).on('error', err => { - reject(err); - }); - }); - }); -} - -const fileData = await loadFile('https://www.alphatab.net/files/canon.gp'); -const score = alphaTab.importer.ScoreLoader.loadScoreFromBytes(fileData); - -console.log(`Title: ${score.title}`); -console.log(`Subtitle: ${score.subTitle}`); -console.log(`Artist: ${score.artist}`); -console.log(`Tempo: ${score.tempo}`); -console.log(`Bars: ${score.masterBars.length}`); -console.log(`Time Signature: ${score.masterBars[0].timeSignatureNumerator}/${score.masterBars[0].timeSignatureDenominator}`); -// tracks -console.log("Tracks: "); -for (let i = 0; i < score.tracks.length; i++) { - const track = score.tracks[i]; - const trackType = track.staves.find(s => s.isPercussion) - ? "Percussion" - : "Midi Instrument: " + track.playbackInfo.program; - console.log(` ${i + 1} - ${track.name} - ${trackType}`); -} - diff --git a/src/webpack-plain/webpack.config.js b/src/webpack-plain/webpack.config.js deleted file mode 100644 index fa02de7..0000000 --- a/src/webpack-plain/webpack.config.js +++ /dev/null @@ -1,16 +0,0 @@ -const path = require("path"); -const { AlphaTabWebPackPlugin } = require('@coderline/alphatab/webpack') - -module.exports = { - target: 'node', - entry: { - app: "./src/app.js", - }, - output: { - filename: "[name].js", - path: path.resolve(__dirname, "dist"), - }, - plugins: [ - new AlphaTabWebPackPlugin(), - ] -}; From 66c47df055ce23b3c6bbbe518aed38aa532db7e7 Mon Sep 17 00:00:00 2001 From: Danielku15 Date: Sat, 31 Oct 2026 17:46:21 +0100 Subject: [PATCH 2/5] feat: let alphaTab start its workers itself in the Next.js Turbopack sample alphaTab detects Turbopack, so the sample imports @coderline/alphatab, drops its own worker entry and initialization, and points core.scriptFile to the copied ES module for the Audio Worklet. --- readme.md | 7 +-- src/nextjs-16-turbopack/README.md | 50 +++++++++---------- .../scripts/copy-alphatab-assets.mjs | 4 +- .../src/app/ScoreViewer.tsx | 16 ++---- .../src/app/alphaTab.worker.ts | 1 - 5 files changed, 34 insertions(+), 44 deletions(-) delete mode 100644 src/nextjs-16-turbopack/src/app/alphaTab.worker.ts diff --git a/readme.md b/readme.md index 45de483..cb9ae0f 100644 --- a/readme.md +++ b/readme.md @@ -21,7 +21,8 @@ alphaTab runs its rendering and synthesizer in a Web Worker and its audio output - **webpack, Rspack, Rsbuild:** [`@coderline/alphatab-webpack`](https://www.npmjs.com/package/@coderline/alphatab-webpack) (one plugin for webpack 5 and Rspack 1/2). - **Vite** (and frameworks built on it): [`@coderline/alphatab-vite`](https://www.npmjs.com/package/@coderline/alphatab-vite). -- **Other bundlers** (esbuild, Rollup, Parcel, Turbopack, Angular's application builder): the app owns small worker and worklet entry files that import `@coderline/alphatab/worker` and `@coderline/alphatab/worklet`, and initializes alphaTab from `@coderline/alphatab/core`, or alphaTab is loaded unbundled. The samples show the setup per tool. +- **Turbopack** (Next.js): no plugin; alphaTab detects Turbopack and Turbopack bundles its workers. The Audio Worklet loads alphaTab's unbundled ES module, copied into `public/`. +- **Other bundlers** (esbuild, Rollup, Parcel, Angular's application builder): the app owns small worker and worklet entry files that import `@coderline/alphatab/worker` and `@coderline/alphatab/worklet`, and initializes alphaTab from `@coderline/alphatab/core`, or alphaTab is loaded unbundled. The samples show the setup per tool. ## Samples @@ -59,7 +60,7 @@ alphaTab runs its rendering and synthesizer in a Web Worker and its audio output | [`react-19-vite`](src/react-19-vite) | React 19 (React 18 works the same), Vite 8 | `@coderline/alphatab-vite` | 1 | | [`nextjs-16-webpack`](src/nextjs-16-webpack) | Next.js 16 with `--webpack` | `@coderline/alphatab-webpack` | 1 (dev: 3) | | [`nextjs-15-webpack`](src/nextjs-15-webpack) | Next.js 15 (webpack) | `@coderline/alphatab-webpack` | 1 (dev: 3) | -| [`nextjs-16-turbopack`](src/nextjs-16-turbopack) | Next.js 16 with Turbopack | own worker entry, copied worklet and core | 2 | +| [`nextjs-16-turbopack`](src/nextjs-16-turbopack) | Next.js 16 with Turbopack | workers bundled by Turbopack, worklet from the copied ES module (`core.scriptFile`) | 2 | | [`vue-3-vite`](src/vue-3-vite) | Vue 3, Vite 8 | `@coderline/alphatab-vite` | 1 | | [`nuxt-4`](src/nuxt-4) | Nuxt 4 (Vite 8), SSR | `@coderline/alphatab-vite` | 1 | | [`nuxt-3`](src/nuxt-3) | Nuxt 3 (Vite 7), SSR | `@coderline/alphatab-vite` | 1 | @@ -79,5 +80,5 @@ alphaTab runs its rendering and synthesizer in a Web Worker and its audio output ## Not supported -- **Next.js with Turbopack and the webpack plugin:** Turbopack runs no webpack plugins. The [`nextjs-16-turbopack`](src/nextjs-16-turbopack) sample shows the manual setup; with webpack (`next dev --webpack`, `next build --webpack`) the plugin works. +- **Next.js with Turbopack and the webpack plugin:** Turbopack runs no webpack plugins and bundles no Audio Worklets. The [`nextjs-16-turbopack`](src/nextjs-16-turbopack) sample shows the setup without the plugin; with webpack (`next dev --webpack`, `next build --webpack`) the plugin works and alphaTab loads once. - **Angular's application builder with alphaTab bundled:** the builder handles workers only in the app's own code and has no worklet support. The Angular esbuild samples keep alphaTab external instead. diff --git a/src/nextjs-16-turbopack/README.md b/src/nextjs-16-turbopack/README.md index 3d9e671..0cd3f95 100644 --- a/src/nextjs-16-turbopack/README.md +++ b/src/nextjs-16-turbopack/README.md @@ -2,7 +2,7 @@ Loads and renders "Iron Waltz" (`public/iron-waltz.gp`, a Guitar Pro file of alphaTab's own demo song) and plays it back in a Next.js App Router page, bundled with Turbopack, the default bundler of Next.js 16. -Turbopack cannot run the alphaTab webpack plugin, so this sample wires alphaTab's worker and worklet by hand. If you can use webpack (`next dev --webpack`, `next build --webpack`), prefer the `nextjs-16-webpack` sample: it needs no extra code and loads alphaTab once. +Turbopack bundles alphaTab's Web Workers but not its Audio Worklet, and it cannot run the alphaTab webpack plugin. This sample copies the files Turbopack does not handle into `public/`. If you can use webpack (`next dev --webpack`, `next build --webpack`), prefer the `nextjs-16-webpack` sample: it needs no copy step and loads alphaTab once. | Package | Version | | --- | --- | @@ -19,11 +19,11 @@ npm run build # copies the alphaTab assets, then next build npm run start # serve the production build ``` -## Why alphaTab needs extra setup with Turbopack +## What Turbopack does with alphaTab -- **No plugin.** Turbopack does not run webpack plugins; `turbopack.rules` only configures loaders, which cannot add worker or worklet entries. Nothing copies the font and SoundFont either. -- **Automatic initialization fails.** Turbopack compiles `import.meta.url` in client code to a `file:///ROOT/...` URL. With the default `@coderline/alphatab` import, alphaTab therefore does not detect that it runs as an ES module and never starts its module workers: rendering falls back to the main thread and playback fails ("Could not detect alphaTab script file"). -- **No worklet bundling.** Turbopack bundles `new Worker(new URL(...), { type: 'module' })`, but not audio worklets: `audioWorklet.addModule(new URL(...))` is copied as an unbundled file whose import of alphaTab's core does not resolve. +- **Workers: bundled.** alphaTab detects Turbopack and starts its workers with `new Worker(new URL('./alphaTab.worker.mjs', import.meta.url), { type: 'module' })`. Turbopack bundles them, and they share alphaTab's core chunk with the page. +- **Audio Worklet: not bundled.** Turbopack copies the worklet entry referenced by `audioWorklet.addModule(new URL(...))` as a plain file whose import of alphaTab's core does not resolve. Under Turbopack, alphaTab therefore loads the worklet from `core.scriptFile`. +- **No plugin.** Turbopack does not run webpack plugins, so nothing copies the font and SoundFont either. ## alphaTab setup @@ -32,37 +32,35 @@ npm run start # serve the production build Runs before `dev` and `build` (`predev`, `prebuild`) and copies from `node_modules/@coderline/alphatab/dist` into `public/alphatab/`: - `font/` and `soundfont/`, referenced by `core.fontDirectory` and `player.soundFont`; -- `alphaTab.worklet.mjs` and `alphaTab.core.mjs`, the unbundled worklet entry and the core it imports. +- `alphaTab.mjs` and `alphaTab.core.mjs`, the entry the Audio Worklet loads (`core.scriptFile`) and the core it imports. `public/alphatab/` is generated and listed in `.gitignore`. -### Worker entry (`src/app/alphaTab.worker.ts`) +### Component (`src/app/ScoreViewer.tsx`) -```ts -import '@coderline/alphatab/worker'; -``` - -### Initialization (`src/app/ScoreViewer.tsx`) - -The client component imports `@coderline/alphatab/core`, which does not initialize itself, and hands alphaTab the worker and worklet factories before creating the API: +The client component imports `@coderline/alphatab` and points alphaTab to the copied files: ```ts -import * as alphaTab from '@coderline/alphatab/core'; - -alphaTab.Environment.initializeMain( - (_settings, name) => new Worker(new URL('./alphaTab.worker.ts', import.meta.url), { type: 'module', name }), - context => context.audioWorklet.addModule('/alphatab/alphaTab.worklet.mjs') -); +import * as alphaTab from '@coderline/alphatab'; + +const api = new alphaTab.AlphaTabApi(element, { + core: { + file: '/iron-waltz.gp', + fontDirectory: '/alphatab/font/', + scriptFile: '/alphatab/alphaTab.mjs' + }, + player: { + enablePlayer: true, + enableCursor: true, + soundFont: '/alphatab/soundfont/sonivox.sf2' + } +}); ``` -- Turbopack bundles the worker from `alphaTab.worker.ts` and lets it share alphaTab's core chunk with the page. -- The worklet loads the files copied to `public/alphatab/`. -- `initializeMain` only stores the factories; calling it again (e.g. on every mount) is harmless. - The rest is the same as with webpack: `page.tsx` stays a server component, `ScoreViewer` is a client component that creates the `AlphaTabApi` in `useEffect` (client components are also rendered on the server; effects only run in the browser) and destroys it in the cleanup. Prefix the asset paths with your [`basePath`](https://nextjs.org/docs/app/api-reference/config/next-config-js/basePath) if you set one. ## Known limitations -- **alphaTab is loaded twice.** Page and workers share one core chunk, but the worklet loads its own unbundled, unminified copy of the core from `public/alphatab/alphaTab.core.mjs` (about 2.5 MB). -- The copied worklet and core come from the installed `@coderline/alphatab`; they are refreshed on every `dev` and `build`, so they never drift from the bundled version. +- **alphaTab is loaded twice.** Page and workers share one core chunk, but the Audio Worklet loads its own unbundled, unminified copy of the core from `public/alphatab/alphaTab.core.mjs` (about 2.5 MB). +- The copied files come from the installed `@coderline/alphatab`; they are refreshed on every `dev` and `build`, so they never drift from the bundled version. - `next dev` in Next.js 16.4 writes an `AGENTS.md` into the project folder (set `agentRules: false` in `next.config.ts` to disable it). It is unrelated to alphaTab. diff --git a/src/nextjs-16-turbopack/scripts/copy-alphatab-assets.mjs b/src/nextjs-16-turbopack/scripts/copy-alphatab-assets.mjs index e0620d0..0683a1f 100644 --- a/src/nextjs-16-turbopack/scripts/copy-alphatab-assets.mjs +++ b/src/nextjs-16-turbopack/scripts/copy-alphatab-assets.mjs @@ -1,5 +1,5 @@ // Copies what alphaTab loads at runtime but Turbopack cannot bundle into public/alphatab/: -// the font, the SoundFont, and the audio worklet entry with the alphaTab core it imports. +// the font, the SoundFont, and the entry the Audio Worklet loads, with the alphaTab core it imports. import fs from 'node:fs'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; @@ -9,6 +9,6 @@ const target = path.resolve('public/alphatab'); fs.rmSync(target, { recursive: true, force: true }); fs.mkdirSync(target, { recursive: true }); -for (const entry of ['font', 'soundfont', 'alphaTab.worklet.mjs', 'alphaTab.core.mjs']) { +for (const entry of ['font', 'soundfont', 'alphaTab.mjs', 'alphaTab.core.mjs']) { fs.cpSync(path.join(dist, entry), path.join(target, entry), { recursive: true }); } diff --git a/src/nextjs-16-turbopack/src/app/ScoreViewer.tsx b/src/nextjs-16-turbopack/src/app/ScoreViewer.tsx index 6ad3fff..ec81768 100644 --- a/src/nextjs-16-turbopack/src/app/ScoreViewer.tsx +++ b/src/nextjs-16-turbopack/src/app/ScoreViewer.tsx @@ -1,17 +1,8 @@ 'use client'; -import * as alphaTab from '@coderline/alphatab/core'; +import * as alphaTab from '@coderline/alphatab'; import { useEffect, useRef, useState } from 'react'; -function initializeAlphaTab() { - alphaTab.Environment.initializeMain( - // Turbopack bundles workers created in this form; the worker shares alphaTab's core chunk with the page. - (_settings, name) => new Worker(new URL('./alphaTab.worker.ts', import.meta.url), { type: 'module', name }), - // Turbopack cannot bundle worklets: the worklet loads the unbundled entry copied to public/. - context => context.audioWorklet.addModule('/alphatab/alphaTab.worklet.mjs') - ); -} - export function ScoreViewer() { const elementRef = useRef(null); const apiRef = useRef(null); @@ -20,11 +11,12 @@ export function ScoreViewer() { // Client components are rendered on the server too; effects run only in the browser. useEffect(() => { - initializeAlphaTab(); const api = new alphaTab.AlphaTabApi(elementRef.current!, { core: { file: '/iron-waltz.gp', - fontDirectory: '/alphatab/font/' + fontDirectory: '/alphatab/font/', + // Turbopack does not bundle Audio Worklets; alphaTab loads its worklet from this copied entry. + scriptFile: '/alphatab/alphaTab.mjs' }, player: { enablePlayer: true, diff --git a/src/nextjs-16-turbopack/src/app/alphaTab.worker.ts b/src/nextjs-16-turbopack/src/app/alphaTab.worker.ts deleted file mode 100644 index 4515408..0000000 --- a/src/nextjs-16-turbopack/src/app/alphaTab.worker.ts +++ /dev/null @@ -1 +0,0 @@ -import '@coderline/alphatab/worker'; From 80050239632dc6d5e8458aa7ccd403fbd0f93212 Mon Sep 17 00:00:00 2001 From: Danielku15 Date: Sat, 31 Oct 2026 17:47:17 +0100 Subject: [PATCH 3/5] docs: describe the Turbopack behavior of alphaTab 1.9 in the Next.js webpack sample --- src/nextjs-16-webpack/README.md | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/nextjs-16-webpack/README.md b/src/nextjs-16-webpack/README.md index d1b8654..8bf34b5 100644 --- a/src/nextjs-16-webpack/README.md +++ b/src/nextjs-16-webpack/README.md @@ -58,10 +58,10 @@ export default nextConfig; ## Turbopack -Turbopack, the default bundler of Next.js 16, cannot run the alphaTab webpack plugin, and alphaTab does not work with Turbopack out of the box: +Turbopack, the default bundler of Next.js 16, cannot run the alphaTab webpack plugin: -- Turbopack bundles `new Worker(new URL(...), { type: 'module' })` as a worker, but it compiles `import.meta.url` in client code to a `file://` URL. alphaTab then does not detect that it runs as an ES module and never takes its worker code path. The render worker and the synth worker fail ("Could not detect alphaTab script file, cannot initialize renderer"); rendering falls back to the main thread and there is no playback. -- Turbopack has no audio worklet support: `audioWorklet.addModule(new URL(...))` is copied as an unbundled file, whose import of alphaTab's core does not resolve. -- `turbopack.rules` only configures webpack loaders, which cannot add worker or worklet entries. +- alphaTab detects Turbopack and starts its workers in the form Turbopack bundles (`new Worker(new URL(...), { type: 'module' })`); they share alphaTab's core chunk with the page. +- Turbopack has no Audio Worklet support: `audioWorklet.addModule(new URL(...))` is copied as an unbundled file, whose import of alphaTab's core does not resolve. Under Turbopack, alphaTab loads the worklet from `core.scriptFile` instead, which must point to a copy of alphaTab's ES module. +- `turbopack.rules` only configures webpack loaders, which cannot add worker or worklet entries, and nothing copies the font and SoundFont. -It can be made to work by bypassing alphaTab's automatic initialization (`@coderline/alphatab/core`, own worker entry, worklet served from `public/`). See the `nextjs-16-turbopack` sample for that setup and its trade-offs. With the webpack plugin (this sample) no extra code is needed and alphaTab is loaded once, so webpack remains the recommended bundler for Next.js. +The `nextjs-16-turbopack` sample shows that setup: a script copies the font, the SoundFont and alphaTab's ES module into `public/`, and the worklet loads a second copy of alphaTab's core. With the webpack plugin (this sample) no copy step is needed and alphaTab is loaded once, so webpack remains the recommended bundler for Next.js. From ef0e94ef503015d9a2b13ea9d39042672f6c9414 Mon Sep 17 00:00:00 2001 From: Danielku15 Date: Sat, 31 Oct 2026 18:12:11 +0100 Subject: [PATCH 4/5] feat: let the Next.js Turbopack sample run below a basePath Next.js applies basePath to its routes and bundles, so the workers Turbopack bundles load from the sub-path, but not to the URLs the client builds for files in public/. The config exposes basePath as NEXT_PUBLIC_BASE_PATH and ScoreViewer prefixes the score, font directory, worklet script file and SoundFont with it. --- src/nextjs-16-turbopack/README.md | 16 +++++++++++----- src/nextjs-16-turbopack/next.config.ts | 8 +++++++- src/nextjs-16-turbopack/src/app/ScoreViewer.tsx | 11 +++++++---- 3 files changed, 25 insertions(+), 10 deletions(-) diff --git a/src/nextjs-16-turbopack/README.md b/src/nextjs-16-turbopack/README.md index 0cd3f95..a5d60f3 100644 --- a/src/nextjs-16-turbopack/README.md +++ b/src/nextjs-16-turbopack/README.md @@ -43,21 +43,27 @@ The client component imports `@coderline/alphatab` and points alphaTab to the co ```ts import * as alphaTab from '@coderline/alphatab'; +const basePath = process.env.NEXT_PUBLIC_BASE_PATH; + const api = new alphaTab.AlphaTabApi(element, { core: { - file: '/iron-waltz.gp', - fontDirectory: '/alphatab/font/', - scriptFile: '/alphatab/alphaTab.mjs' + file: `${basePath}/iron-waltz.gp`, + fontDirectory: `${basePath}/alphatab/font/`, + scriptFile: `${basePath}/alphatab/alphaTab.mjs` }, player: { enablePlayer: true, enableCursor: true, - soundFont: '/alphatab/soundfont/sonivox.sf2' + soundFont: `${basePath}/alphatab/soundfont/sonivox.sf2` } }); ``` -The rest is the same as with webpack: `page.tsx` stays a server component, `ScoreViewer` is a client component that creates the `AlphaTabApi` in `useEffect` (client components are also rendered on the server; effects only run in the browser) and destroys it in the cleanup. Prefix the asset paths with your [`basePath`](https://nextjs.org/docs/app/api-reference/config/next-config-js/basePath) if you set one. +The rest is the same as with webpack: `page.tsx` stays a server component, `ScoreViewer` is a client component that creates the `AlphaTabApi` in `useEffect` (client components are also rendered on the server; effects only run in the browser) and destroys it in the cleanup. + +### Serving from a sub-path (`next.config.ts`) + +To serve the app below a sub-path, set `basePath` in `next.config.ts` (e.g. `'/sub'`). Next.js applies [`basePath`](https://nextjs.org/docs/app/api-reference/config/next-config-js/basePath) to its routes and bundles, so the workers load without changes. It does not apply it to URLs your code builds for files in `public/`, so the config exposes it as `NEXT_PUBLIC_BASE_PATH` and `ScoreViewer` prefixes `core.file`, `core.fontDirectory`, `core.scriptFile` and `player.soundFont` with it. Without the prefix, these requests go to the server root, fail with 404, and nothing renders. ## Known limitations diff --git a/src/nextjs-16-turbopack/next.config.ts b/src/nextjs-16-turbopack/next.config.ts index b22af96..11fc46e 100644 --- a/src/nextjs-16-turbopack/next.config.ts +++ b/src/nextjs-16-turbopack/next.config.ts @@ -1,5 +1,11 @@ import type { NextConfig } from 'next'; -const nextConfig: NextConfig = {}; +// Set to the sub-path the app is served from, e.g. '/sub'. +const basePath = ''; + +const nextConfig: NextConfig = { + basePath, + env: { NEXT_PUBLIC_BASE_PATH: basePath } +}; export default nextConfig; diff --git a/src/nextjs-16-turbopack/src/app/ScoreViewer.tsx b/src/nextjs-16-turbopack/src/app/ScoreViewer.tsx index ec81768..f53359e 100644 --- a/src/nextjs-16-turbopack/src/app/ScoreViewer.tsx +++ b/src/nextjs-16-turbopack/src/app/ScoreViewer.tsx @@ -3,6 +3,9 @@ import * as alphaTab from '@coderline/alphatab'; import { useEffect, useRef, useState } from 'react'; +// Next.js does not prefix URLs into public/ with basePath; next.config.ts exposes it for that. +const basePath = process.env.NEXT_PUBLIC_BASE_PATH; + export function ScoreViewer() { const elementRef = useRef(null); const apiRef = useRef(null); @@ -13,15 +16,15 @@ export function ScoreViewer() { useEffect(() => { const api = new alphaTab.AlphaTabApi(elementRef.current!, { core: { - file: '/iron-waltz.gp', - fontDirectory: '/alphatab/font/', + file: `${basePath}/iron-waltz.gp`, + fontDirectory: `${basePath}/alphatab/font/`, // Turbopack does not bundle Audio Worklets; alphaTab loads its worklet from this copied entry. - scriptFile: '/alphatab/alphaTab.mjs' + scriptFile: `${basePath}/alphatab/alphaTab.mjs` }, player: { enablePlayer: true, enableCursor: true, - soundFont: '/alphatab/soundfont/sonivox.sf2' + soundFont: `${basePath}/alphatab/soundfont/sonivox.sf2` } }); apiRef.current = api; From 5f8c34d04ea1eb31a940576677b32ea0f9fd73de Mon Sep 17 00:00:00 2001 From: Danielku15 Date: Sat, 31 Oct 2026 18:39:59 +0100 Subject: [PATCH 5/5] feat: load alphaTab's minified ES modules in the Angular esbuild samples The minified entry files now import alphaTab.core.min.mjs and start the minified worker and worklet, so the samples copy and import-map alphaTab.min.mjs, alphaTab.core.min.mjs, alphaTab.worker.min.mjs and alphaTab.worklet.min.mjs. The READMEs describe the minified set and how to switch to the unminified one for debugging. --- src/angular-20-esbuild/README.md | 12 ++++++++---- src/angular-20-esbuild/angular.json | 2 +- src/angular-20-esbuild/src/index.html | 4 ++-- src/angular-21-esbuild/README.md | 12 ++++++++---- src/angular-21-esbuild/angular.json | 2 +- src/angular-21-esbuild/src/index.html | 4 ++-- src/angular-22-esbuild/README.md | 13 ++++++++----- src/angular-22-esbuild/angular.json | 2 +- src/angular-22-esbuild/src/index.html | 4 ++-- 9 files changed, 33 insertions(+), 22 deletions(-) diff --git a/src/angular-20-esbuild/README.md b/src/angular-20-esbuild/README.md index d61de26..2fd9527 100644 --- a/src/angular-20-esbuild/README.md +++ b/src/angular-20-esbuild/README.md @@ -32,9 +32,11 @@ alphaTab's core: 1. **`angular.json` → `externalDependencies: ["@coderline/alphatab"]`** keeps the import of `@coderline/alphatab` as a bare import in the output. 2. **`angular.json` → `assets`** copies from `node_modules/@coderline/alphatab/dist`: - `alphaTab.mjs`, `alphaTab.core.mjs`, `alphaTab.worker.mjs` and `alphaTab.worklet.mjs` to `/alphatab/`, + `alphaTab.min.mjs`, `alphaTab.core.min.mjs`, `alphaTab.worker.min.mjs` and `alphaTab.worklet.min.mjs` to + `/alphatab/`, `font/*` to `/font/` (`core.fontDirectory`) and `soundfont/sonivox.sf3` to `/soundfont/` (`player.soundFont`). -3. **`src/index.html`** maps `@coderline/alphatab` to `/alphatab/alphaTab.mjs` with an import map. +3. **`src/index.html`** maps `@coderline/alphatab` to `/alphatab/alphaTab.min.mjs` with an import map. + alphaTab then finds its worker and worklet next to that file. 4. **`angular.json` → `index.preloadInitial: false`** prevents a `` in the production `index.html`; browsers do not resolve it through the import map and report an error. @@ -51,7 +53,9 @@ from alphaTab events still update the view. - The files under `/alphatab/` are not content-hashed; make sure browsers fetch the new files after an alphaTab update. -- The core is served unminified (2.5 MB, about 520 kB gzip): alphaTab's `*.min.mjs` entries import the - unminified `alphaTab.core.mjs`. +- The copied files are alphaTab's minified set: `alphaTab.min.mjs` imports `alphaTab.core.min.mjs` (1.2 MB, + about 300 kB gzip) and starts `alphaTab.worker.min.mjs` and `alphaTab.worklet.min.mjs`, which import the same + core. For debugging, copy `alphaTab.{mjs,core.mjs,worker.mjs,worklet.mjs}` and map `@coderline/alphatab` to + `/alphatab/alphaTab.mjs` instead; each set references only its own files, so copy and map one set completely. - Bundling alphaTab and copying `alphaTab.{core,worker,worklet}.mjs` to the output root also works (verified with Angular 22) but loads 2 copies of the core; see `angular-22-esbuild` for the comparison. diff --git a/src/angular-20-esbuild/angular.json b/src/angular-20-esbuild/angular.json index 6d3d16f..26bee3f 100644 --- a/src/angular-20-esbuild/angular.json +++ b/src/angular-20-esbuild/angular.json @@ -41,7 +41,7 @@ "output": "soundfont" }, { - "glob": "alphaTab.{mjs,core.mjs,worker.mjs,worklet.mjs}", + "glob": "alphaTab.{min.mjs,core.min.mjs,worker.min.mjs,worklet.min.mjs}", "input": "node_modules/@coderline/alphatab/dist", "output": "alphatab" } diff --git a/src/angular-20-esbuild/src/index.html b/src/angular-20-esbuild/src/index.html index 96efe36..1921a95 100644 --- a/src/angular-20-esbuild/src/index.html +++ b/src/angular-20-esbuild/src/index.html @@ -6,8 +6,8 @@ - - + + diff --git a/src/angular-21-esbuild/README.md b/src/angular-21-esbuild/README.md index 160f14a..929c95c 100644 --- a/src/angular-21-esbuild/README.md +++ b/src/angular-21-esbuild/README.md @@ -32,9 +32,11 @@ alphaTab's core: 1. **`angular.json` → `externalDependencies: ["@coderline/alphatab"]`** keeps the import of `@coderline/alphatab` as a bare import in the output. 2. **`angular.json` → `assets`** copies from `node_modules/@coderline/alphatab/dist`: - `alphaTab.mjs`, `alphaTab.core.mjs`, `alphaTab.worker.mjs` and `alphaTab.worklet.mjs` to `/alphatab/`, + `alphaTab.min.mjs`, `alphaTab.core.min.mjs`, `alphaTab.worker.min.mjs` and `alphaTab.worklet.min.mjs` to + `/alphatab/`, `font/*` to `/font/` (`core.fontDirectory`) and `soundfont/sonivox.sf3` to `/soundfont/` (`player.soundFont`). -3. **`src/index.html`** maps `@coderline/alphatab` to `/alphatab/alphaTab.mjs` with an import map. +3. **`src/index.html`** maps `@coderline/alphatab` to `/alphatab/alphaTab.min.mjs` with an import map. + alphaTab then finds its worker and worklet next to that file. 4. **`angular.json` → `index.preloadInitial: false`** prevents a `` in the production `index.html`; browsers do not resolve it through the import map and report an error. @@ -47,7 +49,9 @@ later) and destroys it via `DestroyRef`. - The files under `/alphatab/` are not content-hashed; make sure browsers fetch the new files after an alphaTab update. -- The core is served unminified (2.5 MB, about 520 kB gzip): alphaTab's `*.min.mjs` entries import the - unminified `alphaTab.core.mjs`. +- The copied files are alphaTab's minified set: `alphaTab.min.mjs` imports `alphaTab.core.min.mjs` (1.2 MB, + about 300 kB gzip) and starts `alphaTab.worker.min.mjs` and `alphaTab.worklet.min.mjs`, which import the same + core. For debugging, copy `alphaTab.{mjs,core.mjs,worker.mjs,worklet.mjs}` and map `@coderline/alphatab` to + `/alphatab/alphaTab.mjs` instead; each set references only its own files, so copy and map one set completely. - Bundling alphaTab and copying `alphaTab.{core,worker,worklet}.mjs` to the output root also works (verified with Angular 22) but loads 2 copies of the core; see `angular-22-esbuild` for the comparison. diff --git a/src/angular-21-esbuild/angular.json b/src/angular-21-esbuild/angular.json index df8f1b2..ff40cb4 100644 --- a/src/angular-21-esbuild/angular.json +++ b/src/angular-21-esbuild/angular.json @@ -41,7 +41,7 @@ "output": "soundfont" }, { - "glob": "alphaTab.{mjs,core.mjs,worker.mjs,worklet.mjs}", + "glob": "alphaTab.{min.mjs,core.min.mjs,worker.min.mjs,worklet.min.mjs}", "input": "node_modules/@coderline/alphatab/dist", "output": "alphatab" } diff --git a/src/angular-21-esbuild/src/index.html b/src/angular-21-esbuild/src/index.html index 03424b1..8e60b71 100644 --- a/src/angular-21-esbuild/src/index.html +++ b/src/angular-21-esbuild/src/index.html @@ -6,8 +6,8 @@ - - + + diff --git a/src/angular-22-esbuild/README.md b/src/angular-22-esbuild/README.md index 2dc3a2f..dea5496 100644 --- a/src/angular-22-esbuild/README.md +++ b/src/angular-22-esbuild/README.md @@ -29,15 +29,16 @@ still points to `./alphaTab.worker.mjs` next to `main-*.js`, the file does not e renders (no error is reported). `ng serve` hides the problem: its Vite pre-bundling resolves the worker URL. This sample therefore does not bundle alphaTab. The browser loads alphaTab's own ES modules, and the page, -the workers and the worklet share one copy of alphaTab's core (`alphaTab.core.mjs`): +the workers and the worklet share one copy of alphaTab's core (`alphaTab.core.min.mjs`): 1. **`angular.json` → `externalDependencies: ["@coderline/alphatab"]`** keeps `import ... from '@coderline/alphatab'` as a bare import in the output, for the browser and the server bundle. 2. **`angular.json` → `assets`** copies from `node_modules/@coderline/alphatab/dist`: - - `alphaTab.mjs`, `alphaTab.core.mjs`, `alphaTab.worker.mjs`, `alphaTab.worklet.mjs` to `/alphatab/`, + - `alphaTab.min.mjs`, `alphaTab.core.min.mjs`, `alphaTab.worker.min.mjs`, `alphaTab.worklet.min.mjs` to + `/alphatab/`, - the Bravura music font (`font/*`) to `/font/` (setting `core.fontDirectory`), - the SoundFont `soundfont/sonivox.sf3` to `/soundfont/` (setting `player.soundFont`). -3. **`src/index.html`** has an import map that resolves `@coderline/alphatab` to `/alphatab/alphaTab.mjs`. +3. **`src/index.html`** has an import map that resolves `@coderline/alphatab` to `/alphatab/alphaTab.min.mjs`. alphaTab then finds its worker and worklet next to that file. 4. **`angular.json` → `index.preloadInitial: false`**: otherwise the production build adds ``, which browsers do not resolve through the import map; @@ -62,8 +63,10 @@ empty container. - The files under `/alphatab/` keep their names across alphaTab versions and are not content-hashed. The generated `server.ts` serves static files with `maxAge: '1y'`; make sure browsers fetch the new files after an alphaTab update (shorter cache lifetime for `/alphatab/`, or a versioned output folder). -- The core is served unminified (2.5 MB, about 520 kB gzip). alphaTab's `*.min.mjs` entry files import the - unminified `alphaTab.core.mjs`, so there is no minified set of files to copy instead. +- The copied files are alphaTab's minified set: `alphaTab.min.mjs` imports `alphaTab.core.min.mjs` (1.2 MB, + about 300 kB gzip) and starts `alphaTab.worker.min.mjs` and `alphaTab.worklet.min.mjs`, which import the same + core. For debugging, copy `alphaTab.{mjs,core.mjs,worker.mjs,worklet.mjs}` and map `@coderline/alphatab` to + `/alphatab/alphaTab.mjs` instead; each set references only its own files, so copy and map one set completely. Other setups that work with the application builder (verified with Angular 22), each with more copies of alphaTab's core: diff --git a/src/angular-22-esbuild/angular.json b/src/angular-22-esbuild/angular.json index 57a2d70..95d950b 100644 --- a/src/angular-22-esbuild/angular.json +++ b/src/angular-22-esbuild/angular.json @@ -51,7 +51,7 @@ "output": "soundfont" }, { - "glob": "alphaTab.{mjs,core.mjs,worker.mjs,worklet.mjs}", + "glob": "alphaTab.{min.mjs,core.min.mjs,worker.min.mjs,worklet.min.mjs}", "input": "node_modules/@coderline/alphatab/dist", "output": "alphatab" } diff --git a/src/angular-22-esbuild/src/index.html b/src/angular-22-esbuild/src/index.html index f3704b1..faa289c 100644 --- a/src/angular-22-esbuild/src/index.html +++ b/src/angular-22-esbuild/src/index.html @@ -6,8 +6,8 @@ - - + +