diff --git a/.gitignore b/.gitignore
new file mode 100644
index 0000000..a547bf3
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,24 @@
+# Logs
+logs
+*.log
+npm-debug.log*
+yarn-debug.log*
+yarn-error.log*
+pnpm-debug.log*
+lerna-debug.log*
+
+node_modules
+dist
+dist-ssr
+*.local
+
+# Editor directories and files
+.vscode/*
+!.vscode/extensions.json
+.idea
+.DS_Store
+*.suo
+*.ntvs*
+*.njsproj
+*.sln
+*.sw?
diff --git a/.prettierrc.json b/.prettierrc.json
new file mode 100644
index 0000000..234ca19
--- /dev/null
+++ b/.prettierrc.json
@@ -0,0 +1,3 @@
+{
+ "printWidth": 100
+}
\ No newline at end of file
diff --git a/.yarn/cache/@ampproject-remapping-npm-2.3.0-559c14eee4-f345152537.zip b/.yarn/cache/@ampproject-remapping-npm-2.3.0-559c14eee4-f345152537.zip
new file mode 100644
index 0000000..6e57c13
Binary files /dev/null and b/.yarn/cache/@ampproject-remapping-npm-2.3.0-559c14eee4-f345152537.zip differ
diff --git a/.yarn/cache/@babel-code-frame-npm-7.26.2-4902b56813-db2c2122af.zip b/.yarn/cache/@babel-code-frame-npm-7.26.2-4902b56813-db2c2122af.zip
new file mode 100644
index 0000000..0c47a20
Binary files /dev/null and b/.yarn/cache/@babel-code-frame-npm-7.26.2-4902b56813-db2c2122af.zip differ
diff --git a/.yarn/cache/@babel-compat-data-npm-7.26.3-ef0b896cd9-0bf4e49168.zip b/.yarn/cache/@babel-compat-data-npm-7.26.3-ef0b896cd9-0bf4e49168.zip
new file mode 100644
index 0000000..7660be9
Binary files /dev/null and b/.yarn/cache/@babel-compat-data-npm-7.26.3-ef0b896cd9-0bf4e49168.zip differ
diff --git a/.yarn/cache/@babel-core-npm-7.26.0-6f14d37f26-65767bfdb1.zip b/.yarn/cache/@babel-core-npm-7.26.0-6f14d37f26-65767bfdb1.zip
new file mode 100644
index 0000000..c9e41a4
Binary files /dev/null and b/.yarn/cache/@babel-core-npm-7.26.0-6f14d37f26-65767bfdb1.zip differ
diff --git a/.yarn/cache/@babel-generator-npm-7.26.3-b055e513c1-c1d8710cc1.zip b/.yarn/cache/@babel-generator-npm-7.26.3-b055e513c1-c1d8710cc1.zip
new file mode 100644
index 0000000..3a35f12
Binary files /dev/null and b/.yarn/cache/@babel-generator-npm-7.26.3-b055e513c1-c1d8710cc1.zip differ
diff --git a/.yarn/cache/@babel-helper-compilation-targets-npm-7.25.9-1e2a209538-8053fbfc21.zip b/.yarn/cache/@babel-helper-compilation-targets-npm-7.25.9-1e2a209538-8053fbfc21.zip
new file mode 100644
index 0000000..ae6057e
Binary files /dev/null and b/.yarn/cache/@babel-helper-compilation-targets-npm-7.25.9-1e2a209538-8053fbfc21.zip differ
diff --git a/.yarn/cache/@babel-helper-module-imports-npm-7.25.9-b86e31bde9-e090be5dee.zip b/.yarn/cache/@babel-helper-module-imports-npm-7.25.9-b86e31bde9-e090be5dee.zip
new file mode 100644
index 0000000..92d1507
Binary files /dev/null and b/.yarn/cache/@babel-helper-module-imports-npm-7.25.9-b86e31bde9-e090be5dee.zip differ
diff --git a/.yarn/cache/@babel-helper-module-transforms-npm-7.26.0-7557a3558f-9841d2a62f.zip b/.yarn/cache/@babel-helper-module-transforms-npm-7.26.0-7557a3558f-9841d2a62f.zip
new file mode 100644
index 0000000..e56392a
Binary files /dev/null and b/.yarn/cache/@babel-helper-module-transforms-npm-7.26.0-7557a3558f-9841d2a62f.zip differ
diff --git a/.yarn/cache/@babel-helper-plugin-utils-npm-7.25.9-462b7ade58-e347d87728.zip b/.yarn/cache/@babel-helper-plugin-utils-npm-7.25.9-462b7ade58-e347d87728.zip
new file mode 100644
index 0000000..0e2d24b
Binary files /dev/null and b/.yarn/cache/@babel-helper-plugin-utils-npm-7.25.9-462b7ade58-e347d87728.zip differ
diff --git a/.yarn/cache/@babel-helper-string-parser-npm-7.25.9-eade578078-c28656c52b.zip b/.yarn/cache/@babel-helper-string-parser-npm-7.25.9-eade578078-c28656c52b.zip
new file mode 100644
index 0000000..284b336
Binary files /dev/null and b/.yarn/cache/@babel-helper-string-parser-npm-7.25.9-eade578078-c28656c52b.zip differ
diff --git a/.yarn/cache/@babel-helper-validator-identifier-npm-7.25.9-2634b947a4-3f9b649be0.zip b/.yarn/cache/@babel-helper-validator-identifier-npm-7.25.9-2634b947a4-3f9b649be0.zip
new file mode 100644
index 0000000..dbd05a4
Binary files /dev/null and b/.yarn/cache/@babel-helper-validator-identifier-npm-7.25.9-2634b947a4-3f9b649be0.zip differ
diff --git a/.yarn/cache/@babel-helper-validator-option-npm-7.25.9-6450027d5d-9491b27559.zip b/.yarn/cache/@babel-helper-validator-option-npm-7.25.9-6450027d5d-9491b27559.zip
new file mode 100644
index 0000000..dd45f0b
Binary files /dev/null and b/.yarn/cache/@babel-helper-validator-option-npm-7.25.9-6450027d5d-9491b27559.zip differ
diff --git a/.yarn/cache/@babel-helpers-npm-7.26.0-d7ff09b837-fd4757f65d.zip b/.yarn/cache/@babel-helpers-npm-7.26.0-d7ff09b837-fd4757f65d.zip
new file mode 100644
index 0000000..7a7d3bd
Binary files /dev/null and b/.yarn/cache/@babel-helpers-npm-7.26.0-d7ff09b837-fd4757f65d.zip differ
diff --git a/.yarn/cache/@babel-parser-npm-7.26.3-552f4dcfdb-e7e3814b2d.zip b/.yarn/cache/@babel-parser-npm-7.26.3-552f4dcfdb-e7e3814b2d.zip
new file mode 100644
index 0000000..dc6d200
Binary files /dev/null and b/.yarn/cache/@babel-parser-npm-7.26.3-552f4dcfdb-e7e3814b2d.zip differ
diff --git a/.yarn/cache/@babel-plugin-transform-react-jsx-self-npm-7.25.9-763ed3d4ff-41c833cd7f.zip b/.yarn/cache/@babel-plugin-transform-react-jsx-self-npm-7.25.9-763ed3d4ff-41c833cd7f.zip
new file mode 100644
index 0000000..6af6861
Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-react-jsx-self-npm-7.25.9-763ed3d4ff-41c833cd7f.zip differ
diff --git a/.yarn/cache/@babel-plugin-transform-react-jsx-source-npm-7.25.9-c008c7a159-a3e0e5672e.zip b/.yarn/cache/@babel-plugin-transform-react-jsx-source-npm-7.25.9-c008c7a159-a3e0e5672e.zip
new file mode 100644
index 0000000..715ebe8
Binary files /dev/null and b/.yarn/cache/@babel-plugin-transform-react-jsx-source-npm-7.25.9-c008c7a159-a3e0e5672e.zip differ
diff --git a/.yarn/cache/@babel-template-npm-7.25.9-d903b7b6d5-e861180881.zip b/.yarn/cache/@babel-template-npm-7.25.9-d903b7b6d5-e861180881.zip
new file mode 100644
index 0000000..dfcd54f
Binary files /dev/null and b/.yarn/cache/@babel-template-npm-7.25.9-d903b7b6d5-e861180881.zip differ
diff --git a/.yarn/cache/@babel-traverse-npm-7.26.4-2a96cd6adb-30c81a80d6.zip b/.yarn/cache/@babel-traverse-npm-7.26.4-2a96cd6adb-30c81a80d6.zip
new file mode 100644
index 0000000..c689224
Binary files /dev/null and b/.yarn/cache/@babel-traverse-npm-7.26.4-2a96cd6adb-30c81a80d6.zip differ
diff --git a/.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-c31d054963.zip b/.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-c31d054963.zip
new file mode 100644
index 0000000..b34c7f7
Binary files /dev/null and b/.yarn/cache/@babel-types-npm-7.26.3-348c6bde15-c31d054963.zip differ
diff --git a/.yarn/cache/@bufbuild-protobuf-npm-2.2.3-85c848c4c1-30bf3ac563.zip b/.yarn/cache/@bufbuild-protobuf-npm-2.2.3-85c848c4c1-30bf3ac563.zip
new file mode 100644
index 0000000..ae07b49
Binary files /dev/null and b/.yarn/cache/@bufbuild-protobuf-npm-2.2.3-85c848c4c1-30bf3ac563.zip differ
diff --git a/.yarn/cache/@esbuild-linux-x64-npm-0.24.2-eb2f35022c-10.zip b/.yarn/cache/@esbuild-linux-x64-npm-0.24.2-eb2f35022c-10.zip
new file mode 100644
index 0000000..bb52556
Binary files /dev/null and b/.yarn/cache/@esbuild-linux-x64-npm-0.24.2-eb2f35022c-10.zip differ
diff --git a/.yarn/cache/@eslint-community-eslint-utils-npm-4.4.1-c83a271e90-ae92a11412.zip b/.yarn/cache/@eslint-community-eslint-utils-npm-4.4.1-c83a271e90-ae92a11412.zip
new file mode 100644
index 0000000..e45cb68
Binary files /dev/null and b/.yarn/cache/@eslint-community-eslint-utils-npm-4.4.1-c83a271e90-ae92a11412.zip differ
diff --git a/.yarn/cache/@eslint-community-regexpp-npm-4.12.1-ef4ab5217e-c08f1dd7dd.zip b/.yarn/cache/@eslint-community-regexpp-npm-4.12.1-ef4ab5217e-c08f1dd7dd.zip
new file mode 100644
index 0000000..b2fda8e
Binary files /dev/null and b/.yarn/cache/@eslint-community-regexpp-npm-4.12.1-ef4ab5217e-c08f1dd7dd.zip differ
diff --git a/.yarn/cache/@eslint-config-array-npm-0.19.1-2985276432-1243b01f46.zip b/.yarn/cache/@eslint-config-array-npm-0.19.1-2985276432-1243b01f46.zip
new file mode 100644
index 0000000..a3c73f1
Binary files /dev/null and b/.yarn/cache/@eslint-config-array-npm-0.19.1-2985276432-1243b01f46.zip differ
diff --git a/.yarn/cache/@eslint-core-npm-0.9.1-e156c07571-f2263f8f94.zip b/.yarn/cache/@eslint-core-npm-0.9.1-e156c07571-f2263f8f94.zip
new file mode 100644
index 0000000..a732bc2
Binary files /dev/null and b/.yarn/cache/@eslint-core-npm-0.9.1-e156c07571-f2263f8f94.zip differ
diff --git a/.yarn/cache/@eslint-eslintrc-npm-3.2.0-1f7efe7868-b32dd90ce7.zip b/.yarn/cache/@eslint-eslintrc-npm-3.2.0-1f7efe7868-b32dd90ce7.zip
new file mode 100644
index 0000000..c357d66
Binary files /dev/null and b/.yarn/cache/@eslint-eslintrc-npm-3.2.0-1f7efe7868-b32dd90ce7.zip differ
diff --git a/.yarn/cache/@eslint-js-npm-9.17.0-089fc0be41-1a89e62f5c.zip b/.yarn/cache/@eslint-js-npm-9.17.0-089fc0be41-1a89e62f5c.zip
new file mode 100644
index 0000000..6dc7cca
Binary files /dev/null and b/.yarn/cache/@eslint-js-npm-9.17.0-089fc0be41-1a89e62f5c.zip differ
diff --git a/.yarn/cache/@eslint-object-schema-npm-2.1.5-9f81710c7d-bb07ec5335.zip b/.yarn/cache/@eslint-object-schema-npm-2.1.5-9f81710c7d-bb07ec5335.zip
new file mode 100644
index 0000000..224c96b
Binary files /dev/null and b/.yarn/cache/@eslint-object-schema-npm-2.1.5-9f81710c7d-bb07ec5335.zip differ
diff --git a/.yarn/cache/@eslint-plugin-kit-npm-0.2.4-53d91df46d-e34d02ea1d.zip b/.yarn/cache/@eslint-plugin-kit-npm-0.2.4-53d91df46d-e34d02ea1d.zip
new file mode 100644
index 0000000..85a7bee
Binary files /dev/null and b/.yarn/cache/@eslint-plugin-kit-npm-0.2.4-53d91df46d-e34d02ea1d.zip differ
diff --git a/.yarn/cache/@humanfs-core-npm-0.19.1-e2e7aaeb6e-270d936be4.zip b/.yarn/cache/@humanfs-core-npm-0.19.1-e2e7aaeb6e-270d936be4.zip
new file mode 100644
index 0000000..0d6b538
Binary files /dev/null and b/.yarn/cache/@humanfs-core-npm-0.19.1-e2e7aaeb6e-270d936be4.zip differ
diff --git a/.yarn/cache/@humanfs-node-npm-0.16.6-6ee2cad587-6d43c67274.zip b/.yarn/cache/@humanfs-node-npm-0.16.6-6ee2cad587-6d43c67274.zip
new file mode 100644
index 0000000..a1296d5
Binary files /dev/null and b/.yarn/cache/@humanfs-node-npm-0.16.6-6ee2cad587-6d43c67274.zip differ
diff --git a/.yarn/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-e993950e34.zip b/.yarn/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-e993950e34.zip
new file mode 100644
index 0000000..de9ffbf
Binary files /dev/null and b/.yarn/cache/@humanwhocodes-module-importer-npm-1.0.1-9d07ed2e4a-e993950e34.zip differ
diff --git a/.yarn/cache/@humanwhocodes-retry-npm-0.3.1-9d87bf92c6-eb457f6995.zip b/.yarn/cache/@humanwhocodes-retry-npm-0.3.1-9d87bf92c6-eb457f6995.zip
new file mode 100644
index 0000000..b19be78
Binary files /dev/null and b/.yarn/cache/@humanwhocodes-retry-npm-0.3.1-9d87bf92c6-eb457f6995.zip differ
diff --git a/.yarn/cache/@humanwhocodes-retry-npm-0.4.1-44b0ee0d64-39fafc7319.zip b/.yarn/cache/@humanwhocodes-retry-npm-0.4.1-44b0ee0d64-39fafc7319.zip
new file mode 100644
index 0000000..96c451a
Binary files /dev/null and b/.yarn/cache/@humanwhocodes-retry-npm-0.4.1-44b0ee0d64-39fafc7319.zip differ
diff --git a/.yarn/cache/@isaacs-cliui-npm-8.0.2-f4364666d5-e9ed5fd27c.zip b/.yarn/cache/@isaacs-cliui-npm-8.0.2-f4364666d5-e9ed5fd27c.zip
new file mode 100644
index 0000000..c3657a4
Binary files /dev/null and b/.yarn/cache/@isaacs-cliui-npm-8.0.2-f4364666d5-e9ed5fd27c.zip differ
diff --git a/.yarn/cache/@isaacs-fs-minipass-npm-4.0.1-677026e841-4412e9e671.zip b/.yarn/cache/@isaacs-fs-minipass-npm-4.0.1-677026e841-4412e9e671.zip
new file mode 100644
index 0000000..813bbd7
Binary files /dev/null and b/.yarn/cache/@isaacs-fs-minipass-npm-4.0.1-677026e841-4412e9e671.zip differ
diff --git a/.yarn/cache/@jridgewell-gen-mapping-npm-0.3.8-647be6e286-9d3a56ab36.zip b/.yarn/cache/@jridgewell-gen-mapping-npm-0.3.8-647be6e286-9d3a56ab36.zip
new file mode 100644
index 0000000..492bafd
Binary files /dev/null and b/.yarn/cache/@jridgewell-gen-mapping-npm-0.3.8-647be6e286-9d3a56ab36.zip differ
diff --git a/.yarn/cache/@jridgewell-resolve-uri-npm-3.1.2-5bc4245992-97106439d7.zip b/.yarn/cache/@jridgewell-resolve-uri-npm-3.1.2-5bc4245992-97106439d7.zip
new file mode 100644
index 0000000..4b56ea4
Binary files /dev/null and b/.yarn/cache/@jridgewell-resolve-uri-npm-3.1.2-5bc4245992-97106439d7.zip differ
diff --git a/.yarn/cache/@jridgewell-set-array-npm-1.2.1-2312928209-832e513a85.zip b/.yarn/cache/@jridgewell-set-array-npm-1.2.1-2312928209-832e513a85.zip
new file mode 100644
index 0000000..8a72fc7
Binary files /dev/null and b/.yarn/cache/@jridgewell-set-array-npm-1.2.1-2312928209-832e513a85.zip differ
diff --git a/.yarn/cache/@jridgewell-sourcemap-codec-npm-1.5.0-dfd9126d71-4ed6123217.zip b/.yarn/cache/@jridgewell-sourcemap-codec-npm-1.5.0-dfd9126d71-4ed6123217.zip
new file mode 100644
index 0000000..2190c97
Binary files /dev/null and b/.yarn/cache/@jridgewell-sourcemap-codec-npm-1.5.0-dfd9126d71-4ed6123217.zip differ
diff --git a/.yarn/cache/@jridgewell-trace-mapping-npm-0.3.25-c076fd2279-dced32160a.zip b/.yarn/cache/@jridgewell-trace-mapping-npm-0.3.25-c076fd2279-dced32160a.zip
new file mode 100644
index 0000000..7e43080
Binary files /dev/null and b/.yarn/cache/@jridgewell-trace-mapping-npm-0.3.25-c076fd2279-dced32160a.zip differ
diff --git a/.yarn/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-6ab2a9b8a1.zip b/.yarn/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-6ab2a9b8a1.zip
new file mode 100644
index 0000000..be4c69e
Binary files /dev/null and b/.yarn/cache/@nodelib-fs.scandir-npm-2.1.5-89c67370dd-6ab2a9b8a1.zip differ
diff --git a/.yarn/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-012480b5ca.zip b/.yarn/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-012480b5ca.zip
new file mode 100644
index 0000000..e86d01e
Binary files /dev/null and b/.yarn/cache/@nodelib-fs.stat-npm-2.0.5-01f4dd3030-012480b5ca.zip differ
diff --git a/.yarn/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-40033e33e9.zip b/.yarn/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-40033e33e9.zip
new file mode 100644
index 0000000..3a3786d
Binary files /dev/null and b/.yarn/cache/@nodelib-fs.walk-npm-1.2.8-b4a89da548-40033e33e9.zip differ
diff --git a/.yarn/cache/@npmcli-agent-npm-3.0.0-169e79294f-775c9a7eb1.zip b/.yarn/cache/@npmcli-agent-npm-3.0.0-169e79294f-775c9a7eb1.zip
new file mode 100644
index 0000000..cc79116
Binary files /dev/null and b/.yarn/cache/@npmcli-agent-npm-3.0.0-169e79294f-775c9a7eb1.zip differ
diff --git a/.yarn/cache/@npmcli-fs-npm-4.0.0-1d9cc8a27b-405c4490e1.zip b/.yarn/cache/@npmcli-fs-npm-4.0.0-1d9cc8a27b-405c4490e1.zip
new file mode 100644
index 0000000..9cad040
Binary files /dev/null and b/.yarn/cache/@npmcli-fs-npm-4.0.0-1d9cc8a27b-405c4490e1.zip differ
diff --git a/.yarn/cache/@pkgjs-parseargs-npm-0.11.0-cd2a3fe948-115e8ceeec.zip b/.yarn/cache/@pkgjs-parseargs-npm-0.11.0-cd2a3fe948-115e8ceeec.zip
new file mode 100644
index 0000000..b6f5a1c
Binary files /dev/null and b/.yarn/cache/@pkgjs-parseargs-npm-0.11.0-cd2a3fe948-115e8ceeec.zip differ
diff --git a/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.30.1-904beae5a1-10.zip b/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.30.1-904beae5a1-10.zip
new file mode 100644
index 0000000..0abc070
Binary files /dev/null and b/.yarn/cache/@rollup-rollup-linux-x64-gnu-npm-4.30.1-904beae5a1-10.zip differ
diff --git a/.yarn/cache/@types-babel__core-npm-7.20.5-4d95f75eab-c32838d280.zip b/.yarn/cache/@types-babel__core-npm-7.20.5-4d95f75eab-c32838d280.zip
new file mode 100644
index 0000000..dca48b7
Binary files /dev/null and b/.yarn/cache/@types-babel__core-npm-7.20.5-4d95f75eab-c32838d280.zip differ
diff --git a/.yarn/cache/@types-babel__generator-npm-7.6.8-61be1197d9-b53c215e90.zip b/.yarn/cache/@types-babel__generator-npm-7.6.8-61be1197d9-b53c215e90.zip
new file mode 100644
index 0000000..1064ba0
Binary files /dev/null and b/.yarn/cache/@types-babel__generator-npm-7.6.8-61be1197d9-b53c215e90.zip differ
diff --git a/.yarn/cache/@types-babel__template-npm-7.4.4-f34eba762c-d7a02d2a9b.zip b/.yarn/cache/@types-babel__template-npm-7.4.4-f34eba762c-d7a02d2a9b.zip
new file mode 100644
index 0000000..c421f05
Binary files /dev/null and b/.yarn/cache/@types-babel__template-npm-7.4.4-f34eba762c-d7a02d2a9b.zip differ
diff --git a/.yarn/cache/@types-babel__traverse-npm-7.20.6-fac4243243-63d13a3789.zip b/.yarn/cache/@types-babel__traverse-npm-7.20.6-fac4243243-63d13a3789.zip
new file mode 100644
index 0000000..488a1c1
Binary files /dev/null and b/.yarn/cache/@types-babel__traverse-npm-7.20.6-fac4243243-63d13a3789.zip differ
diff --git a/.yarn/cache/@types-estree-npm-1.0.6-b5e23f2ea2-9d35d47509.zip b/.yarn/cache/@types-estree-npm-1.0.6-b5e23f2ea2-9d35d47509.zip
new file mode 100644
index 0000000..4eb7ed5
Binary files /dev/null and b/.yarn/cache/@types-estree-npm-1.0.6-b5e23f2ea2-9d35d47509.zip differ
diff --git a/.yarn/cache/@types-json-schema-npm-7.0.15-fd16381786-1a3c3e0623.zip b/.yarn/cache/@types-json-schema-npm-7.0.15-fd16381786-1a3c3e0623.zip
new file mode 100644
index 0000000..6811201
Binary files /dev/null and b/.yarn/cache/@types-json-schema-npm-7.0.15-fd16381786-1a3c3e0623.zip differ
diff --git a/.yarn/cache/@types-react-dom-npm-19.0.2-4dc66e9162-d2ae81ec0b.zip b/.yarn/cache/@types-react-dom-npm-19.0.2-4dc66e9162-d2ae81ec0b.zip
new file mode 100644
index 0000000..728ca90
Binary files /dev/null and b/.yarn/cache/@types-react-dom-npm-19.0.2-4dc66e9162-d2ae81ec0b.zip differ
diff --git a/.yarn/cache/@types-react-npm-19.0.4-49caea00d7-9c20c1bafc.zip b/.yarn/cache/@types-react-npm-19.0.4-49caea00d7-9c20c1bafc.zip
new file mode 100644
index 0000000..21a6627
Binary files /dev/null and b/.yarn/cache/@types-react-npm-19.0.4-49caea00d7-9c20c1bafc.zip differ
diff --git a/.yarn/cache/@types-reveal.js-npm-5.0.4-6c5b1f3a14-d5f72d9194.zip b/.yarn/cache/@types-reveal.js-npm-5.0.4-6c5b1f3a14-d5f72d9194.zip
new file mode 100644
index 0000000..e74deca
Binary files /dev/null and b/.yarn/cache/@types-reveal.js-npm-5.0.4-6c5b1f3a14-d5f72d9194.zip differ
diff --git a/.yarn/cache/@typescript-eslint-eslint-plugin-npm-8.19.1-b2a3ac2e78-c9a6d3181e.zip b/.yarn/cache/@typescript-eslint-eslint-plugin-npm-8.19.1-b2a3ac2e78-c9a6d3181e.zip
new file mode 100644
index 0000000..0e6155f
Binary files /dev/null and b/.yarn/cache/@typescript-eslint-eslint-plugin-npm-8.19.1-b2a3ac2e78-c9a6d3181e.zip differ
diff --git a/.yarn/cache/@typescript-eslint-parser-npm-8.19.1-934b08a27a-da3db63ff6.zip b/.yarn/cache/@typescript-eslint-parser-npm-8.19.1-934b08a27a-da3db63ff6.zip
new file mode 100644
index 0000000..dcc11c6
Binary files /dev/null and b/.yarn/cache/@typescript-eslint-parser-npm-8.19.1-934b08a27a-da3db63ff6.zip differ
diff --git a/.yarn/cache/@typescript-eslint-scope-manager-npm-8.19.1-da457e6eb8-6ffc78b153.zip b/.yarn/cache/@typescript-eslint-scope-manager-npm-8.19.1-da457e6eb8-6ffc78b153.zip
new file mode 100644
index 0000000..50cfbaf
Binary files /dev/null and b/.yarn/cache/@typescript-eslint-scope-manager-npm-8.19.1-da457e6eb8-6ffc78b153.zip differ
diff --git a/.yarn/cache/@typescript-eslint-type-utils-npm-8.19.1-2ad87106a6-123ecda88b.zip b/.yarn/cache/@typescript-eslint-type-utils-npm-8.19.1-2ad87106a6-123ecda88b.zip
new file mode 100644
index 0000000..d72ff49
Binary files /dev/null and b/.yarn/cache/@typescript-eslint-type-utils-npm-8.19.1-2ad87106a6-123ecda88b.zip differ
diff --git a/.yarn/cache/@typescript-eslint-types-npm-8.19.1-90bcc34378-5833a5f8fd.zip b/.yarn/cache/@typescript-eslint-types-npm-8.19.1-90bcc34378-5833a5f8fd.zip
new file mode 100644
index 0000000..03cf185
Binary files /dev/null and b/.yarn/cache/@typescript-eslint-types-npm-8.19.1-90bcc34378-5833a5f8fd.zip differ
diff --git a/.yarn/cache/@typescript-eslint-typescript-estree-npm-8.19.1-90782c2bb1-5de467452d.zip b/.yarn/cache/@typescript-eslint-typescript-estree-npm-8.19.1-90782c2bb1-5de467452d.zip
new file mode 100644
index 0000000..20da2e9
Binary files /dev/null and b/.yarn/cache/@typescript-eslint-typescript-estree-npm-8.19.1-90782c2bb1-5de467452d.zip differ
diff --git a/.yarn/cache/@typescript-eslint-utils-npm-8.19.1-497e6fd802-bb92116a53.zip b/.yarn/cache/@typescript-eslint-utils-npm-8.19.1-497e6fd802-bb92116a53.zip
new file mode 100644
index 0000000..6d2ef4c
Binary files /dev/null and b/.yarn/cache/@typescript-eslint-utils-npm-8.19.1-497e6fd802-bb92116a53.zip differ
diff --git a/.yarn/cache/@typescript-eslint-visitor-keys-npm-8.19.1-29b3acecde-510eb196e7.zip b/.yarn/cache/@typescript-eslint-visitor-keys-npm-8.19.1-29b3acecde-510eb196e7.zip
new file mode 100644
index 0000000..43013a4
Binary files /dev/null and b/.yarn/cache/@typescript-eslint-visitor-keys-npm-8.19.1-29b3acecde-510eb196e7.zip differ
diff --git a/.yarn/cache/@vitejs-plugin-react-npm-4.3.4-e5f654de44-3b220908ed.zip b/.yarn/cache/@vitejs-plugin-react-npm-4.3.4-e5f654de44-3b220908ed.zip
new file mode 100644
index 0000000..df1b397
Binary files /dev/null and b/.yarn/cache/@vitejs-plugin-react-npm-4.3.4-e5f654de44-3b220908ed.zip differ
diff --git a/.yarn/cache/abbrev-npm-2.0.0-0eb38a17e5-ca0a54e35b.zip b/.yarn/cache/abbrev-npm-2.0.0-0eb38a17e5-ca0a54e35b.zip
new file mode 100644
index 0000000..4b92f56
Binary files /dev/null and b/.yarn/cache/abbrev-npm-2.0.0-0eb38a17e5-ca0a54e35b.zip differ
diff --git a/.yarn/cache/acorn-jsx-npm-5.3.2-d7594599ea-d4371eaef7.zip b/.yarn/cache/acorn-jsx-npm-5.3.2-d7594599ea-d4371eaef7.zip
new file mode 100644
index 0000000..9f3385b
Binary files /dev/null and b/.yarn/cache/acorn-jsx-npm-5.3.2-d7594599ea-d4371eaef7.zip differ
diff --git a/.yarn/cache/acorn-npm-8.14.0-dc46f61424-6df29c3555.zip b/.yarn/cache/acorn-npm-8.14.0-dc46f61424-6df29c3555.zip
new file mode 100644
index 0000000..a32f020
Binary files /dev/null and b/.yarn/cache/acorn-npm-8.14.0-dc46f61424-6df29c3555.zip differ
diff --git a/.yarn/cache/agent-base-npm-7.1.3-b2c16e72fb-3db6d8d465.zip b/.yarn/cache/agent-base-npm-7.1.3-b2c16e72fb-3db6d8d465.zip
new file mode 100644
index 0000000..76775d5
Binary files /dev/null and b/.yarn/cache/agent-base-npm-7.1.3-b2c16e72fb-3db6d8d465.zip differ
diff --git a/.yarn/cache/ajv-npm-6.12.6-4b5105e2b2-48d6ad2113.zip b/.yarn/cache/ajv-npm-6.12.6-4b5105e2b2-48d6ad2113.zip
new file mode 100644
index 0000000..6ba42aa
Binary files /dev/null and b/.yarn/cache/ajv-npm-6.12.6-4b5105e2b2-48d6ad2113.zip differ
diff --git a/.yarn/cache/ansi-regex-npm-5.0.1-c963a48615-2aa4bb54ca.zip b/.yarn/cache/ansi-regex-npm-5.0.1-c963a48615-2aa4bb54ca.zip
new file mode 100644
index 0000000..fffc17a
Binary files /dev/null and b/.yarn/cache/ansi-regex-npm-5.0.1-c963a48615-2aa4bb54ca.zip differ
diff --git a/.yarn/cache/ansi-regex-npm-6.1.0-abe011aae4-495834a53b.zip b/.yarn/cache/ansi-regex-npm-6.1.0-abe011aae4-495834a53b.zip
new file mode 100644
index 0000000..a11b8b8
Binary files /dev/null and b/.yarn/cache/ansi-regex-npm-6.1.0-abe011aae4-495834a53b.zip differ
diff --git a/.yarn/cache/ansi-styles-npm-4.3.0-245c7d42c7-b4494dfbfc.zip b/.yarn/cache/ansi-styles-npm-4.3.0-245c7d42c7-b4494dfbfc.zip
new file mode 100644
index 0000000..d4e3ad5
Binary files /dev/null and b/.yarn/cache/ansi-styles-npm-4.3.0-245c7d42c7-b4494dfbfc.zip differ
diff --git a/.yarn/cache/ansi-styles-npm-6.2.1-d43647018c-70fdf883b7.zip b/.yarn/cache/ansi-styles-npm-6.2.1-d43647018c-70fdf883b7.zip
new file mode 100644
index 0000000..1d30075
Binary files /dev/null and b/.yarn/cache/ansi-styles-npm-6.2.1-d43647018c-70fdf883b7.zip differ
diff --git a/.yarn/cache/argparse-npm-2.0.1-faff7999e6-18640244e6.zip b/.yarn/cache/argparse-npm-2.0.1-faff7999e6-18640244e6.zip
new file mode 100644
index 0000000..df9860d
Binary files /dev/null and b/.yarn/cache/argparse-npm-2.0.1-faff7999e6-18640244e6.zip differ
diff --git a/.yarn/cache/balanced-match-npm-1.0.2-a53c126459-9706c088a2.zip b/.yarn/cache/balanced-match-npm-1.0.2-a53c126459-9706c088a2.zip
new file mode 100644
index 0000000..0693b6d
Binary files /dev/null and b/.yarn/cache/balanced-match-npm-1.0.2-a53c126459-9706c088a2.zip differ
diff --git a/.yarn/cache/brace-expansion-npm-1.1.11-fb95eb05ad-faf34a7bb0.zip b/.yarn/cache/brace-expansion-npm-1.1.11-fb95eb05ad-faf34a7bb0.zip
new file mode 100644
index 0000000..9deab64
Binary files /dev/null and b/.yarn/cache/brace-expansion-npm-1.1.11-fb95eb05ad-faf34a7bb0.zip differ
diff --git a/.yarn/cache/brace-expansion-npm-2.0.1-17aa2616f9-a61e7cd2e8.zip b/.yarn/cache/brace-expansion-npm-2.0.1-17aa2616f9-a61e7cd2e8.zip
new file mode 100644
index 0000000..11d5bd0
Binary files /dev/null and b/.yarn/cache/brace-expansion-npm-2.0.1-17aa2616f9-a61e7cd2e8.zip differ
diff --git a/.yarn/cache/braces-npm-3.0.3-582c14023c-fad11a0d46.zip b/.yarn/cache/braces-npm-3.0.3-582c14023c-fad11a0d46.zip
new file mode 100644
index 0000000..bebc938
Binary files /dev/null and b/.yarn/cache/braces-npm-3.0.3-582c14023c-fad11a0d46.zip differ
diff --git a/.yarn/cache/browserslist-npm-4.24.4-2fdeb5face-11fda105e8.zip b/.yarn/cache/browserslist-npm-4.24.4-2fdeb5face-11fda105e8.zip
new file mode 100644
index 0000000..a4906b7
Binary files /dev/null and b/.yarn/cache/browserslist-npm-4.24.4-2fdeb5face-11fda105e8.zip differ
diff --git a/.yarn/cache/buffer-builder-npm-0.2.0-14ffbed838-16bd9eb8ac.zip b/.yarn/cache/buffer-builder-npm-0.2.0-14ffbed838-16bd9eb8ac.zip
new file mode 100644
index 0000000..18ca6f0
Binary files /dev/null and b/.yarn/cache/buffer-builder-npm-0.2.0-14ffbed838-16bd9eb8ac.zip differ
diff --git a/.yarn/cache/cacache-npm-19.0.1-395cba1936-ea026b27b1.zip b/.yarn/cache/cacache-npm-19.0.1-395cba1936-ea026b27b1.zip
new file mode 100644
index 0000000..77437d5
Binary files /dev/null and b/.yarn/cache/cacache-npm-19.0.1-395cba1936-ea026b27b1.zip differ
diff --git a/.yarn/cache/callsites-npm-3.1.0-268f989910-072d17b6ab.zip b/.yarn/cache/callsites-npm-3.1.0-268f989910-072d17b6ab.zip
new file mode 100644
index 0000000..be6414c
Binary files /dev/null and b/.yarn/cache/callsites-npm-3.1.0-268f989910-072d17b6ab.zip differ
diff --git a/.yarn/cache/caniuse-lite-npm-1.0.30001692-6af96beb31-92449ec9e9.zip b/.yarn/cache/caniuse-lite-npm-1.0.30001692-6af96beb31-92449ec9e9.zip
new file mode 100644
index 0000000..b1fb5c8
Binary files /dev/null and b/.yarn/cache/caniuse-lite-npm-1.0.30001692-6af96beb31-92449ec9e9.zip differ
diff --git a/.yarn/cache/chalk-npm-4.1.2-ba8b67ab80-cb3f3e5949.zip b/.yarn/cache/chalk-npm-4.1.2-ba8b67ab80-cb3f3e5949.zip
new file mode 100644
index 0000000..15523b0
Binary files /dev/null and b/.yarn/cache/chalk-npm-4.1.2-ba8b67ab80-cb3f3e5949.zip differ
diff --git a/.yarn/cache/chownr-npm-3.0.0-5275e85d25-b63cb1f73d.zip b/.yarn/cache/chownr-npm-3.0.0-5275e85d25-b63cb1f73d.zip
new file mode 100644
index 0000000..eeb6433
Binary files /dev/null and b/.yarn/cache/chownr-npm-3.0.0-5275e85d25-b63cb1f73d.zip differ
diff --git a/.yarn/cache/color-convert-npm-2.0.1-79730e935b-fa00c91b43.zip b/.yarn/cache/color-convert-npm-2.0.1-79730e935b-fa00c91b43.zip
new file mode 100644
index 0000000..d7ba1fb
Binary files /dev/null and b/.yarn/cache/color-convert-npm-2.0.1-79730e935b-fa00c91b43.zip differ
diff --git a/.yarn/cache/color-name-npm-1.1.4-025792b0ea-b044585952.zip b/.yarn/cache/color-name-npm-1.1.4-025792b0ea-b044585952.zip
new file mode 100644
index 0000000..ce1ffc4
Binary files /dev/null and b/.yarn/cache/color-name-npm-1.1.4-025792b0ea-b044585952.zip differ
diff --git a/.yarn/cache/colorjs.io-npm-0.5.2-4966f6c0a3-a6f6345865.zip b/.yarn/cache/colorjs.io-npm-0.5.2-4966f6c0a3-a6f6345865.zip
new file mode 100644
index 0000000..ff525bf
Binary files /dev/null and b/.yarn/cache/colorjs.io-npm-0.5.2-4966f6c0a3-a6f6345865.zip differ
diff --git a/.yarn/cache/concat-map-npm-0.0.1-85a921b7ee-9680699c8e.zip b/.yarn/cache/concat-map-npm-0.0.1-85a921b7ee-9680699c8e.zip
new file mode 100644
index 0000000..967fcdf
Binary files /dev/null and b/.yarn/cache/concat-map-npm-0.0.1-85a921b7ee-9680699c8e.zip differ
diff --git a/.yarn/cache/convert-source-map-npm-2.0.0-7ab664dc4e-c987be3ec0.zip b/.yarn/cache/convert-source-map-npm-2.0.0-7ab664dc4e-c987be3ec0.zip
new file mode 100644
index 0000000..4fa9535
Binary files /dev/null and b/.yarn/cache/convert-source-map-npm-2.0.0-7ab664dc4e-c987be3ec0.zip differ
diff --git a/.yarn/cache/cross-spawn-npm-7.0.6-264bddf921-0d52657d7a.zip b/.yarn/cache/cross-spawn-npm-7.0.6-264bddf921-0d52657d7a.zip
new file mode 100644
index 0000000..7553dce
Binary files /dev/null and b/.yarn/cache/cross-spawn-npm-7.0.6-264bddf921-0d52657d7a.zip differ
diff --git a/.yarn/cache/csstype-npm-3.1.3-e9a1c85013-f593cce41f.zip b/.yarn/cache/csstype-npm-3.1.3-e9a1c85013-f593cce41f.zip
new file mode 100644
index 0000000..b08ed9c
Binary files /dev/null and b/.yarn/cache/csstype-npm-3.1.3-e9a1c85013-f593cce41f.zip differ
diff --git a/.yarn/cache/debug-npm-4.4.0-f6efe76023-1847944c2e.zip b/.yarn/cache/debug-npm-4.4.0-f6efe76023-1847944c2e.zip
new file mode 100644
index 0000000..5bce5f6
Binary files /dev/null and b/.yarn/cache/debug-npm-4.4.0-f6efe76023-1847944c2e.zip differ
diff --git a/.yarn/cache/deep-is-npm-0.1.4-88938b5a67-ec12d074ae.zip b/.yarn/cache/deep-is-npm-0.1.4-88938b5a67-ec12d074ae.zip
new file mode 100644
index 0000000..cabb051
Binary files /dev/null and b/.yarn/cache/deep-is-npm-0.1.4-88938b5a67-ec12d074ae.zip differ
diff --git a/.yarn/cache/eastasianwidth-npm-0.2.0-c37eb16bd1-9b1d3e1bae.zip b/.yarn/cache/eastasianwidth-npm-0.2.0-c37eb16bd1-9b1d3e1bae.zip
new file mode 100644
index 0000000..7de6d2c
Binary files /dev/null and b/.yarn/cache/eastasianwidth-npm-0.2.0-c37eb16bd1-9b1d3e1bae.zip differ
diff --git a/.yarn/cache/electron-to-chromium-npm-1.5.79-447ec14608-c5b25ba04b.zip b/.yarn/cache/electron-to-chromium-npm-1.5.79-447ec14608-c5b25ba04b.zip
new file mode 100644
index 0000000..ee6a7ef
Binary files /dev/null and b/.yarn/cache/electron-to-chromium-npm-1.5.79-447ec14608-c5b25ba04b.zip differ
diff --git a/.yarn/cache/emoji-regex-npm-8.0.0-213764015c-c72d67a682.zip b/.yarn/cache/emoji-regex-npm-8.0.0-213764015c-c72d67a682.zip
new file mode 100644
index 0000000..0b1929b
Binary files /dev/null and b/.yarn/cache/emoji-regex-npm-8.0.0-213764015c-c72d67a682.zip differ
diff --git a/.yarn/cache/emoji-regex-npm-9.2.2-e6fac8d058-915acf859c.zip b/.yarn/cache/emoji-regex-npm-9.2.2-e6fac8d058-915acf859c.zip
new file mode 100644
index 0000000..830adfb
Binary files /dev/null and b/.yarn/cache/emoji-regex-npm-9.2.2-e6fac8d058-915acf859c.zip differ
diff --git a/.yarn/cache/encoding-npm-0.1.13-82a1837d30-bb98632f8f.zip b/.yarn/cache/encoding-npm-0.1.13-82a1837d30-bb98632f8f.zip
new file mode 100644
index 0000000..202e931
Binary files /dev/null and b/.yarn/cache/encoding-npm-0.1.13-82a1837d30-bb98632f8f.zip differ
diff --git a/.yarn/cache/env-paths-npm-2.2.1-7c7577428c-65b5df55a8.zip b/.yarn/cache/env-paths-npm-2.2.1-7c7577428c-65b5df55a8.zip
new file mode 100644
index 0000000..5fecf17
Binary files /dev/null and b/.yarn/cache/env-paths-npm-2.2.1-7c7577428c-65b5df55a8.zip differ
diff --git a/.yarn/cache/err-code-npm-2.0.3-082e0ff9a7-1d20d825cd.zip b/.yarn/cache/err-code-npm-2.0.3-082e0ff9a7-1d20d825cd.zip
new file mode 100644
index 0000000..7112b0a
Binary files /dev/null and b/.yarn/cache/err-code-npm-2.0.3-082e0ff9a7-1d20d825cd.zip differ
diff --git a/.yarn/cache/esbuild-npm-0.24.2-0dcfc14be5-95425071c9.zip b/.yarn/cache/esbuild-npm-0.24.2-0dcfc14be5-95425071c9.zip
new file mode 100644
index 0000000..467f49b
Binary files /dev/null and b/.yarn/cache/esbuild-npm-0.24.2-0dcfc14be5-95425071c9.zip differ
diff --git a/.yarn/cache/escalade-npm-3.2.0-19b50dd48f-9d7169e396.zip b/.yarn/cache/escalade-npm-3.2.0-19b50dd48f-9d7169e396.zip
new file mode 100644
index 0000000..a8ea564
Binary files /dev/null and b/.yarn/cache/escalade-npm-3.2.0-19b50dd48f-9d7169e396.zip differ
diff --git a/.yarn/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-98b48897d9.zip b/.yarn/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-98b48897d9.zip
new file mode 100644
index 0000000..c23e416
Binary files /dev/null and b/.yarn/cache/escape-string-regexp-npm-4.0.0-4b531d8d59-98b48897d9.zip differ
diff --git a/.yarn/cache/eslint-npm-9.17.0-75805166d6-a48ee67dd4.zip b/.yarn/cache/eslint-npm-9.17.0-75805166d6-a48ee67dd4.zip
new file mode 100644
index 0000000..2a4c6bf
Binary files /dev/null and b/.yarn/cache/eslint-npm-9.17.0-75805166d6-a48ee67dd4.zip differ
diff --git a/.yarn/cache/eslint-plugin-react-hooks-npm-5.1.0-cc261f8c02-b6778fd9e1.zip b/.yarn/cache/eslint-plugin-react-hooks-npm-5.1.0-cc261f8c02-b6778fd9e1.zip
new file mode 100644
index 0000000..26171d8
Binary files /dev/null and b/.yarn/cache/eslint-plugin-react-hooks-npm-5.1.0-cc261f8c02-b6778fd9e1.zip differ
diff --git a/.yarn/cache/eslint-plugin-react-refresh-npm-0.4.16-f9192a6b2c-72f0220979.zip b/.yarn/cache/eslint-plugin-react-refresh-npm-0.4.16-f9192a6b2c-72f0220979.zip
new file mode 100644
index 0000000..3f74474
Binary files /dev/null and b/.yarn/cache/eslint-plugin-react-refresh-npm-0.4.16-f9192a6b2c-72f0220979.zip differ
diff --git a/.yarn/cache/eslint-scope-npm-8.2.0-d74e314c9e-cd9ab60d5a.zip b/.yarn/cache/eslint-scope-npm-8.2.0-d74e314c9e-cd9ab60d5a.zip
new file mode 100644
index 0000000..fe85dbc
Binary files /dev/null and b/.yarn/cache/eslint-scope-npm-8.2.0-d74e314c9e-cd9ab60d5a.zip differ
diff --git a/.yarn/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-3f357c554a.zip b/.yarn/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-3f357c554a.zip
new file mode 100644
index 0000000..c4c299d
Binary files /dev/null and b/.yarn/cache/eslint-visitor-keys-npm-3.4.3-a356ac7e46-3f357c554a.zip differ
diff --git a/.yarn/cache/eslint-visitor-keys-npm-4.2.0-a591434af3-9651b3356b.zip b/.yarn/cache/eslint-visitor-keys-npm-4.2.0-a591434af3-9651b3356b.zip
new file mode 100644
index 0000000..405b3e8
Binary files /dev/null and b/.yarn/cache/eslint-visitor-keys-npm-4.2.0-a591434af3-9651b3356b.zip differ
diff --git a/.yarn/cache/espree-npm-10.3.0-e5b10052f5-3412d44d42.zip b/.yarn/cache/espree-npm-10.3.0-e5b10052f5-3412d44d42.zip
new file mode 100644
index 0000000..e03ee28
Binary files /dev/null and b/.yarn/cache/espree-npm-10.3.0-e5b10052f5-3412d44d42.zip differ
diff --git a/.yarn/cache/esquery-npm-1.6.0-16fee31531-c587fb8ec9.zip b/.yarn/cache/esquery-npm-1.6.0-16fee31531-c587fb8ec9.zip
new file mode 100644
index 0000000..28f23bc
Binary files /dev/null and b/.yarn/cache/esquery-npm-1.6.0-16fee31531-c587fb8ec9.zip differ
diff --git a/.yarn/cache/esrecurse-npm-4.3.0-10b86a887a-44ffcd89e7.zip b/.yarn/cache/esrecurse-npm-4.3.0-10b86a887a-44ffcd89e7.zip
new file mode 100644
index 0000000..9f84b01
Binary files /dev/null and b/.yarn/cache/esrecurse-npm-4.3.0-10b86a887a-44ffcd89e7.zip differ
diff --git a/.yarn/cache/estraverse-npm-5.3.0-03284f8f63-37cbe6e9a6.zip b/.yarn/cache/estraverse-npm-5.3.0-03284f8f63-37cbe6e9a6.zip
new file mode 100644
index 0000000..d4853bd
Binary files /dev/null and b/.yarn/cache/estraverse-npm-5.3.0-03284f8f63-37cbe6e9a6.zip differ
diff --git a/.yarn/cache/esutils-npm-2.0.3-f865beafd5-b23acd2479.zip b/.yarn/cache/esutils-npm-2.0.3-f865beafd5-b23acd2479.zip
new file mode 100644
index 0000000..9c5e457
Binary files /dev/null and b/.yarn/cache/esutils-npm-2.0.3-f865beafd5-b23acd2479.zip differ
diff --git a/.yarn/cache/exponential-backoff-npm-3.1.1-04df458b30-2d9bbb6473.zip b/.yarn/cache/exponential-backoff-npm-3.1.1-04df458b30-2d9bbb6473.zip
new file mode 100644
index 0000000..8c43616
Binary files /dev/null and b/.yarn/cache/exponential-backoff-npm-3.1.1-04df458b30-2d9bbb6473.zip differ
diff --git a/.yarn/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-e21a9d8d84.zip b/.yarn/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-e21a9d8d84.zip
new file mode 100644
index 0000000..c060089
Binary files /dev/null and b/.yarn/cache/fast-deep-equal-npm-3.1.3-790edcfcf5-e21a9d8d84.zip differ
diff --git a/.yarn/cache/fast-glob-npm-3.3.3-2a653be532-dcc6432b26.zip b/.yarn/cache/fast-glob-npm-3.3.3-2a653be532-dcc6432b26.zip
new file mode 100644
index 0000000..877464c
Binary files /dev/null and b/.yarn/cache/fast-glob-npm-3.3.3-2a653be532-dcc6432b26.zip differ
diff --git a/.yarn/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-2c20055c1f.zip b/.yarn/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-2c20055c1f.zip
new file mode 100644
index 0000000..1f716c4
Binary files /dev/null and b/.yarn/cache/fast-json-stable-stringify-npm-2.1.0-02e8905fda-2c20055c1f.zip differ
diff --git a/.yarn/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-eb7e220ecf.zip b/.yarn/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-eb7e220ecf.zip
new file mode 100644
index 0000000..faf077d
Binary files /dev/null and b/.yarn/cache/fast-levenshtein-npm-2.0.6-fcd74b8df5-eb7e220ecf.zip differ
diff --git a/.yarn/cache/fastq-npm-1.18.0-25fe4d7171-c5b501333d.zip b/.yarn/cache/fastq-npm-1.18.0-25fe4d7171-c5b501333d.zip
new file mode 100644
index 0000000..1923c6f
Binary files /dev/null and b/.yarn/cache/fastq-npm-1.18.0-25fe4d7171-c5b501333d.zip differ
diff --git a/.yarn/cache/file-entry-cache-npm-8.0.0-5b09d19a83-afe55c4de4.zip b/.yarn/cache/file-entry-cache-npm-8.0.0-5b09d19a83-afe55c4de4.zip
new file mode 100644
index 0000000..58498b4
Binary files /dev/null and b/.yarn/cache/file-entry-cache-npm-8.0.0-5b09d19a83-afe55c4de4.zip differ
diff --git a/.yarn/cache/fill-range-npm-7.1.1-bf491486db-a7095cb39e.zip b/.yarn/cache/fill-range-npm-7.1.1-bf491486db-a7095cb39e.zip
new file mode 100644
index 0000000..2dbb57d
Binary files /dev/null and b/.yarn/cache/fill-range-npm-7.1.1-bf491486db-a7095cb39e.zip differ
diff --git a/.yarn/cache/find-up-npm-5.0.0-e03e9b796d-07955e3573.zip b/.yarn/cache/find-up-npm-5.0.0-e03e9b796d-07955e3573.zip
new file mode 100644
index 0000000..034f3a0
Binary files /dev/null and b/.yarn/cache/find-up-npm-5.0.0-e03e9b796d-07955e3573.zip differ
diff --git a/.yarn/cache/flat-cache-npm-4.0.1-12bf2455f7-58ce851d90.zip b/.yarn/cache/flat-cache-npm-4.0.1-12bf2455f7-58ce851d90.zip
new file mode 100644
index 0000000..dddd10d
Binary files /dev/null and b/.yarn/cache/flat-cache-npm-4.0.1-12bf2455f7-58ce851d90.zip differ
diff --git a/.yarn/cache/flatted-npm-3.3.2-6bf77e6e67-ac3c159742.zip b/.yarn/cache/flatted-npm-3.3.2-6bf77e6e67-ac3c159742.zip
new file mode 100644
index 0000000..bf17b21
Binary files /dev/null and b/.yarn/cache/flatted-npm-3.3.2-6bf77e6e67-ac3c159742.zip differ
diff --git a/.yarn/cache/foreground-child-npm-3.3.0-b8be745271-e3a60480f3.zip b/.yarn/cache/foreground-child-npm-3.3.0-b8be745271-e3a60480f3.zip
new file mode 100644
index 0000000..665941b
Binary files /dev/null and b/.yarn/cache/foreground-child-npm-3.3.0-b8be745271-e3a60480f3.zip differ
diff --git a/.yarn/cache/fs-minipass-npm-3.0.3-d148d6ac19-af143246cf.zip b/.yarn/cache/fs-minipass-npm-3.0.3-d148d6ac19-af143246cf.zip
new file mode 100644
index 0000000..ee7e68e
Binary files /dev/null and b/.yarn/cache/fs-minipass-npm-3.0.3-d148d6ac19-af143246cf.zip differ
diff --git a/.yarn/cache/fsevents-npm-2.3.3-ce9fb0ffae-4c1ade961d.zip b/.yarn/cache/fsevents-npm-2.3.3-ce9fb0ffae-4c1ade961d.zip
new file mode 100644
index 0000000..7164f87
Binary files /dev/null and b/.yarn/cache/fsevents-npm-2.3.3-ce9fb0ffae-4c1ade961d.zip differ
diff --git a/.yarn/cache/gensync-npm-1.0.0-beta.2-224666d72f-17d8333460.zip b/.yarn/cache/gensync-npm-1.0.0-beta.2-224666d72f-17d8333460.zip
new file mode 100644
index 0000000..0b0604b
Binary files /dev/null and b/.yarn/cache/gensync-npm-1.0.0-beta.2-224666d72f-17d8333460.zip differ
diff --git a/.yarn/cache/glob-npm-10.4.5-8c63175f05-698dfe1182.zip b/.yarn/cache/glob-npm-10.4.5-8c63175f05-698dfe1182.zip
new file mode 100644
index 0000000..916b830
Binary files /dev/null and b/.yarn/cache/glob-npm-10.4.5-8c63175f05-698dfe1182.zip differ
diff --git a/.yarn/cache/glob-parent-npm-5.1.2-021ab32634-32cd106ce8.zip b/.yarn/cache/glob-parent-npm-5.1.2-021ab32634-32cd106ce8.zip
new file mode 100644
index 0000000..5031609
Binary files /dev/null and b/.yarn/cache/glob-parent-npm-5.1.2-021ab32634-32cd106ce8.zip differ
diff --git a/.yarn/cache/glob-parent-npm-6.0.2-2cbef12738-c13ee97978.zip b/.yarn/cache/glob-parent-npm-6.0.2-2cbef12738-c13ee97978.zip
new file mode 100644
index 0000000..2a4d60d
Binary files /dev/null and b/.yarn/cache/glob-parent-npm-6.0.2-2cbef12738-c13ee97978.zip differ
diff --git a/.yarn/cache/globals-npm-11.12.0-1fa7f41a6c-9f054fa38f.zip b/.yarn/cache/globals-npm-11.12.0-1fa7f41a6c-9f054fa38f.zip
new file mode 100644
index 0000000..ce4cf70
Binary files /dev/null and b/.yarn/cache/globals-npm-11.12.0-1fa7f41a6c-9f054fa38f.zip differ
diff --git a/.yarn/cache/globals-npm-14.0.0-5fc3d8d5da-03939c8af9.zip b/.yarn/cache/globals-npm-14.0.0-5fc3d8d5da-03939c8af9.zip
new file mode 100644
index 0000000..d912b49
Binary files /dev/null and b/.yarn/cache/globals-npm-14.0.0-5fc3d8d5da-03939c8af9.zip differ
diff --git a/.yarn/cache/globals-npm-15.14.0-1cb78aecb8-e35ffbdbc0.zip b/.yarn/cache/globals-npm-15.14.0-1cb78aecb8-e35ffbdbc0.zip
new file mode 100644
index 0000000..1f71fbd
Binary files /dev/null and b/.yarn/cache/globals-npm-15.14.0-1cb78aecb8-e35ffbdbc0.zip differ
diff --git a/.yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-bf152d0ed1.zip b/.yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-bf152d0ed1.zip
new file mode 100644
index 0000000..6243042
Binary files /dev/null and b/.yarn/cache/graceful-fs-npm-4.2.11-24bb648a68-bf152d0ed1.zip differ
diff --git a/.yarn/cache/graphemer-npm-1.4.0-0627732d35-6dd60dba97.zip b/.yarn/cache/graphemer-npm-1.4.0-0627732d35-6dd60dba97.zip
new file mode 100644
index 0000000..cbccd94
Binary files /dev/null and b/.yarn/cache/graphemer-npm-1.4.0-0627732d35-6dd60dba97.zip differ
diff --git a/.yarn/cache/has-flag-npm-4.0.0-32af9f0536-261a135703.zip b/.yarn/cache/has-flag-npm-4.0.0-32af9f0536-261a135703.zip
new file mode 100644
index 0000000..6f5845d
Binary files /dev/null and b/.yarn/cache/has-flag-npm-4.0.0-32af9f0536-261a135703.zip differ
diff --git a/.yarn/cache/http-cache-semantics-npm-4.1.1-1120131375-362d5ed66b.zip b/.yarn/cache/http-cache-semantics-npm-4.1.1-1120131375-362d5ed66b.zip
new file mode 100644
index 0000000..2528c9a
Binary files /dev/null and b/.yarn/cache/http-cache-semantics-npm-4.1.1-1120131375-362d5ed66b.zip differ
diff --git a/.yarn/cache/http-proxy-agent-npm-7.0.2-643ed7cc33-d062acfa0c.zip b/.yarn/cache/http-proxy-agent-npm-7.0.2-643ed7cc33-d062acfa0c.zip
new file mode 100644
index 0000000..b24cf08
Binary files /dev/null and b/.yarn/cache/http-proxy-agent-npm-7.0.2-643ed7cc33-d062acfa0c.zip differ
diff --git a/.yarn/cache/https-proxy-agent-npm-7.0.6-27a95c2690-784b628cbd.zip b/.yarn/cache/https-proxy-agent-npm-7.0.6-27a95c2690-784b628cbd.zip
new file mode 100644
index 0000000..248a8d2
Binary files /dev/null and b/.yarn/cache/https-proxy-agent-npm-7.0.6-27a95c2690-784b628cbd.zip differ
diff --git a/.yarn/cache/iconv-lite-npm-0.6.3-24b8aae27e-24e3292dd3.zip b/.yarn/cache/iconv-lite-npm-0.6.3-24b8aae27e-24e3292dd3.zip
new file mode 100644
index 0000000..aab7a70
Binary files /dev/null and b/.yarn/cache/iconv-lite-npm-0.6.3-24b8aae27e-24e3292dd3.zip differ
diff --git a/.yarn/cache/ignore-npm-5.3.2-346d3ba017-cceb6a4570.zip b/.yarn/cache/ignore-npm-5.3.2-346d3ba017-cceb6a4570.zip
new file mode 100644
index 0000000..e758072
Binary files /dev/null and b/.yarn/cache/ignore-npm-5.3.2-346d3ba017-cceb6a4570.zip differ
diff --git a/.yarn/cache/immutable-npm-5.0.3-c4195fd7f3-9aca1c7839.zip b/.yarn/cache/immutable-npm-5.0.3-c4195fd7f3-9aca1c7839.zip
new file mode 100644
index 0000000..5912ef5
Binary files /dev/null and b/.yarn/cache/immutable-npm-5.0.3-c4195fd7f3-9aca1c7839.zip differ
diff --git a/.yarn/cache/import-fresh-npm-3.3.0-3e34265ca9-2cacfad06e.zip b/.yarn/cache/import-fresh-npm-3.3.0-3e34265ca9-2cacfad06e.zip
new file mode 100644
index 0000000..318d7b8
Binary files /dev/null and b/.yarn/cache/import-fresh-npm-3.3.0-3e34265ca9-2cacfad06e.zip differ
diff --git a/.yarn/cache/imurmurhash-npm-0.1.4-610c5068a0-2d30b157a9.zip b/.yarn/cache/imurmurhash-npm-0.1.4-610c5068a0-2d30b157a9.zip
new file mode 100644
index 0000000..a74a056
Binary files /dev/null and b/.yarn/cache/imurmurhash-npm-0.1.4-610c5068a0-2d30b157a9.zip differ
diff --git a/.yarn/cache/ip-address-npm-9.0.5-9fa024d42a-1ed81e0672.zip b/.yarn/cache/ip-address-npm-9.0.5-9fa024d42a-1ed81e0672.zip
new file mode 100644
index 0000000..f29f3f6
Binary files /dev/null and b/.yarn/cache/ip-address-npm-9.0.5-9fa024d42a-1ed81e0672.zip differ
diff --git a/.yarn/cache/is-extglob-npm-2.1.1-0870ea68b5-df033653d0.zip b/.yarn/cache/is-extglob-npm-2.1.1-0870ea68b5-df033653d0.zip
new file mode 100644
index 0000000..0acbc56
Binary files /dev/null and b/.yarn/cache/is-extglob-npm-2.1.1-0870ea68b5-df033653d0.zip differ
diff --git a/.yarn/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-44a30c2945.zip b/.yarn/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-44a30c2945.zip
new file mode 100644
index 0000000..dccc80a
Binary files /dev/null and b/.yarn/cache/is-fullwidth-code-point-npm-3.0.0-1ecf4ebee5-44a30c2945.zip differ
diff --git a/.yarn/cache/is-glob-npm-4.0.3-cb87bf1bdb-3ed74f2b0c.zip b/.yarn/cache/is-glob-npm-4.0.3-cb87bf1bdb-3ed74f2b0c.zip
new file mode 100644
index 0000000..f4d41d2
Binary files /dev/null and b/.yarn/cache/is-glob-npm-4.0.3-cb87bf1bdb-3ed74f2b0c.zip differ
diff --git a/.yarn/cache/is-number-npm-7.0.0-060086935c-6a6c3383f6.zip b/.yarn/cache/is-number-npm-7.0.0-060086935c-6a6c3383f6.zip
new file mode 100644
index 0000000..dabc126
Binary files /dev/null and b/.yarn/cache/is-number-npm-7.0.0-060086935c-6a6c3383f6.zip differ
diff --git a/.yarn/cache/isexe-npm-2.0.0-b58870bd2e-7c9f715c03.zip b/.yarn/cache/isexe-npm-2.0.0-b58870bd2e-7c9f715c03.zip
new file mode 100644
index 0000000..39cf140
Binary files /dev/null and b/.yarn/cache/isexe-npm-2.0.0-b58870bd2e-7c9f715c03.zip differ
diff --git a/.yarn/cache/isexe-npm-3.1.1-9c0061eead-7fe1931ee4.zip b/.yarn/cache/isexe-npm-3.1.1-9c0061eead-7fe1931ee4.zip
new file mode 100644
index 0000000..7ea5462
Binary files /dev/null and b/.yarn/cache/isexe-npm-3.1.1-9c0061eead-7fe1931ee4.zip differ
diff --git a/.yarn/cache/jackspeak-npm-3.4.3-546bfad080-96f8786eaa.zip b/.yarn/cache/jackspeak-npm-3.4.3-546bfad080-96f8786eaa.zip
new file mode 100644
index 0000000..c758756
Binary files /dev/null and b/.yarn/cache/jackspeak-npm-3.4.3-546bfad080-96f8786eaa.zip differ
diff --git a/.yarn/cache/js-tokens-npm-4.0.0-0ac852e9e2-af37d0d913.zip b/.yarn/cache/js-tokens-npm-4.0.0-0ac852e9e2-af37d0d913.zip
new file mode 100644
index 0000000..681cac4
Binary files /dev/null and b/.yarn/cache/js-tokens-npm-4.0.0-0ac852e9e2-af37d0d913.zip differ
diff --git a/.yarn/cache/js-yaml-npm-4.1.0-3606f32312-c138a34a3f.zip b/.yarn/cache/js-yaml-npm-4.1.0-3606f32312-c138a34a3f.zip
new file mode 100644
index 0000000..b5be50a
Binary files /dev/null and b/.yarn/cache/js-yaml-npm-4.1.0-3606f32312-c138a34a3f.zip differ
diff --git a/.yarn/cache/jsbn-npm-1.1.0-1da0181838-bebe7ae829.zip b/.yarn/cache/jsbn-npm-1.1.0-1da0181838-bebe7ae829.zip
new file mode 100644
index 0000000..4e18b22
Binary files /dev/null and b/.yarn/cache/jsbn-npm-1.1.0-1da0181838-bebe7ae829.zip differ
diff --git a/.yarn/cache/jsesc-npm-3.1.0-2f4f998cd7-20bd37a142.zip b/.yarn/cache/jsesc-npm-3.1.0-2f4f998cd7-20bd37a142.zip
new file mode 100644
index 0000000..0701df3
Binary files /dev/null and b/.yarn/cache/jsesc-npm-3.1.0-2f4f998cd7-20bd37a142.zip differ
diff --git a/.yarn/cache/json-buffer-npm-3.0.1-f8f6d20603-8287615452.zip b/.yarn/cache/json-buffer-npm-3.0.1-f8f6d20603-8287615452.zip
new file mode 100644
index 0000000..634da56
Binary files /dev/null and b/.yarn/cache/json-buffer-npm-3.0.1-f8f6d20603-8287615452.zip differ
diff --git a/.yarn/cache/json-schema-traverse-npm-0.4.1-4759091693-7486074d3b.zip b/.yarn/cache/json-schema-traverse-npm-0.4.1-4759091693-7486074d3b.zip
new file mode 100644
index 0000000..54f0a7a
Binary files /dev/null and b/.yarn/cache/json-schema-traverse-npm-0.4.1-4759091693-7486074d3b.zip differ
diff --git a/.yarn/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-12786c2e2f.zip b/.yarn/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-12786c2e2f.zip
new file mode 100644
index 0000000..a2887b7
Binary files /dev/null and b/.yarn/cache/json-stable-stringify-without-jsonify-npm-1.0.1-b65772b28b-12786c2e2f.zip differ
diff --git a/.yarn/cache/json5-npm-2.2.3-9962c55073-1db67b853f.zip b/.yarn/cache/json5-npm-2.2.3-9962c55073-1db67b853f.zip
new file mode 100644
index 0000000..96e9936
Binary files /dev/null and b/.yarn/cache/json5-npm-2.2.3-9962c55073-1db67b853f.zip differ
diff --git a/.yarn/cache/keyv-npm-4.5.4-4c8e2cf7f7-167eb6ef64.zip b/.yarn/cache/keyv-npm-4.5.4-4c8e2cf7f7-167eb6ef64.zip
new file mode 100644
index 0000000..8fd4191
Binary files /dev/null and b/.yarn/cache/keyv-npm-4.5.4-4c8e2cf7f7-167eb6ef64.zip differ
diff --git a/.yarn/cache/levn-npm-0.4.1-d183b2d7bb-2e4720ff79.zip b/.yarn/cache/levn-npm-0.4.1-d183b2d7bb-2e4720ff79.zip
new file mode 100644
index 0000000..a7c5860
Binary files /dev/null and b/.yarn/cache/levn-npm-0.4.1-d183b2d7bb-2e4720ff79.zip differ
diff --git a/.yarn/cache/locate-path-npm-6.0.0-06a1e4c528-72eb661788.zip b/.yarn/cache/locate-path-npm-6.0.0-06a1e4c528-72eb661788.zip
new file mode 100644
index 0000000..b67b774
Binary files /dev/null and b/.yarn/cache/locate-path-npm-6.0.0-06a1e4c528-72eb661788.zip differ
diff --git a/.yarn/cache/lodash.merge-npm-4.6.2-77cb4416bf-d0ea2dd009.zip b/.yarn/cache/lodash.merge-npm-4.6.2-77cb4416bf-d0ea2dd009.zip
new file mode 100644
index 0000000..6218300
Binary files /dev/null and b/.yarn/cache/lodash.merge-npm-4.6.2-77cb4416bf-d0ea2dd009.zip differ
diff --git a/.yarn/cache/lru-cache-npm-10.4.3-30c10b861a-e6e9026736.zip b/.yarn/cache/lru-cache-npm-10.4.3-30c10b861a-e6e9026736.zip
new file mode 100644
index 0000000..bbfe243
Binary files /dev/null and b/.yarn/cache/lru-cache-npm-10.4.3-30c10b861a-e6e9026736.zip differ
diff --git a/.yarn/cache/lru-cache-npm-5.1.1-f475882a51-951d2673dc.zip b/.yarn/cache/lru-cache-npm-5.1.1-f475882a51-951d2673dc.zip
new file mode 100644
index 0000000..50cba37
Binary files /dev/null and b/.yarn/cache/lru-cache-npm-5.1.1-f475882a51-951d2673dc.zip differ
diff --git a/.yarn/cache/make-fetch-happen-npm-14.0.3-23b30e8691-fce0385840.zip b/.yarn/cache/make-fetch-happen-npm-14.0.3-23b30e8691-fce0385840.zip
new file mode 100644
index 0000000..e3445e8
Binary files /dev/null and b/.yarn/cache/make-fetch-happen-npm-14.0.3-23b30e8691-fce0385840.zip differ
diff --git a/.yarn/cache/merge2-npm-1.4.1-a2507bd06c-7268db63ed.zip b/.yarn/cache/merge2-npm-1.4.1-a2507bd06c-7268db63ed.zip
new file mode 100644
index 0000000..76aa4f0
Binary files /dev/null and b/.yarn/cache/merge2-npm-1.4.1-a2507bd06c-7268db63ed.zip differ
diff --git a/.yarn/cache/micromatch-npm-4.0.8-c9570e4aca-6bf2a01672.zip b/.yarn/cache/micromatch-npm-4.0.8-c9570e4aca-6bf2a01672.zip
new file mode 100644
index 0000000..f8ac6b5
Binary files /dev/null and b/.yarn/cache/micromatch-npm-4.0.8-c9570e4aca-6bf2a01672.zip differ
diff --git a/.yarn/cache/minimatch-npm-3.1.2-9405269906-e0b25b04cd.zip b/.yarn/cache/minimatch-npm-3.1.2-9405269906-e0b25b04cd.zip
new file mode 100644
index 0000000..d3ea732
Binary files /dev/null and b/.yarn/cache/minimatch-npm-3.1.2-9405269906-e0b25b04cd.zip differ
diff --git a/.yarn/cache/minimatch-npm-9.0.5-9aa93d97fa-dd6a8927b0.zip b/.yarn/cache/minimatch-npm-9.0.5-9aa93d97fa-dd6a8927b0.zip
new file mode 100644
index 0000000..4b97afd
Binary files /dev/null and b/.yarn/cache/minimatch-npm-9.0.5-9aa93d97fa-dd6a8927b0.zip differ
diff --git a/.yarn/cache/minipass-collect-npm-2.0.1-73d3907e40-b251bceea6.zip b/.yarn/cache/minipass-collect-npm-2.0.1-73d3907e40-b251bceea6.zip
new file mode 100644
index 0000000..96df703
Binary files /dev/null and b/.yarn/cache/minipass-collect-npm-2.0.1-73d3907e40-b251bceea6.zip differ
diff --git a/.yarn/cache/minipass-fetch-npm-4.0.0-d4e49e0194-4b0772dbee.zip b/.yarn/cache/minipass-fetch-npm-4.0.0-d4e49e0194-4b0772dbee.zip
new file mode 100644
index 0000000..7ab1121
Binary files /dev/null and b/.yarn/cache/minipass-fetch-npm-4.0.0-d4e49e0194-4b0772dbee.zip differ
diff --git a/.yarn/cache/minipass-flush-npm-1.0.5-efe79d9826-56269a0b22.zip b/.yarn/cache/minipass-flush-npm-1.0.5-efe79d9826-56269a0b22.zip
new file mode 100644
index 0000000..913b687
Binary files /dev/null and b/.yarn/cache/minipass-flush-npm-1.0.5-efe79d9826-56269a0b22.zip differ
diff --git a/.yarn/cache/minipass-npm-3.3.6-b8d93a945b-a5c6ef069f.zip b/.yarn/cache/minipass-npm-3.3.6-b8d93a945b-a5c6ef069f.zip
new file mode 100644
index 0000000..1f33794
Binary files /dev/null and b/.yarn/cache/minipass-npm-3.3.6-b8d93a945b-a5c6ef069f.zip differ
diff --git a/.yarn/cache/minipass-npm-7.1.2-3a5327d36d-c25f0ee819.zip b/.yarn/cache/minipass-npm-7.1.2-3a5327d36d-c25f0ee819.zip
new file mode 100644
index 0000000..4c88fb6
Binary files /dev/null and b/.yarn/cache/minipass-npm-7.1.2-3a5327d36d-c25f0ee819.zip differ
diff --git a/.yarn/cache/minipass-pipeline-npm-1.2.4-5924cb077f-b14240dac0.zip b/.yarn/cache/minipass-pipeline-npm-1.2.4-5924cb077f-b14240dac0.zip
new file mode 100644
index 0000000..4deae41
Binary files /dev/null and b/.yarn/cache/minipass-pipeline-npm-1.2.4-5924cb077f-b14240dac0.zip differ
diff --git a/.yarn/cache/minipass-sized-npm-1.0.3-306d86f432-40982d8d83.zip b/.yarn/cache/minipass-sized-npm-1.0.3-306d86f432-40982d8d83.zip
new file mode 100644
index 0000000..8870af8
Binary files /dev/null and b/.yarn/cache/minipass-sized-npm-1.0.3-306d86f432-40982d8d83.zip differ
diff --git a/.yarn/cache/minizlib-npm-3.0.1-4bdabd978f-622cb85f51.zip b/.yarn/cache/minizlib-npm-3.0.1-4bdabd978f-622cb85f51.zip
new file mode 100644
index 0000000..faf3943
Binary files /dev/null and b/.yarn/cache/minizlib-npm-3.0.1-4bdabd978f-622cb85f51.zip differ
diff --git a/.yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-16fd79c286.zip b/.yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-16fd79c286.zip
new file mode 100644
index 0000000..027c6d5
Binary files /dev/null and b/.yarn/cache/mkdirp-npm-3.0.1-f94bfa769e-16fd79c286.zip differ
diff --git a/.yarn/cache/ms-npm-2.1.3-81ff3cfac1-aa92de6080.zip b/.yarn/cache/ms-npm-2.1.3-81ff3cfac1-aa92de6080.zip
new file mode 100644
index 0000000..2b635f2
Binary files /dev/null and b/.yarn/cache/ms-npm-2.1.3-81ff3cfac1-aa92de6080.zip differ
diff --git a/.yarn/cache/nanoid-npm-3.3.8-d22226208b-2d1766606c.zip b/.yarn/cache/nanoid-npm-3.3.8-d22226208b-2d1766606c.zip
new file mode 100644
index 0000000..ec9e262
Binary files /dev/null and b/.yarn/cache/nanoid-npm-3.3.8-d22226208b-2d1766606c.zip differ
diff --git a/.yarn/cache/natural-compare-npm-1.4.0-97b75b362d-23ad088b08.zip b/.yarn/cache/natural-compare-npm-1.4.0-97b75b362d-23ad088b08.zip
new file mode 100644
index 0000000..db454c3
Binary files /dev/null and b/.yarn/cache/natural-compare-npm-1.4.0-97b75b362d-23ad088b08.zip differ
diff --git a/.yarn/cache/negotiator-npm-1.0.0-47d727e27e-b5734e8729.zip b/.yarn/cache/negotiator-npm-1.0.0-47d727e27e-b5734e8729.zip
new file mode 100644
index 0000000..c3a616a
Binary files /dev/null and b/.yarn/cache/negotiator-npm-1.0.0-47d727e27e-b5734e8729.zip differ
diff --git a/.yarn/cache/node-gyp-npm-11.0.0-669e34db1b-5d07430e88.zip b/.yarn/cache/node-gyp-npm-11.0.0-669e34db1b-5d07430e88.zip
new file mode 100644
index 0000000..973ea4e
Binary files /dev/null and b/.yarn/cache/node-gyp-npm-11.0.0-669e34db1b-5d07430e88.zip differ
diff --git a/.yarn/cache/node-releases-npm-2.0.19-b123ed6240-c2b33b4f0c.zip b/.yarn/cache/node-releases-npm-2.0.19-b123ed6240-c2b33b4f0c.zip
new file mode 100644
index 0000000..cf958c3
Binary files /dev/null and b/.yarn/cache/node-releases-npm-2.0.19-b123ed6240-c2b33b4f0c.zip differ
diff --git a/.yarn/cache/nopt-npm-8.0.0-98d6bf6d52-2d137f64b6.zip b/.yarn/cache/nopt-npm-8.0.0-98d6bf6d52-2d137f64b6.zip
new file mode 100644
index 0000000..d5d6875
Binary files /dev/null and b/.yarn/cache/nopt-npm-8.0.0-98d6bf6d52-2d137f64b6.zip differ
diff --git a/.yarn/cache/optionator-npm-0.9.4-1f114b00e8-a8398559c6.zip b/.yarn/cache/optionator-npm-0.9.4-1f114b00e8-a8398559c6.zip
new file mode 100644
index 0000000..5559fbf
Binary files /dev/null and b/.yarn/cache/optionator-npm-0.9.4-1f114b00e8-a8398559c6.zip differ
diff --git a/.yarn/cache/p-limit-npm-3.1.0-05d2ede37f-7c3690c4db.zip b/.yarn/cache/p-limit-npm-3.1.0-05d2ede37f-7c3690c4db.zip
new file mode 100644
index 0000000..b87d97c
Binary files /dev/null and b/.yarn/cache/p-limit-npm-3.1.0-05d2ede37f-7c3690c4db.zip differ
diff --git a/.yarn/cache/p-locate-npm-5.0.0-92cc7c7a3e-1623088f36.zip b/.yarn/cache/p-locate-npm-5.0.0-92cc7c7a3e-1623088f36.zip
new file mode 100644
index 0000000..077f1c6
Binary files /dev/null and b/.yarn/cache/p-locate-npm-5.0.0-92cc7c7a3e-1623088f36.zip differ
diff --git a/.yarn/cache/p-map-npm-7.0.3-93bbec0d8c-2ef48ccfc6.zip b/.yarn/cache/p-map-npm-7.0.3-93bbec0d8c-2ef48ccfc6.zip
new file mode 100644
index 0000000..9bef246
Binary files /dev/null and b/.yarn/cache/p-map-npm-7.0.3-93bbec0d8c-2ef48ccfc6.zip differ
diff --git a/.yarn/cache/package-json-from-dist-npm-1.0.1-4631a88465-58ee9538f2.zip b/.yarn/cache/package-json-from-dist-npm-1.0.1-4631a88465-58ee9538f2.zip
new file mode 100644
index 0000000..f5860a5
Binary files /dev/null and b/.yarn/cache/package-json-from-dist-npm-1.0.1-4631a88465-58ee9538f2.zip differ
diff --git a/.yarn/cache/parent-module-npm-1.0.1-1fae11b095-6ba8b25514.zip b/.yarn/cache/parent-module-npm-1.0.1-1fae11b095-6ba8b25514.zip
new file mode 100644
index 0000000..5b900e1
Binary files /dev/null and b/.yarn/cache/parent-module-npm-1.0.1-1fae11b095-6ba8b25514.zip differ
diff --git a/.yarn/cache/path-exists-npm-4.0.0-e9e4f63eb0-505807199d.zip b/.yarn/cache/path-exists-npm-4.0.0-e9e4f63eb0-505807199d.zip
new file mode 100644
index 0000000..b504841
Binary files /dev/null and b/.yarn/cache/path-exists-npm-4.0.0-e9e4f63eb0-505807199d.zip differ
diff --git a/.yarn/cache/path-key-npm-3.1.1-0e66ea8321-55cd7a9dd4.zip b/.yarn/cache/path-key-npm-3.1.1-0e66ea8321-55cd7a9dd4.zip
new file mode 100644
index 0000000..dd7212e
Binary files /dev/null and b/.yarn/cache/path-key-npm-3.1.1-0e66ea8321-55cd7a9dd4.zip differ
diff --git a/.yarn/cache/path-scurry-npm-1.11.1-aaf8c339af-5e8845c159.zip b/.yarn/cache/path-scurry-npm-1.11.1-aaf8c339af-5e8845c159.zip
new file mode 100644
index 0000000..40cc3d6
Binary files /dev/null and b/.yarn/cache/path-scurry-npm-1.11.1-aaf8c339af-5e8845c159.zip differ
diff --git a/.yarn/cache/picocolors-npm-1.1.1-4fede47cf1-e1cf46bf84.zip b/.yarn/cache/picocolors-npm-1.1.1-4fede47cf1-e1cf46bf84.zip
new file mode 100644
index 0000000..44976ad
Binary files /dev/null and b/.yarn/cache/picocolors-npm-1.1.1-4fede47cf1-e1cf46bf84.zip differ
diff --git a/.yarn/cache/picomatch-npm-2.3.1-c782cfd986-60c2595003.zip b/.yarn/cache/picomatch-npm-2.3.1-c782cfd986-60c2595003.zip
new file mode 100644
index 0000000..dbf505d
Binary files /dev/null and b/.yarn/cache/picomatch-npm-2.3.1-c782cfd986-60c2595003.zip differ
diff --git a/.yarn/cache/postcss-npm-8.4.49-1c13833dd1-28fe1005b1.zip b/.yarn/cache/postcss-npm-8.4.49-1c13833dd1-28fe1005b1.zip
new file mode 100644
index 0000000..1cebe2d
Binary files /dev/null and b/.yarn/cache/postcss-npm-8.4.49-1c13833dd1-28fe1005b1.zip differ
diff --git a/.yarn/cache/prelude-ls-npm-1.2.1-3e4d272a55-0b9d2c7680.zip b/.yarn/cache/prelude-ls-npm-1.2.1-3e4d272a55-0b9d2c7680.zip
new file mode 100644
index 0000000..236bc38
Binary files /dev/null and b/.yarn/cache/prelude-ls-npm-1.2.1-3e4d272a55-0b9d2c7680.zip differ
diff --git a/.yarn/cache/prettier-npm-3.4.2-fae349e44a-a3e806fb0b.zip b/.yarn/cache/prettier-npm-3.4.2-fae349e44a-a3e806fb0b.zip
new file mode 100644
index 0000000..cafb4d4
Binary files /dev/null and b/.yarn/cache/prettier-npm-3.4.2-fae349e44a-a3e806fb0b.zip differ
diff --git a/.yarn/cache/proc-log-npm-5.0.0-405173f9b4-35610bdb01.zip b/.yarn/cache/proc-log-npm-5.0.0-405173f9b4-35610bdb01.zip
new file mode 100644
index 0000000..0dea747
Binary files /dev/null and b/.yarn/cache/proc-log-npm-5.0.0-405173f9b4-35610bdb01.zip differ
diff --git a/.yarn/cache/promise-retry-npm-2.0.1-871f0b01b7-96e1a82453.zip b/.yarn/cache/promise-retry-npm-2.0.1-871f0b01b7-96e1a82453.zip
new file mode 100644
index 0000000..a361d79
Binary files /dev/null and b/.yarn/cache/promise-retry-npm-2.0.1-871f0b01b7-96e1a82453.zip differ
diff --git a/.yarn/cache/punycode-npm-2.3.1-97543c420d-febdc4362b.zip b/.yarn/cache/punycode-npm-2.3.1-97543c420d-febdc4362b.zip
new file mode 100644
index 0000000..399baa6
Binary files /dev/null and b/.yarn/cache/punycode-npm-2.3.1-97543c420d-febdc4362b.zip differ
diff --git a/.yarn/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-72900df061.zip b/.yarn/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-72900df061.zip
new file mode 100644
index 0000000..6ebde3f
Binary files /dev/null and b/.yarn/cache/queue-microtask-npm-1.2.3-fcc98e4e2d-72900df061.zip differ
diff --git a/.yarn/cache/react-dom-npm-19.0.0-b7981c573e-aa64a2f199.zip b/.yarn/cache/react-dom-npm-19.0.0-b7981c573e-aa64a2f199.zip
new file mode 100644
index 0000000..6ccb14b
Binary files /dev/null and b/.yarn/cache/react-dom-npm-19.0.0-b7981c573e-aa64a2f199.zip differ
diff --git a/.yarn/cache/react-npm-19.0.0-e33c9aa1c0-2490969c50.zip b/.yarn/cache/react-npm-19.0.0-e33c9aa1c0-2490969c50.zip
new file mode 100644
index 0000000..93d2643
Binary files /dev/null and b/.yarn/cache/react-npm-19.0.0-e33c9aa1c0-2490969c50.zip differ
diff --git a/.yarn/cache/react-refresh-npm-0.14.2-95df341b4d-512abf9727.zip b/.yarn/cache/react-refresh-npm-0.14.2-95df341b4d-512abf9727.zip
new file mode 100644
index 0000000..4a6273c
Binary files /dev/null and b/.yarn/cache/react-refresh-npm-0.14.2-95df341b4d-512abf9727.zip differ
diff --git a/.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-91eb76ce83.zip b/.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-91eb76ce83.zip
new file mode 100644
index 0000000..6f45f0e
Binary files /dev/null and b/.yarn/cache/resolve-from-npm-4.0.0-f758ec21bf-91eb76ce83.zip differ
diff --git a/.yarn/cache/retry-npm-0.12.0-72ac7fb4cc-1f914879f9.zip b/.yarn/cache/retry-npm-0.12.0-72ac7fb4cc-1f914879f9.zip
new file mode 100644
index 0000000..4b0d879
Binary files /dev/null and b/.yarn/cache/retry-npm-0.12.0-72ac7fb4cc-1f914879f9.zip differ
diff --git a/.yarn/cache/reusify-npm-1.0.4-95ac4aec11-14222c9e1d.zip b/.yarn/cache/reusify-npm-1.0.4-95ac4aec11-14222c9e1d.zip
new file mode 100644
index 0000000..dae6d2e
Binary files /dev/null and b/.yarn/cache/reusify-npm-1.0.4-95ac4aec11-14222c9e1d.zip differ
diff --git a/.yarn/cache/reveal.js-npm-5.1.0-d5de7f45c7-d27fc9e4bf.zip b/.yarn/cache/reveal.js-npm-5.1.0-d5de7f45c7-d27fc9e4bf.zip
new file mode 100644
index 0000000..12abe44
Binary files /dev/null and b/.yarn/cache/reveal.js-npm-5.1.0-d5de7f45c7-d27fc9e4bf.zip differ
diff --git a/.yarn/cache/rimraf-npm-5.0.10-d0c6647697-f3b8ce81ee.zip b/.yarn/cache/rimraf-npm-5.0.10-d0c6647697-f3b8ce81ee.zip
new file mode 100644
index 0000000..29944e8
Binary files /dev/null and b/.yarn/cache/rimraf-npm-5.0.10-d0c6647697-f3b8ce81ee.zip differ
diff --git a/.yarn/cache/rollup-npm-4.30.1-d1a419774e-f5d240a76a.zip b/.yarn/cache/rollup-npm-4.30.1-d1a419774e-f5d240a76a.zip
new file mode 100644
index 0000000..c6098bb
Binary files /dev/null and b/.yarn/cache/rollup-npm-4.30.1-d1a419774e-f5d240a76a.zip differ
diff --git a/.yarn/cache/run-parallel-npm-1.2.0-3f47ff2034-cb4f97ad25.zip b/.yarn/cache/run-parallel-npm-1.2.0-3f47ff2034-cb4f97ad25.zip
new file mode 100644
index 0000000..fefbad5
Binary files /dev/null and b/.yarn/cache/run-parallel-npm-1.2.0-3f47ff2034-cb4f97ad25.zip differ
diff --git a/.yarn/cache/rxjs-npm-7.8.1-41c443a75b-b10cac1a52.zip b/.yarn/cache/rxjs-npm-7.8.1-41c443a75b-b10cac1a52.zip
new file mode 100644
index 0000000..55b7321
Binary files /dev/null and b/.yarn/cache/rxjs-npm-7.8.1-41c443a75b-b10cac1a52.zip differ
diff --git a/.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-7eaf7a0cf3.zip b/.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-7eaf7a0cf3.zip
new file mode 100644
index 0000000..ad9ac7f
Binary files /dev/null and b/.yarn/cache/safer-buffer-npm-2.1.2-8d5c0b705e-7eaf7a0cf3.zip differ
diff --git a/.yarn/cache/sass-embedded-linux-musl-x64-npm-1.83.1-60e62960e2-10.zip b/.yarn/cache/sass-embedded-linux-musl-x64-npm-1.83.1-60e62960e2-10.zip
new file mode 100644
index 0000000..1ce0051
Binary files /dev/null and b/.yarn/cache/sass-embedded-linux-musl-x64-npm-1.83.1-60e62960e2-10.zip differ
diff --git a/.yarn/cache/sass-embedded-linux-x64-npm-1.83.1-9fea44c1f6-10.zip b/.yarn/cache/sass-embedded-linux-x64-npm-1.83.1-9fea44c1f6-10.zip
new file mode 100644
index 0000000..59ec6f1
Binary files /dev/null and b/.yarn/cache/sass-embedded-linux-x64-npm-1.83.1-9fea44c1f6-10.zip differ
diff --git a/.yarn/cache/sass-embedded-npm-1.83.1-9b8d92af9c-0b1b927e9b.zip b/.yarn/cache/sass-embedded-npm-1.83.1-9b8d92af9c-0b1b927e9b.zip
new file mode 100644
index 0000000..e278152
Binary files /dev/null and b/.yarn/cache/sass-embedded-npm-1.83.1-9b8d92af9c-0b1b927e9b.zip differ
diff --git a/.yarn/cache/scheduler-npm-0.25.0-f89e6cad04-e661e38503.zip b/.yarn/cache/scheduler-npm-0.25.0-f89e6cad04-e661e38503.zip
new file mode 100644
index 0000000..05d831f
Binary files /dev/null and b/.yarn/cache/scheduler-npm-0.25.0-f89e6cad04-e661e38503.zip differ
diff --git a/.yarn/cache/semver-npm-6.3.1-bcba31fdbe-1ef3a85bd0.zip b/.yarn/cache/semver-npm-6.3.1-bcba31fdbe-1ef3a85bd0.zip
new file mode 100644
index 0000000..86b785f
Binary files /dev/null and b/.yarn/cache/semver-npm-6.3.1-bcba31fdbe-1ef3a85bd0.zip differ
diff --git a/.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip b/.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip
new file mode 100644
index 0000000..bb2a4c2
Binary files /dev/null and b/.yarn/cache/semver-npm-7.6.3-57e82c14d5-36b1fbe1a2.zip differ
diff --git a/.yarn/cache/shebang-command-npm-2.0.0-eb2b01921d-6b52fe8727.zip b/.yarn/cache/shebang-command-npm-2.0.0-eb2b01921d-6b52fe8727.zip
new file mode 100644
index 0000000..727c547
Binary files /dev/null and b/.yarn/cache/shebang-command-npm-2.0.0-eb2b01921d-6b52fe8727.zip differ
diff --git a/.yarn/cache/shebang-regex-npm-3.0.0-899a0cd65e-1a2bcae50d.zip b/.yarn/cache/shebang-regex-npm-3.0.0-899a0cd65e-1a2bcae50d.zip
new file mode 100644
index 0000000..3e891cd
Binary files /dev/null and b/.yarn/cache/shebang-regex-npm-3.0.0-899a0cd65e-1a2bcae50d.zip differ
diff --git a/.yarn/cache/signal-exit-npm-4.1.0-61fb957687-c9fa63bbbd.zip b/.yarn/cache/signal-exit-npm-4.1.0-61fb957687-c9fa63bbbd.zip
new file mode 100644
index 0000000..60f59d0
Binary files /dev/null and b/.yarn/cache/signal-exit-npm-4.1.0-61fb957687-c9fa63bbbd.zip differ
diff --git a/.yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-927484aa0b.zip b/.yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-927484aa0b.zip
new file mode 100644
index 0000000..aeec6f4
Binary files /dev/null and b/.yarn/cache/smart-buffer-npm-4.2.0-5ac3f668bb-927484aa0b.zip differ
diff --git a/.yarn/cache/socks-npm-2.8.3-3532b59899-ffcb622c22.zip b/.yarn/cache/socks-npm-2.8.3-3532b59899-ffcb622c22.zip
new file mode 100644
index 0000000..95c8964
Binary files /dev/null and b/.yarn/cache/socks-npm-2.8.3-3532b59899-ffcb622c22.zip differ
diff --git a/.yarn/cache/socks-proxy-agent-npm-8.0.5-24d77a90dc-ee99e1daca.zip b/.yarn/cache/socks-proxy-agent-npm-8.0.5-24d77a90dc-ee99e1daca.zip
new file mode 100644
index 0000000..adef14a
Binary files /dev/null and b/.yarn/cache/socks-proxy-agent-npm-8.0.5-24d77a90dc-ee99e1daca.zip differ
diff --git a/.yarn/cache/source-map-js-npm-1.2.1-b9a47d7e1a-ff9d8c8bf0.zip b/.yarn/cache/source-map-js-npm-1.2.1-b9a47d7e1a-ff9d8c8bf0.zip
new file mode 100644
index 0000000..d7d2f6a
Binary files /dev/null and b/.yarn/cache/source-map-js-npm-1.2.1-b9a47d7e1a-ff9d8c8bf0.zip differ
diff --git a/.yarn/cache/sprintf-js-npm-1.1.3-b99efd75b2-e7587128c4.zip b/.yarn/cache/sprintf-js-npm-1.1.3-b99efd75b2-e7587128c4.zip
new file mode 100644
index 0000000..3e6b96b
Binary files /dev/null and b/.yarn/cache/sprintf-js-npm-1.1.3-b99efd75b2-e7587128c4.zip differ
diff --git a/.yarn/cache/ssri-npm-12.0.0-97c0e53d2e-7024c1a6e3.zip b/.yarn/cache/ssri-npm-12.0.0-97c0e53d2e-7024c1a6e3.zip
new file mode 100644
index 0000000..313f0a5
Binary files /dev/null and b/.yarn/cache/ssri-npm-12.0.0-97c0e53d2e-7024c1a6e3.zip differ
diff --git a/.yarn/cache/string-width-npm-4.2.3-2c27177bae-e52c10dc3f.zip b/.yarn/cache/string-width-npm-4.2.3-2c27177bae-e52c10dc3f.zip
new file mode 100644
index 0000000..9b4c088
Binary files /dev/null and b/.yarn/cache/string-width-npm-4.2.3-2c27177bae-e52c10dc3f.zip differ
diff --git a/.yarn/cache/string-width-npm-5.1.2-bf60531341-7369deaa29.zip b/.yarn/cache/string-width-npm-5.1.2-bf60531341-7369deaa29.zip
new file mode 100644
index 0000000..bd88405
Binary files /dev/null and b/.yarn/cache/string-width-npm-5.1.2-bf60531341-7369deaa29.zip differ
diff --git a/.yarn/cache/strip-ansi-npm-6.0.1-caddc7cb40-ae3b5436d3.zip b/.yarn/cache/strip-ansi-npm-6.0.1-caddc7cb40-ae3b5436d3.zip
new file mode 100644
index 0000000..8967561
Binary files /dev/null and b/.yarn/cache/strip-ansi-npm-6.0.1-caddc7cb40-ae3b5436d3.zip differ
diff --git a/.yarn/cache/strip-ansi-npm-7.1.0-7453b80b79-475f53e9c4.zip b/.yarn/cache/strip-ansi-npm-7.1.0-7453b80b79-475f53e9c4.zip
new file mode 100644
index 0000000..41be469
Binary files /dev/null and b/.yarn/cache/strip-ansi-npm-7.1.0-7453b80b79-475f53e9c4.zip differ
diff --git a/.yarn/cache/strip-json-comments-npm-3.1.1-dcb2324823-492f73e272.zip b/.yarn/cache/strip-json-comments-npm-3.1.1-dcb2324823-492f73e272.zip
new file mode 100644
index 0000000..e74ed10
Binary files /dev/null and b/.yarn/cache/strip-json-comments-npm-3.1.1-dcb2324823-492f73e272.zip differ
diff --git a/.yarn/cache/supports-color-npm-7.2.0-606bfcf7da-c8bb7afd56.zip b/.yarn/cache/supports-color-npm-7.2.0-606bfcf7da-c8bb7afd56.zip
new file mode 100644
index 0000000..7ee6422
Binary files /dev/null and b/.yarn/cache/supports-color-npm-7.2.0-606bfcf7da-c8bb7afd56.zip differ
diff --git a/.yarn/cache/supports-color-npm-8.1.1-289e937149-157b534df8.zip b/.yarn/cache/supports-color-npm-8.1.1-289e937149-157b534df8.zip
new file mode 100644
index 0000000..9e620d0
Binary files /dev/null and b/.yarn/cache/supports-color-npm-8.1.1-289e937149-157b534df8.zip differ
diff --git a/.yarn/cache/sync-child-process-npm-1.0.2-67949d5060-6fbdbb7b6f.zip b/.yarn/cache/sync-child-process-npm-1.0.2-67949d5060-6fbdbb7b6f.zip
new file mode 100644
index 0000000..35fa539
Binary files /dev/null and b/.yarn/cache/sync-child-process-npm-1.0.2-67949d5060-6fbdbb7b6f.zip differ
diff --git a/.yarn/cache/sync-message-port-npm-1.1.3-1494f3d135-a84b681afd.zip b/.yarn/cache/sync-message-port-npm-1.1.3-1494f3d135-a84b681afd.zip
new file mode 100644
index 0000000..ab4430b
Binary files /dev/null and b/.yarn/cache/sync-message-port-npm-1.1.3-1494f3d135-a84b681afd.zip differ
diff --git a/.yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-12a2a4fc6d.zip b/.yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-12a2a4fc6d.zip
new file mode 100644
index 0000000..c6f3b1d
Binary files /dev/null and b/.yarn/cache/tar-npm-7.4.3-1dbbd1ffc3-12a2a4fc6d.zip differ
diff --git a/.yarn/cache/to-regex-range-npm-5.0.1-f1e8263b00-10dda13571.zip b/.yarn/cache/to-regex-range-npm-5.0.1-f1e8263b00-10dda13571.zip
new file mode 100644
index 0000000..26d8e09
Binary files /dev/null and b/.yarn/cache/to-regex-range-npm-5.0.1-f1e8263b00-10dda13571.zip differ
diff --git a/.yarn/cache/ts-api-utils-npm-2.0.0-1384745dce-485bdf8bbb.zip b/.yarn/cache/ts-api-utils-npm-2.0.0-1384745dce-485bdf8bbb.zip
new file mode 100644
index 0000000..f1a36d3
Binary files /dev/null and b/.yarn/cache/ts-api-utils-npm-2.0.0-1384745dce-485bdf8bbb.zip differ
diff --git a/.yarn/cache/tslib-npm-2.8.1-66590b21b8-3e2e043d5c.zip b/.yarn/cache/tslib-npm-2.8.1-66590b21b8-3e2e043d5c.zip
new file mode 100644
index 0000000..938b882
Binary files /dev/null and b/.yarn/cache/tslib-npm-2.8.1-66590b21b8-3e2e043d5c.zip differ
diff --git a/.yarn/cache/type-check-npm-0.4.0-60565800ce-1468777647.zip b/.yarn/cache/type-check-npm-0.4.0-60565800ce-1468777647.zip
new file mode 100644
index 0000000..0668140
Binary files /dev/null and b/.yarn/cache/type-check-npm-0.4.0-60565800ce-1468777647.zip differ
diff --git a/.yarn/cache/typescript-eslint-npm-8.19.1-aa16efe238-3e7861bcd4.zip b/.yarn/cache/typescript-eslint-npm-8.19.1-aa16efe238-3e7861bcd4.zip
new file mode 100644
index 0000000..cc0c33b
Binary files /dev/null and b/.yarn/cache/typescript-eslint-npm-8.19.1-aa16efe238-3e7861bcd4.zip differ
diff --git a/.yarn/cache/typescript-npm-5.7.3-e71b273452-6a7e556de9.zip b/.yarn/cache/typescript-npm-5.7.3-e71b273452-6a7e556de9.zip
new file mode 100644
index 0000000..1e2f51c
Binary files /dev/null and b/.yarn/cache/typescript-npm-5.7.3-e71b273452-6a7e556de9.zip differ
diff --git a/.yarn/cache/typescript-patch-a69c28a4b9-3ac7b7e3e8.zip b/.yarn/cache/typescript-patch-a69c28a4b9-3ac7b7e3e8.zip
new file mode 100644
index 0000000..8ba0b69
Binary files /dev/null and b/.yarn/cache/typescript-patch-a69c28a4b9-3ac7b7e3e8.zip differ
diff --git a/.yarn/cache/unique-filename-npm-4.0.0-bfc100c4e3-6a62094fca.zip b/.yarn/cache/unique-filename-npm-4.0.0-bfc100c4e3-6a62094fca.zip
new file mode 100644
index 0000000..6451973
Binary files /dev/null and b/.yarn/cache/unique-filename-npm-4.0.0-bfc100c4e3-6a62094fca.zip differ
diff --git a/.yarn/cache/unique-slug-npm-5.0.0-11508c0469-beafdf3d6f.zip b/.yarn/cache/unique-slug-npm-5.0.0-11508c0469-beafdf3d6f.zip
new file mode 100644
index 0000000..8dbaae1
Binary files /dev/null and b/.yarn/cache/unique-slug-npm-5.0.0-11508c0469-beafdf3d6f.zip differ
diff --git a/.yarn/cache/update-browserslist-db-npm-1.1.2-59b122fef6-e7bf8221df.zip b/.yarn/cache/update-browserslist-db-npm-1.1.2-59b122fef6-e7bf8221df.zip
new file mode 100644
index 0000000..467268f
Binary files /dev/null and b/.yarn/cache/update-browserslist-db-npm-1.1.2-59b122fef6-e7bf8221df.zip differ
diff --git a/.yarn/cache/uri-js-npm-4.4.1-66d11cbcaf-b271ca7e3d.zip b/.yarn/cache/uri-js-npm-4.4.1-66d11cbcaf-b271ca7e3d.zip
new file mode 100644
index 0000000..2c446e3
Binary files /dev/null and b/.yarn/cache/uri-js-npm-4.4.1-66d11cbcaf-b271ca7e3d.zip differ
diff --git a/.yarn/cache/varint-npm-6.0.0-a638e8f225-7684113c9d.zip b/.yarn/cache/varint-npm-6.0.0-a638e8f225-7684113c9d.zip
new file mode 100644
index 0000000..396608b
Binary files /dev/null and b/.yarn/cache/varint-npm-6.0.0-a638e8f225-7684113c9d.zip differ
diff --git a/.yarn/cache/vite-npm-6.0.7-8c24f1f180-bf76b36479.zip b/.yarn/cache/vite-npm-6.0.7-8c24f1f180-bf76b36479.zip
new file mode 100644
index 0000000..1496442
Binary files /dev/null and b/.yarn/cache/vite-npm-6.0.7-8c24f1f180-bf76b36479.zip differ
diff --git a/.yarn/cache/which-npm-2.0.2-320ddf72f7-4782f8a1d6.zip b/.yarn/cache/which-npm-2.0.2-320ddf72f7-4782f8a1d6.zip
new file mode 100644
index 0000000..a912fec
Binary files /dev/null and b/.yarn/cache/which-npm-2.0.2-320ddf72f7-4782f8a1d6.zip differ
diff --git a/.yarn/cache/which-npm-5.0.0-15aa39eb60-6ec99e89ba.zip b/.yarn/cache/which-npm-5.0.0-15aa39eb60-6ec99e89ba.zip
new file mode 100644
index 0000000..4f3c1c3
Binary files /dev/null and b/.yarn/cache/which-npm-5.0.0-15aa39eb60-6ec99e89ba.zip differ
diff --git a/.yarn/cache/word-wrap-npm-1.2.5-42d00c4b09-1ec6f6089f.zip b/.yarn/cache/word-wrap-npm-1.2.5-42d00c4b09-1ec6f6089f.zip
new file mode 100644
index 0000000..39dac5c
Binary files /dev/null and b/.yarn/cache/word-wrap-npm-1.2.5-42d00c4b09-1ec6f6089f.zip differ
diff --git a/.yarn/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-cebdaeca3a.zip b/.yarn/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-cebdaeca3a.zip
new file mode 100644
index 0000000..9408fde
Binary files /dev/null and b/.yarn/cache/wrap-ansi-npm-7.0.0-ad6e1a0554-cebdaeca3a.zip differ
diff --git a/.yarn/cache/wrap-ansi-npm-8.1.0-26a4e6ae28-7b1e4b35e9.zip b/.yarn/cache/wrap-ansi-npm-8.1.0-26a4e6ae28-7b1e4b35e9.zip
new file mode 100644
index 0000000..ce259c7
Binary files /dev/null and b/.yarn/cache/wrap-ansi-npm-8.1.0-26a4e6ae28-7b1e4b35e9.zip differ
diff --git a/.yarn/cache/yallist-npm-3.1.1-a568a556b4-9af0a4329c.zip b/.yarn/cache/yallist-npm-3.1.1-a568a556b4-9af0a4329c.zip
new file mode 100644
index 0000000..c47958d
Binary files /dev/null and b/.yarn/cache/yallist-npm-3.1.1-a568a556b4-9af0a4329c.zip differ
diff --git a/.yarn/cache/yallist-npm-4.0.0-b493d9e907-4cb02b42b8.zip b/.yarn/cache/yallist-npm-4.0.0-b493d9e907-4cb02b42b8.zip
new file mode 100644
index 0000000..178e1e6
Binary files /dev/null and b/.yarn/cache/yallist-npm-4.0.0-b493d9e907-4cb02b42b8.zip differ
diff --git a/.yarn/cache/yallist-npm-5.0.0-8732dd9f1c-1884d272d4.zip b/.yarn/cache/yallist-npm-5.0.0-8732dd9f1c-1884d272d4.zip
new file mode 100644
index 0000000..bedea8d
Binary files /dev/null and b/.yarn/cache/yallist-npm-5.0.0-8732dd9f1c-1884d272d4.zip differ
diff --git a/.yarn/cache/yocto-queue-npm-0.1.0-c6c9a7db29-f77b3d8d00.zip b/.yarn/cache/yocto-queue-npm-0.1.0-c6c9a7db29-f77b3d8d00.zip
new file mode 100644
index 0000000..f56730d
Binary files /dev/null and b/.yarn/cache/yocto-queue-npm-0.1.0-c6c9a7db29-f77b3d8d00.zip differ
diff --git a/.yarn/install-state.gz b/.yarn/install-state.gz
new file mode 100644
index 0000000..e31e169
Binary files /dev/null and b/.yarn/install-state.gz differ
diff --git a/.yarnrc.yml b/.yarnrc.yml
new file mode 100644
index 0000000..3c7faba
--- /dev/null
+++ b/.yarnrc.yml
@@ -0,0 +1,4 @@
+compressionLevel: mixed
+
+enableGlobalCache: false
+nodeLinker: node-modules
\ No newline at end of file
diff --git a/eslint.config.js b/eslint.config.js
new file mode 100644
index 0000000..092408a
--- /dev/null
+++ b/eslint.config.js
@@ -0,0 +1,28 @@
+import js from '@eslint/js'
+import globals from 'globals'
+import reactHooks from 'eslint-plugin-react-hooks'
+import reactRefresh from 'eslint-plugin-react-refresh'
+import tseslint from 'typescript-eslint'
+
+export default tseslint.config(
+ { ignores: ['dist'] },
+ {
+ extends: [js.configs.recommended, ...tseslint.configs.recommended],
+ files: ['**/*.{ts,tsx}'],
+ languageOptions: {
+ ecmaVersion: 2020,
+ globals: globals.browser,
+ },
+ plugins: {
+ 'react-hooks': reactHooks,
+ 'react-refresh': reactRefresh,
+ },
+ rules: {
+ ...reactHooks.configs.recommended.rules,
+ 'react-refresh/only-export-components': [
+ 'warn',
+ { allowConstantExport: true },
+ ],
+ },
+ },
+)
diff --git a/index.html b/index.html
new file mode 100644
index 0000000..c0aaef2
--- /dev/null
+++ b/index.html
@@ -0,0 +1,13 @@
+
+
+
+
+
+
+ DotnetRU WebauthN
+
+
+
+
+
+
diff --git a/package.json b/package.json
new file mode 100644
index 0000000..2231ea9
--- /dev/null
+++ b/package.json
@@ -0,0 +1,34 @@
+{
+ "name": "dotnetru-webauthn-slides",
+ "private": true,
+ "version": "0.0.0",
+ "type": "module",
+ "scripts": {
+ "dev": "vite",
+ "build": "tsc -b && vite build",
+ "lint": "eslint .",
+ "preview": "vite preview"
+ },
+ "dependencies": {
+ "react": "19.0.0",
+ "react-dom": "19.0.0",
+ "reveal.js": "5.1.0"
+ },
+ "devDependencies": {
+ "@eslint/js": "9.17.0",
+ "@types/react": "19.0.4",
+ "@types/react-dom": "19.0.2",
+ "@types/reveal.js": "5.0.4",
+ "@vitejs/plugin-react": "4.3.4",
+ "eslint": "9.17.0",
+ "eslint-plugin-react-hooks": "5.1.0",
+ "eslint-plugin-react-refresh": "0.4.16",
+ "globals": "15.14.0",
+ "prettier": "3.4.2",
+ "sass-embedded": "1.83.1",
+ "typescript": "5.7.3",
+ "typescript-eslint": "8.19.1",
+ "vite": "6.0.7"
+ },
+ "packageManager": "yarn@4.1.0"
+}
diff --git a/public/vite.svg b/public/vite.svg
new file mode 100644
index 0000000..e7b8dfb
--- /dev/null
+++ b/public/vite.svg
@@ -0,0 +1 @@
+
\ No newline at end of file
diff --git a/src/App.tsx b/src/App.tsx
new file mode 100644
index 0000000..48d35f1
--- /dev/null
+++ b/src/App.tsx
@@ -0,0 +1,51 @@
+import { useEffect, useRef } from "react";
+import "reveal.js/dist/reveal.css";
+import "./theme/dodo-theme.scss";
+import Reveal from "reveal.js";
+import { ThemeList } from "./slides/example-slides";
+import { WhatIsWebauthnBlock } from "./slides/what-is-webauthn";
+import { FirstSlide, LastSlide } from "./slides/misc-slides";
+
+const App = () => {
+ const deckDivRef = useRef(null); // reference to deck container div
+ const deckRef = useRef(null); // reference to deck reveal instance
+
+ useEffect(() => {
+ // Prevents double initialization in strict mode
+ if (deckRef.current) return;
+
+ deckRef.current = new Reveal(deckDivRef.current!, {
+ transition: "slide",
+ slideNumber: "c/t",
+ center: false,
+ });
+
+ deckRef.current.initialize().then(() => {
+ // good place for event handlers and plugin setups
+ });
+
+ return () => {
+ try {
+ if (deckRef?.current?.isReady()) {
+ deckRef.current.destroy();
+ deckRef.current = null;
+ }
+ } catch (e) {
+ console.warn(e);
+ }
+ };
+ }, []);
+
+ return (
+
+ );
+};
+
+export default App;
diff --git a/src/assets/avatar-placeholder.jpg b/src/assets/avatar-placeholder.jpg
new file mode 100644
index 0000000..8c80997
Binary files /dev/null and b/src/assets/avatar-placeholder.jpg differ
diff --git a/src/assets/backgrounds/blue.png b/src/assets/backgrounds/blue.png
new file mode 100644
index 0000000..da63aa0
Binary files /dev/null and b/src/assets/backgrounds/blue.png differ
diff --git a/src/assets/backgrounds/light-blue.png b/src/assets/backgrounds/light-blue.png
new file mode 100644
index 0000000..961bfcf
Binary files /dev/null and b/src/assets/backgrounds/light-blue.png differ
diff --git a/src/assets/backgrounds/purple.png b/src/assets/backgrounds/purple.png
new file mode 100644
index 0000000..0bd7459
Binary files /dev/null and b/src/assets/backgrounds/purple.png differ
diff --git a/src/assets/backgrounds/red.png b/src/assets/backgrounds/red.png
new file mode 100644
index 0000000..890ab52
Binary files /dev/null and b/src/assets/backgrounds/red.png differ
diff --git a/src/assets/backgrounds/yellow.png b/src/assets/backgrounds/yellow.png
new file mode 100644
index 0000000..385b9fc
Binary files /dev/null and b/src/assets/backgrounds/yellow.png differ
diff --git a/src/assets/covers/1.png b/src/assets/covers/1.png
new file mode 100644
index 0000000..ca177fa
Binary files /dev/null and b/src/assets/covers/1.png differ
diff --git a/src/assets/covers/2.png b/src/assets/covers/2.png
new file mode 100644
index 0000000..c7d343f
Binary files /dev/null and b/src/assets/covers/2.png differ
diff --git a/src/assets/covers/3.png b/src/assets/covers/3.png
new file mode 100644
index 0000000..2e39f81
Binary files /dev/null and b/src/assets/covers/3.png differ
diff --git a/src/assets/covers/4.png b/src/assets/covers/4.png
new file mode 100644
index 0000000..49e1587
Binary files /dev/null and b/src/assets/covers/4.png differ
diff --git a/src/assets/covers/5.png b/src/assets/covers/5.png
new file mode 100644
index 0000000..00e3cec
Binary files /dev/null and b/src/assets/covers/5.png differ
diff --git a/src/assets/covers/6.png b/src/assets/covers/6.png
new file mode 100644
index 0000000..e0cb382
Binary files /dev/null and b/src/assets/covers/6.png differ
diff --git a/src/assets/engi-logo-small.png b/src/assets/engi-logo-small.png
new file mode 100644
index 0000000..905729c
Binary files /dev/null and b/src/assets/engi-logo-small.png differ
diff --git a/src/assets/engi-logo-white.png b/src/assets/engi-logo-white.png
new file mode 100644
index 0000000..c2229c2
Binary files /dev/null and b/src/assets/engi-logo-white.png differ
diff --git a/src/assets/images/fido.jpg b/src/assets/images/fido.jpg
new file mode 100644
index 0000000..d794ade
Binary files /dev/null and b/src/assets/images/fido.jpg differ
diff --git a/src/assets/rickrollqr.png b/src/assets/rickrollqr.png
new file mode 100644
index 0000000..ee8256f
Binary files /dev/null and b/src/assets/rickrollqr.png differ
diff --git a/src/assets/screenshots/CNET-password-death.png b/src/assets/screenshots/CNET-password-death.png
new file mode 100644
index 0000000..b8217ee
Binary files /dev/null and b/src/assets/screenshots/CNET-password-death.png differ
diff --git a/src/assets/screenshots/ZDNet-password-death.png b/src/assets/screenshots/ZDNet-password-death.png
new file mode 100644
index 0000000..c0040a0
Binary files /dev/null and b/src/assets/screenshots/ZDNet-password-death.png differ
diff --git a/src/assets/screenshots/ibm-no-passwords.png b/src/assets/screenshots/ibm-no-passwords.png
new file mode 100644
index 0000000..091471e
Binary files /dev/null and b/src/assets/screenshots/ibm-no-passwords.png differ
diff --git a/src/assets/transparent-star.png b/src/assets/transparent-star.png
new file mode 100644
index 0000000..e48df7b
Binary files /dev/null and b/src/assets/transparent-star.png differ
diff --git a/src/main.tsx b/src/main.tsx
new file mode 100644
index 0000000..5d4a2be
--- /dev/null
+++ b/src/main.tsx
@@ -0,0 +1,9 @@
+import { StrictMode } from "react";
+import { createRoot } from "react-dom/client";
+import App from "./App.tsx";
+
+createRoot(document.getElementById("root")!).render(
+
+
+ ,
+);
diff --git a/src/slides/example-slides/index.tsx b/src/slides/example-slides/index.tsx
new file mode 100644
index 0000000..10cc788
--- /dev/null
+++ b/src/slides/example-slides/index.tsx
@@ -0,0 +1,14 @@
+import { IntermediateHeadingStar } from "../../widgets";
+
+export const ThemeList = () => (
+ <>
+
+
+
+
+
+ >
+);
diff --git a/src/slides/misc-slides/index.tsx b/src/slides/misc-slides/index.tsx
new file mode 100644
index 0000000..c8d7904
--- /dev/null
+++ b/src/slides/misc-slides/index.tsx
@@ -0,0 +1,23 @@
+import { AuthorFooter, FirstPageWithCoverLower, IntermediateHeadingGradient } from "../../widgets";
+import avatar from "../../assets/avatar-placeholder.jpg";
+import rickrollplaceholder from "../../assets/rickrollqr.png";
+
+const Me = () => (
+
+);
+
+export const FirstSlide = () => (
+
+
+
+);
+
+export const LastSlide = () => (
+
+
+
+);
diff --git a/src/slides/what-is-webauthn/index.tsx b/src/slides/what-is-webauthn/index.tsx
new file mode 100644
index 0000000..09ebf6b
--- /dev/null
+++ b/src/slides/what-is-webauthn/index.tsx
@@ -0,0 +1,76 @@
+import { FlexRow, IntermediateHeadingStar, List, ListItemFragment, Slide } from "../../widgets";
+import passwordDeath from "../../assets/screenshots/ZDNet-password-death.png";
+import passwordDeath2 from "../../assets/screenshots/CNET-password-death.png";
+import noPasswords from "../../assets/screenshots/ibm-no-passwords.png";
+import fidoImage from "../../assets/images/fido.jpg";
+
+const WhatIsWebauthnHeading = () => ;
+
+const PasswordLessSlide = () => (
+
+
+ Первая реализация "Аутентификации по паролю" была в 1961 в MIT для CTSS
+
+
+ Алан Шерр продемонстрировал первую уязвимость пароля в 1962
+
+
+
+ Ответ от Роберта Марриса (используемая по сей день): Хэширование паролей
+
+
+
+ Лэсли Лампорт "Password Authentication with Insecure Communication" 1981 год
+
+
+ RFC 1938 "A One-Time Password System" в 1995
+
+
+ Ближе к 2000 году в энтерпрайзе началась популяризация входа по смарт-картам
+
+
+
+);
+
+const BillGatesAboutPasswords = () => (
+
+ На RSA Conference в 2003 Билл Гейтс рассказывая о SecurID сказал:
+
+ "There is no doubt that over time, people are going to rely less and less on passwords. People
+ use the same password on different systems, they write them down and they just don't meet the
+ challenge for anything you really want to secure."
+
+
+);
+
+const PasswordLessIBM = () => (
+
+
+
+);
+
+const DeathOfPasswordReaction = () => (
+
+
+
+
+
+
+);
+
+const FidoAlliance = () => (
+
+
+
+);
+
+export const WhatIsWebauthnBlock = () => (
+ <>
+
+
+
+
+
+
+ >
+);
diff --git a/src/theme/dodo-theme.scss b/src/theme/dodo-theme.scss
new file mode 100644
index 0000000..566cae1
--- /dev/null
+++ b/src/theme/dodo-theme.scss
@@ -0,0 +1,111 @@
+@use "sass:color";
+// Default mixins and settings -----------------
+@import "reveal.js/css/theme/template/mixins.scss";
+@import "reveal.js/css/theme/template/settings.scss";
+// ---------------------------------------------
+
+// Override theme settings (see ../template/settings.scss)
+$backgroundColor: #000;
+
+$mainColor: #fff;
+$headingColor: #fff;
+
+$mainFontSize: 14px;
+$mainFont: Helvetica, sans-serif;
+$headingFont: Helvetica, sans-serif;
+$headingTextShadow: none;
+$headingLetterSpacing: normal;
+$headingTextTransform: uppercase;
+$headingFontWeight: 600;
+$linkColor: #fff;
+$linkColorHover: color.adjust($linkColor, $lightness: 15%);
+$selectionBackgroundColor: rgba($linkColor, 0.75);
+
+$heading1Size: 32px;
+$heading2Size: 24px;
+$heading3Size: 14px;
+$heading4Size: 12px;
+
+// Change text colors against light slide backgrounds
+@include light-bg-text-color(#222);
+
+// Theme template ------------------------------
+@import "reveal.js/css/theme/template/theme.scss";
+// ---------------------------------------------
+
+// AdHoc crap
+#root {
+ height: 100%;
+}
+
+[slide-no-center="true"] {
+ text-align: left;
+}
+
+.dodo-slide-with-footer-block {
+ height: 100%;
+ display: flex !important;
+ flex-direction: column;
+}
+
+.dodo-engineering-logo-heading img {
+ width: 136px;
+ height: 30px;
+}
+
+.dodo-intermediate-heading-block {
+ margin-top: 24%;
+}
+
+.dodo-cover-heading-block {
+ margin-top: 24%;
+}
+
+.dodo-cover-heading-lower-block {
+ margin-top: 44%;
+}
+
+.dodo-gradient-heading-block {
+ margin-top: 34%;
+}
+
+.dodo-slide-header-block {
+ display: flex;
+ justify-content: space-between;
+ align-items: center;
+}
+
+.dodo-slide-header-block div:last-child img {
+ width: 30px;
+ height: 30px;
+}
+
+.dodo-author-block {
+ margin-top: auto;
+ margin-bottom: 1rem;
+ display: flex;
+ align-items: center;
+}
+
+.dodo-author-block p {
+ margin: 0;
+}
+
+.dodo-author-rounded-avatar-block img {
+ margin-right: 1rem;
+ border-radius: 50%;
+ height: 3.25rem;
+ width: 3.25rem;
+}
+
+.dodo-flex-row {
+ display: flex;
+ flex-direction: row;
+ justify-content: space-around;
+}
+
+.dodo-ul {
+ & li {
+ padding-left: 0;
+ }
+}
\ No newline at end of file
diff --git a/src/vite-env.d.ts b/src/vite-env.d.ts
new file mode 100644
index 0000000..11f02fe
--- /dev/null
+++ b/src/vite-env.d.ts
@@ -0,0 +1 @@
+///
diff --git a/src/widgets/index.tsx b/src/widgets/index.tsx
new file mode 100644
index 0000000..297aaf6
--- /dev/null
+++ b/src/widgets/index.tsx
@@ -0,0 +1,170 @@
+import { FC, PropsWithChildren } from "react";
+import backgroundStar from "../assets/transparent-star.png";
+import headingSmallLogo from "../assets/engi-logo-small.png";
+import headingLogo from "../assets/engi-logo-white.png";
+import gradientYellow from "../assets/backgrounds/yellow.png";
+import gradientLBlue from "../assets/backgrounds/light-blue.png";
+import gradientBlue from "../assets/backgrounds/blue.png";
+import gradientPurple from "../assets/backgrounds/purple.png";
+import coverGreen from "../assets/covers/1.png";
+import coverBlueDark from "../assets/covers/2.png";
+import coverBlue from "../assets/covers/3.png";
+import coverPurpleDark from "../assets/covers/4.png";
+import coverPurple from "../assets/covers/5.png";
+import coverYellow from "../assets/covers/6.png";
+import gradientRed from "../assets/backgrounds/red.png";
+
+const GradientBackgrounds = {
+ gradientYellow,
+ gradientLBlue,
+ gradientBlue,
+ gradientPurple,
+ gradientRed,
+};
+
+const CoverBackgrounds = {
+ coverGreen,
+ coverBlueDark,
+ coverBlue,
+ coverPurpleDark,
+ coverPurple,
+ coverYellow,
+};
+
+export type GradientBackgroundType = keyof typeof GradientBackgrounds;
+export type CoverBackgroundType = keyof typeof CoverBackgrounds;
+
+export type AuthorFooterProps = {
+ name: string;
+ position: string;
+ imageUrl: string;
+};
+
+export type IntermediateHeadingStarProps = {
+ title: string;
+ subTitle?: string;
+};
+
+export type FirstPageWithCoverProps = PropsWithChildren & {
+ title: string;
+ cover: CoverBackgroundType;
+};
+
+export type IntermediateHeadingGradientProps = PropsWithChildren & {
+ title: string;
+ gradient: GradientBackgroundType;
+};
+
+export type SlideProps = PropsWithChildren & {
+ title: string;
+ gradient?: GradientBackgroundType;
+};
+
+export const AuthorFooter: FC = ({ imageUrl, name, position }) => (
+
+
+
+
+
+
+);
+
+export const IntermediateHeadingStar: FC = ({ title, subTitle }) => (
+
+
+
+
+
+ {title}
+ {subTitle ?? ""}
+
+
+);
+
+export const IntermediateHeadingGradient: FC = ({
+ title,
+ gradient,
+ children,
+}) => (
+
+
+ {title}
+ {children}
+
+
+);
+
+export const FirstPageWithCoverCenter: FC = ({
+ cover,
+ title,
+ children,
+}) => (
+
+
+
+
+
+ {title}
+
+ {children}
+
+);
+
+export const FirstPageWithCoverLower: FC = ({
+ cover,
+ title,
+ children,
+}) => (
+
+
+
+
+
+ {title}
+
+ {children}
+
+);
+
+export const FlexRow: FC = ({ children }) => (
+ {children}
+);
+
+export const List: FC = ({ children }) => (
+
+);
+
+export const ListItemFragment: FC = ({ children }) => (
+ {children}
+);
+
+export const Slide: FC = ({ title, gradient, children }) => {
+ const bg = gradient ? GradientBackgrounds[gradient] : "";
+ return (
+
+
+
+
{title}
+
+
+
+
+
+
+
+ {children}
+
+
+ );
+};
diff --git a/talk-content/speaker-text.md b/talk-content/speaker-text.md
new file mode 100644
index 0000000..1c5de52
--- /dev/null
+++ b/talk-content/speaker-text.md
@@ -0,0 +1,16 @@
+# Беспарольный вход с WebAuthN - практическая часть
+
+
+## Что есть этот ваш беспарольный вход?
+
+Беспарольный вход это способ аутентификации в систему, без необходимости предоставления пароля или какого либо секрета
+
+В основном беспарольный вход базируется на двух факторах:
+- Что я имею
+ - Телефон, физический ключ
+- Что я есть (биометрия)
+ - Пальцы, голос, лицо и етц
+
+Сам беспарольный вход идея далеко не новая
+
+
diff --git a/tsconfig.app.json b/tsconfig.app.json
new file mode 100644
index 0000000..358ca9b
--- /dev/null
+++ b/tsconfig.app.json
@@ -0,0 +1,26 @@
+{
+ "compilerOptions": {
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.app.tsbuildinfo",
+ "target": "ES2020",
+ "useDefineForClassFields": true,
+ "lib": ["ES2020", "DOM", "DOM.Iterable"],
+ "module": "ESNext",
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "isolatedModules": true,
+ "moduleDetection": "force",
+ "noEmit": true,
+ "jsx": "react-jsx",
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true,
+ "noUncheckedSideEffectImports": true
+ },
+ "include": ["src"]
+}
diff --git a/tsconfig.json b/tsconfig.json
new file mode 100644
index 0000000..1ffef60
--- /dev/null
+++ b/tsconfig.json
@@ -0,0 +1,7 @@
+{
+ "files": [],
+ "references": [
+ { "path": "./tsconfig.app.json" },
+ { "path": "./tsconfig.node.json" }
+ ]
+}
diff --git a/tsconfig.node.json b/tsconfig.node.json
new file mode 100644
index 0000000..db0becc
--- /dev/null
+++ b/tsconfig.node.json
@@ -0,0 +1,24 @@
+{
+ "compilerOptions": {
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
+ "target": "ES2022",
+ "lib": ["ES2023"],
+ "module": "ESNext",
+ "skipLibCheck": true,
+
+ /* Bundler mode */
+ "moduleResolution": "bundler",
+ "allowImportingTsExtensions": true,
+ "isolatedModules": true,
+ "moduleDetection": "force",
+ "noEmit": true,
+
+ /* Linting */
+ "strict": true,
+ "noUnusedLocals": true,
+ "noUnusedParameters": true,
+ "noFallthroughCasesInSwitch": true,
+ "noUncheckedSideEffectImports": true
+ },
+ "include": ["vite.config.ts"]
+}
diff --git a/vite.config.ts b/vite.config.ts
new file mode 100644
index 0000000..9a234de
--- /dev/null
+++ b/vite.config.ts
@@ -0,0 +1,15 @@
+import { defineConfig } from "vite";
+import react from "@vitejs/plugin-react";
+
+// https://vite.dev/config/
+export default defineConfig({
+ plugins: [react()],
+ css: {
+ preprocessorOptions: {
+ scss: {
+ silenceDeprecations: ["import"],
+ quietDeps: true,
+ },
+ },
+ },
+});
diff --git a/yarn.lock b/yarn.lock
new file mode 100644
index 0000000..04dd0b4
--- /dev/null
+++ b/yarn.lock
@@ -0,0 +1,3188 @@
+# This file is generated by running "yarn install" inside your project.
+# Manual changes might be lost - proceed with caution!
+
+__metadata:
+ version: 8
+ cacheKey: 10
+
+"@ampproject/remapping@npm:^2.2.0":
+ version: 2.3.0
+ resolution: "@ampproject/remapping@npm:2.3.0"
+ dependencies:
+ "@jridgewell/gen-mapping": "npm:^0.3.5"
+ "@jridgewell/trace-mapping": "npm:^0.3.24"
+ checksum: 10/f3451525379c68a73eb0a1e65247fbf28c0cccd126d93af21c75fceff77773d43c0d4a2d51978fb131aff25b5f2cb41a9fe48cc296e61ae65e679c4f6918b0ab
+ languageName: node
+ linkType: hard
+
+"@babel/code-frame@npm:^7.25.9, @babel/code-frame@npm:^7.26.0, @babel/code-frame@npm:^7.26.2":
+ version: 7.26.2
+ resolution: "@babel/code-frame@npm:7.26.2"
+ dependencies:
+ "@babel/helper-validator-identifier": "npm:^7.25.9"
+ js-tokens: "npm:^4.0.0"
+ picocolors: "npm:^1.0.0"
+ checksum: 10/db2c2122af79d31ca916755331bb4bac96feb2b334cdaca5097a6b467fdd41963b89b14b6836a14f083de7ff887fc78fa1b3c10b14e743d33e12dbfe5ee3d223
+ languageName: node
+ linkType: hard
+
+"@babel/compat-data@npm:^7.25.9":
+ version: 7.26.3
+ resolution: "@babel/compat-data@npm:7.26.3"
+ checksum: 10/0bf4e491680722aa0eac26f770f2fae059f92e2ac083900b241c90a2c10f0fc80e448b1feccc2b332687fab4c3e33e9f83dee9ef56badca1fb9f3f71266d9ebf
+ languageName: node
+ linkType: hard
+
+"@babel/core@npm:^7.26.0":
+ version: 7.26.0
+ resolution: "@babel/core@npm:7.26.0"
+ dependencies:
+ "@ampproject/remapping": "npm:^2.2.0"
+ "@babel/code-frame": "npm:^7.26.0"
+ "@babel/generator": "npm:^7.26.0"
+ "@babel/helper-compilation-targets": "npm:^7.25.9"
+ "@babel/helper-module-transforms": "npm:^7.26.0"
+ "@babel/helpers": "npm:^7.26.0"
+ "@babel/parser": "npm:^7.26.0"
+ "@babel/template": "npm:^7.25.9"
+ "@babel/traverse": "npm:^7.25.9"
+ "@babel/types": "npm:^7.26.0"
+ convert-source-map: "npm:^2.0.0"
+ debug: "npm:^4.1.0"
+ gensync: "npm:^1.0.0-beta.2"
+ json5: "npm:^2.2.3"
+ semver: "npm:^6.3.1"
+ checksum: 10/65767bfdb1f02e80d3af4f138066670ef8fdd12293de85ef151758a901c191c797e86d2e99b11c4cdfca33c72385ecaf38bbd7fa692791ec44c77763496b9b93
+ languageName: node
+ linkType: hard
+
+"@babel/generator@npm:^7.26.0, @babel/generator@npm:^7.26.3":
+ version: 7.26.3
+ resolution: "@babel/generator@npm:7.26.3"
+ dependencies:
+ "@babel/parser": "npm:^7.26.3"
+ "@babel/types": "npm:^7.26.3"
+ "@jridgewell/gen-mapping": "npm:^0.3.5"
+ "@jridgewell/trace-mapping": "npm:^0.3.25"
+ jsesc: "npm:^3.0.2"
+ checksum: 10/c1d8710cc1c52af9d8d67f7d8ea775578aa500887b327d2a81e27494764a6ef99e438dd7e14cf7cd3153656492ee27a8362980dc438087c0ca39d4e75532c638
+ languageName: node
+ linkType: hard
+
+"@babel/helper-compilation-targets@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-compilation-targets@npm:7.25.9"
+ dependencies:
+ "@babel/compat-data": "npm:^7.25.9"
+ "@babel/helper-validator-option": "npm:^7.25.9"
+ browserslist: "npm:^4.24.0"
+ lru-cache: "npm:^5.1.1"
+ semver: "npm:^6.3.1"
+ checksum: 10/8053fbfc21e8297ab55c8e7f9f119e4809fa7e505268691e1bedc2cf5e7a5a7de8c60ad13da2515378621b7601c42e101d2d679904da395fa3806a1edef6b92e
+ languageName: node
+ linkType: hard
+
+"@babel/helper-module-imports@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-module-imports@npm:7.25.9"
+ dependencies:
+ "@babel/traverse": "npm:^7.25.9"
+ "@babel/types": "npm:^7.25.9"
+ checksum: 10/e090be5dee94dda6cd769972231b21ddfae988acd76b703a480ac0c96f3334557d70a965bf41245d6ee43891e7571a8b400ccf2b2be5803351375d0f4e5bcf08
+ languageName: node
+ linkType: hard
+
+"@babel/helper-module-transforms@npm:^7.26.0":
+ version: 7.26.0
+ resolution: "@babel/helper-module-transforms@npm:7.26.0"
+ dependencies:
+ "@babel/helper-module-imports": "npm:^7.25.9"
+ "@babel/helper-validator-identifier": "npm:^7.25.9"
+ "@babel/traverse": "npm:^7.25.9"
+ peerDependencies:
+ "@babel/core": ^7.0.0
+ checksum: 10/9841d2a62f61ad52b66a72d08264f23052d533afc4ce07aec2a6202adac0bfe43014c312f94feacb3291f4c5aafe681955610041ece2c276271adce3f570f2f5
+ languageName: node
+ linkType: hard
+
+"@babel/helper-plugin-utils@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-plugin-utils@npm:7.25.9"
+ checksum: 10/e347d87728b1ab10b6976d46403941c8f9008c045ea6d99997a7ffca7b852dc34b6171380f7b17edf94410e0857ff26f3a53d8618f11d73744db86e8ca9b8c64
+ languageName: node
+ linkType: hard
+
+"@babel/helper-string-parser@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-string-parser@npm:7.25.9"
+ checksum: 10/c28656c52bd48e8c1d9f3e8e68ecafd09d949c57755b0d353739eb4eae7ba4f7e67e92e4036f1cd43378cc1397a2c943ed7bcaf5949b04ab48607def0258b775
+ languageName: node
+ linkType: hard
+
+"@babel/helper-validator-identifier@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-validator-identifier@npm:7.25.9"
+ checksum: 10/3f9b649be0c2fd457fa1957b694b4e69532a668866b8a0d81eabfa34ba16dbf3107b39e0e7144c55c3c652bf773ec816af8df4a61273a2bb4eb3145ca9cf478e
+ languageName: node
+ linkType: hard
+
+"@babel/helper-validator-option@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/helper-validator-option@npm:7.25.9"
+ checksum: 10/9491b2755948ebbdd68f87da907283698e663b5af2d2b1b02a2765761974b1120d5d8d49e9175b167f16f72748ffceec8c9cf62acfbee73f4904507b246e2b3d
+ languageName: node
+ linkType: hard
+
+"@babel/helpers@npm:^7.26.0":
+ version: 7.26.0
+ resolution: "@babel/helpers@npm:7.26.0"
+ dependencies:
+ "@babel/template": "npm:^7.25.9"
+ "@babel/types": "npm:^7.26.0"
+ checksum: 10/fd4757f65d10b64cfdbf4b3adb7ea6ffff9497c53e0786452f495d1f7794da7e0898261b4db65e1c62bbb9a360d7d78a1085635c23dfc3af2ab6dcba06585f86
+ languageName: node
+ linkType: hard
+
+"@babel/parser@npm:^7.1.0, @babel/parser@npm:^7.20.7, @babel/parser@npm:^7.25.9, @babel/parser@npm:^7.26.0, @babel/parser@npm:^7.26.3":
+ version: 7.26.3
+ resolution: "@babel/parser@npm:7.26.3"
+ dependencies:
+ "@babel/types": "npm:^7.26.3"
+ bin:
+ parser: ./bin/babel-parser.js
+ checksum: 10/e7e3814b2dc9ee3ed605d38223471fa7d3a84cbe9474d2b5fa7ac57dc1ddf75577b1fd3a93bf7db8f41f28869bda795cddd80223f980be23623b6434bf4c88a8
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-react-jsx-self@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-react-jsx-self@npm:7.25.9"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10/41c833cd7f91b1432710f91b1325706e57979b2e8da44e83d86312c78bbe96cd9ef778b4e79e4e17ab25fa32c72b909f2be7f28e876779ede28e27506c41f4ae
+ languageName: node
+ linkType: hard
+
+"@babel/plugin-transform-react-jsx-source@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/plugin-transform-react-jsx-source@npm:7.25.9"
+ dependencies:
+ "@babel/helper-plugin-utils": "npm:^7.25.9"
+ peerDependencies:
+ "@babel/core": ^7.0.0-0
+ checksum: 10/a3e0e5672e344e9d01fb20b504fe29a84918eaa70cec512c4d4b1b035f72803261257343d8e93673365b72c371f35cf34bb0d129720bf178a4c87812c8b9c662
+ languageName: node
+ linkType: hard
+
+"@babel/template@npm:^7.25.9":
+ version: 7.25.9
+ resolution: "@babel/template@npm:7.25.9"
+ dependencies:
+ "@babel/code-frame": "npm:^7.25.9"
+ "@babel/parser": "npm:^7.25.9"
+ "@babel/types": "npm:^7.25.9"
+ checksum: 10/e861180881507210150c1335ad94aff80fd9e9be6202e1efa752059c93224e2d5310186ddcdd4c0f0b0fc658ce48cb47823f15142b5c00c8456dde54f5de80b2
+ languageName: node
+ linkType: hard
+
+"@babel/traverse@npm:^7.25.9":
+ version: 7.26.4
+ resolution: "@babel/traverse@npm:7.26.4"
+ dependencies:
+ "@babel/code-frame": "npm:^7.26.2"
+ "@babel/generator": "npm:^7.26.3"
+ "@babel/parser": "npm:^7.26.3"
+ "@babel/template": "npm:^7.25.9"
+ "@babel/types": "npm:^7.26.3"
+ debug: "npm:^4.3.1"
+ globals: "npm:^11.1.0"
+ checksum: 10/30c81a80d66fc39842814bc2e847f4705d30f3859156f130d90a0334fe1d53aa81eed877320141a528ecbc36448acc0f14f544a7d410fa319d1c3ab63b50b58f
+ languageName: node
+ linkType: hard
+
+"@babel/types@npm:^7.0.0, @babel/types@npm:^7.20.7, @babel/types@npm:^7.25.9, @babel/types@npm:^7.26.0, @babel/types@npm:^7.26.3":
+ version: 7.26.3
+ resolution: "@babel/types@npm:7.26.3"
+ dependencies:
+ "@babel/helper-string-parser": "npm:^7.25.9"
+ "@babel/helper-validator-identifier": "npm:^7.25.9"
+ checksum: 10/c31d0549630a89abfa11410bf82a318b0c87aa846fbf5f9905e47ba5e2aa44f41cc746442f105d622c519e4dc532d35a8d8080460ff4692f9fc7485fbf3a00eb
+ languageName: node
+ linkType: hard
+
+"@bufbuild/protobuf@npm:^2.0.0":
+ version: 2.2.3
+ resolution: "@bufbuild/protobuf@npm:2.2.3"
+ checksum: 10/30bf3ac56338159dadaa87dce5372d19ff50dc32d06293bdf655e35ebc1766435b485714d3b73a3b7070ce29f58891a9e2b0f453a2d7deef583797b4a420273c
+ languageName: node
+ linkType: hard
+
+"@esbuild/aix-ppc64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/aix-ppc64@npm:0.24.2"
+ conditions: os=aix & cpu=ppc64
+ languageName: node
+ linkType: hard
+
+"@esbuild/android-arm64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/android-arm64@npm:0.24.2"
+ conditions: os=android & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@esbuild/android-arm@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/android-arm@npm:0.24.2"
+ conditions: os=android & cpu=arm
+ languageName: node
+ linkType: hard
+
+"@esbuild/android-x64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/android-x64@npm:0.24.2"
+ conditions: os=android & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@esbuild/darwin-arm64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/darwin-arm64@npm:0.24.2"
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@esbuild/darwin-x64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/darwin-x64@npm:0.24.2"
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@esbuild/freebsd-arm64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/freebsd-arm64@npm:0.24.2"
+ conditions: os=freebsd & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@esbuild/freebsd-x64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/freebsd-x64@npm:0.24.2"
+ conditions: os=freebsd & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@esbuild/linux-arm64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/linux-arm64@npm:0.24.2"
+ conditions: os=linux & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@esbuild/linux-arm@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/linux-arm@npm:0.24.2"
+ conditions: os=linux & cpu=arm
+ languageName: node
+ linkType: hard
+
+"@esbuild/linux-ia32@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/linux-ia32@npm:0.24.2"
+ conditions: os=linux & cpu=ia32
+ languageName: node
+ linkType: hard
+
+"@esbuild/linux-loong64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/linux-loong64@npm:0.24.2"
+ conditions: os=linux & cpu=loong64
+ languageName: node
+ linkType: hard
+
+"@esbuild/linux-mips64el@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/linux-mips64el@npm:0.24.2"
+ conditions: os=linux & cpu=mips64el
+ languageName: node
+ linkType: hard
+
+"@esbuild/linux-ppc64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/linux-ppc64@npm:0.24.2"
+ conditions: os=linux & cpu=ppc64
+ languageName: node
+ linkType: hard
+
+"@esbuild/linux-riscv64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/linux-riscv64@npm:0.24.2"
+ conditions: os=linux & cpu=riscv64
+ languageName: node
+ linkType: hard
+
+"@esbuild/linux-s390x@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/linux-s390x@npm:0.24.2"
+ conditions: os=linux & cpu=s390x
+ languageName: node
+ linkType: hard
+
+"@esbuild/linux-x64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/linux-x64@npm:0.24.2"
+ conditions: os=linux & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@esbuild/netbsd-arm64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/netbsd-arm64@npm:0.24.2"
+ conditions: os=netbsd & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@esbuild/netbsd-x64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/netbsd-x64@npm:0.24.2"
+ conditions: os=netbsd & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@esbuild/openbsd-arm64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/openbsd-arm64@npm:0.24.2"
+ conditions: os=openbsd & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@esbuild/openbsd-x64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/openbsd-x64@npm:0.24.2"
+ conditions: os=openbsd & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@esbuild/sunos-x64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/sunos-x64@npm:0.24.2"
+ conditions: os=sunos & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@esbuild/win32-arm64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/win32-arm64@npm:0.24.2"
+ conditions: os=win32 & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@esbuild/win32-ia32@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/win32-ia32@npm:0.24.2"
+ conditions: os=win32 & cpu=ia32
+ languageName: node
+ linkType: hard
+
+"@esbuild/win32-x64@npm:0.24.2":
+ version: 0.24.2
+ resolution: "@esbuild/win32-x64@npm:0.24.2"
+ conditions: os=win32 & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@eslint-community/eslint-utils@npm:^4.2.0, @eslint-community/eslint-utils@npm:^4.4.0":
+ version: 4.4.1
+ resolution: "@eslint-community/eslint-utils@npm:4.4.1"
+ dependencies:
+ eslint-visitor-keys: "npm:^3.4.3"
+ peerDependencies:
+ eslint: ^6.0.0 || ^7.0.0 || >=8.0.0
+ checksum: 10/ae92a11412674329b4bd38422518601ec9ceae28e251104d1cad83715da9d38e321f68c817c39b64e66d0af7d98df6f9a10ad2dc638911254b47fb8932df00ef
+ languageName: node
+ linkType: hard
+
+"@eslint-community/regexpp@npm:^4.10.0, @eslint-community/regexpp@npm:^4.12.1":
+ version: 4.12.1
+ resolution: "@eslint-community/regexpp@npm:4.12.1"
+ checksum: 10/c08f1dd7dd18fbb60bdd0d85820656d1374dd898af9be7f82cb00451313402a22d5e30569c150315b4385907cdbca78c22389b2a72ab78883b3173be317620cc
+ languageName: node
+ linkType: hard
+
+"@eslint/config-array@npm:^0.19.0":
+ version: 0.19.1
+ resolution: "@eslint/config-array@npm:0.19.1"
+ dependencies:
+ "@eslint/object-schema": "npm:^2.1.5"
+ debug: "npm:^4.3.1"
+ minimatch: "npm:^3.1.2"
+ checksum: 10/1243b01f463de85c970c18f0994f9d1850dafe8cc8c910edb64105d845edd3cacaa0bbf028bf35a6daaf5a179021140b6a8b1dc7a2f915b42c2d35f022a9c201
+ languageName: node
+ linkType: hard
+
+"@eslint/core@npm:^0.9.0":
+ version: 0.9.1
+ resolution: "@eslint/core@npm:0.9.1"
+ dependencies:
+ "@types/json-schema": "npm:^7.0.15"
+ checksum: 10/f2263f8f94fdf84fc34573e027de98f1fce6287120513ae672ddf0652c75b9fa77c314d565628fc58e0a6f959766acc34c8191f9b94f1757b910408ffa04adde
+ languageName: node
+ linkType: hard
+
+"@eslint/eslintrc@npm:^3.2.0":
+ version: 3.2.0
+ resolution: "@eslint/eslintrc@npm:3.2.0"
+ dependencies:
+ ajv: "npm:^6.12.4"
+ debug: "npm:^4.3.2"
+ espree: "npm:^10.0.1"
+ globals: "npm:^14.0.0"
+ ignore: "npm:^5.2.0"
+ import-fresh: "npm:^3.2.1"
+ js-yaml: "npm:^4.1.0"
+ minimatch: "npm:^3.1.2"
+ strip-json-comments: "npm:^3.1.1"
+ checksum: 10/b32dd90ce7da68e89b88cd729db46b27aac79a2e6cb1fa75d25a6b766d586b443bfbf59622489efbd3c6f696f147b51111e81ec7cd23d70f215c5d474cad0261
+ languageName: node
+ linkType: hard
+
+"@eslint/js@npm:9.17.0":
+ version: 9.17.0
+ resolution: "@eslint/js@npm:9.17.0"
+ checksum: 10/1a89e62f5c50e75d44565b7f3b91701455a999132c991e10bac59c118fbb54bdd54be22b9bda1ac730f78a2e64604403d65ce5dd7726d80b2632982cfc3d84ac
+ languageName: node
+ linkType: hard
+
+"@eslint/object-schema@npm:^2.1.5":
+ version: 2.1.5
+ resolution: "@eslint/object-schema@npm:2.1.5"
+ checksum: 10/bb07ec53357047f20de923bcd61f0306d9eee83ef41daa32e633e154a44796b5bd94670169eccb8fd8cb4ff42228a43b86953a6321f789f98194baba8207b640
+ languageName: node
+ linkType: hard
+
+"@eslint/plugin-kit@npm:^0.2.3":
+ version: 0.2.4
+ resolution: "@eslint/plugin-kit@npm:0.2.4"
+ dependencies:
+ levn: "npm:^0.4.1"
+ checksum: 10/e34d02ea1dccd716e51369620263a4b2167aff3c0510ed776e21336cc3ad7158087449a76931baf07cdc33810cb6919db375f2e9f409435d2c6e0dd5f4786b25
+ languageName: node
+ linkType: hard
+
+"@humanfs/core@npm:^0.19.1":
+ version: 0.19.1
+ resolution: "@humanfs/core@npm:0.19.1"
+ checksum: 10/270d936be483ab5921702623bc74ce394bf12abbf57d9145a69e8a0d1c87eb1c768bd2d93af16c5705041e257e6d9cc7529311f63a1349f3678abc776fc28523
+ languageName: node
+ linkType: hard
+
+"@humanfs/node@npm:^0.16.6":
+ version: 0.16.6
+ resolution: "@humanfs/node@npm:0.16.6"
+ dependencies:
+ "@humanfs/core": "npm:^0.19.1"
+ "@humanwhocodes/retry": "npm:^0.3.0"
+ checksum: 10/6d43c6727463772d05610aa05c83dab2bfbe78291022ee7a92cb50999910b8c720c76cc312822e2dea2b497aa1b3fef5fe9f68803fc45c9d4ed105874a65e339
+ languageName: node
+ linkType: hard
+
+"@humanwhocodes/module-importer@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "@humanwhocodes/module-importer@npm:1.0.1"
+ checksum: 10/e993950e346331e5a32eefb27948ecdee2a2c4ab3f072b8f566cd213ef485dd50a3ca497050608db91006f5479e43f91a439aef68d2a313bd3ded06909c7c5b3
+ languageName: node
+ linkType: hard
+
+"@humanwhocodes/retry@npm:^0.3.0":
+ version: 0.3.1
+ resolution: "@humanwhocodes/retry@npm:0.3.1"
+ checksum: 10/eb457f699529de7f07649679ec9e0353055eebe443c2efe71c6dd950258892475a038e13c6a8c5e13ed1fb538cdd0a8794faa96b24b6ffc4c87fb1fc9f70ad7f
+ languageName: node
+ linkType: hard
+
+"@humanwhocodes/retry@npm:^0.4.1":
+ version: 0.4.1
+ resolution: "@humanwhocodes/retry@npm:0.4.1"
+ checksum: 10/39fafc7319e88f61befebd5e1b4f0136534ea6a9bd10d74366698187bd63544210ec5d79a87ed4d91297f1cc64c4c53d45fb0077a2abfdce212cf0d3862d5f04
+ languageName: node
+ linkType: hard
+
+"@isaacs/cliui@npm:^8.0.2":
+ version: 8.0.2
+ resolution: "@isaacs/cliui@npm:8.0.2"
+ dependencies:
+ string-width: "npm:^5.1.2"
+ string-width-cjs: "npm:string-width@^4.2.0"
+ strip-ansi: "npm:^7.0.1"
+ strip-ansi-cjs: "npm:strip-ansi@^6.0.1"
+ wrap-ansi: "npm:^8.1.0"
+ wrap-ansi-cjs: "npm:wrap-ansi@^7.0.0"
+ checksum: 10/e9ed5fd27c3aec1095e3a16e0c0cf148d1fee55a38665c35f7b3f86a9b5d00d042ddaabc98e8a1cb7463b9378c15f22a94eb35e99469c201453eb8375191f243
+ languageName: node
+ linkType: hard
+
+"@isaacs/fs-minipass@npm:^4.0.0":
+ version: 4.0.1
+ resolution: "@isaacs/fs-minipass@npm:4.0.1"
+ dependencies:
+ minipass: "npm:^7.0.4"
+ checksum: 10/4412e9e6713c89c1e66d80bb0bb5a2a93192f10477623a27d08f228ba0316bb880affabc5bfe7f838f58a34d26c2c190da726e576cdfc18c49a72e89adabdcf5
+ languageName: node
+ linkType: hard
+
+"@jridgewell/gen-mapping@npm:^0.3.5":
+ version: 0.3.8
+ resolution: "@jridgewell/gen-mapping@npm:0.3.8"
+ dependencies:
+ "@jridgewell/set-array": "npm:^1.2.1"
+ "@jridgewell/sourcemap-codec": "npm:^1.4.10"
+ "@jridgewell/trace-mapping": "npm:^0.3.24"
+ checksum: 10/9d3a56ab3612ab9b85d38b2a93b87f3324f11c5130859957f6500e4ac8ce35f299d5ccc3ecd1ae87597601ecf83cee29e9afd04c18777c24011073992ff946df
+ languageName: node
+ linkType: hard
+
+"@jridgewell/resolve-uri@npm:^3.1.0":
+ version: 3.1.2
+ resolution: "@jridgewell/resolve-uri@npm:3.1.2"
+ checksum: 10/97106439d750a409c22c8bff822d648f6a71f3aa9bc8e5129efdc36343cd3096ddc4eeb1c62d2fe48e9bdd4db37b05d4646a17114ecebd3bbcacfa2de51c3c1d
+ languageName: node
+ linkType: hard
+
+"@jridgewell/set-array@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "@jridgewell/set-array@npm:1.2.1"
+ checksum: 10/832e513a85a588f8ed4f27d1279420d8547743cc37fcad5a5a76fc74bb895b013dfe614d0eed9cb860048e6546b798f8f2652020b4b2ba0561b05caa8c654b10
+ languageName: node
+ linkType: hard
+
+"@jridgewell/sourcemap-codec@npm:^1.4.10, @jridgewell/sourcemap-codec@npm:^1.4.14":
+ version: 1.5.0
+ resolution: "@jridgewell/sourcemap-codec@npm:1.5.0"
+ checksum: 10/4ed6123217569a1484419ac53f6ea0d9f3b57e5b57ab30d7c267bdb27792a27eb0e4b08e84a2680aa55cc2f2b411ffd6ec3db01c44fdc6dc43aca4b55f8374fd
+ languageName: node
+ linkType: hard
+
+"@jridgewell/trace-mapping@npm:^0.3.24, @jridgewell/trace-mapping@npm:^0.3.25":
+ version: 0.3.25
+ resolution: "@jridgewell/trace-mapping@npm:0.3.25"
+ dependencies:
+ "@jridgewell/resolve-uri": "npm:^3.1.0"
+ "@jridgewell/sourcemap-codec": "npm:^1.4.14"
+ checksum: 10/dced32160a44b49d531b80a4a2159dceab6b3ddf0c8e95a0deae4b0e894b172defa63d5ac52a19c2068e1fe7d31ea4ba931fbeec103233ecb4208953967120fc
+ languageName: node
+ linkType: hard
+
+"@nodelib/fs.scandir@npm:2.1.5":
+ version: 2.1.5
+ resolution: "@nodelib/fs.scandir@npm:2.1.5"
+ dependencies:
+ "@nodelib/fs.stat": "npm:2.0.5"
+ run-parallel: "npm:^1.1.9"
+ checksum: 10/6ab2a9b8a1d67b067922c36f259e3b3dfd6b97b219c540877a4944549a4d49ea5ceba5663905ab5289682f1f3c15ff441d02f0447f620a42e1cb5e1937174d4b
+ languageName: node
+ linkType: hard
+
+"@nodelib/fs.stat@npm:2.0.5, @nodelib/fs.stat@npm:^2.0.2":
+ version: 2.0.5
+ resolution: "@nodelib/fs.stat@npm:2.0.5"
+ checksum: 10/012480b5ca9d97bff9261571dbbec7bbc6033f69cc92908bc1ecfad0792361a5a1994bc48674b9ef76419d056a03efadfce5a6cf6dbc0a36559571a7a483f6f0
+ languageName: node
+ linkType: hard
+
+"@nodelib/fs.walk@npm:^1.2.3":
+ version: 1.2.8
+ resolution: "@nodelib/fs.walk@npm:1.2.8"
+ dependencies:
+ "@nodelib/fs.scandir": "npm:2.1.5"
+ fastq: "npm:^1.6.0"
+ checksum: 10/40033e33e96e97d77fba5a238e4bba4487b8284678906a9f616b5579ddaf868a18874c0054a75402c9fbaaa033a25ceae093af58c9c30278e35c23c9479e79b0
+ languageName: node
+ linkType: hard
+
+"@npmcli/agent@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "@npmcli/agent@npm:3.0.0"
+ dependencies:
+ agent-base: "npm:^7.1.0"
+ http-proxy-agent: "npm:^7.0.0"
+ https-proxy-agent: "npm:^7.0.1"
+ lru-cache: "npm:^10.0.1"
+ socks-proxy-agent: "npm:^8.0.3"
+ checksum: 10/775c9a7eb1f88c195dfb3bce70c31d0fe2a12b28b754e25c08a3edb4bc4816bfedb7ac64ef1e730579d078ca19dacf11630e99f8f3c3e0fd7b23caa5fd6d30a6
+ languageName: node
+ linkType: hard
+
+"@npmcli/fs@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "@npmcli/fs@npm:4.0.0"
+ dependencies:
+ semver: "npm:^7.3.5"
+ checksum: 10/405c4490e1ff11cf299775449a3c254a366a4b1ffc79d87159b0ee7d5558ac9f6a2f8c0735fd6ff3873cef014cb1a44a5f9127cb6a1b2dbc408718cca9365b5a
+ languageName: node
+ linkType: hard
+
+"@pkgjs/parseargs@npm:^0.11.0":
+ version: 0.11.0
+ resolution: "@pkgjs/parseargs@npm:0.11.0"
+ checksum: 10/115e8ceeec6bc69dff2048b35c0ab4f8bbee12d8bb6c1f4af758604586d802b6e669dcb02dda61d078de42c2b4ddce41b3d9e726d7daa6b4b850f4adbf7333ff
+ languageName: node
+ linkType: hard
+
+"@rollup/rollup-android-arm-eabi@npm:4.30.1":
+ version: 4.30.1
+ resolution: "@rollup/rollup-android-arm-eabi@npm:4.30.1"
+ conditions: os=android & cpu=arm
+ languageName: node
+ linkType: hard
+
+"@rollup/rollup-android-arm64@npm:4.30.1":
+ version: 4.30.1
+ resolution: "@rollup/rollup-android-arm64@npm:4.30.1"
+ conditions: os=android & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@rollup/rollup-darwin-arm64@npm:4.30.1":
+ version: 4.30.1
+ resolution: "@rollup/rollup-darwin-arm64@npm:4.30.1"
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@rollup/rollup-darwin-x64@npm:4.30.1":
+ version: 4.30.1
+ resolution: "@rollup/rollup-darwin-x64@npm:4.30.1"
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@rollup/rollup-freebsd-arm64@npm:4.30.1":
+ version: 4.30.1
+ resolution: "@rollup/rollup-freebsd-arm64@npm:4.30.1"
+ conditions: os=freebsd & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@rollup/rollup-freebsd-x64@npm:4.30.1":
+ version: 4.30.1
+ resolution: "@rollup/rollup-freebsd-x64@npm:4.30.1"
+ conditions: os=freebsd & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@rollup/rollup-linux-arm-gnueabihf@npm:4.30.1":
+ version: 4.30.1
+ resolution: "@rollup/rollup-linux-arm-gnueabihf@npm:4.30.1"
+ conditions: os=linux & cpu=arm & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@rollup/rollup-linux-arm-musleabihf@npm:4.30.1":
+ version: 4.30.1
+ resolution: "@rollup/rollup-linux-arm-musleabihf@npm:4.30.1"
+ conditions: os=linux & cpu=arm & libc=musl
+ languageName: node
+ linkType: hard
+
+"@rollup/rollup-linux-arm64-gnu@npm:4.30.1":
+ version: 4.30.1
+ resolution: "@rollup/rollup-linux-arm64-gnu@npm:4.30.1"
+ conditions: os=linux & cpu=arm64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@rollup/rollup-linux-arm64-musl@npm:4.30.1":
+ version: 4.30.1
+ resolution: "@rollup/rollup-linux-arm64-musl@npm:4.30.1"
+ conditions: os=linux & cpu=arm64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@rollup/rollup-linux-loongarch64-gnu@npm:4.30.1":
+ version: 4.30.1
+ resolution: "@rollup/rollup-linux-loongarch64-gnu@npm:4.30.1"
+ conditions: os=linux & cpu=loong64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@rollup/rollup-linux-powerpc64le-gnu@npm:4.30.1":
+ version: 4.30.1
+ resolution: "@rollup/rollup-linux-powerpc64le-gnu@npm:4.30.1"
+ conditions: os=linux & cpu=ppc64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@rollup/rollup-linux-riscv64-gnu@npm:4.30.1":
+ version: 4.30.1
+ resolution: "@rollup/rollup-linux-riscv64-gnu@npm:4.30.1"
+ conditions: os=linux & cpu=riscv64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@rollup/rollup-linux-s390x-gnu@npm:4.30.1":
+ version: 4.30.1
+ resolution: "@rollup/rollup-linux-s390x-gnu@npm:4.30.1"
+ conditions: os=linux & cpu=s390x & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@rollup/rollup-linux-x64-gnu@npm:4.30.1":
+ version: 4.30.1
+ resolution: "@rollup/rollup-linux-x64-gnu@npm:4.30.1"
+ conditions: os=linux & cpu=x64 & libc=glibc
+ languageName: node
+ linkType: hard
+
+"@rollup/rollup-linux-x64-musl@npm:4.30.1":
+ version: 4.30.1
+ resolution: "@rollup/rollup-linux-x64-musl@npm:4.30.1"
+ conditions: os=linux & cpu=x64 & libc=musl
+ languageName: node
+ linkType: hard
+
+"@rollup/rollup-win32-arm64-msvc@npm:4.30.1":
+ version: 4.30.1
+ resolution: "@rollup/rollup-win32-arm64-msvc@npm:4.30.1"
+ conditions: os=win32 & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"@rollup/rollup-win32-ia32-msvc@npm:4.30.1":
+ version: 4.30.1
+ resolution: "@rollup/rollup-win32-ia32-msvc@npm:4.30.1"
+ conditions: os=win32 & cpu=ia32
+ languageName: node
+ linkType: hard
+
+"@rollup/rollup-win32-x64-msvc@npm:4.30.1":
+ version: 4.30.1
+ resolution: "@rollup/rollup-win32-x64-msvc@npm:4.30.1"
+ conditions: os=win32 & cpu=x64
+ languageName: node
+ linkType: hard
+
+"@types/babel__core@npm:^7.20.5":
+ version: 7.20.5
+ resolution: "@types/babel__core@npm:7.20.5"
+ dependencies:
+ "@babel/parser": "npm:^7.20.7"
+ "@babel/types": "npm:^7.20.7"
+ "@types/babel__generator": "npm:*"
+ "@types/babel__template": "npm:*"
+ "@types/babel__traverse": "npm:*"
+ checksum: 10/c32838d280b5ab59d62557f9e331d3831f8e547ee10b4f85cb78753d97d521270cebfc73ce501e9fb27fe71884d1ba75e18658692c2f4117543f0fc4e3e118b3
+ languageName: node
+ linkType: hard
+
+"@types/babel__generator@npm:*":
+ version: 7.6.8
+ resolution: "@types/babel__generator@npm:7.6.8"
+ dependencies:
+ "@babel/types": "npm:^7.0.0"
+ checksum: 10/b53c215e9074c69d212402990b0ca8fa57595d09e10d94bda3130aa22b55d796e50449199867879e4ea0ee968f3a2099e009cfb21a726a53324483abbf25cd30
+ languageName: node
+ linkType: hard
+
+"@types/babel__template@npm:*":
+ version: 7.4.4
+ resolution: "@types/babel__template@npm:7.4.4"
+ dependencies:
+ "@babel/parser": "npm:^7.1.0"
+ "@babel/types": "npm:^7.0.0"
+ checksum: 10/d7a02d2a9b67e822694d8e6a7ddb8f2b71a1d6962dfd266554d2513eefbb205b33ca71a0d163b1caea3981ccf849211f9964d8bd0727124d18ace45aa6c9ae29
+ languageName: node
+ linkType: hard
+
+"@types/babel__traverse@npm:*":
+ version: 7.20.6
+ resolution: "@types/babel__traverse@npm:7.20.6"
+ dependencies:
+ "@babel/types": "npm:^7.20.7"
+ checksum: 10/63d13a3789aa1e783b87a8b03d9fb2c2c90078de7782422feff1631b8c2a25db626e63a63ac5a1465d47359201c73069dacb4b52149d17c568187625da3064ae
+ languageName: node
+ linkType: hard
+
+"@types/estree@npm:1.0.6, @types/estree@npm:^1.0.6":
+ version: 1.0.6
+ resolution: "@types/estree@npm:1.0.6"
+ checksum: 10/9d35d475095199c23e05b431bcdd1f6fec7380612aed068b14b2a08aa70494de8a9026765a5a91b1073f636fb0368f6d8973f518a31391d519e20c59388ed88d
+ languageName: node
+ linkType: hard
+
+"@types/json-schema@npm:^7.0.15":
+ version: 7.0.15
+ resolution: "@types/json-schema@npm:7.0.15"
+ checksum: 10/1a3c3e06236e4c4aab89499c428d585527ce50c24fe8259e8b3926d3df4cfbbbcf306cfc73ddfb66cbafc973116efd15967020b0f738f63e09e64c7d260519e7
+ languageName: node
+ linkType: hard
+
+"@types/react-dom@npm:19.0.2":
+ version: 19.0.2
+ resolution: "@types/react-dom@npm:19.0.2"
+ peerDependencies:
+ "@types/react": ^19.0.0
+ checksum: 10/d2ae81ec0b8eee7a4bf31918796fdaa34e8db68f69682163bc212d759de76783e6ffcc02c02722dcf508429067148841e6da81414cc730ca2a28c9c2b350c880
+ languageName: node
+ linkType: hard
+
+"@types/react@npm:19.0.4":
+ version: 19.0.4
+ resolution: "@types/react@npm:19.0.4"
+ dependencies:
+ csstype: "npm:^3.0.2"
+ checksum: 10/9c20c1bafc21b2022bb8d3cc168ec646ae91580f769218cf0040a789c6b757412b6f4462b475a229039e99cc2727af03ca87b6b39b16930928c717cfe8e06e67
+ languageName: node
+ linkType: hard
+
+"@types/reveal.js@npm:5.0.4":
+ version: 5.0.4
+ resolution: "@types/reveal.js@npm:5.0.4"
+ checksum: 10/d5f72d919402d4c0e087d7759db2d0eb70bc2cd4d434d84109b0cce40ddac003a72519f74a601f7092b9d882f6c0c45c1201f5660c9672aefe6558d47119ffca
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/eslint-plugin@npm:8.19.1":
+ version: 8.19.1
+ resolution: "@typescript-eslint/eslint-plugin@npm:8.19.1"
+ dependencies:
+ "@eslint-community/regexpp": "npm:^4.10.0"
+ "@typescript-eslint/scope-manager": "npm:8.19.1"
+ "@typescript-eslint/type-utils": "npm:8.19.1"
+ "@typescript-eslint/utils": "npm:8.19.1"
+ "@typescript-eslint/visitor-keys": "npm:8.19.1"
+ graphemer: "npm:^1.4.0"
+ ignore: "npm:^5.3.1"
+ natural-compare: "npm:^1.4.0"
+ ts-api-utils: "npm:^2.0.0"
+ peerDependencies:
+ "@typescript-eslint/parser": ^8.0.0 || ^8.0.0-alpha.0
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: ">=4.8.4 <5.8.0"
+ checksum: 10/c9a6d3181ec01068075b85ad3ac454910b4452281d60c775cc7229827f6d6a076b7336f5f07a7ad89bf08b3224f6a49aa20342b9438702393bee0aa7315d23b2
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/parser@npm:8.19.1":
+ version: 8.19.1
+ resolution: "@typescript-eslint/parser@npm:8.19.1"
+ dependencies:
+ "@typescript-eslint/scope-manager": "npm:8.19.1"
+ "@typescript-eslint/types": "npm:8.19.1"
+ "@typescript-eslint/typescript-estree": "npm:8.19.1"
+ "@typescript-eslint/visitor-keys": "npm:8.19.1"
+ debug: "npm:^4.3.4"
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: ">=4.8.4 <5.8.0"
+ checksum: 10/da3db63ff655cf0fb91745ba8e52d853386f601cf6106d36f4541efcb9e2c6c3b82c6743b15680eff9eafeccaf31c9b26191a955e66ae19de9172f67335463ab
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/scope-manager@npm:8.19.1":
+ version: 8.19.1
+ resolution: "@typescript-eslint/scope-manager@npm:8.19.1"
+ dependencies:
+ "@typescript-eslint/types": "npm:8.19.1"
+ "@typescript-eslint/visitor-keys": "npm:8.19.1"
+ checksum: 10/6ffc78b15367f211eb6650459ca2bb6bfe4c1fa95a3474adc08ee9a20c250b2e0e02fd99be36bd3dad74967ecd9349e792b5d818d85735cba40f1b5c236074d1
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/type-utils@npm:8.19.1":
+ version: 8.19.1
+ resolution: "@typescript-eslint/type-utils@npm:8.19.1"
+ dependencies:
+ "@typescript-eslint/typescript-estree": "npm:8.19.1"
+ "@typescript-eslint/utils": "npm:8.19.1"
+ debug: "npm:^4.3.4"
+ ts-api-utils: "npm:^2.0.0"
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: ">=4.8.4 <5.8.0"
+ checksum: 10/123ecda88b057d6a4b68226701f435661440a420fda88cba60b49d7fb3e4f49483164ff174f259e28c0beabb0ed04500462a20faefd78331ba202bf54b01e3ef
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/types@npm:8.19.1":
+ version: 8.19.1
+ resolution: "@typescript-eslint/types@npm:8.19.1"
+ checksum: 10/5833a5f8fdac4a490dd3906a0243a0713fbf138fabb451870c70b0b089c539a9624b467b0913ddc0a225a8284342e7fd31cd506dec53c1a6d8f3c8c8902b9cae
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/typescript-estree@npm:8.19.1":
+ version: 8.19.1
+ resolution: "@typescript-eslint/typescript-estree@npm:8.19.1"
+ dependencies:
+ "@typescript-eslint/types": "npm:8.19.1"
+ "@typescript-eslint/visitor-keys": "npm:8.19.1"
+ debug: "npm:^4.3.4"
+ fast-glob: "npm:^3.3.2"
+ is-glob: "npm:^4.0.3"
+ minimatch: "npm:^9.0.4"
+ semver: "npm:^7.6.0"
+ ts-api-utils: "npm:^2.0.0"
+ peerDependencies:
+ typescript: ">=4.8.4 <5.8.0"
+ checksum: 10/5de467452d5ef1a380d441b06cd0134652a0c98cdb4ce31b93eb589f7dc75ef60364d03fd80ca0a48d0c8b268f7258d4f6528b16fe1b89442d60a4bc960fe5f5
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/utils@npm:8.19.1":
+ version: 8.19.1
+ resolution: "@typescript-eslint/utils@npm:8.19.1"
+ dependencies:
+ "@eslint-community/eslint-utils": "npm:^4.4.0"
+ "@typescript-eslint/scope-manager": "npm:8.19.1"
+ "@typescript-eslint/types": "npm:8.19.1"
+ "@typescript-eslint/typescript-estree": "npm:8.19.1"
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: ">=4.8.4 <5.8.0"
+ checksum: 10/bb92116a53fe143ee87e830941afb21d4222a64ca3f2b6dac5c2d9984f981408e60e52b04c32d95208896075ac222fb4ee631c5b0c4826b87d4bd8091c421ab1
+ languageName: node
+ linkType: hard
+
+"@typescript-eslint/visitor-keys@npm:8.19.1":
+ version: 8.19.1
+ resolution: "@typescript-eslint/visitor-keys@npm:8.19.1"
+ dependencies:
+ "@typescript-eslint/types": "npm:8.19.1"
+ eslint-visitor-keys: "npm:^4.2.0"
+ checksum: 10/510eb196e7b7d59d3981d672a75454615159e931fe78e2a64b09607c3cfa45110709b0eb5ac3dd271d757a0d98cf4868ad2f45bf9193f96e9efec3efa92a19c1
+ languageName: node
+ linkType: hard
+
+"@vitejs/plugin-react@npm:4.3.4":
+ version: 4.3.4
+ resolution: "@vitejs/plugin-react@npm:4.3.4"
+ dependencies:
+ "@babel/core": "npm:^7.26.0"
+ "@babel/plugin-transform-react-jsx-self": "npm:^7.25.9"
+ "@babel/plugin-transform-react-jsx-source": "npm:^7.25.9"
+ "@types/babel__core": "npm:^7.20.5"
+ react-refresh: "npm:^0.14.2"
+ peerDependencies:
+ vite: ^4.2.0 || ^5.0.0 || ^6.0.0
+ checksum: 10/3b220908ed9b7b96a380a9c53e82fb428ca1f76b798ab59d1c63765bdff24de61b4778dd3655952b7d3d922645aea2d97644503b879aba6e3fcf467605b9913d
+ languageName: node
+ linkType: hard
+
+"abbrev@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "abbrev@npm:2.0.0"
+ checksum: 10/ca0a54e35bea4ece0ecb68a47b312e1a9a6f772408d5bcb9051230aaa94b0460671c5b5c9cb3240eb5b7bc94c52476550eb221f65a0bbd0145bdc9f3113a6707
+ languageName: node
+ linkType: hard
+
+"acorn-jsx@npm:^5.3.2":
+ version: 5.3.2
+ resolution: "acorn-jsx@npm:5.3.2"
+ peerDependencies:
+ acorn: ^6.0.0 || ^7.0.0 || ^8.0.0
+ checksum: 10/d4371eaef7995530b5b5ca4183ff6f062ca17901a6d3f673c9ac011b01ede37e7a1f7f61f8f5cfe709e88054757bb8f3277dc4061087cdf4f2a1f90ccbcdb977
+ languageName: node
+ linkType: hard
+
+"acorn@npm:^8.14.0":
+ version: 8.14.0
+ resolution: "acorn@npm:8.14.0"
+ bin:
+ acorn: bin/acorn
+ checksum: 10/6df29c35556782ca9e632db461a7f97947772c6c1d5438a81f0c873a3da3a792487e83e404d1c6c25f70513e91aa18745f6eafb1fcc3a43ecd1920b21dd173d2
+ languageName: node
+ linkType: hard
+
+"agent-base@npm:^7.1.0, agent-base@npm:^7.1.2":
+ version: 7.1.3
+ resolution: "agent-base@npm:7.1.3"
+ checksum: 10/3db6d8d4651f2aa1a9e4af35b96ab11a7607af57a24f3bc721a387eaa3b5f674e901f0a648b0caefd48f3fd117c7761b79a3b55854e2aebaa96c3f32cf76af84
+ languageName: node
+ linkType: hard
+
+"ajv@npm:^6.12.4":
+ version: 6.12.6
+ resolution: "ajv@npm:6.12.6"
+ dependencies:
+ fast-deep-equal: "npm:^3.1.1"
+ fast-json-stable-stringify: "npm:^2.0.0"
+ json-schema-traverse: "npm:^0.4.1"
+ uri-js: "npm:^4.2.2"
+ checksum: 10/48d6ad21138d12eb4d16d878d630079a2bda25a04e745c07846a4ad768319533031e28872a9b3c5790fa1ec41aabdf2abed30a56e5a03ebc2cf92184b8ee306c
+ languageName: node
+ linkType: hard
+
+"ansi-regex@npm:^5.0.1":
+ version: 5.0.1
+ resolution: "ansi-regex@npm:5.0.1"
+ checksum: 10/2aa4bb54caf2d622f1afdad09441695af2a83aa3fe8b8afa581d205e57ed4261c183c4d3877cee25794443fde5876417d859c108078ab788d6af7e4fe52eb66b
+ languageName: node
+ linkType: hard
+
+"ansi-regex@npm:^6.0.1":
+ version: 6.1.0
+ resolution: "ansi-regex@npm:6.1.0"
+ checksum: 10/495834a53b0856c02acd40446f7130cb0f8284f4a39afdab20d5dc42b2e198b1196119fe887beed8f9055c4ff2055e3b2f6d4641d0be018cdfb64fedf6fc1aac
+ languageName: node
+ linkType: hard
+
+"ansi-styles@npm:^4.0.0, ansi-styles@npm:^4.1.0":
+ version: 4.3.0
+ resolution: "ansi-styles@npm:4.3.0"
+ dependencies:
+ color-convert: "npm:^2.0.1"
+ checksum: 10/b4494dfbfc7e4591b4711a396bd27e540f8153914123dccb4cdbbcb514015ada63a3809f362b9d8d4f6b17a706f1d7bea3c6f974b15fa5ae76b5b502070889ff
+ languageName: node
+ linkType: hard
+
+"ansi-styles@npm:^6.1.0":
+ version: 6.2.1
+ resolution: "ansi-styles@npm:6.2.1"
+ checksum: 10/70fdf883b704d17a5dfc9cde206e698c16bcd74e7f196ab821511651aee4f9f76c9514bdfa6ca3a27b5e49138b89cb222a28caf3afe4567570139577f991df32
+ languageName: node
+ linkType: hard
+
+"argparse@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "argparse@npm:2.0.1"
+ checksum: 10/18640244e641a417ec75a9bd38b0b2b6b95af5199aa241b131d4b2fb206f334d7ecc600bd194861610a5579084978bfcbb02baa399dbe442d56d0ae5e60dbaef
+ languageName: node
+ linkType: hard
+
+"balanced-match@npm:^1.0.0":
+ version: 1.0.2
+ resolution: "balanced-match@npm:1.0.2"
+ checksum: 10/9706c088a283058a8a99e0bf91b0a2f75497f185980d9ffa8b304de1d9e58ebda7c72c07ebf01dadedaac5b2907b2c6f566f660d62bd336c3468e960403b9d65
+ languageName: node
+ linkType: hard
+
+"brace-expansion@npm:^1.1.7":
+ version: 1.1.11
+ resolution: "brace-expansion@npm:1.1.11"
+ dependencies:
+ balanced-match: "npm:^1.0.0"
+ concat-map: "npm:0.0.1"
+ checksum: 10/faf34a7bb0c3fcf4b59c7808bc5d2a96a40988addf2e7e09dfbb67a2251800e0d14cd2bfc1aa79174f2f5095c54ff27f46fb1289fe2d77dac755b5eb3434cc07
+ languageName: node
+ linkType: hard
+
+"brace-expansion@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "brace-expansion@npm:2.0.1"
+ dependencies:
+ balanced-match: "npm:^1.0.0"
+ checksum: 10/a61e7cd2e8a8505e9f0036b3b6108ba5e926b4b55089eeb5550cd04a471fe216c96d4fe7e4c7f995c728c554ae20ddfc4244cad10aef255e72b62930afd233d1
+ languageName: node
+ linkType: hard
+
+"braces@npm:^3.0.3":
+ version: 3.0.3
+ resolution: "braces@npm:3.0.3"
+ dependencies:
+ fill-range: "npm:^7.1.1"
+ checksum: 10/fad11a0d4697a27162840b02b1fad249c1683cbc510cd5bf1a471f2f8085c046d41094308c577a50a03a579dd99d5a6b3724c4b5e8b14df2c4443844cfcda2c6
+ languageName: node
+ linkType: hard
+
+"browserslist@npm:^4.24.0":
+ version: 4.24.4
+ resolution: "browserslist@npm:4.24.4"
+ dependencies:
+ caniuse-lite: "npm:^1.0.30001688"
+ electron-to-chromium: "npm:^1.5.73"
+ node-releases: "npm:^2.0.19"
+ update-browserslist-db: "npm:^1.1.1"
+ bin:
+ browserslist: cli.js
+ checksum: 10/11fda105e803d891311a21a1f962d83599319165faf471c2d70e045dff82a12128f5b50b1fcba665a2352ad66147aaa248a9d2355a80aadc3f53375eb3de2e48
+ languageName: node
+ linkType: hard
+
+"buffer-builder@npm:^0.2.0":
+ version: 0.2.0
+ resolution: "buffer-builder@npm:0.2.0"
+ checksum: 10/16bd9eb8ac6630a05441bcb56522e956ae6a0724371ecc49b9a6bc10d35690489140df73573d0577e1e85c875737e560a4e2e67521fddd14714ddf4e0097d0ec
+ languageName: node
+ linkType: hard
+
+"cacache@npm:^19.0.1":
+ version: 19.0.1
+ resolution: "cacache@npm:19.0.1"
+ dependencies:
+ "@npmcli/fs": "npm:^4.0.0"
+ fs-minipass: "npm:^3.0.0"
+ glob: "npm:^10.2.2"
+ lru-cache: "npm:^10.0.1"
+ minipass: "npm:^7.0.3"
+ minipass-collect: "npm:^2.0.1"
+ minipass-flush: "npm:^1.0.5"
+ minipass-pipeline: "npm:^1.2.4"
+ p-map: "npm:^7.0.2"
+ ssri: "npm:^12.0.0"
+ tar: "npm:^7.4.3"
+ unique-filename: "npm:^4.0.0"
+ checksum: 10/ea026b27b13656330c2bbaa462a88181dcaa0435c1c2e705db89b31d9bdf7126049d6d0445ba746dca21454a0cfdf1d6f47fd39d34c8c8435296b30bc5738a13
+ languageName: node
+ linkType: hard
+
+"callsites@npm:^3.0.0":
+ version: 3.1.0
+ resolution: "callsites@npm:3.1.0"
+ checksum: 10/072d17b6abb459c2ba96598918b55868af677154bec7e73d222ef95a8fdb9bbf7dae96a8421085cdad8cd190d86653b5b6dc55a4484f2e5b2e27d5e0c3fc15b3
+ languageName: node
+ linkType: hard
+
+"caniuse-lite@npm:^1.0.30001688":
+ version: 1.0.30001692
+ resolution: "caniuse-lite@npm:1.0.30001692"
+ checksum: 10/92449ec9e9ac6cd8ce7ecc18a8759ae34e4b3ef412acd998714ee9d70dc286bc8d0d6e4917fa454798da9b37667eb5b3b41386bc9d25e4274d0b9c7af8339b0e
+ languageName: node
+ linkType: hard
+
+"chalk@npm:^4.0.0":
+ version: 4.1.2
+ resolution: "chalk@npm:4.1.2"
+ dependencies:
+ ansi-styles: "npm:^4.1.0"
+ supports-color: "npm:^7.1.0"
+ checksum: 10/cb3f3e594913d63b1814d7ca7c9bafbf895f75fbf93b92991980610dfd7b48500af4e3a5d4e3a8f337990a96b168d7eb84ee55efdce965e2ee8efc20f8c8f139
+ languageName: node
+ linkType: hard
+
+"chownr@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "chownr@npm:3.0.0"
+ checksum: 10/b63cb1f73d171d140a2ed8154ee6566c8ab775d3196b0e03a2a94b5f6a0ce7777ee5685ca56849403c8d17bd457a6540672f9a60696a6137c7a409097495b82c
+ languageName: node
+ linkType: hard
+
+"color-convert@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "color-convert@npm:2.0.1"
+ dependencies:
+ color-name: "npm:~1.1.4"
+ checksum: 10/fa00c91b4332b294de06b443923246bccebe9fab1b253f7fe1772d37b06a2269b4039a85e309abe1fe11b267b11c08d1d0473fda3badd6167f57313af2887a64
+ languageName: node
+ linkType: hard
+
+"color-name@npm:~1.1.4":
+ version: 1.1.4
+ resolution: "color-name@npm:1.1.4"
+ checksum: 10/b0445859521eb4021cd0fb0cc1a75cecf67fceecae89b63f62b201cca8d345baf8b952c966862a9d9a2632987d4f6581f0ec8d957dfacece86f0a7919316f610
+ languageName: node
+ linkType: hard
+
+"colorjs.io@npm:^0.5.0":
+ version: 0.5.2
+ resolution: "colorjs.io@npm:0.5.2"
+ checksum: 10/a6f6345865b177d19481008cb299c46ec9ff1fd206f472cd9ef69ddbca65832c81237b19fdcd24f3f9540c3e6343a22eb486cd800f5eab9815ce7c98c16a0f0e
+ languageName: node
+ linkType: hard
+
+"concat-map@npm:0.0.1":
+ version: 0.0.1
+ resolution: "concat-map@npm:0.0.1"
+ checksum: 10/9680699c8e2b3af0ae22592cb764acaf973f292a7b71b8a06720233011853a58e256c89216a10cbe889727532fd77f8bcd49a760cedfde271b8e006c20e079f2
+ languageName: node
+ linkType: hard
+
+"convert-source-map@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "convert-source-map@npm:2.0.0"
+ checksum: 10/c987be3ec061348cdb3c2bfb924bec86dea1eacad10550a85ca23edb0fe3556c3a61c7399114f3331ccb3499d7fd0285ab24566e5745929412983494c3926e15
+ languageName: node
+ linkType: hard
+
+"cross-spawn@npm:^7.0.0, cross-spawn@npm:^7.0.6":
+ version: 7.0.6
+ resolution: "cross-spawn@npm:7.0.6"
+ dependencies:
+ path-key: "npm:^3.1.0"
+ shebang-command: "npm:^2.0.0"
+ which: "npm:^2.0.1"
+ checksum: 10/0d52657d7ae36eb130999dffff1168ec348687b48dd38e2ff59992ed916c88d328cf1d07ff4a4a10bc78de5e1c23f04b306d569e42f7a2293915c081e4dfee86
+ languageName: node
+ linkType: hard
+
+"csstype@npm:^3.0.2":
+ version: 3.1.3
+ resolution: "csstype@npm:3.1.3"
+ checksum: 10/f593cce41ff5ade23f44e77521e3a1bcc2c64107041e1bf6c3c32adc5187d0d60983292fda326154d20b01079e24931aa5b08e4467cc488b60bb1e7f6d478ade
+ languageName: node
+ linkType: hard
+
+"debug@npm:4, debug@npm:^4.1.0, debug@npm:^4.3.1, debug@npm:^4.3.2, debug@npm:^4.3.4":
+ version: 4.4.0
+ resolution: "debug@npm:4.4.0"
+ dependencies:
+ ms: "npm:^2.1.3"
+ peerDependenciesMeta:
+ supports-color:
+ optional: true
+ checksum: 10/1847944c2e3c2c732514b93d11886575625686056cd765336212dc15de2d2b29612b6cd80e1afba767bb8e1803b778caf9973e98169ef1a24a7a7009e1820367
+ languageName: node
+ linkType: hard
+
+"deep-is@npm:^0.1.3":
+ version: 0.1.4
+ resolution: "deep-is@npm:0.1.4"
+ checksum: 10/ec12d074aef5ae5e81fa470b9317c313142c9e8e2afe3f8efa124db309720db96d1d222b82b84c834e5f87e7a614b44a4684b6683583118b87c833b3be40d4d8
+ languageName: node
+ linkType: hard
+
+"dotnetru-webauthn-slides@workspace:.":
+ version: 0.0.0-use.local
+ resolution: "dotnetru-webauthn-slides@workspace:."
+ dependencies:
+ "@eslint/js": "npm:9.17.0"
+ "@types/react": "npm:19.0.4"
+ "@types/react-dom": "npm:19.0.2"
+ "@types/reveal.js": "npm:5.0.4"
+ "@vitejs/plugin-react": "npm:4.3.4"
+ eslint: "npm:9.17.0"
+ eslint-plugin-react-hooks: "npm:5.1.0"
+ eslint-plugin-react-refresh: "npm:0.4.16"
+ globals: "npm:15.14.0"
+ prettier: "npm:3.4.2"
+ react: "npm:19.0.0"
+ react-dom: "npm:19.0.0"
+ reveal.js: "npm:5.1.0"
+ sass-embedded: "npm:1.83.1"
+ typescript: "npm:5.7.3"
+ typescript-eslint: "npm:8.19.1"
+ vite: "npm:6.0.7"
+ languageName: unknown
+ linkType: soft
+
+"eastasianwidth@npm:^0.2.0":
+ version: 0.2.0
+ resolution: "eastasianwidth@npm:0.2.0"
+ checksum: 10/9b1d3e1baefeaf7d70799db8774149cef33b97183a6addceeba0cf6b85ba23ee2686f302f14482006df32df75d32b17c509c143a3689627929e4a8efaf483952
+ languageName: node
+ linkType: hard
+
+"electron-to-chromium@npm:^1.5.73":
+ version: 1.5.79
+ resolution: "electron-to-chromium@npm:1.5.79"
+ checksum: 10/c5b25ba04b4f4b46c4024b96e00e43adcd6c321b48c74c8d2660f69704901da5a6592009cbf96c36c89e3f6b53d7742e2b89514477fddbccf4e5c4caebed9d49
+ languageName: node
+ linkType: hard
+
+"emoji-regex@npm:^8.0.0":
+ version: 8.0.0
+ resolution: "emoji-regex@npm:8.0.0"
+ checksum: 10/c72d67a6821be15ec11997877c437491c313d924306b8da5d87d2a2bcc2cec9903cb5b04ee1a088460501d8e5b44f10df82fdc93c444101a7610b80c8b6938e1
+ languageName: node
+ linkType: hard
+
+"emoji-regex@npm:^9.2.2":
+ version: 9.2.2
+ resolution: "emoji-regex@npm:9.2.2"
+ checksum: 10/915acf859cea7131dac1b2b5c9c8e35c4849e325a1d114c30adb8cd615970f6dca0e27f64f3a4949d7d6ed86ecd79a1c5c63f02e697513cddd7b5835c90948b8
+ languageName: node
+ linkType: hard
+
+"encoding@npm:^0.1.13":
+ version: 0.1.13
+ resolution: "encoding@npm:0.1.13"
+ dependencies:
+ iconv-lite: "npm:^0.6.2"
+ checksum: 10/bb98632f8ffa823996e508ce6a58ffcf5856330fde839ae42c9e1f436cc3b5cc651d4aeae72222916545428e54fd0f6aa8862fd8d25bdbcc4589f1e3f3715e7f
+ languageName: node
+ linkType: hard
+
+"env-paths@npm:^2.2.0":
+ version: 2.2.1
+ resolution: "env-paths@npm:2.2.1"
+ checksum: 10/65b5df55a8bab92229ab2b40dad3b387fad24613263d103a97f91c9fe43ceb21965cd3392b1ccb5d77088021e525c4e0481adb309625d0cb94ade1d1fb8dc17e
+ languageName: node
+ linkType: hard
+
+"err-code@npm:^2.0.2":
+ version: 2.0.3
+ resolution: "err-code@npm:2.0.3"
+ checksum: 10/1d20d825cdcce8d811bfbe86340f4755c02655a7feb2f13f8c880566d9d72a3f6c92c192a6867632e490d6da67b678271f46e01044996a6443e870331100dfdd
+ languageName: node
+ linkType: hard
+
+"esbuild@npm:^0.24.2":
+ version: 0.24.2
+ resolution: "esbuild@npm:0.24.2"
+ dependencies:
+ "@esbuild/aix-ppc64": "npm:0.24.2"
+ "@esbuild/android-arm": "npm:0.24.2"
+ "@esbuild/android-arm64": "npm:0.24.2"
+ "@esbuild/android-x64": "npm:0.24.2"
+ "@esbuild/darwin-arm64": "npm:0.24.2"
+ "@esbuild/darwin-x64": "npm:0.24.2"
+ "@esbuild/freebsd-arm64": "npm:0.24.2"
+ "@esbuild/freebsd-x64": "npm:0.24.2"
+ "@esbuild/linux-arm": "npm:0.24.2"
+ "@esbuild/linux-arm64": "npm:0.24.2"
+ "@esbuild/linux-ia32": "npm:0.24.2"
+ "@esbuild/linux-loong64": "npm:0.24.2"
+ "@esbuild/linux-mips64el": "npm:0.24.2"
+ "@esbuild/linux-ppc64": "npm:0.24.2"
+ "@esbuild/linux-riscv64": "npm:0.24.2"
+ "@esbuild/linux-s390x": "npm:0.24.2"
+ "@esbuild/linux-x64": "npm:0.24.2"
+ "@esbuild/netbsd-arm64": "npm:0.24.2"
+ "@esbuild/netbsd-x64": "npm:0.24.2"
+ "@esbuild/openbsd-arm64": "npm:0.24.2"
+ "@esbuild/openbsd-x64": "npm:0.24.2"
+ "@esbuild/sunos-x64": "npm:0.24.2"
+ "@esbuild/win32-arm64": "npm:0.24.2"
+ "@esbuild/win32-ia32": "npm:0.24.2"
+ "@esbuild/win32-x64": "npm:0.24.2"
+ dependenciesMeta:
+ "@esbuild/aix-ppc64":
+ optional: true
+ "@esbuild/android-arm":
+ optional: true
+ "@esbuild/android-arm64":
+ optional: true
+ "@esbuild/android-x64":
+ optional: true
+ "@esbuild/darwin-arm64":
+ optional: true
+ "@esbuild/darwin-x64":
+ optional: true
+ "@esbuild/freebsd-arm64":
+ optional: true
+ "@esbuild/freebsd-x64":
+ optional: true
+ "@esbuild/linux-arm":
+ optional: true
+ "@esbuild/linux-arm64":
+ optional: true
+ "@esbuild/linux-ia32":
+ optional: true
+ "@esbuild/linux-loong64":
+ optional: true
+ "@esbuild/linux-mips64el":
+ optional: true
+ "@esbuild/linux-ppc64":
+ optional: true
+ "@esbuild/linux-riscv64":
+ optional: true
+ "@esbuild/linux-s390x":
+ optional: true
+ "@esbuild/linux-x64":
+ optional: true
+ "@esbuild/netbsd-arm64":
+ optional: true
+ "@esbuild/netbsd-x64":
+ optional: true
+ "@esbuild/openbsd-arm64":
+ optional: true
+ "@esbuild/openbsd-x64":
+ optional: true
+ "@esbuild/sunos-x64":
+ optional: true
+ "@esbuild/win32-arm64":
+ optional: true
+ "@esbuild/win32-ia32":
+ optional: true
+ "@esbuild/win32-x64":
+ optional: true
+ bin:
+ esbuild: bin/esbuild
+ checksum: 10/95425071c9f24ff88bf61e0710b636ec0eb24ddf8bd1f7e1edef3044e1221104bbfa7bbb31c18018c8c36fa7902c5c0b843f829b981ebc89160cf5eebdaa58f4
+ languageName: node
+ linkType: hard
+
+"escalade@npm:^3.2.0":
+ version: 3.2.0
+ resolution: "escalade@npm:3.2.0"
+ checksum: 10/9d7169e3965b2f9ae46971afa392f6e5a25545ea30f2e2dd99c9b0a95a3f52b5653681a84f5b2911a413ddad2d7a93d3514165072f349b5ffc59c75a899970d6
+ languageName: node
+ linkType: hard
+
+"escape-string-regexp@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "escape-string-regexp@npm:4.0.0"
+ checksum: 10/98b48897d93060f2322108bf29db0feba7dd774be96cd069458d1453347b25ce8682ecc39859d4bca2203cc0ab19c237bcc71755eff49a0f8d90beadeeba5cc5
+ languageName: node
+ linkType: hard
+
+"eslint-plugin-react-hooks@npm:5.1.0":
+ version: 5.1.0
+ resolution: "eslint-plugin-react-hooks@npm:5.1.0"
+ peerDependencies:
+ eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 || ^9.0.0
+ checksum: 10/b6778fd9e1940b06868921309e8b269426e17eda555816d4b71def4dcf0572de1199fdb627ac09ce42160b9569a93cd9b0fd81b740ab4df98205461c53997a43
+ languageName: node
+ linkType: hard
+
+"eslint-plugin-react-refresh@npm:0.4.16":
+ version: 0.4.16
+ resolution: "eslint-plugin-react-refresh@npm:0.4.16"
+ peerDependencies:
+ eslint: ">=8.40"
+ checksum: 10/72f022097978a4efe161cd07fd30b65f441e102c3139dd58cb132ecbc756c7d8b2739b78408556bcfb2d38c0f703eeac7eaef756818d887230e2cb93925af5a5
+ languageName: node
+ linkType: hard
+
+"eslint-scope@npm:^8.2.0":
+ version: 8.2.0
+ resolution: "eslint-scope@npm:8.2.0"
+ dependencies:
+ esrecurse: "npm:^4.3.0"
+ estraverse: "npm:^5.2.0"
+ checksum: 10/cd9ab60d5a68f3a0fcac04d1cff5a7383d0f331964d5f1c446259123caec5b3ccc542284d07846e4f4d1389da77750821cc9a6e1ce18558c674977351666f9a6
+ languageName: node
+ linkType: hard
+
+"eslint-visitor-keys@npm:^3.4.3":
+ version: 3.4.3
+ resolution: "eslint-visitor-keys@npm:3.4.3"
+ checksum: 10/3f357c554a9ea794b094a09bd4187e5eacd1bc0d0653c3adeb87962c548e6a1ab8f982b86963ae1337f5d976004146536dcee5d0e2806665b193fbfbf1a9231b
+ languageName: node
+ linkType: hard
+
+"eslint-visitor-keys@npm:^4.2.0":
+ version: 4.2.0
+ resolution: "eslint-visitor-keys@npm:4.2.0"
+ checksum: 10/9651b3356b01760e586b4c631c5268c0e1a85236e3292bf754f0472f465bf9a856c0ddc261fceace155334118c0151778effafbab981413dbf9288349343fa25
+ languageName: node
+ linkType: hard
+
+"eslint@npm:9.17.0":
+ version: 9.17.0
+ resolution: "eslint@npm:9.17.0"
+ dependencies:
+ "@eslint-community/eslint-utils": "npm:^4.2.0"
+ "@eslint-community/regexpp": "npm:^4.12.1"
+ "@eslint/config-array": "npm:^0.19.0"
+ "@eslint/core": "npm:^0.9.0"
+ "@eslint/eslintrc": "npm:^3.2.0"
+ "@eslint/js": "npm:9.17.0"
+ "@eslint/plugin-kit": "npm:^0.2.3"
+ "@humanfs/node": "npm:^0.16.6"
+ "@humanwhocodes/module-importer": "npm:^1.0.1"
+ "@humanwhocodes/retry": "npm:^0.4.1"
+ "@types/estree": "npm:^1.0.6"
+ "@types/json-schema": "npm:^7.0.15"
+ ajv: "npm:^6.12.4"
+ chalk: "npm:^4.0.0"
+ cross-spawn: "npm:^7.0.6"
+ debug: "npm:^4.3.2"
+ escape-string-regexp: "npm:^4.0.0"
+ eslint-scope: "npm:^8.2.0"
+ eslint-visitor-keys: "npm:^4.2.0"
+ espree: "npm:^10.3.0"
+ esquery: "npm:^1.5.0"
+ esutils: "npm:^2.0.2"
+ fast-deep-equal: "npm:^3.1.3"
+ file-entry-cache: "npm:^8.0.0"
+ find-up: "npm:^5.0.0"
+ glob-parent: "npm:^6.0.2"
+ ignore: "npm:^5.2.0"
+ imurmurhash: "npm:^0.1.4"
+ is-glob: "npm:^4.0.0"
+ json-stable-stringify-without-jsonify: "npm:^1.0.1"
+ lodash.merge: "npm:^4.6.2"
+ minimatch: "npm:^3.1.2"
+ natural-compare: "npm:^1.4.0"
+ optionator: "npm:^0.9.3"
+ peerDependencies:
+ jiti: "*"
+ peerDependenciesMeta:
+ jiti:
+ optional: true
+ bin:
+ eslint: bin/eslint.js
+ checksum: 10/a48ee67dd4e737974bbb49ca5d12d0ce35bcd874507807599e3655bb398320ab27c9deed1aad508a963967815e626c21208f52158c2fc0796d0cc8186528efeb
+ languageName: node
+ linkType: hard
+
+"espree@npm:^10.0.1, espree@npm:^10.3.0":
+ version: 10.3.0
+ resolution: "espree@npm:10.3.0"
+ dependencies:
+ acorn: "npm:^8.14.0"
+ acorn-jsx: "npm:^5.3.2"
+ eslint-visitor-keys: "npm:^4.2.0"
+ checksum: 10/3412d44d4204c9e29d6b5dd0277400cfa0cd68495dc09eae1b9ce79d0c8985c1c5cc09cb9ba32a1cd963f48a49b0c46bdb7736afe395a300aa6bb1c0d86837e8
+ languageName: node
+ linkType: hard
+
+"esquery@npm:^1.5.0":
+ version: 1.6.0
+ resolution: "esquery@npm:1.6.0"
+ dependencies:
+ estraverse: "npm:^5.1.0"
+ checksum: 10/c587fb8ec9ed83f2b1bc97cf2f6854cc30bf784a79d62ba08c6e358bf22280d69aee12827521cf38e69ae9761d23fb7fde593ce315610f85655c139d99b05e5a
+ languageName: node
+ linkType: hard
+
+"esrecurse@npm:^4.3.0":
+ version: 4.3.0
+ resolution: "esrecurse@npm:4.3.0"
+ dependencies:
+ estraverse: "npm:^5.2.0"
+ checksum: 10/44ffcd89e714ea6b30143e7f119b104fc4d75e77ee913f34d59076b40ef2d21967f84e019f84e1fd0465b42cdbf725db449f232b5e47f29df29ed76194db8e16
+ languageName: node
+ linkType: hard
+
+"estraverse@npm:^5.1.0, estraverse@npm:^5.2.0":
+ version: 5.3.0
+ resolution: "estraverse@npm:5.3.0"
+ checksum: 10/37cbe6e9a68014d34dbdc039f90d0baf72436809d02edffcc06ba3c2a12eb298048f877511353b130153e532aac8d68ba78430c0dd2f44806ebc7c014b01585e
+ languageName: node
+ linkType: hard
+
+"esutils@npm:^2.0.2":
+ version: 2.0.3
+ resolution: "esutils@npm:2.0.3"
+ checksum: 10/b23acd24791db11d8f65be5ea58fd9a6ce2df5120ae2da65c16cfc5331ff59d5ac4ef50af66cd4bde238881503ec839928a0135b99a036a9cdfa22d17fd56cdb
+ languageName: node
+ linkType: hard
+
+"exponential-backoff@npm:^3.1.1":
+ version: 3.1.1
+ resolution: "exponential-backoff@npm:3.1.1"
+ checksum: 10/2d9bbb6473de7051f96790d5f9a678f32e60ed0aa70741dc7fdc96fec8d631124ec3374ac144387604f05afff9500f31a1d45bd9eee4cdc2e4f9ad2d9b9d5dbd
+ languageName: node
+ linkType: hard
+
+"fast-deep-equal@npm:^3.1.1, fast-deep-equal@npm:^3.1.3":
+ version: 3.1.3
+ resolution: "fast-deep-equal@npm:3.1.3"
+ checksum: 10/e21a9d8d84f53493b6aa15efc9cfd53dd5b714a1f23f67fb5dc8f574af80df889b3bce25dc081887c6d25457cce704e636395333abad896ccdec03abaf1f3f9d
+ languageName: node
+ linkType: hard
+
+"fast-glob@npm:^3.3.2":
+ version: 3.3.3
+ resolution: "fast-glob@npm:3.3.3"
+ dependencies:
+ "@nodelib/fs.stat": "npm:^2.0.2"
+ "@nodelib/fs.walk": "npm:^1.2.3"
+ glob-parent: "npm:^5.1.2"
+ merge2: "npm:^1.3.0"
+ micromatch: "npm:^4.0.8"
+ checksum: 10/dcc6432b269762dd47381d8b8358bf964d8f4f60286ac6aa41c01ade70bda459ff2001b516690b96d5365f68a49242966112b5d5cc9cd82395fa8f9d017c90ad
+ languageName: node
+ linkType: hard
+
+"fast-json-stable-stringify@npm:^2.0.0":
+ version: 2.1.0
+ resolution: "fast-json-stable-stringify@npm:2.1.0"
+ checksum: 10/2c20055c1fa43c922428f16ca8bb29f2807de63e5c851f665f7ac9790176c01c3b40335257736b299764a8d383388dabc73c8083b8e1bc3d99f0a941444ec60e
+ languageName: node
+ linkType: hard
+
+"fast-levenshtein@npm:^2.0.6":
+ version: 2.0.6
+ resolution: "fast-levenshtein@npm:2.0.6"
+ checksum: 10/eb7e220ecf2bab5159d157350b81d01f75726a4382f5a9266f42b9150c4523b9795f7f5d9fbbbeaeac09a441b2369f05ee02db48ea938584205530fe5693cfe1
+ languageName: node
+ linkType: hard
+
+"fastq@npm:^1.6.0":
+ version: 1.18.0
+ resolution: "fastq@npm:1.18.0"
+ dependencies:
+ reusify: "npm:^1.0.4"
+ checksum: 10/c5b501333dc8f5d188d828ea162aad03ff5a81aed185b6d4a5078aaeae0a42babc34296d7af13ebce86401cccd93c9b7b3cbf61280821c5f20af233378b42fbb
+ languageName: node
+ linkType: hard
+
+"file-entry-cache@npm:^8.0.0":
+ version: 8.0.0
+ resolution: "file-entry-cache@npm:8.0.0"
+ dependencies:
+ flat-cache: "npm:^4.0.0"
+ checksum: 10/afe55c4de4e0d226a23c1eae62a7219aafb390859122608a89fa4df6addf55c7fd3f1a2da6f5b41e7cdff496e4cf28bbd215d53eab5c817afa96d2b40c81bfb0
+ languageName: node
+ linkType: hard
+
+"fill-range@npm:^7.1.1":
+ version: 7.1.1
+ resolution: "fill-range@npm:7.1.1"
+ dependencies:
+ to-regex-range: "npm:^5.0.1"
+ checksum: 10/a7095cb39e5bc32fada2aa7c7249d3f6b01bd1ce461a61b0adabacccabd9198500c6fb1f68a7c851a657e273fce2233ba869638897f3d7ed2e87a2d89b4436ea
+ languageName: node
+ linkType: hard
+
+"find-up@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "find-up@npm:5.0.0"
+ dependencies:
+ locate-path: "npm:^6.0.0"
+ path-exists: "npm:^4.0.0"
+ checksum: 10/07955e357348f34660bde7920783204ff5a26ac2cafcaa28bace494027158a97b9f56faaf2d89a6106211a8174db650dd9f503f9c0d526b1202d5554a00b9095
+ languageName: node
+ linkType: hard
+
+"flat-cache@npm:^4.0.0":
+ version: 4.0.1
+ resolution: "flat-cache@npm:4.0.1"
+ dependencies:
+ flatted: "npm:^3.2.9"
+ keyv: "npm:^4.5.4"
+ checksum: 10/58ce851d9045fffc7871ce2bd718bc485ad7e777bf748c054904b87c351ff1080c2c11da00788d78738bfb51b71e4d5ea12d13b98eb36e3358851ffe495b62dc
+ languageName: node
+ linkType: hard
+
+"flatted@npm:^3.2.9":
+ version: 3.3.2
+ resolution: "flatted@npm:3.3.2"
+ checksum: 10/ac3c159742e01d0e860a861164bcfd35bb567ccbebb8a0dd041e61cf3c64a435b917dd1e7ed1c380c2ebca85735fb16644485ec33665bc6aafc3b316aa1eed44
+ languageName: node
+ linkType: hard
+
+"foreground-child@npm:^3.1.0":
+ version: 3.3.0
+ resolution: "foreground-child@npm:3.3.0"
+ dependencies:
+ cross-spawn: "npm:^7.0.0"
+ signal-exit: "npm:^4.0.1"
+ checksum: 10/e3a60480f3a09b12273ce2c5fcb9514d98dd0e528f58656a1b04680225f918d60a2f81f6a368f2f3b937fcee9cfc0cbf16f1ad9a0bc6a3a6e103a84c9a90087e
+ languageName: node
+ linkType: hard
+
+"fs-minipass@npm:^3.0.0":
+ version: 3.0.3
+ resolution: "fs-minipass@npm:3.0.3"
+ dependencies:
+ minipass: "npm:^7.0.3"
+ checksum: 10/af143246cf6884fe26fa281621d45cfe111d34b30535a475bfa38dafe343dadb466c047a924ffc7d6b7b18265df4110224ce3803806dbb07173bf2087b648d7f
+ languageName: node
+ linkType: hard
+
+"fsevents@npm:~2.3.2, fsevents@npm:~2.3.3":
+ version: 2.3.3
+ resolution: "fsevents@npm:2.3.3"
+ dependencies:
+ node-gyp: "npm:latest"
+ checksum: 10/4c1ade961ded57cdbfbb5cac5106ec17bc8bccd62e16343c569a0ceeca83b9dfef87550b4dc5cbb89642da412b20c5071f304c8c464b80415446e8e155a038c0
+ conditions: os=darwin
+ languageName: node
+ linkType: hard
+
+"fsevents@patch:fsevents@npm%3A~2.3.2#optional!builtin, fsevents@patch:fsevents@npm%3A~2.3.3#optional!builtin":
+ version: 2.3.3
+ resolution: "fsevents@patch:fsevents@npm%3A2.3.3#optional!builtin::version=2.3.3&hash=df0bf1"
+ dependencies:
+ node-gyp: "npm:latest"
+ conditions: os=darwin
+ languageName: node
+ linkType: hard
+
+"gensync@npm:^1.0.0-beta.2":
+ version: 1.0.0-beta.2
+ resolution: "gensync@npm:1.0.0-beta.2"
+ checksum: 10/17d8333460204fbf1f9160d067e1e77f908a5447febb49424b8ab043026049835c9ef3974445c57dbd39161f4d2b04356d7de12b2eecaa27a7a7ea7d871cbedd
+ languageName: node
+ linkType: hard
+
+"glob-parent@npm:^5.1.2":
+ version: 5.1.2
+ resolution: "glob-parent@npm:5.1.2"
+ dependencies:
+ is-glob: "npm:^4.0.1"
+ checksum: 10/32cd106ce8c0d83731966d31517adb766d02c3812de49c30cfe0675c7c0ae6630c11214c54a5ae67aca882cf738d27fd7768f21aa19118b9245950554be07247
+ languageName: node
+ linkType: hard
+
+"glob-parent@npm:^6.0.2":
+ version: 6.0.2
+ resolution: "glob-parent@npm:6.0.2"
+ dependencies:
+ is-glob: "npm:^4.0.3"
+ checksum: 10/c13ee97978bef4f55106b71e66428eb1512e71a7466ba49025fc2aec59a5bfb0954d5abd58fc5ee6c9b076eef4e1f6d3375c2e964b88466ca390da4419a786a8
+ languageName: node
+ linkType: hard
+
+"glob@npm:^10.2.2, glob@npm:^10.3.10, glob@npm:^10.3.7":
+ version: 10.4.5
+ resolution: "glob@npm:10.4.5"
+ dependencies:
+ foreground-child: "npm:^3.1.0"
+ jackspeak: "npm:^3.1.2"
+ minimatch: "npm:^9.0.4"
+ minipass: "npm:^7.1.2"
+ package-json-from-dist: "npm:^1.0.0"
+ path-scurry: "npm:^1.11.1"
+ bin:
+ glob: dist/esm/bin.mjs
+ checksum: 10/698dfe11828b7efd0514cd11e573eaed26b2dff611f0400907281ce3eab0c1e56143ef9b35adc7c77ecc71fba74717b510c7c223d34ca8a98ec81777b293d4ac
+ languageName: node
+ linkType: hard
+
+"globals@npm:15.14.0":
+ version: 15.14.0
+ resolution: "globals@npm:15.14.0"
+ checksum: 10/e35ffbdbc024d6381efca906f67211a7bbf935db2af8c14a65155785479e28b3e475950e5933bb6b296eed54b6dcd924e25b26dbc8579b1bde9d5d25916e1c5f
+ languageName: node
+ linkType: hard
+
+"globals@npm:^11.1.0":
+ version: 11.12.0
+ resolution: "globals@npm:11.12.0"
+ checksum: 10/9f054fa38ff8de8fa356502eb9d2dae0c928217b8b5c8de1f09f5c9b6c8a96d8b9bd3afc49acbcd384a98a81fea713c859e1b09e214c60509517bb8fc2bc13c2
+ languageName: node
+ linkType: hard
+
+"globals@npm:^14.0.0":
+ version: 14.0.0
+ resolution: "globals@npm:14.0.0"
+ checksum: 10/03939c8af95c6df5014b137cac83aa909090c3a3985caef06ee9a5a669790877af8698ab38007e4c0186873adc14c0b13764acc754b16a754c216cc56aa5f021
+ languageName: node
+ linkType: hard
+
+"graceful-fs@npm:^4.2.6":
+ version: 4.2.11
+ resolution: "graceful-fs@npm:4.2.11"
+ checksum: 10/bf152d0ed1dc159239db1ba1f74fdbc40cb02f626770dcd5815c427ce0688c2635a06ed69af364396da4636d0408fcf7d4afdf7881724c3307e46aff30ca49e2
+ languageName: node
+ linkType: hard
+
+"graphemer@npm:^1.4.0":
+ version: 1.4.0
+ resolution: "graphemer@npm:1.4.0"
+ checksum: 10/6dd60dba97007b21e3a829fab3f771803cc1292977fe610e240ea72afd67e5690ac9eeaafc4a99710e78962e5936ab5a460787c2a1180f1cb0ccfac37d29f897
+ languageName: node
+ linkType: hard
+
+"has-flag@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "has-flag@npm:4.0.0"
+ checksum: 10/261a1357037ead75e338156b1f9452c016a37dcd3283a972a30d9e4a87441ba372c8b81f818cd0fbcd9c0354b4ae7e18b9e1afa1971164aef6d18c2b6095a8ad
+ languageName: node
+ linkType: hard
+
+"http-cache-semantics@npm:^4.1.1":
+ version: 4.1.1
+ resolution: "http-cache-semantics@npm:4.1.1"
+ checksum: 10/362d5ed66b12ceb9c0a328fb31200b590ab1b02f4a254a697dc796850cc4385603e75f53ec59f768b2dad3bfa1464bd229f7de278d2899a0e3beffc634b6683f
+ languageName: node
+ linkType: hard
+
+"http-proxy-agent@npm:^7.0.0":
+ version: 7.0.2
+ resolution: "http-proxy-agent@npm:7.0.2"
+ dependencies:
+ agent-base: "npm:^7.1.0"
+ debug: "npm:^4.3.4"
+ checksum: 10/d062acfa0cb82beeb558f1043c6ba770ea892b5fb7b28654dbc70ea2aeea55226dd34c02a294f6c1ca179a5aa483c4ea641846821b182edbd9cc5d89b54c6848
+ languageName: node
+ linkType: hard
+
+"https-proxy-agent@npm:^7.0.1":
+ version: 7.0.6
+ resolution: "https-proxy-agent@npm:7.0.6"
+ dependencies:
+ agent-base: "npm:^7.1.2"
+ debug: "npm:4"
+ checksum: 10/784b628cbd55b25542a9d85033bdfd03d4eda630fb8b3c9477959367f3be95dc476ed2ecbb9836c359c7c698027fc7b45723a302324433590f45d6c1706e8c13
+ languageName: node
+ linkType: hard
+
+"iconv-lite@npm:^0.6.2":
+ version: 0.6.3
+ resolution: "iconv-lite@npm:0.6.3"
+ dependencies:
+ safer-buffer: "npm:>= 2.1.2 < 3.0.0"
+ checksum: 10/24e3292dd3dadaa81d065c6f8c41b274a47098150d444b96e5f53b4638a9a71482921ea6a91a1f59bb71d9796de25e04afd05919fa64c360347ba65d3766f10f
+ languageName: node
+ linkType: hard
+
+"ignore@npm:^5.2.0, ignore@npm:^5.3.1":
+ version: 5.3.2
+ resolution: "ignore@npm:5.3.2"
+ checksum: 10/cceb6a457000f8f6a50e1196429750d782afce5680dd878aa4221bd79972d68b3a55b4b1458fc682be978f4d3c6a249046aa0880637367216444ab7b014cfc98
+ languageName: node
+ linkType: hard
+
+"immutable@npm:^5.0.2":
+ version: 5.0.3
+ resolution: "immutable@npm:5.0.3"
+ checksum: 10/9aca1c783951bb204d7036fbcefac6dd42e7c8ad77ff54b38c5fc0924e6e16ce2d123c95db47c1170ba63dd3f6fc7aa74a29be7adef984031936c4cd1e9e8554
+ languageName: node
+ linkType: hard
+
+"import-fresh@npm:^3.2.1":
+ version: 3.3.0
+ resolution: "import-fresh@npm:3.3.0"
+ dependencies:
+ parent-module: "npm:^1.0.0"
+ resolve-from: "npm:^4.0.0"
+ checksum: 10/2cacfad06e652b1edc50be650f7ec3be08c5e5a6f6d12d035c440a42a8cc028e60a5b99ca08a77ab4d6b1346da7d971915828f33cdab730d3d42f08242d09baa
+ languageName: node
+ linkType: hard
+
+"imurmurhash@npm:^0.1.4":
+ version: 0.1.4
+ resolution: "imurmurhash@npm:0.1.4"
+ checksum: 10/2d30b157a91fe1c1d7c6f653cbf263f039be6c5bfa959245a16d4ee191fc0f2af86c08545b6e6beeb041c56b574d2d5b9f95343d378ab49c0f37394d541e7fc8
+ languageName: node
+ linkType: hard
+
+"ip-address@npm:^9.0.5":
+ version: 9.0.5
+ resolution: "ip-address@npm:9.0.5"
+ dependencies:
+ jsbn: "npm:1.1.0"
+ sprintf-js: "npm:^1.1.3"
+ checksum: 10/1ed81e06721af012306329b31f532b5e24e00cb537be18ddc905a84f19fe8f83a09a1699862bf3a1ec4b9dea93c55a3fa5faf8b5ea380431469df540f38b092c
+ languageName: node
+ linkType: hard
+
+"is-extglob@npm:^2.1.1":
+ version: 2.1.1
+ resolution: "is-extglob@npm:2.1.1"
+ checksum: 10/df033653d06d0eb567461e58a7a8c9f940bd8c22274b94bf7671ab36df5719791aae15eef6d83bbb5e23283967f2f984b8914559d4449efda578c775c4be6f85
+ languageName: node
+ linkType: hard
+
+"is-fullwidth-code-point@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "is-fullwidth-code-point@npm:3.0.0"
+ checksum: 10/44a30c29457c7fb8f00297bce733f0a64cd22eca270f83e58c105e0d015e45c019491a4ab2faef91ab51d4738c670daff901c799f6a700e27f7314029e99e348
+ languageName: node
+ linkType: hard
+
+"is-glob@npm:^4.0.0, is-glob@npm:^4.0.1, is-glob@npm:^4.0.3":
+ version: 4.0.3
+ resolution: "is-glob@npm:4.0.3"
+ dependencies:
+ is-extglob: "npm:^2.1.1"
+ checksum: 10/3ed74f2b0cdf4f401f38edb0442ddfde3092d79d7d35c9919c86641efdbcbb32e45aa3c0f70ce5eecc946896cd5a0f26e4188b9f2b881876f7cb6c505b82da11
+ languageName: node
+ linkType: hard
+
+"is-number@npm:^7.0.0":
+ version: 7.0.0
+ resolution: "is-number@npm:7.0.0"
+ checksum: 10/6a6c3383f68afa1e05b286af866017c78f1226d43ac8cb064e115ff9ed85eb33f5c4f7216c96a71e4dfea289ef52c5da3aef5bbfade8ffe47a0465d70c0c8e86
+ languageName: node
+ linkType: hard
+
+"isexe@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "isexe@npm:2.0.0"
+ checksum: 10/7c9f715c03aff08f35e98b1fadae1b9267b38f0615d501824f9743f3aab99ef10e303ce7db3f186763a0b70a19de5791ebfc854ff884d5a8c4d92211f642ec92
+ languageName: node
+ linkType: hard
+
+"isexe@npm:^3.1.1":
+ version: 3.1.1
+ resolution: "isexe@npm:3.1.1"
+ checksum: 10/7fe1931ee4e88eb5aa524cd3ceb8c882537bc3a81b02e438b240e47012eef49c86904d0f0e593ea7c3a9996d18d0f1f3be8d3eaa92333977b0c3a9d353d5563e
+ languageName: node
+ linkType: hard
+
+"jackspeak@npm:^3.1.2":
+ version: 3.4.3
+ resolution: "jackspeak@npm:3.4.3"
+ dependencies:
+ "@isaacs/cliui": "npm:^8.0.2"
+ "@pkgjs/parseargs": "npm:^0.11.0"
+ dependenciesMeta:
+ "@pkgjs/parseargs":
+ optional: true
+ checksum: 10/96f8786eaab98e4bf5b2a5d6d9588ea46c4d06bbc4f2eb861fdd7b6b182b16f71d8a70e79820f335d52653b16d4843b29dd9cdcf38ae80406756db9199497cf3
+ languageName: node
+ linkType: hard
+
+"js-tokens@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "js-tokens@npm:4.0.0"
+ checksum: 10/af37d0d913fb56aec6dc0074c163cc71cd23c0b8aad5c2350747b6721d37ba118af35abdd8b33c47ec2800de07dedb16a527ca9c530ee004093e04958bd0cbf2
+ languageName: node
+ linkType: hard
+
+"js-yaml@npm:^4.1.0":
+ version: 4.1.0
+ resolution: "js-yaml@npm:4.1.0"
+ dependencies:
+ argparse: "npm:^2.0.1"
+ bin:
+ js-yaml: bin/js-yaml.js
+ checksum: 10/c138a34a3fd0d08ebaf71273ad4465569a483b8a639e0b118ff65698d257c2791d3199e3f303631f2cb98213fa7b5f5d6a4621fd0fff819421b990d30d967140
+ languageName: node
+ linkType: hard
+
+"jsbn@npm:1.1.0":
+ version: 1.1.0
+ resolution: "jsbn@npm:1.1.0"
+ checksum: 10/bebe7ae829bbd586ce8cbe83501dd8cb8c282c8902a8aeeed0a073a89dc37e8103b1244f3c6acd60278bcbfe12d93a3f83c9ac396868a3b3bbc3c5e5e3b648ef
+ languageName: node
+ linkType: hard
+
+"jsesc@npm:^3.0.2":
+ version: 3.1.0
+ resolution: "jsesc@npm:3.1.0"
+ bin:
+ jsesc: bin/jsesc
+ checksum: 10/20bd37a142eca5d1794f354db8f1c9aeb54d85e1f5c247b371de05d23a9751ecd7bd3a9c4fc5298ea6fa09a100dafb4190fa5c98c6610b75952c3487f3ce7967
+ languageName: node
+ linkType: hard
+
+"json-buffer@npm:3.0.1":
+ version: 3.0.1
+ resolution: "json-buffer@npm:3.0.1"
+ checksum: 10/82876154521b7b68ba71c4f969b91572d1beabadd87bd3a6b236f85fbc7dc4695089191ed60bb59f9340993c51b33d479f45b6ba9f3548beb519705281c32c3c
+ languageName: node
+ linkType: hard
+
+"json-schema-traverse@npm:^0.4.1":
+ version: 0.4.1
+ resolution: "json-schema-traverse@npm:0.4.1"
+ checksum: 10/7486074d3ba247769fda17d5181b345c9fb7d12e0da98b22d1d71a5db9698d8b4bd900a3ec1a4ffdd60846fc2556274a5c894d0c48795f14cb03aeae7b55260b
+ languageName: node
+ linkType: hard
+
+"json-stable-stringify-without-jsonify@npm:^1.0.1":
+ version: 1.0.1
+ resolution: "json-stable-stringify-without-jsonify@npm:1.0.1"
+ checksum: 10/12786c2e2f22c27439e6db0532ba321f1d0617c27ad8cb1c352a0e9249a50182fd1ba8b52a18899291604b0c32eafa8afd09e51203f19109a0537f68db2b652d
+ languageName: node
+ linkType: hard
+
+"json5@npm:^2.2.3":
+ version: 2.2.3
+ resolution: "json5@npm:2.2.3"
+ bin:
+ json5: lib/cli.js
+ checksum: 10/1db67b853ff0de3534085d630691d3247de53a2ed1390ba0ddff681ea43e9b3e30ecbdb65c5e9aab49435e44059c23dbd6fee8ee619419ba37465bb0dd7135da
+ languageName: node
+ linkType: hard
+
+"keyv@npm:^4.5.4":
+ version: 4.5.4
+ resolution: "keyv@npm:4.5.4"
+ dependencies:
+ json-buffer: "npm:3.0.1"
+ checksum: 10/167eb6ef64cc84b6fa0780ee50c9de456b422a1e18802209234f7c2cf7eae648c7741f32e50d7e24ccb22b24c13154070b01563d642755b156c357431a191e75
+ languageName: node
+ linkType: hard
+
+"levn@npm:^0.4.1":
+ version: 0.4.1
+ resolution: "levn@npm:0.4.1"
+ dependencies:
+ prelude-ls: "npm:^1.2.1"
+ type-check: "npm:~0.4.0"
+ checksum: 10/2e4720ff79f21ae08d42374b0a5c2f664c5be8b6c8f565bb4e1315c96ed3a8acaa9de788ffed82d7f2378cf36958573de07ef92336cb5255ed74d08b8318c9ee
+ languageName: node
+ linkType: hard
+
+"locate-path@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "locate-path@npm:6.0.0"
+ dependencies:
+ p-locate: "npm:^5.0.0"
+ checksum: 10/72eb661788a0368c099a184c59d2fee760b3831c9c1c33955e8a19ae4a21b4116e53fa736dc086cdeb9fce9f7cc508f2f92d2d3aae516f133e16a2bb59a39f5a
+ languageName: node
+ linkType: hard
+
+"lodash.merge@npm:^4.6.2":
+ version: 4.6.2
+ resolution: "lodash.merge@npm:4.6.2"
+ checksum: 10/d0ea2dd0097e6201be083865d50c3fb54fbfbdb247d9cc5950e086c991f448b7ab0cdab0d57eacccb43473d3f2acd21e134db39f22dac2d6c9ba6bf26978e3d6
+ languageName: node
+ linkType: hard
+
+"lru-cache@npm:^10.0.1, lru-cache@npm:^10.2.0":
+ version: 10.4.3
+ resolution: "lru-cache@npm:10.4.3"
+ checksum: 10/e6e90267360476720fa8e83cc168aa2bf0311f3f2eea20a6ba78b90a885ae72071d9db132f40fda4129c803e7dcec3a6b6a6fbb44ca90b081630b810b5d6a41a
+ languageName: node
+ linkType: hard
+
+"lru-cache@npm:^5.1.1":
+ version: 5.1.1
+ resolution: "lru-cache@npm:5.1.1"
+ dependencies:
+ yallist: "npm:^3.0.2"
+ checksum: 10/951d2673dcc64a7fb888bf3d13bc2fdf923faca97d89cdb405ba3dfff77e2b26e5798d405e78fcd7094c9e7b8b4dab2ddc5a4f8a11928af24a207b7c738ca3f8
+ languageName: node
+ linkType: hard
+
+"make-fetch-happen@npm:^14.0.3":
+ version: 14.0.3
+ resolution: "make-fetch-happen@npm:14.0.3"
+ dependencies:
+ "@npmcli/agent": "npm:^3.0.0"
+ cacache: "npm:^19.0.1"
+ http-cache-semantics: "npm:^4.1.1"
+ minipass: "npm:^7.0.2"
+ minipass-fetch: "npm:^4.0.0"
+ minipass-flush: "npm:^1.0.5"
+ minipass-pipeline: "npm:^1.2.4"
+ negotiator: "npm:^1.0.0"
+ proc-log: "npm:^5.0.0"
+ promise-retry: "npm:^2.0.1"
+ ssri: "npm:^12.0.0"
+ checksum: 10/fce0385840b6d86b735053dfe941edc2dd6468fda80fe74da1eeff10cbd82a75760f406194f2bc2fa85b99545b2bc1f84c08ddf994b21830775ba2d1a87e8bdf
+ languageName: node
+ linkType: hard
+
+"merge2@npm:^1.3.0":
+ version: 1.4.1
+ resolution: "merge2@npm:1.4.1"
+ checksum: 10/7268db63ed5169466540b6fb947aec313200bcf6d40c5ab722c22e242f651994619bcd85601602972d3c85bd2cc45a358a4c61937e9f11a061919a1da569b0c2
+ languageName: node
+ linkType: hard
+
+"micromatch@npm:^4.0.8":
+ version: 4.0.8
+ resolution: "micromatch@npm:4.0.8"
+ dependencies:
+ braces: "npm:^3.0.3"
+ picomatch: "npm:^2.3.1"
+ checksum: 10/6bf2a01672e7965eb9941d1f02044fad2bd12486b5553dc1116ff24c09a8723157601dc992e74c911d896175918448762df3b3fd0a6b61037dd1a9766ddfbf58
+ languageName: node
+ linkType: hard
+
+"minimatch@npm:^3.1.2":
+ version: 3.1.2
+ resolution: "minimatch@npm:3.1.2"
+ dependencies:
+ brace-expansion: "npm:^1.1.7"
+ checksum: 10/e0b25b04cd4ec6732830344e5739b13f8690f8a012d73445a4a19fbc623f5dd481ef7a5827fde25954cd6026fede7574cc54dc4643c99d6c6b653d6203f94634
+ languageName: node
+ linkType: hard
+
+"minimatch@npm:^9.0.4":
+ version: 9.0.5
+ resolution: "minimatch@npm:9.0.5"
+ dependencies:
+ brace-expansion: "npm:^2.0.1"
+ checksum: 10/dd6a8927b063aca6d910b119e1f2df6d2ce7d36eab91de83167dd136bb85e1ebff97b0d3de1cb08bd1f7e018ca170b4962479fefab5b2a69e2ae12cb2edc8348
+ languageName: node
+ linkType: hard
+
+"minipass-collect@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "minipass-collect@npm:2.0.1"
+ dependencies:
+ minipass: "npm:^7.0.3"
+ checksum: 10/b251bceea62090f67a6cced7a446a36f4cd61ee2d5cea9aee7fff79ba8030e416327a1c5aa2908dc22629d06214b46d88fdab8c51ac76bacbf5703851b5ad342
+ languageName: node
+ linkType: hard
+
+"minipass-fetch@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "minipass-fetch@npm:4.0.0"
+ dependencies:
+ encoding: "npm:^0.1.13"
+ minipass: "npm:^7.0.3"
+ minipass-sized: "npm:^1.0.3"
+ minizlib: "npm:^3.0.1"
+ dependenciesMeta:
+ encoding:
+ optional: true
+ checksum: 10/4b0772dbee77727b469dc5bfc371541d9aba1e243fbb46ddc1b9ff7efa4de4a4cf5ff3a359d6a3b3a460ca26df9ae67a9c93be26ab6417c225e49d63b52b2801
+ languageName: node
+ linkType: hard
+
+"minipass-flush@npm:^1.0.5":
+ version: 1.0.5
+ resolution: "minipass-flush@npm:1.0.5"
+ dependencies:
+ minipass: "npm:^3.0.0"
+ checksum: 10/56269a0b22bad756a08a94b1ffc36b7c9c5de0735a4dd1ab2b06c066d795cfd1f0ac44a0fcae13eece5589b908ecddc867f04c745c7009be0b566421ea0944cf
+ languageName: node
+ linkType: hard
+
+"minipass-pipeline@npm:^1.2.4":
+ version: 1.2.4
+ resolution: "minipass-pipeline@npm:1.2.4"
+ dependencies:
+ minipass: "npm:^3.0.0"
+ checksum: 10/b14240dac0d29823c3d5911c286069e36d0b81173d7bdf07a7e4a91ecdef92cdff4baaf31ea3746f1c61e0957f652e641223970870e2353593f382112257971b
+ languageName: node
+ linkType: hard
+
+"minipass-sized@npm:^1.0.3":
+ version: 1.0.3
+ resolution: "minipass-sized@npm:1.0.3"
+ dependencies:
+ minipass: "npm:^3.0.0"
+ checksum: 10/40982d8d836a52b0f37049a0a7e5d0f089637298e6d9b45df9c115d4f0520682a78258905e5c8b180fb41b593b0a82cc1361d2c74b45f7ada66334f84d1ecfdd
+ languageName: node
+ linkType: hard
+
+"minipass@npm:^3.0.0":
+ version: 3.3.6
+ resolution: "minipass@npm:3.3.6"
+ dependencies:
+ yallist: "npm:^4.0.0"
+ checksum: 10/a5c6ef069f70d9a524d3428af39f2b117ff8cd84172e19b754e7264a33df460873e6eb3d6e55758531580970de50ae950c496256bb4ad3691a2974cddff189f0
+ languageName: node
+ linkType: hard
+
+"minipass@npm:^5.0.0 || ^6.0.2 || ^7.0.0, minipass@npm:^7.0.2, minipass@npm:^7.0.3, minipass@npm:^7.0.4, minipass@npm:^7.1.2":
+ version: 7.1.2
+ resolution: "minipass@npm:7.1.2"
+ checksum: 10/c25f0ee8196d8e6036661104bacd743785b2599a21de5c516b32b3fa2b83113ac89a2358465bc04956baab37ffb956ae43be679b2262bf7be15fce467ccd7950
+ languageName: node
+ linkType: hard
+
+"minizlib@npm:^3.0.1":
+ version: 3.0.1
+ resolution: "minizlib@npm:3.0.1"
+ dependencies:
+ minipass: "npm:^7.0.4"
+ rimraf: "npm:^5.0.5"
+ checksum: 10/622cb85f51e5c206a080a62d20db0d7b4066f308cb6ce82a9644da112367c3416ae7062017e631eb7ac8588191cfa4a9a279b8651c399265202b298e98c4acef
+ languageName: node
+ linkType: hard
+
+"mkdirp@npm:^3.0.1":
+ version: 3.0.1
+ resolution: "mkdirp@npm:3.0.1"
+ bin:
+ mkdirp: dist/cjs/src/bin.js
+ checksum: 10/16fd79c28645759505914561e249b9a1f5fe3362279ad95487a4501e4467abeb714fd35b95307326b8fd03f3c7719065ef11a6f97b7285d7888306d1bd2232ba
+ languageName: node
+ linkType: hard
+
+"ms@npm:^2.1.3":
+ version: 2.1.3
+ resolution: "ms@npm:2.1.3"
+ checksum: 10/aa92de608021b242401676e35cfa5aa42dd70cbdc082b916da7fb925c542173e36bce97ea3e804923fe92c0ad991434e4a38327e15a1b5b5f945d66df615ae6d
+ languageName: node
+ linkType: hard
+
+"nanoid@npm:^3.3.7":
+ version: 3.3.8
+ resolution: "nanoid@npm:3.3.8"
+ bin:
+ nanoid: bin/nanoid.cjs
+ checksum: 10/2d1766606cf0d6f47b6f0fdab91761bb81609b2e3d367027aff45e6ee7006f660fb7e7781f4a34799fe6734f1268eeed2e37a5fdee809ade0c2d4eb11b0f9c40
+ languageName: node
+ linkType: hard
+
+"natural-compare@npm:^1.4.0":
+ version: 1.4.0
+ resolution: "natural-compare@npm:1.4.0"
+ checksum: 10/23ad088b08f898fc9b53011d7bb78ec48e79de7627e01ab5518e806033861bef68d5b0cd0e2205c2f36690ac9571ff6bcb05eb777ced2eeda8d4ac5b44592c3d
+ languageName: node
+ linkType: hard
+
+"negotiator@npm:^1.0.0":
+ version: 1.0.0
+ resolution: "negotiator@npm:1.0.0"
+ checksum: 10/b5734e87295324fabf868e36fb97c84b7d7f3156ec5f4ee5bf6e488079c11054f818290fc33804cef7b1ee21f55eeb14caea83e7dafae6492a409b3e573153e5
+ languageName: node
+ linkType: hard
+
+"node-gyp@npm:latest":
+ version: 11.0.0
+ resolution: "node-gyp@npm:11.0.0"
+ dependencies:
+ env-paths: "npm:^2.2.0"
+ exponential-backoff: "npm:^3.1.1"
+ glob: "npm:^10.3.10"
+ graceful-fs: "npm:^4.2.6"
+ make-fetch-happen: "npm:^14.0.3"
+ nopt: "npm:^8.0.0"
+ proc-log: "npm:^5.0.0"
+ semver: "npm:^7.3.5"
+ tar: "npm:^7.4.3"
+ which: "npm:^5.0.0"
+ bin:
+ node-gyp: bin/node-gyp.js
+ checksum: 10/5d07430e887a906f85c7c6ed87e8facb7ecd4ce42d948a2438c471df2e24ae6af70f4def114ec1a03127988d164648dda8d75fe666f3c4b431e53856379fdf13
+ languageName: node
+ linkType: hard
+
+"node-releases@npm:^2.0.19":
+ version: 2.0.19
+ resolution: "node-releases@npm:2.0.19"
+ checksum: 10/c2b33b4f0c40445aee56141f13ca692fa6805db88510e5bbb3baadb2da13e1293b738e638e15e4a8eb668bb9e97debb08e7a35409b477b5cc18f171d35a83045
+ languageName: node
+ linkType: hard
+
+"nopt@npm:^8.0.0":
+ version: 8.0.0
+ resolution: "nopt@npm:8.0.0"
+ dependencies:
+ abbrev: "npm:^2.0.0"
+ bin:
+ nopt: bin/nopt.js
+ checksum: 10/2d137f64b6f9331ec97047dd1cbbe4dcd9a61ceef4fd0f2252c0bbac1d69ba15671e6fd83a441328824b3ca78afe6ebe1694f12ebcd162b73a221582a06179ff
+ languageName: node
+ linkType: hard
+
+"optionator@npm:^0.9.3":
+ version: 0.9.4
+ resolution: "optionator@npm:0.9.4"
+ dependencies:
+ deep-is: "npm:^0.1.3"
+ fast-levenshtein: "npm:^2.0.6"
+ levn: "npm:^0.4.1"
+ prelude-ls: "npm:^1.2.1"
+ type-check: "npm:^0.4.0"
+ word-wrap: "npm:^1.2.5"
+ checksum: 10/a8398559c60aef88d7f353a4f98dcdff6090a4e70f874c827302bf1213d9106a1c4d5fcb68dacb1feb3c30a04c4102f41047aa55d4c576b863d6fc876e001af6
+ languageName: node
+ linkType: hard
+
+"p-limit@npm:^3.0.2":
+ version: 3.1.0
+ resolution: "p-limit@npm:3.1.0"
+ dependencies:
+ yocto-queue: "npm:^0.1.0"
+ checksum: 10/7c3690c4dbf62ef625671e20b7bdf1cbc9534e83352a2780f165b0d3ceba21907e77ad63401708145ca4e25bfc51636588d89a8c0aeb715e6c37d1c066430360
+ languageName: node
+ linkType: hard
+
+"p-locate@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "p-locate@npm:5.0.0"
+ dependencies:
+ p-limit: "npm:^3.0.2"
+ checksum: 10/1623088f36cf1cbca58e9b61c4e62bf0c60a07af5ae1ca99a720837356b5b6c5ba3eb1b2127e47a06865fee59dd0453cad7cc844cda9d5a62ac1a5a51b7c86d3
+ languageName: node
+ linkType: hard
+
+"p-map@npm:^7.0.2":
+ version: 7.0.3
+ resolution: "p-map@npm:7.0.3"
+ checksum: 10/2ef48ccfc6dd387253d71bf502604f7893ed62090b2c9d73387f10006c342606b05233da0e4f29388227b61eb5aeface6197e166520c465c234552eeab2fe633
+ languageName: node
+ linkType: hard
+
+"package-json-from-dist@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "package-json-from-dist@npm:1.0.1"
+ checksum: 10/58ee9538f2f762988433da00e26acc788036914d57c71c246bf0be1b60cdbd77dd60b6a3e1a30465f0b248aeb80079e0b34cb6050b1dfa18c06953bb1cbc7602
+ languageName: node
+ linkType: hard
+
+"parent-module@npm:^1.0.0":
+ version: 1.0.1
+ resolution: "parent-module@npm:1.0.1"
+ dependencies:
+ callsites: "npm:^3.0.0"
+ checksum: 10/6ba8b255145cae9470cf5551eb74be2d22281587af787a2626683a6c20fbb464978784661478dd2a3f1dad74d1e802d403e1b03c1a31fab310259eec8ac560ff
+ languageName: node
+ linkType: hard
+
+"path-exists@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "path-exists@npm:4.0.0"
+ checksum: 10/505807199dfb7c50737b057dd8d351b82c033029ab94cb10a657609e00c1bc53b951cfdbccab8de04c5584d5eff31128ce6afd3db79281874a5ef2adbba55ed1
+ languageName: node
+ linkType: hard
+
+"path-key@npm:^3.1.0":
+ version: 3.1.1
+ resolution: "path-key@npm:3.1.1"
+ checksum: 10/55cd7a9dd4b343412a8386a743f9c746ef196e57c823d90ca3ab917f90ab9f13dd0ded27252ba49dbdfcab2b091d998bc446f6220cd3cea65db407502a740020
+ languageName: node
+ linkType: hard
+
+"path-scurry@npm:^1.11.1":
+ version: 1.11.1
+ resolution: "path-scurry@npm:1.11.1"
+ dependencies:
+ lru-cache: "npm:^10.2.0"
+ minipass: "npm:^5.0.0 || ^6.0.2 || ^7.0.0"
+ checksum: 10/5e8845c159261adda6f09814d7725683257fcc85a18f329880ab4d7cc1d12830967eae5d5894e453f341710d5484b8fdbbd4d75181b4d6e1eb2f4dc7aeadc434
+ languageName: node
+ linkType: hard
+
+"picocolors@npm:^1.0.0, picocolors@npm:^1.1.1":
+ version: 1.1.1
+ resolution: "picocolors@npm:1.1.1"
+ checksum: 10/e1cf46bf84886c79055fdfa9dcb3e4711ad259949e3565154b004b260cd356c5d54b31a1437ce9782624bf766272fe6b0154f5f0c744fb7af5d454d2b60db045
+ languageName: node
+ linkType: hard
+
+"picomatch@npm:^2.3.1":
+ version: 2.3.1
+ resolution: "picomatch@npm:2.3.1"
+ checksum: 10/60c2595003b05e4535394d1da94850f5372c9427ca4413b71210f437f7b2ca091dbd611c45e8b37d10036fa8eade25c1b8951654f9d3973bfa66a2ff4d3b08bc
+ languageName: node
+ linkType: hard
+
+"postcss@npm:^8.4.49":
+ version: 8.4.49
+ resolution: "postcss@npm:8.4.49"
+ dependencies:
+ nanoid: "npm:^3.3.7"
+ picocolors: "npm:^1.1.1"
+ source-map-js: "npm:^1.2.1"
+ checksum: 10/28fe1005b1339870e0a5006375ba5ac1213fd69800f79e7db09c398e074421ba6e162898e94f64942fed554037fd292db3811d87835d25ab5ef7f3c9daacb6ca
+ languageName: node
+ linkType: hard
+
+"prelude-ls@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "prelude-ls@npm:1.2.1"
+ checksum: 10/0b9d2c76801ca652a7f64892dd37b7e3fab149a37d2424920099bf894acccc62abb4424af2155ab36dea8744843060a2d8ddc983518d0b1e22265a22324b72ed
+ languageName: node
+ linkType: hard
+
+"prettier@npm:3.4.2":
+ version: 3.4.2
+ resolution: "prettier@npm:3.4.2"
+ bin:
+ prettier: bin/prettier.cjs
+ checksum: 10/a3e806fb0b635818964d472d35d27e21a4e17150c679047f5501e1f23bd4aa806adf660f0c0d35214a210d5d440da6896c2e86156da55f221a57938278dc326e
+ languageName: node
+ linkType: hard
+
+"proc-log@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "proc-log@npm:5.0.0"
+ checksum: 10/35610bdb0177d3ab5d35f8827a429fb1dc2518d9e639f2151ac9007f01a061c30e0c635a970c9b00c39102216160f6ec54b62377c92fac3b7bfc2ad4b98d195c
+ languageName: node
+ linkType: hard
+
+"promise-retry@npm:^2.0.1":
+ version: 2.0.1
+ resolution: "promise-retry@npm:2.0.1"
+ dependencies:
+ err-code: "npm:^2.0.2"
+ retry: "npm:^0.12.0"
+ checksum: 10/96e1a82453c6c96eef53a37a1d6134c9f2482f94068f98a59145d0986ca4e497bf110a410adf73857e588165eab3899f0ebcf7b3890c1b3ce802abc0d65967d4
+ languageName: node
+ linkType: hard
+
+"punycode@npm:^2.1.0":
+ version: 2.3.1
+ resolution: "punycode@npm:2.3.1"
+ checksum: 10/febdc4362bead22f9e2608ff0171713230b57aff9dddc1c273aa2a651fbd366f94b7d6a71d78342a7c0819906750351ca7f2edd26ea41b626d87d6a13d1bd059
+ languageName: node
+ linkType: hard
+
+"queue-microtask@npm:^1.2.2":
+ version: 1.2.3
+ resolution: "queue-microtask@npm:1.2.3"
+ checksum: 10/72900df0616e473e824202113c3df6abae59150dfb73ed13273503127235320e9c8ca4aaaaccfd58cf417c6ca92a6e68ee9a5c3182886ae949a768639b388a7b
+ languageName: node
+ linkType: hard
+
+"react-dom@npm:19.0.0":
+ version: 19.0.0
+ resolution: "react-dom@npm:19.0.0"
+ dependencies:
+ scheduler: "npm:^0.25.0"
+ peerDependencies:
+ react: ^19.0.0
+ checksum: 10/aa64a2f1991042f516260e8b0eca0ae777b6c8f1aa2b5ae096e80bbb6ac9b005aef2bca697969841d34f7e1819556263476bdfea36c35092e8d9aefde3de2d9a
+ languageName: node
+ linkType: hard
+
+"react-refresh@npm:^0.14.2":
+ version: 0.14.2
+ resolution: "react-refresh@npm:0.14.2"
+ checksum: 10/512abf97271ab8623486061be04b608c39d932e3709f9af1720b41573415fa4993d0009fa5138b6705b60a98f4102f744d4e26c952b14f41a0e455521c6be4cc
+ languageName: node
+ linkType: hard
+
+"react@npm:19.0.0":
+ version: 19.0.0
+ resolution: "react@npm:19.0.0"
+ checksum: 10/2490969c503f644703c88990d20e4011fa6119ddeca451e9de48f6d7ab058d670d2852a5fcd3aa3cd90a923ab2815d532637bd4a814add402ae5c0d4f129ee71
+ languageName: node
+ linkType: hard
+
+"resolve-from@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "resolve-from@npm:4.0.0"
+ checksum: 10/91eb76ce83621eea7bbdd9b55121a5c1c4a39e54a9ce04a9ad4517f102f8b5131c2cf07622c738a6683991bf54f2ce178f5a42803ecbd527ddc5105f362cc9e3
+ languageName: node
+ linkType: hard
+
+"retry@npm:^0.12.0":
+ version: 0.12.0
+ resolution: "retry@npm:0.12.0"
+ checksum: 10/1f914879f97e7ee931ad05fe3afa629bd55270fc6cf1c1e589b6a99fab96d15daad0fa1a52a00c729ec0078045fe3e399bd4fd0c93bcc906957bdc17f89cb8e6
+ languageName: node
+ linkType: hard
+
+"reusify@npm:^1.0.4":
+ version: 1.0.4
+ resolution: "reusify@npm:1.0.4"
+ checksum: 10/14222c9e1d3f9ae01480c50d96057228a8524706db79cdeb5a2ce5bb7070dd9f409a6f84a02cbef8cdc80d39aef86f2dd03d155188a1300c599b05437dcd2ffb
+ languageName: node
+ linkType: hard
+
+"reveal.js@npm:5.1.0":
+ version: 5.1.0
+ resolution: "reveal.js@npm:5.1.0"
+ checksum: 10/d27fc9e4bfcb3663f1de717ae1cfc0eb6d99e17d657050b90dc50682e4f0c102fe60059bdd669232eb702a206d9c9c385c0b8e75a566fe9a498d6b5302010c38
+ languageName: node
+ linkType: hard
+
+"rimraf@npm:^5.0.5":
+ version: 5.0.10
+ resolution: "rimraf@npm:5.0.10"
+ dependencies:
+ glob: "npm:^10.3.7"
+ bin:
+ rimraf: dist/esm/bin.mjs
+ checksum: 10/f3b8ce81eecbde4628b07bdf9e2fa8b684e0caea4999acb1e3b0402c695cd41f28cd075609a808e61ce2672f528ca079f675ab1d8e8d5f86d56643a03e0b8d2e
+ languageName: node
+ linkType: hard
+
+"rollup@npm:^4.23.0":
+ version: 4.30.1
+ resolution: "rollup@npm:4.30.1"
+ dependencies:
+ "@rollup/rollup-android-arm-eabi": "npm:4.30.1"
+ "@rollup/rollup-android-arm64": "npm:4.30.1"
+ "@rollup/rollup-darwin-arm64": "npm:4.30.1"
+ "@rollup/rollup-darwin-x64": "npm:4.30.1"
+ "@rollup/rollup-freebsd-arm64": "npm:4.30.1"
+ "@rollup/rollup-freebsd-x64": "npm:4.30.1"
+ "@rollup/rollup-linux-arm-gnueabihf": "npm:4.30.1"
+ "@rollup/rollup-linux-arm-musleabihf": "npm:4.30.1"
+ "@rollup/rollup-linux-arm64-gnu": "npm:4.30.1"
+ "@rollup/rollup-linux-arm64-musl": "npm:4.30.1"
+ "@rollup/rollup-linux-loongarch64-gnu": "npm:4.30.1"
+ "@rollup/rollup-linux-powerpc64le-gnu": "npm:4.30.1"
+ "@rollup/rollup-linux-riscv64-gnu": "npm:4.30.1"
+ "@rollup/rollup-linux-s390x-gnu": "npm:4.30.1"
+ "@rollup/rollup-linux-x64-gnu": "npm:4.30.1"
+ "@rollup/rollup-linux-x64-musl": "npm:4.30.1"
+ "@rollup/rollup-win32-arm64-msvc": "npm:4.30.1"
+ "@rollup/rollup-win32-ia32-msvc": "npm:4.30.1"
+ "@rollup/rollup-win32-x64-msvc": "npm:4.30.1"
+ "@types/estree": "npm:1.0.6"
+ fsevents: "npm:~2.3.2"
+ dependenciesMeta:
+ "@rollup/rollup-android-arm-eabi":
+ optional: true
+ "@rollup/rollup-android-arm64":
+ optional: true
+ "@rollup/rollup-darwin-arm64":
+ optional: true
+ "@rollup/rollup-darwin-x64":
+ optional: true
+ "@rollup/rollup-freebsd-arm64":
+ optional: true
+ "@rollup/rollup-freebsd-x64":
+ optional: true
+ "@rollup/rollup-linux-arm-gnueabihf":
+ optional: true
+ "@rollup/rollup-linux-arm-musleabihf":
+ optional: true
+ "@rollup/rollup-linux-arm64-gnu":
+ optional: true
+ "@rollup/rollup-linux-arm64-musl":
+ optional: true
+ "@rollup/rollup-linux-loongarch64-gnu":
+ optional: true
+ "@rollup/rollup-linux-powerpc64le-gnu":
+ optional: true
+ "@rollup/rollup-linux-riscv64-gnu":
+ optional: true
+ "@rollup/rollup-linux-s390x-gnu":
+ optional: true
+ "@rollup/rollup-linux-x64-gnu":
+ optional: true
+ "@rollup/rollup-linux-x64-musl":
+ optional: true
+ "@rollup/rollup-win32-arm64-msvc":
+ optional: true
+ "@rollup/rollup-win32-ia32-msvc":
+ optional: true
+ "@rollup/rollup-win32-x64-msvc":
+ optional: true
+ fsevents:
+ optional: true
+ bin:
+ rollup: dist/bin/rollup
+ checksum: 10/f5d240a76a8c3cd7918f7dc97b7eaec5d97d27b3901e3843f74e18b4e9195c77abe8aa61575cd64ad7897f6a6dea6c68a7ad1a8073e3cf3139529e9fa7d06c2b
+ languageName: node
+ linkType: hard
+
+"run-parallel@npm:^1.1.9":
+ version: 1.2.0
+ resolution: "run-parallel@npm:1.2.0"
+ dependencies:
+ queue-microtask: "npm:^1.2.2"
+ checksum: 10/cb4f97ad25a75ebc11a8ef4e33bb962f8af8516bb2001082ceabd8902e15b98f4b84b4f8a9b222e5d57fc3bd1379c483886ed4619367a7680dad65316993021d
+ languageName: node
+ linkType: hard
+
+"rxjs@npm:^7.4.0":
+ version: 7.8.1
+ resolution: "rxjs@npm:7.8.1"
+ dependencies:
+ tslib: "npm:^2.1.0"
+ checksum: 10/b10cac1a5258f885e9dd1b70d23c34daeb21b61222ee735d2ec40a8685bdca40429000703a44f0e638c27a684ac139e1c37e835d2a0dc16f6fc061a138ae3abb
+ languageName: node
+ linkType: hard
+
+"safer-buffer@npm:>= 2.1.2 < 3.0.0":
+ version: 2.1.2
+ resolution: "safer-buffer@npm:2.1.2"
+ checksum: 10/7eaf7a0cf37cc27b42fb3ef6a9b1df6e93a1c6d98c6c6702b02fe262d5fcbd89db63320793b99b21cb5348097d0a53de81bd5f4e8b86e20cc9412e3f1cfb4e83
+ languageName: node
+ linkType: hard
+
+"sass-embedded-android-arm64@npm:1.83.1":
+ version: 1.83.1
+ resolution: "sass-embedded-android-arm64@npm:1.83.1"
+ conditions: os=android & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-android-arm@npm:1.83.1":
+ version: 1.83.1
+ resolution: "sass-embedded-android-arm@npm:1.83.1"
+ conditions: os=android & cpu=arm
+ languageName: node
+ linkType: hard
+
+"sass-embedded-android-ia32@npm:1.83.1":
+ version: 1.83.1
+ resolution: "sass-embedded-android-ia32@npm:1.83.1"
+ conditions: os=android & cpu=ia32
+ languageName: node
+ linkType: hard
+
+"sass-embedded-android-riscv64@npm:1.83.1":
+ version: 1.83.1
+ resolution: "sass-embedded-android-riscv64@npm:1.83.1"
+ conditions: os=android & cpu=riscv64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-android-x64@npm:1.83.1":
+ version: 1.83.1
+ resolution: "sass-embedded-android-x64@npm:1.83.1"
+ conditions: os=android & cpu=x64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-darwin-arm64@npm:1.83.1":
+ version: 1.83.1
+ resolution: "sass-embedded-darwin-arm64@npm:1.83.1"
+ conditions: os=darwin & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-darwin-x64@npm:1.83.1":
+ version: 1.83.1
+ resolution: "sass-embedded-darwin-x64@npm:1.83.1"
+ conditions: os=darwin & cpu=x64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-linux-arm64@npm:1.83.1":
+ version: 1.83.1
+ resolution: "sass-embedded-linux-arm64@npm:1.83.1"
+ conditions: os=linux & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-linux-arm@npm:1.83.1":
+ version: 1.83.1
+ resolution: "sass-embedded-linux-arm@npm:1.83.1"
+ conditions: os=linux & cpu=arm
+ languageName: node
+ linkType: hard
+
+"sass-embedded-linux-ia32@npm:1.83.1":
+ version: 1.83.1
+ resolution: "sass-embedded-linux-ia32@npm:1.83.1"
+ conditions: os=linux & cpu=ia32
+ languageName: node
+ linkType: hard
+
+"sass-embedded-linux-musl-arm64@npm:1.83.1":
+ version: 1.83.1
+ resolution: "sass-embedded-linux-musl-arm64@npm:1.83.1"
+ conditions: os=linux & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-linux-musl-arm@npm:1.83.1":
+ version: 1.83.1
+ resolution: "sass-embedded-linux-musl-arm@npm:1.83.1"
+ conditions: os=linux & cpu=arm
+ languageName: node
+ linkType: hard
+
+"sass-embedded-linux-musl-ia32@npm:1.83.1":
+ version: 1.83.1
+ resolution: "sass-embedded-linux-musl-ia32@npm:1.83.1"
+ conditions: os=linux & cpu=ia32
+ languageName: node
+ linkType: hard
+
+"sass-embedded-linux-musl-riscv64@npm:1.83.1":
+ version: 1.83.1
+ resolution: "sass-embedded-linux-musl-riscv64@npm:1.83.1"
+ conditions: os=linux & cpu=riscv64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-linux-musl-x64@npm:1.83.1":
+ version: 1.83.1
+ resolution: "sass-embedded-linux-musl-x64@npm:1.83.1"
+ conditions: os=linux & cpu=x64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-linux-riscv64@npm:1.83.1":
+ version: 1.83.1
+ resolution: "sass-embedded-linux-riscv64@npm:1.83.1"
+ conditions: os=linux & cpu=riscv64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-linux-x64@npm:1.83.1":
+ version: 1.83.1
+ resolution: "sass-embedded-linux-x64@npm:1.83.1"
+ conditions: os=linux & cpu=x64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-win32-arm64@npm:1.83.1":
+ version: 1.83.1
+ resolution: "sass-embedded-win32-arm64@npm:1.83.1"
+ conditions: os=win32 & cpu=arm64
+ languageName: node
+ linkType: hard
+
+"sass-embedded-win32-ia32@npm:1.83.1":
+ version: 1.83.1
+ resolution: "sass-embedded-win32-ia32@npm:1.83.1"
+ conditions: os=win32 & cpu=ia32
+ languageName: node
+ linkType: hard
+
+"sass-embedded-win32-x64@npm:1.83.1":
+ version: 1.83.1
+ resolution: "sass-embedded-win32-x64@npm:1.83.1"
+ conditions: os=win32 & cpu=x64
+ languageName: node
+ linkType: hard
+
+"sass-embedded@npm:1.83.1":
+ version: 1.83.1
+ resolution: "sass-embedded@npm:1.83.1"
+ dependencies:
+ "@bufbuild/protobuf": "npm:^2.0.0"
+ buffer-builder: "npm:^0.2.0"
+ colorjs.io: "npm:^0.5.0"
+ immutable: "npm:^5.0.2"
+ rxjs: "npm:^7.4.0"
+ sass-embedded-android-arm: "npm:1.83.1"
+ sass-embedded-android-arm64: "npm:1.83.1"
+ sass-embedded-android-ia32: "npm:1.83.1"
+ sass-embedded-android-riscv64: "npm:1.83.1"
+ sass-embedded-android-x64: "npm:1.83.1"
+ sass-embedded-darwin-arm64: "npm:1.83.1"
+ sass-embedded-darwin-x64: "npm:1.83.1"
+ sass-embedded-linux-arm: "npm:1.83.1"
+ sass-embedded-linux-arm64: "npm:1.83.1"
+ sass-embedded-linux-ia32: "npm:1.83.1"
+ sass-embedded-linux-musl-arm: "npm:1.83.1"
+ sass-embedded-linux-musl-arm64: "npm:1.83.1"
+ sass-embedded-linux-musl-ia32: "npm:1.83.1"
+ sass-embedded-linux-musl-riscv64: "npm:1.83.1"
+ sass-embedded-linux-musl-x64: "npm:1.83.1"
+ sass-embedded-linux-riscv64: "npm:1.83.1"
+ sass-embedded-linux-x64: "npm:1.83.1"
+ sass-embedded-win32-arm64: "npm:1.83.1"
+ sass-embedded-win32-ia32: "npm:1.83.1"
+ sass-embedded-win32-x64: "npm:1.83.1"
+ supports-color: "npm:^8.1.1"
+ sync-child-process: "npm:^1.0.2"
+ varint: "npm:^6.0.0"
+ dependenciesMeta:
+ sass-embedded-android-arm:
+ optional: true
+ sass-embedded-android-arm64:
+ optional: true
+ sass-embedded-android-ia32:
+ optional: true
+ sass-embedded-android-riscv64:
+ optional: true
+ sass-embedded-android-x64:
+ optional: true
+ sass-embedded-darwin-arm64:
+ optional: true
+ sass-embedded-darwin-x64:
+ optional: true
+ sass-embedded-linux-arm:
+ optional: true
+ sass-embedded-linux-arm64:
+ optional: true
+ sass-embedded-linux-ia32:
+ optional: true
+ sass-embedded-linux-musl-arm:
+ optional: true
+ sass-embedded-linux-musl-arm64:
+ optional: true
+ sass-embedded-linux-musl-ia32:
+ optional: true
+ sass-embedded-linux-musl-riscv64:
+ optional: true
+ sass-embedded-linux-musl-x64:
+ optional: true
+ sass-embedded-linux-riscv64:
+ optional: true
+ sass-embedded-linux-x64:
+ optional: true
+ sass-embedded-win32-arm64:
+ optional: true
+ sass-embedded-win32-ia32:
+ optional: true
+ sass-embedded-win32-x64:
+ optional: true
+ bin:
+ sass: dist/bin/sass.js
+ checksum: 10/0b1b927e9bb077dcc3534d58ead019c1651ae6355075992d5fc539d7d4c624acd442b1b409f3b367ebcf1665b1e1b82555c15495258be8d02c3ad493ca2d50e6
+ languageName: node
+ linkType: hard
+
+"scheduler@npm:^0.25.0":
+ version: 0.25.0
+ resolution: "scheduler@npm:0.25.0"
+ checksum: 10/e661e38503ab29a153429a99203fefa764f28b35c079719eb5efdd2c1c1086522f6653d8ffce388209682c23891a6d1d32fa6badf53c35fb5b9cd0c55ace42de
+ languageName: node
+ linkType: hard
+
+"semver@npm:^6.3.1":
+ version: 6.3.1
+ resolution: "semver@npm:6.3.1"
+ bin:
+ semver: bin/semver.js
+ checksum: 10/1ef3a85bd02a760c6ef76a45b8c1ce18226de40831e02a00bad78485390b98b6ccaa31046245fc63bba4a47a6a592b6c7eedc65cc47126e60489f9cc1ce3ed7e
+ languageName: node
+ linkType: hard
+
+"semver@npm:^7.3.5, semver@npm:^7.6.0":
+ version: 7.6.3
+ resolution: "semver@npm:7.6.3"
+ bin:
+ semver: bin/semver.js
+ checksum: 10/36b1fbe1a2b6f873559cd57b238f1094a053dbfd997ceeb8757d79d1d2089c56d1321b9f1069ce263dc64cfa922fa1d2ad566b39426fe1ac6c723c1487589e10
+ languageName: node
+ linkType: hard
+
+"shebang-command@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "shebang-command@npm:2.0.0"
+ dependencies:
+ shebang-regex: "npm:^3.0.0"
+ checksum: 10/6b52fe87271c12968f6a054e60f6bde5f0f3d2db483a1e5c3e12d657c488a15474121a1d55cd958f6df026a54374ec38a4a963988c213b7570e1d51575cea7fa
+ languageName: node
+ linkType: hard
+
+"shebang-regex@npm:^3.0.0":
+ version: 3.0.0
+ resolution: "shebang-regex@npm:3.0.0"
+ checksum: 10/1a2bcae50de99034fcd92ad4212d8e01eedf52c7ec7830eedcf886622804fe36884278f2be8be0ea5fde3fd1c23911643a4e0f726c8685b61871c8908af01222
+ languageName: node
+ linkType: hard
+
+"signal-exit@npm:^4.0.1":
+ version: 4.1.0
+ resolution: "signal-exit@npm:4.1.0"
+ checksum: 10/c9fa63bbbd7431066174a48ba2dd9986dfd930c3a8b59de9c29d7b6854ec1c12a80d15310869ea5166d413b99f041bfa3dd80a7947bcd44ea8e6eb3ffeabfa1f
+ languageName: node
+ linkType: hard
+
+"smart-buffer@npm:^4.2.0":
+ version: 4.2.0
+ resolution: "smart-buffer@npm:4.2.0"
+ checksum: 10/927484aa0b1640fd9473cee3e0a0bcad6fce93fd7bbc18bac9ad0c33686f5d2e2c422fba24b5899c184524af01e11dd2bd051c2bf2b07e47aff8ca72cbfc60d2
+ languageName: node
+ linkType: hard
+
+"socks-proxy-agent@npm:^8.0.3":
+ version: 8.0.5
+ resolution: "socks-proxy-agent@npm:8.0.5"
+ dependencies:
+ agent-base: "npm:^7.1.2"
+ debug: "npm:^4.3.4"
+ socks: "npm:^2.8.3"
+ checksum: 10/ee99e1dacab0985b52cbe5a75640be6e604135e9489ebdc3048635d186012fbaecc20fbbe04b177dee434c319ba20f09b3e7dfefb7d932466c0d707744eac05c
+ languageName: node
+ linkType: hard
+
+"socks@npm:^2.8.3":
+ version: 2.8.3
+ resolution: "socks@npm:2.8.3"
+ dependencies:
+ ip-address: "npm:^9.0.5"
+ smart-buffer: "npm:^4.2.0"
+ checksum: 10/ffcb622c22481dfcd7589aae71fbfd71ca34334064d181df64bf8b7feaeee19706aba4cffd1de35cc7bbaeeaa0af96be2d7f40fcbc7bc0ab69533a7ae9ffc4fb
+ languageName: node
+ linkType: hard
+
+"source-map-js@npm:^1.2.1":
+ version: 1.2.1
+ resolution: "source-map-js@npm:1.2.1"
+ checksum: 10/ff9d8c8bf096d534a5b7707e0382ef827b4dd360a577d3f34d2b9f48e12c9d230b5747974ee7c607f0df65113732711bb701fe9ece3c7edbd43cb2294d707df3
+ languageName: node
+ linkType: hard
+
+"sprintf-js@npm:^1.1.3":
+ version: 1.1.3
+ resolution: "sprintf-js@npm:1.1.3"
+ checksum: 10/e7587128c423f7e43cc625fe2f87e6affdf5ca51c1cc468e910d8aaca46bb44a7fbcfa552f787b1d3987f7043aeb4527d1b99559e6621e01b42b3f45e5a24cbb
+ languageName: node
+ linkType: hard
+
+"ssri@npm:^12.0.0":
+ version: 12.0.0
+ resolution: "ssri@npm:12.0.0"
+ dependencies:
+ minipass: "npm:^7.0.3"
+ checksum: 10/7024c1a6e39b3f18aa8f1c8290e884fe91b0f9ca5a6c6d410544daad54de0ba664db879afe16412e187c6c292fd60b937f047ee44292e5c2af2dcc6d8e1a9b48
+ languageName: node
+ linkType: hard
+
+"string-width-cjs@npm:string-width@^4.2.0, string-width@npm:^4.1.0":
+ version: 4.2.3
+ resolution: "string-width@npm:4.2.3"
+ dependencies:
+ emoji-regex: "npm:^8.0.0"
+ is-fullwidth-code-point: "npm:^3.0.0"
+ strip-ansi: "npm:^6.0.1"
+ checksum: 10/e52c10dc3fbfcd6c3a15f159f54a90024241d0f149cf8aed2982a2d801d2e64df0bf1dc351cf8e95c3319323f9f220c16e740b06faecd53e2462df1d2b5443fb
+ languageName: node
+ linkType: hard
+
+"string-width@npm:^5.0.1, string-width@npm:^5.1.2":
+ version: 5.1.2
+ resolution: "string-width@npm:5.1.2"
+ dependencies:
+ eastasianwidth: "npm:^0.2.0"
+ emoji-regex: "npm:^9.2.2"
+ strip-ansi: "npm:^7.0.1"
+ checksum: 10/7369deaa29f21dda9a438686154b62c2c5f661f8dda60449088f9f980196f7908fc39fdd1803e3e01541970287cf5deae336798337e9319a7055af89dafa7193
+ languageName: node
+ linkType: hard
+
+"strip-ansi-cjs@npm:strip-ansi@^6.0.1, strip-ansi@npm:^6.0.0, strip-ansi@npm:^6.0.1":
+ version: 6.0.1
+ resolution: "strip-ansi@npm:6.0.1"
+ dependencies:
+ ansi-regex: "npm:^5.0.1"
+ checksum: 10/ae3b5436d34fadeb6096367626ce987057713c566e1e7768818797e00ac5d62023d0f198c4e681eae9e20701721980b26a64a8f5b91238869592a9c6800719a2
+ languageName: node
+ linkType: hard
+
+"strip-ansi@npm:^7.0.1":
+ version: 7.1.0
+ resolution: "strip-ansi@npm:7.1.0"
+ dependencies:
+ ansi-regex: "npm:^6.0.1"
+ checksum: 10/475f53e9c44375d6e72807284024ac5d668ee1d06010740dec0b9744f2ddf47de8d7151f80e5f6190fc8f384e802fdf9504b76a7e9020c9faee7103623338be2
+ languageName: node
+ linkType: hard
+
+"strip-json-comments@npm:^3.1.1":
+ version: 3.1.1
+ resolution: "strip-json-comments@npm:3.1.1"
+ checksum: 10/492f73e27268f9b1c122733f28ecb0e7e8d8a531a6662efbd08e22cccb3f9475e90a1b82cab06a392f6afae6d2de636f977e231296400d0ec5304ba70f166443
+ languageName: node
+ linkType: hard
+
+"supports-color@npm:^7.1.0":
+ version: 7.2.0
+ resolution: "supports-color@npm:7.2.0"
+ dependencies:
+ has-flag: "npm:^4.0.0"
+ checksum: 10/c8bb7afd564e3b26b50ca6ee47572c217526a1389fe018d00345856d4a9b08ffbd61fadaf283a87368d94c3dcdb8f5ffe2650a5a65863e21ad2730ca0f05210a
+ languageName: node
+ linkType: hard
+
+"supports-color@npm:^8.1.1":
+ version: 8.1.1
+ resolution: "supports-color@npm:8.1.1"
+ dependencies:
+ has-flag: "npm:^4.0.0"
+ checksum: 10/157b534df88e39c5518c5e78c35580c1eca848d7dbaf31bbe06cdfc048e22c7ff1a9d046ae17b25691128f631a51d9ec373c1b740c12ae4f0de6e292037e4282
+ languageName: node
+ linkType: hard
+
+"sync-child-process@npm:^1.0.2":
+ version: 1.0.2
+ resolution: "sync-child-process@npm:1.0.2"
+ dependencies:
+ sync-message-port: "npm:^1.0.0"
+ checksum: 10/6fbdbb7b6f5730a1966d6a77cdbfe7f5cb8d1a582dab955c62c32b56dc6c432ccdbfc68027265486f8f4b1a998cc4d7ee21856e8125748bef70b8874aaedb21c
+ languageName: node
+ linkType: hard
+
+"sync-message-port@npm:^1.0.0":
+ version: 1.1.3
+ resolution: "sync-message-port@npm:1.1.3"
+ checksum: 10/a84b681afd678f28af4498074c4bc5cd5c763395fbf169f1bc9777c2e01aa8d41a3046dcca43a41e81102a7fd697713dfc03e155d1c662fec88af9481b249b8a
+ languageName: node
+ linkType: hard
+
+"tar@npm:^7.4.3":
+ version: 7.4.3
+ resolution: "tar@npm:7.4.3"
+ dependencies:
+ "@isaacs/fs-minipass": "npm:^4.0.0"
+ chownr: "npm:^3.0.0"
+ minipass: "npm:^7.1.2"
+ minizlib: "npm:^3.0.1"
+ mkdirp: "npm:^3.0.1"
+ yallist: "npm:^5.0.0"
+ checksum: 10/12a2a4fc6dee23e07cc47f1aeb3a14a1afd3f16397e1350036a8f4cdfee8dcac7ef5978337a4e7b2ac2c27a9a6d46388fc2088ea7c80cb6878c814b1425f8ecf
+ languageName: node
+ linkType: hard
+
+"to-regex-range@npm:^5.0.1":
+ version: 5.0.1
+ resolution: "to-regex-range@npm:5.0.1"
+ dependencies:
+ is-number: "npm:^7.0.0"
+ checksum: 10/10dda13571e1f5ad37546827e9b6d4252d2e0bc176c24a101252153ef435d83696e2557fe128c4678e4e78f5f01e83711c703eef9814eb12dab028580d45980a
+ languageName: node
+ linkType: hard
+
+"ts-api-utils@npm:^2.0.0":
+ version: 2.0.0
+ resolution: "ts-api-utils@npm:2.0.0"
+ peerDependencies:
+ typescript: ">=4.8.4"
+ checksum: 10/485bdf8bbba98d58712243d958f4fd44742bbe49e559cd77882fb426d866eec6dd05c67ef91935dc4f8a3c776f235859735e1f05be399e4dc9e7ffd580120974
+ languageName: node
+ linkType: hard
+
+"tslib@npm:^2.1.0":
+ version: 2.8.1
+ resolution: "tslib@npm:2.8.1"
+ checksum: 10/3e2e043d5c2316461cb54e5c7fe02c30ef6dccb3384717ca22ae5c6b5bc95232a6241df19c622d9c73b809bea33b187f6dbc73030963e29950c2141bc32a79f7
+ languageName: node
+ linkType: hard
+
+"type-check@npm:^0.4.0, type-check@npm:~0.4.0":
+ version: 0.4.0
+ resolution: "type-check@npm:0.4.0"
+ dependencies:
+ prelude-ls: "npm:^1.2.1"
+ checksum: 10/14687776479d048e3c1dbfe58a2409e00367810d6960c0f619b33793271ff2a27f81b52461f14a162f1f89a9b1d8da1b237fc7c99b0e1fdcec28ec63a86b1fec
+ languageName: node
+ linkType: hard
+
+"typescript-eslint@npm:8.19.1":
+ version: 8.19.1
+ resolution: "typescript-eslint@npm:8.19.1"
+ dependencies:
+ "@typescript-eslint/eslint-plugin": "npm:8.19.1"
+ "@typescript-eslint/parser": "npm:8.19.1"
+ "@typescript-eslint/utils": "npm:8.19.1"
+ peerDependencies:
+ eslint: ^8.57.0 || ^9.0.0
+ typescript: ">=4.8.4 <5.8.0"
+ checksum: 10/3e7861bcd47c0bea962662d5f18a9f9214270057c082f2e3839ee2f681a42018395755216005d2408447de5b96892b6a18cc794daf8663bba1753def48e6756c
+ languageName: node
+ linkType: hard
+
+"typescript@npm:5.7.3":
+ version: 5.7.3
+ resolution: "typescript@npm:5.7.3"
+ bin:
+ tsc: bin/tsc
+ tsserver: bin/tsserver
+ checksum: 10/6a7e556de91db3d34dc51cd2600e8e91f4c312acd8e52792f243c7818dfadb27bae677175fad6947f9c81efb6c57eb6b2d0c736f196a6ee2f1f7d57b74fc92fa
+ languageName: node
+ linkType: hard
+
+"typescript@patch:typescript@npm%3A5.7.3#optional!builtin":
+ version: 5.7.3
+ resolution: "typescript@patch:typescript@npm%3A5.7.3#optional!builtin::version=5.7.3&hash=d69c25"
+ bin:
+ tsc: bin/tsc
+ tsserver: bin/tsserver
+ checksum: 10/3ac7b7e3e899273d2fbdce6e24b93d4d53a705ad7a7e4cc83b4c57bcb6d25948abcd2a21994f6b9c73ab03960f395aae95f0458de292a66ce0134233261714c3
+ languageName: node
+ linkType: hard
+
+"unique-filename@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "unique-filename@npm:4.0.0"
+ dependencies:
+ unique-slug: "npm:^5.0.0"
+ checksum: 10/6a62094fcac286b9ec39edbd1f8f64ff92383baa430af303dfed1ffda5e47a08a6b316408554abfddd9730c78b6106bef4ca4d02c1231a735ddd56ced77573df
+ languageName: node
+ linkType: hard
+
+"unique-slug@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "unique-slug@npm:5.0.0"
+ dependencies:
+ imurmurhash: "npm:^0.1.4"
+ checksum: 10/beafdf3d6f44990e0a5ce560f8f881b4ee811be70b6ba0db25298c31c8cf525ed963572b48cd03be1c1349084f9e339be4241666d7cf1ebdad20598d3c652b27
+ languageName: node
+ linkType: hard
+
+"update-browserslist-db@npm:^1.1.1":
+ version: 1.1.2
+ resolution: "update-browserslist-db@npm:1.1.2"
+ dependencies:
+ escalade: "npm:^3.2.0"
+ picocolors: "npm:^1.1.1"
+ peerDependencies:
+ browserslist: ">= 4.21.0"
+ bin:
+ update-browserslist-db: cli.js
+ checksum: 10/e7bf8221dfb21eba4a770cd803df94625bb04f65a706aa94c567de9600fe4eb6133fda016ec471dad43b9e7959c1bffb6580b5e20a87808d2e8a13e3892699a9
+ languageName: node
+ linkType: hard
+
+"uri-js@npm:^4.2.2":
+ version: 4.4.1
+ resolution: "uri-js@npm:4.4.1"
+ dependencies:
+ punycode: "npm:^2.1.0"
+ checksum: 10/b271ca7e3d46b7160222e3afa3e531505161c9a4e097febae9664e4b59912f4cbe94861361a4175edac3a03fee99d91e44b6a58c17a634bc5a664b19fc76fbcb
+ languageName: node
+ linkType: hard
+
+"varint@npm:^6.0.0":
+ version: 6.0.0
+ resolution: "varint@npm:6.0.0"
+ checksum: 10/7684113c9d497c01e40396e50169c502eb2176203219b96e1c5ac965a3e15b4892bd22b7e48d87148e10fffe638130516b6dbeedd0efde2b2d0395aa1772eea7
+ languageName: node
+ linkType: hard
+
+"vite@npm:6.0.7":
+ version: 6.0.7
+ resolution: "vite@npm:6.0.7"
+ dependencies:
+ esbuild: "npm:^0.24.2"
+ fsevents: "npm:~2.3.3"
+ postcss: "npm:^8.4.49"
+ rollup: "npm:^4.23.0"
+ 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
+ dependenciesMeta:
+ fsevents:
+ optional: true
+ 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
+ bin:
+ vite: bin/vite.js
+ checksum: 10/bf76b3647983cb3d76c0db90d1f72cd4f6e80864a112145405ac0046cedfb14814cc4d9c1acbd9c53da8749c3a2fa80570971f7c44c0524b71974981065e9388
+ languageName: node
+ linkType: hard
+
+"which@npm:^2.0.1":
+ version: 2.0.2
+ resolution: "which@npm:2.0.2"
+ dependencies:
+ isexe: "npm:^2.0.0"
+ bin:
+ node-which: ./bin/node-which
+ checksum: 10/4782f8a1d6b8fc12c65e968fea49f59752bf6302dc43036c3bf87da718a80710f61a062516e9764c70008b487929a73546125570acea95c5b5dcc8ac3052c70f
+ languageName: node
+ linkType: hard
+
+"which@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "which@npm:5.0.0"
+ dependencies:
+ isexe: "npm:^3.1.1"
+ bin:
+ node-which: bin/which.js
+ checksum: 10/6ec99e89ba32c7e748b8a3144e64bfc74aa63e2b2eacbb61a0060ad0b961eb1a632b08fb1de067ed59b002cec3e21de18299216ebf2325ef0f78e0f121e14e90
+ languageName: node
+ linkType: hard
+
+"word-wrap@npm:^1.2.5":
+ version: 1.2.5
+ resolution: "word-wrap@npm:1.2.5"
+ checksum: 10/1ec6f6089f205f83037be10d0c4b34c9183b0b63fca0834a5b3cee55dd321429d73d40bb44c8fc8471b5203d6e8f8275717f49a8ff4b2b0ab41d7e1b563e0854
+ languageName: node
+ linkType: hard
+
+"wrap-ansi-cjs@npm:wrap-ansi@^7.0.0":
+ version: 7.0.0
+ resolution: "wrap-ansi@npm:7.0.0"
+ dependencies:
+ ansi-styles: "npm:^4.0.0"
+ string-width: "npm:^4.1.0"
+ strip-ansi: "npm:^6.0.0"
+ checksum: 10/cebdaeca3a6880da410f75209e68cd05428580de5ad24535f22696d7d9cab134d1f8498599f344c3cf0fb37c1715807a183778d8c648d6cc0cb5ff2bb4236540
+ languageName: node
+ linkType: hard
+
+"wrap-ansi@npm:^8.1.0":
+ version: 8.1.0
+ resolution: "wrap-ansi@npm:8.1.0"
+ dependencies:
+ ansi-styles: "npm:^6.1.0"
+ string-width: "npm:^5.0.1"
+ strip-ansi: "npm:^7.0.1"
+ checksum: 10/7b1e4b35e9bb2312d2ee9ee7dc95b8cb5f8b4b5a89f7dde5543fe66c1e3715663094defa50d75454ac900bd210f702d575f15f3f17fa9ec0291806d2578d1ddf
+ languageName: node
+ linkType: hard
+
+"yallist@npm:^3.0.2":
+ version: 3.1.1
+ resolution: "yallist@npm:3.1.1"
+ checksum: 10/9af0a4329c3c6b779ac4736c69fae4190ac03029fa27c1aef4e6bcc92119b73dea6fe5db5fe881fb0ce2a0e9539a42cdf60c7c21eda04d1a0b8c082e38509efb
+ languageName: node
+ linkType: hard
+
+"yallist@npm:^4.0.0":
+ version: 4.0.0
+ resolution: "yallist@npm:4.0.0"
+ checksum: 10/4cb02b42b8a93b5cf50caf5d8e9beb409400a8a4d85e83bb0685c1457e9ac0b7a00819e9f5991ac25ffabb56a78e2f017c1acc010b3a1babfe6de690ba531abd
+ languageName: node
+ linkType: hard
+
+"yallist@npm:^5.0.0":
+ version: 5.0.0
+ resolution: "yallist@npm:5.0.0"
+ checksum: 10/1884d272d485845ad04759a255c71775db0fac56308764b4c77ea56a20d56679fad340213054c8c9c9c26fcfd4c4b2a90df993b7e0aaf3cdb73c618d1d1a802a
+ languageName: node
+ linkType: hard
+
+"yocto-queue@npm:^0.1.0":
+ version: 0.1.0
+ resolution: "yocto-queue@npm:0.1.0"
+ checksum: 10/f77b3d8d00310def622123df93d4ee654fc6a0096182af8bd60679ddcdfb3474c56c6c7190817c84a2785648cdee9d721c0154eb45698c62176c322fb46fc700
+ languageName: node
+ linkType: hard